From d70da3967201a9b3d040577cd1a172e7fd9cf6d0 Mon Sep 17 00:00:00 2001 From: Daniel Bulant Date: Tue, 13 Dec 2022 12:32:39 +0100 Subject: [PATCH] vault backup: 2022-12-13 12:32:39 --- .../plugins/better-word-count/main.js | 7952 ++++++++++++++++- .../plugins/better-word-count/manifest.json | 18 +- .../plugins/better-word-count/styles.css | 21 + .../plugins/emoji-shortcodes/main.js | 56 +- .../plugins/emoji-shortcodes/manifest.json | 7 +- .../plugins/emoji-shortcodes/styles.css | 8 + .../obsidian-activity-history/data.json | 4 +- .../obsidian-excalidraw-plugin/data.json | 5 +- .../obsidian-excalidraw-plugin/main.js | 12 +- .../obsidian-excalidraw-plugin/manifest.json | 4 +- .../obsidian-excalidraw-plugin/styles.css | 580 +- notes/.obsidian/plugins/obsidian-git/main.js | 429 +- .../plugins/obsidian-git/manifest.json | 3 +- .../plugins/obsidian-icon-folder/main.js | 187 +- .../obsidian-icon-folder/manifest.json | 20 +- .../plugins/obsidian-icon-folder/styles.css | 182 +- .../plugins/obsidian-linter/data.json | 1 + .../.obsidian/plugins/obsidian-linter/main.js | 874 +- .../plugins/obsidian-linter/manifest.json | 2 +- .../plugins/obsidian-linter/styles.css | 7 +- .../obsidian-spaced-repetition/main.js | 7243 +++++++-------- .../obsidian-spaced-repetition/manifest.json | 5 +- .../obsidian-spaced-repetition/styles.css | 25 +- .../plugins/table-editor-obsidian/main.js | 15 +- .../table-editor-obsidian/manifest.json | 6 +- .../plugins/table-editor-obsidian/styles.css | 51 +- .../plugins/various-complements/data.json | 40 + notes/.obsidian/workspace.json | 26 +- notes/data/Pasted image 20221213121922.png | Bin 0 -> 20792 bytes .../Termodynamika/Termodynamika.md | 2 +- .../Termodynamika/Vnitřní energie.md | 74 + .../Termodynamika/Změna vnitřní energie.md | 2 - 32 files changed, 13066 insertions(+), 4795 deletions(-) create mode 100644 notes/.obsidian/plugins/better-word-count/styles.css create mode 100644 notes/data/Pasted image 20221213121922.png create mode 100644 notes/fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md delete mode 100644 notes/fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md diff --git a/notes/.obsidian/plugins/better-word-count/main.js b/notes/.obsidian/plugins/better-word-count/main.js index 22efd4e..493d804 100644 --- a/notes/.obsidian/plugins/better-word-count/main.js +++ b/notes/.obsidian/plugins/better-word-count/main.js @@ -1,160 +1,7836 @@ 'use strict'; var obsidian = require('obsidian'); -var state = require('@codemirror/state'); var view = require('@codemirror/view'); +function noop() { } +function run(fn) { + return fn(); +} +function blank_object() { + return Object.create(null); +} +function run_all(fns) { + fns.forEach(run); +} +function is_function(thing) { + return typeof thing === 'function'; +} +function safe_not_equal(a, b) { + return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function'); +} +function is_empty(obj) { + return Object.keys(obj).length === 0; +} +function append(target, node) { + target.appendChild(node); +} +function insert(target, node, anchor) { + target.insertBefore(node, anchor || null); +} +function detach(node) { + if (node.parentNode) { + node.parentNode.removeChild(node); + } +} +function destroy_each(iterations, detaching) { + for (let i = 0; i < iterations.length; i += 1) { + if (iterations[i]) + iterations[i].d(detaching); + } +} +function element(name) { + return document.createElement(name); +} +function text(data) { + return document.createTextNode(data); +} +function space() { + return text(' '); +} +function listen(node, event, handler, options) { + node.addEventListener(event, handler, options); + return () => node.removeEventListener(event, handler, options); +} +function attr(node, attribute, value) { + if (value == null) + node.removeAttribute(attribute); + else if (node.getAttribute(attribute) !== value) + node.setAttribute(attribute, value); +} +function children(element) { + return Array.from(element.childNodes); +} +function set_data(text, data) { + data = '' + data; + if (text.wholeText !== data) + text.data = data; +} +function select_option(select, value) { + for (let i = 0; i < select.options.length; i += 1) { + const option = select.options[i]; + if (option.__value === value) { + option.selected = true; + return; + } + } + select.selectedIndex = -1; // no option should be selected +} + +let current_component; +function set_current_component(component) { + current_component = component; +} + +const dirty_components = []; +const binding_callbacks = []; +const render_callbacks = []; +const flush_callbacks = []; +const resolved_promise = Promise.resolve(); +let update_scheduled = false; +function schedule_update() { + if (!update_scheduled) { + update_scheduled = true; + resolved_promise.then(flush); + } +} +function add_render_callback(fn) { + render_callbacks.push(fn); +} +// flush() calls callbacks in this order: +// 1. All beforeUpdate callbacks, in order: parents before children +// 2. All bind:this callbacks, in reverse order: children before parents. +// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT +// for afterUpdates called during the initial onMount, which are called in +// reverse order: children before parents. +// Since callbacks might update component values, which could trigger another +// call to flush(), the following steps guard against this: +// 1. During beforeUpdate, any updated components will be added to the +// dirty_components array and will cause a reentrant call to flush(). Because +// the flush index is kept outside the function, the reentrant call will pick +// up where the earlier call left off and go through all dirty components. The +// current_component value is saved and restored so that the reentrant call will +// not interfere with the "parent" flush() call. +// 2. bind:this callbacks cannot trigger new flush() calls. +// 3. During afterUpdate, any updated components will NOT have their afterUpdate +// callback called a second time; the seen_callbacks set, outside the flush() +// function, guarantees this behavior. +const seen_callbacks = new Set(); +let flushidx = 0; // Do *not* move this inside the flush() function +function flush() { + const saved_component = current_component; + do { + // first, call beforeUpdate functions + // and update components + while (flushidx < dirty_components.length) { + const component = dirty_components[flushidx]; + flushidx++; + set_current_component(component); + update(component.$$); + } + set_current_component(null); + dirty_components.length = 0; + flushidx = 0; + while (binding_callbacks.length) + binding_callbacks.pop()(); + // then, once components are updated, call + // afterUpdate functions. This may cause + // subsequent updates... + for (let i = 0; i < render_callbacks.length; i += 1) { + const callback = render_callbacks[i]; + if (!seen_callbacks.has(callback)) { + // ...so guard against infinite loops + seen_callbacks.add(callback); + callback(); + } + } + render_callbacks.length = 0; + } while (dirty_components.length); + while (flush_callbacks.length) { + flush_callbacks.pop()(); + } + update_scheduled = false; + seen_callbacks.clear(); + set_current_component(saved_component); +} +function update($$) { + if ($$.fragment !== null) { + $$.update(); + run_all($$.before_update); + const dirty = $$.dirty; + $$.dirty = [-1]; + $$.fragment && $$.fragment.p($$.ctx, dirty); + $$.after_update.forEach(add_render_callback); + } +} +const outroing = new Set(); +function transition_in(block, local) { + if (block && block.i) { + outroing.delete(block); + block.i(local); + } +} +function mount_component(component, target, anchor, customElement) { + const { fragment, after_update } = component.$$; + fragment && fragment.m(target, anchor); + if (!customElement) { + // onMount happens before the initial afterUpdate + add_render_callback(() => { + const new_on_destroy = component.$$.on_mount.map(run).filter(is_function); + // if the component was destroyed immediately + // it will update the `$$.on_destroy` reference to `null`. + // the destructured on_destroy may still reference to the old array + if (component.$$.on_destroy) { + component.$$.on_destroy.push(...new_on_destroy); + } + else { + // Edge case - component was destroyed immediately, + // most likely as a result of a binding initialising + run_all(new_on_destroy); + } + component.$$.on_mount = []; + }); + } + after_update.forEach(add_render_callback); +} +function destroy_component(component, detaching) { + const $$ = component.$$; + if ($$.fragment !== null) { + run_all($$.on_destroy); + $$.fragment && $$.fragment.d(detaching); + // TODO null out other refs, including component.$$ (but need to + // preserve final state?) + $$.on_destroy = $$.fragment = null; + $$.ctx = []; + } +} +function make_dirty(component, i) { + if (component.$$.dirty[0] === -1) { + dirty_components.push(component); + schedule_update(); + component.$$.dirty.fill(0); + } + component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); +} +function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) { + const parent_component = current_component; + set_current_component(component); + const $$ = component.$$ = { + fragment: null, + ctx: [], + // state + props, + update: noop, + not_equal, + bound: blank_object(), + // lifecycle + on_mount: [], + on_destroy: [], + on_disconnect: [], + before_update: [], + after_update: [], + context: new Map(options.context || (parent_component ? parent_component.$$.context : [])), + // everything else + callbacks: blank_object(), + dirty, + skip_bound: false, + root: options.target || parent_component.$$.root + }; + append_styles && append_styles($$.root); + let ready = false; + $$.ctx = instance + ? instance(component, options.props || {}, (i, ret, ...rest) => { + const value = rest.length ? rest[0] : ret; + if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { + if (!$$.skip_bound && $$.bound[i]) + $$.bound[i](value); + if (ready) + make_dirty(component, i); + } + return ret; + }) + : []; + $$.update(); + ready = true; + run_all($$.before_update); + // `false` as a special case of no DOM component + $$.fragment = create_fragment ? create_fragment($$.ctx) : false; + if (options.target) { + if (options.hydrate) { + const nodes = children(options.target); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + $$.fragment && $$.fragment.l(nodes); + nodes.forEach(detach); + } + else { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + $$.fragment && $$.fragment.c(); + } + if (options.intro) + transition_in(component.$$.fragment); + mount_component(component, options.target, options.anchor, options.customElement); + flush(); + } + set_current_component(parent_component); +} +/** + * Base class for Svelte components. Used when dev=false. + */ +class SvelteComponent { + $destroy() { + destroy_component(this, 1); + this.$destroy = noop; + } + $on(type, callback) { + if (!is_function(callback)) { + return noop; + } + const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); + callbacks.push(callback); + return () => { + const index = callbacks.indexOf(callback); + if (index !== -1) + callbacks.splice(index, 1); + }; + } + $set($$props) { + if (this.$$set && !is_empty($$props)) { + this.$$.skip_bound = true; + this.$$set($$props); + this.$$.skip_bound = false; + } + } +} + +var MetricCounter; +(function (MetricCounter) { + MetricCounter[MetricCounter["words"] = 0] = "words"; + MetricCounter[MetricCounter["characters"] = 1] = "characters"; + MetricCounter[MetricCounter["sentences"] = 2] = "sentences"; + MetricCounter[MetricCounter["files"] = 3] = "files"; +})(MetricCounter || (MetricCounter = {})); +var MetricType; +(function (MetricType) { + MetricType[MetricType["file"] = 0] = "file"; + MetricType[MetricType["daily"] = 1] = "daily"; + MetricType[MetricType["total"] = 2] = "total"; + MetricType[MetricType["folder"] = 3] = "folder"; +})(MetricType || (MetricType = {})); +const BLANK_SB_ITEM = { + prefix: "", + suffix: "", + metric: { + type: null, + counter: null, + }, +}; +const DEFAULT_SETTINGS = { + statusBar: [ + { + prefix: "", + suffix: " words", + metric: { + type: MetricType.file, + counter: MetricCounter.words, + }, + }, + { + prefix: " ", + suffix: " characters", + metric: { + type: MetricType.file, + counter: MetricCounter.characters, + }, + }, + ], + altBar: [ + { + prefix: "", + suffix: "files", + metric: { + type: MetricType.total, + counter: MetricCounter.files, + }, + }, + ], + countComments: false, + collectStats: false, +}; + +/* src/settings/StatusBarSettings.svelte generated by Svelte v3.54.0 */ + +function get_each_context(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[25] = list[i]; + child_ctx[26] = list; + child_ctx[27] = i; + return child_ctx; +} + +function get_each_context_1(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[25] = list[i]; + child_ctx[28] = list; + child_ctx[27] = i; + return child_ctx; +} + +// (122:10) {#if i !== 0} +function create_if_block_3(ctx) { + let button; + let mounted; + let dispose; + + function click_handler_2() { + return /*click_handler_2*/ ctx[8](/*i*/ ctx[27]); + } + + return { + c() { + button = element("button"); + button.textContent = "↑"; + attr(button, "aria-label", "Move Status Bar Item Up"); + }, + m(target, anchor) { + insert(target, button, anchor); + + if (!mounted) { + dispose = listen(button, "click", click_handler_2); + mounted = true; + } + }, + p(new_ctx, dirty) { + ctx = new_ctx; + }, + d(detaching) { + if (detaching) detach(button); + mounted = false; + dispose(); + } + }; +} + +// (133:10) {#if i !== statusItems.length - 1} +function create_if_block_2(ctx) { + let button; + let mounted; + let dispose; + + function click_handler_3() { + return /*click_handler_3*/ ctx[9](/*i*/ ctx[27]); + } + + return { + c() { + button = element("button"); + button.textContent = "↓"; + attr(button, "aria-label", "Move Status Bar Item Down"); + }, + m(target, anchor) { + insert(target, button, anchor); + + if (!mounted) { + dispose = listen(button, "click", click_handler_3); + mounted = true; + } + }, + p(new_ctx, dirty) { + ctx = new_ctx; + }, + d(detaching) { + if (detaching) detach(button); + mounted = false; + dispose(); + } + }; +} + +// (115:2) {#each statusItems as item, i} +function create_each_block_1(ctx) { + let details; + let summary; + let span0; + let t0_value = /*metricToString*/ ctx[3](/*item*/ ctx[25].metric) + ""; + let t0; + let t1; + let span1; + let t2; + let t3; + let button; + let t5; + let div4; + let div2; + let t9; + let div3; + let select0; + let option0; + let option1; + let t11; + let option2; + let t12; + let option3; + let t13; + let option4; + let t14; + let select0_value_value; + let t15; + let div9; + let div7; + let t19; + let div8; + let select1; + let option5; + let option6; + let t21; + let option7; + let t22; + let option8; + let t23; + let select1_value_value; + let t24; + let div14; + let div12; + let t28; + let div13; + let input0; + let input0_value_value; + let t29; + let div19; + let div17; + let t33; + let div18; + let input1; + let input1_value_value; + let mounted; + let dispose; + let if_block0 = /*i*/ ctx[27] !== 0 && create_if_block_3(ctx); + let if_block1 = /*i*/ ctx[27] !== /*statusItems*/ ctx[1].length - 1 && create_if_block_2(ctx); + + function click_handler_4() { + return /*click_handler_4*/ ctx[10](/*i*/ ctx[27]); + } + + function change_handler(...args) { + return /*change_handler*/ ctx[11](/*item*/ ctx[25], /*each_value_1*/ ctx[28], /*i*/ ctx[27], ...args); + } + + function change_handler_1(...args) { + return /*change_handler_1*/ ctx[12](/*item*/ ctx[25], /*each_value_1*/ ctx[28], /*i*/ ctx[27], ...args); + } + + function change_handler_2(...args) { + return /*change_handler_2*/ ctx[13](/*item*/ ctx[25], /*each_value_1*/ ctx[28], /*i*/ ctx[27], ...args); + } + + function change_handler_3(...args) { + return /*change_handler_3*/ ctx[14](/*item*/ ctx[25], /*each_value_1*/ ctx[28], /*i*/ ctx[27], ...args); + } + + return { + c() { + details = element("details"); + summary = element("summary"); + span0 = element("span"); + t0 = text(t0_value); + t1 = space(); + span1 = element("span"); + if (if_block0) if_block0.c(); + t2 = space(); + if (if_block1) if_block1.c(); + t3 = space(); + button = element("button"); + button.textContent = "X"; + t5 = space(); + div4 = element("div"); + div2 = element("div"); + + div2.innerHTML = `
Metric Counter
+
Select the counter to display, e.g. words, characters.
`; + + t9 = space(); + div3 = element("div"); + select0 = element("select"); + option0 = element("option"); + option0.textContent = "Select Option"; + option1 = element("option"); + t11 = text("Words"); + option2 = element("option"); + t12 = text("Characters"); + option3 = element("option"); + t13 = text("Sentences"); + option4 = element("option"); + t14 = text("Files"); + t15 = space(); + div9 = element("div"); + div7 = element("div"); + + div7.innerHTML = `
Metric Type
+
Select the type of metric that you want displayed.
`; + + t19 = space(); + div8 = element("div"); + select1 = element("select"); + option5 = element("option"); + option5.textContent = "Select Option"; + option6 = element("option"); + t21 = text("Current Note"); + option7 = element("option"); + t22 = text("Daily Metric"); + option8 = element("option"); + t23 = text("Total in Vault"); + t24 = space(); + div14 = element("div"); + div12 = element("div"); + + div12.innerHTML = `
Prefix Text
+
This is the text that is placed before the count.
`; + + t28 = space(); + div13 = element("div"); + input0 = element("input"); + t29 = space(); + div19 = element("div"); + div17 = element("div"); + + div17.innerHTML = `
Suffix Text
+
This is the text that is placed after the count.
`; + + t33 = space(); + div18 = element("div"); + input1 = element("input"); + attr(span0, "class", "bwc-sb-item-text"); + attr(button, "aria-label", "Remove Status Bar Item"); + attr(span1, "class", "bwc-sb-buttons"); + attr(div2, "class", "setting-item-info"); + option0.__value = ""; + option0.value = option0.__value; + option1.__value = MetricCounter.words; + option1.value = option1.__value; + option2.__value = MetricCounter.characters; + option2.value = option2.__value; + option3.__value = MetricCounter.sentences; + option3.value = option3.__value; + option4.__value = MetricCounter.files; + option4.value = option4.__value; + attr(select0, "class", "dropdown"); + attr(div3, "class", "setting-item-control"); + attr(div4, "class", "setting-item"); + attr(div7, "class", "setting-item-info"); + option5.__value = ""; + option5.value = option5.__value; + option6.__value = MetricType.file; + option6.value = option6.__value; + option7.__value = MetricType.daily; + option7.value = option7.__value; + option8.__value = MetricType.total; + option8.value = option8.__value; + attr(select1, "class", "dropdown"); + attr(div8, "class", "setting-item-control"); + attr(div9, "class", "setting-item"); + attr(div12, "class", "setting-item-info"); + attr(input0, "type", "text"); + attr(input0, "name", "prefix"); + input0.value = input0_value_value = /*item*/ ctx[25].prefix; + attr(div13, "class", "setting-item-control"); + attr(div14, "class", "setting-item"); + attr(div17, "class", "setting-item-info"); + attr(input1, "type", "text"); + attr(input1, "name", "suffix"); + input1.value = input1_value_value = /*item*/ ctx[25].suffix; + attr(div18, "class", "setting-item-control"); + attr(div19, "class", "setting-item"); + attr(details, "class", "bwc-sb-item-setting"); + }, + m(target, anchor) { + insert(target, details, anchor); + append(details, summary); + append(summary, span0); + append(span0, t0); + append(summary, t1); + append(summary, span1); + if (if_block0) if_block0.m(span1, null); + append(span1, t2); + if (if_block1) if_block1.m(span1, null); + append(span1, t3); + append(span1, button); + append(details, t5); + append(details, div4); + append(div4, div2); + append(div4, t9); + append(div4, div3); + append(div3, select0); + append(select0, option0); + append(select0, option1); + append(option1, t11); + append(select0, option2); + append(option2, t12); + append(select0, option3); + append(option3, t13); + append(select0, option4); + append(option4, t14); + select_option(select0, /*item*/ ctx[25].metric.counter); + append(details, t15); + append(details, div9); + append(div9, div7); + append(div9, t19); + append(div9, div8); + append(div8, select1); + append(select1, option5); + append(select1, option6); + append(option6, t21); + append(select1, option7); + append(option7, t22); + append(select1, option8); + append(option8, t23); + select_option(select1, /*item*/ ctx[25].metric.type); + append(details, t24); + append(details, div14); + append(div14, div12); + append(div14, t28); + append(div14, div13); + append(div13, input0); + append(details, t29); + append(details, div19); + append(div19, div17); + append(div19, t33); + append(div19, div18); + append(div18, input1); + + if (!mounted) { + dispose = [ + listen(button, "click", click_handler_4), + listen(select0, "change", change_handler), + listen(select1, "change", change_handler_1), + listen(input0, "change", change_handler_2), + listen(input1, "change", change_handler_3) + ]; + + mounted = true; + } + }, + p(new_ctx, dirty) { + ctx = new_ctx; + if (dirty & /*statusItems*/ 2 && t0_value !== (t0_value = /*metricToString*/ ctx[3](/*item*/ ctx[25].metric) + "")) set_data(t0, t0_value); + if (/*i*/ ctx[27] !== 0) if_block0.p(ctx, dirty); + + if (/*i*/ ctx[27] !== /*statusItems*/ ctx[1].length - 1) { + if (if_block1) { + if_block1.p(ctx, dirty); + } else { + if_block1 = create_if_block_2(ctx); + if_block1.c(); + if_block1.m(span1, t3); + } + } else if (if_block1) { + if_block1.d(1); + if_block1 = null; + } + + if (dirty & /*statusItems, MetricCounter*/ 2 && select0_value_value !== (select0_value_value = /*item*/ ctx[25].metric.counter)) { + select_option(select0, /*item*/ ctx[25].metric.counter); + } + + if (dirty & /*statusItems, MetricCounter*/ 2 && select1_value_value !== (select1_value_value = /*item*/ ctx[25].metric.type)) { + select_option(select1, /*item*/ ctx[25].metric.type); + } + + if (dirty & /*statusItems, MetricCounter*/ 2 && input0_value_value !== (input0_value_value = /*item*/ ctx[25].prefix) && input0.value !== input0_value_value) { + input0.value = input0_value_value; + } + + if (dirty & /*statusItems, MetricCounter*/ 2 && input1_value_value !== (input1_value_value = /*item*/ ctx[25].suffix) && input1.value !== input1_value_value) { + input1.value = input1_value_value; + } + }, + d(detaching) { + if (detaching) detach(details); + if (if_block0) if_block0.d(); + if (if_block1) if_block1.d(); + mounted = false; + run_all(dispose); + } + }; +} + +// (289:10) {#if i !== 0} +function create_if_block_1(ctx) { + let button; + let mounted; + let dispose; + + function click_handler_7() { + return /*click_handler_7*/ ctx[17](/*i*/ ctx[27]); + } + + return { + c() { + button = element("button"); + button.textContent = "↑"; + attr(button, "aria-label", "Move Status Bar Item Up"); + }, + m(target, anchor) { + insert(target, button, anchor); + + if (!mounted) { + dispose = listen(button, "click", click_handler_7); + mounted = true; + } + }, + p(new_ctx, dirty) { + ctx = new_ctx; + }, + d(detaching) { + if (detaching) detach(button); + mounted = false; + dispose(); + } + }; +} + +// (300:10) {#if i !== altSItems.length - 1} +function create_if_block(ctx) { + let button; + let mounted; + let dispose; + + function click_handler_8() { + return /*click_handler_8*/ ctx[18](/*i*/ ctx[27]); + } + + return { + c() { + button = element("button"); + button.textContent = "↓"; + attr(button, "aria-label", "Move Status Bar Item Down"); + }, + m(target, anchor) { + insert(target, button, anchor); + + if (!mounted) { + dispose = listen(button, "click", click_handler_8); + mounted = true; + } + }, + p(new_ctx, dirty) { + ctx = new_ctx; + }, + d(detaching) { + if (detaching) detach(button); + mounted = false; + dispose(); + } + }; +} + +// (282:2) {#each altSItems as item, i} +function create_each_block(ctx) { + let details; + let summary; + let span0; + let t0_value = /*metricToString*/ ctx[3](/*item*/ ctx[25].metric) + ""; + let t0; + let t1; + let span1; + let t2; + let t3; + let button; + let t5; + let div4; + let div2; + let t9; + let div3; + let select0; + let option0; + let option1; + let t11; + let option2; + let t12; + let option3; + let t13; + let option4; + let t14; + let select0_value_value; + let t15; + let div9; + let div7; + let t19; + let div8; + let select1; + let option5; + let option6; + let t21; + let option7; + let t22; + let option8; + let t23; + let select1_value_value; + let t24; + let div14; + let div12; + let t28; + let div13; + let input0; + let input0_value_value; + let t29; + let div19; + let div17; + let t33; + let div18; + let input1; + let input1_value_value; + let t34; + let mounted; + let dispose; + let if_block0 = /*i*/ ctx[27] !== 0 && create_if_block_1(ctx); + let if_block1 = /*i*/ ctx[27] !== /*altSItems*/ ctx[2].length - 1 && create_if_block(ctx); + + function click_handler_9() { + return /*click_handler_9*/ ctx[19](/*i*/ ctx[27]); + } + + function change_handler_4(...args) { + return /*change_handler_4*/ ctx[20](/*item*/ ctx[25], /*each_value*/ ctx[26], /*i*/ ctx[27], ...args); + } + + function change_handler_5(...args) { + return /*change_handler_5*/ ctx[21](/*item*/ ctx[25], /*each_value*/ ctx[26], /*i*/ ctx[27], ...args); + } + + function change_handler_6(...args) { + return /*change_handler_6*/ ctx[22](/*item*/ ctx[25], /*each_value*/ ctx[26], /*i*/ ctx[27], ...args); + } + + function change_handler_7(...args) { + return /*change_handler_7*/ ctx[23](/*item*/ ctx[25], /*each_value*/ ctx[26], /*i*/ ctx[27], ...args); + } + + return { + c() { + details = element("details"); + summary = element("summary"); + span0 = element("span"); + t0 = text(t0_value); + t1 = space(); + span1 = element("span"); + if (if_block0) if_block0.c(); + t2 = space(); + if (if_block1) if_block1.c(); + t3 = space(); + button = element("button"); + button.textContent = "X"; + t5 = space(); + div4 = element("div"); + div2 = element("div"); + + div2.innerHTML = `
Metric Counter
+
Select the counter to display, e.g. words, characters.
`; + + t9 = space(); + div3 = element("div"); + select0 = element("select"); + option0 = element("option"); + option0.textContent = "Select Option"; + option1 = element("option"); + t11 = text("Words"); + option2 = element("option"); + t12 = text("Characters"); + option3 = element("option"); + t13 = text("Sentences"); + option4 = element("option"); + t14 = text("Files"); + t15 = space(); + div9 = element("div"); + div7 = element("div"); + + div7.innerHTML = `
Metric Type
+
Select the type of metric that you want displayed.
`; + + t19 = space(); + div8 = element("div"); + select1 = element("select"); + option5 = element("option"); + option5.textContent = "Select Option"; + option6 = element("option"); + t21 = text("Current Note"); + option7 = element("option"); + t22 = text("Daily Metric"); + option8 = element("option"); + t23 = text("Total in Vault"); + t24 = space(); + div14 = element("div"); + div12 = element("div"); + + div12.innerHTML = `
Prefix Text
+
This is the text that is placed before the count.
`; + + t28 = space(); + div13 = element("div"); + input0 = element("input"); + t29 = space(); + div19 = element("div"); + div17 = element("div"); + + div17.innerHTML = `
Suffix Text
+
This is the text that is placed after the count.
`; + + t33 = space(); + div18 = element("div"); + input1 = element("input"); + t34 = space(); + attr(span0, "class", "bwc-sb-item-text"); + attr(button, "aria-label", "Remove Status Bar Item"); + attr(span1, "class", "bwc-sb-buttons"); + attr(div2, "class", "setting-item-info"); + option0.__value = ""; + option0.value = option0.__value; + option1.__value = MetricCounter.words; + option1.value = option1.__value; + option2.__value = MetricCounter.characters; + option2.value = option2.__value; + option3.__value = MetricCounter.sentences; + option3.value = option3.__value; + option4.__value = MetricCounter.files; + option4.value = option4.__value; + attr(select0, "class", "dropdown"); + attr(div3, "class", "setting-item-control"); + attr(div4, "class", "setting-item"); + attr(div7, "class", "setting-item-info"); + option5.__value = ""; + option5.value = option5.__value; + option6.__value = MetricType.file; + option6.value = option6.__value; + option7.__value = MetricType.daily; + option7.value = option7.__value; + option8.__value = MetricType.total; + option8.value = option8.__value; + attr(select1, "class", "dropdown"); + attr(div8, "class", "setting-item-control"); + attr(div9, "class", "setting-item"); + attr(div12, "class", "setting-item-info"); + attr(input0, "type", "text"); + attr(input0, "name", "prefix"); + input0.value = input0_value_value = /*item*/ ctx[25].prefix; + attr(div13, "class", "setting-item-control"); + attr(div14, "class", "setting-item"); + attr(div17, "class", "setting-item-info"); + attr(input1, "type", "text"); + attr(input1, "name", "suffix"); + input1.value = input1_value_value = /*item*/ ctx[25].suffix; + attr(div18, "class", "setting-item-control"); + attr(div19, "class", "setting-item"); + attr(details, "class", "bwc-sb-item-setting"); + }, + m(target, anchor) { + insert(target, details, anchor); + append(details, summary); + append(summary, span0); + append(span0, t0); + append(summary, t1); + append(summary, span1); + if (if_block0) if_block0.m(span1, null); + append(span1, t2); + if (if_block1) if_block1.m(span1, null); + append(span1, t3); + append(span1, button); + append(details, t5); + append(details, div4); + append(div4, div2); + append(div4, t9); + append(div4, div3); + append(div3, select0); + append(select0, option0); + append(select0, option1); + append(option1, t11); + append(select0, option2); + append(option2, t12); + append(select0, option3); + append(option3, t13); + append(select0, option4); + append(option4, t14); + select_option(select0, /*item*/ ctx[25].metric.counter); + append(details, t15); + append(details, div9); + append(div9, div7); + append(div9, t19); + append(div9, div8); + append(div8, select1); + append(select1, option5); + append(select1, option6); + append(option6, t21); + append(select1, option7); + append(option7, t22); + append(select1, option8); + append(option8, t23); + select_option(select1, /*item*/ ctx[25].metric.type); + append(details, t24); + append(details, div14); + append(div14, div12); + append(div14, t28); + append(div14, div13); + append(div13, input0); + append(details, t29); + append(details, div19); + append(div19, div17); + append(div19, t33); + append(div19, div18); + append(div18, input1); + append(details, t34); + + if (!mounted) { + dispose = [ + listen(button, "click", click_handler_9), + listen(select0, "change", change_handler_4), + listen(select1, "change", change_handler_5), + listen(input0, "change", change_handler_6), + listen(input1, "change", change_handler_7) + ]; + + mounted = true; + } + }, + p(new_ctx, dirty) { + ctx = new_ctx; + if (dirty & /*altSItems*/ 4 && t0_value !== (t0_value = /*metricToString*/ ctx[3](/*item*/ ctx[25].metric) + "")) set_data(t0, t0_value); + if (/*i*/ ctx[27] !== 0) if_block0.p(ctx, dirty); + + if (/*i*/ ctx[27] !== /*altSItems*/ ctx[2].length - 1) { + if (if_block1) { + if_block1.p(ctx, dirty); + } else { + if_block1 = create_if_block(ctx); + if_block1.c(); + if_block1.m(span1, t3); + } + } else if (if_block1) { + if_block1.d(1); + if_block1 = null; + } + + if (dirty & /*altSItems, MetricCounter*/ 4 && select0_value_value !== (select0_value_value = /*item*/ ctx[25].metric.counter)) { + select_option(select0, /*item*/ ctx[25].metric.counter); + } + + if (dirty & /*altSItems, MetricCounter*/ 4 && select1_value_value !== (select1_value_value = /*item*/ ctx[25].metric.type)) { + select_option(select1, /*item*/ ctx[25].metric.type); + } + + if (dirty & /*altSItems, MetricCounter*/ 4 && input0_value_value !== (input0_value_value = /*item*/ ctx[25].prefix) && input0.value !== input0_value_value) { + input0.value = input0_value_value; + } + + if (dirty & /*altSItems, MetricCounter*/ 4 && input1_value_value !== (input1_value_value = /*item*/ ctx[25].suffix) && input1.value !== input1_value_value) { + input1.value = input1_value_value; + } + }, + d(detaching) { + if (detaching) detach(details); + if (if_block0) if_block0.d(); + if (if_block1) if_block1.d(); + mounted = false; + run_all(dispose); + } + }; +} + +function create_fragment(ctx) { + let div6; + let h40; + let t1; + let p0; + let t3; + let div2; + let button0; + let t5; + let button1; + let t7; + let t8; + let h41; + let t10; + let p1; + let t12; + let div5; + let button2; + let t14; + let button3; + let t16; + let mounted; + let dispose; + let each_value_1 = /*statusItems*/ ctx[1]; + let each_blocks_1 = []; + + for (let i = 0; i < each_value_1.length; i += 1) { + each_blocks_1[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i)); + } + + let each_value = /*altSItems*/ ctx[2]; + let each_blocks = []; + + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i)); + } + + return { + c() { + div6 = element("div"); + h40 = element("h4"); + h40.textContent = "Markdown Status Bar"; + t1 = space(); + p0 = element("p"); + p0.textContent = "Here you can customize what statistics are displayed on the status bar when editing a markdown note."; + t3 = space(); + div2 = element("div"); + button0 = element("button"); + button0.innerHTML = `
Add Item
`; + t5 = space(); + button1 = element("button"); + button1.innerHTML = `
Reset
`; + t7 = space(); + + for (let i = 0; i < each_blocks_1.length; i += 1) { + each_blocks_1[i].c(); + } + + t8 = space(); + h41 = element("h4"); + h41.textContent = "Alternative Status Bar"; + t10 = space(); + p1 = element("p"); + p1.textContent = "Here you can customize what statistics are displayed on the status bar when not editing a markdown file."; + t12 = space(); + div5 = element("div"); + button2 = element("button"); + button2.innerHTML = `
Add Item
`; + t14 = space(); + button3 = element("button"); + button3.innerHTML = `
Reset
`; + t16 = space(); + + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + + attr(button0, "aria-label", "Add New Status Bar Item"); + attr(button1, "aria-label", "Reset Status Bar to Default"); + attr(div2, "class", "bwc-sb-buttons"); + attr(button2, "aria-label", "Add New Status Bar Item"); + attr(button3, "aria-label", "Reset Status Bar to Default"); + attr(div5, "class", "bwc-sb-buttons"); + }, + m(target, anchor) { + insert(target, div6, anchor); + append(div6, h40); + append(div6, t1); + append(div6, p0); + append(div6, t3); + append(div6, div2); + append(div2, button0); + append(div2, t5); + append(div2, button1); + append(div6, t7); + + for (let i = 0; i < each_blocks_1.length; i += 1) { + each_blocks_1[i].m(div6, null); + } + + append(div6, t8); + append(div6, h41); + append(div6, t10); + append(div6, p1); + append(div6, t12); + append(div6, div5); + append(div5, button2); + append(div5, t14); + append(div5, button3); + append(div6, t16); + + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].m(div6, null); + } + + if (!mounted) { + dispose = [ + listen(button0, "click", /*click_handler*/ ctx[6]), + listen(button1, "click", /*click_handler_1*/ ctx[7]), + listen(button2, "click", /*click_handler_5*/ ctx[15]), + listen(button3, "click", /*click_handler_6*/ ctx[16]) + ]; + + mounted = true; + } + }, + p(ctx, [dirty]) { + if (dirty & /*statusItems, update, plugin, MetricType, MetricCounter, swapStatusBarItems, metricToString*/ 27) { + each_value_1 = /*statusItems*/ ctx[1]; + let i; + + for (i = 0; i < each_value_1.length; i += 1) { + const child_ctx = get_each_context_1(ctx, each_value_1, i); + + if (each_blocks_1[i]) { + each_blocks_1[i].p(child_ctx, dirty); + } else { + each_blocks_1[i] = create_each_block_1(child_ctx); + each_blocks_1[i].c(); + each_blocks_1[i].m(div6, t8); + } + } + + for (; i < each_blocks_1.length; i += 1) { + each_blocks_1[i].d(1); + } + + each_blocks_1.length = each_value_1.length; + } + + if (dirty & /*altSItems, updateAlt, plugin, MetricType, MetricCounter, swapStatusBarItems, metricToString*/ 45) { + each_value = /*altSItems*/ ctx[2]; + let i; + + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context(ctx, each_value, i); + + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + } else { + each_blocks[i] = create_each_block(child_ctx); + each_blocks[i].c(); + each_blocks[i].m(div6, null); + } + } + + for (; i < each_blocks.length; i += 1) { + each_blocks[i].d(1); + } + + each_blocks.length = each_value.length; + } + }, + i: noop, + o: noop, + d(detaching) { + if (detaching) detach(div6); + destroy_each(each_blocks_1, detaching); + destroy_each(each_blocks, detaching); + mounted = false; + run_all(dispose); + } + }; +} + +function swapStatusBarItems(i, j, arr) { + const max = arr.length - 1; + if (i < 0 || i > max || j < 0 || j > max) return arr; + const tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; + return arr; +} + +function instance($$self, $$props, $$invalidate) { + let { plugin } = $$props; + let statusItems = [...plugin.settings.statusBar]; + let altSItems = [...plugin.settings.altBar]; + + function metricToString(metric) { + if (metric.type === MetricType.file) { + switch (metric.counter) { + case MetricCounter.words: + return "Words in Note"; + case MetricCounter.characters: + return "Chars in Note"; + case MetricCounter.sentences: + return "Sentences in Note"; + case MetricCounter.files: + return "Total Notes"; + } + } else if (metric.type === MetricType.daily) { + switch (metric.counter) { + case MetricCounter.words: + return "Daily Words"; + case MetricCounter.characters: + return "Daily Chars"; + case MetricCounter.sentences: + return "Daily Sentences"; + case MetricCounter.files: + return "Total Notes"; + } + } else if (metric.type === MetricType.total) { + switch (metric.counter) { + case MetricCounter.words: + return "Total Words"; + case MetricCounter.characters: + return "Total Chars"; + case MetricCounter.sentences: + return "Total Sentences"; + case MetricCounter.files: + return "Total Notes"; + } + } else { + return "Select Options"; + } + } + + async function update(statusItems) { + $$invalidate( + 0, + plugin.settings.statusBar = statusItems.filter(item => { + if (metricToString(item.metric) !== "Select Options") { + return item; + } + }), + plugin + ); + + await plugin.saveSettings(); + } + + async function updateAlt(altSItems) { + $$invalidate( + 0, + plugin.settings.altBar = altSItems.filter(item => { + if (metricToString(item.metric) !== "Select Options") { + return item; + } + }), + plugin + ); + + await plugin.saveSettings(); + } + + const click_handler = async () => $$invalidate(1, statusItems = [...statusItems, JSON.parse(JSON.stringify(BLANK_SB_ITEM))]); + + const click_handler_1 = async () => { + $$invalidate(1, statusItems = [ + { + prefix: "", + suffix: " words", + metric: { + type: MetricType.file, + counter: MetricCounter.words + } + }, + { + prefix: " ", + suffix: " characters", + metric: { + type: MetricType.file, + counter: MetricCounter.characters + } + } + ]); + + await update(statusItems); + }; + + const click_handler_2 = async i => { + $$invalidate(1, statusItems = swapStatusBarItems(i, i - 1, statusItems)); + await update(statusItems); + }; + + const click_handler_3 = async i => { + $$invalidate(1, statusItems = swapStatusBarItems(i, i + 1, statusItems)); + await update(statusItems); + }; + + const click_handler_4 = async i => { + $$invalidate(1, statusItems = statusItems.filter((item, j) => i !== j)); + await update(statusItems); + }; + + const change_handler = async (item, each_value_1, i, e) => { + const { value } = e.target; + $$invalidate(1, each_value_1[i].metric.counter = MetricCounter[MetricCounter[value]], statusItems); + await update(statusItems); + await plugin.saveSettings(); + }; + + const change_handler_1 = async (item, each_value_1, i, e) => { + const { value } = e.target; + $$invalidate(1, each_value_1[i].metric.type = MetricType[MetricType[value]], statusItems); + await update(statusItems); + await plugin.saveSettings(); + }; + + const change_handler_2 = async (item, each_value_1, i, e) => { + const { value } = e.target; + $$invalidate(1, each_value_1[i].prefix = value, statusItems); + await update(statusItems); + await plugin.saveSettings(); + }; + + const change_handler_3 = async (item, each_value_1, i, e) => { + const { value } = e.target; + $$invalidate(1, each_value_1[i].suffix = value, statusItems); + await update(statusItems); + await plugin.saveSettings(); + }; + + const click_handler_5 = async () => $$invalidate(2, altSItems = [...altSItems, JSON.parse(JSON.stringify(BLANK_SB_ITEM))]); + + const click_handler_6 = async () => { + $$invalidate(2, altSItems = [ + { + prefix: "", + suffix: " files", + metric: { + type: MetricType.total, + counter: MetricCounter.files + } + } + ]); + + await update(statusItems); + }; + + const click_handler_7 = async i => { + $$invalidate(2, altSItems = swapStatusBarItems(i, i - 1, altSItems)); + await updateAlt(altSItems); + }; + + const click_handler_8 = async i => { + $$invalidate(2, altSItems = swapStatusBarItems(i, i + 1, altSItems)); + await updateAlt(altSItems); + }; + + const click_handler_9 = async i => { + $$invalidate(2, altSItems = altSItems.filter((item, j) => i !== j)); + await updateAlt(altSItems); + }; + + const change_handler_4 = async (item, each_value, i, e) => { + const { value } = e.target; + $$invalidate(2, each_value[i].metric.counter = MetricCounter[MetricCounter[value]], altSItems); + await updateAlt(altSItems); + await plugin.saveSettings(); + }; + + const change_handler_5 = async (item, each_value, i, e) => { + const { value } = e.target; + $$invalidate(2, each_value[i].metric.type = MetricType[MetricType[value]], altSItems); + await updateAlt(altSItems); + await plugin.saveSettings(); + }; + + const change_handler_6 = async (item, each_value, i, e) => { + const { value } = e.target; + $$invalidate(2, each_value[i].prefix = value, altSItems); + await updateAlt(altSItems); + await plugin.saveSettings(); + }; + + const change_handler_7 = async (item, each_value, i, e) => { + const { value } = e.target; + $$invalidate(2, each_value[i].suffix = value, altSItems); + await updateAlt(altSItems); + await plugin.saveSettings(); + }; + + $$self.$$set = $$props => { + if ('plugin' in $$props) $$invalidate(0, plugin = $$props.plugin); + }; + + return [ + plugin, + statusItems, + altSItems, + metricToString, + update, + updateAlt, + click_handler, + click_handler_1, + click_handler_2, + click_handler_3, + click_handler_4, + change_handler, + change_handler_1, + change_handler_2, + change_handler_3, + click_handler_5, + click_handler_6, + click_handler_7, + click_handler_8, + click_handler_9, + change_handler_4, + change_handler_5, + change_handler_6, + change_handler_7 + ]; +} + +class StatusBarSettings extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance, create_fragment, safe_not_equal, { plugin: 0 }); + } +} + +function addStatusBarSettings(plugin, containerEl) { + const statusItemsEl = containerEl.createEl("div"); + new StatusBarSettings({ + target: statusItemsEl, + props: { plugin }, + }); +} + +class BetterWordCountSettingsTab extends obsidian.PluginSettingTab { + constructor(app, plugin) { + super(app, plugin); + this.plugin = plugin; + } + display() { + let { containerEl } = this; + containerEl.empty(); + containerEl.createEl("h3", { text: "Better Word Count Settings" }); + // General Settings + containerEl.createEl("h4", { text: "General Settings" }); + new obsidian.Setting(containerEl) + .setName("Collect Statistics") + .setDesc("Reload Required for change to take effect. Turn on to start collecting daily statistics of your writing. Stored in the vault-stats.json file in the .obsidian of your vault. This is required for counts of the day as well as total counts.") + .addToggle((cb) => { + cb.setValue(this.plugin.settings.collectStats); + cb.onChange(async (value) => { + this.plugin.settings.collectStats = value; + await this.plugin.saveSettings(); + }); + }); + new obsidian.Setting(containerEl) + .setName("Don't Count Comments") + .setDesc("Turn on if you don't want markdown comments to be counted.") + .addToggle((cb) => { + cb.setValue(this.plugin.settings.countComments); + cb.onChange(async (value) => { + this.plugin.settings.countComments = value; + await this.plugin.saveSettings(); + }); + }); + // Status Bar Settings + addStatusBarSettings(this.plugin, containerEl); + } +} + +const STATS_FILE = ".obsidian/vault-stats.json"; + +var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + +function createCommonjsModule(fn, basedir, module) { + return module = { + path: basedir, + exports: {}, + require: function (path, base) { + return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); + } + }, fn(module, module.exports), module.exports; +} + +function commonjsRequire () { + throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); +} + +var moment = createCommonjsModule(function (module, exports) { +(function (global, factory) { + module.exports = factory() ; +}(commonjsGlobal, (function () { + var hookCallback; + + function hooks() { + return hookCallback.apply(null, arguments); + } + + // This is done to register the method called with moment() + // without creating circular dependencies. + function setHookCallback(callback) { + hookCallback = callback; + } + + function isArray(input) { + return ( + input instanceof Array || + Object.prototype.toString.call(input) === '[object Array]' + ); + } + + function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + return ( + input != null && + Object.prototype.toString.call(input) === '[object Object]' + ); + } + + function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); + } + + function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return Object.getOwnPropertyNames(obj).length === 0; + } else { + var k; + for (k in obj) { + if (hasOwnProp(obj, k)) { + return false; + } + } + return true; + } + } + + function isUndefined(input) { + return input === void 0; + } + + function isNumber(input) { + return ( + typeof input === 'number' || + Object.prototype.toString.call(input) === '[object Number]' + ); + } + + function isDate(input) { + return ( + input instanceof Date || + Object.prototype.toString.call(input) === '[object Date]' + ); + } + + function map(arr, fn) { + var res = [], + i, + arrLen = arr.length; + for (i = 0; i < arrLen; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; + } + + function createUTC(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); + } + + function defaultParsingFlags() { + // We need to deep clone this object. + return { + empty: false, + unusedTokens: [], + unusedInput: [], + overflow: -2, + charsLeftOver: 0, + nullInput: false, + invalidEra: null, + invalidMonth: null, + invalidFormat: false, + userInvalidated: false, + iso: false, + parsedDateParts: [], + era: null, + meridiem: null, + rfc2822: false, + weekdayMismatch: false, + }; + } + + function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; + } + + var some; + if (Array.prototype.some) { + some = Array.prototype.some; + } else { + some = function (fun) { + var t = Object(this), + len = t.length >>> 0, + i; + + for (i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m), + parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }), + isNowValid = + !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidEra && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = + isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid(flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } else { + getParsingFlags(m).userInvalidated = true; + } + + return m; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = (hooks.momentProperties = []), + updateInProgress = false; + + function copyConfig(to, from) { + var i, + prop, + val, + momentPropertiesLen = momentProperties.length; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentPropertiesLen > 0) { + for (i = 0; i < momentPropertiesLen; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + // Moment prototype object + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } + } + + function isMoment(obj) { + return ( + obj instanceof Moment || (obj != null && obj._isAMomentObject != null) + ); + } + + function warn(msg) { + if ( + hooks.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && + console.warn + ) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = [], + arg, + i, + key, + argLen = arguments.length; + for (i = 0; i < argLen; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (key in arguments[0]) { + if (hasOwnProp(arguments[0], key)) { + arg += key + ': ' + arguments[0][key] + ', '; + } + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn( + msg + + '\nArguments: ' + + Array.prototype.slice.call(args).join('') + + '\n' + + new Error().stack + ); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } + } + + hooks.suppressDeprecationWarnings = false; + hooks.deprecationHandler = null; + + function isFunction(input) { + return ( + (typeof Function !== 'undefined' && input instanceof Function) || + Object.prototype.toString.call(input) === '[object Function]' + ); + } + + function set(config) { + var prop, i; + for (i in config) { + if (hasOwnProp(config, i)) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + + /\d{1,2}/.source + ); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), + prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if ( + hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop]) + ) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, + res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + + var defaultCalendar = { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }; + + function calendar(key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return ( + (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + + absNumber + ); + } + + var formattingTokens = + /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + formatFunctions = {}, + formatTokenFunctions = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken(token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal( + func.apply(this, arguments), + token + ); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), + i, + length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', + i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) + ? array[i].call(mom, format) + : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = + formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace( + localFormattingTokens, + replaceLongDateFormatTokens + ); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + var defaultLongDateFormat = { + LTS: 'h:mm:ss A', + LT: 'h:mm A', + L: 'MM/DD/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A', + }; + + function longDateFormat(key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper + .match(formattingTokens) + .map(function (tok) { + if ( + tok === 'MMMM' || + tok === 'MM' || + tok === 'DD' || + tok === 'dddd' + ) { + return tok.slice(1); + } + return tok; + }) + .join(''); + + return this._longDateFormat[key]; + } + + var defaultInvalidDate = 'Invalid date'; + + function invalidDate() { + return this._invalidDate; + } + + var defaultOrdinal = '%d', + defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal(number) { + return this._ordinal.replace('%d', number); + } + + var defaultRelativeTime = { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + w: 'a week', + ww: '%d weeks', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }; + + function relativeTime(number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return isFunction(output) + ? output(number, withoutSuffix, string, isFuture) + : output.replace(/%d/i, number); + } + + function pastFuture(diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = {}; + + function addUnitAlias(unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; + } + + function normalizeUnits(units) { + return typeof units === 'string' + ? aliases[units] || aliases[units.toLowerCase()] + : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = [], + u; + for (u in unitsObj) { + if (hasOwnProp(unitsObj, u)) { + units.push({ unit: u, priority: priorities[u] }); + } + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + function absFloor(number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; + } + + function makeGetSet(unit, keepTime) { + return function (value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get(mom, unit) { + return mom.isValid() + ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() + : NaN; + } + + function set$1(mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if ( + unit === 'FullYear' && + isLeapYear(mom.year()) && + mom.month() === 1 && + mom.date() === 29 + ) { + value = toInt(value); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit]( + value, + mom.month(), + daysInMonth(value, mom.month()) + ); + } else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + } + + // MOMENTS + + function stringGet(units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + function stringSet(units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units), + i, + prioritizedLen = prioritized.length; + for (i = 0; i < prioritizedLen; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + var match1 = /\d/, // 0 - 9 + match2 = /\d\d/, // 00 - 99 + match3 = /\d{3}/, // 000 - 999 + match4 = /\d{4}/, // 0000 - 9999 + match6 = /[+-]?\d{6}/, // -999999 - 999999 + match1to2 = /\d\d?/, // 0 - 99 + match3to4 = /\d\d\d\d?/, // 999 - 9999 + match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 + match1to3 = /\d{1,3}/, // 0 - 999 + match1to4 = /\d{1,4}/, // 0 - 9999 + match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 + matchUnsigned = /\d+/, // 0 - inf + matchSigned = /[+-]?\d+/, // -inf - inf + matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z + matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + matchWord = + /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, + regexes; + + regexes = {}; + + function addRegexToken(token, regex, strictRegex) { + regexes[token] = isFunction(regex) + ? regex + : function (isStrict, localeData) { + return isStrict && strictRegex ? strictRegex : regex; + }; + } + + function getParseRegexForToken(token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function unescapeFormat(s) { + return regexEscape( + s + .replace('\\', '') + .replace( + /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, + function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + } + ) + ); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + var tokens = {}; + + function addParseToken(token, callback) { + var i, + func = callback, + tokenLen; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + tokenLen = token.length; + for (i = 0; i < tokenLen; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken(token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + var YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, + WEEK = 7, + WEEKDAY = 8; + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 + ? isLeapYear(year) + ? 29 + : 28 + : 31 - ((modMonth % 7) % 2); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // ALIASES + + addUnitAlias('month', 'M'); + + // PRIORITY + + addUnitPriority('month', 8); + + // PARSING + + addRegexToken('M', match1to2); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + var defaultLocaleMonths = + 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + defaultLocaleMonthsShort = + 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, + defaultMonthsShortRegex = matchWord, + defaultMonthsRegex = matchWord; + + function localeMonths(m, format) { + if (!m) { + return isArray(this._months) + ? this._months + : this._months['standalone']; + } + return isArray(this._months) + ? this._months[m.month()] + : this._months[ + (this._months.isFormat || MONTHS_IN_FORMAT).test(format) + ? 'format' + : 'standalone' + ][m.month()]; + } + + function localeMonthsShort(m, format) { + if (!m) { + return isArray(this._monthsShort) + ? this._monthsShort + : this._monthsShort['standalone']; + } + return isArray(this._monthsShort) + ? this._monthsShort[m.month()] + : this._monthsShort[ + MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' + ][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, + ii, + mom, + llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort( + mom, + '' + ).toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse(monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp( + '^' + this.months(mom, '').replace('.', '') + '$', + 'i' + ); + this._shortMonthsParse[i] = new RegExp( + '^' + this.monthsShort(mom, '').replace('.', '') + '$', + 'i' + ); + } + if (!strict && !this._monthsParse[i]) { + regex = + '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if ( + strict && + format === 'MMMM' && + this._longMonthsParse[i].test(monthName) + ) { + return i; + } else if ( + strict && + format === 'MMM' && + this._shortMonthsParse[i].test(monthName) + ) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth(mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function getSetMonth(value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } + } + + function getDaysInMonth() { + return daysInMonth(this.year(), this.month()); + } + + function monthsShortRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict + ? this._monthsShortStrictRegex + : this._monthsShortRegex; + } + } + + function monthsRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict + ? this._monthsStrictRegex + : this._monthsRegex; + } + } + + function computeMonthsParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp( + '^(' + longPieces.join('|') + ')', + 'i' + ); + this._monthsShortStrictRegex = new RegExp( + '^(' + shortPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? zeroFill(y, 4) : '+' + y; + }); + + addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; + }); + + addFormatToken(0, ['YYYY', 4], 0, 'year'); + addFormatToken(0, ['YYYYY', 5], 0, 'year'); + addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + + // ALIASES + + addUnitAlias('year', 'y'); + + // PRIORITIES + + addUnitPriority('year', 1); + + // PARSING + + addRegexToken('Y', matchSigned); + addRegexToken('YY', match1to2, match2); + addRegexToken('YYYY', match1to4, match4); + addRegexToken('YYYYY', match1to6, match6); + addRegexToken('YYYYYY', match1to6, match6); + + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = + input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear() { + return isLeapYear(this.year()); + } + + function createDate(y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; + } + + function createUTCDate(y) { + var date, args; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, + resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear, + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, + resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear, + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PRIORITIES + + addUnitPriority('week', 5); + addUnitPriority('isoWeek', 5); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken( + ['w', 'ww', 'W', 'WW'], + function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + } + ); + + // HELPERS + + // LOCALES + + function localeWeek(mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek() { + return this._week.dow; + } + + function localeFirstDayOfYear() { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek(input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek(input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // ALIASES + + addUnitAlias('day', 'd'); + addUnitAlias('weekday', 'e'); + addUnitAlias('isoWeekday', 'E'); + + // PRIORITY + addUnitPriority('day', 11); + addUnitPriority('weekday', 11); + addUnitPriority('isoWeekday', 11); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + function shiftWeekdays(ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); + } + + var defaultLocaleWeekdays = + 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + defaultWeekdaysRegex = matchWord, + defaultWeekdaysShortRegex = matchWord, + defaultWeekdaysMinRegex = matchWord; + + function localeWeekdays(m, format) { + var weekdays = isArray(this._weekdays) + ? this._weekdays + : this._weekdays[ + m && m !== true && this._weekdays.isFormat.test(format) + ? 'format' + : 'standalone' + ]; + return m === true + ? shiftWeekdays(weekdays, this._week.dow) + : m + ? weekdays[m.day()] + : weekdays; + } + + function localeWeekdaysShort(m) { + return m === true + ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : m + ? this._weekdaysShort[m.day()] + : this._weekdaysShort; + } + + function localeWeekdaysMin(m) { + return m === true + ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : m + ? this._weekdaysMin[m.day()] + : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, + ii, + mom, + llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin( + mom, + '' + ).toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort( + mom, + '' + ).toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse(weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp( + '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + this._shortWeekdaysParse[i] = new RegExp( + '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + this._minWeekdaysParse[i] = new RegExp( + '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + } + if (!this._weekdaysParse[i]) { + regex = + '^' + + this.weekdays(mom, '') + + '|^' + + this.weekdaysShort(mom, '') + + '|^' + + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if ( + strict && + format === 'dddd' && + this._fullWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'ddd' && + this._shortWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'dd' && + this._minWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + } + + function getSetISODayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + + function weekdaysRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict + ? this._weekdaysStrictRegex + : this._weekdaysRegex; + } + } + + function weekdaysShortRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict + ? this._weekdaysShortStrictRegex + : this._weekdaysShortRegex; + } + } + + function weekdaysMinRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict + ? this._weekdaysMinStrictRegex + : this._weekdaysMinRegex; + } + } + + function computeWeekdaysParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], + shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom, + minp, + shortp, + longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = regexEscape(this.weekdaysMin(mom, '')); + shortp = regexEscape(this.weekdaysShort(mom, '')); + longp = regexEscape(this.weekdays(mom, '')); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp( + '^(' + longPieces.join('|') + ')', + 'i' + ); + this._weekdaysShortStrictRegex = new RegExp( + '^(' + shortPieces.join('|') + ')', + 'i' + ); + this._weekdaysMinStrictRegex = new RegExp( + '^(' + minPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return ( + '' + + hFormat.apply(this) + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return ( + '' + + this.hours() + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + function meridiem(token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem( + this.hours(), + this.minutes(), + lowercase + ); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // ALIASES + + addUnitAlias('hour', 'h'); + + // PRIORITY + addUnitPriority('hour', 13); + + // PARSING + + function matchMeridiem(isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2); + addRegexToken('h', match1to2); + addRegexToken('k', match1to2); + addRegexToken('HH', match1to2, match2); + addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); + + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + + addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4, + pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4, + pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + // LOCALES + + function localeIsPM(input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return (input + '').toLowerCase().charAt(0) === 'p'; + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + getSetHour = makeGetSet('Hours', true); + + function localeMeridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + } + + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse, + }; + + // internal storage for locale config files + var locales = {}, + localeFamilies = {}, + globalLocale; + + function commonPrefix(arr1, arr2) { + var i, + minl = Math.min(arr1.length, arr2.length); + for (i = 0; i < minl; i += 1) { + if (arr1[i] !== arr2[i]) { + return i; + } + } + return minl; + } + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, + j, + next, + locale, + split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if ( + next && + next.length >= j && + commonPrefix(split, next) >= j - 1 + ) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function isLocaleNameSane(name) { + // Prevent names that look like filesystem paths, i.e contain '/' or '\' + return name.match('^[^/\\\\]*$') != null; + } + + function loadLocale(name) { + var oldLocale = null, + aliasedRequire; + // TODO: Find a better way to register and load all the locales in Node + if ( + locales[name] === undefined && + 'object' !== 'undefined' && + module && + module.exports && + isLocaleNameSane(name) + ) { + try { + oldLocale = globalLocale._abbr; + aliasedRequire = commonjsRequire; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) { + // mark as not found to avoid repeating expensive file require call causing high CPU + // when trying to find en-US, en_US, en-us for every format call + locales[name] = null; // null means not found + } + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale(key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } else { + if (typeof console !== 'undefined' && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn( + 'Locale ' + key + ' not found. Did you forget to load it?' + ); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale(name, config) { + if (config !== null) { + var locale, + parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple( + 'defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' + ); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config, + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, + tmpLocale, + parentConfig = baseConfig; + + if (locales[name] != null && locales[name].parentLocale != null) { + // Update existing child locale in-place to avoid memory-leaks + locales[name].set(mergeConfigs(locales[name]._config, config)); + } else { + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + if (tmpLocale == null) { + // updateLocale is called for creating a new locale + // Set abbr so it will have a name (getters return + // undefined otherwise). + config.abbr = name; + } + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + } + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + if (name === getSetGlobalLocale()) { + getSetGlobalLocale(name); + } + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + // returns locale data + function getLocale(key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow(m) { + var overflow, + a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 + ? MONTH + : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) + ? DATE + : a[HOUR] < 0 || + a[HOUR] > 24 || + (a[HOUR] === 24 && + (a[MINUTE] !== 0 || + a[SECOND] !== 0 || + a[MILLISECOND] !== 0)) + ? HOUR + : a[MINUTE] < 0 || a[MINUTE] > 59 + ? MINUTE + : a[SECOND] < 0 || a[SECOND] > 59 + ? SECOND + : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 + ? MILLISECOND + : -1; + + if ( + getParsingFlags(m)._overflowDayOfYear && + (overflow < YEAR || overflow > DATE) + ) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; + } + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = + /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + basicIsoRegex = + /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, + isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/], + ['YYYYMM', /\d{6}/, false], + ['YYYY', /\d{4}/, false], + ], + // iso time formats and regexes + isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/], + ], + aspNetJsonRegex = /^\/?Date\((-?\d+)/i, + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + rfc2822 = + /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, + obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60, + }; + + // date from iso format + function configFromISO(config) { + var i, + l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, + dateFormat, + timeFormat, + tzFormat, + isoDatesLen = isoDates.length, + isoTimesLen = isoTimes.length; + + if (match) { + getParsingFlags(config).iso = true; + for (i = 0, l = isoDatesLen; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimesLen; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + function extractFromRFC2822Strings( + yearStr, + monthStr, + dayStr, + hourStr, + minuteStr, + secondStr + ) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10), + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s + .replace(/\([^()]*\)|[\n\t]/g, ' ') + .replace(/(\s\s+)/g, ' ') + .replace(/^\s\s*/, '') + .replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an independent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date( + parsedInput[0], + parsedInput[1], + parsedInput[2] + ).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; + } + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10), + m = hm % 100, + h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)), + parsedArray; + if (match) { + parsedArray = extractFromRFC2822Strings( + match[4], + match[3], + match[2], + match[5], + match[6], + match[7] + ); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + + // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + if (config._strict) { + config._isValid = false; + } else { + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); + } + } + + hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [ + nowValue.getUTCFullYear(), + nowValue.getUTCMonth(), + nowValue.getUTCDate(), + ]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray(config) { + var i, + date, + input = [], + currentDate, + expectedWeekday, + yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if ( + config._dayOfYear > daysInYear(yearToUse) || + config._dayOfYear === 0 + ) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = + config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if ( + config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0 + ) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply( + null, + input + ); + expectedWeekday = config._useUTC + ? config._d.getUTCDay() + : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if ( + config._w && + typeof config._w.d !== 'undefined' && + config._w.d !== expectedWeekday + ) { + getParsingFlags(config).weekdayMismatch = true; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults( + w.GG, + config._a[YEAR], + weekOfYear(createLocal(), 1, 4).year + ); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, + parsedInput, + tokens, + token, + skipped, + stringLength = string.length, + totalParsedInputLength = 0, + era, + tokenLen; + + tokens = + expandFormat(config._f, config._locale).match(formattingTokens) || []; + tokenLen = tokens.length; + for (i = 0; i < tokenLen; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || + [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice( + string.indexOf(parsedInput) + parsedInput.length + ); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = + stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if ( + config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0 + ) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap( + config._locale, + config._a[HOUR], + config._meridiem + ); + + // handle era + era = getParsingFlags(config).era; + if (era !== null) { + config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); + } + + configFromArray(config); + checkOverflow(config); + } + + function meridiemFixWrap(locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + scoreToBeat, + i, + currentScore, + validFormatFound, + bestFormatIsValid = false, + configfLen = config._f.length; + + if (configfLen === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < configfLen; i++) { + currentScore = 0; + validFormatFound = false; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (isValid(tempConfig)) { + validFormatFound = true; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (!bestFormatIsValid) { + if ( + scoreToBeat == null || + currentScore < scoreToBeat || + validFormatFound + ) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + if (validFormatFound) { + bestFormatIsValid = true; + } + } + } else { + if (currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + } + + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i), + dayOrDate = i.day === undefined ? i.date : i.day; + config._a = map( + [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], + function (obj) { + return obj && parseInt(obj, 10); + } + ); + + configFromArray(config); + } + + function createFromConfig(config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig(config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({ nullInput: true }); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC(input, format, locale, strict, isUTC) { + var c = {}; + + if (format === true || format === false) { + strict = format; + format = undefined; + } + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ( + (isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0) + ) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); + } + + var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ), + prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + // TODO: Use [].sort instead? + function min() { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + } + + function max() { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + } + + var now = function () { + return Date.now ? Date.now() : +new Date(); + }; + + var ordering = [ + 'year', + 'quarter', + 'month', + 'week', + 'day', + 'hour', + 'minute', + 'second', + 'millisecond', + ]; + + function isDurationValid(m) { + var key, + unitHasDecimal = false, + i, + orderLen = ordering.length; + for (key in m) { + if ( + hasOwnProp(m, key) && + !( + indexOf.call(ordering, key) !== -1 && + (m[key] == null || !isNaN(m[key])) + ) + ) { + return false; + } + } + + for (i = 0; i < orderLen; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = + +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + quarters * 3 + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); + } + + function isDuration(obj) { + return obj instanceof Duration; + } + + function absRound(number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ( + (dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) + ) { + diffs++; + } + } + return diffs + lengthDiff; + } + + // FORMATTING + + function offset(token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(), + sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return ( + sign + + zeroFill(~~(offset / 60), 2) + + separator + + zeroFill(~~offset % 60, 2) + ); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher), + chunk, + parts, + minutes; + + if (matches === null) { + return null; + } + + chunk = matches[matches.length - 1] || []; + parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = + (isMoment(input) || isDate(input) + ? input.valueOf() + : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset(m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset()); + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset(input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract( + this, + createDuration(input - offset, 'm'), + 1, + false + ); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone(input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC(keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal(keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; + } + + function setOffsetToParsedOffset() { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } else { + this.utcOffset(0, true); + } + } + return this; + } + + function hasAlignedHourOffset(input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime() { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + } + + function isDaylightSavingTimeShifted() { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}, + other; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = + this.isValid() && compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; + } + + function isLocal() { + return this.isValid() ? !this._isUTC : false; + } + + function isUtcOffset() { + return this.isValid() ? this._isUTC : false; + } + + function isUtc() { + return this.isValid() ? this._isUTC && this._offset === 0 : false; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + isoRegex = + /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration(input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months, + }; + } else if (isNumber(input) || !isNaN(+input)) { + duration = {}; + if (key) { + duration[key] = +input; + } else { + duration.milliseconds = +input; + } + } else if ((match = aspNetRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match + }; + } else if ((match = isoRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: parseIso(match[2], sign), + M: parseIso(match[3], sign), + w: parseIso(match[4], sign), + d: parseIso(match[5], sign), + h: parseIso(match[6], sign), + m: parseIso(match[7], sign), + s: parseIso(match[8], sign), + }; + } else if (duration == null) { + // checks for null or undefined + duration = {}; + } else if ( + typeof duration === 'object' && + ('from' in duration || 'to' in duration) + ) { + diffRes = momentsDifference( + createLocal(duration.from), + createLocal(duration.to) + ); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + if (isDuration(input) && hasOwnProp(input, '_isValid')) { + ret._isValid = input._isValid; + } + + return ret; + } + + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso(inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = + other.month() - base.month() + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +base.clone().add(res.months, 'M'); + + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return { milliseconds: 0, months: 0 }; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple( + name, + 'moment().' + + name + + '(period, number) is deprecated. Please use moment().' + + name + + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' + ); + tmp = val; + val = period; + period = tmp; + } + + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'), + subtract = createAdder(-1, 'subtract'); + + function isString(input) { + return typeof input === 'string' || input instanceof String; + } + + // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined + function isMomentInput(input) { + return ( + isMoment(input) || + isDate(input) || + isString(input) || + isNumber(input) || + isNumberOrStringArray(input) || + isMomentInputObject(input) || + input === null || + input === undefined + ); + } + + function isMomentInputObject(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), + propertyTest = false, + properties = [ + 'years', + 'year', + 'y', + 'months', + 'month', + 'M', + 'days', + 'day', + 'd', + 'dates', + 'date', + 'D', + 'hours', + 'hour', + 'h', + 'minutes', + 'minute', + 'm', + 'seconds', + 'second', + 's', + 'milliseconds', + 'millisecond', + 'ms', + ], + i, + property, + propertyLen = properties.length; + + for (i = 0; i < propertyLen; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + + return objectTest && propertyTest; + } + + function isNumberOrStringArray(input) { + var arrayTest = isArray(input), + dataTypeTest = false; + if (arrayTest) { + dataTypeTest = + input.filter(function (item) { + return !isNumber(item) && isString(input); + }).length === 0; + } + return arrayTest && dataTypeTest; + } + + function isCalendarSpec(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), + propertyTest = false, + properties = [ + 'sameDay', + 'nextDay', + 'lastDay', + 'nextWeek', + 'lastWeek', + 'sameElse', + ], + i, + property; + + for (i = 0; i < properties.length; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + + return objectTest && propertyTest; + } + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 + ? 'sameElse' + : diff < -1 + ? 'lastWeek' + : diff < 0 + ? 'lastDay' + : diff < 1 + ? 'sameDay' + : diff < 2 + ? 'nextDay' + : diff < 7 + ? 'nextWeek' + : 'sameElse'; + } + + function calendar$1(time, formats) { + // Support for single parameter, formats only overload to the calendar function + if (arguments.length === 1) { + if (!arguments[0]) { + time = undefined; + formats = undefined; + } else if (isMomentInput(arguments[0])) { + time = arguments[0]; + formats = undefined; + } else if (isCalendarSpec(arguments[0])) { + formats = arguments[0]; + time = undefined; + } + } + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse', + output = + formats && + (isFunction(formats[format]) + ? formats[format].call(this, now) + : formats[format]); + + return this.format( + output || this.localeData().calendar(format, this, createLocal(now)) + ); + } + + function clone() { + return new Moment(this); + } + + function isAfter(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } + } + + function isBefore(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } + } + + function isBetween(from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return ( + (inclusivity[0] === '(' + ? this.isAfter(localFrom, units) + : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' + ? this.isBefore(localTo, units) + : !this.isAfter(localTo, units)) + ); + } + + function isSame(input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return ( + this.clone().startOf(units).valueOf() <= inputMs && + inputMs <= this.clone().endOf(units).valueOf() + ); + } + } + + function isSameOrAfter(input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore(input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff(input, units, asFloat) { + var that, zoneDelta, output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': + output = monthDiff(this, that) / 12; + break; + case 'month': + output = monthDiff(this, that); + break; + case 'quarter': + output = monthDiff(this, that) / 3; + break; + case 'second': + output = (this - that) / 1e3; + break; // 1000 + case 'minute': + output = (this - that) / 6e4; + break; // 1000 * 60 + case 'hour': + output = (this - that) / 36e5; + break; // 1000 * 60 * 60 + case 'day': + output = (this - that - zoneDelta) / 864e5; + break; // 1000 * 60 * 60 * 24, negate dst + case 'week': + output = (this - that - zoneDelta) / 6048e5; + break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: + output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff(a, b) { + if (a.date() < b.date()) { + // end-of-month calculations work correct when the start month has more + // days than the end month. + return -monthDiff(b, a); + } + // difference in months + var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, + adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; + } + + hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + + function toString() { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + } + + function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true, + m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment( + m, + utc + ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' + : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) + .toISOString() + .replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment( + m, + utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + function inspect() { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment', + zone = '', + prefix, + year, + datetime, + suffix; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + prefix = '[' + func + '("]'; + year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; + datetime = '-MM-DD[T]HH:mm:ss.SSS'; + suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); + } + + function format(inputString) { + if (!inputString) { + inputString = this.isUtc() + ? hooks.defaultFormatUtc + : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ to: this, from: time }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow(withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ from: this, to: time }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow(withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale(key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + + var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData() { + return this._locale; + } + + var MS_PER_SECOND = 1000, + MS_PER_MINUTE = 60 * MS_PER_SECOND, + MS_PER_HOUR = 60 * MS_PER_MINUTE, + MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return ((dividend % divisor) + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } + } + + function startOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate( + this.year(), + this.month() - (this.month() % 3), + 1 + ); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate( + this.year(), + this.month(), + this.date() - this.weekday() + ); + break; + case 'isoWeek': + time = startOfDate( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + ); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod$1( + time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), + MS_PER_HOUR + ); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function endOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = + startOfDate( + this.year(), + this.month() - (this.month() % 3) + 3, + 1 + ) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = + startOfDate( + this.year(), + this.month(), + this.date() - this.weekday() + 7 + ) - 1; + break; + case 'isoWeek': + time = + startOfDate( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + 7 + ) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += + MS_PER_HOUR - + mod$1( + time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), + MS_PER_HOUR + ) - + 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function valueOf() { + return this._d.valueOf() - (this._offset || 0) * 60000; + } + + function unix() { + return Math.floor(this.valueOf() / 1000); + } + + function toDate() { + return new Date(this.valueOf()); + } + + function toArray() { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hour(), + m.minute(), + m.second(), + m.millisecond(), + ]; + } + + function toObject() { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds(), + }; + } + + function toJSON() { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2() { + return isValid(this); + } + + function parsingFlags() { + return extend({}, getParsingFlags(this)); + } + + function invalidAt() { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict, + }; + } + + addFormatToken('N', 0, 0, 'eraAbbr'); + addFormatToken('NN', 0, 0, 'eraAbbr'); + addFormatToken('NNN', 0, 0, 'eraAbbr'); + addFormatToken('NNNN', 0, 0, 'eraName'); + addFormatToken('NNNNN', 0, 0, 'eraNarrow'); + + addFormatToken('y', ['y', 1], 'yo', 'eraYear'); + addFormatToken('y', ['yy', 2], 0, 'eraYear'); + addFormatToken('y', ['yyy', 3], 0, 'eraYear'); + addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); + + addRegexToken('N', matchEraAbbr); + addRegexToken('NN', matchEraAbbr); + addRegexToken('NNN', matchEraAbbr); + addRegexToken('NNNN', matchEraName); + addRegexToken('NNNNN', matchEraNarrow); + + addParseToken( + ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], + function (input, array, config, token) { + var era = config._locale.erasParse(input, token, config._strict); + if (era) { + getParsingFlags(config).era = era; + } else { + getParsingFlags(config).invalidEra = input; + } + } + ); + + addRegexToken('y', matchUnsigned); + addRegexToken('yy', matchUnsigned); + addRegexToken('yyy', matchUnsigned); + addRegexToken('yyyy', matchUnsigned); + addRegexToken('yo', matchEraYearOrdinal); + + addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); + addParseToken(['yo'], function (input, array, config, token) { + var match; + if (config._locale._eraYearOrdinalRegex) { + match = input.match(config._locale._eraYearOrdinalRegex); + } + + if (config._locale.eraYearOrdinalParse) { + array[YEAR] = config._locale.eraYearOrdinalParse(input, match); + } else { + array[YEAR] = parseInt(input, 10); + } + }); + + function localeEras(m, format) { + var i, + l, + date, + eras = this._eras || getLocale('en')._eras; + for (i = 0, l = eras.length; i < l; ++i) { + switch (typeof eras[i].since) { + case 'string': + // truncate time + date = hooks(eras[i].since).startOf('day'); + eras[i].since = date.valueOf(); + break; + } + + switch (typeof eras[i].until) { + case 'undefined': + eras[i].until = +Infinity; + break; + case 'string': + // truncate time + date = hooks(eras[i].until).startOf('day').valueOf(); + eras[i].until = date.valueOf(); + break; + } + } + return eras; + } + + function localeErasParse(eraName, format, strict) { + var i, + l, + eras = this.eras(), + name, + abbr, + narrow; + eraName = eraName.toUpperCase(); + + for (i = 0, l = eras.length; i < l; ++i) { + name = eras[i].name.toUpperCase(); + abbr = eras[i].abbr.toUpperCase(); + narrow = eras[i].narrow.toUpperCase(); + + if (strict) { + switch (format) { + case 'N': + case 'NN': + case 'NNN': + if (abbr === eraName) { + return eras[i]; + } + break; + + case 'NNNN': + if (name === eraName) { + return eras[i]; + } + break; + + case 'NNNNN': + if (narrow === eraName) { + return eras[i]; + } + break; + } + } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { + return eras[i]; + } + } + } + + function localeErasConvertYear(era, year) { + var dir = era.since <= era.until ? +1 : -1; + if (year === undefined) { + return hooks(era.since).year(); + } else { + return hooks(era.since).year() + (year - era.offset) * dir; + } + } + + function getEraName() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].name; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].name; + } + } + + return ''; + } + + function getEraNarrow() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].narrow; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].narrow; + } + } + + return ''; + } + + function getEraAbbr() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].abbr; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].abbr; + } + } + + return ''; + } + + function getEraYear() { + var i, + l, + dir, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + dir = eras[i].since <= eras[i].until ? +1 : -1; + + // truncate time + val = this.clone().startOf('day').valueOf(); + + if ( + (eras[i].since <= val && val <= eras[i].until) || + (eras[i].until <= val && val <= eras[i].since) + ) { + return ( + (this.year() - hooks(eras[i].since).year()) * dir + + eras[i].offset + ); + } + } + + return this.year(); + } + + function erasNameRegex(isStrict) { + if (!hasOwnProp(this, '_erasNameRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasNameRegex : this._erasRegex; + } + + function erasAbbrRegex(isStrict) { + if (!hasOwnProp(this, '_erasAbbrRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasAbbrRegex : this._erasRegex; + } + + function erasNarrowRegex(isStrict) { + if (!hasOwnProp(this, '_erasNarrowRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasNarrowRegex : this._erasRegex; + } + + function matchEraAbbr(isStrict, locale) { + return locale.erasAbbrRegex(isStrict); + } + + function matchEraName(isStrict, locale) { + return locale.erasNameRegex(isStrict); + } + + function matchEraNarrow(isStrict, locale) { + return locale.erasNarrowRegex(isStrict); + } + + function matchEraYearOrdinal(isStrict, locale) { + return locale._eraYearOrdinalRegex || matchUnsigned; + } + + function computeErasParse() { + var abbrPieces = [], + namePieces = [], + narrowPieces = [], + mixedPieces = [], + i, + l, + eras = this.eras(); + + for (i = 0, l = eras.length; i < l; ++i) { + namePieces.push(regexEscape(eras[i].name)); + abbrPieces.push(regexEscape(eras[i].abbr)); + narrowPieces.push(regexEscape(eras[i].narrow)); + + mixedPieces.push(regexEscape(eras[i].name)); + mixedPieces.push(regexEscape(eras[i].abbr)); + mixedPieces.push(regexEscape(eras[i].narrow)); + } + + this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); + this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); + this._erasNarrowRegex = new RegExp( + '^(' + narrowPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken(token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + addUnitAlias('weekYear', 'gg'); + addUnitAlias('isoWeekYear', 'GG'); + + // PRIORITY + + addUnitPriority('weekYear', 1); + addUnitPriority('isoWeekYear', 1); + + // PARSING + + addRegexToken('G', matchSigned); + addRegexToken('g', matchSigned); + addRegexToken('GG', match1to2, match2); + addRegexToken('gg', match1to2, match2); + addRegexToken('GGGG', match1to4, match4); + addRegexToken('gggg', match1to4, match4); + addRegexToken('GGGGG', match1to6, match6); + addRegexToken('ggggg', match1to6, match6); + + addWeekParseToken( + ['gggg', 'ggggg', 'GGGG', 'GGGGG'], + function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); + } + ); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy + ); + } + + function getSetISOWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.isoWeek(), + this.isoWeekday(), + 1, + 4 + ); + } + + function getISOWeeksInYear() { + return weeksInYear(this.year(), 1, 4); + } + + function getISOWeeksInISOWeekYear() { + return weeksInYear(this.isoWeekYear(), 1, 4); + } + + function getWeeksInYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getWeeksInWeekYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // ALIASES + + addUnitAlias('quarter', 'Q'); + + // PRIORITY + + addUnitPriority('quarter', 7); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter(input) { + return input == null + ? Math.ceil((this.month() + 1) / 3) + : this.month((input - 1) * 3 + (this.month() % 3)); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // ALIASES + + addUnitAlias('date', 'D'); + + // PRIORITY + addUnitPriority('date', 9); + + // PARSING + + addRegexToken('D', match1to2); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict + ? locale._dayOfMonthOrdinalParse || locale._ordinalParse + : locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PRIORITY + addUnitPriority('dayOfYear', 4); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear(input) { + var dayOfYear = + Math.round( + (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 + ) + 1; + return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // ALIASES + + addUnitAlias('minute', 'm'); + + // PRIORITY + + addUnitPriority('minute', 14); + + // PARSING + + addRegexToken('m', match1to2); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // ALIASES + + addUnitAlias('second', 's'); + + // PRIORITY + + addUnitPriority('second', 15); + + // PARSING + + addRegexToken('s', match1to2); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }); + + addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }); + + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + // ALIASES + + addUnitAlias('millisecond', 'ms'); + + // PRIORITY + + addUnitPriority('millisecond', 16); + + // PARSING + + addRegexToken('S', match1to3, match1); + addRegexToken('SS', match1to3, match2); + addRegexToken('SSS', match1to3, match3); + + var token, getSetMillisecond; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + + getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + function getZoneAbbr() { + return this._isUTC ? 'UTC' : ''; + } + + function getZoneName() { + return this._isUTC ? 'Coordinated Universal Time' : ''; + } + + var proto = Moment.prototype; + + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + if (typeof Symbol !== 'undefined' && Symbol.for != null) { + proto[Symbol.for('nodejs.util.inspect.custom')] = function () { + return 'Moment<' + this.format() + '>'; + }; + } + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.eraName = getEraName; + proto.eraNarrow = getEraNarrow; + proto.eraAbbr = getEraAbbr; + proto.eraYear = getEraYear; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.weeksInWeekYear = getWeeksInWeekYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate( + 'dates accessor is deprecated. Use date instead.', + getSetDayOfMonth + ); + proto.months = deprecate( + 'months accessor is deprecated. Use month instead', + getSetMonth + ); + proto.years = deprecate( + 'years accessor is deprecated. Use year instead', + getSetYear + ); + proto.zone = deprecate( + 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', + getSetZone + ); + proto.isDSTShifted = deprecate( + 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', + isDaylightSavingTimeShifted + ); + + function createUnix(input) { + return createLocal(input * 1000); + } + + function createInZone() { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat(string) { + return string; + } + + var proto$1 = Locale.prototype; + + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + proto$1.eras = localeEras; + proto$1.erasParse = localeErasParse; + proto$1.erasConvertYear = localeErasConvertYear; + proto$1.erasAbbrRegex = erasAbbrRegex; + proto$1.erasNameRegex = erasNameRegex; + proto$1.erasNarrowRegex = erasNarrowRegex; + + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1(format, index, field, setter) { + var locale = getLocale(), + utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl(format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i, + out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl(localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0, + i, + out = []; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths(format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort(format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); + } + + getSetGlobalLocale('en', { + eras: [ + { + since: '0001-01-01', + until: +Infinity, + offset: 1, + name: 'Anno Domini', + narrow: 'AD', + abbr: 'AD', + }, + { + since: '0000-12-31', + until: -Infinity, + offset: 1, + name: 'Before Christ', + narrow: 'BC', + abbr: 'BC', + }, + ], + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (number) { + var b = number % 10, + output = + toInt((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + }); + + // Side effect imports + + hooks.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + getSetGlobalLocale + ); + hooks.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + getLocale + ); + + var mathAbs = Math.abs; + + function abs() { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; + } + + function addSubtract$1(duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1(input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + function subtract$1(input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil(number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble() { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, + minutes, + hours, + years, + monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if ( + !( + (milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0) + ) + ) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths(days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return (days * 4800) / 146097; + } + + function monthsToDays(months) { + // the reverse of daysToMonths + return (months * 146097) / 4800; + } + + function as(units) { + if (!this.isValid()) { + return NaN; + } + var days, + months, + milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': + return months; + case 'quarter': + return months / 3; + case 'year': + return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week': + return days / 7 + milliseconds / 6048e5; + case 'day': + return days + milliseconds / 864e5; + case 'hour': + return days * 24 + milliseconds / 36e5; + case 'minute': + return days * 1440 + milliseconds / 6e4; + case 'second': + return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': + return Math.floor(days * 864e5) + milliseconds; + default: + throw new Error('Unknown unit ' + units); + } + } + } + + // TODO: Use this.as('ms')? + function valueOf$1() { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs(alias) { + return function () { + return this.as(alias); + }; + } + + var asMilliseconds = makeAs('ms'), + asSeconds = makeAs('s'), + asMinutes = makeAs('m'), + asHours = makeAs('h'), + asDays = makeAs('d'), + asWeeks = makeAs('w'), + asMonths = makeAs('M'), + asQuarters = makeAs('Q'), + asYears = makeAs('y'); + + function clone$1() { + return createDuration(this); + } + + function get$2(units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; + } + + function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; + } + + var milliseconds = makeGetter('milliseconds'), + seconds = makeGetter('seconds'), + minutes = makeGetter('minutes'), + hours = makeGetter('hours'), + days = makeGetter('days'), + months = makeGetter('months'), + years = makeGetter('years'); + + function weeks() { + return absFloor(this.days() / 7); + } + + var round = Math.round, + thresholds = { + ss: 44, // a few seconds to seconds + s: 45, // seconds to minute + m: 45, // minutes to hour + h: 22, // hours to day + d: 26, // days to month/week + w: null, // weeks to month + M: 11, // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { + var duration = createDuration(posNegDuration).abs(), + seconds = round(duration.as('s')), + minutes = round(duration.as('m')), + hours = round(duration.as('h')), + days = round(duration.as('d')), + months = round(duration.as('M')), + weeks = round(duration.as('w')), + years = round(duration.as('y')), + a = + (seconds <= thresholds.ss && ['s', seconds]) || + (seconds < thresholds.s && ['ss', seconds]) || + (minutes <= 1 && ['m']) || + (minutes < thresholds.m && ['mm', minutes]) || + (hours <= 1 && ['h']) || + (hours < thresholds.h && ['hh', hours]) || + (days <= 1 && ['d']) || + (days < thresholds.d && ['dd', days]); + + if (thresholds.w != null) { + a = + a || + (weeks <= 1 && ['w']) || + (weeks < thresholds.w && ['ww', weeks]); + } + a = a || + (months <= 1 && ['M']) || + (months < thresholds.M && ['MM', months]) || + (years <= 1 && ['y']) || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding(roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof roundingFunction === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold(threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; + } + + function humanize(argWithSuffix, argThresholds) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var withSuffix = false, + th = thresholds, + locale, + output; + + if (typeof argWithSuffix === 'object') { + argThresholds = argWithSuffix; + argWithSuffix = false; + } + if (typeof argWithSuffix === 'boolean') { + withSuffix = argWithSuffix; + } + if (typeof argThresholds === 'object') { + th = Object.assign({}, thresholds, argThresholds); + if (argThresholds.s != null && argThresholds.ss == null) { + th.ss = argThresholds.s - 1; + } + } + + locale = this.localeData(); + output = relativeTime$1(this, !withSuffix, th, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return (x > 0) - (x < 0) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000, + days = abs$1(this._days), + months = abs$1(this._months), + minutes, + hours, + years, + s, + total = this.asSeconds(), + totalSign, + ymSign, + daysSign, + hmsSign; + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + + totalSign = total < 0 ? '-' : ''; + ymSign = sign(this._months) !== sign(total) ? '-' : ''; + daysSign = sign(this._days) !== sign(total) ? '-' : ''; + hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return ( + totalSign + + 'P' + + (years ? ymSign + years + 'Y' : '') + + (months ? ymSign + months + 'M' : '') + + (days ? daysSign + days + 'D' : '') + + (hours || minutes || seconds ? 'T' : '') + + (hours ? hmsSign + hours + 'H' : '') + + (minutes ? hmsSign + minutes + 'M' : '') + + (seconds ? hmsSign + s + 'S' : '') + ); + } + + var proto$2 = Duration.prototype; + + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asQuarters = asQuarters; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + + proto$2.toIsoString = deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', + toISOString$1 + ); + proto$2.lang = lang; + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + //! moment.js + + hooks.version = '2.29.4'; + + setHookCallback(createLocal); + + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // + DATE: 'YYYY-MM-DD', // + TIME: 'HH:mm', // + TIME_SECONDS: 'HH:mm:ss', // + TIME_MS: 'HH:mm:ss.SSS', // + WEEK: 'GGGG-[W]WW', // + MONTH: 'YYYY-MM', // + }; + + return hooks; + +}))); +}); + +function getWordCount(text) { + const spaceDelimitedChars = /'’A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/ + .source; + const nonSpaceDelimitedWords = /\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5/.source; + const nonSpaceDelimitedWordsOther = /[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5]{1}/ + .source; + const pattern = new RegExp([ + `(?:[0-9]+(?:(?:,|\\.)[0-9]+)*|[\\-${spaceDelimitedChars}])+`, + nonSpaceDelimitedWords, + nonSpaceDelimitedWordsOther, + ].join("|"), "g"); + return (text.match(pattern) || []).length; +} +function getCharacterCount(text) { + return text.length; +} +function getSentenceCount(text) { + const sentences = ((text || "").match(/[^.!?\s][^.!?]*(?:[.!?](?!['"]?\s|$)[^.!?]*)*[.!?]?['"]?(?=\s|$)/gm) || []).length; + return sentences; +} + +class StatsManager { + constructor(vault, workspace) { + this.vault = vault; + this.workspace = workspace; + this.debounceChange = obsidian.debounce((text) => this.change(text), 50, false); + this.vault.adapter.exists(STATS_FILE).then(async (exists) => { + if (!exists) { + const vaultSt = { + history: {}, + modifiedFiles: {}, + }; + await this.vault.adapter.write(STATS_FILE, JSON.stringify(vaultSt)); + this.vaultStats = JSON.parse(await this.vault.adapter.read(STATS_FILE)); + } + else { + this.vaultStats = JSON.parse(await this.vault.adapter.read(STATS_FILE)); + if (!this.vaultStats.hasOwnProperty("history")) { + const vaultSt = { + history: {}, + modifiedFiles: {}, + }; + await this.vault.adapter.write(STATS_FILE, JSON.stringify(vaultSt)); + } + this.vaultStats = JSON.parse(await this.vault.adapter.read(STATS_FILE)); + } + await this.updateToday(); + }); + } + async update() { + this.vault.adapter.write(STATS_FILE, JSON.stringify(this.vaultStats)); + } + async updateToday() { + if (this.vaultStats.history.hasOwnProperty(moment().format("YYYY-MM-DD"))) { + this.today = moment().format("YYYY-MM-DD"); + return; + } + this.today = moment().format("YYYY-MM-DD"); + const totalWords = await this.calcTotalWords(); + const totalCharacters = await this.calcTotalCharacters(); + const totalSentences = await this.calcTotalSentences(); + const newDay = { + words: 0, + characters: 0, + sentences: 0, + files: 0, + totalWords: totalWords, + totalCharacters: totalCharacters, + totalSentences: totalSentences, + }; + this.vaultStats.modifiedFiles = {}; + this.vaultStats.history[this.today] = newDay; + await this.update(); + } + async change(text) { + const fileName = this.workspace.getActiveFile().path; + const currentWords = getWordCount(text); + const currentCharacters = getCharacterCount(text); + const currentSentences = getSentenceCount(text); + if (this.vaultStats.history.hasOwnProperty(this.today) && + this.today === moment().format("YYYY-MM-DD")) { + let modFiles = this.vaultStats.modifiedFiles; + if (modFiles.hasOwnProperty(fileName)) { + this.vaultStats.history[this.today].totalWords += + currentWords - modFiles[fileName].words.current; + this.vaultStats.history[this.today].totalCharacters += + currentCharacters - modFiles[fileName].characters.current; + this.vaultStats.history[this.today].totalSentences += + currentSentences - modFiles[fileName].sentences.current; + modFiles[fileName].words.current = currentWords; + modFiles[fileName].characters.current = currentCharacters; + modFiles[fileName].sentences.current = currentSentences; + } + else { + modFiles[fileName] = { + words: { + initial: currentWords, + current: currentWords, + }, + characters: { + initial: currentCharacters, + current: currentCharacters, + }, + sentences: { + initial: currentSentences, + current: currentSentences, + }, + }; + } + const words = Object.values(modFiles) + .map((counts) => Math.max(0, counts.words.current - counts.words.initial)) + .reduce((a, b) => a + b, 0); + const characters = Object.values(modFiles) + .map((counts) => Math.max(0, counts.characters.current - counts.characters.initial)) + .reduce((a, b) => a + b, 0); + const sentences = Object.values(modFiles) + .map((counts) => Math.max(0, counts.sentences.current - counts.sentences.initial)) + .reduce((a, b) => a + b, 0); + this.vaultStats.history[this.today].words = words; + this.vaultStats.history[this.today].characters = characters; + this.vaultStats.history[this.today].sentences = sentences; + this.vaultStats.history[this.today].files = this.getTotalFiles(); + await this.update(); + } + else { + this.updateToday(); + } + } + async recalcTotals() { + if (!this.vaultStats) + return; + if (this.vaultStats.history.hasOwnProperty(this.today) && + this.today === moment().format("YYYY-MM-DD")) { + const todayHist = this.vaultStats.history[this.today]; + todayHist.totalWords = await this.calcTotalWords(); + todayHist.totalCharacters = await this.calcTotalCharacters(); + todayHist.totalSentences = await this.calcTotalSentences(); + this.update(); + } + else { + this.updateToday(); + } + } + async calcTotalWords() { + let words = 0; + const files = this.vault.getFiles(); + for (const i in files) { + const file = files[i]; + if (file.extension === "md") { + words += getWordCount(await this.vault.cachedRead(file)); + } + } + return words; + } + async calcTotalCharacters() { + let characters = 0; + const files = this.vault.getFiles(); + for (const i in files) { + const file = files[i]; + if (file.extension === "md") { + characters += getCharacterCount(await this.vault.cachedRead(file)); + } + } + return characters; + } + async calcTotalSentences() { + let sentence = 0; + const files = this.vault.getFiles(); + for (const i in files) { + const file = files[i]; + if (file.extension === "md") { + sentence += getSentenceCount(await this.vault.cachedRead(file)); + } + } + return sentence; + } + getDailyWords() { + return this.vaultStats.history[this.today].words; + } + getDailyCharacters() { + return this.vaultStats.history[this.today].characters; + } + getDailySentences() { + return this.vaultStats.history[this.today].sentences; + } + getTotalFiles() { + return this.vault.getMarkdownFiles().length; + } + async getTotalWords() { + if (!this.vaultStats) + return await this.calcTotalWords(); + return this.vaultStats.history[this.today].totalWords; + } + async getTotalCharacters() { + if (!this.vaultStats) + return await this.calcTotalCharacters(); + return this.vaultStats.history[this.today].totalCharacters; + } + async getTotalSentences() { + if (!this.vaultStats) + return await this.calcTotalSentences(); + return this.vaultStats.history[this.today].totalSentences; + } +} + class StatusBar { - constructor(statusBarEl) { + constructor(statusBarEl, plugin) { this.statusBarEl = statusBarEl; + this.plugin = plugin; + this.debounceStatusBarUpdate = obsidian.debounce((text) => this.updateStatusBar(text), 20, false); + this.statusBarEl.classList.add("mod-clickable"); + this.statusBarEl.setAttribute("aria-label", "Coming Soon"); + this.statusBarEl.setAttribute("aria-label-position", "top"); + this.statusBarEl.addEventListener("click", (ev) => this.onClick(ev)); + } + onClick(ev) { } displayText(text) { this.statusBarEl.setText(text); } + async updateStatusBar(text) { + const sb = this.plugin.settings.statusBar; + let display = ""; + for (let i = 0; i < sb.length; i++) { + const sbItem = sb[i]; + display = display + sbItem.prefix; + const metric = sbItem.metric; + if (metric.counter === MetricCounter.words) { + switch (metric.type) { + case MetricType.file: + display = display + getWordCount(text); + break; + case MetricType.daily: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getDailyWords() + : 0); + break; + case MetricType.total: + display = + display + + (await (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalWords() + : 0)); + break; + } + } + else if (metric.counter === MetricCounter.characters) { + switch (metric.type) { + case MetricType.file: + display = display + getCharacterCount(text); + break; + case MetricType.daily: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getDailyCharacters() + : 0); + break; + case MetricType.total: + display = + display + + (await (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalCharacters() + : 0)); + break; + } + } + else if (metric.counter === MetricCounter.sentences) { + switch (metric.type) { + case MetricType.file: + display = display + getSentenceCount(text); + break; + case MetricType.daily: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getDailySentences() + : 0); + break; + case MetricType.total: + display = + display + + (await (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalSentences() + : 0)); + break; + } + } + else if (metric.counter === MetricCounter.files) { + switch (metric.type) { + case MetricType.file: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalFiles() + : 0); + break; + case MetricType.daily: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalFiles() + : 0); + break; + case MetricType.total: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalFiles() + : 0); + break; + } + } + display = display + sbItem.suffix; + } + this.displayText(display); + } + async updateAltBar() { + const ab = this.plugin.settings.altBar; + let display = ""; + for (let i = 0; i < ab.length; i++) { + const sbItem = ab[i]; + display = display + sbItem.prefix; + const metric = sbItem.metric; + if (metric.counter === MetricCounter.words) { + switch (metric.type) { + case MetricType.file: + display = display + 0; + break; + case MetricType.daily: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getDailyWords() + : 0); + break; + case MetricType.total: + display = + display + + (await (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalWords() + : 0)); + break; + } + } + else if (metric.counter === MetricCounter.characters) { + switch (metric.type) { + case MetricType.file: + display = display + 0; + break; + case MetricType.daily: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getDailyCharacters() + : 0); + break; + case MetricType.total: + display = + display + + (await (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalCharacters() + : 0)); + break; + } + } + else if (metric.counter === MetricCounter.sentences) { + switch (metric.type) { + case MetricType.file: + display = display + 0; + break; + case MetricType.daily: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getDailySentences() + : 0); + break; + case MetricType.total: + display = + display + + (await (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalSentences() + : 0)); + break; + } + } + else if (metric.counter === MetricCounter.files) { + switch (metric.type) { + case MetricType.file: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalFiles() + : 0); + break; + case MetricType.daily: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalFiles() + : 0); + break; + case MetricType.total: + display = + display + + (this.plugin.settings.collectStats + ? this.plugin.statsManager.getTotalFiles() + : 0); + break; + } + } + display = display + sbItem.suffix; + } + this.displayText(display); + } } +class EditorPlugin { + constructor(view) { + this.view = view; + this.hasPlugin = false; + } + update(update) { + if (!this.hasPlugin) { + return; + } + const tr = update.transactions[0]; + if (!tr) + return; + if (tr.isUserEvent("select") && + tr.newSelection.ranges[0].from !== tr.newSelection.ranges[0].to) { + let text = ""; + const selection = tr.newSelection.main; + const textIter = tr.newDoc.iterRange(selection.from, selection.to); + while (!textIter.done) { + text = text + textIter.next().value; + } + this.plugin.statusBar.debounceStatusBarUpdate(text); + } + else if (tr.isUserEvent("input") || + tr.isUserEvent("delete") || + tr.isUserEvent("move") || + tr.isUserEvent("undo") || + tr.isUserEvent("redo") || + tr.isUserEvent("select")) { + const textIter = tr.newDoc.iter(); + let text = ""; + while (!textIter.done) { + text = text + textIter.next().value; + } + if (tr.docChanged && this.plugin.statsManager) { + this.plugin.statsManager.debounceChange(text); + } + this.plugin.statusBar.debounceStatusBarUpdate(text); + } + } + addPlugin(plugin) { + this.plugin = plugin; + this.hasPlugin = true; + } + destroy() { } +} +const editorPlugin = view.ViewPlugin.fromClass(EditorPlugin); + class BetterWordCount extends obsidian.Plugin { - // public currentFile: TFile; - // public settings: BetterWordCountSettings; - // public view: StatsView; - // public dataManager: DataManager; - // public barManager: BarManager; - // onunload(): void { - // this.app.workspace - // .getLeavesOfType(VIEW_TYPE_STATS) - // .forEach((leaf) => leaf.detach()); - // } - onload() { + async onunload() { + this.statsManager = null; + this.statusBar = null; + } + async onload() { + // Settings Store + // this.register( + // settingsStore.subscribe((value) => { + // this.settings = value; + // }) + // ); + // Handle Settings + this.settings = Object.assign(DEFAULT_SETTINGS, await this.loadData()); + this.addSettingTab(new BetterWordCountSettingsTab(this.app, this)); + // Handle Statistics + if (this.settings.collectStats) { + this.statsManager = new StatsManager(this.app.vault, this.app.workspace); + } + // Handle Status Bar let statusBarEl = this.addStatusBarItem(); - BetterWordCount.statusBar = new StatusBar(statusBarEl); - this.createCMExtension(); - // this.settings = Object.assign(DEFAULT_SETTINGS, await this.loadData()); - // this.addSettingTab(new BetterWordCountSettingsTab(this.app, this)); - // let statusBarElTest = this.addStatusBarItem(); - // statusBarElTest.setText("§l§aTest§r"); - // let statusBarEl = this.addStatusBarItem(); - // this.statusBar = new StatusBar(statusBarEl); - // this.statusBar.displayText("Awesome"); - // this.barManager = new BarManager( - // this.statusBar, - // this.settings, - // this.app.vault, - // this.app.metadataCache - // ); - // if (this.settings.collectStats) { - // this.dataManager = new DataManager( - // this.app.vault, - // this.app.metadataCache - // ); - // } - // this.registerEvent( - // this.app.workspace.on("active-leaf-change", this.activeLeafChange, this) - // ); - // this.registerCodeMirror((cm: CodeMirror.Editor) => { - // cm.on("cursorActivity", (cm: CodeMirror.Editor) => - // this.barManager.cursorActivity(cm) - // ); - // }); - // if (this.settings.collectStats) { - // this.registerEvent( - // this.app.workspace.on( - // "quick-preview", - // this.dataManager.debounceChange, - // this.dataManager - // ) - // ); - // this.registerInterval( - // window.setInterval(() => { - // this.dataManager.setTotalStats(); - // }, 1000 * 60) - // ); - // } - // addIcon(STATS_ICON_NAME, STATS_ICON); - // this.addCommand({ - // id: "show-vault-stats-view", - // name: "Open Statistics", - // checkCallback: (checking: boolean) => { - // if (checking) { - // return this.app.workspace.getLeavesOfType("vault-stats").length === 0; - // } - // this.initLeaf(); - // }, - // }); - // this.registerView( - // VIEW_TYPE_STATS, - // (leaf: WorkspaceLeaf) => (this.view = new StatsView(leaf)) - // ); - // if (this.app.workspace.layoutReady) { - // this.initLeaf(); - // } else { - // this.app.workspace.onLayoutReady(() => this.initLeaf()); - // } - } - // activeLeafChange(leaf: WorkspaceLeaf) { - // if (!(leaf.view.getViewType() === "markdown")) { - // this.barManager.updateAltStatusBar(); - // } - // } - // async saveSettings(): Promise { - // await this.saveData(this.settings); - // } - // initLeaf(): void { - // if (this.app.workspace.getLeavesOfType(VIEW_TYPE_STATS).length) { - // return; - // } - // this.app.workspace.getRightLeaf(false).setViewState({ - // type: VIEW_TYPE_STATS, - // }); - // } - createCMExtension() { - const cmStateField = state.StateField.define({ - create(state) { - return view.Decoration.none; - }, - update(effects, tr) { - let text = ""; - const selection = tr.newSelection.main; - if (selection.empty) { - const textIter = tr.newDoc.iter(); - while (!textIter.done) { - text = text + textIter.next().value; - } - } - else { - const textIter = tr.newDoc.iterRange(selection.from, selection.to); - while (!textIter.done) { - text = text + textIter.next().value; - } - } - BetterWordCount.updateStatusBar(text); - return effects; - }, - provide: (f) => view.EditorView.decorations.from(f), + this.statusBar = new StatusBar(statusBarEl, this); + // Handle the Editor Plugin + this.registerEditorExtension(editorPlugin); + this.app.workspace.onLayoutReady(() => { + this.giveEditorPlugin(this.app.workspace.getMostRecentLeaf()); }); - this.registerEditorExtension(cmStateField); + this.registerEvent(this.app.workspace.on("active-leaf-change", async (leaf) => { + this.giveEditorPlugin(leaf); + if (leaf.view.getViewType() !== "markdown") { + this.statusBar.updateAltBar(); + } + if (!this.settings.collectStats) + return; + await this.statsManager.recalcTotals(); + })); + this.registerEvent(this.app.vault.on("delete", async () => { + if (!this.settings.collectStats) + return; + await this.statsManager.recalcTotals(); + })); } - static updateStatusBar(text) { - const words = this.getWordCount(text); - const chars = this.getCharacterCount(text); - this.statusBar.displayText(`${words} words ${chars} characters`); + giveEditorPlugin(leaf) { + //@ts-expect-error, not typed + const editor = leaf.view.editor; + if (editor) { + const editorView = editor.cm; + const editorPlug = editorView.plugin(editorPlugin); + editorPlug.addPlugin(this); + //@ts-expect-error, not typed + const data = leaf.view.data; + this.statusBar.updateStatusBar(data); + } } - static getWordCount(text) { - const spaceDelimitedChars = /A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/ - .source; - const nonSpaceDelimitedWords = /\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5/.source; - const nonSpaceDelimitedWordsOther = /[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5]{1}/ - .source; - const pattern = new RegExp([ - `(?:[0-9]+(?:(?:,|\\.)[0-9]+)*|[\\-${spaceDelimitedChars}])+`, - nonSpaceDelimitedWords, - nonSpaceDelimitedWordsOther, - ].join("|"), "g"); - return (text.match(pattern) || []).length; - } - static getCharacterCount(text) { - return text.length; + async saveSettings() { + await this.saveData(this.settings); } } module.exports = BetterWordCount; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsiLi4vc3JjL3N0YXR1cy9iYXIudHMiLCIuLi9zcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU3RhdHVzQmFyIHtcbiAgcHJpdmF0ZSBzdGF0dXNCYXJFbDogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3Ioc3RhdHVzQmFyRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5zdGF0dXNCYXJFbCA9IHN0YXR1c0JhckVsO1xuICB9XG5cbiAgZGlzcGxheVRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdGF0dXNCYXJFbC5zZXRUZXh0KHRleHQpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW4sIFRGaWxlLCBhZGRJY29uLCBXb3Jrc3BhY2VMZWFmLCBNYXJrZG93bkVkaXRWaWV3LCBNYXJrZG93blZpZXcsIE1hcmtkb3duU291cmNlVmlldywgZWRpdG9yVmlld0ZpZWxkLCBlZGl0b3JFZGl0b3JGaWVsZCwgTm90aWNlIH0gZnJvbSBcIm9ic2lkaWFuXCI7XHJcbi8vIGltcG9ydCB7IEJldHRlcldvcmRDb3VudFNldHRpbmdzVGFiIH0gZnJvbSBcIi4vc2V0dGluZ3Mvc2V0dGluZ3MtdGFiXCI7XHJcbi8vIGltcG9ydCB7IEJldHRlcldvcmRDb3VudFNldHRpbmdzLCBERUZBVUxUX1NFVFRJTkdTIH0gZnJvbSBcIi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcclxuLy8gaW1wb3J0IHsgU3RhdHVzQmFyIH0gZnJvbSBcIi4vc3RhdHVzL2JhclwiO1xyXG4vLyBpbXBvcnQgeyBTVEFUU19JQ09OLCBTVEFUU19JQ09OX05BTUUsIFZJRVdfVFlQRV9TVEFUUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xyXG4vLyBpbXBvcnQgU3RhdHNWaWV3IGZyb20gXCIuL3ZpZXcvdmlld1wiO1xyXG4vLyBpbXBvcnQgeyBEYXRhTWFuYWdlciB9IGZyb20gXCIuL2RhdGEvbWFuYWdlclwiO1xyXG4vLyBpbXBvcnQgeyBCYXJNYW5hZ2VyIH0gZnJvbSBcIi4vc3RhdHVzL21hbmFnZXJcIjtcclxuXHJcbi8vIGltcG9ydCB7fSBmcm9tIFwiQGNvZGVtaXJyb3IvdGV4dFwiO1xyXG5pbXBvcnQge0VkaXRvclN0YXRlLCBTdGF0ZUVmZmVjdCwgU3RhdGVGaWVsZCwgVHJhbnNhY3Rpb259IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xyXG5cclxuLy8gaW1wb3J0IHR5cGUgQ29kZU1pcnJvciBmcm9tIFwiY29kZW1pcnJvclwiO1xyXG5pbXBvcnQgeyBEZWNvcmF0aW9uLCBEZWNvcmF0aW9uU2V0LCBFZGl0b3JWaWV3IH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcclxuaW1wb3J0IHsgU3RhdHVzQmFyIH0gZnJvbSBcIi4vc3RhdHVzL2JhclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmV0dGVyV29yZENvdW50IGV4dGVuZHMgUGx1Z2luIHtcclxuICBwdWJsaWMgc3RhdGljIHN0YXR1c0JhcjogU3RhdHVzQmFyO1xyXG4gIC8vIHB1YmxpYyBjdXJyZW50RmlsZTogVEZpbGU7XHJcbiAgLy8gcHVibGljIHNldHRpbmdzOiBCZXR0ZXJXb3JkQ291bnRTZXR0aW5ncztcclxuICAvLyBwdWJsaWMgdmlldzogU3RhdHNWaWV3O1xyXG4gIC8vIHB1YmxpYyBkYXRhTWFuYWdlcjogRGF0YU1hbmFnZXI7XHJcbiAgLy8gcHVibGljIGJhck1hbmFnZXI6IEJhck1hbmFnZXI7XHJcblxyXG4gIC8vIG9udW5sb2FkKCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5hcHAud29ya3NwYWNlXHJcbiAgLy8gICAgIC5nZXRMZWF2ZXNPZlR5cGUoVklFV19UWVBFX1NUQVRTKVxyXG4gIC8vICAgICAuZm9yRWFjaCgobGVhZikgPT4gbGVhZi5kZXRhY2goKSk7XHJcbiAgLy8gfVxyXG5cclxuICBvbmxvYWQoKSB7XHJcbiAgICBsZXQgc3RhdHVzQmFyRWwgPSB0aGlzLmFkZFN0YXR1c0Jhckl0ZW0oKTtcclxuICAgIEJldHRlcldvcmRDb3VudC5zdGF0dXNCYXIgPSBuZXcgU3RhdHVzQmFyKHN0YXR1c0JhckVsKTtcclxuXHJcbiAgICB0aGlzLmNyZWF0ZUNNRXh0ZW5zaW9uKCk7XHJcblxyXG4gICAgLy8gdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oREVGQVVMVF9TRVRUSU5HUywgYXdhaXQgdGhpcy5sb2FkRGF0YSgpKTtcclxuICAgIC8vIHRoaXMuYWRkU2V0dGluZ1RhYihuZXcgQmV0dGVyV29yZENvdW50U2V0dGluZ3NUYWIodGhpcy5hcHAsIHRoaXMpKTtcclxuXHJcbiAgICAvLyBsZXQgc3RhdHVzQmFyRWxUZXN0ID0gdGhpcy5hZGRTdGF0dXNCYXJJdGVtKCk7XHJcbiAgICAvLyBzdGF0dXNCYXJFbFRlc3Quc2V0VGV4dChcIsKnbMKnYVRlc3TCp3JcIik7XHJcbiAgICAvLyBsZXQgc3RhdHVzQmFyRWwgPSB0aGlzLmFkZFN0YXR1c0Jhckl0ZW0oKTtcclxuICAgIC8vIHRoaXMuc3RhdHVzQmFyID0gbmV3IFN0YXR1c0JhcihzdGF0dXNCYXJFbCk7XHJcbiAgICAvLyB0aGlzLnN0YXR1c0Jhci5kaXNwbGF5VGV4dChcIkF3ZXNvbWVcIik7XHJcbiAgICAvLyB0aGlzLmJhck1hbmFnZXIgPSBuZXcgQmFyTWFuYWdlcihcclxuICAgIC8vICAgdGhpcy5zdGF0dXNCYXIsXHJcbiAgICAvLyAgIHRoaXMuc2V0dGluZ3MsXHJcbiAgICAvLyAgIHRoaXMuYXBwLnZhdWx0LFxyXG4gICAgLy8gICB0aGlzLmFwcC5tZXRhZGF0YUNhY2hlXHJcbiAgICAvLyApO1xyXG5cclxuICAgIC8vIGlmICh0aGlzLnNldHRpbmdzLmNvbGxlY3RTdGF0cykge1xyXG4gICAgLy8gICB0aGlzLmRhdGFNYW5hZ2VyID0gbmV3IERhdGFNYW5hZ2VyKFxyXG4gICAgLy8gICAgIHRoaXMuYXBwLnZhdWx0LFxyXG4gICAgLy8gICAgIHRoaXMuYXBwLm1ldGFkYXRhQ2FjaGVcclxuICAgIC8vICAgKTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyB0aGlzLnJlZ2lzdGVyRXZlbnQoXHJcbiAgICAvLyAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbihcImFjdGl2ZS1sZWFmLWNoYW5nZVwiLCB0aGlzLmFjdGl2ZUxlYWZDaGFuZ2UsIHRoaXMpXHJcbiAgICAvLyApO1xyXG5cclxuICAgIC8vIHRoaXMucmVnaXN0ZXJDb2RlTWlycm9yKChjbTogQ29kZU1pcnJvci5FZGl0b3IpID0+IHtcclxuICAgIC8vICAgY20ub24oXCJjdXJzb3JBY3Rpdml0eVwiLCAoY206IENvZGVNaXJyb3IuRWRpdG9yKSA9PlxyXG4gICAgLy8gICAgIHRoaXMuYmFyTWFuYWdlci5jdXJzb3JBY3Rpdml0eShjbSlcclxuICAgIC8vICAgKTtcclxuICAgIC8vIH0pO1xyXG5cclxuICAgIFxyXG4gICAgXHJcblxyXG4gICAgLy8gaWYgKHRoaXMuc2V0dGluZ3MuY29sbGVjdFN0YXRzKSB7XHJcbiAgICAvLyAgIHRoaXMucmVnaXN0ZXJFdmVudChcclxuICAgIC8vICAgICB0aGlzLmFwcC53b3Jrc3BhY2Uub24oXHJcbiAgICAvLyAgICAgICBcInF1aWNrLXByZXZpZXdcIixcclxuICAgIC8vICAgICAgIHRoaXMuZGF0YU1hbmFnZXIuZGVib3VuY2VDaGFuZ2UsXHJcbiAgICAvLyAgICAgICB0aGlzLmRhdGFNYW5hZ2VyXHJcbiAgICAvLyAgICAgKVxyXG4gICAgLy8gICApO1xyXG5cclxuICAgIC8vICAgdGhpcy5yZWdpc3RlckludGVydmFsKFxyXG4gICAgLy8gICAgIHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAvLyAgICAgICB0aGlzLmRhdGFNYW5hZ2VyLnNldFRvdGFsU3RhdHMoKTtcclxuICAgIC8vICAgICB9LCAxMDAwICogNjApXHJcbiAgICAvLyAgICk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gYWRkSWNvbihTVEFUU19JQ09OX05BTUUsIFNUQVRTX0lDT04pO1xyXG5cclxuICAgIC8vIHRoaXMuYWRkQ29tbWFuZCh7XHJcbiAgICAvLyAgIGlkOiBcInNob3ctdmF1bHQtc3RhdHMtdmlld1wiLFxyXG4gICAgLy8gICBuYW1lOiBcIk9wZW4gU3RhdGlzdGljc1wiLFxyXG4gICAgLy8gICBjaGVja0NhbGxiYWNrOiAoY2hlY2tpbmc6IGJvb2xlYW4pID0+IHtcclxuICAgIC8vICAgICBpZiAoY2hlY2tpbmcpIHtcclxuICAgIC8vICAgICAgIHJldHVybiB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKFwidmF1bHQtc3RhdHNcIikubGVuZ3RoID09PSAwO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICB0aGlzLmluaXRMZWFmKCk7XHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyB9KTtcclxuXHJcbiAgICAvLyB0aGlzLnJlZ2lzdGVyVmlldyhcclxuICAgIC8vICAgVklFV19UWVBFX1NUQVRTLFxyXG4gICAgLy8gICAobGVhZjogV29ya3NwYWNlTGVhZikgPT4gKHRoaXMudmlldyA9IG5ldyBTdGF0c1ZpZXcobGVhZikpXHJcbiAgICAvLyApO1xyXG5cclxuICAgIC8vIGlmICh0aGlzLmFwcC53b3Jrc3BhY2UubGF5b3V0UmVhZHkpIHtcclxuICAgIC8vICAgdGhpcy5pbml0TGVhZigpO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgdGhpcy5hcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkoKCkgPT4gdGhpcy5pbml0TGVhZigpKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIC8vIGFjdGl2ZUxlYWZDaGFuZ2UobGVhZjogV29ya3NwYWNlTGVhZikge1xyXG4gIC8vICAgaWYgKCEobGVhZi52aWV3LmdldFZpZXdUeXBlKCkgPT09IFwibWFya2Rvd25cIikpIHtcclxuICAvLyAgICAgdGhpcy5iYXJNYW5hZ2VyLnVwZGF0ZUFsdFN0YXR1c0JhcigpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gYXN5bmMgc2F2ZVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gIC8vICAgYXdhaXQgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcclxuICAvLyB9XHJcblxyXG4gIC8vIGluaXRMZWFmKCk6IHZvaWQge1xyXG4gIC8vICAgaWYgKHRoaXMuYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoVklFV19UWVBFX1NUQVRTKS5sZW5ndGgpIHtcclxuICAvLyAgICAgcmV0dXJuO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgdGhpcy5hcHAud29ya3NwYWNlLmdldFJpZ2h0TGVhZihmYWxzZSkuc2V0Vmlld1N0YXRlKHtcclxuICAvLyAgICAgdHlwZTogVklFV19UWVBFX1NUQVRTLFxyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgY3JlYXRlQ01FeHRlbnNpb24oKSB7XHJcblxyXG4gICAgY29uc3QgY21TdGF0ZUZpZWxkID0gU3RhdGVGaWVsZC5kZWZpbmU8RGVjb3JhdGlvblNldD4oe1xyXG4gICAgICBjcmVhdGUoc3RhdGU6IEVkaXRvclN0YXRlKSB7XHJcbiAgICAgICAgcmV0dXJuICBEZWNvcmF0aW9uLm5vbmU7XHJcbiAgICAgIH0sXHJcbiAgICAgIHVwZGF0ZShlZmZlY3RzOiBEZWNvcmF0aW9uU2V0LCB0cjogVHJhbnNhY3Rpb24pIHtcclxuICAgICAgICBsZXQgdGV4dCA9IFwiXCI7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdHIubmV3U2VsZWN0aW9uLm1haW47XHJcbiAgICAgICAgaWYgKHNlbGVjdGlvbi5lbXB0eSkge1xyXG4gICAgICAgICAgY29uc3QgdGV4dEl0ZXIgPSB0ci5uZXdEb2MuaXRlcigpO1xyXG4gICAgICAgICAgd2hpbGUgKCF0ZXh0SXRlci5kb25lKSB7XHJcbiAgICAgICAgICAgIHRleHQgPSB0ZXh0ICsgdGV4dEl0ZXIubmV4dCgpLnZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCB0ZXh0SXRlciA9IHRyLm5ld0RvYy5pdGVyUmFuZ2Uoc2VsZWN0aW9uLmZyb20sIHNlbGVjdGlvbi50byk7XHJcbiAgICAgICAgICB3aGlsZSAoIXRleHRJdGVyLmRvbmUpIHtcclxuICAgICAgICAgICAgdGV4dCA9IHRleHQgKyB0ZXh0SXRlci5uZXh0KCkudmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBCZXR0ZXJXb3JkQ291bnQudXBkYXRlU3RhdHVzQmFyKHRleHQpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHJldHVybiBlZmZlY3RzO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgcHJvdmlkZTogKGY6IGFueSkgPT4gRWRpdG9yVmlldy5kZWNvcmF0aW9ucy5mcm9tKGYpLFxyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHRoaXMucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oY21TdGF0ZUZpZWxkKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB1cGRhdGVTdGF0dXNCYXIodGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB3b3JkcyA9IHRoaXMuZ2V0V29yZENvdW50KHRleHQpO1xyXG4gICAgY29uc3QgY2hhcnMgPSB0aGlzLmdldENoYXJhY3RlckNvdW50KHRleHQpO1xyXG5cclxuICAgIHRoaXMuc3RhdHVzQmFyLmRpc3BsYXlUZXh0KGAke3dvcmRzfSB3b3JkcyAke2NoYXJzfSBjaGFyYWN0ZXJzYCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0V29yZENvdW50KHRleHQ6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBjb25zdCBzcGFjZURlbGltaXRlZENoYXJzID1cclxuICAgICAgL0EtWmEtelxcdTAwQUFcXHUwMEI1XFx1MDBCQVxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJDMVxcdTAyQzYtXFx1MDJEMVxcdTAyRTAtXFx1MDJFNFxcdTAyRUNcXHUwMkVFXFx1MDM3MC1cXHUwMzc0XFx1MDM3NlxcdTAzNzdcXHUwMzdBLVxcdTAzN0RcXHUwMzdGXFx1MDM4NlxcdTAzODgtXFx1MDM4QVxcdTAzOENcXHUwMzhFLVxcdTAzQTFcXHUwM0EzLVxcdTAzRjVcXHUwM0Y3LVxcdTA0ODFcXHUwNDhBLVxcdTA1MkZcXHUwNTMxLVxcdTA1NTZcXHUwNTU5XFx1MDU2MS1cXHUwNTg3XFx1MDVEMC1cXHUwNUVBXFx1MDVGMC1cXHUwNUYyXFx1MDYyMC1cXHUwNjRBXFx1MDY2RVxcdTA2NkZcXHUwNjcxLVxcdTA2RDNcXHUwNkQ1XFx1MDZFNVxcdTA2RTZcXHUwNkVFXFx1MDZFRlxcdTA2RkEtXFx1MDZGQ1xcdTA2RkZcXHUwNzEwXFx1MDcxMi1cXHUwNzJGXFx1MDc0RC1cXHUwN0E1XFx1MDdCMVxcdTA3Q0EtXFx1MDdFQVxcdTA3RjRcXHUwN0Y1XFx1MDdGQVxcdTA4MDAtXFx1MDgxNVxcdTA4MUFcXHUwODI0XFx1MDgyOFxcdTA4NDAtXFx1MDg1OFxcdTA4QTAtXFx1MDhCNFxcdTA5MDQtXFx1MDkzOVxcdTA5M0RcXHUwOTUwXFx1MDk1OC1cXHUwOTYxXFx1MDk3MS1cXHUwOTgwXFx1MDk4NS1cXHUwOThDXFx1MDk4RlxcdTA5OTBcXHUwOTkzLVxcdTA5QThcXHUwOUFBLVxcdTA5QjBcXHUwOUIyXFx1MDlCNi1cXHUwOUI5XFx1MDlCRFxcdTA5Q0VcXHUwOURDXFx1MDlERFxcdTA5REYtXFx1MDlFMVxcdTA5RjBcXHUwOUYxXFx1MEEwNS1cXHUwQTBBXFx1MEEwRlxcdTBBMTBcXHUwQTEzLVxcdTBBMjhcXHUwQTJBLVxcdTBBMzBcXHUwQTMyXFx1MEEzM1xcdTBBMzVcXHUwQTM2XFx1MEEzOFxcdTBBMzlcXHUwQTU5LVxcdTBBNUNcXHUwQTVFXFx1MEE3Mi1cXHUwQTc0XFx1MEE4NS1cXHUwQThEXFx1MEE4Ri1cXHUwQTkxXFx1MEE5My1cXHUwQUE4XFx1MEFBQS1cXHUwQUIwXFx1MEFCMlxcdTBBQjNcXHUwQUI1LVxcdTBBQjlcXHUwQUJEXFx1MEFEMFxcdTBBRTBcXHUwQUUxXFx1MEFGOVxcdTBCMDUtXFx1MEIwQ1xcdTBCMEZcXHUwQjEwXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMlxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNEXFx1MEI1Q1xcdTBCNURcXHUwQjVGLVxcdTBCNjFcXHUwQjcxXFx1MEI4M1xcdTBCODUtXFx1MEI4QVxcdTBCOEUtXFx1MEI5MFxcdTBCOTItXFx1MEI5NVxcdTBCOTlcXHUwQjlBXFx1MEI5Q1xcdTBCOUVcXHUwQjlGXFx1MEJBM1xcdTBCQTRcXHUwQkE4LVxcdTBCQUFcXHUwQkFFLVxcdTBCQjlcXHUwQkQwXFx1MEMwNS1cXHUwQzBDXFx1MEMwRS1cXHUwQzEwXFx1MEMxMi1cXHUwQzI4XFx1MEMyQS1cXHUwQzM5XFx1MEMzRFxcdTBDNTgtXFx1MEM1QVxcdTBDNjBcXHUwQzYxXFx1MEM4NS1cXHUwQzhDXFx1MEM4RS1cXHUwQzkwXFx1MEM5Mi1cXHUwQ0E4XFx1MENBQS1cXHUwQ0IzXFx1MENCNS1cXHUwQ0I5XFx1MENCRFxcdTBDREVcXHUwQ0UwXFx1MENFMVxcdTBDRjFcXHUwQ0YyXFx1MEQwNS1cXHUwRDBDXFx1MEQwRS1cXHUwRDEwXFx1MEQxMi1cXHUwRDNBXFx1MEQzRFxcdTBENEVcXHUwRDVGLVxcdTBENjFcXHUwRDdBLVxcdTBEN0ZcXHUwRDg1LVxcdTBEOTZcXHUwRDlBLVxcdTBEQjFcXHUwREIzLVxcdTBEQkJcXHUwREJEXFx1MERDMC1cXHUwREM2XFx1MEUwMS1cXHUwRTMwXFx1MEUzMlxcdTBFMzNcXHUwRTQwLVxcdTBFNDZcXHUwRTgxXFx1MEU4MlxcdTBFODRcXHUwRTg3XFx1MEU4OFxcdTBFOEFcXHUwRThEXFx1MEU5NC1cXHUwRTk3XFx1MEU5OS1cXHUwRTlGXFx1MEVBMS1cXHUwRUEzXFx1MEVBNVxcdTBFQTdcXHUwRUFBXFx1MEVBQlxcdTBFQUQtXFx1MEVCMFxcdTBFQjJcXHUwRUIzXFx1MEVCRFxcdTBFQzAtXFx1MEVDNFxcdTBFQzZcXHUwRURDLVxcdTBFREZcXHUwRjAwXFx1MEY0MC1cXHUwRjQ3XFx1MEY0OS1cXHUwRjZDXFx1MEY4OC1cXHUwRjhDXFx1MTAwMC1cXHUxMDJBXFx1MTAzRlxcdTEwNTAtXFx1MTA1NVxcdTEwNUEtXFx1MTA1RFxcdTEwNjFcXHUxMDY1XFx1MTA2NlxcdTEwNkUtXFx1MTA3MFxcdTEwNzUtXFx1MTA4MVxcdTEwOEVcXHUxMEEwLVxcdTEwQzVcXHUxMEM3XFx1MTBDRFxcdTEwRDAtXFx1MTBGQVxcdTEwRkMtXFx1MTI0OFxcdTEyNEEtXFx1MTI0RFxcdTEyNTAtXFx1MTI1NlxcdTEyNThcXHUxMjVBLVxcdTEyNURcXHUxMjYwLVxcdTEyODhcXHUxMjhBLVxcdTEyOERcXHUxMjkwLVxcdTEyQjBcXHUxMkIyLVxcdTEyQjVcXHUxMkI4LVxcdTEyQkVcXHUxMkMwXFx1MTJDMi1cXHUxMkM1XFx1MTJDOC1cXHUxMkQ2XFx1MTJEOC1cXHUxMzEwXFx1MTMxMi1cXHUxMzE1XFx1MTMxOC1cXHUxMzVBXFx1MTM4MC1cXHUxMzhGXFx1MTNBMC1cXHUxM0Y1XFx1MTNGOC1cXHUxM0ZEXFx1MTQwMS1cXHUxNjZDXFx1MTY2Ri1cXHUxNjdGXFx1MTY4MS1cXHUxNjlBXFx1MTZBMC1cXHUxNkVBXFx1MTZGMS1cXHUxNkY4XFx1MTcwMC1cXHUxNzBDXFx1MTcwRS1cXHUxNzExXFx1MTcyMC1cXHUxNzMxXFx1MTc0MC1cXHUxNzUxXFx1MTc2MC1cXHUxNzZDXFx1MTc2RS1cXHUxNzcwXFx1MTc4MC1cXHUxN0IzXFx1MTdEN1xcdTE3RENcXHUxODIwLVxcdTE4NzdcXHUxODgwLVxcdTE4QThcXHUxOEFBXFx1MThCMC1cXHUxOEY1XFx1MTkwMC1cXHUxOTFFXFx1MTk1MC1cXHUxOTZEXFx1MTk3MC1cXHUxOTc0XFx1MTk4MC1cXHUxOUFCXFx1MTlCMC1cXHUxOUM5XFx1MUEwMC1cXHUxQTE2XFx1MUEyMC1cXHUxQTU0XFx1MUFBN1xcdTFCMDUtXFx1MUIzM1xcdTFCNDUtXFx1MUI0QlxcdTFCODMtXFx1MUJBMFxcdTFCQUVcXHUxQkFGXFx1MUJCQS1cXHUxQkU1XFx1MUMwMC1cXHUxQzIzXFx1MUM0RC1cXHUxQzRGXFx1MUM1QS1cXHUxQzdEXFx1MUNFOS1cXHUxQ0VDXFx1MUNFRS1cXHUxQ0YxXFx1MUNGNVxcdTFDRjZcXHUxRDAwLVxcdTFEQkZcXHUxRTAwLVxcdTFGMTVcXHUxRjE4LVxcdTFGMURcXHUxRjIwLVxcdTFGNDVcXHUxRjQ4LVxcdTFGNERcXHUxRjUwLVxcdTFGNTdcXHUxRjU5XFx1MUY1QlxcdTFGNURcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXFx1MUZEMC1cXHUxRkQzXFx1MUZENi1cXHUxRkRCXFx1MUZFMC1cXHUxRkVDXFx1MUZGMi1cXHUxRkY0XFx1MUZGNi1cXHUxRkZDXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE5LVxcdTIxMURcXHUyMTI0XFx1MjEyNlxcdTIxMjhcXHUyMTJBLVxcdTIxMkRcXHUyMTJGLVxcdTIxMzlcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE4M1xcdTIxODRcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDRTRcXHUyQ0VCLVxcdTJDRUVcXHUyQ0YyXFx1MkNGM1xcdTJEMDAtXFx1MkQyNVxcdTJEMjdcXHUyRDJEXFx1MkQzMC1cXHUyRDY3XFx1MkQ2RlxcdTJEODAtXFx1MkQ5NlxcdTJEQTAtXFx1MkRBNlxcdTJEQTgtXFx1MkRBRVxcdTJEQjAtXFx1MkRCNlxcdTJEQjgtXFx1MkRCRVxcdTJEQzAtXFx1MkRDNlxcdTJEQzgtXFx1MkRDRVxcdTJERDAtXFx1MkRENlxcdTJERDgtXFx1MkRERVxcdTJFMkZcXHUzMDA1XFx1MzAwNlxcdTMwMzEtXFx1MzAzNVxcdTMwM0JcXHUzMDNDXFx1MzEwNS1cXHUzMTJEXFx1MzEzMS1cXHUzMThFXFx1MzFBMC1cXHUzMUJBXFx1MzFGMC1cXHUzMUZGXFx1MzQwMC1cXHU0REI1XFx1QTAwMC1cXHVBNDhDXFx1QTREMC1cXHVBNEZEXFx1QTUwMC1cXHVBNjBDXFx1QTYxMC1cXHVBNjFGXFx1QTYyQVxcdUE2MkJcXHVBNjQwLVxcdUE2NkVcXHVBNjdGLVxcdUE2OURcXHVBNkEwLVxcdUE2RTVcXHVBNzE3LVxcdUE3MUZcXHVBNzIyLVxcdUE3ODhcXHVBNzhCLVxcdUE3QURcXHVBN0IwLVxcdUE3QjdcXHVBN0Y3LVxcdUE4MDFcXHVBODAzLVxcdUE4MDVcXHVBODA3LVxcdUE4MEFcXHVBODBDLVxcdUE4MjJcXHVBODQwLVxcdUE4NzNcXHVBODgyLVxcdUE4QjNcXHVBOEYyLVxcdUE4RjdcXHVBOEZCXFx1QThGRFxcdUE5MEEtXFx1QTkyNVxcdUE5MzAtXFx1QTk0NlxcdUE5NjAtXFx1QTk3Q1xcdUE5ODQtXFx1QTlCMlxcdUE5Q0ZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2LVxcdUE5RUZcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTQwLVxcdUFBNDJcXHVBQTQ0LVxcdUFBNEJcXHVBQTYwLVxcdUFBNzZcXHVBQTdBXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVxcdUFBQjVcXHVBQUI2XFx1QUFCOS1cXHVBQUJEXFx1QUFDMFxcdUFBQzJcXHVBQURCLVxcdUFBRERcXHVBQUUwLVxcdUFBRUFcXHVBQUYyLVxcdUFBRjRcXHVBQjAxLVxcdUFCMDZcXHVBQjA5LVxcdUFCMEVcXHVBQjExLVxcdUFCMTZcXHVBQjIwLVxcdUFCMjZcXHVBQjI4LVxcdUFCMkVcXHVBQjMwLVxcdUFCNUFcXHVBQjVDLVxcdUFCNjVcXHVBQjcwLVxcdUFCRTJcXHVBQzAwLVxcdUQ3QTNcXHVEN0IwLVxcdUQ3QzZcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFEXFx1RkIxRi1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTcwLVxcdUZFNzRcXHVGRTc2LVxcdUZFRkNcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGREMvXHJcbiAgICAgICAgLnNvdXJjZTtcclxuICAgIGNvbnN0IG5vblNwYWNlRGVsaW1pdGVkV29yZHMgPVxyXG4gICAgICAvXFx1MzA0MS1cXHUzMDk2XFx1MzA5RC1cXHUzMDlGXFx1MzBBMS1cXHUzMEZBXFx1MzBGQy1cXHUzMEZGXFx1NEUwMC1cXHU5RkQ1Ly5zb3VyY2U7XHJcbiAgXHJcbiAgICBjb25zdCBub25TcGFjZURlbGltaXRlZFdvcmRzT3RoZXIgPVxyXG4gICAgICAvW1xcdTMwNDEtXFx1MzA5NlxcdTMwOUQtXFx1MzA5RlxcdTMwQTEtXFx1MzBGQVxcdTMwRkMtXFx1MzBGRlxcdTRFMDAtXFx1OUZENV17MX0vXHJcbiAgICAgICAgLnNvdXJjZTtcclxuICBcclxuICAgIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKFxyXG4gICAgICBbXHJcbiAgICAgICAgYCg/OlswLTldKyg/Oig/Oix8XFxcXC4pWzAtOV0rKSp8W1xcXFwtJHtzcGFjZURlbGltaXRlZENoYXJzfV0pK2AsXHJcbiAgICAgICAgbm9uU3BhY2VEZWxpbWl0ZWRXb3JkcyxcclxuICAgICAgICBub25TcGFjZURlbGltaXRlZFdvcmRzT3RoZXIsXHJcbiAgICAgIF0uam9pbihcInxcIiksXHJcbiAgICAgIFwiZ1wiXHJcbiAgICApO1xyXG4gICAgcmV0dXJuICh0ZXh0Lm1hdGNoKHBhdHRlcm4pIHx8IFtdKS5sZW5ndGg7XHJcbiAgfVxyXG4gIFxyXG4gIHN0YXRpYyBnZXRDaGFyYWN0ZXJDb3VudCh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRleHQubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgXHJcbn1cclxuXHJcbiJdLCJuYW1lcyI6WyJQbHVnaW4iLCJTdGF0ZUZpZWxkIiwiRGVjb3JhdGlvbiIsIkVkaXRvclZpZXciXSwibWFwcGluZ3MiOiI7Ozs7OztNQUFhLFNBQVM7SUFHcEIsWUFBWSxXQUF3QjtRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztLQUNoQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2hDOzs7TUNPa0IsZUFBZ0IsU0FBUUEsZUFBTTs7Ozs7Ozs7Ozs7SUFjakQsTUFBTTtRQUNKLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNEUxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFzQkQsaUJBQWlCO1FBRWYsTUFBTSxZQUFZLEdBQUdDLGdCQUFVLENBQUMsTUFBTSxDQUFnQjtZQUNwRCxNQUFNLENBQUMsS0FBa0I7Z0JBQ3ZCLE9BQVFDLGVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDekI7WUFDRCxNQUFNLENBQUMsT0FBc0IsRUFBRSxFQUFlO2dCQUM1QyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZDLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRTtvQkFDbkIsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7d0JBQ3JCLElBQUksR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQztxQkFDckM7aUJBQ0Y7cUJBQU07b0JBQ0wsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ25FLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO3dCQUNyQixJQUFJLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUM7cUJBQ3JDO2lCQUNGO2dCQUVELGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRXRDLE9BQU8sT0FBTyxDQUFDO2FBQ2hCO1lBRUQsT0FBTyxFQUFFLENBQUMsQ0FBTSxLQUFLQyxlQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDcEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzVDO0lBRUQsT0FBTyxlQUFlLENBQUMsSUFBWTtRQUNqQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssVUFBVSxLQUFLLGFBQWEsQ0FBQyxDQUFDO0tBQ2xFO0lBRUQsT0FBTyxZQUFZLENBQUMsSUFBWTtRQUM5QixNQUFNLG1CQUFtQixHQUN2QixnbUlBQWdtSTthQUM3bEksTUFBTSxDQUFDO1FBQ1osTUFBTSxzQkFBc0IsR0FDMUIsbUVBQW1FLENBQUMsTUFBTSxDQUFDO1FBRTdFLE1BQU0sMkJBQTJCLEdBQy9CLHdFQUF3RTthQUNyRSxNQUFNLENBQUM7UUFFWixNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FDeEI7WUFDRSxxQ0FBcUMsbUJBQW1CLEtBQUs7WUFDN0Qsc0JBQXNCO1lBQ3RCLDJCQUEyQjtTQUM1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDWCxHQUFHLENBQ0osQ0FBQztRQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUM7S0FDM0M7SUFFRCxPQUFPLGlCQUFpQixDQUFDLElBQVk7UUFDbkMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0tBQ3BCOzs7OzsifQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsiLi4vbm9kZV9tb2R1bGVzL3N2ZWx0ZS9pbnRlcm5hbC9pbmRleC5tanMiLCIuLi9zcmMvc2V0dGluZ3MvU2V0dGluZ3MudHMiLCIuLi9zcmMvc2V0dGluZ3MvU3RhdHVzQmFyU2V0dGluZ3Muc3ZlbHRlIiwiLi4vc3JjL3NldHRpbmdzL1N0YXR1c0JhclNldHRpbmdzLnRzIiwiLi4vc3JjL3NldHRpbmdzL1NldHRpbmdzVGFiLnRzIiwiLi4vc3JjL2NvbnN0YW50cy50cyIsIi4uL25vZGVfbW9kdWxlcy9tb21lbnQvbW9tZW50LmpzIiwiLi4vc3JjL3V0aWxzL1N0YXRVdGlscy50cyIsIi4uL3NyYy9zdGF0cy9TdGF0c01hbmFnZXIudHMiLCIuLi9zcmMvc3RhdHVzL1N0YXR1c0Jhci50cyIsIi4uL3NyYy9lZGl0b3IvRWRpdG9yUGx1Z2luLnRzIiwiLi4vc3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gbm9vcCgpIHsgfVxuY29uc3QgaWRlbnRpdHkgPSB4ID0+IHg7XG5mdW5jdGlvbiBhc3NpZ24odGFyLCBzcmMpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZm9yIChjb25zdCBrIGluIHNyYylcbiAgICAgICAgdGFyW2tdID0gc3JjW2tdO1xuICAgIHJldHVybiB0YXI7XG59XG5mdW5jdGlvbiBpc19wcm9taXNlKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbic7XG59XG5mdW5jdGlvbiBhZGRfbG9jYXRpb24oZWxlbWVudCwgZmlsZSwgbGluZSwgY29sdW1uLCBjaGFyKSB7XG4gICAgZWxlbWVudC5fX3N2ZWx0ZV9tZXRhID0ge1xuICAgICAgICBsb2M6IHsgZmlsZSwgbGluZSwgY29sdW1uLCBjaGFyIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gcnVuKGZuKSB7XG4gICAgcmV0dXJuIGZuKCk7XG59XG5mdW5jdGlvbiBibGFua19vYmplY3QoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbCk7XG59XG5mdW5jdGlvbiBydW5fYWxsKGZucykge1xuICAgIGZucy5mb3JFYWNoKHJ1bik7XG59XG5mdW5jdGlvbiBpc19mdW5jdGlvbih0aGluZykge1xuICAgIHJldHVybiB0eXBlb2YgdGhpbmcgPT09ICdmdW5jdGlvbic7XG59XG5mdW5jdGlvbiBzYWZlX25vdF9lcXVhbChhLCBiKSB7XG4gICAgcmV0dXJuIGEgIT0gYSA/IGIgPT0gYiA6IGEgIT09IGIgfHwgKChhICYmIHR5cGVvZiBhID09PSAnb2JqZWN0JykgfHwgdHlwZW9mIGEgPT09ICdmdW5jdGlvbicpO1xufVxubGV0IHNyY191cmxfZXF1YWxfYW5jaG9yO1xuZnVuY3Rpb24gc3JjX3VybF9lcXVhbChlbGVtZW50X3NyYywgdXJsKSB7XG4gICAgaWYgKCFzcmNfdXJsX2VxdWFsX2FuY2hvcikge1xuICAgICAgICBzcmNfdXJsX2VxdWFsX2FuY2hvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICB9XG4gICAgc3JjX3VybF9lcXVhbF9hbmNob3IuaHJlZiA9IHVybDtcbiAgICByZXR1cm4gZWxlbWVudF9zcmMgPT09IHNyY191cmxfZXF1YWxfYW5jaG9yLmhyZWY7XG59XG5mdW5jdGlvbiBub3RfZXF1YWwoYSwgYikge1xuICAgIHJldHVybiBhICE9IGEgPyBiID09IGIgOiBhICE9PSBiO1xufVxuZnVuY3Rpb24gaXNfZW1wdHkob2JqKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikubGVuZ3RoID09PSAwO1xufVxuZnVuY3Rpb24gdmFsaWRhdGVfc3RvcmUoc3RvcmUsIG5hbWUpIHtcbiAgICBpZiAoc3RvcmUgIT0gbnVsbCAmJiB0eXBlb2Ygc3RvcmUuc3Vic2NyaWJlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7bmFtZX0nIGlzIG5vdCBhIHN0b3JlIHdpdGggYSAnc3Vic2NyaWJlJyBtZXRob2RgKTtcbiAgICB9XG59XG5mdW5jdGlvbiBzdWJzY3JpYmUoc3RvcmUsIC4uLmNhbGxiYWNrcykge1xuICAgIGlmIChzdG9yZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBub29wO1xuICAgIH1cbiAgICBjb25zdCB1bnN1YiA9IHN0b3JlLnN1YnNjcmliZSguLi5jYWxsYmFja3MpO1xuICAgIHJldHVybiB1bnN1Yi51bnN1YnNjcmliZSA/ICgpID0+IHVuc3ViLnVuc3Vic2NyaWJlKCkgOiB1bnN1Yjtcbn1cbmZ1bmN0aW9uIGdldF9zdG9yZV92YWx1ZShzdG9yZSkge1xuICAgIGxldCB2YWx1ZTtcbiAgICBzdWJzY3JpYmUoc3RvcmUsIF8gPT4gdmFsdWUgPSBfKSgpO1xuICAgIHJldHVybiB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGNvbXBvbmVudF9zdWJzY3JpYmUoY29tcG9uZW50LCBzdG9yZSwgY2FsbGJhY2spIHtcbiAgICBjb21wb25lbnQuJCQub25fZGVzdHJveS5wdXNoKHN1YnNjcmliZShzdG9yZSwgY2FsbGJhY2spKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZV9zbG90KGRlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgZm4pIHtcbiAgICBpZiAoZGVmaW5pdGlvbikge1xuICAgICAgICBjb25zdCBzbG90X2N0eCA9IGdldF9zbG90X2NvbnRleHQoZGVmaW5pdGlvbiwgY3R4LCAkJHNjb3BlLCBmbik7XG4gICAgICAgIHJldHVybiBkZWZpbml0aW9uWzBdKHNsb3RfY3R4KTtcbiAgICB9XG59XG5mdW5jdGlvbiBnZXRfc2xvdF9jb250ZXh0KGRlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgZm4pIHtcbiAgICByZXR1cm4gZGVmaW5pdGlvblsxXSAmJiBmblxuICAgICAgICA/IGFzc2lnbigkJHNjb3BlLmN0eC5zbGljZSgpLCBkZWZpbml0aW9uWzFdKGZuKGN0eCkpKVxuICAgICAgICA6ICQkc2NvcGUuY3R4O1xufVxuZnVuY3Rpb24gZ2V0X3Nsb3RfY2hhbmdlcyhkZWZpbml0aW9uLCAkJHNjb3BlLCBkaXJ0eSwgZm4pIHtcbiAgICBpZiAoZGVmaW5pdGlvblsyXSAmJiBmbikge1xuICAgICAgICBjb25zdCBsZXRzID0gZGVmaW5pdGlvblsyXShmbihkaXJ0eSkpO1xuICAgICAgICBpZiAoJCRzY29wZS5kaXJ0eSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGV0cztcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGxldHMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBjb25zdCBtZXJnZWQgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGxlbiA9IE1hdGgubWF4KCQkc2NvcGUuZGlydHkubGVuZ3RoLCBsZXRzLmxlbmd0aCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICAgICAgICAgICAgbWVyZ2VkW2ldID0gJCRzY29wZS5kaXJ0eVtpXSB8IGxldHNbaV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2VkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAkJHNjb3BlLmRpcnR5IHwgbGV0cztcbiAgICB9XG4gICAgcmV0dXJuICQkc2NvcGUuZGlydHk7XG59XG5mdW5jdGlvbiB1cGRhdGVfc2xvdF9iYXNlKHNsb3QsIHNsb3RfZGVmaW5pdGlvbiwgY3R4LCAkJHNjb3BlLCBzbG90X2NoYW5nZXMsIGdldF9zbG90X2NvbnRleHRfZm4pIHtcbiAgICBpZiAoc2xvdF9jaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IHNsb3RfY29udGV4dCA9IGdldF9zbG90X2NvbnRleHQoc2xvdF9kZWZpbml0aW9uLCBjdHgsICQkc2NvcGUsIGdldF9zbG90X2NvbnRleHRfZm4pO1xuICAgICAgICBzbG90LnAoc2xvdF9jb250ZXh0LCBzbG90X2NoYW5nZXMpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHVwZGF0ZV9zbG90KHNsb3QsIHNsb3RfZGVmaW5pdGlvbiwgY3R4LCAkJHNjb3BlLCBkaXJ0eSwgZ2V0X3Nsb3RfY2hhbmdlc19mbiwgZ2V0X3Nsb3RfY29udGV4dF9mbikge1xuICAgIGNvbnN0IHNsb3RfY2hhbmdlcyA9IGdldF9zbG90X2NoYW5nZXMoc2xvdF9kZWZpbml0aW9uLCAkJHNjb3BlLCBkaXJ0eSwgZ2V0X3Nsb3RfY2hhbmdlc19mbik7XG4gICAgdXBkYXRlX3Nsb3RfYmFzZShzbG90LCBzbG90X2RlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgc2xvdF9jaGFuZ2VzLCBnZXRfc2xvdF9jb250ZXh0X2ZuKTtcbn1cbmZ1bmN0aW9uIGdldF9hbGxfZGlydHlfZnJvbV9zY29wZSgkJHNjb3BlKSB7XG4gICAgaWYgKCQkc2NvcGUuY3R4Lmxlbmd0aCA+IDMyKSB7XG4gICAgICAgIGNvbnN0IGRpcnR5ID0gW107XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9ICQkc2NvcGUuY3R4Lmxlbmd0aCAvIDMyO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBkaXJ0eVtpXSA9IC0xO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXJ0eTtcbiAgICB9XG4gICAgcmV0dXJuIC0xO1xufVxuZnVuY3Rpb24gZXhjbHVkZV9pbnRlcm5hbF9wcm9wcyhwcm9wcykge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBpbiBwcm9wcylcbiAgICAgICAgaWYgKGtbMF0gIT09ICckJylcbiAgICAgICAgICAgIHJlc3VsdFtrXSA9IHByb3BzW2tdO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBjb21wdXRlX3Jlc3RfcHJvcHMocHJvcHMsIGtleXMpIHtcbiAgICBjb25zdCByZXN0ID0ge307XG4gICAga2V5cyA9IG5ldyBTZXQoa2V5cyk7XG4gICAgZm9yIChjb25zdCBrIGluIHByb3BzKVxuICAgICAgICBpZiAoIWtleXMuaGFzKGspICYmIGtbMF0gIT09ICckJylcbiAgICAgICAgICAgIHJlc3Rba10gPSBwcm9wc1trXTtcbiAgICByZXR1cm4gcmVzdDtcbn1cbmZ1bmN0aW9uIGNvbXB1dGVfc2xvdHMoc2xvdHMpIHtcbiAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzbG90cykge1xuICAgICAgICByZXN1bHRba2V5XSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBvbmNlKGZuKSB7XG4gICAgbGV0IHJhbiA9IGZhbHNlO1xuICAgIHJldHVybiBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICBpZiAocmFuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICByYW4gPSB0cnVlO1xuICAgICAgICBmbi5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuICAgIH07XG59XG5mdW5jdGlvbiBudWxsX3RvX2VtcHR5KHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlID09IG51bGwgPyAnJyA6IHZhbHVlO1xufVxuZnVuY3Rpb24gc2V0X3N0b3JlX3ZhbHVlKHN0b3JlLCByZXQsIHZhbHVlKSB7XG4gICAgc3RvcmUuc2V0KHZhbHVlKTtcbiAgICByZXR1cm4gcmV0O1xufVxuY29uc3QgaGFzX3Byb3AgPSAob2JqLCBwcm9wKSA9PiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKTtcbmZ1bmN0aW9uIGFjdGlvbl9kZXN0cm95ZXIoYWN0aW9uX3Jlc3VsdCkge1xuICAgIHJldHVybiBhY3Rpb25fcmVzdWx0ICYmIGlzX2Z1bmN0aW9uKGFjdGlvbl9yZXN1bHQuZGVzdHJveSkgPyBhY3Rpb25fcmVzdWx0LmRlc3Ryb3kgOiBub29wO1xufVxuXG5jb25zdCBpc19jbGllbnQgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztcbmxldCBub3cgPSBpc19jbGllbnRcbiAgICA/ICgpID0+IHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKVxuICAgIDogKCkgPT4gRGF0ZS5ub3coKTtcbmxldCByYWYgPSBpc19jbGllbnQgPyBjYiA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2IpIDogbm9vcDtcbi8vIHVzZWQgaW50ZXJuYWxseSBmb3IgdGVzdGluZ1xuZnVuY3Rpb24gc2V0X25vdyhmbikge1xuICAgIG5vdyA9IGZuO1xufVxuZnVuY3Rpb24gc2V0X3JhZihmbikge1xuICAgIHJhZiA9IGZuO1xufVxuXG5jb25zdCB0YXNrcyA9IG5ldyBTZXQoKTtcbmZ1bmN0aW9uIHJ1bl90YXNrcyhub3cpIHtcbiAgICB0YXNrcy5mb3JFYWNoKHRhc2sgPT4ge1xuICAgICAgICBpZiAoIXRhc2suYyhub3cpKSB7XG4gICAgICAgICAgICB0YXNrcy5kZWxldGUodGFzayk7XG4gICAgICAgICAgICB0YXNrLmYoKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0YXNrcy5zaXplICE9PSAwKVxuICAgICAgICByYWYocnVuX3Rhc2tzKTtcbn1cbi8qKlxuICogRm9yIHRlc3RpbmcgcHVycG9zZXMgb25seSFcbiAqL1xuZnVuY3Rpb24gY2xlYXJfbG9vcHMoKSB7XG4gICAgdGFza3MuY2xlYXIoKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyB0YXNrIHRoYXQgcnVucyBvbiBlYWNoIHJhZiBmcmFtZVxuICogdW50aWwgaXQgcmV0dXJucyBhIGZhbHN5IHZhbHVlIG9yIGlzIGFib3J0ZWRcbiAqL1xuZnVuY3Rpb24gbG9vcChjYWxsYmFjaykge1xuICAgIGxldCB0YXNrO1xuICAgIGlmICh0YXNrcy5zaXplID09PSAwKVxuICAgICAgICByYWYocnVuX3Rhc2tzKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm9taXNlOiBuZXcgUHJvbWlzZShmdWxmaWxsID0+IHtcbiAgICAgICAgICAgIHRhc2tzLmFkZCh0YXNrID0geyBjOiBjYWxsYmFjaywgZjogZnVsZmlsbCB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIGFib3J0KCkge1xuICAgICAgICAgICAgdGFza3MuZGVsZXRlKHRhc2spO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuLy8gVHJhY2sgd2hpY2ggbm9kZXMgYXJlIGNsYWltZWQgZHVyaW5nIGh5ZHJhdGlvbi4gVW5jbGFpbWVkIG5vZGVzIGNhbiB0aGVuIGJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NXG4vLyBhdCB0aGUgZW5kIG9mIGh5ZHJhdGlvbiB3aXRob3V0IHRvdWNoaW5nIHRoZSByZW1haW5pbmcgbm9kZXMuXG5sZXQgaXNfaHlkcmF0aW5nID0gZmFsc2U7XG5mdW5jdGlvbiBzdGFydF9oeWRyYXRpbmcoKSB7XG4gICAgaXNfaHlkcmF0aW5nID0gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGVuZF9oeWRyYXRpbmcoKSB7XG4gICAgaXNfaHlkcmF0aW5nID0gZmFsc2U7XG59XG5mdW5jdGlvbiB1cHBlcl9ib3VuZChsb3csIGhpZ2gsIGtleSwgdmFsdWUpIHtcbiAgICAvLyBSZXR1cm4gZmlyc3QgaW5kZXggb2YgdmFsdWUgbGFyZ2VyIHRoYW4gaW5wdXQgdmFsdWUgaW4gdGhlIHJhbmdlIFtsb3csIGhpZ2gpXG4gICAgd2hpbGUgKGxvdyA8IGhpZ2gpIHtcbiAgICAgICAgY29uc3QgbWlkID0gbG93ICsgKChoaWdoIC0gbG93KSA+PiAxKTtcbiAgICAgICAgaWYgKGtleShtaWQpIDw9IHZhbHVlKSB7XG4gICAgICAgICAgICBsb3cgPSBtaWQgKyAxO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaGlnaCA9IG1pZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbG93O1xufVxuZnVuY3Rpb24gaW5pdF9oeWRyYXRlKHRhcmdldCkge1xuICAgIGlmICh0YXJnZXQuaHlkcmF0ZV9pbml0KVxuICAgICAgICByZXR1cm47XG4gICAgdGFyZ2V0Lmh5ZHJhdGVfaW5pdCA9IHRydWU7XG4gICAgLy8gV2Uga25vdyB0aGF0IGFsbCBjaGlsZHJlbiBoYXZlIGNsYWltX29yZGVyIHZhbHVlcyBzaW5jZSB0aGUgdW5jbGFpbWVkIGhhdmUgYmVlbiBkZXRhY2hlZCBpZiB0YXJnZXQgaXMgbm90IDxoZWFkPlxuICAgIGxldCBjaGlsZHJlbiA9IHRhcmdldC5jaGlsZE5vZGVzO1xuICAgIC8vIElmIHRhcmdldCBpcyA8aGVhZD4sIHRoZXJlIG1heSBiZSBjaGlsZHJlbiB3aXRob3V0IGNsYWltX29yZGVyXG4gICAgaWYgKHRhcmdldC5ub2RlTmFtZSA9PT0gJ0hFQUQnKSB7XG4gICAgICAgIGNvbnN0IG15Q2hpbGRyZW4gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKG5vZGUuY2xhaW1fb3JkZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIG15Q2hpbGRyZW4ucHVzaChub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjaGlsZHJlbiA9IG15Q2hpbGRyZW47XG4gICAgfVxuICAgIC8qXG4gICAgKiBSZW9yZGVyIGNsYWltZWQgY2hpbGRyZW4gb3B0aW1hbGx5LlxuICAgICogV2UgY2FuIHJlb3JkZXIgY2xhaW1lZCBjaGlsZHJlbiBvcHRpbWFsbHkgYnkgZmluZGluZyB0aGUgbG9uZ2VzdCBzdWJzZXF1ZW5jZSBvZlxuICAgICogbm9kZXMgdGhhdCBhcmUgYWxyZWFkeSBjbGFpbWVkIGluIG9yZGVyIGFuZCBvbmx5IG1vdmluZyB0aGUgcmVzdC4gVGhlIGxvbmdlc3RcbiAgICAqIHN1YnNlcXVlbmNlIG9mIG5vZGVzIHRoYXQgYXJlIGNsYWltZWQgaW4gb3JkZXIgY2FuIGJlIGZvdW5kIGJ5XG4gICAgKiBjb21wdXRpbmcgdGhlIGxvbmdlc3QgaW5jcmVhc2luZyBzdWJzZXF1ZW5jZSBvZiAuY2xhaW1fb3JkZXIgdmFsdWVzLlxuICAgICpcbiAgICAqIFRoaXMgYWxnb3JpdGhtIGlzIG9wdGltYWwgaW4gZ2VuZXJhdGluZyB0aGUgbGVhc3QgYW1vdW50IG9mIHJlb3JkZXIgb3BlcmF0aW9uc1xuICAgICogcG9zc2libGUuXG4gICAgKlxuICAgICogUHJvb2Y6XG4gICAgKiBXZSBrbm93IHRoYXQsIGdpdmVuIGEgc2V0IG9mIHJlb3JkZXJpbmcgb3BlcmF0aW9ucywgdGhlIG5vZGVzIHRoYXQgZG8gbm90IG1vdmVcbiAgICAqIGFsd2F5cyBmb3JtIGFuIGluY3JlYXNpbmcgc3Vic2VxdWVuY2UsIHNpbmNlIHRoZXkgZG8gbm90IG1vdmUgYW1vbmcgZWFjaCBvdGhlclxuICAgICogbWVhbmluZyB0aGF0IHRoZXkgbXVzdCBiZSBhbHJlYWR5IG9yZGVyZWQgYW1vbmcgZWFjaCBvdGhlci4gVGh1cywgdGhlIG1heGltYWxcbiAgICAqIHNldCBvZiBub2RlcyB0aGF0IGRvIG5vdCBtb3ZlIGZvcm0gYSBsb25nZXN0IGluY3JlYXNpbmcgc3Vic2VxdWVuY2UuXG4gICAgKi9cbiAgICAvLyBDb21wdXRlIGxvbmdlc3QgaW5jcmVhc2luZyBzdWJzZXF1ZW5jZVxuICAgIC8vIG06IHN1YnNlcXVlbmNlIGxlbmd0aCBqID0+IGluZGV4IGsgb2Ygc21hbGxlc3QgdmFsdWUgdGhhdCBlbmRzIGFuIGluY3JlYXNpbmcgc3Vic2VxdWVuY2Ugb2YgbGVuZ3RoIGpcbiAgICBjb25zdCBtID0gbmV3IEludDMyQXJyYXkoY2hpbGRyZW4ubGVuZ3RoICsgMSk7XG4gICAgLy8gUHJlZGVjZXNzb3IgaW5kaWNlcyArIDFcbiAgICBjb25zdCBwID0gbmV3IEludDMyQXJyYXkoY2hpbGRyZW4ubGVuZ3RoKTtcbiAgICBtWzBdID0gLTE7XG4gICAgbGV0IGxvbmdlc3QgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IGNoaWxkcmVuW2ldLmNsYWltX29yZGVyO1xuICAgICAgICAvLyBGaW5kIHRoZSBsYXJnZXN0IHN1YnNlcXVlbmNlIGxlbmd0aCBzdWNoIHRoYXQgaXQgZW5kcyBpbiBhIHZhbHVlIGxlc3MgdGhhbiBvdXIgY3VycmVudCB2YWx1ZVxuICAgICAgICAvLyB1cHBlcl9ib3VuZCByZXR1cm5zIGZpcnN0IGdyZWF0ZXIgdmFsdWUsIHNvIHdlIHN1YnRyYWN0IG9uZVxuICAgICAgICAvLyB3aXRoIGZhc3QgcGF0aCBmb3Igd2hlbiB3ZSBhcmUgb24gdGhlIGN1cnJlbnQgbG9uZ2VzdCBzdWJzZXF1ZW5jZVxuICAgICAgICBjb25zdCBzZXFMZW4gPSAoKGxvbmdlc3QgPiAwICYmIGNoaWxkcmVuW21bbG9uZ2VzdF1dLmNsYWltX29yZGVyIDw9IGN1cnJlbnQpID8gbG9uZ2VzdCArIDEgOiB1cHBlcl9ib3VuZCgxLCBsb25nZXN0LCBpZHggPT4gY2hpbGRyZW5bbVtpZHhdXS5jbGFpbV9vcmRlciwgY3VycmVudCkpIC0gMTtcbiAgICAgICAgcFtpXSA9IG1bc2VxTGVuXSArIDE7XG4gICAgICAgIGNvbnN0IG5ld0xlbiA9IHNlcUxlbiArIDE7XG4gICAgICAgIC8vIFdlIGNhbiBndWFyYW50ZWUgdGhhdCBjdXJyZW50IGlzIHRoZSBzbWFsbGVzdCB2YWx1ZS4gT3RoZXJ3aXNlLCB3ZSB3b3VsZCBoYXZlIGdlbmVyYXRlZCBhIGxvbmdlciBzZXF1ZW5jZS5cbiAgICAgICAgbVtuZXdMZW5dID0gaTtcbiAgICAgICAgbG9uZ2VzdCA9IE1hdGgubWF4KG5ld0xlbiwgbG9uZ2VzdCk7XG4gICAgfVxuICAgIC8vIFRoZSBsb25nZXN0IGluY3JlYXNpbmcgc3Vic2VxdWVuY2Ugb2Ygbm9kZXMgKGluaXRpYWxseSByZXZlcnNlZClcbiAgICBjb25zdCBsaXMgPSBbXTtcbiAgICAvLyBUaGUgcmVzdCBvZiB0aGUgbm9kZXMsIG5vZGVzIHRoYXQgd2lsbCBiZSBtb3ZlZFxuICAgIGNvbnN0IHRvTW92ZSA9IFtdO1xuICAgIGxldCBsYXN0ID0gY2hpbGRyZW4ubGVuZ3RoIC0gMTtcbiAgICBmb3IgKGxldCBjdXIgPSBtW2xvbmdlc3RdICsgMTsgY3VyICE9IDA7IGN1ciA9IHBbY3VyIC0gMV0pIHtcbiAgICAgICAgbGlzLnB1c2goY2hpbGRyZW5bY3VyIC0gMV0pO1xuICAgICAgICBmb3IgKDsgbGFzdCA+PSBjdXI7IGxhc3QtLSkge1xuICAgICAgICAgICAgdG9Nb3ZlLnB1c2goY2hpbGRyZW5bbGFzdF0pO1xuICAgICAgICB9XG4gICAgICAgIGxhc3QtLTtcbiAgICB9XG4gICAgZm9yICg7IGxhc3QgPj0gMDsgbGFzdC0tKSB7XG4gICAgICAgIHRvTW92ZS5wdXNoKGNoaWxkcmVuW2xhc3RdKTtcbiAgICB9XG4gICAgbGlzLnJldmVyc2UoKTtcbiAgICAvLyBXZSBzb3J0IHRoZSBub2RlcyBiZWluZyBtb3ZlZCB0byBndWFyYW50ZWUgdGhhdCB0aGVpciBpbnNlcnRpb24gb3JkZXIgbWF0Y2hlcyB0aGUgY2xhaW0gb3JkZXJcbiAgICB0b01vdmUuc29ydCgoYSwgYikgPT4gYS5jbGFpbV9vcmRlciAtIGIuY2xhaW1fb3JkZXIpO1xuICAgIC8vIEZpbmFsbHksIHdlIG1vdmUgdGhlIG5vZGVzXG4gICAgZm9yIChsZXQgaSA9IDAsIGogPSAwOyBpIDwgdG9Nb3ZlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHdoaWxlIChqIDwgbGlzLmxlbmd0aCAmJiB0b01vdmVbaV0uY2xhaW1fb3JkZXIgPj0gbGlzW2pdLmNsYWltX29yZGVyKSB7XG4gICAgICAgICAgICBqKys7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYW5jaG9yID0gaiA8IGxpcy5sZW5ndGggPyBsaXNbal0gOiBudWxsO1xuICAgICAgICB0YXJnZXQuaW5zZXJ0QmVmb3JlKHRvTW92ZVtpXSwgYW5jaG9yKTtcbiAgICB9XG59XG5mdW5jdGlvbiBhcHBlbmQodGFyZ2V0LCBub2RlKSB7XG4gICAgdGFyZ2V0LmFwcGVuZENoaWxkKG5vZGUpO1xufVxuZnVuY3Rpb24gYXBwZW5kX3N0eWxlcyh0YXJnZXQsIHN0eWxlX3NoZWV0X2lkLCBzdHlsZXMpIHtcbiAgICBjb25zdCBhcHBlbmRfc3R5bGVzX3RvID0gZ2V0X3Jvb3RfZm9yX3N0eWxlKHRhcmdldCk7XG4gICAgaWYgKCFhcHBlbmRfc3R5bGVzX3RvLmdldEVsZW1lbnRCeUlkKHN0eWxlX3NoZWV0X2lkKSkge1xuICAgICAgICBjb25zdCBzdHlsZSA9IGVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgIHN0eWxlLmlkID0gc3R5bGVfc2hlZXRfaWQ7XG4gICAgICAgIHN0eWxlLnRleHRDb250ZW50ID0gc3R5bGVzO1xuICAgICAgICBhcHBlbmRfc3R5bGVzaGVldChhcHBlbmRfc3R5bGVzX3RvLCBzdHlsZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0X3Jvb3RfZm9yX3N0eWxlKG5vZGUpIHtcbiAgICBpZiAoIW5vZGUpXG4gICAgICAgIHJldHVybiBkb2N1bWVudDtcbiAgICBjb25zdCByb290ID0gbm9kZS5nZXRSb290Tm9kZSA/IG5vZGUuZ2V0Um9vdE5vZGUoKSA6IG5vZGUub3duZXJEb2N1bWVudDtcbiAgICBpZiAocm9vdCAmJiByb290Lmhvc3QpIHtcbiAgICAgICAgcmV0dXJuIHJvb3Q7XG4gICAgfVxuICAgIHJldHVybiBub2RlLm93bmVyRG9jdW1lbnQ7XG59XG5mdW5jdGlvbiBhcHBlbmRfZW1wdHlfc3R5bGVzaGVldChub2RlKSB7XG4gICAgY29uc3Qgc3R5bGVfZWxlbWVudCA9IGVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgYXBwZW5kX3N0eWxlc2hlZXQoZ2V0X3Jvb3RfZm9yX3N0eWxlKG5vZGUpLCBzdHlsZV9lbGVtZW50KTtcbiAgICByZXR1cm4gc3R5bGVfZWxlbWVudC5zaGVldDtcbn1cbmZ1bmN0aW9uIGFwcGVuZF9zdHlsZXNoZWV0KG5vZGUsIHN0eWxlKSB7XG4gICAgYXBwZW5kKG5vZGUuaGVhZCB8fCBub2RlLCBzdHlsZSk7XG4gICAgcmV0dXJuIHN0eWxlLnNoZWV0O1xufVxuZnVuY3Rpb24gYXBwZW5kX2h5ZHJhdGlvbih0YXJnZXQsIG5vZGUpIHtcbiAgICBpZiAoaXNfaHlkcmF0aW5nKSB7XG4gICAgICAgIGluaXRfaHlkcmF0ZSh0YXJnZXQpO1xuICAgICAgICBpZiAoKHRhcmdldC5hY3R1YWxfZW5kX2NoaWxkID09PSB1bmRlZmluZWQpIHx8ICgodGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgIT09IG51bGwpICYmICh0YXJnZXQuYWN0dWFsX2VuZF9jaGlsZC5wYXJlbnROb2RlICE9PSB0YXJnZXQpKSkge1xuICAgICAgICAgICAgdGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgPSB0YXJnZXQuZmlyc3RDaGlsZDtcbiAgICAgICAgfVxuICAgICAgICAvLyBTa2lwIG5vZGVzIG9mIHVuZGVmaW5lZCBvcmRlcmluZ1xuICAgICAgICB3aGlsZSAoKHRhcmdldC5hY3R1YWxfZW5kX2NoaWxkICE9PSBudWxsKSAmJiAodGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQuY2xhaW1fb3JkZXIgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5hY3R1YWxfZW5kX2NoaWxkID0gdGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQubmV4dFNpYmxpbmc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUgIT09IHRhcmdldC5hY3R1YWxfZW5kX2NoaWxkKSB7XG4gICAgICAgICAgICAvLyBXZSBvbmx5IGluc2VydCBpZiB0aGUgb3JkZXJpbmcgb2YgdGhpcyBub2RlIHNob3VsZCBiZSBtb2RpZmllZCBvciB0aGUgcGFyZW50IG5vZGUgaXMgbm90IHRhcmdldFxuICAgICAgICAgICAgaWYgKG5vZGUuY2xhaW1fb3JkZXIgIT09IHVuZGVmaW5lZCB8fCBub2RlLnBhcmVudE5vZGUgIT09IHRhcmdldCkge1xuICAgICAgICAgICAgICAgIHRhcmdldC5pbnNlcnRCZWZvcmUobm9kZSwgdGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgPSBub2RlLm5leHRTaWJsaW5nO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKG5vZGUucGFyZW50Tm9kZSAhPT0gdGFyZ2V0IHx8IG5vZGUubmV4dFNpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgdGFyZ2V0LmFwcGVuZENoaWxkKG5vZGUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGluc2VydCh0YXJnZXQsIG5vZGUsIGFuY2hvcikge1xuICAgIHRhcmdldC5pbnNlcnRCZWZvcmUobm9kZSwgYW5jaG9yIHx8IG51bGwpO1xufVxuZnVuY3Rpb24gaW5zZXJ0X2h5ZHJhdGlvbih0YXJnZXQsIG5vZGUsIGFuY2hvcikge1xuICAgIGlmIChpc19oeWRyYXRpbmcgJiYgIWFuY2hvcikge1xuICAgICAgICBhcHBlbmRfaHlkcmF0aW9uKHRhcmdldCwgbm9kZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKG5vZGUucGFyZW50Tm9kZSAhPT0gdGFyZ2V0IHx8IG5vZGUubmV4dFNpYmxpbmcgIT0gYW5jaG9yKSB7XG4gICAgICAgIHRhcmdldC5pbnNlcnRCZWZvcmUobm9kZSwgYW5jaG9yIHx8IG51bGwpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGRldGFjaChub2RlKSB7XG4gICAgaWYgKG5vZGUucGFyZW50Tm9kZSkge1xuICAgICAgICBub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gZGVzdHJveV9lYWNoKGl0ZXJhdGlvbnMsIGRldGFjaGluZykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlcmF0aW9ucy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBpZiAoaXRlcmF0aW9uc1tpXSlcbiAgICAgICAgICAgIGl0ZXJhdGlvbnNbaV0uZChkZXRhY2hpbmcpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGVsZW1lbnQobmFtZSkge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG5hbWUpO1xufVxuZnVuY3Rpb24gZWxlbWVudF9pcyhuYW1lLCBpcykge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG5hbWUsIHsgaXMgfSk7XG59XG5mdW5jdGlvbiBvYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzKG9iaiwgZXhjbHVkZSkge1xuICAgIGNvbnN0IHRhcmdldCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBpbiBvYmopIHtcbiAgICAgICAgaWYgKGhhc19wcm9wKG9iaiwgaylcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICYmIGV4Y2x1ZGUuaW5kZXhPZihrKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRhcmdldFtrXSA9IG9ialtrXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xufVxuZnVuY3Rpb24gc3ZnX2VsZW1lbnQobmFtZSkge1xuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgbmFtZSk7XG59XG5mdW5jdGlvbiB0ZXh0KGRhdGEpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZGF0YSk7XG59XG5mdW5jdGlvbiBzcGFjZSgpIHtcbiAgICByZXR1cm4gdGV4dCgnICcpO1xufVxuZnVuY3Rpb24gZW1wdHkoKSB7XG4gICAgcmV0dXJuIHRleHQoJycpO1xufVxuZnVuY3Rpb24gbGlzdGVuKG5vZGUsIGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKSB7XG4gICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKTtcbiAgICByZXR1cm4gKCkgPT4gbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKTtcbn1cbmZ1bmN0aW9uIHByZXZlbnRfZGVmYXVsdChmbikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCBldmVudCk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHN0b3BfcHJvcGFnYXRpb24oZm4pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiBmbi5jYWxsKHRoaXMsIGV2ZW50KTtcbiAgICB9O1xufVxuZnVuY3Rpb24gc2VsZihmbikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSB0aGlzKVxuICAgICAgICAgICAgZm4uY2FsbCh0aGlzLCBldmVudCk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHRydXN0ZWQoZm4pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKGV2ZW50LmlzVHJ1c3RlZClcbiAgICAgICAgICAgIGZuLmNhbGwodGhpcywgZXZlbnQpO1xuICAgIH07XG59XG5mdW5jdGlvbiBhdHRyKG5vZGUsIGF0dHJpYnV0ZSwgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbClcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICBlbHNlIGlmIChub2RlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpICE9PSB2YWx1ZSlcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7XG59XG5mdW5jdGlvbiBzZXRfYXR0cmlidXRlcyhub2RlLCBhdHRyaWJ1dGVzKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGRlc2NyaXB0b3JzID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobm9kZS5fX3Byb3RvX18pO1xuICAgIGZvciAoY29uc3Qga2V5IGluIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZXNba2V5XSA9PSBudWxsKSB7XG4gICAgICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGtleSA9PT0gJ3N0eWxlJykge1xuICAgICAgICAgICAgbm9kZS5zdHlsZS5jc3NUZXh0ID0gYXR0cmlidXRlc1trZXldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGtleSA9PT0gJ19fdmFsdWUnKSB7XG4gICAgICAgICAgICBub2RlLnZhbHVlID0gbm9kZVtrZXldID0gYXR0cmlidXRlc1trZXldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGRlc2NyaXB0b3JzW2tleV0gJiYgZGVzY3JpcHRvcnNba2V5XS5zZXQpIHtcbiAgICAgICAgICAgIG5vZGVba2V5XSA9IGF0dHJpYnV0ZXNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGF0dHIobm9kZSwga2V5LCBhdHRyaWJ1dGVzW2tleV0pO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gc2V0X3N2Z19hdHRyaWJ1dGVzKG5vZGUsIGF0dHJpYnV0ZXMpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBhdHRyaWJ1dGVzKSB7XG4gICAgICAgIGF0dHIobm9kZSwga2V5LCBhdHRyaWJ1dGVzW2tleV0pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHNldF9jdXN0b21fZWxlbWVudF9kYXRhX21hcChub2RlLCBkYXRhX21hcCkge1xuICAgIE9iamVjdC5rZXlzKGRhdGFfbWFwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgc2V0X2N1c3RvbV9lbGVtZW50X2RhdGEobm9kZSwga2V5LCBkYXRhX21hcFtrZXldKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHNldF9jdXN0b21fZWxlbWVudF9kYXRhKG5vZGUsIHByb3AsIHZhbHVlKSB7XG4gICAgaWYgKHByb3AgaW4gbm9kZSkge1xuICAgICAgICBub2RlW3Byb3BdID0gdHlwZW9mIG5vZGVbcHJvcF0gPT09ICdib29sZWFuJyAmJiB2YWx1ZSA9PT0gJycgPyB0cnVlIDogdmFsdWU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBhdHRyKG5vZGUsIHByb3AsIHZhbHVlKTtcbiAgICB9XG59XG5mdW5jdGlvbiB4bGlua19hdHRyKG5vZGUsIGF0dHJpYnV0ZSwgdmFsdWUpIHtcbiAgICBub2RlLnNldEF0dHJpYnV0ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgYXR0cmlidXRlLCB2YWx1ZSk7XG59XG5mdW5jdGlvbiBnZXRfYmluZGluZ19ncm91cF92YWx1ZShncm91cCwgX192YWx1ZSwgY2hlY2tlZCkge1xuICAgIGNvbnN0IHZhbHVlID0gbmV3IFNldCgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgaWYgKGdyb3VwW2ldLmNoZWNrZWQpXG4gICAgICAgICAgICB2YWx1ZS5hZGQoZ3JvdXBbaV0uX192YWx1ZSk7XG4gICAgfVxuICAgIGlmICghY2hlY2tlZCkge1xuICAgICAgICB2YWx1ZS5kZWxldGUoX192YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBBcnJheS5mcm9tKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIHRvX251bWJlcih2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gJycgPyBudWxsIDogK3ZhbHVlO1xufVxuZnVuY3Rpb24gdGltZV9yYW5nZXNfdG9fYXJyYXkocmFuZ2VzKSB7XG4gICAgY29uc3QgYXJyYXkgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBhcnJheS5wdXNoKHsgc3RhcnQ6IHJhbmdlcy5zdGFydChpKSwgZW5kOiByYW5nZXMuZW5kKGkpIH0pO1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG59XG5mdW5jdGlvbiBjaGlsZHJlbihlbGVtZW50KSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oZWxlbWVudC5jaGlsZE5vZGVzKTtcbn1cbmZ1bmN0aW9uIGluaXRfY2xhaW1faW5mbyhub2Rlcykge1xuICAgIGlmIChub2Rlcy5jbGFpbV9pbmZvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbm9kZXMuY2xhaW1faW5mbyA9IHsgbGFzdF9pbmRleDogMCwgdG90YWxfY2xhaW1lZDogMCB9O1xuICAgIH1cbn1cbmZ1bmN0aW9uIGNsYWltX25vZGUobm9kZXMsIHByZWRpY2F0ZSwgcHJvY2Vzc05vZGUsIGNyZWF0ZU5vZGUsIGRvbnRVcGRhdGVMYXN0SW5kZXggPSBmYWxzZSkge1xuICAgIC8vIFRyeSB0byBmaW5kIG5vZGVzIGluIGFuIG9yZGVyIHN1Y2ggdGhhdCB3ZSBsZW5ndGhlbiB0aGUgbG9uZ2VzdCBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlXG4gICAgaW5pdF9jbGFpbV9pbmZvKG5vZGVzKTtcbiAgICBjb25zdCByZXN1bHROb2RlID0gKCgpID0+IHtcbiAgICAgICAgLy8gV2UgZmlyc3QgdHJ5IHRvIGZpbmQgYW4gZWxlbWVudCBhZnRlciB0aGUgcHJldmlvdXMgb25lXG4gICAgICAgIGZvciAobGV0IGkgPSBub2Rlcy5jbGFpbV9pbmZvLmxhc3RfaW5kZXg7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzW2ldO1xuICAgICAgICAgICAgaWYgKHByZWRpY2F0ZShub2RlKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gcHJvY2Vzc05vZGUobm9kZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlcGxhY2VtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZXNbaV0gPSByZXBsYWNlbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFkb250VXBkYXRlTGFzdEluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGVzLmNsYWltX2luZm8ubGFzdF9pbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE90aGVyd2lzZSwgd2UgdHJ5IHRvIGZpbmQgb25lIGJlZm9yZVxuICAgICAgICAvLyBXZSBpdGVyYXRlIGluIHJldmVyc2Ugc28gdGhhdCB3ZSBkb24ndCBnbyB0b28gZmFyIGJhY2tcbiAgICAgICAgZm9yIChsZXQgaSA9IG5vZGVzLmNsYWltX2luZm8ubGFzdF9pbmRleCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gbm9kZXNbaV07XG4gICAgICAgICAgICBpZiAocHJlZGljYXRlKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSBwcm9jZXNzTm9kZShub2RlKTtcbiAgICAgICAgICAgICAgICBpZiAocmVwbGFjZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBub2Rlcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBub2Rlc1tpXSA9IHJlcGxhY2VtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWRvbnRVcGRhdGVMYXN0SW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZXMuY2xhaW1faW5mby5sYXN0X2luZGV4ID0gaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVwbGFjZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBTaW5jZSB3ZSBzcGxpY2VkIGJlZm9yZSB0aGUgbGFzdF9pbmRleCwgd2UgZGVjcmVhc2UgaXRcbiAgICAgICAgICAgICAgICAgICAgbm9kZXMuY2xhaW1faW5mby5sYXN0X2luZGV4LS07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIElmIHdlIGNhbid0IGZpbmQgYW55IG1hdGNoaW5nIG5vZGUsIHdlIGNyZWF0ZSBhIG5ldyBvbmVcbiAgICAgICAgcmV0dXJuIGNyZWF0ZU5vZGUoKTtcbiAgICB9KSgpO1xuICAgIHJlc3VsdE5vZGUuY2xhaW1fb3JkZXIgPSBub2Rlcy5jbGFpbV9pbmZvLnRvdGFsX2NsYWltZWQ7XG4gICAgbm9kZXMuY2xhaW1faW5mby50b3RhbF9jbGFpbWVkICs9IDE7XG4gICAgcmV0dXJuIHJlc3VsdE5vZGU7XG59XG5mdW5jdGlvbiBjbGFpbV9lbGVtZW50X2Jhc2Uobm9kZXMsIG5hbWUsIGF0dHJpYnV0ZXMsIGNyZWF0ZV9lbGVtZW50KSB7XG4gICAgcmV0dXJuIGNsYWltX25vZGUobm9kZXMsIChub2RlKSA9PiBub2RlLm5vZGVOYW1lID09PSBuYW1lLCAobm9kZSkgPT4ge1xuICAgICAgICBjb25zdCByZW1vdmUgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBub2RlLmF0dHJpYnV0ZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IG5vZGUuYXR0cmlidXRlc1tqXTtcbiAgICAgICAgICAgIGlmICghYXR0cmlidXRlc1thdHRyaWJ1dGUubmFtZV0pIHtcbiAgICAgICAgICAgICAgICByZW1vdmUucHVzaChhdHRyaWJ1dGUubmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVtb3ZlLmZvckVhY2godiA9PiBub2RlLnJlbW92ZUF0dHJpYnV0ZSh2KSk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSwgKCkgPT4gY3JlYXRlX2VsZW1lbnQobmFtZSkpO1xufVxuZnVuY3Rpb24gY2xhaW1fZWxlbWVudChub2RlcywgbmFtZSwgYXR0cmlidXRlcykge1xuICAgIHJldHVybiBjbGFpbV9lbGVtZW50X2Jhc2Uobm9kZXMsIG5hbWUsIGF0dHJpYnV0ZXMsIGVsZW1lbnQpO1xufVxuZnVuY3Rpb24gY2xhaW1fc3ZnX2VsZW1lbnQobm9kZXMsIG5hbWUsIGF0dHJpYnV0ZXMpIHtcbiAgICByZXR1cm4gY2xhaW1fZWxlbWVudF9iYXNlKG5vZGVzLCBuYW1lLCBhdHRyaWJ1dGVzLCBzdmdfZWxlbWVudCk7XG59XG5mdW5jdGlvbiBjbGFpbV90ZXh0KG5vZGVzLCBkYXRhKSB7XG4gICAgcmV0dXJuIGNsYWltX25vZGUobm9kZXMsIChub2RlKSA9PiBub2RlLm5vZGVUeXBlID09PSAzLCAobm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhU3RyID0gJycgKyBkYXRhO1xuICAgICAgICBpZiAobm9kZS5kYXRhLnN0YXJ0c1dpdGgoZGF0YVN0cikpIHtcbiAgICAgICAgICAgIGlmIChub2RlLmRhdGEubGVuZ3RoICE9PSBkYXRhU3RyLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBub2RlLnNwbGl0VGV4dChkYXRhU3RyLmxlbmd0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBub2RlLmRhdGEgPSBkYXRhU3RyO1xuICAgICAgICB9XG4gICAgfSwgKCkgPT4gdGV4dChkYXRhKSwgdHJ1ZSAvLyBUZXh0IG5vZGVzIHNob3VsZCBub3QgdXBkYXRlIGxhc3QgaW5kZXggc2luY2UgaXQgaXMgbGlrZWx5IG5vdCB3b3J0aCBpdCB0byBlbGltaW5hdGUgYW4gaW5jcmVhc2luZyBzdWJzZXF1ZW5jZSBvZiBhY3R1YWwgZWxlbWVudHNcbiAgICApO1xufVxuZnVuY3Rpb24gY2xhaW1fc3BhY2Uobm9kZXMpIHtcbiAgICByZXR1cm4gY2xhaW1fdGV4dChub2RlcywgJyAnKTtcbn1cbmZ1bmN0aW9uIGZpbmRfY29tbWVudChub2RlcywgdGV4dCwgc3RhcnQpIHtcbiAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBub2Rlcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBjb25zdCBub2RlID0gbm9kZXNbaV07XG4gICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSA4IC8qIGNvbW1lbnQgbm9kZSAqLyAmJiBub2RlLnRleHRDb250ZW50LnRyaW0oKSA9PT0gdGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5vZGVzLmxlbmd0aDtcbn1cbmZ1bmN0aW9uIGNsYWltX2h0bWxfdGFnKG5vZGVzLCBpc19zdmcpIHtcbiAgICAvLyBmaW5kIGh0bWwgb3BlbmluZyB0YWdcbiAgICBjb25zdCBzdGFydF9pbmRleCA9IGZpbmRfY29tbWVudChub2RlcywgJ0hUTUxfVEFHX1NUQVJUJywgMCk7XG4gICAgY29uc3QgZW5kX2luZGV4ID0gZmluZF9jb21tZW50KG5vZGVzLCAnSFRNTF9UQUdfRU5EJywgc3RhcnRfaW5kZXgpO1xuICAgIGlmIChzdGFydF9pbmRleCA9PT0gZW5kX2luZGV4KSB7XG4gICAgICAgIHJldHVybiBuZXcgSHRtbFRhZ0h5ZHJhdGlvbih1bmRlZmluZWQsIGlzX3N2Zyk7XG4gICAgfVxuICAgIGluaXRfY2xhaW1faW5mbyhub2Rlcyk7XG4gICAgY29uc3QgaHRtbF90YWdfbm9kZXMgPSBub2Rlcy5zcGxpY2Uoc3RhcnRfaW5kZXgsIGVuZF9pbmRleCAtIHN0YXJ0X2luZGV4ICsgMSk7XG4gICAgZGV0YWNoKGh0bWxfdGFnX25vZGVzWzBdKTtcbiAgICBkZXRhY2goaHRtbF90YWdfbm9kZXNbaHRtbF90YWdfbm9kZXMubGVuZ3RoIC0gMV0pO1xuICAgIGNvbnN0IGNsYWltZWRfbm9kZXMgPSBodG1sX3RhZ19ub2Rlcy5zbGljZSgxLCBodG1sX3RhZ19ub2Rlcy5sZW5ndGggLSAxKTtcbiAgICBmb3IgKGNvbnN0IG4gb2YgY2xhaW1lZF9ub2Rlcykge1xuICAgICAgICBuLmNsYWltX29yZGVyID0gbm9kZXMuY2xhaW1faW5mby50b3RhbF9jbGFpbWVkO1xuICAgICAgICBub2Rlcy5jbGFpbV9pbmZvLnRvdGFsX2NsYWltZWQgKz0gMTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBIdG1sVGFnSHlkcmF0aW9uKGNsYWltZWRfbm9kZXMsIGlzX3N2Zyk7XG59XG5mdW5jdGlvbiBzZXRfZGF0YSh0ZXh0LCBkYXRhKSB7XG4gICAgZGF0YSA9ICcnICsgZGF0YTtcbiAgICBpZiAodGV4dC53aG9sZVRleHQgIT09IGRhdGEpXG4gICAgICAgIHRleHQuZGF0YSA9IGRhdGE7XG59XG5mdW5jdGlvbiBzZXRfaW5wdXRfdmFsdWUoaW5wdXQsIHZhbHVlKSB7XG4gICAgaW5wdXQudmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gJycgOiB2YWx1ZTtcbn1cbmZ1bmN0aW9uIHNldF9pbnB1dF90eXBlKGlucHV0LCB0eXBlKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgaW5wdXQudHlwZSA9IHR5cGU7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICB9XG59XG5mdW5jdGlvbiBzZXRfc3R5bGUobm9kZSwga2V5LCB2YWx1ZSwgaW1wb3J0YW50KSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIG5vZGUuc3R5bGUucmVtb3ZlUHJvcGVydHkoa2V5KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG5vZGUuc3R5bGUuc2V0UHJvcGVydHkoa2V5LCB2YWx1ZSwgaW1wb3J0YW50ID8gJ2ltcG9ydGFudCcgOiAnJyk7XG4gICAgfVxufVxuZnVuY3Rpb24gc2VsZWN0X29wdGlvbihzZWxlY3QsIHZhbHVlKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWxlY3Qub3B0aW9ucy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBjb25zdCBvcHRpb24gPSBzZWxlY3Qub3B0aW9uc1tpXTtcbiAgICAgICAgaWYgKG9wdGlvbi5fX3ZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZWxlY3Quc2VsZWN0ZWRJbmRleCA9IC0xOyAvLyBubyBvcHRpb24gc2hvdWxkIGJlIHNlbGVjdGVkXG59XG5mdW5jdGlvbiBzZWxlY3Rfb3B0aW9ucyhzZWxlY3QsIHZhbHVlKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWxlY3Qub3B0aW9ucy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBjb25zdCBvcHRpb24gPSBzZWxlY3Qub3B0aW9uc1tpXTtcbiAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gfnZhbHVlLmluZGV4T2Yob3B0aW9uLl9fdmFsdWUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHNlbGVjdF92YWx1ZShzZWxlY3QpIHtcbiAgICBjb25zdCBzZWxlY3RlZF9vcHRpb24gPSBzZWxlY3QucXVlcnlTZWxlY3RvcignOmNoZWNrZWQnKSB8fCBzZWxlY3Qub3B0aW9uc1swXTtcbiAgICByZXR1cm4gc2VsZWN0ZWRfb3B0aW9uICYmIHNlbGVjdGVkX29wdGlvbi5fX3ZhbHVlO1xufVxuZnVuY3Rpb24gc2VsZWN0X211bHRpcGxlX3ZhbHVlKHNlbGVjdCkge1xuICAgIHJldHVybiBbXS5tYXAuY2FsbChzZWxlY3QucXVlcnlTZWxlY3RvckFsbCgnOmNoZWNrZWQnKSwgb3B0aW9uID0+IG9wdGlvbi5fX3ZhbHVlKTtcbn1cbi8vIHVuZm9ydHVuYXRlbHkgdGhpcyBjYW4ndCBiZSBhIGNvbnN0YW50IGFzIHRoYXQgd291bGRuJ3QgYmUgdHJlZS1zaGFrZWFibGVcbi8vIHNvIHdlIGNhY2hlIHRoZSByZXN1bHQgaW5zdGVhZFxubGV0IGNyb3Nzb3JpZ2luO1xuZnVuY3Rpb24gaXNfY3Jvc3NvcmlnaW4oKSB7XG4gICAgaWYgKGNyb3Nzb3JpZ2luID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY3Jvc3NvcmlnaW4gPSBmYWxzZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cucGFyZW50KSB7XG4gICAgICAgICAgICAgICAgdm9pZCB3aW5kb3cucGFyZW50LmRvY3VtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY3Jvc3NvcmlnaW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjcm9zc29yaWdpbjtcbn1cbmZ1bmN0aW9uIGFkZF9yZXNpemVfbGlzdGVuZXIobm9kZSwgZm4pIHtcbiAgICBjb25zdCBjb21wdXRlZF9zdHlsZSA9IGdldENvbXB1dGVkU3R5bGUobm9kZSk7XG4gICAgaWYgKGNvbXB1dGVkX3N0eWxlLnBvc2l0aW9uID09PSAnc3RhdGljJykge1xuICAgICAgICBub2RlLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICB9XG4gICAgY29uc3QgaWZyYW1lID0gZWxlbWVudCgnaWZyYW1lJyk7XG4gICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyAnICtcbiAgICAgICAgJ292ZXJmbG93OiBoaWRkZW47IGJvcmRlcjogMDsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IC0xOycpO1xuICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICBpZnJhbWUudGFiSW5kZXggPSAtMTtcbiAgICBjb25zdCBjcm9zc29yaWdpbiA9IGlzX2Nyb3Nzb3JpZ2luKCk7XG4gICAgbGV0IHVuc3Vic2NyaWJlO1xuICAgIGlmIChjcm9zc29yaWdpbikge1xuICAgICAgICBpZnJhbWUuc3JjID0gXCJkYXRhOnRleHQvaHRtbCw8c2NyaXB0Pm9ucmVzaXplPWZ1bmN0aW9uKCl7cGFyZW50LnBvc3RNZXNzYWdlKDAsJyonKX08L3NjcmlwdD5cIjtcbiAgICAgICAgdW5zdWJzY3JpYmUgPSBsaXN0ZW4od2luZG93LCAnbWVzc2FnZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnNvdXJjZSA9PT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpXG4gICAgICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBpZnJhbWUuc3JjID0gJ2Fib3V0OmJsYW5rJztcbiAgICAgICAgaWZyYW1lLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgIHVuc3Vic2NyaWJlID0gbGlzdGVuKGlmcmFtZS5jb250ZW50V2luZG93LCAncmVzaXplJywgZm4pO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBhcHBlbmQobm9kZSwgaWZyYW1lKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY3Jvc3NvcmlnaW4pIHtcbiAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodW5zdWJzY3JpYmUgJiYgaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHtcbiAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZGV0YWNoKGlmcmFtZSk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHRvZ2dsZV9jbGFzcyhlbGVtZW50LCBuYW1lLCB0b2dnbGUpIHtcbiAgICBlbGVtZW50LmNsYXNzTGlzdFt0b2dnbGUgPyAnYWRkJyA6ICdyZW1vdmUnXShuYW1lKTtcbn1cbmZ1bmN0aW9uIGN1c3RvbV9ldmVudCh0eXBlLCBkZXRhaWwsIHsgYnViYmxlcyA9IGZhbHNlLCBjYW5jZWxhYmxlID0gZmFsc2UgfSA9IHt9KSB7XG4gICAgY29uc3QgZSA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpO1xuICAgIGUuaW5pdEN1c3RvbUV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIGRldGFpbCk7XG4gICAgcmV0dXJuIGU7XG59XG5mdW5jdGlvbiBxdWVyeV9zZWxlY3Rvcl9hbGwoc2VsZWN0b3IsIHBhcmVudCA9IGRvY3VtZW50LmJvZHkpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShwYXJlbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcikpO1xufVxuZnVuY3Rpb24gaGVhZF9zZWxlY3Rvcihub2RlSWQsIGhlYWQpIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBsZXQgc3RhcnRlZCA9IDA7XG4gICAgZm9yIChjb25zdCBub2RlIG9mIGhlYWQuY2hpbGROb2Rlcykge1xuICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gOCAvKiBjb21tZW50IG5vZGUgKi8pIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbW1lbnQgPSBub2RlLnRleHRDb250ZW50LnRyaW0oKTtcbiAgICAgICAgICAgIGlmIChjb21tZW50ID09PSBgSEVBRF8ke25vZGVJZH1fRU5EYCkge1xuICAgICAgICAgICAgICAgIHN0YXJ0ZWQgLT0gMTtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbW1lbnQgPT09IGBIRUFEXyR7bm9kZUlkfV9TVEFSVGApIHtcbiAgICAgICAgICAgICAgICBzdGFydGVkICs9IDE7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3RhcnRlZCA+IDApIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5jbGFzcyBIdG1sVGFnIHtcbiAgICBjb25zdHJ1Y3Rvcihpc19zdmcgPSBmYWxzZSkge1xuICAgICAgICB0aGlzLmlzX3N2ZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzX3N2ZyA9IGlzX3N2ZztcbiAgICAgICAgdGhpcy5lID0gdGhpcy5uID0gbnVsbDtcbiAgICB9XG4gICAgYyhodG1sKSB7XG4gICAgICAgIHRoaXMuaChodG1sKTtcbiAgICB9XG4gICAgbShodG1sLCB0YXJnZXQsIGFuY2hvciA9IG51bGwpIHtcbiAgICAgICAgaWYgKCF0aGlzLmUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzX3N2ZylcbiAgICAgICAgICAgICAgICB0aGlzLmUgPSBzdmdfZWxlbWVudCh0YXJnZXQubm9kZU5hbWUpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRoaXMuZSA9IGVsZW1lbnQodGFyZ2V0Lm5vZGVOYW1lKTtcbiAgICAgICAgICAgIHRoaXMudCA9IHRhcmdldDtcbiAgICAgICAgICAgIHRoaXMuYyhodG1sKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmkoYW5jaG9yKTtcbiAgICB9XG4gICAgaChodG1sKSB7XG4gICAgICAgIHRoaXMuZS5pbm5lckhUTUwgPSBodG1sO1xuICAgICAgICB0aGlzLm4gPSBBcnJheS5mcm9tKHRoaXMuZS5jaGlsZE5vZGVzKTtcbiAgICB9XG4gICAgaShhbmNob3IpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm4ubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGluc2VydCh0aGlzLnQsIHRoaXMubltpXSwgYW5jaG9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwKGh0bWwpIHtcbiAgICAgICAgdGhpcy5kKCk7XG4gICAgICAgIHRoaXMuaChodG1sKTtcbiAgICAgICAgdGhpcy5pKHRoaXMuYSk7XG4gICAgfVxuICAgIGQoKSB7XG4gICAgICAgIHRoaXMubi5mb3JFYWNoKGRldGFjaCk7XG4gICAgfVxufVxuY2xhc3MgSHRtbFRhZ0h5ZHJhdGlvbiBleHRlbmRzIEh0bWxUYWcge1xuICAgIGNvbnN0cnVjdG9yKGNsYWltZWRfbm9kZXMsIGlzX3N2ZyA9IGZhbHNlKSB7XG4gICAgICAgIHN1cGVyKGlzX3N2Zyk7XG4gICAgICAgIHRoaXMuZSA9IHRoaXMubiA9IG51bGw7XG4gICAgICAgIHRoaXMubCA9IGNsYWltZWRfbm9kZXM7XG4gICAgfVxuICAgIGMoaHRtbCkge1xuICAgICAgICBpZiAodGhpcy5sKSB7XG4gICAgICAgICAgICB0aGlzLm4gPSB0aGlzLmw7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5jKGh0bWwpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGkoYW5jaG9yKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5uLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICBpbnNlcnRfaHlkcmF0aW9uKHRoaXMudCwgdGhpcy5uW2ldLCBhbmNob3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gYXR0cmlidXRlX3RvX29iamVjdChhdHRyaWJ1dGVzKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuICAgICAgICByZXN1bHRbYXR0cmlidXRlLm5hbWVdID0gYXR0cmlidXRlLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gZ2V0X2N1c3RvbV9lbGVtZW50c19zbG90cyhlbGVtZW50KSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgZWxlbWVudC5jaGlsZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgcmVzdWx0W25vZGUuc2xvdCB8fCAnZGVmYXVsdCddID0gdHJ1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gY29uc3RydWN0X3N2ZWx0ZV9jb21wb25lbnQoY29tcG9uZW50LCBwcm9wcykge1xuICAgIHJldHVybiBuZXcgY29tcG9uZW50KHByb3BzKTtcbn1cblxuLy8gd2UgbmVlZCB0byBzdG9yZSB0aGUgaW5mb3JtYXRpb24gZm9yIG11bHRpcGxlIGRvY3VtZW50cyBiZWNhdXNlIGEgU3ZlbHRlIGFwcGxpY2F0aW9uIGNvdWxkIGFsc28gY29udGFpbiBpZnJhbWVzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc3ZlbHRlanMvc3ZlbHRlL2lzc3Vlcy8zNjI0XG5jb25zdCBtYW5hZ2VkX3N0eWxlcyA9IG5ldyBNYXAoKTtcbmxldCBhY3RpdmUgPSAwO1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Rhcmtza3lhcHAvc3RyaW5nLWhhc2gvYmxvYi9tYXN0ZXIvaW5kZXguanNcbmZ1bmN0aW9uIGhhc2goc3RyKSB7XG4gICAgbGV0IGhhc2ggPSA1MzgxO1xuICAgIGxldCBpID0gc3RyLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKVxuICAgICAgICBoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCkgXiBzdHIuY2hhckNvZGVBdChpKTtcbiAgICByZXR1cm4gaGFzaCA+Pj4gMDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZV9zdHlsZV9pbmZvcm1hdGlvbihkb2MsIG5vZGUpIHtcbiAgICBjb25zdCBpbmZvID0geyBzdHlsZXNoZWV0OiBhcHBlbmRfZW1wdHlfc3R5bGVzaGVldChub2RlKSwgcnVsZXM6IHt9IH07XG4gICAgbWFuYWdlZF9zdHlsZXMuc2V0KGRvYywgaW5mbyk7XG4gICAgcmV0dXJuIGluZm87XG59XG5mdW5jdGlvbiBjcmVhdGVfcnVsZShub2RlLCBhLCBiLCBkdXJhdGlvbiwgZGVsYXksIGVhc2UsIGZuLCB1aWQgPSAwKSB7XG4gICAgY29uc3Qgc3RlcCA9IDE2LjY2NiAvIGR1cmF0aW9uO1xuICAgIGxldCBrZXlmcmFtZXMgPSAne1xcbic7XG4gICAgZm9yIChsZXQgcCA9IDA7IHAgPD0gMTsgcCArPSBzdGVwKSB7XG4gICAgICAgIGNvbnN0IHQgPSBhICsgKGIgLSBhKSAqIGVhc2UocCk7XG4gICAgICAgIGtleWZyYW1lcyArPSBwICogMTAwICsgYCV7JHtmbih0LCAxIC0gdCl9fVxcbmA7XG4gICAgfVxuICAgIGNvbnN0IHJ1bGUgPSBrZXlmcmFtZXMgKyBgMTAwJSB7JHtmbihiLCAxIC0gYil9fVxcbn1gO1xuICAgIGNvbnN0IG5hbWUgPSBgX19zdmVsdGVfJHtoYXNoKHJ1bGUpfV8ke3VpZH1gO1xuICAgIGNvbnN0IGRvYyA9IGdldF9yb290X2Zvcl9zdHlsZShub2RlKTtcbiAgICBjb25zdCB7IHN0eWxlc2hlZXQsIHJ1bGVzIH0gPSBtYW5hZ2VkX3N0eWxlcy5nZXQoZG9jKSB8fCBjcmVhdGVfc3R5bGVfaW5mb3JtYXRpb24oZG9jLCBub2RlKTtcbiAgICBpZiAoIXJ1bGVzW25hbWVdKSB7XG4gICAgICAgIHJ1bGVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKGBAa2V5ZnJhbWVzICR7bmFtZX0gJHtydWxlfWAsIHN0eWxlc2hlZXQuY3NzUnVsZXMubGVuZ3RoKTtcbiAgICB9XG4gICAgY29uc3QgYW5pbWF0aW9uID0gbm9kZS5zdHlsZS5hbmltYXRpb24gfHwgJyc7XG4gICAgbm9kZS5zdHlsZS5hbmltYXRpb24gPSBgJHthbmltYXRpb24gPyBgJHthbmltYXRpb259LCBgIDogJyd9JHtuYW1lfSAke2R1cmF0aW9ufW1zIGxpbmVhciAke2RlbGF5fW1zIDEgYm90aGA7XG4gICAgYWN0aXZlICs9IDE7XG4gICAgcmV0dXJuIG5hbWU7XG59XG5mdW5jdGlvbiBkZWxldGVfcnVsZShub2RlLCBuYW1lKSB7XG4gICAgY29uc3QgcHJldmlvdXMgPSAobm9kZS5zdHlsZS5hbmltYXRpb24gfHwgJycpLnNwbGl0KCcsICcpO1xuICAgIGNvbnN0IG5leHQgPSBwcmV2aW91cy5maWx0ZXIobmFtZVxuICAgICAgICA/IGFuaW0gPT4gYW5pbS5pbmRleE9mKG5hbWUpIDwgMCAvLyByZW1vdmUgc3BlY2lmaWMgYW5pbWF0aW9uXG4gICAgICAgIDogYW5pbSA9PiBhbmltLmluZGV4T2YoJ19fc3ZlbHRlJykgPT09IC0xIC8vIHJlbW92ZSBhbGwgU3ZlbHRlIGFuaW1hdGlvbnNcbiAgICApO1xuICAgIGNvbnN0IGRlbGV0ZWQgPSBwcmV2aW91cy5sZW5ndGggLSBuZXh0Lmxlbmd0aDtcbiAgICBpZiAoZGVsZXRlZCkge1xuICAgICAgICBub2RlLnN0eWxlLmFuaW1hdGlvbiA9IG5leHQuam9pbignLCAnKTtcbiAgICAgICAgYWN0aXZlIC09IGRlbGV0ZWQ7XG4gICAgICAgIGlmICghYWN0aXZlKVxuICAgICAgICAgICAgY2xlYXJfcnVsZXMoKTtcbiAgICB9XG59XG5mdW5jdGlvbiBjbGVhcl9ydWxlcygpIHtcbiAgICByYWYoKCkgPT4ge1xuICAgICAgICBpZiAoYWN0aXZlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBtYW5hZ2VkX3N0eWxlcy5mb3JFYWNoKGluZm8gPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBvd25lck5vZGUgfSA9IGluZm8uc3R5bGVzaGVldDtcbiAgICAgICAgICAgIC8vIHRoZXJlIGlzIG5vIG93bmVyTm9kZSBpZiBpdCBydW5zIG9uIGpzZG9tLlxuICAgICAgICAgICAgaWYgKG93bmVyTm9kZSlcbiAgICAgICAgICAgICAgICBkZXRhY2gob3duZXJOb2RlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1hbmFnZWRfc3R5bGVzLmNsZWFyKCk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZV9hbmltYXRpb24obm9kZSwgZnJvbSwgZm4sIHBhcmFtcykge1xuICAgIGlmICghZnJvbSlcbiAgICAgICAgcmV0dXJuIG5vb3A7XG4gICAgY29uc3QgdG8gPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGlmIChmcm9tLmxlZnQgPT09IHRvLmxlZnQgJiYgZnJvbS5yaWdodCA9PT0gdG8ucmlnaHQgJiYgZnJvbS50b3AgPT09IHRvLnRvcCAmJiBmcm9tLmJvdHRvbSA9PT0gdG8uYm90dG9tKVxuICAgICAgICByZXR1cm4gbm9vcDtcbiAgICBjb25zdCB7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSAzMDAsIGVhc2luZyA9IGlkZW50aXR5LCBcbiAgICAvLyBAdHMtaWdub3JlIHRvZG86IHNob3VsZCB0aGlzIGJlIHNlcGFyYXRlZCBmcm9tIGRlc3RydWN0dXJpbmc/IE9yIHN0YXJ0L2VuZCBhZGRlZCB0byBwdWJsaWMgYXBpIGFuZCBkb2N1bWVudGF0aW9uP1xuICAgIHN0YXJ0OiBzdGFydF90aW1lID0gbm93KCkgKyBkZWxheSwgXG4gICAgLy8gQHRzLWlnbm9yZSB0b2RvOlxuICAgIGVuZCA9IHN0YXJ0X3RpbWUgKyBkdXJhdGlvbiwgdGljayA9IG5vb3AsIGNzcyB9ID0gZm4obm9kZSwgeyBmcm9tLCB0byB9LCBwYXJhbXMpO1xuICAgIGxldCBydW5uaW5nID0gdHJ1ZTtcbiAgICBsZXQgc3RhcnRlZCA9IGZhbHNlO1xuICAgIGxldCBuYW1lO1xuICAgIGZ1bmN0aW9uIHN0YXJ0KCkge1xuICAgICAgICBpZiAoY3NzKSB7XG4gICAgICAgICAgICBuYW1lID0gY3JlYXRlX3J1bGUobm9kZSwgMCwgMSwgZHVyYXRpb24sIGRlbGF5LCBlYXNpbmcsIGNzcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFkZWxheSkge1xuICAgICAgICAgICAgc3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gc3RvcCgpIHtcbiAgICAgICAgaWYgKGNzcylcbiAgICAgICAgICAgIGRlbGV0ZV9ydWxlKG5vZGUsIG5hbWUpO1xuICAgICAgICBydW5uaW5nID0gZmFsc2U7XG4gICAgfVxuICAgIGxvb3Aobm93ID0+IHtcbiAgICAgICAgaWYgKCFzdGFydGVkICYmIG5vdyA+PSBzdGFydF90aW1lKSB7XG4gICAgICAgICAgICBzdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhcnRlZCAmJiBub3cgPj0gZW5kKSB7XG4gICAgICAgICAgICB0aWNrKDEsIDApO1xuICAgICAgICAgICAgc3RvcCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcnVubmluZykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydGVkKSB7XG4gICAgICAgICAgICBjb25zdCBwID0gbm93IC0gc3RhcnRfdGltZTtcbiAgICAgICAgICAgIGNvbnN0IHQgPSAwICsgMSAqIGVhc2luZyhwIC8gZHVyYXRpb24pO1xuICAgICAgICAgICAgdGljayh0LCAxIC0gdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gICAgc3RhcnQoKTtcbiAgICB0aWNrKDAsIDEpO1xuICAgIHJldHVybiBzdG9wO1xufVxuZnVuY3Rpb24gZml4X3Bvc2l0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUobm9kZSk7XG4gICAgaWYgKHN0eWxlLnBvc2l0aW9uICE9PSAnYWJzb2x1dGUnICYmIHN0eWxlLnBvc2l0aW9uICE9PSAnZml4ZWQnKSB7XG4gICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gc3R5bGU7XG4gICAgICAgIGNvbnN0IGEgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBub2RlLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgbm9kZS5zdHlsZS53aWR0aCA9IHdpZHRoO1xuICAgICAgICBub2RlLnN0eWxlLmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgYWRkX3RyYW5zZm9ybShub2RlLCBhKTtcbiAgICB9XG59XG5mdW5jdGlvbiBhZGRfdHJhbnNmb3JtKG5vZGUsIGEpIHtcbiAgICBjb25zdCBiID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAoYS5sZWZ0ICE9PSBiLmxlZnQgfHwgYS50b3AgIT09IGIudG9wKSB7XG4gICAgICAgIGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtID0gc3R5bGUudHJhbnNmb3JtID09PSAnbm9uZScgPyAnJyA6IHN0eWxlLnRyYW5zZm9ybTtcbiAgICAgICAgbm9kZS5zdHlsZS50cmFuc2Zvcm0gPSBgJHt0cmFuc2Zvcm19IHRyYW5zbGF0ZSgke2EubGVmdCAtIGIubGVmdH1weCwgJHthLnRvcCAtIGIudG9wfXB4KWA7XG4gICAgfVxufVxuXG5sZXQgY3VycmVudF9jb21wb25lbnQ7XG5mdW5jdGlvbiBzZXRfY3VycmVudF9jb21wb25lbnQoY29tcG9uZW50KSB7XG4gICAgY3VycmVudF9jb21wb25lbnQgPSBjb21wb25lbnQ7XG59XG5mdW5jdGlvbiBnZXRfY3VycmVudF9jb21wb25lbnQoKSB7XG4gICAgaWYgKCFjdXJyZW50X2NvbXBvbmVudClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGdW5jdGlvbiBjYWxsZWQgb3V0c2lkZSBjb21wb25lbnQgaW5pdGlhbGl6YXRpb24nKTtcbiAgICByZXR1cm4gY3VycmVudF9jb21wb25lbnQ7XG59XG4vKipcbiAqIFNjaGVkdWxlcyBhIGNhbGxiYWNrIHRvIHJ1biBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIGNvbXBvbmVudCBpcyB1cGRhdGVkIGFmdGVyIGFueSBzdGF0ZSBjaGFuZ2UuXG4gKlxuICogVGhlIGZpcnN0IHRpbWUgdGhlIGNhbGxiYWNrIHJ1bnMgd2lsbCBiZSBiZWZvcmUgdGhlIGluaXRpYWwgYG9uTW91bnRgXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3MjcnVuLXRpbWUtc3ZlbHRlLWJlZm9yZXVwZGF0ZVxuICovXG5mdW5jdGlvbiBiZWZvcmVVcGRhdGUoZm4pIHtcbiAgICBnZXRfY3VycmVudF9jb21wb25lbnQoKS4kJC5iZWZvcmVfdXBkYXRlLnB1c2goZm4pO1xufVxuLyoqXG4gKiBUaGUgYG9uTW91bnRgIGZ1bmN0aW9uIHNjaGVkdWxlcyBhIGNhbGxiYWNrIHRvIHJ1biBhcyBzb29uIGFzIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gbW91bnRlZCB0byB0aGUgRE9NLlxuICogSXQgbXVzdCBiZSBjYWxsZWQgZHVyaW5nIHRoZSBjb21wb25lbnQncyBpbml0aWFsaXNhdGlvbiAoYnV0IGRvZXNuJ3QgbmVlZCB0byBsaXZlICppbnNpZGUqIHRoZSBjb21wb25lbnQ7XG4gKiBpdCBjYW4gYmUgY2FsbGVkIGZyb20gYW4gZXh0ZXJuYWwgbW9kdWxlKS5cbiAqXG4gKiBgb25Nb3VudGAgZG9lcyBub3QgcnVuIGluc2lkZSBhIFtzZXJ2ZXItc2lkZSBjb21wb25lbnRdKC9kb2NzI3J1bi10aW1lLXNlcnZlci1zaWRlLWNvbXBvbmVudC1hcGkpLlxuICpcbiAqIGh0dHBzOi8vc3ZlbHRlLmRldi9kb2NzI3J1bi10aW1lLXN2ZWx0ZS1vbm1vdW50XG4gKi9cbmZ1bmN0aW9uIG9uTW91bnQoZm4pIHtcbiAgICBnZXRfY3VycmVudF9jb21wb25lbnQoKS4kJC5vbl9tb3VudC5wdXNoKGZuKTtcbn1cbi8qKlxuICogU2NoZWR1bGVzIGEgY2FsbGJhY2sgdG8gcnVuIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gdXBkYXRlZC5cbiAqXG4gKiBUaGUgZmlyc3QgdGltZSB0aGUgY2FsbGJhY2sgcnVucyB3aWxsIGJlIGFmdGVyIHRoZSBpbml0aWFsIGBvbk1vdW50YFxuICovXG5mdW5jdGlvbiBhZnRlclVwZGF0ZShmbikge1xuICAgIGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLmFmdGVyX3VwZGF0ZS5wdXNoKGZuKTtcbn1cbi8qKlxuICogU2NoZWR1bGVzIGEgY2FsbGJhY2sgdG8gcnVuIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgY29tcG9uZW50IGlzIHVubW91bnRlZC5cbiAqXG4gKiBPdXQgb2YgYG9uTW91bnRgLCBgYmVmb3JlVXBkYXRlYCwgYGFmdGVyVXBkYXRlYCBhbmQgYG9uRGVzdHJveWAsIHRoaXMgaXMgdGhlXG4gKiBvbmx5IG9uZSB0aGF0IHJ1bnMgaW5zaWRlIGEgc2VydmVyLXNpZGUgY29tcG9uZW50LlxuICpcbiAqIGh0dHBzOi8vc3ZlbHRlLmRldi9kb2NzI3J1bi10aW1lLXN2ZWx0ZS1vbmRlc3Ryb3lcbiAqL1xuZnVuY3Rpb24gb25EZXN0cm95KGZuKSB7XG4gICAgZ2V0X2N1cnJlbnRfY29tcG9uZW50KCkuJCQub25fZGVzdHJveS5wdXNoKGZuKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBldmVudCBkaXNwYXRjaGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGlzcGF0Y2ggW2NvbXBvbmVudCBldmVudHNdKC9kb2NzI3RlbXBsYXRlLXN5bnRheC1jb21wb25lbnQtZGlyZWN0aXZlcy1vbi1ldmVudG5hbWUpLlxuICogRXZlbnQgZGlzcGF0Y2hlcnMgYXJlIGZ1bmN0aW9ucyB0aGF0IGNhbiB0YWtlIHR3byBhcmd1bWVudHM6IGBuYW1lYCBhbmQgYGRldGFpbGAuXG4gKlxuICogQ29tcG9uZW50IGV2ZW50cyBjcmVhdGVkIHdpdGggYGNyZWF0ZUV2ZW50RGlzcGF0Y2hlcmAgY3JlYXRlIGFcbiAqIFtDdXN0b21FdmVudF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0N1c3RvbUV2ZW50KS5cbiAqIFRoZXNlIGV2ZW50cyBkbyBub3QgW2J1YmJsZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9MZWFybi9KYXZhU2NyaXB0L0J1aWxkaW5nX2Jsb2Nrcy9FdmVudHMjRXZlbnRfYnViYmxpbmdfYW5kX2NhcHR1cmUpLlxuICogVGhlIGBkZXRhaWxgIGFyZ3VtZW50IGNvcnJlc3BvbmRzIHRvIHRoZSBbQ3VzdG9tRXZlbnQuZGV0YWlsXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ3VzdG9tRXZlbnQvZGV0YWlsKVxuICogcHJvcGVydHkgYW5kIGNhbiBjb250YWluIGFueSB0eXBlIG9mIGRhdGEuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3MjcnVuLXRpbWUtc3ZlbHRlLWNyZWF0ZWV2ZW50ZGlzcGF0Y2hlclxuICovXG5mdW5jdGlvbiBjcmVhdGVFdmVudERpc3BhdGNoZXIoKSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gZ2V0X2N1cnJlbnRfY29tcG9uZW50KCk7XG4gICAgcmV0dXJuICh0eXBlLCBkZXRhaWwsIHsgY2FuY2VsYWJsZSA9IGZhbHNlIH0gPSB7fSkgPT4ge1xuICAgICAgICBjb25zdCBjYWxsYmFja3MgPSBjb21wb25lbnQuJCQuY2FsbGJhY2tzW3R5cGVdO1xuICAgICAgICBpZiAoY2FsbGJhY2tzKSB7XG4gICAgICAgICAgICAvLyBUT0RPIGFyZSB0aGVyZSBzaXR1YXRpb25zIHdoZXJlIGV2ZW50cyBjb3VsZCBiZSBkaXNwYXRjaGVkXG4gICAgICAgICAgICAvLyBpbiBhIHNlcnZlciAobm9uLURPTSkgZW52aXJvbm1lbnQ/XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IGN1c3RvbV9ldmVudCh0eXBlLCBkZXRhaWwsIHsgY2FuY2VsYWJsZSB9KTtcbiAgICAgICAgICAgIGNhbGxiYWNrcy5zbGljZSgpLmZvckVhY2goZm4gPT4ge1xuICAgICAgICAgICAgICAgIGZuLmNhbGwoY29tcG9uZW50LCBldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xufVxuLyoqXG4gKiBBc3NvY2lhdGVzIGFuIGFyYml0cmFyeSBgY29udGV4dGAgb2JqZWN0IHdpdGggdGhlIGN1cnJlbnQgY29tcG9uZW50IGFuZCB0aGUgc3BlY2lmaWVkIGBrZXlgXG4gKiBhbmQgcmV0dXJucyB0aGF0IG9iamVjdC4gVGhlIGNvbnRleHQgaXMgdGhlbiBhdmFpbGFibGUgdG8gY2hpbGRyZW4gb2YgdGhlIGNvbXBvbmVudFxuICogKGluY2x1ZGluZyBzbG90dGVkIGNvbnRlbnQpIHdpdGggYGdldENvbnRleHRgLlxuICpcbiAqIExpa2UgbGlmZWN5Y2xlIGZ1bmN0aW9ucywgdGhpcyBtdXN0IGJlIGNhbGxlZCBkdXJpbmcgY29tcG9uZW50IGluaXRpYWxpc2F0aW9uLlxuICpcbiAqIGh0dHBzOi8vc3ZlbHRlLmRldi9kb2NzI3J1bi10aW1lLXN2ZWx0ZS1zZXRjb250ZXh0XG4gKi9cbmZ1bmN0aW9uIHNldENvbnRleHQoa2V5LCBjb250ZXh0KSB7XG4gICAgZ2V0X2N1cnJlbnRfY29tcG9uZW50KCkuJCQuY29udGV4dC5zZXQoa2V5LCBjb250ZXh0KTtcbiAgICByZXR1cm4gY29udGV4dDtcbn1cbi8qKlxuICogUmV0cmlldmVzIHRoZSBjb250ZXh0IHRoYXQgYmVsb25ncyB0byB0aGUgY2xvc2VzdCBwYXJlbnQgY29tcG9uZW50IHdpdGggdGhlIHNwZWNpZmllZCBga2V5YC5cbiAqIE11c3QgYmUgY2FsbGVkIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGlzYXRpb24uXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3MjcnVuLXRpbWUtc3ZlbHRlLWdldGNvbnRleHRcbiAqL1xuZnVuY3Rpb24gZ2V0Q29udGV4dChrZXkpIHtcbiAgICByZXR1cm4gZ2V0X2N1cnJlbnRfY29tcG9uZW50KCkuJCQuY29udGV4dC5nZXQoa2V5KTtcbn1cbi8qKlxuICogUmV0cmlldmVzIHRoZSB3aG9sZSBjb250ZXh0IG1hcCB0aGF0IGJlbG9uZ3MgdG8gdGhlIGNsb3Nlc3QgcGFyZW50IGNvbXBvbmVudC5cbiAqIE11c3QgYmUgY2FsbGVkIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGlzYXRpb24uIFVzZWZ1bCwgZm9yIGV4YW1wbGUsIGlmIHlvdVxuICogcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBjb21wb25lbnQgYW5kIHdhbnQgdG8gcGFzcyB0aGUgZXhpc3RpbmcgY29udGV4dCB0byBpdC5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcyNydW4tdGltZS1zdmVsdGUtZ2V0YWxsY29udGV4dHNcbiAqL1xuZnVuY3Rpb24gZ2V0QWxsQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLmNvbnRleHQ7XG59XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgZ2l2ZW4gYGtleWAgaGFzIGJlZW4gc2V0IGluIHRoZSBjb250ZXh0IG9mIGEgcGFyZW50IGNvbXBvbmVudC5cbiAqIE11c3QgYmUgY2FsbGVkIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGlzYXRpb24uXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3MjcnVuLXRpbWUtc3ZlbHRlLWhhc2NvbnRleHRcbiAqL1xuZnVuY3Rpb24gaGFzQ29udGV4dChrZXkpIHtcbiAgICByZXR1cm4gZ2V0X2N1cnJlbnRfY29tcG9uZW50KCkuJCQuY29udGV4dC5oYXMoa2V5KTtcbn1cbi8vIFRPRE8gZmlndXJlIG91dCBpZiB3ZSBzdGlsbCB3YW50IHRvIHN1cHBvcnRcbi8vIHNob3J0aGFuZCBldmVudHMsIG9yIGlmIHdlIHdhbnQgdG8gaW1wbGVtZW50XG4vLyBhIHJlYWwgYnViYmxpbmcgbWVjaGFuaXNtXG5mdW5jdGlvbiBidWJibGUoY29tcG9uZW50LCBldmVudCkge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IGNvbXBvbmVudC4kJC5jYWxsYmFja3NbZXZlbnQudHlwZV07XG4gICAgaWYgKGNhbGxiYWNrcykge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNhbGxiYWNrcy5zbGljZSgpLmZvckVhY2goZm4gPT4gZm4uY2FsbCh0aGlzLCBldmVudCkpO1xuICAgIH1cbn1cblxuY29uc3QgZGlydHlfY29tcG9uZW50cyA9IFtdO1xuY29uc3QgaW50cm9zID0geyBlbmFibGVkOiBmYWxzZSB9O1xuY29uc3QgYmluZGluZ19jYWxsYmFja3MgPSBbXTtcbmNvbnN0IHJlbmRlcl9jYWxsYmFja3MgPSBbXTtcbmNvbnN0IGZsdXNoX2NhbGxiYWNrcyA9IFtdO1xuY29uc3QgcmVzb2x2ZWRfcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSgpO1xubGV0IHVwZGF0ZV9zY2hlZHVsZWQgPSBmYWxzZTtcbmZ1bmN0aW9uIHNjaGVkdWxlX3VwZGF0ZSgpIHtcbiAgICBpZiAoIXVwZGF0ZV9zY2hlZHVsZWQpIHtcbiAgICAgICAgdXBkYXRlX3NjaGVkdWxlZCA9IHRydWU7XG4gICAgICAgIHJlc29sdmVkX3Byb21pc2UudGhlbihmbHVzaCk7XG4gICAgfVxufVxuZnVuY3Rpb24gdGljaygpIHtcbiAgICBzY2hlZHVsZV91cGRhdGUoKTtcbiAgICByZXR1cm4gcmVzb2x2ZWRfcHJvbWlzZTtcbn1cbmZ1bmN0aW9uIGFkZF9yZW5kZXJfY2FsbGJhY2soZm4pIHtcbiAgICByZW5kZXJfY2FsbGJhY2tzLnB1c2goZm4pO1xufVxuZnVuY3Rpb24gYWRkX2ZsdXNoX2NhbGxiYWNrKGZuKSB7XG4gICAgZmx1c2hfY2FsbGJhY2tzLnB1c2goZm4pO1xufVxuLy8gZmx1c2goKSBjYWxscyBjYWxsYmFja3MgaW4gdGhpcyBvcmRlcjpcbi8vIDEuIEFsbCBiZWZvcmVVcGRhdGUgY2FsbGJhY2tzLCBpbiBvcmRlcjogcGFyZW50cyBiZWZvcmUgY2hpbGRyZW5cbi8vIDIuIEFsbCBiaW5kOnRoaXMgY2FsbGJhY2tzLCBpbiByZXZlcnNlIG9yZGVyOiBjaGlsZHJlbiBiZWZvcmUgcGFyZW50cy5cbi8vIDMuIEFsbCBhZnRlclVwZGF0ZSBjYWxsYmFja3MsIGluIG9yZGVyOiBwYXJlbnRzIGJlZm9yZSBjaGlsZHJlbi4gRVhDRVBUXG4vLyAgICBmb3IgYWZ0ZXJVcGRhdGVzIGNhbGxlZCBkdXJpbmcgdGhlIGluaXRpYWwgb25Nb3VudCwgd2hpY2ggYXJlIGNhbGxlZCBpblxuLy8gICAgcmV2ZXJzZSBvcmRlcjogY2hpbGRyZW4gYmVmb3JlIHBhcmVudHMuXG4vLyBTaW5jZSBjYWxsYmFja3MgbWlnaHQgdXBkYXRlIGNvbXBvbmVudCB2YWx1ZXMsIHdoaWNoIGNvdWxkIHRyaWdnZXIgYW5vdGhlclxuLy8gY2FsbCB0byBmbHVzaCgpLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGd1YXJkIGFnYWluc3QgdGhpczpcbi8vIDEuIER1cmluZyBiZWZvcmVVcGRhdGUsIGFueSB1cGRhdGVkIGNvbXBvbmVudHMgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vICAgIGRpcnR5X2NvbXBvbmVudHMgYXJyYXkgYW5kIHdpbGwgY2F1c2UgYSByZWVudHJhbnQgY2FsbCB0byBmbHVzaCgpLiBCZWNhdXNlXG4vLyAgICB0aGUgZmx1c2ggaW5kZXggaXMga2VwdCBvdXRzaWRlIHRoZSBmdW5jdGlvbiwgdGhlIHJlZW50cmFudCBjYWxsIHdpbGwgcGlja1xuLy8gICAgdXAgd2hlcmUgdGhlIGVhcmxpZXIgY2FsbCBsZWZ0IG9mZiBhbmQgZ28gdGhyb3VnaCBhbGwgZGlydHkgY29tcG9uZW50cy4gVGhlXG4vLyAgICBjdXJyZW50X2NvbXBvbmVudCB2YWx1ZSBpcyBzYXZlZCBhbmQgcmVzdG9yZWQgc28gdGhhdCB0aGUgcmVlbnRyYW50IGNhbGwgd2lsbFxuLy8gICAgbm90IGludGVyZmVyZSB3aXRoIHRoZSBcInBhcmVudFwiIGZsdXNoKCkgY2FsbC5cbi8vIDIuIGJpbmQ6dGhpcyBjYWxsYmFja3MgY2Fubm90IHRyaWdnZXIgbmV3IGZsdXNoKCkgY2FsbHMuXG4vLyAzLiBEdXJpbmcgYWZ0ZXJVcGRhdGUsIGFueSB1cGRhdGVkIGNvbXBvbmVudHMgd2lsbCBOT1QgaGF2ZSB0aGVpciBhZnRlclVwZGF0ZVxuLy8gICAgY2FsbGJhY2sgY2FsbGVkIGEgc2Vjb25kIHRpbWU7IHRoZSBzZWVuX2NhbGxiYWNrcyBzZXQsIG91dHNpZGUgdGhlIGZsdXNoKClcbi8vICAgIGZ1bmN0aW9uLCBndWFyYW50ZWVzIHRoaXMgYmVoYXZpb3IuXG5jb25zdCBzZWVuX2NhbGxiYWNrcyA9IG5ldyBTZXQoKTtcbmxldCBmbHVzaGlkeCA9IDA7IC8vIERvICpub3QqIG1vdmUgdGhpcyBpbnNpZGUgdGhlIGZsdXNoKCkgZnVuY3Rpb25cbmZ1bmN0aW9uIGZsdXNoKCkge1xuICAgIGNvbnN0IHNhdmVkX2NvbXBvbmVudCA9IGN1cnJlbnRfY29tcG9uZW50O1xuICAgIGRvIHtcbiAgICAgICAgLy8gZmlyc3QsIGNhbGwgYmVmb3JlVXBkYXRlIGZ1bmN0aW9uc1xuICAgICAgICAvLyBhbmQgdXBkYXRlIGNvbXBvbmVudHNcbiAgICAgICAgd2hpbGUgKGZsdXNoaWR4IDwgZGlydHlfY29tcG9uZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGRpcnR5X2NvbXBvbmVudHNbZmx1c2hpZHhdO1xuICAgICAgICAgICAgZmx1c2hpZHgrKztcbiAgICAgICAgICAgIHNldF9jdXJyZW50X2NvbXBvbmVudChjb21wb25lbnQpO1xuICAgICAgICAgICAgdXBkYXRlKGNvbXBvbmVudC4kJCk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0X2N1cnJlbnRfY29tcG9uZW50KG51bGwpO1xuICAgICAgICBkaXJ0eV9jb21wb25lbnRzLmxlbmd0aCA9IDA7XG4gICAgICAgIGZsdXNoaWR4ID0gMDtcbiAgICAgICAgd2hpbGUgKGJpbmRpbmdfY2FsbGJhY2tzLmxlbmd0aClcbiAgICAgICAgICAgIGJpbmRpbmdfY2FsbGJhY2tzLnBvcCgpKCk7XG4gICAgICAgIC8vIHRoZW4sIG9uY2UgY29tcG9uZW50cyBhcmUgdXBkYXRlZCwgY2FsbFxuICAgICAgICAvLyBhZnRlclVwZGF0ZSBmdW5jdGlvbnMuIFRoaXMgbWF5IGNhdXNlXG4gICAgICAgIC8vIHN1YnNlcXVlbnQgdXBkYXRlcy4uLlxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlbmRlcl9jYWxsYmFja3MubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrID0gcmVuZGVyX2NhbGxiYWNrc1tpXTtcbiAgICAgICAgICAgIGlmICghc2Vlbl9jYWxsYmFja3MuaGFzKGNhbGxiYWNrKSkge1xuICAgICAgICAgICAgICAgIC8vIC4uLnNvIGd1YXJkIGFnYWluc3QgaW5maW5pdGUgbG9vcHNcbiAgICAgICAgICAgICAgICBzZWVuX2NhbGxiYWNrcy5hZGQoY2FsbGJhY2spO1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVuZGVyX2NhbGxiYWNrcy5sZW5ndGggPSAwO1xuICAgIH0gd2hpbGUgKGRpcnR5X2NvbXBvbmVudHMubGVuZ3RoKTtcbiAgICB3aGlsZSAoZmx1c2hfY2FsbGJhY2tzLmxlbmd0aCkge1xuICAgICAgICBmbHVzaF9jYWxsYmFja3MucG9wKCkoKTtcbiAgICB9XG4gICAgdXBkYXRlX3NjaGVkdWxlZCA9IGZhbHNlO1xuICAgIHNlZW5fY2FsbGJhY2tzLmNsZWFyKCk7XG4gICAgc2V0X2N1cnJlbnRfY29tcG9uZW50KHNhdmVkX2NvbXBvbmVudCk7XG59XG5mdW5jdGlvbiB1cGRhdGUoJCQpIHtcbiAgICBpZiAoJCQuZnJhZ21lbnQgIT09IG51bGwpIHtcbiAgICAgICAgJCQudXBkYXRlKCk7XG4gICAgICAgIHJ1bl9hbGwoJCQuYmVmb3JlX3VwZGF0ZSk7XG4gICAgICAgIGNvbnN0IGRpcnR5ID0gJCQuZGlydHk7XG4gICAgICAgICQkLmRpcnR5ID0gWy0xXTtcbiAgICAgICAgJCQuZnJhZ21lbnQgJiYgJCQuZnJhZ21lbnQucCgkJC5jdHgsIGRpcnR5KTtcbiAgICAgICAgJCQuYWZ0ZXJfdXBkYXRlLmZvckVhY2goYWRkX3JlbmRlcl9jYWxsYmFjayk7XG4gICAgfVxufVxuXG5sZXQgcHJvbWlzZTtcbmZ1bmN0aW9uIHdhaXQoKSB7XG4gICAgaWYgKCFwcm9taXNlKSB7XG4gICAgICAgIHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgcHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHByb21pc2UgPSBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5mdW5jdGlvbiBkaXNwYXRjaChub2RlLCBkaXJlY3Rpb24sIGtpbmQpIHtcbiAgICBub2RlLmRpc3BhdGNoRXZlbnQoY3VzdG9tX2V2ZW50KGAke2RpcmVjdGlvbiA/ICdpbnRybycgOiAnb3V0cm8nfSR7a2luZH1gKSk7XG59XG5jb25zdCBvdXRyb2luZyA9IG5ldyBTZXQoKTtcbmxldCBvdXRyb3M7XG5mdW5jdGlvbiBncm91cF9vdXRyb3MoKSB7XG4gICAgb3V0cm9zID0ge1xuICAgICAgICByOiAwLFxuICAgICAgICBjOiBbXSxcbiAgICAgICAgcDogb3V0cm9zIC8vIHBhcmVudCBncm91cFxuICAgIH07XG59XG5mdW5jdGlvbiBjaGVja19vdXRyb3MoKSB7XG4gICAgaWYgKCFvdXRyb3Mucikge1xuICAgICAgICBydW5fYWxsKG91dHJvcy5jKTtcbiAgICB9XG4gICAgb3V0cm9zID0gb3V0cm9zLnA7XG59XG5mdW5jdGlvbiB0cmFuc2l0aW9uX2luKGJsb2NrLCBsb2NhbCkge1xuICAgIGlmIChibG9jayAmJiBibG9jay5pKSB7XG4gICAgICAgIG91dHJvaW5nLmRlbGV0ZShibG9jayk7XG4gICAgICAgIGJsb2NrLmkobG9jYWwpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHRyYW5zaXRpb25fb3V0KGJsb2NrLCBsb2NhbCwgZGV0YWNoLCBjYWxsYmFjaykge1xuICAgIGlmIChibG9jayAmJiBibG9jay5vKSB7XG4gICAgICAgIGlmIChvdXRyb2luZy5oYXMoYmxvY2spKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBvdXRyb2luZy5hZGQoYmxvY2spO1xuICAgICAgICBvdXRyb3MuYy5wdXNoKCgpID0+IHtcbiAgICAgICAgICAgIG91dHJvaW5nLmRlbGV0ZShibG9jayk7XG4gICAgICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBpZiAoZGV0YWNoKVxuICAgICAgICAgICAgICAgICAgICBibG9jay5kKDEpO1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBibG9jay5vKGxvY2FsKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICB9XG59XG5jb25zdCBudWxsX3RyYW5zaXRpb24gPSB7IGR1cmF0aW9uOiAwIH07XG5mdW5jdGlvbiBjcmVhdGVfaW5fdHJhbnNpdGlvbihub2RlLCBmbiwgcGFyYW1zKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgZGlyZWN0aW9uOiAnaW4nIH07XG4gICAgbGV0IGNvbmZpZyA9IGZuKG5vZGUsIHBhcmFtcywgb3B0aW9ucyk7XG4gICAgbGV0IHJ1bm5pbmcgPSBmYWxzZTtcbiAgICBsZXQgYW5pbWF0aW9uX25hbWU7XG4gICAgbGV0IHRhc2s7XG4gICAgbGV0IHVpZCA9IDA7XG4gICAgZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgICAgaWYgKGFuaW1hdGlvbl9uYW1lKVxuICAgICAgICAgICAgZGVsZXRlX3J1bGUobm9kZSwgYW5pbWF0aW9uX25hbWUpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnbygpIHtcbiAgICAgICAgY29uc3QgeyBkZWxheSA9IDAsIGR1cmF0aW9uID0gMzAwLCBlYXNpbmcgPSBpZGVudGl0eSwgdGljayA9IG5vb3AsIGNzcyB9ID0gY29uZmlnIHx8IG51bGxfdHJhbnNpdGlvbjtcbiAgICAgICAgaWYgKGNzcylcbiAgICAgICAgICAgIGFuaW1hdGlvbl9uYW1lID0gY3JlYXRlX3J1bGUobm9kZSwgMCwgMSwgZHVyYXRpb24sIGRlbGF5LCBlYXNpbmcsIGNzcywgdWlkKyspO1xuICAgICAgICB0aWNrKDAsIDEpO1xuICAgICAgICBjb25zdCBzdGFydF90aW1lID0gbm93KCkgKyBkZWxheTtcbiAgICAgICAgY29uc3QgZW5kX3RpbWUgPSBzdGFydF90aW1lICsgZHVyYXRpb247XG4gICAgICAgIGlmICh0YXNrKVxuICAgICAgICAgICAgdGFzay5hYm9ydCgpO1xuICAgICAgICBydW5uaW5nID0gdHJ1ZTtcbiAgICAgICAgYWRkX3JlbmRlcl9jYWxsYmFjaygoKSA9PiBkaXNwYXRjaChub2RlLCB0cnVlLCAnc3RhcnQnKSk7XG4gICAgICAgIHRhc2sgPSBsb29wKG5vdyA9PiB7XG4gICAgICAgICAgICBpZiAocnVubmluZykge1xuICAgICAgICAgICAgICAgIGlmIChub3cgPj0gZW5kX3RpbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGljaygxLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gobm9kZSwgdHJ1ZSwgJ2VuZCcpO1xuICAgICAgICAgICAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBydW5uaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChub3cgPj0gc3RhcnRfdGltZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ID0gZWFzaW5nKChub3cgLSBzdGFydF90aW1lKSAvIGR1cmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgdGljayh0LCAxIC0gdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJ1bm5pbmc7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBsZXQgc3RhcnRlZCA9IGZhbHNlO1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YXJ0KCkge1xuICAgICAgICAgICAgaWYgKHN0YXJ0ZWQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgc3RhcnRlZCA9IHRydWU7XG4gICAgICAgICAgICBkZWxldGVfcnVsZShub2RlKTtcbiAgICAgICAgICAgIGlmIChpc19mdW5jdGlvbihjb25maWcpKSB7XG4gICAgICAgICAgICAgICAgY29uZmlnID0gY29uZmlnKG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHdhaXQoKS50aGVuKGdvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGdvKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGludmFsaWRhdGUoKSB7XG4gICAgICAgICAgICBzdGFydGVkID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVuZCgpIHtcbiAgICAgICAgICAgIGlmIChydW5uaW5nKSB7XG4gICAgICAgICAgICAgICAgY2xlYW51cCgpO1xuICAgICAgICAgICAgICAgIHJ1bm5pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiBjcmVhdGVfb3V0X3RyYW5zaXRpb24obm9kZSwgZm4sIHBhcmFtcykge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7IGRpcmVjdGlvbjogJ291dCcgfTtcbiAgICBsZXQgY29uZmlnID0gZm4obm9kZSwgcGFyYW1zLCBvcHRpb25zKTtcbiAgICBsZXQgcnVubmluZyA9IHRydWU7XG4gICAgbGV0IGFuaW1hdGlvbl9uYW1lO1xuICAgIGNvbnN0IGdyb3VwID0gb3V0cm9zO1xuICAgIGdyb3VwLnIgKz0gMTtcbiAgICBmdW5jdGlvbiBnbygpIHtcbiAgICAgICAgY29uc3QgeyBkZWxheSA9IDAsIGR1cmF0aW9uID0gMzAwLCBlYXNpbmcgPSBpZGVudGl0eSwgdGljayA9IG5vb3AsIGNzcyB9ID0gY29uZmlnIHx8IG51bGxfdHJhbnNpdGlvbjtcbiAgICAgICAgaWYgKGNzcylcbiAgICAgICAgICAgIGFuaW1hdGlvbl9uYW1lID0gY3JlYXRlX3J1bGUobm9kZSwgMSwgMCwgZHVyYXRpb24sIGRlbGF5LCBlYXNpbmcsIGNzcyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0X3RpbWUgPSBub3coKSArIGRlbGF5O1xuICAgICAgICBjb25zdCBlbmRfdGltZSA9IHN0YXJ0X3RpbWUgKyBkdXJhdGlvbjtcbiAgICAgICAgYWRkX3JlbmRlcl9jYWxsYmFjaygoKSA9PiBkaXNwYXRjaChub2RlLCBmYWxzZSwgJ3N0YXJ0JykpO1xuICAgICAgICBsb29wKG5vdyA9PiB7XG4gICAgICAgICAgICBpZiAocnVubmluZykge1xuICAgICAgICAgICAgICAgIGlmIChub3cgPj0gZW5kX3RpbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGljaygwLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gobm9kZSwgZmFsc2UsICdlbmQnKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEtLWdyb3VwLnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgd2lsbCByZXN1bHQgaW4gYGVuZCgpYCBiZWluZyBjYWxsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB3ZSBkb24ndCBuZWVkIHRvIGNsZWFuIHVwIGhlcmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9hbGwoZ3JvdXAuYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobm93ID49IHN0YXJ0X3RpbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdCA9IGVhc2luZygobm93IC0gc3RhcnRfdGltZSkgLyBkdXJhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIHRpY2soMSAtIHQsIHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBydW5uaW5nO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGlzX2Z1bmN0aW9uKGNvbmZpZykpIHtcbiAgICAgICAgd2FpdCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgY29uZmlnID0gY29uZmlnKG9wdGlvbnMpO1xuICAgICAgICAgICAgZ28oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBnbygpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBlbmQocmVzZXQpIHtcbiAgICAgICAgICAgIGlmIChyZXNldCAmJiBjb25maWcudGljaykge1xuICAgICAgICAgICAgICAgIGNvbmZpZy50aWNrKDEsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bm5pbmcpIHtcbiAgICAgICAgICAgICAgICBpZiAoYW5pbWF0aW9uX25hbWUpXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZV9ydWxlKG5vZGUsIGFuaW1hdGlvbl9uYW1lKTtcbiAgICAgICAgICAgICAgICBydW5uaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlX2JpZGlyZWN0aW9uYWxfdHJhbnNpdGlvbihub2RlLCBmbiwgcGFyYW1zLCBpbnRybykge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7IGRpcmVjdGlvbjogJ2JvdGgnIH07XG4gICAgbGV0IGNvbmZpZyA9IGZuKG5vZGUsIHBhcmFtcywgb3B0aW9ucyk7XG4gICAgbGV0IHQgPSBpbnRybyA/IDAgOiAxO1xuICAgIGxldCBydW5uaW5nX3Byb2dyYW0gPSBudWxsO1xuICAgIGxldCBwZW5kaW5nX3Byb2dyYW0gPSBudWxsO1xuICAgIGxldCBhbmltYXRpb25fbmFtZSA9IG51bGw7XG4gICAgZnVuY3Rpb24gY2xlYXJfYW5pbWF0aW9uKCkge1xuICAgICAgICBpZiAoYW5pbWF0aW9uX25hbWUpXG4gICAgICAgICAgICBkZWxldGVfcnVsZShub2RlLCBhbmltYXRpb25fbmFtZSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGluaXQocHJvZ3JhbSwgZHVyYXRpb24pIHtcbiAgICAgICAgY29uc3QgZCA9IChwcm9ncmFtLmIgLSB0KTtcbiAgICAgICAgZHVyYXRpb24gKj0gTWF0aC5hYnMoZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhOiB0LFxuICAgICAgICAgICAgYjogcHJvZ3JhbS5iLFxuICAgICAgICAgICAgZCxcbiAgICAgICAgICAgIGR1cmF0aW9uLFxuICAgICAgICAgICAgc3RhcnQ6IHByb2dyYW0uc3RhcnQsXG4gICAgICAgICAgICBlbmQ6IHByb2dyYW0uc3RhcnQgKyBkdXJhdGlvbixcbiAgICAgICAgICAgIGdyb3VwOiBwcm9ncmFtLmdyb3VwXG4gICAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdvKGIpIHtcbiAgICAgICAgY29uc3QgeyBkZWxheSA9IDAsIGR1cmF0aW9uID0gMzAwLCBlYXNpbmcgPSBpZGVudGl0eSwgdGljayA9IG5vb3AsIGNzcyB9ID0gY29uZmlnIHx8IG51bGxfdHJhbnNpdGlvbjtcbiAgICAgICAgY29uc3QgcHJvZ3JhbSA9IHtcbiAgICAgICAgICAgIHN0YXJ0OiBub3coKSArIGRlbGF5LFxuICAgICAgICAgICAgYlxuICAgICAgICB9O1xuICAgICAgICBpZiAoIWIpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgdG9kbzogaW1wcm92ZSB0eXBpbmdzXG4gICAgICAgICAgICBwcm9ncmFtLmdyb3VwID0gb3V0cm9zO1xuICAgICAgICAgICAgb3V0cm9zLnIgKz0gMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocnVubmluZ19wcm9ncmFtIHx8IHBlbmRpbmdfcHJvZ3JhbSkge1xuICAgICAgICAgICAgcGVuZGluZ19wcm9ncmFtID0gcHJvZ3JhbTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaXMgYW4gaW50cm8sIGFuZCB0aGVyZSdzIGEgZGVsYXksIHdlIG5lZWQgdG8gZG9cbiAgICAgICAgICAgIC8vIGFuIGluaXRpYWwgdGljayBhbmQvb3IgYXBwbHkgQ1NTIGFuaW1hdGlvbiBpbW1lZGlhdGVseVxuICAgICAgICAgICAgaWYgKGNzcykge1xuICAgICAgICAgICAgICAgIGNsZWFyX2FuaW1hdGlvbigpO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbl9uYW1lID0gY3JlYXRlX3J1bGUobm9kZSwgdCwgYiwgZHVyYXRpb24sIGRlbGF5LCBlYXNpbmcsIGNzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYilcbiAgICAgICAgICAgICAgICB0aWNrKDAsIDEpO1xuICAgICAgICAgICAgcnVubmluZ19wcm9ncmFtID0gaW5pdChwcm9ncmFtLCBkdXJhdGlvbik7XG4gICAgICAgICAgICBhZGRfcmVuZGVyX2NhbGxiYWNrKCgpID0+IGRpc3BhdGNoKG5vZGUsIGIsICdzdGFydCcpKTtcbiAgICAgICAgICAgIGxvb3Aobm93ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGVuZGluZ19wcm9ncmFtICYmIG5vdyA+IHBlbmRpbmdfcHJvZ3JhbS5zdGFydCkge1xuICAgICAgICAgICAgICAgICAgICBydW5uaW5nX3Byb2dyYW0gPSBpbml0KHBlbmRpbmdfcHJvZ3JhbSwgZHVyYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBwZW5kaW5nX3Byb2dyYW0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaChub2RlLCBydW5uaW5nX3Byb2dyYW0uYiwgJ3N0YXJ0Jyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX2FuaW1hdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uX25hbWUgPSBjcmVhdGVfcnVsZShub2RlLCB0LCBydW5uaW5nX3Byb2dyYW0uYiwgcnVubmluZ19wcm9ncmFtLmR1cmF0aW9uLCAwLCBlYXNpbmcsIGNvbmZpZy5jc3MpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChydW5uaW5nX3Byb2dyYW0pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vdyA+PSBydW5uaW5nX3Byb2dyYW0uZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aWNrKHQgPSBydW5uaW5nX3Byb2dyYW0uYiwgMSAtIHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2gobm9kZSwgcnVubmluZ19wcm9ncmFtLmIsICdlbmQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcGVuZGluZ19wcm9ncmFtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2UncmUgZG9uZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydW5uaW5nX3Byb2dyYW0uYikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbnRybyDigJQgd2UgY2FuIHRpZHkgdXAgaW1tZWRpYXRlbHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJfYW5pbWF0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvdXRybyDigJQgbmVlZHMgdG8gYmUgY29vcmRpbmF0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEtLXJ1bm5pbmdfcHJvZ3JhbS5ncm91cC5yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuX2FsbChydW5uaW5nX3Byb2dyYW0uZ3JvdXAuYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcnVubmluZ19wcm9ncmFtID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChub3cgPj0gcnVubmluZ19wcm9ncmFtLnN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwID0gbm93IC0gcnVubmluZ19wcm9ncmFtLnN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdCA9IHJ1bm5pbmdfcHJvZ3JhbS5hICsgcnVubmluZ19wcm9ncmFtLmQgKiBlYXNpbmcocCAvIHJ1bm5pbmdfcHJvZ3JhbS5kdXJhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aWNrKHQsIDEgLSB0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gISEocnVubmluZ19wcm9ncmFtIHx8IHBlbmRpbmdfcHJvZ3JhbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBydW4oYikge1xuICAgICAgICAgICAgaWYgKGlzX2Z1bmN0aW9uKGNvbmZpZykpIHtcbiAgICAgICAgICAgICAgICB3YWl0KCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnID0gY29uZmlnKG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICBnbyhiKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGdvKGIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlbmQoKSB7XG4gICAgICAgICAgICBjbGVhcl9hbmltYXRpb24oKTtcbiAgICAgICAgICAgIHJ1bm5pbmdfcHJvZ3JhbSA9IHBlbmRpbmdfcHJvZ3JhbSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5mdW5jdGlvbiBoYW5kbGVfcHJvbWlzZShwcm9taXNlLCBpbmZvKSB7XG4gICAgY29uc3QgdG9rZW4gPSBpbmZvLnRva2VuID0ge307XG4gICAgZnVuY3Rpb24gdXBkYXRlKHR5cGUsIGluZGV4LCBrZXksIHZhbHVlKSB7XG4gICAgICAgIGlmIChpbmZvLnRva2VuICE9PSB0b2tlbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaW5mby5yZXNvbHZlZCA9IHZhbHVlO1xuICAgICAgICBsZXQgY2hpbGRfY3R4ID0gaW5mby5jdHg7XG4gICAgICAgIGlmIChrZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY2hpbGRfY3R4ID0gY2hpbGRfY3R4LnNsaWNlKCk7XG4gICAgICAgICAgICBjaGlsZF9jdHhba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJsb2NrID0gdHlwZSAmJiAoaW5mby5jdXJyZW50ID0gdHlwZSkoY2hpbGRfY3R4KTtcbiAgICAgICAgbGV0IG5lZWRzX2ZsdXNoID0gZmFsc2U7XG4gICAgICAgIGlmIChpbmZvLmJsb2NrKSB7XG4gICAgICAgICAgICBpZiAoaW5mby5ibG9ja3MpIHtcbiAgICAgICAgICAgICAgICBpbmZvLmJsb2Nrcy5mb3JFYWNoKChibG9jaywgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSAhPT0gaW5kZXggJiYgYmxvY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwX291dHJvcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbl9vdXQoYmxvY2ssIDEsIDEsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5mby5ibG9ja3NbaV0gPT09IGJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uYmxvY2tzW2ldID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX291dHJvcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbmZvLmJsb2NrLmQoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBibG9jay5jKCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uX2luKGJsb2NrLCAxKTtcbiAgICAgICAgICAgIGJsb2NrLm0oaW5mby5tb3VudCgpLCBpbmZvLmFuY2hvcik7XG4gICAgICAgICAgICBuZWVkc19mbHVzaCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaW5mby5ibG9jayA9IGJsb2NrO1xuICAgICAgICBpZiAoaW5mby5ibG9ja3MpXG4gICAgICAgICAgICBpbmZvLmJsb2Nrc1tpbmRleF0gPSBibG9jaztcbiAgICAgICAgaWYgKG5lZWRzX2ZsdXNoKSB7XG4gICAgICAgICAgICBmbHVzaCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChpc19wcm9taXNlKHByb21pc2UpKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRfY29tcG9uZW50ID0gZ2V0X2N1cnJlbnRfY29tcG9uZW50KCk7XG4gICAgICAgIHByb21pc2UudGhlbih2YWx1ZSA9PiB7XG4gICAgICAgICAgICBzZXRfY3VycmVudF9jb21wb25lbnQoY3VycmVudF9jb21wb25lbnQpO1xuICAgICAgICAgICAgdXBkYXRlKGluZm8udGhlbiwgMSwgaW5mby52YWx1ZSwgdmFsdWUpO1xuICAgICAgICAgICAgc2V0X2N1cnJlbnRfY29tcG9uZW50KG51bGwpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICBzZXRfY3VycmVudF9jb21wb25lbnQoY3VycmVudF9jb21wb25lbnQpO1xuICAgICAgICAgICAgdXBkYXRlKGluZm8uY2F0Y2gsIDIsIGluZm8uZXJyb3IsIGVycm9yKTtcbiAgICAgICAgICAgIHNldF9jdXJyZW50X2NvbXBvbmVudChudWxsKTtcbiAgICAgICAgICAgIGlmICghaW5mby5oYXNDYXRjaCkge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gaWYgd2UgcHJldmlvdXNseSBoYWQgYSB0aGVuL2NhdGNoIGJsb2NrLCBkZXN0cm95IGl0XG4gICAgICAgIGlmIChpbmZvLmN1cnJlbnQgIT09IGluZm8ucGVuZGluZykge1xuICAgICAgICAgICAgdXBkYXRlKGluZm8ucGVuZGluZywgMCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgaWYgKGluZm8uY3VycmVudCAhPT0gaW5mby50aGVuKSB7XG4gICAgICAgICAgICB1cGRhdGUoaW5mby50aGVuLCAxLCBpbmZvLnZhbHVlLCBwcm9taXNlKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGluZm8ucmVzb2x2ZWQgPSBwcm9taXNlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHVwZGF0ZV9hd2FpdF9ibG9ja19icmFuY2goaW5mbywgY3R4LCBkaXJ0eSkge1xuICAgIGNvbnN0IGNoaWxkX2N0eCA9IGN0eC5zbGljZSgpO1xuICAgIGNvbnN0IHsgcmVzb2x2ZWQgfSA9IGluZm87XG4gICAgaWYgKGluZm8uY3VycmVudCA9PT0gaW5mby50aGVuKSB7XG4gICAgICAgIGNoaWxkX2N0eFtpbmZvLnZhbHVlXSA9IHJlc29sdmVkO1xuICAgIH1cbiAgICBpZiAoaW5mby5jdXJyZW50ID09PSBpbmZvLmNhdGNoKSB7XG4gICAgICAgIGNoaWxkX2N0eFtpbmZvLmVycm9yXSA9IHJlc29sdmVkO1xuICAgIH1cbiAgICBpbmZvLmJsb2NrLnAoY2hpbGRfY3R4LCBkaXJ0eSk7XG59XG5cbmNvbnN0IGdsb2JhbHMgPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCdcbiAgICA/IHdpbmRvd1xuICAgIDogdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnXG4gICAgICAgID8gZ2xvYmFsVGhpc1xuICAgICAgICA6IGdsb2JhbCk7XG5cbmZ1bmN0aW9uIGRlc3Ryb3lfYmxvY2soYmxvY2ssIGxvb2t1cCkge1xuICAgIGJsb2NrLmQoMSk7XG4gICAgbG9va3VwLmRlbGV0ZShibG9jay5rZXkpO1xufVxuZnVuY3Rpb24gb3V0cm9fYW5kX2Rlc3Ryb3lfYmxvY2soYmxvY2ssIGxvb2t1cCkge1xuICAgIHRyYW5zaXRpb25fb3V0KGJsb2NrLCAxLCAxLCAoKSA9PiB7XG4gICAgICAgIGxvb2t1cC5kZWxldGUoYmxvY2sua2V5KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGZpeF9hbmRfZGVzdHJveV9ibG9jayhibG9jaywgbG9va3VwKSB7XG4gICAgYmxvY2suZigpO1xuICAgIGRlc3Ryb3lfYmxvY2soYmxvY2ssIGxvb2t1cCk7XG59XG5mdW5jdGlvbiBmaXhfYW5kX291dHJvX2FuZF9kZXN0cm95X2Jsb2NrKGJsb2NrLCBsb29rdXApIHtcbiAgICBibG9jay5mKCk7XG4gICAgb3V0cm9fYW5kX2Rlc3Ryb3lfYmxvY2soYmxvY2ssIGxvb2t1cCk7XG59XG5mdW5jdGlvbiB1cGRhdGVfa2V5ZWRfZWFjaChvbGRfYmxvY2tzLCBkaXJ0eSwgZ2V0X2tleSwgZHluYW1pYywgY3R4LCBsaXN0LCBsb29rdXAsIG5vZGUsIGRlc3Ryb3ksIGNyZWF0ZV9lYWNoX2Jsb2NrLCBuZXh0LCBnZXRfY29udGV4dCkge1xuICAgIGxldCBvID0gb2xkX2Jsb2Nrcy5sZW5ndGg7XG4gICAgbGV0IG4gPSBsaXN0Lmxlbmd0aDtcbiAgICBsZXQgaSA9IG87XG4gICAgY29uc3Qgb2xkX2luZGV4ZXMgPSB7fTtcbiAgICB3aGlsZSAoaS0tKVxuICAgICAgICBvbGRfaW5kZXhlc1tvbGRfYmxvY2tzW2ldLmtleV0gPSBpO1xuICAgIGNvbnN0IG5ld19ibG9ja3MgPSBbXTtcbiAgICBjb25zdCBuZXdfbG9va3VwID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IGRlbHRhcyA9IG5ldyBNYXAoKTtcbiAgICBpID0gbjtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkX2N0eCA9IGdldF9jb250ZXh0KGN0eCwgbGlzdCwgaSk7XG4gICAgICAgIGNvbnN0IGtleSA9IGdldF9rZXkoY2hpbGRfY3R4KTtcbiAgICAgICAgbGV0IGJsb2NrID0gbG9va3VwLmdldChrZXkpO1xuICAgICAgICBpZiAoIWJsb2NrKSB7XG4gICAgICAgICAgICBibG9jayA9IGNyZWF0ZV9lYWNoX2Jsb2NrKGtleSwgY2hpbGRfY3R4KTtcbiAgICAgICAgICAgIGJsb2NrLmMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChkeW5hbWljKSB7XG4gICAgICAgICAgICBibG9jay5wKGNoaWxkX2N0eCwgZGlydHkpO1xuICAgICAgICB9XG4gICAgICAgIG5ld19sb29rdXAuc2V0KGtleSwgbmV3X2Jsb2Nrc1tpXSA9IGJsb2NrKTtcbiAgICAgICAgaWYgKGtleSBpbiBvbGRfaW5kZXhlcylcbiAgICAgICAgICAgIGRlbHRhcy5zZXQoa2V5LCBNYXRoLmFicyhpIC0gb2xkX2luZGV4ZXNba2V5XSkpO1xuICAgIH1cbiAgICBjb25zdCB3aWxsX21vdmUgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgZGlkX21vdmUgPSBuZXcgU2V0KCk7XG4gICAgZnVuY3Rpb24gaW5zZXJ0KGJsb2NrKSB7XG4gICAgICAgIHRyYW5zaXRpb25faW4oYmxvY2ssIDEpO1xuICAgICAgICBibG9jay5tKG5vZGUsIG5leHQpO1xuICAgICAgICBsb29rdXAuc2V0KGJsb2NrLmtleSwgYmxvY2spO1xuICAgICAgICBuZXh0ID0gYmxvY2suZmlyc3Q7XG4gICAgICAgIG4tLTtcbiAgICB9XG4gICAgd2hpbGUgKG8gJiYgbikge1xuICAgICAgICBjb25zdCBuZXdfYmxvY2sgPSBuZXdfYmxvY2tzW24gLSAxXTtcbiAgICAgICAgY29uc3Qgb2xkX2Jsb2NrID0gb2xkX2Jsb2Nrc1tvIC0gMV07XG4gICAgICAgIGNvbnN0IG5ld19rZXkgPSBuZXdfYmxvY2sua2V5O1xuICAgICAgICBjb25zdCBvbGRfa2V5ID0gb2xkX2Jsb2NrLmtleTtcbiAgICAgICAgaWYgKG5ld19ibG9jayA9PT0gb2xkX2Jsb2NrKSB7XG4gICAgICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICAgICAgICBuZXh0ID0gbmV3X2Jsb2NrLmZpcnN0O1xuICAgICAgICAgICAgby0tO1xuICAgICAgICAgICAgbi0tO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFuZXdfbG9va3VwLmhhcyhvbGRfa2V5KSkge1xuICAgICAgICAgICAgLy8gcmVtb3ZlIG9sZCBibG9ja1xuICAgICAgICAgICAgZGVzdHJveShvbGRfYmxvY2ssIGxvb2t1cCk7XG4gICAgICAgICAgICBvLS07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIWxvb2t1cC5oYXMobmV3X2tleSkgfHwgd2lsbF9tb3ZlLmhhcyhuZXdfa2V5KSkge1xuICAgICAgICAgICAgaW5zZXJ0KG5ld19ibG9jayk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZGlkX21vdmUuaGFzKG9sZF9rZXkpKSB7XG4gICAgICAgICAgICBvLS07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZGVsdGFzLmdldChuZXdfa2V5KSA+IGRlbHRhcy5nZXQob2xkX2tleSkpIHtcbiAgICAgICAgICAgIGRpZF9tb3ZlLmFkZChuZXdfa2V5KTtcbiAgICAgICAgICAgIGluc2VydChuZXdfYmxvY2spO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgd2lsbF9tb3ZlLmFkZChvbGRfa2V5KTtcbiAgICAgICAgICAgIG8tLTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB3aGlsZSAoby0tKSB7XG4gICAgICAgIGNvbnN0IG9sZF9ibG9jayA9IG9sZF9ibG9ja3Nbb107XG4gICAgICAgIGlmICghbmV3X2xvb2t1cC5oYXMob2xkX2Jsb2NrLmtleSkpXG4gICAgICAgICAgICBkZXN0cm95KG9sZF9ibG9jaywgbG9va3VwKTtcbiAgICB9XG4gICAgd2hpbGUgKG4pXG4gICAgICAgIGluc2VydChuZXdfYmxvY2tzW24gLSAxXSk7XG4gICAgcmV0dXJuIG5ld19ibG9ja3M7XG59XG5mdW5jdGlvbiB2YWxpZGF0ZV9lYWNoX2tleXMoY3R4LCBsaXN0LCBnZXRfY29udGV4dCwgZ2V0X2tleSkge1xuICAgIGNvbnN0IGtleXMgPSBuZXcgU2V0KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGdldF9rZXkoZ2V0X2NvbnRleHQoY3R4LCBsaXN0LCBpKSk7XG4gICAgICAgIGlmIChrZXlzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBoYXZlIGR1cGxpY2F0ZSBrZXlzIGluIGEga2V5ZWQgZWFjaCcpO1xuICAgICAgICB9XG4gICAgICAgIGtleXMuYWRkKGtleSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXRfc3ByZWFkX3VwZGF0ZShsZXZlbHMsIHVwZGF0ZXMpIHtcbiAgICBjb25zdCB1cGRhdGUgPSB7fTtcbiAgICBjb25zdCB0b19udWxsX291dCA9IHt9O1xuICAgIGNvbnN0IGFjY291bnRlZF9mb3IgPSB7ICQkc2NvcGU6IDEgfTtcbiAgICBsZXQgaSA9IGxldmVscy5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgICBjb25zdCBvID0gbGV2ZWxzW2ldO1xuICAgICAgICBjb25zdCBuID0gdXBkYXRlc1tpXTtcbiAgICAgICAgaWYgKG4pIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG8pIHtcbiAgICAgICAgICAgICAgICBpZiAoIShrZXkgaW4gbikpXG4gICAgICAgICAgICAgICAgICAgIHRvX251bGxfb3V0W2tleV0gPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbikge1xuICAgICAgICAgICAgICAgIGlmICghYWNjb3VudGVkX2ZvcltrZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVtrZXldID0gbltrZXldO1xuICAgICAgICAgICAgICAgICAgICBhY2NvdW50ZWRfZm9yW2tleV0gPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldmVsc1tpXSA9IG47XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvKSB7XG4gICAgICAgICAgICAgICAgYWNjb3VudGVkX2ZvcltrZXldID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0b19udWxsX291dCkge1xuICAgICAgICBpZiAoIShrZXkgaW4gdXBkYXRlKSlcbiAgICAgICAgICAgIHVwZGF0ZVtrZXldID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdXBkYXRlO1xufVxuZnVuY3Rpb24gZ2V0X3NwcmVhZF9vYmplY3Qoc3ByZWFkX3Byb3BzKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBzcHJlYWRfcHJvcHMgPT09ICdvYmplY3QnICYmIHNwcmVhZF9wcm9wcyAhPT0gbnVsbCA/IHNwcmVhZF9wcm9wcyA6IHt9O1xufVxuXG4vLyBzb3VyY2U6IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2luZGljZXMuaHRtbFxuY29uc3QgYm9vbGVhbl9hdHRyaWJ1dGVzID0gbmV3IFNldChbXG4gICAgJ2FsbG93ZnVsbHNjcmVlbicsXG4gICAgJ2FsbG93cGF5bWVudHJlcXVlc3QnLFxuICAgICdhc3luYycsXG4gICAgJ2F1dG9mb2N1cycsXG4gICAgJ2F1dG9wbGF5JyxcbiAgICAnY2hlY2tlZCcsXG4gICAgJ2NvbnRyb2xzJyxcbiAgICAnZGVmYXVsdCcsXG4gICAgJ2RlZmVyJyxcbiAgICAnZGlzYWJsZWQnLFxuICAgICdmb3Jtbm92YWxpZGF0ZScsXG4gICAgJ2hpZGRlbicsXG4gICAgJ2luZXJ0JyxcbiAgICAnaXNtYXAnLFxuICAgICdpdGVtc2NvcGUnLFxuICAgICdsb29wJyxcbiAgICAnbXVsdGlwbGUnLFxuICAgICdtdXRlZCcsXG4gICAgJ25vbW9kdWxlJyxcbiAgICAnbm92YWxpZGF0ZScsXG4gICAgJ29wZW4nLFxuICAgICdwbGF5c2lubGluZScsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAncmVxdWlyZWQnLFxuICAgICdyZXZlcnNlZCcsXG4gICAgJ3NlbGVjdGVkJ1xuXSk7XG5cbi8qKiByZWdleCBvZiBhbGwgaHRtbCB2b2lkIGVsZW1lbnQgbmFtZXMgKi9cbmNvbnN0IHZvaWRfZWxlbWVudF9uYW1lcyA9IC9eKD86YXJlYXxiYXNlfGJyfGNvbHxjb21tYW5kfGVtYmVkfGhyfGltZ3xpbnB1dHxrZXlnZW58bGlua3xtZXRhfHBhcmFtfHNvdXJjZXx0cmFja3x3YnIpJC87XG5mdW5jdGlvbiBpc192b2lkKG5hbWUpIHtcbiAgICByZXR1cm4gdm9pZF9lbGVtZW50X25hbWVzLnRlc3QobmFtZSkgfHwgbmFtZS50b0xvd2VyQ2FzZSgpID09PSAnIWRvY3R5cGUnO1xufVxuXG5jb25zdCBpbnZhbGlkX2F0dHJpYnV0ZV9uYW1lX2NoYXJhY3RlciA9IC9bXFxzJ1wiPi89XFx1e0ZERDB9LVxcdXtGREVGfVxcdXtGRkZFfVxcdXtGRkZGfVxcdXsxRkZGRX1cXHV7MUZGRkZ9XFx1ezJGRkZFfVxcdXsyRkZGRn1cXHV7M0ZGRkV9XFx1ezNGRkZGfVxcdXs0RkZGRX1cXHV7NEZGRkZ9XFx1ezVGRkZFfVxcdXs1RkZGRn1cXHV7NkZGRkV9XFx1ezZGRkZGfVxcdXs3RkZGRX1cXHV7N0ZGRkZ9XFx1ezhGRkZFfVxcdXs4RkZGRn1cXHV7OUZGRkV9XFx1ezlGRkZGfVxcdXtBRkZGRX1cXHV7QUZGRkZ9XFx1e0JGRkZFfVxcdXtCRkZGRn1cXHV7Q0ZGRkV9XFx1e0NGRkZGfVxcdXtERkZGRX1cXHV7REZGRkZ9XFx1e0VGRkZFfVxcdXtFRkZGRn1cXHV7RkZGRkV9XFx1e0ZGRkZGfVxcdXsxMEZGRkV9XFx1ezEwRkZGRn1dL3U7XG4vLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNhdHRyaWJ1dGVzLTJcbi8vIGh0dHBzOi8vaW5mcmEuc3BlYy53aGF0d2cub3JnLyNub25jaGFyYWN0ZXJcbmZ1bmN0aW9uIHNwcmVhZChhcmdzLCBhdHRyc190b19hZGQpIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gT2JqZWN0LmFzc2lnbih7fSwgLi4uYXJncyk7XG4gICAgaWYgKGF0dHJzX3RvX2FkZCkge1xuICAgICAgICBjb25zdCBjbGFzc2VzX3RvX2FkZCA9IGF0dHJzX3RvX2FkZC5jbGFzc2VzO1xuICAgICAgICBjb25zdCBzdHlsZXNfdG9fYWRkID0gYXR0cnNfdG9fYWRkLnN0eWxlcztcbiAgICAgICAgaWYgKGNsYXNzZXNfdG9fYWRkKSB7XG4gICAgICAgICAgICBpZiAoYXR0cmlidXRlcy5jbGFzcyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcy5jbGFzcyA9IGNsYXNzZXNfdG9fYWRkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcy5jbGFzcyArPSAnICcgKyBjbGFzc2VzX3RvX2FkZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc3R5bGVzX3RvX2FkZCkge1xuICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMuc3R5bGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuc3R5bGUgPSBzdHlsZV9vYmplY3RfdG9fc3RyaW5nKHN0eWxlc190b19hZGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcy5zdHlsZSA9IHN0eWxlX29iamVjdF90b19zdHJpbmcobWVyZ2Vfc3NyX3N0eWxlcyhhdHRyaWJ1dGVzLnN0eWxlLCBzdHlsZXNfdG9fYWRkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IHN0ciA9ICcnO1xuICAgIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgIGlmIChpbnZhbGlkX2F0dHJpYnV0ZV9uYW1lX2NoYXJhY3Rlci50ZXN0KG5hbWUpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGF0dHJpYnV0ZXNbbmFtZV07XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgICAgICAgIHN0ciArPSAnICcgKyBuYW1lO1xuICAgICAgICBlbHNlIGlmIChib29sZWFuX2F0dHJpYnV0ZXMuaGFzKG5hbWUudG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSlcbiAgICAgICAgICAgICAgICBzdHIgKz0gJyAnICsgbmFtZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBzdHIgKz0gYCAke25hbWV9PVwiJHt2YWx1ZX1cImA7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gc3RyO1xufVxuZnVuY3Rpb24gbWVyZ2Vfc3NyX3N0eWxlcyhzdHlsZV9hdHRyaWJ1dGUsIHN0eWxlX2RpcmVjdGl2ZSkge1xuICAgIGNvbnN0IHN0eWxlX29iamVjdCA9IHt9O1xuICAgIGZvciAoY29uc3QgaW5kaXZpZHVhbF9zdHlsZSBvZiBzdHlsZV9hdHRyaWJ1dGUuc3BsaXQoJzsnKSkge1xuICAgICAgICBjb25zdCBjb2xvbl9pbmRleCA9IGluZGl2aWR1YWxfc3R5bGUuaW5kZXhPZignOicpO1xuICAgICAgICBjb25zdCBuYW1lID0gaW5kaXZpZHVhbF9zdHlsZS5zbGljZSgwLCBjb2xvbl9pbmRleCkudHJpbSgpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGluZGl2aWR1YWxfc3R5bGUuc2xpY2UoY29sb25faW5kZXggKyAxKS50cmltKCk7XG4gICAgICAgIGlmICghbmFtZSlcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBzdHlsZV9vYmplY3RbbmFtZV0gPSB2YWx1ZTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBuYW1lIGluIHN0eWxlX2RpcmVjdGl2ZSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHN0eWxlX2RpcmVjdGl2ZVtuYW1lXTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBzdHlsZV9vYmplY3RbbmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBzdHlsZV9vYmplY3RbbmFtZV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN0eWxlX29iamVjdDtcbn1cbmNvbnN0IEFUVFJfUkVHRVggPSAvWyZcIl0vZztcbmNvbnN0IENPTlRFTlRfUkVHRVggPSAvWyY8XS9nO1xuLyoqXG4gKiBOb3RlOiB0aGlzIG1ldGhvZCBpcyBwZXJmb3JtYW5jZSBzZW5zaXRpdmUgYW5kIGhhcyBiZWVuIG9wdGltaXplZFxuICogaHR0cHM6Ly9naXRodWIuY29tL3N2ZWx0ZWpzL3N2ZWx0ZS9wdWxsLzU3MDFcbiAqL1xuZnVuY3Rpb24gZXNjYXBlKHZhbHVlLCBpc19hdHRyID0gZmFsc2UpIHtcbiAgICBjb25zdCBzdHIgPSBTdHJpbmcodmFsdWUpO1xuICAgIGNvbnN0IHBhdHRlcm4gPSBpc19hdHRyID8gQVRUUl9SRUdFWCA6IENPTlRFTlRfUkVHRVg7XG4gICAgcGF0dGVybi5sYXN0SW5kZXggPSAwO1xuICAgIGxldCBlc2NhcGVkID0gJyc7XG4gICAgbGV0IGxhc3QgPSAwO1xuICAgIHdoaWxlIChwYXR0ZXJuLnRlc3Qoc3RyKSkge1xuICAgICAgICBjb25zdCBpID0gcGF0dGVybi5sYXN0SW5kZXggLSAxO1xuICAgICAgICBjb25zdCBjaCA9IHN0cltpXTtcbiAgICAgICAgZXNjYXBlZCArPSBzdHIuc3Vic3RyaW5nKGxhc3QsIGkpICsgKGNoID09PSAnJicgPyAnJmFtcDsnIDogKGNoID09PSAnXCInID8gJyZxdW90OycgOiAnJmx0OycpKTtcbiAgICAgICAgbGFzdCA9IGkgKyAxO1xuICAgIH1cbiAgICByZXR1cm4gZXNjYXBlZCArIHN0ci5zdWJzdHJpbmcobGFzdCk7XG59XG5mdW5jdGlvbiBlc2NhcGVfYXR0cmlidXRlX3ZhbHVlKHZhbHVlKSB7XG4gICAgLy8ga2VlcCBib29sZWFucywgbnVsbCwgYW5kIHVuZGVmaW5lZCBmb3IgdGhlIHNha2Ugb2YgYHNwcmVhZGBcbiAgICBjb25zdCBzaG91bGRfZXNjYXBlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jyk7XG4gICAgcmV0dXJuIHNob3VsZF9lc2NhcGUgPyBlc2NhcGUodmFsdWUsIHRydWUpIDogdmFsdWU7XG59XG5mdW5jdGlvbiBlc2NhcGVfb2JqZWN0KG9iaikge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgICByZXN1bHRba2V5XSA9IGVzY2FwZV9hdHRyaWJ1dGVfdmFsdWUob2JqW2tleV0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gZWFjaChpdGVtcywgZm4pIHtcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBzdHIgKz0gZm4oaXRlbXNbaV0sIGkpO1xuICAgIH1cbiAgICByZXR1cm4gc3RyO1xufVxuY29uc3QgbWlzc2luZ19jb21wb25lbnQgPSB7XG4gICAgJCRyZW5kZXI6ICgpID0+ICcnXG59O1xuZnVuY3Rpb24gdmFsaWRhdGVfY29tcG9uZW50KGNvbXBvbmVudCwgbmFtZSkge1xuICAgIGlmICghY29tcG9uZW50IHx8ICFjb21wb25lbnQuJCRyZW5kZXIpIHtcbiAgICAgICAgaWYgKG5hbWUgPT09ICdzdmVsdGU6Y29tcG9uZW50JylcbiAgICAgICAgICAgIG5hbWUgKz0gJyB0aGlzPXsuLi59JztcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGA8JHtuYW1lfT4gaXMgbm90IGEgdmFsaWQgU1NSIGNvbXBvbmVudC4gWW91IG1heSBuZWVkIHRvIHJldmlldyB5b3VyIGJ1aWxkIGNvbmZpZyB0byBlbnN1cmUgdGhhdCBkZXBlbmRlbmNpZXMgYXJlIGNvbXBpbGVkLCByYXRoZXIgdGhhbiBpbXBvcnRlZCBhcyBwcmUtY29tcGlsZWQgbW9kdWxlcy4gT3RoZXJ3aXNlIHlvdSBtYXkgbmVlZCB0byBmaXggYSA8JHtuYW1lfT4uYCk7XG4gICAgfVxuICAgIHJldHVybiBjb21wb25lbnQ7XG59XG5mdW5jdGlvbiBkZWJ1ZyhmaWxlLCBsaW5lLCBjb2x1bW4sIHZhbHVlcykge1xuICAgIGNvbnNvbGUubG9nKGB7QGRlYnVnfSAke2ZpbGUgPyBmaWxlICsgJyAnIDogJyd9KCR7bGluZX06JHtjb2x1bW59KWApOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmxvZyh2YWx1ZXMpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgICByZXR1cm4gJyc7XG59XG5sZXQgb25fZGVzdHJveTtcbmZ1bmN0aW9uIGNyZWF0ZV9zc3JfY29tcG9uZW50KGZuKSB7XG4gICAgZnVuY3Rpb24gJCRyZW5kZXIocmVzdWx0LCBwcm9wcywgYmluZGluZ3MsIHNsb3RzLCBjb250ZXh0KSB7XG4gICAgICAgIGNvbnN0IHBhcmVudF9jb21wb25lbnQgPSBjdXJyZW50X2NvbXBvbmVudDtcbiAgICAgICAgY29uc3QgJCQgPSB7XG4gICAgICAgICAgICBvbl9kZXN0cm95LFxuICAgICAgICAgICAgY29udGV4dDogbmV3IE1hcChjb250ZXh0IHx8IChwYXJlbnRfY29tcG9uZW50ID8gcGFyZW50X2NvbXBvbmVudC4kJC5jb250ZXh0IDogW10pKSxcbiAgICAgICAgICAgIC8vIHRoZXNlIHdpbGwgYmUgaW1tZWRpYXRlbHkgZGlzY2FyZGVkXG4gICAgICAgICAgICBvbl9tb3VudDogW10sXG4gICAgICAgICAgICBiZWZvcmVfdXBkYXRlOiBbXSxcbiAgICAgICAgICAgIGFmdGVyX3VwZGF0ZTogW10sXG4gICAgICAgICAgICBjYWxsYmFja3M6IGJsYW5rX29iamVjdCgpXG4gICAgICAgIH07XG4gICAgICAgIHNldF9jdXJyZW50X2NvbXBvbmVudCh7ICQkIH0pO1xuICAgICAgICBjb25zdCBodG1sID0gZm4ocmVzdWx0LCBwcm9wcywgYmluZGluZ3MsIHNsb3RzKTtcbiAgICAgICAgc2V0X2N1cnJlbnRfY29tcG9uZW50KHBhcmVudF9jb21wb25lbnQpO1xuICAgICAgICByZXR1cm4gaHRtbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVuZGVyOiAocHJvcHMgPSB7fSwgeyAkJHNsb3RzID0ge30sIGNvbnRleHQgPSBuZXcgTWFwKCkgfSA9IHt9KSA9PiB7XG4gICAgICAgICAgICBvbl9kZXN0cm95ID0gW107XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7IHRpdGxlOiAnJywgaGVhZDogJycsIGNzczogbmV3IFNldCgpIH07XG4gICAgICAgICAgICBjb25zdCBodG1sID0gJCRyZW5kZXIocmVzdWx0LCBwcm9wcywge30sICQkc2xvdHMsIGNvbnRleHQpO1xuICAgICAgICAgICAgcnVuX2FsbChvbl9kZXN0cm95KTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgICBjc3M6IHtcbiAgICAgICAgICAgICAgICAgICAgY29kZTogQXJyYXkuZnJvbShyZXN1bHQuY3NzKS5tYXAoY3NzID0+IGNzcy5jb2RlKS5qb2luKCdcXG4nKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwOiBudWxsIC8vIFRPRE9cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGhlYWQ6IHJlc3VsdC50aXRsZSArIHJlc3VsdC5oZWFkXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICAkJHJlbmRlclxuICAgIH07XG59XG5mdW5jdGlvbiBhZGRfYXR0cmlidXRlKG5hbWUsIHZhbHVlLCBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlID09IG51bGwgfHwgKGJvb2xlYW4gJiYgIXZhbHVlKSlcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIGNvbnN0IGFzc2lnbm1lbnQgPSAoYm9vbGVhbiAmJiB2YWx1ZSA9PT0gdHJ1ZSkgPyAnJyA6IGA9XCIke2VzY2FwZSh2YWx1ZSwgdHJ1ZSl9XCJgO1xuICAgIHJldHVybiBgICR7bmFtZX0ke2Fzc2lnbm1lbnR9YDtcbn1cbmZ1bmN0aW9uIGFkZF9jbGFzc2VzKGNsYXNzZXMpIHtcbiAgICByZXR1cm4gY2xhc3NlcyA/IGAgY2xhc3M9XCIke2NsYXNzZXN9XCJgIDogJyc7XG59XG5mdW5jdGlvbiBzdHlsZV9vYmplY3RfdG9fc3RyaW5nKHN0eWxlX29iamVjdCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhzdHlsZV9vYmplY3QpXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IHN0eWxlX29iamVjdFtrZXldKVxuICAgICAgICAubWFwKGtleSA9PiBgJHtrZXl9OiAke2VzY2FwZV9hdHRyaWJ1dGVfdmFsdWUoc3R5bGVfb2JqZWN0W2tleV0pfTtgKVxuICAgICAgICAuam9pbignICcpO1xufVxuZnVuY3Rpb24gYWRkX3N0eWxlcyhzdHlsZV9vYmplY3QpIHtcbiAgICBjb25zdCBzdHlsZXMgPSBzdHlsZV9vYmplY3RfdG9fc3RyaW5nKHN0eWxlX29iamVjdCk7XG4gICAgcmV0dXJuIHN0eWxlcyA/IGAgc3R5bGU9XCIke3N0eWxlc31cImAgOiAnJztcbn1cblxuZnVuY3Rpb24gYmluZChjb21wb25lbnQsIG5hbWUsIGNhbGxiYWNrLCB2YWx1ZSkge1xuICAgIGNvbnN0IGluZGV4ID0gY29tcG9uZW50LiQkLnByb3BzW25hbWVdO1xuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbXBvbmVudC4kJC5ib3VuZFtpbmRleF0gPSBjYWxsYmFjaztcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKGNvbXBvbmVudC4kJC5jdHhbaW5kZXhdKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZV9jb21wb25lbnQoYmxvY2spIHtcbiAgICBibG9jayAmJiBibG9jay5jKCk7XG59XG5mdW5jdGlvbiBjbGFpbV9jb21wb25lbnQoYmxvY2ssIHBhcmVudF9ub2Rlcykge1xuICAgIGJsb2NrICYmIGJsb2NrLmwocGFyZW50X25vZGVzKTtcbn1cbmZ1bmN0aW9uIG1vdW50X2NvbXBvbmVudChjb21wb25lbnQsIHRhcmdldCwgYW5jaG9yLCBjdXN0b21FbGVtZW50KSB7XG4gICAgY29uc3QgeyBmcmFnbWVudCwgYWZ0ZXJfdXBkYXRlIH0gPSBjb21wb25lbnQuJCQ7XG4gICAgZnJhZ21lbnQgJiYgZnJhZ21lbnQubSh0YXJnZXQsIGFuY2hvcik7XG4gICAgaWYgKCFjdXN0b21FbGVtZW50KSB7XG4gICAgICAgIC8vIG9uTW91bnQgaGFwcGVucyBiZWZvcmUgdGhlIGluaXRpYWwgYWZ0ZXJVcGRhdGVcbiAgICAgICAgYWRkX3JlbmRlcl9jYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdfb25fZGVzdHJveSA9IGNvbXBvbmVudC4kJC5vbl9tb3VudC5tYXAocnVuKS5maWx0ZXIoaXNfZnVuY3Rpb24pO1xuICAgICAgICAgICAgLy8gaWYgdGhlIGNvbXBvbmVudCB3YXMgZGVzdHJveWVkIGltbWVkaWF0ZWx5XG4gICAgICAgICAgICAvLyBpdCB3aWxsIHVwZGF0ZSB0aGUgYCQkLm9uX2Rlc3Ryb3lgIHJlZmVyZW5jZSB0byBgbnVsbGAuXG4gICAgICAgICAgICAvLyB0aGUgZGVzdHJ1Y3R1cmVkIG9uX2Rlc3Ryb3kgbWF5IHN0aWxsIHJlZmVyZW5jZSB0byB0aGUgb2xkIGFycmF5XG4gICAgICAgICAgICBpZiAoY29tcG9uZW50LiQkLm9uX2Rlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQuJCQub25fZGVzdHJveS5wdXNoKC4uLm5ld19vbl9kZXN0cm95KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEVkZ2UgY2FzZSAtIGNvbXBvbmVudCB3YXMgZGVzdHJveWVkIGltbWVkaWF0ZWx5LFxuICAgICAgICAgICAgICAgIC8vIG1vc3QgbGlrZWx5IGFzIGEgcmVzdWx0IG9mIGEgYmluZGluZyBpbml0aWFsaXNpbmdcbiAgICAgICAgICAgICAgICBydW5fYWxsKG5ld19vbl9kZXN0cm95KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbXBvbmVudC4kJC5vbl9tb3VudCA9IFtdO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgYWZ0ZXJfdXBkYXRlLmZvckVhY2goYWRkX3JlbmRlcl9jYWxsYmFjayk7XG59XG5mdW5jdGlvbiBkZXN0cm95X2NvbXBvbmVudChjb21wb25lbnQsIGRldGFjaGluZykge1xuICAgIGNvbnN0ICQkID0gY29tcG9uZW50LiQkO1xuICAgIGlmICgkJC5mcmFnbWVudCAhPT0gbnVsbCkge1xuICAgICAgICBydW5fYWxsKCQkLm9uX2Rlc3Ryb3kpO1xuICAgICAgICAkJC5mcmFnbWVudCAmJiAkJC5mcmFnbWVudC5kKGRldGFjaGluZyk7XG4gICAgICAgIC8vIFRPRE8gbnVsbCBvdXQgb3RoZXIgcmVmcywgaW5jbHVkaW5nIGNvbXBvbmVudC4kJCAoYnV0IG5lZWQgdG9cbiAgICAgICAgLy8gcHJlc2VydmUgZmluYWwgc3RhdGU/KVxuICAgICAgICAkJC5vbl9kZXN0cm95ID0gJCQuZnJhZ21lbnQgPSBudWxsO1xuICAgICAgICAkJC5jdHggPSBbXTtcbiAgICB9XG59XG5mdW5jdGlvbiBtYWtlX2RpcnR5KGNvbXBvbmVudCwgaSkge1xuICAgIGlmIChjb21wb25lbnQuJCQuZGlydHlbMF0gPT09IC0xKSB7XG4gICAgICAgIGRpcnR5X2NvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xuICAgICAgICBzY2hlZHVsZV91cGRhdGUoKTtcbiAgICAgICAgY29tcG9uZW50LiQkLmRpcnR5LmZpbGwoMCk7XG4gICAgfVxuICAgIGNvbXBvbmVudC4kJC5kaXJ0eVsoaSAvIDMxKSB8IDBdIHw9ICgxIDw8IChpICUgMzEpKTtcbn1cbmZ1bmN0aW9uIGluaXQoY29tcG9uZW50LCBvcHRpb25zLCBpbnN0YW5jZSwgY3JlYXRlX2ZyYWdtZW50LCBub3RfZXF1YWwsIHByb3BzLCBhcHBlbmRfc3R5bGVzLCBkaXJ0eSA9IFstMV0pIHtcbiAgICBjb25zdCBwYXJlbnRfY29tcG9uZW50ID0gY3VycmVudF9jb21wb25lbnQ7XG4gICAgc2V0X2N1cnJlbnRfY29tcG9uZW50KGNvbXBvbmVudCk7XG4gICAgY29uc3QgJCQgPSBjb21wb25lbnQuJCQgPSB7XG4gICAgICAgIGZyYWdtZW50OiBudWxsLFxuICAgICAgICBjdHg6IFtdLFxuICAgICAgICAvLyBzdGF0ZVxuICAgICAgICBwcm9wcyxcbiAgICAgICAgdXBkYXRlOiBub29wLFxuICAgICAgICBub3RfZXF1YWwsXG4gICAgICAgIGJvdW5kOiBibGFua19vYmplY3QoKSxcbiAgICAgICAgLy8gbGlmZWN5Y2xlXG4gICAgICAgIG9uX21vdW50OiBbXSxcbiAgICAgICAgb25fZGVzdHJveTogW10sXG4gICAgICAgIG9uX2Rpc2Nvbm5lY3Q6IFtdLFxuICAgICAgICBiZWZvcmVfdXBkYXRlOiBbXSxcbiAgICAgICAgYWZ0ZXJfdXBkYXRlOiBbXSxcbiAgICAgICAgY29udGV4dDogbmV3IE1hcChvcHRpb25zLmNvbnRleHQgfHwgKHBhcmVudF9jb21wb25lbnQgPyBwYXJlbnRfY29tcG9uZW50LiQkLmNvbnRleHQgOiBbXSkpLFxuICAgICAgICAvLyBldmVyeXRoaW5nIGVsc2VcbiAgICAgICAgY2FsbGJhY2tzOiBibGFua19vYmplY3QoKSxcbiAgICAgICAgZGlydHksXG4gICAgICAgIHNraXBfYm91bmQ6IGZhbHNlLFxuICAgICAgICByb290OiBvcHRpb25zLnRhcmdldCB8fCBwYXJlbnRfY29tcG9uZW50LiQkLnJvb3RcbiAgICB9O1xuICAgIGFwcGVuZF9zdHlsZXMgJiYgYXBwZW5kX3N0eWxlcygkJC5yb290KTtcbiAgICBsZXQgcmVhZHkgPSBmYWxzZTtcbiAgICAkJC5jdHggPSBpbnN0YW5jZVxuICAgICAgICA/IGluc3RhbmNlKGNvbXBvbmVudCwgb3B0aW9ucy5wcm9wcyB8fCB7fSwgKGksIHJldCwgLi4ucmVzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSByZXN0Lmxlbmd0aCA/IHJlc3RbMF0gOiByZXQ7XG4gICAgICAgICAgICBpZiAoJCQuY3R4ICYmIG5vdF9lcXVhbCgkJC5jdHhbaV0sICQkLmN0eFtpXSA9IHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGlmICghJCQuc2tpcF9ib3VuZCAmJiAkJC5ib3VuZFtpXSlcbiAgICAgICAgICAgICAgICAgICAgJCQuYm91bmRbaV0odmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmIChyZWFkeSlcbiAgICAgICAgICAgICAgICAgICAgbWFrZV9kaXJ0eShjb21wb25lbnQsIGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgfSlcbiAgICAgICAgOiBbXTtcbiAgICAkJC51cGRhdGUoKTtcbiAgICByZWFkeSA9IHRydWU7XG4gICAgcnVuX2FsbCgkJC5iZWZvcmVfdXBkYXRlKTtcbiAgICAvLyBgZmFsc2VgIGFzIGEgc3BlY2lhbCBjYXNlIG9mIG5vIERPTSBjb21wb25lbnRcbiAgICAkJC5mcmFnbWVudCA9IGNyZWF0ZV9mcmFnbWVudCA/IGNyZWF0ZV9mcmFnbWVudCgkJC5jdHgpIDogZmFsc2U7XG4gICAgaWYgKG9wdGlvbnMudGFyZ2V0KSB7XG4gICAgICAgIGlmIChvcHRpb25zLmh5ZHJhdGUpIHtcbiAgICAgICAgICAgIHN0YXJ0X2h5ZHJhdGluZygpO1xuICAgICAgICAgICAgY29uc3Qgbm9kZXMgPSBjaGlsZHJlbihvcHRpb25zLnRhcmdldCk7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgICAgJCQuZnJhZ21lbnQgJiYgJCQuZnJhZ21lbnQubChub2Rlcyk7XG4gICAgICAgICAgICBub2Rlcy5mb3JFYWNoKGRldGFjaCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgICAgJCQuZnJhZ21lbnQgJiYgJCQuZnJhZ21lbnQuYygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmludHJvKVxuICAgICAgICAgICAgdHJhbnNpdGlvbl9pbihjb21wb25lbnQuJCQuZnJhZ21lbnQpO1xuICAgICAgICBtb3VudF9jb21wb25lbnQoY29tcG9uZW50LCBvcHRpb25zLnRhcmdldCwgb3B0aW9ucy5hbmNob3IsIG9wdGlvbnMuY3VzdG9tRWxlbWVudCk7XG4gICAgICAgIGVuZF9oeWRyYXRpbmcoKTtcbiAgICAgICAgZmx1c2goKTtcbiAgICB9XG4gICAgc2V0X2N1cnJlbnRfY29tcG9uZW50KHBhcmVudF9jb21wb25lbnQpO1xufVxubGV0IFN2ZWx0ZUVsZW1lbnQ7XG5pZiAodHlwZW9mIEhUTUxFbGVtZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgU3ZlbHRlRWxlbWVudCA9IGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgICB0aGlzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgb25fbW91bnQgfSA9IHRoaXMuJCQ7XG4gICAgICAgICAgICB0aGlzLiQkLm9uX2Rpc2Nvbm5lY3QgPSBvbl9tb3VudC5tYXAocnVuKS5maWx0ZXIoaXNfZnVuY3Rpb24pO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSB0b2RvOiBpbXByb3ZlIHR5cGluZ3NcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuJCQuc2xvdHRlZCkge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgdG9kbzogaW1wcm92ZSB0eXBpbmdzXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZCh0aGlzLiQkLnNsb3R0ZWRba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKGF0dHIsIF9vbGRWYWx1ZSwgbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXNbYXR0cl0gPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgICAgICAgIHJ1bl9hbGwodGhpcy4kJC5vbl9kaXNjb25uZWN0KTtcbiAgICAgICAgfVxuICAgICAgICAkZGVzdHJveSgpIHtcbiAgICAgICAgICAgIGRlc3Ryb3lfY29tcG9uZW50KHRoaXMsIDEpO1xuICAgICAgICAgICAgdGhpcy4kZGVzdHJveSA9IG5vb3A7XG4gICAgICAgIH1cbiAgICAgICAgJG9uKHR5cGUsIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAvLyBUT0RPIHNob3VsZCB0aGlzIGRlbGVnYXRlIHRvIGFkZEV2ZW50TGlzdGVuZXI/XG4gICAgICAgICAgICBpZiAoIWlzX2Z1bmN0aW9uKGNhbGxiYWNrKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBub29wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY2FsbGJhY2tzID0gKHRoaXMuJCQuY2FsbGJhY2tzW3R5cGVdIHx8ICh0aGlzLiQkLmNhbGxiYWNrc1t0eXBlXSA9IFtdKSk7XG4gICAgICAgICAgICBjYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gY2FsbGJhY2tzLmluZGV4T2YoY2FsbGJhY2spO1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAkc2V0KCQkcHJvcHMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLiQkc2V0ICYmICFpc19lbXB0eSgkJHByb3BzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJCQuc2tpcF9ib3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy4kJHNldCgkJHByb3BzKTtcbiAgICAgICAgICAgICAgICB0aGlzLiQkLnNraXBfYm91bmQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIFN2ZWx0ZSBjb21wb25lbnRzLiBVc2VkIHdoZW4gZGV2PWZhbHNlLlxuICovXG5jbGFzcyBTdmVsdGVDb21wb25lbnQge1xuICAgICRkZXN0cm95KCkge1xuICAgICAgICBkZXN0cm95X2NvbXBvbmVudCh0aGlzLCAxKTtcbiAgICAgICAgdGhpcy4kZGVzdHJveSA9IG5vb3A7XG4gICAgfVxuICAgICRvbih0eXBlLCBjYWxsYmFjaykge1xuICAgICAgICBpZiAoIWlzX2Z1bmN0aW9uKGNhbGxiYWNrKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5vb3A7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FsbGJhY2tzID0gKHRoaXMuJCQuY2FsbGJhY2tzW3R5cGVdIHx8ICh0aGlzLiQkLmNhbGxiYWNrc1t0eXBlXSA9IFtdKSk7XG4gICAgICAgIGNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gY2FsbGJhY2tzLmluZGV4T2YoY2FsbGJhY2spO1xuICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSlcbiAgICAgICAgICAgICAgICBjYWxsYmFja3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgJHNldCgkJHByb3BzKSB7XG4gICAgICAgIGlmICh0aGlzLiQkc2V0ICYmICFpc19lbXB0eSgkJHByb3BzKSkge1xuICAgICAgICAgICAgdGhpcy4kJC5za2lwX2JvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuJCRzZXQoJCRwcm9wcyk7XG4gICAgICAgICAgICB0aGlzLiQkLnNraXBfYm91bmQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hfZGV2KHR5cGUsIGRldGFpbCkge1xuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoY3VzdG9tX2V2ZW50KHR5cGUsIE9iamVjdC5hc3NpZ24oeyB2ZXJzaW9uOiAnMy41NC4wJyB9LCBkZXRhaWwpLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xufVxuZnVuY3Rpb24gYXBwZW5kX2Rldih0YXJnZXQsIG5vZGUpIHtcbiAgICBkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTUluc2VydCcsIHsgdGFyZ2V0LCBub2RlIH0pO1xuICAgIGFwcGVuZCh0YXJnZXQsIG5vZGUpO1xufVxuZnVuY3Rpb24gYXBwZW5kX2h5ZHJhdGlvbl9kZXYodGFyZ2V0LCBub2RlKSB7XG4gICAgZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01JbnNlcnQnLCB7IHRhcmdldCwgbm9kZSB9KTtcbiAgICBhcHBlbmRfaHlkcmF0aW9uKHRhcmdldCwgbm9kZSk7XG59XG5mdW5jdGlvbiBpbnNlcnRfZGV2KHRhcmdldCwgbm9kZSwgYW5jaG9yKSB7XG4gICAgZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01JbnNlcnQnLCB7IHRhcmdldCwgbm9kZSwgYW5jaG9yIH0pO1xuICAgIGluc2VydCh0YXJnZXQsIG5vZGUsIGFuY2hvcik7XG59XG5mdW5jdGlvbiBpbnNlcnRfaHlkcmF0aW9uX2Rldih0YXJnZXQsIG5vZGUsIGFuY2hvcikge1xuICAgIGRpc3BhdGNoX2RldignU3ZlbHRlRE9NSW5zZXJ0JywgeyB0YXJnZXQsIG5vZGUsIGFuY2hvciB9KTtcbiAgICBpbnNlcnRfaHlkcmF0aW9uKHRhcmdldCwgbm9kZSwgYW5jaG9yKTtcbn1cbmZ1bmN0aW9uIGRldGFjaF9kZXYobm9kZSkge1xuICAgIGRpc3BhdGNoX2RldignU3ZlbHRlRE9NUmVtb3ZlJywgeyBub2RlIH0pO1xuICAgIGRldGFjaChub2RlKTtcbn1cbmZ1bmN0aW9uIGRldGFjaF9iZXR3ZWVuX2RldihiZWZvcmUsIGFmdGVyKSB7XG4gICAgd2hpbGUgKGJlZm9yZS5uZXh0U2libGluZyAmJiBiZWZvcmUubmV4dFNpYmxpbmcgIT09IGFmdGVyKSB7XG4gICAgICAgIGRldGFjaF9kZXYoYmVmb3JlLm5leHRTaWJsaW5nKTtcbiAgICB9XG59XG5mdW5jdGlvbiBkZXRhY2hfYmVmb3JlX2RldihhZnRlcikge1xuICAgIHdoaWxlIChhZnRlci5wcmV2aW91c1NpYmxpbmcpIHtcbiAgICAgICAgZGV0YWNoX2RldihhZnRlci5wcmV2aW91c1NpYmxpbmcpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGRldGFjaF9hZnRlcl9kZXYoYmVmb3JlKSB7XG4gICAgd2hpbGUgKGJlZm9yZS5uZXh0U2libGluZykge1xuICAgICAgICBkZXRhY2hfZGV2KGJlZm9yZS5uZXh0U2libGluZyk7XG4gICAgfVxufVxuZnVuY3Rpb24gbGlzdGVuX2Rldihub2RlLCBldmVudCwgaGFuZGxlciwgb3B0aW9ucywgaGFzX3ByZXZlbnRfZGVmYXVsdCwgaGFzX3N0b3BfcHJvcGFnYXRpb24pIHtcbiAgICBjb25zdCBtb2RpZmllcnMgPSBvcHRpb25zID09PSB0cnVlID8gWydjYXB0dXJlJ10gOiBvcHRpb25zID8gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvcHRpb25zKSkgOiBbXTtcbiAgICBpZiAoaGFzX3ByZXZlbnRfZGVmYXVsdClcbiAgICAgICAgbW9kaWZpZXJzLnB1c2goJ3ByZXZlbnREZWZhdWx0Jyk7XG4gICAgaWYgKGhhc19zdG9wX3Byb3BhZ2F0aW9uKVxuICAgICAgICBtb2RpZmllcnMucHVzaCgnc3RvcFByb3BhZ2F0aW9uJyk7XG4gICAgZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01BZGRFdmVudExpc3RlbmVyJywgeyBub2RlLCBldmVudCwgaGFuZGxlciwgbW9kaWZpZXJzIH0pO1xuICAgIGNvbnN0IGRpc3Bvc2UgPSBsaXN0ZW4obm9kZSwgZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoX2RldignU3ZlbHRlRE9NUmVtb3ZlRXZlbnRMaXN0ZW5lcicsIHsgbm9kZSwgZXZlbnQsIGhhbmRsZXIsIG1vZGlmaWVycyB9KTtcbiAgICAgICAgZGlzcG9zZSgpO1xuICAgIH07XG59XG5mdW5jdGlvbiBhdHRyX2Rldihub2RlLCBhdHRyaWJ1dGUsIHZhbHVlKSB7XG4gICAgYXR0cihub2RlLCBhdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICBpZiAodmFsdWUgPT0gbnVsbClcbiAgICAgICAgZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01SZW1vdmVBdHRyaWJ1dGUnLCB7IG5vZGUsIGF0dHJpYnV0ZSB9KTtcbiAgICBlbHNlXG4gICAgICAgIGRpc3BhdGNoX2RldignU3ZlbHRlRE9NU2V0QXR0cmlidXRlJywgeyBub2RlLCBhdHRyaWJ1dGUsIHZhbHVlIH0pO1xufVxuZnVuY3Rpb24gcHJvcF9kZXYobm9kZSwgcHJvcGVydHksIHZhbHVlKSB7XG4gICAgbm9kZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICBkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTVNldFByb3BlcnR5JywgeyBub2RlLCBwcm9wZXJ0eSwgdmFsdWUgfSk7XG59XG5mdW5jdGlvbiBkYXRhc2V0X2Rldihub2RlLCBwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgICBub2RlLmRhdGFzZXRbcHJvcGVydHldID0gdmFsdWU7XG4gICAgZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01TZXREYXRhc2V0JywgeyBub2RlLCBwcm9wZXJ0eSwgdmFsdWUgfSk7XG59XG5mdW5jdGlvbiBzZXRfZGF0YV9kZXYodGV4dCwgZGF0YSkge1xuICAgIGRhdGEgPSAnJyArIGRhdGE7XG4gICAgaWYgKHRleHQud2hvbGVUZXh0ID09PSBkYXRhKVxuICAgICAgICByZXR1cm47XG4gICAgZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01TZXREYXRhJywgeyBub2RlOiB0ZXh0LCBkYXRhIH0pO1xuICAgIHRleHQuZGF0YSA9IGRhdGE7XG59XG5mdW5jdGlvbiB2YWxpZGF0ZV9lYWNoX2FyZ3VtZW50KGFyZykge1xuICAgIGlmICh0eXBlb2YgYXJnICE9PSAnc3RyaW5nJyAmJiAhKGFyZyAmJiB0eXBlb2YgYXJnID09PSAnb2JqZWN0JyAmJiAnbGVuZ3RoJyBpbiBhcmcpKSB7XG4gICAgICAgIGxldCBtc2cgPSAneyNlYWNofSBvbmx5IGl0ZXJhdGVzIG92ZXIgYXJyYXktbGlrZSBvYmplY3RzLic7XG4gICAgICAgIGlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIGFyZyAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gYXJnKSB7XG4gICAgICAgICAgICBtc2cgKz0gJyBZb3UgY2FuIHVzZSBhIHNwcmVhZCB0byBjb252ZXJ0IHRoaXMgaXRlcmFibGUgaW50byBhbiBhcnJheS4nO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHZhbGlkYXRlX3Nsb3RzKG5hbWUsIHNsb3QsIGtleXMpIHtcbiAgICBmb3IgKGNvbnN0IHNsb3Rfa2V5IG9mIE9iamVjdC5rZXlzKHNsb3QpKSB7XG4gICAgICAgIGlmICghfmtleXMuaW5kZXhPZihzbG90X2tleSkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgPCR7bmFtZX0+IHJlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgc2xvdCBcIiR7c2xvdF9rZXl9XCIuYCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiB2YWxpZGF0ZV9keW5hbWljX2VsZW1lbnQodGFnKSB7XG4gICAgY29uc3QgaXNfc3RyaW5nID0gdHlwZW9mIHRhZyA9PT0gJ3N0cmluZyc7XG4gICAgaWYgKHRhZyAmJiAhaXNfc3RyaW5nKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignPHN2ZWx0ZTplbGVtZW50PiBleHBlY3RzIFwidGhpc1wiIGF0dHJpYnV0ZSB0byBiZSBhIHN0cmluZy4nKTtcbiAgICB9XG59XG5mdW5jdGlvbiB2YWxpZGF0ZV92b2lkX2R5bmFtaWNfZWxlbWVudCh0YWcpIHtcbiAgICBpZiAodGFnICYmIGlzX3ZvaWQodGFnKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYDxzdmVsdGU6ZWxlbWVudCB0aGlzPVwiJHt0YWd9XCI+IGlzIHNlbGYtY2xvc2luZyBhbmQgY2Fubm90IGhhdmUgY29udGVudC5gKTtcbiAgICB9XG59XG5mdW5jdGlvbiBjb25zdHJ1Y3Rfc3ZlbHRlX2NvbXBvbmVudF9kZXYoY29tcG9uZW50LCBwcm9wcykge1xuICAgIGNvbnN0IGVycm9yX21lc3NhZ2UgPSAndGhpcz17Li4ufSBvZiA8c3ZlbHRlOmNvbXBvbmVudD4gc2hvdWxkIHNwZWNpZnkgYSBTdmVsdGUgY29tcG9uZW50Lic7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgY29tcG9uZW50KHByb3BzKTtcbiAgICAgICAgaWYgKCFpbnN0YW5jZS4kJCB8fCAhaW5zdGFuY2UuJHNldCB8fCAhaW5zdGFuY2UuJG9uIHx8ICFpbnN0YW5jZS4kZGVzdHJveSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yX21lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zdCB7IG1lc3NhZ2UgfSA9IGVycjtcbiAgICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJyAmJiBtZXNzYWdlLmluZGV4T2YoJ2lzIG5vdCBhIGNvbnN0cnVjdG9yJykgIT09IC0xKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JfbWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIFN2ZWx0ZSBjb21wb25lbnRzIHdpdGggc29tZSBtaW5vciBkZXYtZW5oYW5jZW1lbnRzLiBVc2VkIHdoZW4gZGV2PXRydWUuXG4gKi9cbmNsYXNzIFN2ZWx0ZUNvbXBvbmVudERldiBleHRlbmRzIFN2ZWx0ZUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBpZiAoIW9wdGlvbnMgfHwgKCFvcHRpb25zLnRhcmdldCAmJiAhb3B0aW9ucy4kJGlubGluZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIid0YXJnZXQnIGlzIGEgcmVxdWlyZWQgb3B0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgICRkZXN0cm95KCkge1xuICAgICAgICBzdXBlci4kZGVzdHJveSgpO1xuICAgICAgICB0aGlzLiRkZXN0cm95ID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb21wb25lbnQgd2FzIGFscmVhZHkgZGVzdHJveWVkJyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29uc29sZVxuICAgICAgICB9O1xuICAgIH1cbiAgICAkY2FwdHVyZV9zdGF0ZSgpIHsgfVxuICAgICRpbmplY3Rfc3RhdGUoKSB7IH1cbn1cbi8qKlxuICogQmFzZSBjbGFzcyB0byBjcmVhdGUgc3Ryb25nbHkgdHlwZWQgU3ZlbHRlIGNvbXBvbmVudHMuXG4gKiBUaGlzIG9ubHkgZXhpc3RzIGZvciB0eXBpbmcgcHVycG9zZXMgYW5kIHNob3VsZCBiZSB1c2VkIGluIGAuZC50c2AgZmlsZXMuXG4gKlxuICogIyMjIEV4YW1wbGU6XG4gKlxuICogWW91IGhhdmUgY29tcG9uZW50IGxpYnJhcnkgb24gbnBtIGNhbGxlZCBgY29tcG9uZW50LWxpYnJhcnlgLCBmcm9tIHdoaWNoXG4gKiB5b3UgZXhwb3J0IGEgY29tcG9uZW50IGNhbGxlZCBgTXlDb21wb25lbnRgLiBGb3IgU3ZlbHRlK1R5cGVTY3JpcHQgdXNlcnMsXG4gKiB5b3Ugd2FudCB0byBwcm92aWRlIHR5cGluZ3MuIFRoZXJlZm9yZSB5b3UgY3JlYXRlIGEgYGluZGV4LmQudHNgOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFN2ZWx0ZUNvbXBvbmVudFR5cGVkIH0gZnJvbSBcInN2ZWx0ZVwiO1xuICogZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IGV4dGVuZHMgU3ZlbHRlQ29tcG9uZW50VHlwZWQ8e2Zvbzogc3RyaW5nfT4ge31cbiAqIGBgYFxuICogVHlwaW5nIHRoaXMgbWFrZXMgaXQgcG9zc2libGUgZm9yIElERXMgbGlrZSBWUyBDb2RlIHdpdGggdGhlIFN2ZWx0ZSBleHRlbnNpb25cbiAqIHRvIHByb3ZpZGUgaW50ZWxsaXNlbnNlIGFuZCB0byB1c2UgdGhlIGNvbXBvbmVudCBsaWtlIHRoaXMgaW4gYSBTdmVsdGUgZmlsZVxuICogd2l0aCBUeXBlU2NyaXB0OlxuICogYGBgc3ZlbHRlXG4gKiA8c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICogXHRpbXBvcnQgeyBNeUNvbXBvbmVudCB9IGZyb20gXCJjb21wb25lbnQtbGlicmFyeVwiO1xuICogPC9zY3JpcHQ+XG4gKiA8TXlDb21wb25lbnQgZm9vPXsnYmFyJ30gLz5cbiAqIGBgYFxuICpcbiAqICMjIyMgV2h5IG5vdCBtYWtlIHRoaXMgcGFydCBvZiBgU3ZlbHRlQ29tcG9uZW50KERldilgP1xuICogQmVjYXVzZVxuICogYGBgdHNcbiAqIGNsYXNzIEFTdWJjbGFzc09mU3ZlbHRlQ29tcG9uZW50IGV4dGVuZHMgU3ZlbHRlQ29tcG9uZW50PHtmb286IHN0cmluZ30+IHt9XG4gKiBjb25zdCBjb21wb25lbnQ6IHR5cGVvZiBTdmVsdGVDb21wb25lbnQgPSBBU3ViY2xhc3NPZlN2ZWx0ZUNvbXBvbmVudDtcbiAqIGBgYFxuICogd2lsbCB0aHJvdyBhIHR5cGUgZXJyb3IsIHNvIHdlIG5lZWQgdG8gc2VwYXJhdGUgdGhlIG1vcmUgc3RyaWN0bHkgdHlwZWQgY2xhc3MuXG4gKi9cbmNsYXNzIFN2ZWx0ZUNvbXBvbmVudFR5cGVkIGV4dGVuZHMgU3ZlbHRlQ29tcG9uZW50RGV2IHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGxvb3BfZ3VhcmQodGltZW91dCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIHN0YXJ0ID4gdGltZW91dCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmZpbml0ZSBsb29wIGRldGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5leHBvcnQgeyBIdG1sVGFnLCBIdG1sVGFnSHlkcmF0aW9uLCBTdmVsdGVDb21wb25lbnQsIFN2ZWx0ZUNvbXBvbmVudERldiwgU3ZlbHRlQ29tcG9uZW50VHlwZWQsIFN2ZWx0ZUVsZW1lbnQsIGFjdGlvbl9kZXN0cm95ZXIsIGFkZF9hdHRyaWJ1dGUsIGFkZF9jbGFzc2VzLCBhZGRfZmx1c2hfY2FsbGJhY2ssIGFkZF9sb2NhdGlvbiwgYWRkX3JlbmRlcl9jYWxsYmFjaywgYWRkX3Jlc2l6ZV9saXN0ZW5lciwgYWRkX3N0eWxlcywgYWRkX3RyYW5zZm9ybSwgYWZ0ZXJVcGRhdGUsIGFwcGVuZCwgYXBwZW5kX2RldiwgYXBwZW5kX2VtcHR5X3N0eWxlc2hlZXQsIGFwcGVuZF9oeWRyYXRpb24sIGFwcGVuZF9oeWRyYXRpb25fZGV2LCBhcHBlbmRfc3R5bGVzLCBhc3NpZ24sIGF0dHIsIGF0dHJfZGV2LCBhdHRyaWJ1dGVfdG9fb2JqZWN0LCBiZWZvcmVVcGRhdGUsIGJpbmQsIGJpbmRpbmdfY2FsbGJhY2tzLCBibGFua19vYmplY3QsIGJ1YmJsZSwgY2hlY2tfb3V0cm9zLCBjaGlsZHJlbiwgY2xhaW1fY29tcG9uZW50LCBjbGFpbV9lbGVtZW50LCBjbGFpbV9odG1sX3RhZywgY2xhaW1fc3BhY2UsIGNsYWltX3N2Z19lbGVtZW50LCBjbGFpbV90ZXh0LCBjbGVhcl9sb29wcywgY29tcG9uZW50X3N1YnNjcmliZSwgY29tcHV0ZV9yZXN0X3Byb3BzLCBjb21wdXRlX3Nsb3RzLCBjb25zdHJ1Y3Rfc3ZlbHRlX2NvbXBvbmVudCwgY29uc3RydWN0X3N2ZWx0ZV9jb21wb25lbnRfZGV2LCBjcmVhdGVFdmVudERpc3BhdGNoZXIsIGNyZWF0ZV9hbmltYXRpb24sIGNyZWF0ZV9iaWRpcmVjdGlvbmFsX3RyYW5zaXRpb24sIGNyZWF0ZV9jb21wb25lbnQsIGNyZWF0ZV9pbl90cmFuc2l0aW9uLCBjcmVhdGVfb3V0X3RyYW5zaXRpb24sIGNyZWF0ZV9zbG90LCBjcmVhdGVfc3NyX2NvbXBvbmVudCwgY3VycmVudF9jb21wb25lbnQsIGN1c3RvbV9ldmVudCwgZGF0YXNldF9kZXYsIGRlYnVnLCBkZXN0cm95X2Jsb2NrLCBkZXN0cm95X2NvbXBvbmVudCwgZGVzdHJveV9lYWNoLCBkZXRhY2gsIGRldGFjaF9hZnRlcl9kZXYsIGRldGFjaF9iZWZvcmVfZGV2LCBkZXRhY2hfYmV0d2Vlbl9kZXYsIGRldGFjaF9kZXYsIGRpcnR5X2NvbXBvbmVudHMsIGRpc3BhdGNoX2RldiwgZWFjaCwgZWxlbWVudCwgZWxlbWVudF9pcywgZW1wdHksIGVuZF9oeWRyYXRpbmcsIGVzY2FwZSwgZXNjYXBlX2F0dHJpYnV0ZV92YWx1ZSwgZXNjYXBlX29iamVjdCwgZXhjbHVkZV9pbnRlcm5hbF9wcm9wcywgZml4X2FuZF9kZXN0cm95X2Jsb2NrLCBmaXhfYW5kX291dHJvX2FuZF9kZXN0cm95X2Jsb2NrLCBmaXhfcG9zaXRpb24sIGZsdXNoLCBnZXRBbGxDb250ZXh0cywgZ2V0Q29udGV4dCwgZ2V0X2FsbF9kaXJ0eV9mcm9tX3Njb3BlLCBnZXRfYmluZGluZ19ncm91cF92YWx1ZSwgZ2V0X2N1cnJlbnRfY29tcG9uZW50LCBnZXRfY3VzdG9tX2VsZW1lbnRzX3Nsb3RzLCBnZXRfcm9vdF9mb3Jfc3R5bGUsIGdldF9zbG90X2NoYW5nZXMsIGdldF9zcHJlYWRfb2JqZWN0LCBnZXRfc3ByZWFkX3VwZGF0ZSwgZ2V0X3N0b3JlX3ZhbHVlLCBnbG9iYWxzLCBncm91cF9vdXRyb3MsIGhhbmRsZV9wcm9taXNlLCBoYXNDb250ZXh0LCBoYXNfcHJvcCwgaGVhZF9zZWxlY3RvciwgaWRlbnRpdHksIGluaXQsIGluc2VydCwgaW5zZXJ0X2RldiwgaW5zZXJ0X2h5ZHJhdGlvbiwgaW5zZXJ0X2h5ZHJhdGlvbl9kZXYsIGludHJvcywgaW52YWxpZF9hdHRyaWJ1dGVfbmFtZV9jaGFyYWN0ZXIsIGlzX2NsaWVudCwgaXNfY3Jvc3NvcmlnaW4sIGlzX2VtcHR5LCBpc19mdW5jdGlvbiwgaXNfcHJvbWlzZSwgaXNfdm9pZCwgbGlzdGVuLCBsaXN0ZW5fZGV2LCBsb29wLCBsb29wX2d1YXJkLCBtZXJnZV9zc3Jfc3R5bGVzLCBtaXNzaW5nX2NvbXBvbmVudCwgbW91bnRfY29tcG9uZW50LCBub29wLCBub3RfZXF1YWwsIG5vdywgbnVsbF90b19lbXB0eSwgb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllcywgb25EZXN0cm95LCBvbk1vdW50LCBvbmNlLCBvdXRyb19hbmRfZGVzdHJveV9ibG9jaywgcHJldmVudF9kZWZhdWx0LCBwcm9wX2RldiwgcXVlcnlfc2VsZWN0b3JfYWxsLCByYWYsIHJ1biwgcnVuX2FsbCwgc2FmZV9ub3RfZXF1YWwsIHNjaGVkdWxlX3VwZGF0ZSwgc2VsZWN0X211bHRpcGxlX3ZhbHVlLCBzZWxlY3Rfb3B0aW9uLCBzZWxlY3Rfb3B0aW9ucywgc2VsZWN0X3ZhbHVlLCBzZWxmLCBzZXRDb250ZXh0LCBzZXRfYXR0cmlidXRlcywgc2V0X2N1cnJlbnRfY29tcG9uZW50LCBzZXRfY3VzdG9tX2VsZW1lbnRfZGF0YSwgc2V0X2N1c3RvbV9lbGVtZW50X2RhdGFfbWFwLCBzZXRfZGF0YSwgc2V0X2RhdGFfZGV2LCBzZXRfaW5wdXRfdHlwZSwgc2V0X2lucHV0X3ZhbHVlLCBzZXRfbm93LCBzZXRfcmFmLCBzZXRfc3RvcmVfdmFsdWUsIHNldF9zdHlsZSwgc2V0X3N2Z19hdHRyaWJ1dGVzLCBzcGFjZSwgc3ByZWFkLCBzcmNfdXJsX2VxdWFsLCBzdGFydF9oeWRyYXRpbmcsIHN0b3BfcHJvcGFnYXRpb24sIHN1YnNjcmliZSwgc3ZnX2VsZW1lbnQsIHRleHQsIHRpY2ssIHRpbWVfcmFuZ2VzX3RvX2FycmF5LCB0b19udW1iZXIsIHRvZ2dsZV9jbGFzcywgdHJhbnNpdGlvbl9pbiwgdHJhbnNpdGlvbl9vdXQsIHRydXN0ZWQsIHVwZGF0ZV9hd2FpdF9ibG9ja19icmFuY2gsIHVwZGF0ZV9rZXllZF9lYWNoLCB1cGRhdGVfc2xvdCwgdXBkYXRlX3Nsb3RfYmFzZSwgdmFsaWRhdGVfY29tcG9uZW50LCB2YWxpZGF0ZV9keW5hbWljX2VsZW1lbnQsIHZhbGlkYXRlX2VhY2hfYXJndW1lbnQsIHZhbGlkYXRlX2VhY2hfa2V5cywgdmFsaWRhdGVfc2xvdHMsIHZhbGlkYXRlX3N0b3JlLCB2YWxpZGF0ZV92b2lkX2R5bmFtaWNfZWxlbWVudCwgeGxpbmtfYXR0ciB9O1xuIiwiZXhwb3J0IGVudW0gTWV0cmljQ291bnRlciB7XG4gIHdvcmRzLFxuICBjaGFyYWN0ZXJzLFxuICBzZW50ZW5jZXMsXG4gIGZpbGVzLFxufVxuXG5leHBvcnQgZW51bSBNZXRyaWNUeXBlIHtcbiAgZmlsZSxcbiAgZGFpbHksXG4gIHRvdGFsLFxuICBmb2xkZXIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljIHtcbiAgdHlwZTogTWV0cmljVHlwZTtcbiAgY291bnRlcjogTWV0cmljQ291bnRlcjtcbiAgZm9sZGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1c0Jhckl0ZW0ge1xuICBwcmVmaXg6IHN0cmluZztcbiAgc3VmZml4OiBzdHJpbmc7XG4gIG1ldHJpYzogTWV0cmljO1xufVxuXG5leHBvcnQgY29uc3QgQkxBTktfU0JfSVRFTTogU3RhdHVzQmFySXRlbSA9IHtcbiAgcHJlZml4OiBcIlwiLFxuICBzdWZmaXg6IFwiXCIsXG4gIG1ldHJpYzoge1xuICAgIHR5cGU6IG51bGwsXG4gICAgY291bnRlcjogbnVsbCxcbiAgfSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV0dGVyV29yZENvdW50U2V0dGluZ3Mge1xuICBzdGF0dXNCYXI6IFN0YXR1c0Jhckl0ZW1bXTtcbiAgYWx0QmFyOiBTdGF0dXNCYXJJdGVtW107XG4gIGNvdW50Q29tbWVudHM6IGJvb2xlYW47XG4gIGNvbGxlY3RTdGF0czogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VUVElOR1M6IEJldHRlcldvcmRDb3VudFNldHRpbmdzID0ge1xuICBzdGF0dXNCYXI6IFtcbiAgICB7XG4gICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICBzdWZmaXg6IFwiIHdvcmRzXCIsXG4gICAgICBtZXRyaWM6IHtcbiAgICAgICAgdHlwZTogTWV0cmljVHlwZS5maWxlLFxuICAgICAgICBjb3VudGVyOiBNZXRyaWNDb3VudGVyLndvcmRzLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByZWZpeDogXCIgXCIsXG4gICAgICBzdWZmaXg6IFwiIGNoYXJhY3RlcnNcIixcbiAgICAgIG1ldHJpYzoge1xuICAgICAgICB0eXBlOiBNZXRyaWNUeXBlLmZpbGUsXG4gICAgICAgIGNvdW50ZXI6IE1ldHJpY0NvdW50ZXIuY2hhcmFjdGVycyxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSxcbiAgYWx0QmFyOiBbXG4gICAge1xuICAgICAgcHJlZml4OiBcIlwiLFxuICAgICAgc3VmZml4OiBcImZpbGVzXCIsXG4gICAgICBtZXRyaWM6IHtcbiAgICAgICAgdHlwZTogTWV0cmljVHlwZS50b3RhbCxcbiAgICAgICAgY291bnRlcjogTWV0cmljQ291bnRlci5maWxlcyxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSxcbiAgY291bnRDb21tZW50czogZmFsc2UsXG4gIGNvbGxlY3RTdGF0czogZmFsc2UsXG59O1xuIiwiPHNjcmlwdCBsYW5nPVwidHNcIj5cbiAgaW1wb3J0IHR5cGUgeyBTdGF0dXNCYXJJdGVtIH0gZnJvbSBcIi4vU2V0dGluZ3NcIjtcbiAgaW1wb3J0IHsgTWV0cmljVHlwZSwgTWV0cmljQ291bnRlciwgQkxBTktfU0JfSVRFTSwgREVGQVVMVF9TRVRUSU5HUyB9IGZyb20gXCIuL1NldHRpbmdzXCI7XG4gIGltcG9ydCB0eXBlIEJldHRlcldvcmRDb3VudCBmcm9tIFwic3JjL21haW5cIjtcblxuICBleHBvcnQgbGV0IHBsdWdpbjogQmV0dGVyV29yZENvdW50O1xuICBjb25zdCB7IHNldHRpbmdzIH0gPSBwbHVnaW47XG5cbiAgbGV0IHN0YXR1c0l0ZW1zOiBTdGF0dXNCYXJJdGVtW10gPSBbLi4ucGx1Z2luLnNldHRpbmdzLnN0YXR1c0Jhcl07XG4gIGxldCBhbHRTSXRlbXM6IFN0YXR1c0Jhckl0ZW1bXSA9IFsuLi5wbHVnaW4uc2V0dGluZ3MuYWx0QmFyXTtcblxuICBmdW5jdGlvbiBtZXRyaWNUb1N0cmluZyhtZXRyaWM6IE1ldHJpYyk6IHN0cmluZyB7XG4gICAgaWYgKG1ldHJpYy50eXBlID09PSBNZXRyaWNUeXBlLmZpbGUpIHtcbiAgICAgIHN3aXRjaCAobWV0cmljLmNvdW50ZXIpIHtcbiAgICAgICAgY2FzZSBNZXRyaWNDb3VudGVyLndvcmRzOlxuICAgICAgICAgIHJldHVybiBcIldvcmRzIGluIE5vdGVcIlxuICAgICAgICBjYXNlIE1ldHJpY0NvdW50ZXIuY2hhcmFjdGVyczpcbiAgICAgICAgICByZXR1cm4gXCJDaGFycyBpbiBOb3RlXCJcbiAgICAgICAgY2FzZSBNZXRyaWNDb3VudGVyLnNlbnRlbmNlczpcbiAgICAgICAgICByZXR1cm4gXCJTZW50ZW5jZXMgaW4gTm90ZVwiXG4gICAgICAgIGNhc2UgTWV0cmljQ291bnRlci5maWxlczpcbiAgICAgICAgICByZXR1cm4gXCJUb3RhbCBOb3Rlc1wiXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChtZXRyaWMudHlwZSA9PT0gTWV0cmljVHlwZS5kYWlseSkge1xuICAgICAgc3dpdGNoIChtZXRyaWMuY291bnRlcikge1xuICAgICAgICBjYXNlIE1ldHJpY0NvdW50ZXIud29yZHM6XG4gICAgICAgICAgcmV0dXJuIFwiRGFpbHkgV29yZHNcIlxuICAgICAgICBjYXNlIE1ldHJpY0NvdW50ZXIuY2hhcmFjdGVyczpcbiAgICAgICAgICByZXR1cm4gXCJEYWlseSBDaGFyc1wiXG4gICAgICAgIGNhc2UgTWV0cmljQ291bnRlci5zZW50ZW5jZXM6XG4gICAgICAgICAgcmV0dXJuIFwiRGFpbHkgU2VudGVuY2VzXCIgXG4gICAgICAgIGNhc2UgTWV0cmljQ291bnRlci5maWxlczpcbiAgICAgICAgICByZXR1cm4gXCJUb3RhbCBOb3Rlc1wiXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChtZXRyaWMudHlwZSA9PT0gTWV0cmljVHlwZS50b3RhbCkge1xuICAgICAgc3dpdGNoIChtZXRyaWMuY291bnRlcikge1xuICAgICAgICBjYXNlIE1ldHJpY0NvdW50ZXIud29yZHM6XG4gICAgICAgICAgcmV0dXJuIFwiVG90YWwgV29yZHNcIlxuICAgICAgICBjYXNlIE1ldHJpY0NvdW50ZXIuY2hhcmFjdGVyczpcbiAgICAgICAgICByZXR1cm4gXCJUb3RhbCBDaGFyc1wiXG4gICAgICAgIGNhc2UgTWV0cmljQ291bnRlci5zZW50ZW5jZXM6XG4gICAgICAgICAgcmV0dXJuIFwiVG90YWwgU2VudGVuY2VzXCJcbiAgICAgICAgY2FzZSBNZXRyaWNDb3VudGVyLmZpbGVzOlxuICAgICAgICAgIHJldHVybiBcIlRvdGFsIE5vdGVzXCJcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwiU2VsZWN0IE9wdGlvbnNcIlxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHN3YXBTdGF0dXNCYXJJdGVtcyhpOiBudW1iZXIsIGo6IG51bWJlciwgYXJyOiBTdGF0dXNCYXJJdGVtW10pIHtcbiAgICBjb25zdCBtYXggPSBhcnIubGVuZ3RoIC0gMTtcbiAgICBpZiAoaSA8IDAgfHwgaSA+IG1heCB8fCBqIDwgMCB8fCBqID4gbWF4KSByZXR1cm4gYXJyO1xuICAgIGNvbnN0IHRtcCA9IGFycltpXTtcbiAgICBhcnJbaV0gPSBhcnJbal07XG4gICAgYXJyW2pdID0gdG1wO1xuICAgIHJldHVybiBhcnI7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiB1cGRhdGUoc3RhdHVzSXRlbXM6IFN0YXR1c0Jhckl0ZW1bXSkge1xuICAgIHBsdWdpbi5zZXR0aW5ncy5zdGF0dXNCYXIgPSBzdGF0dXNJdGVtcy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgIGlmIChtZXRyaWNUb1N0cmluZyhpdGVtLm1ldHJpYykgIT09IFwiU2VsZWN0IE9wdGlvbnNcIikge1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH0gXG4gICAgfSk7XG5cbiAgICBhd2FpdCBwbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiB1cGRhdGVBbHQoYWx0U0l0ZW1zOiBTdGF0dXNCYXJJdGVtW10pIHtcbiAgICBwbHVnaW4uc2V0dGluZ3MuYWx0QmFyID0gYWx0U0l0ZW1zLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgaWYgKG1ldHJpY1RvU3RyaW5nKGl0ZW0ubWV0cmljKSAhPT0gXCJTZWxlY3QgT3B0aW9uc1wiKSB7XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfSBcbiAgICB9KTtcblxuICAgIGF3YWl0IHBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcbiAgfVxuPC9zY3JpcHQ+XG5cbjxkaXY+XG4gIDxoND5NYXJrZG93biBTdGF0dXMgQmFyPC9oND5cbiAgPHA+SGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSB3aGF0IHN0YXRpc3RpY3MgYXJlIGRpc3BsYXllZCBvbiB0aGUgc3RhdHVzIGJhciB3aGVuIGVkaXRpbmcgYSBtYXJrZG93biBub3RlLjwvcD5cbiAgPGRpdiBjbGFzcz1cImJ3Yy1zYi1idXR0b25zXCI+XG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1sYWJlbD1cIkFkZCBOZXcgU3RhdHVzIEJhciBJdGVtXCJcbiAgICAgIG9uOmNsaWNrPXthc3luYyAoKSA9PiAoc3RhdHVzSXRlbXMgPSBbLi4uc3RhdHVzSXRlbXMsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoQkxBTktfU0JfSVRFTSkpXSl9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cbiAgICAgICAgQWRkIEl0ZW1cbiAgICAgIDwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGFyaWEtbGFiZWw9XCJSZXNldCBTdGF0dXMgQmFyIHRvIERlZmF1bHRcIlxuICAgICAgb246Y2xpY2s9e2FzeW5jICgpID0+IHtcbiAgICAgIHN0YXR1c0l0ZW1zID0gW1xuICAgIHtcbiAgICAgIHByZWZpeDogXCJcIixcbiAgICAgIHN1ZmZpeDogXCIgd29yZHNcIixcbiAgICAgIG1ldHJpYzoge1xuICAgICAgICB0eXBlOiBNZXRyaWNUeXBlLmZpbGUsXG4gICAgICAgIGNvdW50ZXI6IE1ldHJpY0NvdW50ZXIud29yZHMsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJlZml4OiBcIiBcIixcbiAgICAgIHN1ZmZpeDogXCIgY2hhcmFjdGVyc1wiLFxuICAgICAgbWV0cmljOiB7XG4gICAgICAgIHR5cGU6IE1ldHJpY1R5cGUuZmlsZSxcbiAgICAgICAgY291bnRlcjogTWV0cmljQ291bnRlci5jaGFyYWN0ZXJzLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZShzdGF0dXNJdGVtcyk7XG4gfX1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxuICAgICAgICBSZXNldFxuICAgICAgPC9kaXY+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICB7I2VhY2ggc3RhdHVzSXRlbXMgYXMgaXRlbSwgaX1cbiAgICA8ZGV0YWlscyBjbGFzcz1cImJ3Yy1zYi1pdGVtLXNldHRpbmdcIj5cbiAgICAgIDxzdW1tYXJ5PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJ3Yy1zYi1pdGVtLXRleHRcIj5cbiAgICAgICAgICB7bWV0cmljVG9TdHJpbmcoaXRlbS5tZXRyaWMpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYndjLXNiLWJ1dHRvbnNcIj5cbiAgICAgICAgICB7I2lmIGkgIT09IDB9XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJNb3ZlIFN0YXR1cyBCYXIgSXRlbSBVcFwiXG4gICAgICAgICAgICAgIG9uOmNsaWNrPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc3RhdHVzSXRlbXMgPSBzd2FwU3RhdHVzQmFySXRlbXMoaSwgaS0xLCBzdGF0dXNJdGVtcyk7XG4gICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlKHN0YXR1c0l0ZW1zKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAg4oaRXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB7L2lmfVxuICAgICAgICAgIHsjaWYgaSAhPT0gc3RhdHVzSXRlbXMubGVuZ3RoIC0gMX1cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTW92ZSBTdGF0dXMgQmFyIEl0ZW0gRG93blwiXG4gICAgICAgICAgICBvbjpjbGljaz17YXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBzdGF0dXNJdGVtcyA9IHN3YXBTdGF0dXNCYXJJdGVtcyhpLCBpKzEsIHN0YXR1c0l0ZW1zKTtcbiAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlKHN0YXR1c0l0ZW1zKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAg4oaTXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgey9pZn1cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIFN0YXR1cyBCYXIgSXRlbVwiXG4gICAgICAgICAgICBvbjpjbGljaz17YXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBzdGF0dXNJdGVtcyA9IHN0YXR1c0l0ZW1zLmZpbHRlcigoaXRlbSwgaikgPT4gaSAhPT0gaik7XG4gICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZShzdGF0dXNJdGVtcyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIFhcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zdW1tYXJ5PlxuICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWluZm9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLW5hbWVcIj5NZXRyaWMgQ291bnRlcjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIFNlbGVjdCB0aGUgY291bnRlciB0byBkaXNwbGF5LCBlLmcuIHdvcmRzLCBjaGFyYWN0ZXJzLlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1jb250cm9sXCI+XG4gICAgICAgICAgPHNlbGVjdCBcbiAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgdmFsdWU9e2l0ZW0ubWV0cmljLmNvdW50ZXJ9XG4gICAgICAgICAgICBvbjpjaGFuZ2U9e2FzeW5jIChlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHt2YWx1ZX0gPSBlLnRhcmdldDtcbiAgICAgICAgICAgICAgaXRlbS5tZXRyaWMuY291bnRlciA9IE1ldHJpY0NvdW50ZXJbTWV0cmljQ291bnRlclt2YWx1ZV1dO1xuICAgICAgICAgICAgICBhd2FpdCB1cGRhdGUoc3RhdHVzSXRlbXMpO1xuICAgICAgICAgICAgICBhd2FpdCBwbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU+U2VsZWN0IE9wdGlvbjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17TWV0cmljQ291bnRlci53b3Jkc30+V29yZHM8L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e01ldHJpY0NvdW50ZXIuY2hhcmFjdGVyc30+Q2hhcmFjdGVyczwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17TWV0cmljQ291bnRlci5zZW50ZW5jZXN9PlNlbnRlbmNlczwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17TWV0cmljQ291bnRlci5maWxlc30+RmlsZXM8L29wdGlvbj5cbiAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWluZm9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLW5hbWVcIj5NZXRyaWMgVHlwZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIFNlbGVjdCB0aGUgdHlwZSBvZiBtZXRyaWMgdGhhdCB5b3Ugd2FudCBkaXNwbGF5ZWQuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWNvbnRyb2xcIj5cbiAgICAgICAgICA8c2VsZWN0IFxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgICAgICAgICB2YWx1ZT17aXRlbS5tZXRyaWMudHlwZX1cbiAgICAgICAgICAgIG9uOmNoYW5nZT17YXN5bmMgKGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qge3ZhbHVlfSA9IGUudGFyZ2V0O1xuICAgICAgICAgICAgICBpdGVtLm1ldHJpYy50eXBlID0gTWV0cmljVHlwZVtNZXRyaWNUeXBlW3ZhbHVlXV07XG4gICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZShzdGF0dXNJdGVtcyk7XG4gICAgICAgICAgICAgIGF3YWl0IHBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT5TZWxlY3QgT3B0aW9uPC9vcHRpb24+XG4gICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e01ldHJpY1R5cGUuZmlsZX0+Q3VycmVudCBOb3RlPC9vcHRpb24+XG4gICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e01ldHJpY1R5cGUuZGFpbHl9PkRhaWx5IE1ldHJpYzwvb3B0aW9uPlxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPXtNZXRyaWNUeXBlLnRvdGFsfT5Ub3RhbCBpbiBWYXVsdDwvb3B0aW9uPlxuICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW0taW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW0tbmFtZVwiPlByZWZpeCBUZXh0PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgVGhpcyBpcyB0aGUgdGV4dCB0aGF0IGlzIHBsYWNlZCBiZWZvcmUgdGhlIGNvdW50LlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1jb250cm9sXCI+XG4gICAgICAgICAgPGlucHV0IFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgbmFtZT1cInByZWZpeFwiXG4gICAgICAgICAgICB2YWx1ZT17aXRlbS5wcmVmaXh9XG4gICAgICAgICAgICBvbjpjaGFuZ2U9e2FzeW5jIChlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGUudGFyZ2V0O1xuICAgICAgICAgICAgICBpdGVtLnByZWZpeCA9IHZhbHVlO1xuICAgICAgICAgICAgICBhd2FpdCB1cGRhdGUoc3RhdHVzSXRlbXMpO1xuICAgICAgICAgICAgICBhd2FpdCBwbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1uYW1lXCI+U3VmZml4IFRleHQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICBUaGlzIGlzIHRoZSB0ZXh0IHRoYXQgaXMgcGxhY2VkIGFmdGVyIHRoZSBjb3VudC5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW0tY29udHJvbFwiPlxuICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG5hbWU9XCJzdWZmaXhcIlxuICAgICAgICAgICAgdmFsdWU9e2l0ZW0uc3VmZml4fVxuICAgICAgICAgICAgb246Y2hhbmdlPXthc3luYyAoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBlLnRhcmdldDtcbiAgICAgICAgICAgICAgaXRlbS5zdWZmaXggPSB2YWx1ZTtcbiAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlKHN0YXR1c0l0ZW1zKTtcbiAgICAgICAgICAgICAgYXdhaXQgcGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kZXRhaWxzPlxuICB7L2VhY2h9XG4gIDxoND5BbHRlcm5hdGl2ZSBTdGF0dXMgQmFyPC9oND5cbiAgPHA+SGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSB3aGF0IHN0YXRpc3RpY3MgYXJlIGRpc3BsYXllZCBvbiB0aGUgc3RhdHVzIGJhciB3aGVuIG5vdCBlZGl0aW5nIGEgbWFya2Rvd24gZmlsZS48L3A+XG4gIDxkaXYgY2xhc3M9XCJid2Mtc2ItYnV0dG9uc1wiPlxuICAgIDxidXR0b25cbiAgICAgIGFyaWEtbGFiZWw9XCJBZGQgTmV3IFN0YXR1cyBCYXIgSXRlbVwiXG4gICAgICBvbjpjbGljaz17YXN5bmMgKCkgPT4gKGFsdFNJdGVtcyA9IFsuLi5hbHRTSXRlbXMsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoQkxBTktfU0JfSVRFTSkpXSl9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cbiAgICAgICAgQWRkIEl0ZW1cbiAgICAgIDwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGFyaWEtbGFiZWw9XCJSZXNldCBTdGF0dXMgQmFyIHRvIERlZmF1bHRcIlxuICAgICAgb246Y2xpY2s9e2FzeW5jICgpID0+IHtcbiAgICAgIGFsdFNJdGVtcyA9IFtcbiAgICB7XG4gICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICBzdWZmaXg6IFwiIGZpbGVzXCIsXG4gICAgICBtZXRyaWM6IHtcbiAgICAgICAgdHlwZTogTWV0cmljVHlwZS50b3RhbCxcbiAgICAgICAgY291bnRlcjogTWV0cmljQ291bnRlci5maWxlcyxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGUoc3RhdHVzSXRlbXMpO1xuIH19XG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cbiAgICAgICAgUmVzZXRcbiAgICAgIDwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgeyNlYWNoIGFsdFNJdGVtcyBhcyBpdGVtLCBpfVxuICAgIDxkZXRhaWxzIGNsYXNzPVwiYndjLXNiLWl0ZW0tc2V0dGluZ1wiPlxuICAgICAgPHN1bW1hcnk+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYndjLXNiLWl0ZW0tdGV4dFwiPlxuICAgICAgICAgIHttZXRyaWNUb1N0cmluZyhpdGVtLm1ldHJpYyl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJid2Mtc2ItYnV0dG9uc1wiPlxuICAgICAgICAgIHsjaWYgaSAhPT0gMH1cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk1vdmUgU3RhdHVzIEJhciBJdGVtIFVwXCJcbiAgICAgICAgICAgICAgb246Y2xpY2s9e2FzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBhbHRTSXRlbXMgPSBzd2FwU3RhdHVzQmFySXRlbXMoaSwgaS0xLCBhbHRTSXRlbXMpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUFsdChhbHRTSXRlbXMpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICDihpFcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgeyNpZiBpICE9PSBhbHRTSXRlbXMubGVuZ3RoIC0gMX1cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTW92ZSBTdGF0dXMgQmFyIEl0ZW0gRG93blwiXG4gICAgICAgICAgICBvbjpjbGljaz17YXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBhbHRTSXRlbXMgPSBzd2FwU3RhdHVzQmFySXRlbXMoaSwgaSsxLCBhbHRTSXRlbXMpO1xuICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVBbHQoYWx0U0l0ZW1zKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAg4oaTXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgey9pZn1cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIFN0YXR1cyBCYXIgSXRlbVwiXG4gICAgICAgICAgICBvbjpjbGljaz17YXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBhbHRTSXRlbXMgPSBhbHRTSXRlbXMuZmlsdGVyKChpdGVtLCBqKSA9PiBpICE9PSBqKTtcbiAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlQWx0KGFsdFNJdGVtcyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIFhcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zdW1tYXJ5PlxuICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWluZm9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLW5hbWVcIj5NZXRyaWMgQ291bnRlcjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW0tZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIFNlbGVjdCB0aGUgY291bnRlciB0byBkaXNwbGF5LCBlLmcuIHdvcmRzLCBjaGFyYWN0ZXJzLlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1jb250cm9sXCI+XG4gICAgICAgICAgPHNlbGVjdCBcbiAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgdmFsdWU9e2l0ZW0ubWV0cmljLmNvdW50ZXJ9XG4gICAgICAgICAgICBvbjpjaGFuZ2U9e2FzeW5jIChlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHt2YWx1ZX0gPSBlLnRhcmdldDtcbiAgICAgICAgICAgICAgaXRlbS5tZXRyaWMuY291bnRlciA9IE1ldHJpY0NvdW50ZXJbTWV0cmljQ291bnRlclt2YWx1ZV1dO1xuICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVBbHQoYWx0U0l0ZW1zKTtcbiAgICAgICAgICAgICAgYXdhaXQgcGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPlNlbGVjdCBPcHRpb248L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e01ldHJpY0NvdW50ZXIud29yZHN9PldvcmRzPC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPXtNZXRyaWNDb3VudGVyLmNoYXJhY3RlcnN9PkNoYXJhY3RlcnM8L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e01ldHJpY0NvdW50ZXIuc2VudGVuY2VzfT5TZW50ZW5jZXM8L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e01ldHJpY0NvdW50ZXIuZmlsZXN9PkZpbGVzPC9vcHRpb24+XG4gICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1uYW1lXCI+TWV0cmljIFR5cGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICBTZWxlY3QgdGhlIHR5cGUgb2YgbWV0cmljIHRoYXQgeW91IHdhbnQgZGlzcGxheWVkLlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1jb250cm9sXCI+XG4gICAgICAgICAgPHNlbGVjdCBcbiAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgdmFsdWU9e2l0ZW0ubWV0cmljLnR5cGV9XG4gICAgICAgICAgICBvbjpjaGFuZ2U9e2FzeW5jIChlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHt2YWx1ZX0gPSBlLnRhcmdldDtcbiAgICAgICAgICAgICAgaXRlbS5tZXRyaWMudHlwZSA9IE1ldHJpY1R5cGVbTWV0cmljVHlwZVt2YWx1ZV1dO1xuICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVBbHQoYWx0U0l0ZW1zKTtcbiAgICAgICAgICAgICAgYXdhaXQgcGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPlNlbGVjdCBPcHRpb248L29wdGlvbj5cbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17TWV0cmljVHlwZS5maWxlfT5DdXJyZW50IE5vdGU8L29wdGlvbj5cbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17TWV0cmljVHlwZS5kYWlseX0+RGFpbHkgTWV0cmljPC9vcHRpb24+XG4gICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e01ldHJpY1R5cGUudG90YWx9PlRvdGFsIGluIFZhdWx0PC9vcHRpb24+XG4gICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1uYW1lXCI+UHJlZml4IFRleHQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICBUaGlzIGlzIHRoZSB0ZXh0IHRoYXQgaXMgcGxhY2VkIGJlZm9yZSB0aGUgY291bnQuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWNvbnRyb2xcIj5cbiAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBuYW1lPVwicHJlZml4XCJcbiAgICAgICAgICAgIHZhbHVlPXtpdGVtLnByZWZpeH1cbiAgICAgICAgICAgIG9uOmNoYW5nZT17YXN5bmMgKGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZS50YXJnZXQ7XG4gICAgICAgICAgICAgIGl0ZW0ucHJlZml4ID0gdmFsdWU7XG4gICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUFsdChhbHRTSXRlbXMpO1xuICAgICAgICAgICAgICBhd2FpdCBwbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmctaXRlbS1uYW1lXCI+U3VmZml4IFRleHQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1pdGVtLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICBUaGlzIGlzIHRoZSB0ZXh0IHRoYXQgaXMgcGxhY2VkIGFmdGVyIHRoZSBjb3VudC5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWl0ZW0tY29udHJvbFwiPlxuICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG5hbWU9XCJzdWZmaXhcIlxuICAgICAgICAgICAgdmFsdWU9e2l0ZW0uc3VmZml4fVxuICAgICAgICAgICAgb246Y2hhbmdlPXthc3luYyAoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBlLnRhcmdldDtcbiAgICAgICAgICAgICAgaXRlbS5zdWZmaXggPSB2YWx1ZTtcbiAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlQWx0KGFsdFNJdGVtcyk7XG4gICAgICAgICAgICAgIGF3YWl0IHBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGV0YWlscz5cbiAgey9lYWNofVxuPC9kaXY+XG4iLCJpbXBvcnQgU3RhdHVzQmFyU2V0dGluZ3MgZnJvbSBcIi4vU3RhdHVzQmFyU2V0dGluZ3Muc3ZlbHRlXCI7XG5pbXBvcnQgdHlwZSBCZXR0ZXJXb3JkQ291bnQgZnJvbSBcIi4uL21haW5cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFN0YXR1c0JhclNldHRpbmdzKFxuICBwbHVnaW46IEJldHRlcldvcmRDb3VudCxcbiAgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50XG4pIHtcbiAgY29uc3Qgc3RhdHVzSXRlbXNFbCA9IGNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiZGl2XCIpO1xuXG4gIG5ldyBTdGF0dXNCYXJTZXR0aW5ncyh7XG4gICAgdGFyZ2V0OiBzdGF0dXNJdGVtc0VsLFxuICAgIHByb3BzOiB7IHBsdWdpbiB9LFxuICB9KTtcbn1cbiIsImltcG9ydCB7IEFwcCwgUGx1Z2luU2V0dGluZ1RhYiwgU2V0dGluZywgVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgdHlwZSBCZXR0ZXJXb3JkQ291bnQgZnJvbSBcInNyYy9tYWluXCI7XG5pbXBvcnQgeyBhZGRTdGF0dXNCYXJTZXR0aW5ncyB9IGZyb20gXCIuL1N0YXR1c0JhclNldHRpbmdzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJldHRlcldvcmRDb3VudFNldHRpbmdzVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XG4gIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwcml2YXRlIHBsdWdpbjogQmV0dGVyV29yZENvdW50KSB7XG4gICAgc3VwZXIoYXBwLCBwbHVnaW4pO1xuICB9XG5cbiAgZGlzcGxheSgpOiB2b2lkIHtcbiAgICBsZXQgeyBjb250YWluZXJFbCB9ID0gdGhpcztcblxuICAgIGNvbnRhaW5lckVsLmVtcHR5KCk7XG4gICAgY29udGFpbmVyRWwuY3JlYXRlRWwoXCJoM1wiLCB7IHRleHQ6IFwiQmV0dGVyIFdvcmQgQ291bnQgU2V0dGluZ3NcIiB9KTtcblxuICAgIC8vIEdlbmVyYWwgU2V0dGluZ3NcbiAgICBjb250YWluZXJFbC5jcmVhdGVFbChcImg0XCIsIHsgdGV4dDogXCJHZW5lcmFsIFNldHRpbmdzXCIgfSk7XG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkNvbGxlY3QgU3RhdGlzdGljc1wiKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgIFwiUmVsb2FkIFJlcXVpcmVkIGZvciBjaGFuZ2UgdG8gdGFrZSBlZmZlY3QuIFR1cm4gb24gdG8gc3RhcnQgY29sbGVjdGluZyBkYWlseSBzdGF0aXN0aWNzIG9mIHlvdXIgd3JpdGluZy4gU3RvcmVkIGluIHRoZSB2YXVsdC1zdGF0cy5qc29uIGZpbGUgaW4gdGhlIC5vYnNpZGlhbiBvZiB5b3VyIHZhdWx0LiBUaGlzIGlzIHJlcXVpcmVkIGZvciBjb3VudHMgb2YgdGhlIGRheSBhcyB3ZWxsIGFzIHRvdGFsIGNvdW50cy5cIlxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgoY2I6IFRvZ2dsZUNvbXBvbmVudCkgPT4ge1xuICAgICAgICBjYi5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jb2xsZWN0U3RhdHMpO1xuICAgICAgICBjYi5vbkNoYW5nZShhc3luYyAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy5jb2xsZWN0U3RhdHMgPSB2YWx1ZTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRG9uJ3QgQ291bnQgQ29tbWVudHNcIilcbiAgICAgIC5zZXREZXNjKFwiVHVybiBvbiBpZiB5b3UgZG9uJ3Qgd2FudCBtYXJrZG93biBjb21tZW50cyB0byBiZSBjb3VudGVkLlwiKVxuICAgICAgLmFkZFRvZ2dsZSgoY2I6IFRvZ2dsZUNvbXBvbmVudCkgPT4ge1xuICAgICAgICBjYi5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jb3VudENvbW1lbnRzKTtcbiAgICAgICAgY2Iub25DaGFuZ2UoYXN5bmMgKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MuY291bnRDb21tZW50cyA9IHZhbHVlO1xuICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgLy8gU3RhdHVzIEJhciBTZXR0aW5nc1xuICAgIGFkZFN0YXR1c0JhclNldHRpbmdzKHRoaXMucGx1Z2luLCBjb250YWluZXJFbCk7XG4gIH1cbn1cbiIsImV4cG9ydCBjb25zdCBWSUVXX1RZUEVfU1RBVFMgPSBcInZhdWx0LXN0YXRzXCI7XG5leHBvcnQgY29uc3QgU1RBVFNfRklMRSA9IFwiLm9ic2lkaWFuL3ZhdWx0LXN0YXRzLmpzb25cIjtcbmV4cG9ydCBjb25zdCBTVEFUU19JQ09OID0gYDxnIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjk1LDAsMCwwLjk1LDIuNSwyLjUpXCI+PHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGQ9XCJNMy43NywxMDBMMjIuNDIxLDEwMEMyNC41MDMsMTAwIDI2LjE5LDk4LjAxMyAyNi4xOSw5NS41NjFMMjYuMTksMzQuODEzQzI2LjE5LDMyLjM2MSAyNC41MDMsMzAuMzc0IDIyLjQyMSwzMC4zNzRMMy43NywzMC4zNzRDMS42ODgsMzAuMzc0IC0wLDMyLjM2MSAtMCwzNC44MTNMLTAsOTUuNTYxQy0wLDk4LjAxMyAxLjY4OCwxMDAgMy43NywxMDBaTTQwLjY3NSwxMDBMNTkuMzI1LDEwMEM2MS40MDgsMTAwIDYzLjA5NSw5OC4wMTMgNjMuMDk1LDk1LjU2MUw2My4wOTUsNC40MzlDNjMuMDk1LDEuOTg3IDYxLjQwOCwtMCA1OS4zMjUsLTBMNDAuNjc1LC0wQzM4LjU5MiwtMCAzNi45MDUsMS45ODcgMzYuOTA1LDQuNDM5TDM2LjkwNSw5NS41NjFDMzYuOTA1LDk4LjAxMyAzOC41OTIsMTAwIDQwLjY3NSwxMDBaTTc3LjU3OSwxMDBMOTYuMjMsMTAwQzk4LjMxMiwxMDAgMTAwLDk4LjAxMyAxMDAsOTUuNTYxTDEwMCw0Ni40OTVDMTAwLDQ0LjA0MyA5OC4zMTIsNDIuMDU2IDk2LjIzLDQyLjA1Nkw3Ny41NzksNDIuMDU2Qzc1LjQ5Nyw0Mi4wNTYgNzMuODEsNDQuMDQzIDczLjgxLDQ2LjQ5NUw3My44MSw5NS41NjFDNzMuODEsOTguMDEzIDc1LjQ5NywxMDAgNzcuNTc5LDEwMFpcIiBzdHlsZT1cImZpbGw6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2Utd2lkdGg6OHB4O1wiLz48L2c+YDtcbmV4cG9ydCBjb25zdCBTVEFUU19JQ09OX05BTUUgPSBcInN0YXRzLWdyYXBoXCI7XG5leHBvcnQgY29uc3QgTUFUQ0hfSFRNTF9DT01NRU5UID0gbmV3IFJlZ0V4cChcbiAgXCI8IS0tW1xcXFxzXFxcXFNdKj8oPzotLT4pP1wiICtcbiAgICBcIjwhLS0tKz4/XCIgK1xuICAgIFwifDwhKD8hW2REXVtvT11bY0NdW3RUXVt5WV1bcFBdW2VFXXxcXFxcW0NEQVRBXFxcXFspW14+XSo+P1wiICtcbiAgICBcInw8Wz9dW14+XSo+P1wiLFxuICBcImdcIlxuKTtcbmV4cG9ydCBjb25zdCBNQVRDSF9DT01NRU5UID0gbmV3IFJlZ0V4cChcIiUlW14lJV0rJSVcIiwgXCJnXCIpO1xuZXhwb3J0IGNvbnN0IE1BVENIX1BBUkFHUkFQSCA9IG5ldyBSZWdFeHAoXCJcXG4oW15cXG5dKylcXG5cIiwgXCJnXCIpO1xuIiwiLy8hIG1vbWVudC5qc1xuLy8hIHZlcnNpb24gOiAyLjI5LjRcbi8vISBhdXRob3JzIDogVGltIFdvb2QsIElza3JlbiBDaGVybmV2LCBNb21lbnQuanMgY29udHJpYnV0b3JzXG4vLyEgbGljZW5zZSA6IE1JVFxuLy8hIG1vbWVudGpzLmNvbVxuXG47KGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHtcbiAgICB0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKSA6XG4gICAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKGZhY3RvcnkpIDpcbiAgICBnbG9iYWwubW9tZW50ID0gZmFjdG9yeSgpXG59KHRoaXMsIChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JztcblxuICAgIHZhciBob29rQ2FsbGJhY2s7XG5cbiAgICBmdW5jdGlvbiBob29rcygpIHtcbiAgICAgICAgcmV0dXJuIGhvb2tDYWxsYmFjay5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgZG9uZSB0byByZWdpc3RlciB0aGUgbWV0aG9kIGNhbGxlZCB3aXRoIG1vbWVudCgpXG4gICAgLy8gd2l0aG91dCBjcmVhdGluZyBjaXJjdWxhciBkZXBlbmRlbmNpZXMuXG4gICAgZnVuY3Rpb24gc2V0SG9va0NhbGxiYWNrKGNhbGxiYWNrKSB7XG4gICAgICAgIGhvb2tDYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzQXJyYXkoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlucHV0IGluc3RhbmNlb2YgQXJyYXkgfHxcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpbnB1dCkgPT09ICdbb2JqZWN0IEFycmF5XSdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc09iamVjdChpbnB1dCkge1xuICAgICAgICAvLyBJRTggd2lsbCB0cmVhdCB1bmRlZmluZWQgYW5kIG51bGwgYXMgb2JqZWN0IGlmIGl0IHdhc24ndCBmb3JcbiAgICAgICAgLy8gaW5wdXQgIT0gbnVsbFxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaW5wdXQgIT0gbnVsbCAmJlxuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGlucHV0KSA9PT0gJ1tvYmplY3QgT2JqZWN0XSdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYXNPd25Qcm9wKGEsIGIpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLCBiKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc09iamVjdEVtcHR5KG9iaikge1xuICAgICAgICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBrO1xuICAgICAgICAgICAgZm9yIChrIGluIG9iaikge1xuICAgICAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wKG9iaiwgaykpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNVbmRlZmluZWQoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0ID09PSB2b2lkIDA7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNOdW1iZXIoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHR5cGVvZiBpbnB1dCA9PT0gJ251bWJlcicgfHxcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpbnB1dCkgPT09ICdbb2JqZWN0IE51bWJlcl0nXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNEYXRlKGlucHV0KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpbnB1dCBpbnN0YW5jZW9mIERhdGUgfHxcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpbnB1dCkgPT09ICdbb2JqZWN0IERhdGVdJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1hcChhcnIsIGZuKSB7XG4gICAgICAgIHZhciByZXMgPSBbXSxcbiAgICAgICAgICAgIGksXG4gICAgICAgICAgICBhcnJMZW4gPSBhcnIubGVuZ3RoO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJyTGVuOyArK2kpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKGZuKGFycltpXSwgaSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXh0ZW5kKGEsIGIpIHtcbiAgICAgICAgZm9yICh2YXIgaSBpbiBiKSB7XG4gICAgICAgICAgICBpZiAoaGFzT3duUHJvcChiLCBpKSkge1xuICAgICAgICAgICAgICAgIGFbaV0gPSBiW2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc093blByb3AoYiwgJ3RvU3RyaW5nJykpIHtcbiAgICAgICAgICAgIGEudG9TdHJpbmcgPSBiLnRvU3RyaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc093blByb3AoYiwgJ3ZhbHVlT2YnKSkge1xuICAgICAgICAgICAgYS52YWx1ZU9mID0gYi52YWx1ZU9mO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGE7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY3JlYXRlVVRDKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0KSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVMb2NhbE9yVVRDKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0LCB0cnVlKS51dGMoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBkZWZhdWx0UGFyc2luZ0ZsYWdzKCkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIGRlZXAgY2xvbmUgdGhpcyBvYmplY3QuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbXB0eTogZmFsc2UsXG4gICAgICAgICAgICB1bnVzZWRUb2tlbnM6IFtdLFxuICAgICAgICAgICAgdW51c2VkSW5wdXQ6IFtdLFxuICAgICAgICAgICAgb3ZlcmZsb3c6IC0yLFxuICAgICAgICAgICAgY2hhcnNMZWZ0T3ZlcjogMCxcbiAgICAgICAgICAgIG51bGxJbnB1dDogZmFsc2UsXG4gICAgICAgICAgICBpbnZhbGlkRXJhOiBudWxsLFxuICAgICAgICAgICAgaW52YWxpZE1vbnRoOiBudWxsLFxuICAgICAgICAgICAgaW52YWxpZEZvcm1hdDogZmFsc2UsXG4gICAgICAgICAgICB1c2VySW52YWxpZGF0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgaXNvOiBmYWxzZSxcbiAgICAgICAgICAgIHBhcnNlZERhdGVQYXJ0czogW10sXG4gICAgICAgICAgICBlcmE6IG51bGwsXG4gICAgICAgICAgICBtZXJpZGllbTogbnVsbCxcbiAgICAgICAgICAgIHJmYzI4MjI6IGZhbHNlLFxuICAgICAgICAgICAgd2Vla2RheU1pc21hdGNoOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRQYXJzaW5nRmxhZ3MobSkge1xuICAgICAgICBpZiAobS5fcGYgPT0gbnVsbCkge1xuICAgICAgICAgICAgbS5fcGYgPSBkZWZhdWx0UGFyc2luZ0ZsYWdzKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG0uX3BmO1xuICAgIH1cblxuICAgIHZhciBzb21lO1xuICAgIGlmIChBcnJheS5wcm90b3R5cGUuc29tZSkge1xuICAgICAgICBzb21lID0gQXJyYXkucHJvdG90eXBlLnNvbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgc29tZSA9IGZ1bmN0aW9uIChmdW4pIHtcbiAgICAgICAgICAgIHZhciB0ID0gT2JqZWN0KHRoaXMpLFxuICAgICAgICAgICAgICAgIGxlbiA9IHQubGVuZ3RoID4+PiAwLFxuICAgICAgICAgICAgICAgIGk7XG5cbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChpIGluIHQgJiYgZnVuLmNhbGwodGhpcywgdFtpXSwgaSwgdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNWYWxpZChtKSB7XG4gICAgICAgIGlmIChtLl9pc1ZhbGlkID09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBmbGFncyA9IGdldFBhcnNpbmdGbGFncyhtKSxcbiAgICAgICAgICAgICAgICBwYXJzZWRQYXJ0cyA9IHNvbWUuY2FsbChmbGFncy5wYXJzZWREYXRlUGFydHMsIGZ1bmN0aW9uIChpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpICE9IG51bGw7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgaXNOb3dWYWxpZCA9XG4gICAgICAgICAgICAgICAgICAgICFpc05hTihtLl9kLmdldFRpbWUoKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgZmxhZ3Mub3ZlcmZsb3cgPCAwICYmXG4gICAgICAgICAgICAgICAgICAgICFmbGFncy5lbXB0eSAmJlxuICAgICAgICAgICAgICAgICAgICAhZmxhZ3MuaW52YWxpZEVyYSAmJlxuICAgICAgICAgICAgICAgICAgICAhZmxhZ3MuaW52YWxpZE1vbnRoICYmXG4gICAgICAgICAgICAgICAgICAgICFmbGFncy5pbnZhbGlkV2Vla2RheSAmJlxuICAgICAgICAgICAgICAgICAgICAhZmxhZ3Mud2Vla2RheU1pc21hdGNoICYmXG4gICAgICAgICAgICAgICAgICAgICFmbGFncy5udWxsSW5wdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgIWZsYWdzLmludmFsaWRGb3JtYXQgJiZcbiAgICAgICAgICAgICAgICAgICAgIWZsYWdzLnVzZXJJbnZhbGlkYXRlZCAmJlxuICAgICAgICAgICAgICAgICAgICAoIWZsYWdzLm1lcmlkaWVtIHx8IChmbGFncy5tZXJpZGllbSAmJiBwYXJzZWRQYXJ0cykpO1xuXG4gICAgICAgICAgICBpZiAobS5fc3RyaWN0KSB7XG4gICAgICAgICAgICAgICAgaXNOb3dWYWxpZCA9XG4gICAgICAgICAgICAgICAgICAgIGlzTm93VmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgZmxhZ3MuY2hhcnNMZWZ0T3ZlciA9PT0gMCAmJlxuICAgICAgICAgICAgICAgICAgICBmbGFncy51bnVzZWRUb2tlbnMubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICAgICAgICAgIGZsYWdzLmJpZ0hvdXIgPT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdC5pc0Zyb3plbiA9PSBudWxsIHx8ICFPYmplY3QuaXNGcm96ZW4obSkpIHtcbiAgICAgICAgICAgICAgICBtLl9pc1ZhbGlkID0gaXNOb3dWYWxpZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzTm93VmFsaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG0uX2lzVmFsaWQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY3JlYXRlSW52YWxpZChmbGFncykge1xuICAgICAgICB2YXIgbSA9IGNyZWF0ZVVUQyhOYU4pO1xuICAgICAgICBpZiAoZmxhZ3MgIT0gbnVsbCkge1xuICAgICAgICAgICAgZXh0ZW5kKGdldFBhcnNpbmdGbGFncyhtKSwgZmxhZ3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKG0pLnVzZXJJbnZhbGlkYXRlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICAvLyBQbHVnaW5zIHRoYXQgYWRkIHByb3BlcnRpZXMgc2hvdWxkIGFsc28gYWRkIHRoZSBrZXkgaGVyZSAobnVsbCB2YWx1ZSksXG4gICAgLy8gc28gd2UgY2FuIHByb3Blcmx5IGNsb25lIG91cnNlbHZlcy5cbiAgICB2YXIgbW9tZW50UHJvcGVydGllcyA9IChob29rcy5tb21lbnRQcm9wZXJ0aWVzID0gW10pLFxuICAgICAgICB1cGRhdGVJblByb2dyZXNzID0gZmFsc2U7XG5cbiAgICBmdW5jdGlvbiBjb3B5Q29uZmlnKHRvLCBmcm9tKSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgcHJvcCxcbiAgICAgICAgICAgIHZhbCxcbiAgICAgICAgICAgIG1vbWVudFByb3BlcnRpZXNMZW4gPSBtb21lbnRQcm9wZXJ0aWVzLmxlbmd0aDtcblxuICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKGZyb20uX2lzQU1vbWVudE9iamVjdCkpIHtcbiAgICAgICAgICAgIHRvLl9pc0FNb21lbnRPYmplY3QgPSBmcm9tLl9pc0FNb21lbnRPYmplY3Q7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZChmcm9tLl9pKSkge1xuICAgICAgICAgICAgdG8uX2kgPSBmcm9tLl9pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNVbmRlZmluZWQoZnJvbS5fZikpIHtcbiAgICAgICAgICAgIHRvLl9mID0gZnJvbS5fZjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKGZyb20uX2wpKSB7XG4gICAgICAgICAgICB0by5fbCA9IGZyb20uX2w7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZChmcm9tLl9zdHJpY3QpKSB7XG4gICAgICAgICAgICB0by5fc3RyaWN0ID0gZnJvbS5fc3RyaWN0O1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNVbmRlZmluZWQoZnJvbS5fdHptKSkge1xuICAgICAgICAgICAgdG8uX3R6bSA9IGZyb20uX3R6bTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKGZyb20uX2lzVVRDKSkge1xuICAgICAgICAgICAgdG8uX2lzVVRDID0gZnJvbS5faXNVVEM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZChmcm9tLl9vZmZzZXQpKSB7XG4gICAgICAgICAgICB0by5fb2Zmc2V0ID0gZnJvbS5fb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNVbmRlZmluZWQoZnJvbS5fcGYpKSB7XG4gICAgICAgICAgICB0by5fcGYgPSBnZXRQYXJzaW5nRmxhZ3MoZnJvbSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZChmcm9tLl9sb2NhbGUpKSB7XG4gICAgICAgICAgICB0by5fbG9jYWxlID0gZnJvbS5fbG9jYWxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vbWVudFByb3BlcnRpZXNMZW4gPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbW9tZW50UHJvcGVydGllc0xlbjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgcHJvcCA9IG1vbWVudFByb3BlcnRpZXNbaV07XG4gICAgICAgICAgICAgICAgdmFsID0gZnJvbVtwcm9wXTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKHZhbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9bcHJvcF0gPSB2YWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRvO1xuICAgIH1cblxuICAgIC8vIE1vbWVudCBwcm90b3R5cGUgb2JqZWN0XG4gICAgZnVuY3Rpb24gTW9tZW50KGNvbmZpZykge1xuICAgICAgICBjb3B5Q29uZmlnKHRoaXMsIGNvbmZpZyk7XG4gICAgICAgIHRoaXMuX2QgPSBuZXcgRGF0ZShjb25maWcuX2QgIT0gbnVsbCA/IGNvbmZpZy5fZC5nZXRUaW1lKCkgOiBOYU4pO1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9kID0gbmV3IERhdGUoTmFOKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBQcmV2ZW50IGluZmluaXRlIGxvb3AgaW4gY2FzZSB1cGRhdGVPZmZzZXQgY3JlYXRlcyBuZXcgbW9tZW50XG4gICAgICAgIC8vIG9iamVjdHMuXG4gICAgICAgIGlmICh1cGRhdGVJblByb2dyZXNzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdXBkYXRlSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgICAgICAgICBob29rcy51cGRhdGVPZmZzZXQodGhpcyk7XG4gICAgICAgICAgICB1cGRhdGVJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc01vbWVudChvYmopIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIG9iaiBpbnN0YW5jZW9mIE1vbWVudCB8fCAob2JqICE9IG51bGwgJiYgb2JqLl9pc0FNb21lbnRPYmplY3QgIT0gbnVsbClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB3YXJuKG1zZykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBob29rcy5zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZ3MgPT09IGZhbHNlICYmXG4gICAgICAgICAgICB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgIGNvbnNvbGUud2FyblxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignRGVwcmVjYXRpb24gd2FybmluZzogJyArIG1zZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBkZXByZWNhdGUobXNnLCBmbikge1xuICAgICAgICB2YXIgZmlyc3RUaW1lID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gZXh0ZW5kKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChob29rcy5kZXByZWNhdGlvbkhhbmRsZXIgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGhvb2tzLmRlcHJlY2F0aW9uSGFuZGxlcihudWxsLCBtc2cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZpcnN0VGltZSkge1xuICAgICAgICAgICAgICAgIHZhciBhcmdzID0gW10sXG4gICAgICAgICAgICAgICAgICAgIGFyZyxcbiAgICAgICAgICAgICAgICAgICAgaSxcbiAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICBhcmdMZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcmdMZW47IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBhcmcgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbaV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmcgKz0gJ1xcblsnICsgaSArICddICc7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGtleSBpbiBhcmd1bWVudHNbMF0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzT3duUHJvcChhcmd1bWVudHNbMF0sIGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnICs9IGtleSArICc6ICcgKyBhcmd1bWVudHNbMF1ba2V5XSArICcsICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYXJnID0gYXJnLnNsaWNlKDAsIC0yKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGFuZCBzcGFjZVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzW2ldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGFyZ3MucHVzaChhcmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgICAgICAgICBtc2cgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbkFyZ3VtZW50czogJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmdzKS5qb2luKCcnKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXJyb3IoKS5zdGFja1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfSwgZm4pO1xuICAgIH1cblxuICAgIHZhciBkZXByZWNhdGlvbnMgPSB7fTtcblxuICAgIGZ1bmN0aW9uIGRlcHJlY2F0ZVNpbXBsZShuYW1lLCBtc2cpIHtcbiAgICAgICAgaWYgKGhvb2tzLmRlcHJlY2F0aW9uSGFuZGxlciAhPSBudWxsKSB7XG4gICAgICAgICAgICBob29rcy5kZXByZWNhdGlvbkhhbmRsZXIobmFtZSwgbXNnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWRlcHJlY2F0aW9uc1tuYW1lXSkge1xuICAgICAgICAgICAgd2Fybihtc2cpO1xuICAgICAgICAgICAgZGVwcmVjYXRpb25zW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhvb2tzLnN1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5ncyA9IGZhbHNlO1xuICAgIGhvb2tzLmRlcHJlY2F0aW9uSGFuZGxlciA9IG51bGw7XG5cbiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKGlucHV0KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodHlwZW9mIEZ1bmN0aW9uICE9PSAndW5kZWZpbmVkJyAmJiBpbnB1dCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB8fFxuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGlucHV0KSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNldChjb25maWcpIHtcbiAgICAgICAgdmFyIHByb3AsIGk7XG4gICAgICAgIGZvciAoaSBpbiBjb25maWcpIHtcbiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wKGNvbmZpZywgaSkpIHtcbiAgICAgICAgICAgICAgICBwcm9wID0gY29uZmlnW2ldO1xuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHByb3ApKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNbaV0gPSBwcm9wO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNbJ18nICsgaV0gPSBwcm9wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgICAgIC8vIExlbmllbnQgb3JkaW5hbCBwYXJzaW5nIGFjY2VwdHMganVzdCBhIG51bWJlciBpbiBhZGRpdGlvbiB0b1xuICAgICAgICAvLyBudW1iZXIgKyAocG9zc2libHkpIHN0dWZmIGNvbWluZyBmcm9tIF9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlLlxuICAgICAgICAvLyBUT0RPOiBSZW1vdmUgXCJvcmRpbmFsUGFyc2VcIiBmYWxsYmFjayBpbiBuZXh0IG1ham9yIHJlbGVhc2UuXG4gICAgICAgIHRoaXMuX2RheU9mTW9udGhPcmRpbmFsUGFyc2VMZW5pZW50ID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgICh0aGlzLl9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlLnNvdXJjZSB8fCB0aGlzLl9vcmRpbmFsUGFyc2Uuc291cmNlKSArXG4gICAgICAgICAgICAgICAgJ3wnICtcbiAgICAgICAgICAgICAgICAvXFxkezEsMn0vLnNvdXJjZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1lcmdlQ29uZmlncyhwYXJlbnRDb25maWcsIGNoaWxkQ29uZmlnKSB7XG4gICAgICAgIHZhciByZXMgPSBleHRlbmQoe30sIHBhcmVudENvbmZpZyksXG4gICAgICAgICAgICBwcm9wO1xuICAgICAgICBmb3IgKHByb3AgaW4gY2hpbGRDb25maWcpIHtcbiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wKGNoaWxkQ29uZmlnLCBwcm9wKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc09iamVjdChwYXJlbnRDb25maWdbcHJvcF0pICYmIGlzT2JqZWN0KGNoaWxkQ29uZmlnW3Byb3BdKSkge1xuICAgICAgICAgICAgICAgICAgICByZXNbcHJvcF0gPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgZXh0ZW5kKHJlc1twcm9wXSwgcGFyZW50Q29uZmlnW3Byb3BdKTtcbiAgICAgICAgICAgICAgICAgICAgZXh0ZW5kKHJlc1twcm9wXSwgY2hpbGRDb25maWdbcHJvcF0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGRDb25maWdbcHJvcF0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXNbcHJvcF0gPSBjaGlsZENvbmZpZ1twcm9wXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgcmVzW3Byb3BdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKHByb3AgaW4gcGFyZW50Q29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgaGFzT3duUHJvcChwYXJlbnRDb25maWcsIHByb3ApICYmXG4gICAgICAgICAgICAgICAgIWhhc093blByb3AoY2hpbGRDb25maWcsIHByb3ApICYmXG4gICAgICAgICAgICAgICAgaXNPYmplY3QocGFyZW50Q29uZmlnW3Byb3BdKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIGNoYW5nZXMgdG8gcHJvcGVydGllcyBkb24ndCBtb2RpZnkgcGFyZW50IGNvbmZpZ1xuICAgICAgICAgICAgICAgIHJlc1twcm9wXSA9IGV4dGVuZCh7fSwgcmVzW3Byb3BdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIExvY2FsZShjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNldChjb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGtleXM7XG5cbiAgICBpZiAoT2JqZWN0LmtleXMpIHtcbiAgICAgICAga2V5cyA9IE9iamVjdC5rZXlzO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGtleXMgPSBmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgICAgICB2YXIgaSxcbiAgICAgICAgICAgICAgICByZXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAoaSBpbiBvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAoaGFzT3duUHJvcChvYmosIGkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcy5wdXNoKGkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIGRlZmF1bHRDYWxlbmRhciA9IHtcbiAgICAgICAgc2FtZURheTogJ1tUb2RheSBhdF0gTFQnLFxuICAgICAgICBuZXh0RGF5OiAnW1RvbW9ycm93IGF0XSBMVCcsXG4gICAgICAgIG5leHRXZWVrOiAnZGRkZCBbYXRdIExUJyxcbiAgICAgICAgbGFzdERheTogJ1tZZXN0ZXJkYXkgYXRdIExUJyxcbiAgICAgICAgbGFzdFdlZWs6ICdbTGFzdF0gZGRkZCBbYXRdIExUJyxcbiAgICAgICAgc2FtZUVsc2U6ICdMJyxcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gY2FsZW5kYXIoa2V5LCBtb20sIG5vdykge1xuICAgICAgICB2YXIgb3V0cHV0ID0gdGhpcy5fY2FsZW5kYXJba2V5XSB8fCB0aGlzLl9jYWxlbmRhclsnc2FtZUVsc2UnXTtcbiAgICAgICAgcmV0dXJuIGlzRnVuY3Rpb24ob3V0cHV0KSA/IG91dHB1dC5jYWxsKG1vbSwgbm93KSA6IG91dHB1dDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB6ZXJvRmlsbChudW1iZXIsIHRhcmdldExlbmd0aCwgZm9yY2VTaWduKSB7XG4gICAgICAgIHZhciBhYnNOdW1iZXIgPSAnJyArIE1hdGguYWJzKG51bWJlciksXG4gICAgICAgICAgICB6ZXJvc1RvRmlsbCA9IHRhcmdldExlbmd0aCAtIGFic051bWJlci5sZW5ndGgsXG4gICAgICAgICAgICBzaWduID0gbnVtYmVyID49IDA7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoc2lnbiA/IChmb3JjZVNpZ24gPyAnKycgOiAnJykgOiAnLScpICtcbiAgICAgICAgICAgIE1hdGgucG93KDEwLCBNYXRoLm1heCgwLCB6ZXJvc1RvRmlsbCkpLnRvU3RyaW5nKCkuc3Vic3RyKDEpICtcbiAgICAgICAgICAgIGFic051bWJlclxuICAgICAgICApO1xuICAgIH1cblxuICAgIHZhciBmb3JtYXR0aW5nVG9rZW5zID1cbiAgICAgICAgICAgIC8oXFxbW15cXFtdKlxcXSl8KFxcXFwpPyhbSGhdbW0oc3MpP3xNb3xNTT9NP00/fERvfERERG98REQ/RD9EP3xkZGQ/ZD98ZG8/fHdbb3x3XT98V1tvfFddP3xRbz98TnsxLDV9fFlZWVlZWXxZWVlZWXxZWVlZfFlZfHl7Miw0fXx5bz98Z2coZ2dnPyk/fEdHKEdHRz8pP3xlfEV8YXxBfGhoP3xISD98a2s/fG1tP3xzcz98U3sxLDl9fHh8WHx6ej98Wlo/fC4pL2csXG4gICAgICAgIGxvY2FsRm9ybWF0dGluZ1Rva2VucyA9IC8oXFxbW15cXFtdKlxcXSl8KFxcXFwpPyhMVFN8TFR8TEw/TD9MP3xsezEsNH0pL2csXG4gICAgICAgIGZvcm1hdEZ1bmN0aW9ucyA9IHt9LFxuICAgICAgICBmb3JtYXRUb2tlbkZ1bmN0aW9ucyA9IHt9O1xuXG4gICAgLy8gdG9rZW46ICAgICdNJ1xuICAgIC8vIHBhZGRlZDogICBbJ01NJywgMl1cbiAgICAvLyBvcmRpbmFsOiAgJ01vJ1xuICAgIC8vIGNhbGxiYWNrOiBmdW5jdGlvbiAoKSB7IHRoaXMubW9udGgoKSArIDEgfVxuICAgIGZ1bmN0aW9uIGFkZEZvcm1hdFRva2VuKHRva2VuLCBwYWRkZWQsIG9yZGluYWwsIGNhbGxiYWNrKSB7XG4gICAgICAgIHZhciBmdW5jID0gY2FsbGJhY2s7XG4gICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBmdW5jID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW2NhbGxiYWNrXSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICAgIGZvcm1hdFRva2VuRnVuY3Rpb25zW3Rva2VuXSA9IGZ1bmM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhZGRlZCkge1xuICAgICAgICAgICAgZm9ybWF0VG9rZW5GdW5jdGlvbnNbcGFkZGVkWzBdXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gemVyb0ZpbGwoZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpLCBwYWRkZWRbMV0sIHBhZGRlZFsyXSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcmRpbmFsKSB7XG4gICAgICAgICAgICBmb3JtYXRUb2tlbkZ1bmN0aW9uc1tvcmRpbmFsXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkub3JkaW5hbChcbiAgICAgICAgICAgICAgICAgICAgZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpLFxuICAgICAgICAgICAgICAgICAgICB0b2tlblxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVtb3ZlRm9ybWF0dGluZ1Rva2VucyhpbnB1dCkge1xuICAgICAgICBpZiAoaW5wdXQubWF0Y2goL1xcW1tcXHNcXFNdLykpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnB1dC5yZXBsYWNlKC9eXFxbfFxcXSQvZywgJycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnB1dC5yZXBsYWNlKC9cXFxcL2csICcnKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWtlRm9ybWF0RnVuY3Rpb24oZm9ybWF0KSB7XG4gICAgICAgIHZhciBhcnJheSA9IGZvcm1hdC5tYXRjaChmb3JtYXR0aW5nVG9rZW5zKSxcbiAgICAgICAgICAgIGksXG4gICAgICAgICAgICBsZW5ndGg7XG5cbiAgICAgICAgZm9yIChpID0gMCwgbGVuZ3RoID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChmb3JtYXRUb2tlbkZ1bmN0aW9uc1thcnJheVtpXV0pIHtcbiAgICAgICAgICAgICAgICBhcnJheVtpXSA9IGZvcm1hdFRva2VuRnVuY3Rpb25zW2FycmF5W2ldXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYXJyYXlbaV0gPSByZW1vdmVGb3JtYXR0aW5nVG9rZW5zKGFycmF5W2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAobW9tKSB7XG4gICAgICAgICAgICB2YXIgb3V0cHV0ID0gJycsXG4gICAgICAgICAgICAgICAgaTtcbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIG91dHB1dCArPSBpc0Z1bmN0aW9uKGFycmF5W2ldKVxuICAgICAgICAgICAgICAgICAgICA/IGFycmF5W2ldLmNhbGwobW9tLCBmb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgIDogYXJyYXlbaV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vIGZvcm1hdCBkYXRlIHVzaW5nIG5hdGl2ZSBkYXRlIG9iamVjdFxuICAgIGZ1bmN0aW9uIGZvcm1hdE1vbWVudChtLCBmb3JtYXQpIHtcbiAgICAgICAgaWYgKCFtLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIG0ubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtYXQgPSBleHBhbmRGb3JtYXQoZm9ybWF0LCBtLmxvY2FsZURhdGEoKSk7XG4gICAgICAgIGZvcm1hdEZ1bmN0aW9uc1tmb3JtYXRdID1cbiAgICAgICAgICAgIGZvcm1hdEZ1bmN0aW9uc1tmb3JtYXRdIHx8IG1ha2VGb3JtYXRGdW5jdGlvbihmb3JtYXQpO1xuXG4gICAgICAgIHJldHVybiBmb3JtYXRGdW5jdGlvbnNbZm9ybWF0XShtKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBleHBhbmRGb3JtYXQoZm9ybWF0LCBsb2NhbGUpIHtcbiAgICAgICAgdmFyIGkgPSA1O1xuXG4gICAgICAgIGZ1bmN0aW9uIHJlcGxhY2VMb25nRGF0ZUZvcm1hdFRva2VucyhpbnB1dCkge1xuICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS5sb25nRGF0ZUZvcm1hdChpbnB1dCkgfHwgaW5wdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBsb2NhbEZvcm1hdHRpbmdUb2tlbnMubGFzdEluZGV4ID0gMDtcbiAgICAgICAgd2hpbGUgKGkgPj0gMCAmJiBsb2NhbEZvcm1hdHRpbmdUb2tlbnMudGVzdChmb3JtYXQpKSB7XG4gICAgICAgICAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZShcbiAgICAgICAgICAgICAgICBsb2NhbEZvcm1hdHRpbmdUb2tlbnMsXG4gICAgICAgICAgICAgICAgcmVwbGFjZUxvbmdEYXRlRm9ybWF0VG9rZW5zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbG9jYWxGb3JtYXR0aW5nVG9rZW5zLmxhc3RJbmRleCA9IDA7XG4gICAgICAgICAgICBpIC09IDE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ybWF0O1xuICAgIH1cblxuICAgIHZhciBkZWZhdWx0TG9uZ0RhdGVGb3JtYXQgPSB7XG4gICAgICAgIExUUzogJ2g6bW06c3MgQScsXG4gICAgICAgIExUOiAnaDptbSBBJyxcbiAgICAgICAgTDogJ01NL0REL1lZWVknLFxuICAgICAgICBMTDogJ01NTU0gRCwgWVlZWScsXG4gICAgICAgIExMTDogJ01NTU0gRCwgWVlZWSBoOm1tIEEnLFxuICAgICAgICBMTExMOiAnZGRkZCwgTU1NTSBELCBZWVlZIGg6bW0gQScsXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGxvbmdEYXRlRm9ybWF0KGtleSkge1xuICAgICAgICB2YXIgZm9ybWF0ID0gdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5XSxcbiAgICAgICAgICAgIGZvcm1hdFVwcGVyID0gdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5LnRvVXBwZXJDYXNlKCldO1xuXG4gICAgICAgIGlmIChmb3JtYXQgfHwgIWZvcm1hdFVwcGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5XSA9IGZvcm1hdFVwcGVyXG4gICAgICAgICAgICAubWF0Y2goZm9ybWF0dGluZ1Rva2VucylcbiAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKHRvaykge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgdG9rID09PSAnTU1NTScgfHxcbiAgICAgICAgICAgICAgICAgICAgdG9rID09PSAnTU0nIHx8XG4gICAgICAgICAgICAgICAgICAgIHRvayA9PT0gJ0REJyB8fFxuICAgICAgICAgICAgICAgICAgICB0b2sgPT09ICdkZGRkJ1xuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rLnNsaWNlKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdG9rO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKCcnKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5XTtcbiAgICB9XG5cbiAgICB2YXIgZGVmYXVsdEludmFsaWREYXRlID0gJ0ludmFsaWQgZGF0ZSc7XG5cbiAgICBmdW5jdGlvbiBpbnZhbGlkRGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ludmFsaWREYXRlO1xuICAgIH1cblxuICAgIHZhciBkZWZhdWx0T3JkaW5hbCA9ICclZCcsXG4gICAgICAgIGRlZmF1bHREYXlPZk1vbnRoT3JkaW5hbFBhcnNlID0gL1xcZHsxLDJ9LztcblxuICAgIGZ1bmN0aW9uIG9yZGluYWwobnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcmRpbmFsLnJlcGxhY2UoJyVkJywgbnVtYmVyKTtcbiAgICB9XG5cbiAgICB2YXIgZGVmYXVsdFJlbGF0aXZlVGltZSA9IHtcbiAgICAgICAgZnV0dXJlOiAnaW4gJXMnLFxuICAgICAgICBwYXN0OiAnJXMgYWdvJyxcbiAgICAgICAgczogJ2EgZmV3IHNlY29uZHMnLFxuICAgICAgICBzczogJyVkIHNlY29uZHMnLFxuICAgICAgICBtOiAnYSBtaW51dGUnLFxuICAgICAgICBtbTogJyVkIG1pbnV0ZXMnLFxuICAgICAgICBoOiAnYW4gaG91cicsXG4gICAgICAgIGhoOiAnJWQgaG91cnMnLFxuICAgICAgICBkOiAnYSBkYXknLFxuICAgICAgICBkZDogJyVkIGRheXMnLFxuICAgICAgICB3OiAnYSB3ZWVrJyxcbiAgICAgICAgd3c6ICclZCB3ZWVrcycsXG4gICAgICAgIE06ICdhIG1vbnRoJyxcbiAgICAgICAgTU06ICclZCBtb250aHMnLFxuICAgICAgICB5OiAnYSB5ZWFyJyxcbiAgICAgICAgeXk6ICclZCB5ZWFycycsXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIHJlbGF0aXZlVGltZShudW1iZXIsIHdpdGhvdXRTdWZmaXgsIHN0cmluZywgaXNGdXR1cmUpIHtcbiAgICAgICAgdmFyIG91dHB1dCA9IHRoaXMuX3JlbGF0aXZlVGltZVtzdHJpbmddO1xuICAgICAgICByZXR1cm4gaXNGdW5jdGlvbihvdXRwdXQpXG4gICAgICAgICAgICA/IG91dHB1dChudW1iZXIsIHdpdGhvdXRTdWZmaXgsIHN0cmluZywgaXNGdXR1cmUpXG4gICAgICAgICAgICA6IG91dHB1dC5yZXBsYWNlKC8lZC9pLCBudW1iZXIpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHBhc3RGdXR1cmUoZGlmZiwgb3V0cHV0KSB7XG4gICAgICAgIHZhciBmb3JtYXQgPSB0aGlzLl9yZWxhdGl2ZVRpbWVbZGlmZiA+IDAgPyAnZnV0dXJlJyA6ICdwYXN0J107XG4gICAgICAgIHJldHVybiBpc0Z1bmN0aW9uKGZvcm1hdCkgPyBmb3JtYXQob3V0cHV0KSA6IGZvcm1hdC5yZXBsYWNlKC8lcy9pLCBvdXRwdXQpO1xuICAgIH1cblxuICAgIHZhciBhbGlhc2VzID0ge307XG5cbiAgICBmdW5jdGlvbiBhZGRVbml0QWxpYXModW5pdCwgc2hvcnRoYW5kKSB7XG4gICAgICAgIHZhciBsb3dlckNhc2UgPSB1bml0LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGFsaWFzZXNbbG93ZXJDYXNlXSA9IGFsaWFzZXNbbG93ZXJDYXNlICsgJ3MnXSA9IGFsaWFzZXNbc2hvcnRoYW5kXSA9IHVuaXQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbm9ybWFsaXplVW5pdHModW5pdHMpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB1bml0cyA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gYWxpYXNlc1t1bml0c10gfHwgYWxpYXNlc1t1bml0cy50b0xvd2VyQ2FzZSgpXVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbm9ybWFsaXplT2JqZWN0VW5pdHMoaW5wdXRPYmplY3QpIHtcbiAgICAgICAgdmFyIG5vcm1hbGl6ZWRJbnB1dCA9IHt9LFxuICAgICAgICAgICAgbm9ybWFsaXplZFByb3AsXG4gICAgICAgICAgICBwcm9wO1xuXG4gICAgICAgIGZvciAocHJvcCBpbiBpbnB1dE9iamVjdCkge1xuICAgICAgICAgICAgaWYgKGhhc093blByb3AoaW5wdXRPYmplY3QsIHByb3ApKSB7XG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZFByb3AgPSBub3JtYWxpemVVbml0cyhwcm9wKTtcbiAgICAgICAgICAgICAgICBpZiAobm9ybWFsaXplZFByb3ApIHtcbiAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZElucHV0W25vcm1hbGl6ZWRQcm9wXSA9IGlucHV0T2JqZWN0W3Byb3BdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBub3JtYWxpemVkSW5wdXQ7XG4gICAgfVxuXG4gICAgdmFyIHByaW9yaXRpZXMgPSB7fTtcblxuICAgIGZ1bmN0aW9uIGFkZFVuaXRQcmlvcml0eSh1bml0LCBwcmlvcml0eSkge1xuICAgICAgICBwcmlvcml0aWVzW3VuaXRdID0gcHJpb3JpdHk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0UHJpb3JpdGl6ZWRVbml0cyh1bml0c09iaikge1xuICAgICAgICB2YXIgdW5pdHMgPSBbXSxcbiAgICAgICAgICAgIHU7XG4gICAgICAgIGZvciAodSBpbiB1bml0c09iaikge1xuICAgICAgICAgICAgaWYgKGhhc093blByb3AodW5pdHNPYmosIHUpKSB7XG4gICAgICAgICAgICAgICAgdW5pdHMucHVzaCh7IHVuaXQ6IHUsIHByaW9yaXR5OiBwcmlvcml0aWVzW3VdIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuaXRzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgICAgIHJldHVybiBhLnByaW9yaXR5IC0gYi5wcmlvcml0eTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB1bml0cztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc0xlYXBZZWFyKHllYXIpIHtcbiAgICAgICAgcmV0dXJuICh5ZWFyICUgNCA9PT0gMCAmJiB5ZWFyICUgMTAwICE9PSAwKSB8fCB5ZWFyICUgNDAwID09PSAwO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFic0Zsb29yKG51bWJlcikge1xuICAgICAgICBpZiAobnVtYmVyIDwgMCkge1xuICAgICAgICAgICAgLy8gLTAgLT4gMFxuICAgICAgICAgICAgcmV0dXJuIE1hdGguY2VpbChudW1iZXIpIHx8IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihudW1iZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9JbnQoYXJndW1lbnRGb3JDb2VyY2lvbikge1xuICAgICAgICB2YXIgY29lcmNlZE51bWJlciA9ICthcmd1bWVudEZvckNvZXJjaW9uLFxuICAgICAgICAgICAgdmFsdWUgPSAwO1xuXG4gICAgICAgIGlmIChjb2VyY2VkTnVtYmVyICE9PSAwICYmIGlzRmluaXRlKGNvZXJjZWROdW1iZXIpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGFic0Zsb29yKGNvZXJjZWROdW1iZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1ha2VHZXRTZXQodW5pdCwga2VlcFRpbWUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZXQkMSh0aGlzLCB1bml0LCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgaG9va3MudXBkYXRlT2Zmc2V0KHRoaXMsIGtlZXBUaW1lKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldCh0aGlzLCB1bml0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXQobW9tLCB1bml0KSB7XG4gICAgICAgIHJldHVybiBtb20uaXNWYWxpZCgpXG4gICAgICAgICAgICA/IG1vbS5fZFsnZ2V0JyArIChtb20uX2lzVVRDID8gJ1VUQycgOiAnJykgKyB1bml0XSgpXG4gICAgICAgICAgICA6IE5hTjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXQkMShtb20sIHVuaXQsIHZhbHVlKSB7XG4gICAgICAgIGlmIChtb20uaXNWYWxpZCgpICYmICFpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB1bml0ID09PSAnRnVsbFllYXInICYmXG4gICAgICAgICAgICAgICAgaXNMZWFwWWVhcihtb20ueWVhcigpKSAmJlxuICAgICAgICAgICAgICAgIG1vbS5tb250aCgpID09PSAxICYmXG4gICAgICAgICAgICAgICAgbW9tLmRhdGUoKSA9PT0gMjlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdG9JbnQodmFsdWUpO1xuICAgICAgICAgICAgICAgIG1vbS5fZFsnc2V0JyArIChtb20uX2lzVVRDID8gJ1VUQycgOiAnJykgKyB1bml0XShcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIG1vbS5tb250aCgpLFxuICAgICAgICAgICAgICAgICAgICBkYXlzSW5Nb250aCh2YWx1ZSwgbW9tLm1vbnRoKCkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbW9tLl9kWydzZXQnICsgKG1vbS5faXNVVEMgPyAnVVRDJyA6ICcnKSArIHVuaXRdKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1PTUVOVFNcblxuICAgIGZ1bmN0aW9uIHN0cmluZ0dldCh1bml0cykge1xuICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24odGhpc1t1bml0c10pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpc1t1bml0c10oKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzdHJpbmdTZXQodW5pdHMsIHZhbHVlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdW5pdHMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZU9iamVjdFVuaXRzKHVuaXRzKTtcbiAgICAgICAgICAgIHZhciBwcmlvcml0aXplZCA9IGdldFByaW9yaXRpemVkVW5pdHModW5pdHMpLFxuICAgICAgICAgICAgICAgIGksXG4gICAgICAgICAgICAgICAgcHJpb3JpdGl6ZWRMZW4gPSBwcmlvcml0aXplZC5sZW5ndGg7XG4gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcHJpb3JpdGl6ZWRMZW47IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXNbcHJpb3JpdGl6ZWRbaV0udW5pdF0odW5pdHNbcHJpb3JpdGl6ZWRbaV0udW5pdF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7XG4gICAgICAgICAgICBpZiAoaXNGdW5jdGlvbih0aGlzW3VuaXRzXSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1t1bml0c10odmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHZhciBtYXRjaDEgPSAvXFxkLywgLy8gICAgICAgMCAtIDlcbiAgICAgICAgbWF0Y2gyID0gL1xcZFxcZC8sIC8vICAgICAgMDAgLSA5OVxuICAgICAgICBtYXRjaDMgPSAvXFxkezN9LywgLy8gICAgIDAwMCAtIDk5OVxuICAgICAgICBtYXRjaDQgPSAvXFxkezR9LywgLy8gICAgMDAwMCAtIDk5OTlcbiAgICAgICAgbWF0Y2g2ID0gL1srLV0/XFxkezZ9LywgLy8gLTk5OTk5OSAtIDk5OTk5OVxuICAgICAgICBtYXRjaDF0bzIgPSAvXFxkXFxkPy8sIC8vICAgICAgIDAgLSA5OVxuICAgICAgICBtYXRjaDN0bzQgPSAvXFxkXFxkXFxkXFxkPy8sIC8vICAgICA5OTkgLSA5OTk5XG4gICAgICAgIG1hdGNoNXRvNiA9IC9cXGRcXGRcXGRcXGRcXGRcXGQ/LywgLy8gICA5OTk5OSAtIDk5OTk5OVxuICAgICAgICBtYXRjaDF0bzMgPSAvXFxkezEsM30vLCAvLyAgICAgICAwIC0gOTk5XG4gICAgICAgIG1hdGNoMXRvNCA9IC9cXGR7MSw0fS8sIC8vICAgICAgIDAgLSA5OTk5XG4gICAgICAgIG1hdGNoMXRvNiA9IC9bKy1dP1xcZHsxLDZ9LywgLy8gLTk5OTk5OSAtIDk5OTk5OVxuICAgICAgICBtYXRjaFVuc2lnbmVkID0gL1xcZCsvLCAvLyAgICAgICAwIC0gaW5mXG4gICAgICAgIG1hdGNoU2lnbmVkID0gL1srLV0/XFxkKy8sIC8vICAgIC1pbmYgLSBpbmZcbiAgICAgICAgbWF0Y2hPZmZzZXQgPSAvWnxbKy1dXFxkXFxkOj9cXGRcXGQvZ2ksIC8vICswMDowMCAtMDA6MDAgKzAwMDAgLTAwMDAgb3IgWlxuICAgICAgICBtYXRjaFNob3J0T2Zmc2V0ID0gL1p8WystXVxcZFxcZCg/Ojo/XFxkXFxkKT8vZ2ksIC8vICswMCAtMDAgKzAwOjAwIC0wMDowMCArMDAwMCAtMDAwMCBvciBaXG4gICAgICAgIG1hdGNoVGltZXN0YW1wID0gL1srLV0/XFxkKyhcXC5cXGR7MSwzfSk/LywgLy8gMTIzNDU2Nzg5IDEyMzQ1Njc4OS4xMjNcbiAgICAgICAgLy8gYW55IHdvcmQgKG9yIHR3bykgY2hhcmFjdGVycyBvciBudW1iZXJzIGluY2x1ZGluZyB0d28vdGhyZWUgd29yZCBtb250aCBpbiBhcmFiaWMuXG4gICAgICAgIC8vIGluY2x1ZGVzIHNjb3R0aXNoIGdhZWxpYyB0d28gd29yZCBhbmQgaHlwaGVuYXRlZCBtb250aHNcbiAgICAgICAgbWF0Y2hXb3JkID1cbiAgICAgICAgICAgIC9bMC05XXswLDI1Nn1bJ2EtelxcdTAwQTAtXFx1MDVGRlxcdTA3MDAtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkYwN1xcdUZGMTAtXFx1RkZFRl17MSwyNTZ9fFtcXHUwNjAwLVxcdTA2RkZcXC9dezEsMjU2fShcXHMqP1tcXHUwNjAwLVxcdTA2RkZdezEsMjU2fSl7MSwyfS9pLFxuICAgICAgICByZWdleGVzO1xuXG4gICAgcmVnZXhlcyA9IHt9O1xuXG4gICAgZnVuY3Rpb24gYWRkUmVnZXhUb2tlbih0b2tlbiwgcmVnZXgsIHN0cmljdFJlZ2V4KSB7XG4gICAgICAgIHJlZ2V4ZXNbdG9rZW5dID0gaXNGdW5jdGlvbihyZWdleClcbiAgICAgICAgICAgID8gcmVnZXhcbiAgICAgICAgICAgIDogZnVuY3Rpb24gKGlzU3RyaWN0LCBsb2NhbGVEYXRhKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gaXNTdHJpY3QgJiYgc3RyaWN0UmVnZXggPyBzdHJpY3RSZWdleCA6IHJlZ2V4O1xuICAgICAgICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFBhcnNlUmVnZXhGb3JUb2tlbih0b2tlbiwgY29uZmlnKSB7XG4gICAgICAgIGlmICghaGFzT3duUHJvcChyZWdleGVzLCB0b2tlbikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHVuZXNjYXBlRm9ybWF0KHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVnZXhlc1t0b2tlbl0oY29uZmlnLl9zdHJpY3QsIGNvbmZpZy5fbG9jYWxlKTtcbiAgICB9XG5cbiAgICAvLyBDb2RlIGZyb20gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNTYxNDkzL2lzLXRoZXJlLWEtcmVnZXhwLWVzY2FwZS1mdW5jdGlvbi1pbi1qYXZhc2NyaXB0XG4gICAgZnVuY3Rpb24gdW5lc2NhcGVGb3JtYXQocykge1xuICAgICAgICByZXR1cm4gcmVnZXhFc2NhcGUoXG4gICAgICAgICAgICBzXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoJ1xcXFwnLCAnJylcbiAgICAgICAgICAgICAgICAucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgL1xcXFwoXFxbKXxcXFxcKFxcXSl8XFxbKFteXFxdXFxbXSopXFxdfFxcXFwoLikvZyxcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKG1hdGNoZWQsIHAxLCBwMiwgcDMsIHA0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcDEgfHwgcDIgfHwgcDMgfHwgcDQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVnZXhFc2NhcGUocykge1xuICAgICAgICByZXR1cm4gcy5yZXBsYWNlKC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcbiAgICB9XG5cbiAgICB2YXIgdG9rZW5zID0ge307XG5cbiAgICBmdW5jdGlvbiBhZGRQYXJzZVRva2VuKHRva2VuLCBjYWxsYmFjaykge1xuICAgICAgICB2YXIgaSxcbiAgICAgICAgICAgIGZ1bmMgPSBjYWxsYmFjayxcbiAgICAgICAgICAgIHRva2VuTGVuO1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdG9rZW4gPSBbdG9rZW5dO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc051bWJlcihjYWxsYmFjaykpIHtcbiAgICAgICAgICAgIGZ1bmMgPSBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7XG4gICAgICAgICAgICAgICAgYXJyYXlbY2FsbGJhY2tdID0gdG9JbnQoaW5wdXQpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB0b2tlbkxlbiA9IHRva2VuLmxlbmd0aDtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IHRva2VuTGVuOyBpKyspIHtcbiAgICAgICAgICAgIHRva2Vuc1t0b2tlbltpXV0gPSBmdW5jO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYWRkV2Vla1BhcnNlVG9rZW4odG9rZW4sIGNhbGxiYWNrKSB7XG4gICAgICAgIGFkZFBhcnNlVG9rZW4odG9rZW4sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZywgdG9rZW4pIHtcbiAgICAgICAgICAgIGNvbmZpZy5fdyA9IGNvbmZpZy5fdyB8fCB7fTtcbiAgICAgICAgICAgIGNhbGxiYWNrKGlucHV0LCBjb25maWcuX3csIGNvbmZpZywgdG9rZW4pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhZGRUaW1lVG9BcnJheUZyb21Ub2tlbih0b2tlbiwgaW5wdXQsIGNvbmZpZykge1xuICAgICAgICBpZiAoaW5wdXQgIT0gbnVsbCAmJiBoYXNPd25Qcm9wKHRva2VucywgdG9rZW4pKSB7XG4gICAgICAgICAgICB0b2tlbnNbdG9rZW5dKGlucHV0LCBjb25maWcuX2EsIGNvbmZpZywgdG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFyIFlFQVIgPSAwLFxuICAgICAgICBNT05USCA9IDEsXG4gICAgICAgIERBVEUgPSAyLFxuICAgICAgICBIT1VSID0gMyxcbiAgICAgICAgTUlOVVRFID0gNCxcbiAgICAgICAgU0VDT05EID0gNSxcbiAgICAgICAgTUlMTElTRUNPTkQgPSA2LFxuICAgICAgICBXRUVLID0gNyxcbiAgICAgICAgV0VFS0RBWSA9IDg7XG5cbiAgICBmdW5jdGlvbiBtb2QobiwgeCkge1xuICAgICAgICByZXR1cm4gKChuICUgeCkgKyB4KSAlIHg7XG4gICAgfVxuXG4gICAgdmFyIGluZGV4T2Y7XG5cbiAgICBpZiAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpIHtcbiAgICAgICAgaW5kZXhPZiA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGluZGV4T2YgPSBmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgLy8gSSBrbm93XG4gICAgICAgICAgICB2YXIgaTtcbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXNbaV0gPT09IG8pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7XG4gICAgICAgIGlmIChpc05hTih5ZWFyKSB8fCBpc05hTihtb250aCkpIHtcbiAgICAgICAgICAgIHJldHVybiBOYU47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG1vZE1vbnRoID0gbW9kKG1vbnRoLCAxMik7XG4gICAgICAgIHllYXIgKz0gKG1vbnRoIC0gbW9kTW9udGgpIC8gMTI7XG4gICAgICAgIHJldHVybiBtb2RNb250aCA9PT0gMVxuICAgICAgICAgICAgPyBpc0xlYXBZZWFyKHllYXIpXG4gICAgICAgICAgICAgICAgPyAyOVxuICAgICAgICAgICAgICAgIDogMjhcbiAgICAgICAgICAgIDogMzEgLSAoKG1vZE1vbnRoICUgNykgJSAyKTtcbiAgICB9XG5cbiAgICAvLyBGT1JNQVRUSU5HXG5cbiAgICBhZGRGb3JtYXRUb2tlbignTScsIFsnTU0nLCAyXSwgJ01vJywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tb250aCgpICsgMTtcbiAgICB9KTtcblxuICAgIGFkZEZvcm1hdFRva2VuKCdNTU0nLCAwLCAwLCBmdW5jdGlvbiAoZm9ybWF0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tb250aHNTaG9ydCh0aGlzLCBmb3JtYXQpO1xuICAgIH0pO1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ01NTU0nLCAwLCAwLCBmdW5jdGlvbiAoZm9ybWF0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tb250aHModGhpcywgZm9ybWF0KTtcbiAgICB9KTtcblxuICAgIC8vIEFMSUFTRVNcblxuICAgIGFkZFVuaXRBbGlhcygnbW9udGgnLCAnTScpO1xuXG4gICAgLy8gUFJJT1JJVFlcblxuICAgIGFkZFVuaXRQcmlvcml0eSgnbW9udGgnLCA4KTtcblxuICAgIC8vIFBBUlNJTkdcblxuICAgIGFkZFJlZ2V4VG9rZW4oJ00nLCBtYXRjaDF0bzIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ01NJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ01NTScsIGZ1bmN0aW9uIChpc1N0cmljdCwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUubW9udGhzU2hvcnRSZWdleChpc1N0cmljdCk7XG4gICAgfSk7XG4gICAgYWRkUmVnZXhUb2tlbignTU1NTScsIGZ1bmN0aW9uIChpc1N0cmljdCwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUubW9udGhzUmVnZXgoaXNTdHJpY3QpO1xuICAgIH0pO1xuXG4gICAgYWRkUGFyc2VUb2tlbihbJ00nLCAnTU0nXSwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSkge1xuICAgICAgICBhcnJheVtNT05USF0gPSB0b0ludChpbnB1dCkgLSAxO1xuICAgIH0pO1xuXG4gICAgYWRkUGFyc2VUb2tlbihbJ01NTScsICdNTU1NJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZywgdG9rZW4pIHtcbiAgICAgICAgdmFyIG1vbnRoID0gY29uZmlnLl9sb2NhbGUubW9udGhzUGFyc2UoaW5wdXQsIHRva2VuLCBjb25maWcuX3N0cmljdCk7XG4gICAgICAgIC8vIGlmIHdlIGRpZG4ndCBmaW5kIGEgbW9udGggbmFtZSwgbWFyayB0aGUgZGF0ZSBhcyBpbnZhbGlkLlxuICAgICAgICBpZiAobW9udGggIT0gbnVsbCkge1xuICAgICAgICAgICAgYXJyYXlbTU9OVEhdID0gbW9udGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5pbnZhbGlkTW9udGggPSBpbnB1dDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gTE9DQUxFU1xuXG4gICAgdmFyIGRlZmF1bHRMb2NhbGVNb250aHMgPVxuICAgICAgICAgICAgJ0phbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXInLnNwbGl0KFxuICAgICAgICAgICAgICAgICdfJ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgZGVmYXVsdExvY2FsZU1vbnRoc1Nob3J0ID1cbiAgICAgICAgICAgICdKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0RlYycuc3BsaXQoJ18nKSxcbiAgICAgICAgTU9OVEhTX0lOX0ZPUk1BVCA9IC9EW29EXT8oXFxbW15cXFtcXF1dKlxcXXxcXHMpK01NTU0/LyxcbiAgICAgICAgZGVmYXVsdE1vbnRoc1Nob3J0UmVnZXggPSBtYXRjaFdvcmQsXG4gICAgICAgIGRlZmF1bHRNb250aHNSZWdleCA9IG1hdGNoV29yZDtcblxuICAgIGZ1bmN0aW9uIGxvY2FsZU1vbnRocyhtLCBmb3JtYXQpIHtcbiAgICAgICAgaWYgKCFtKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNBcnJheSh0aGlzLl9tb250aHMpXG4gICAgICAgICAgICAgICAgPyB0aGlzLl9tb250aHNcbiAgICAgICAgICAgICAgICA6IHRoaXMuX21vbnRoc1snc3RhbmRhbG9uZSddO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0FycmF5KHRoaXMuX21vbnRocylcbiAgICAgICAgICAgID8gdGhpcy5fbW9udGhzW20ubW9udGgoKV1cbiAgICAgICAgICAgIDogdGhpcy5fbW9udGhzW1xuICAgICAgICAgICAgICAgICAgKHRoaXMuX21vbnRocy5pc0Zvcm1hdCB8fCBNT05USFNfSU5fRk9STUFUKS50ZXN0KGZvcm1hdClcbiAgICAgICAgICAgICAgICAgICAgICA/ICdmb3JtYXQnXG4gICAgICAgICAgICAgICAgICAgICAgOiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICAgICAgXVttLm1vbnRoKCldO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxvY2FsZU1vbnRoc1Nob3J0KG0sIGZvcm1hdCkge1xuICAgICAgICBpZiAoIW0pIHtcbiAgICAgICAgICAgIHJldHVybiBpc0FycmF5KHRoaXMuX21vbnRoc1Nob3J0KVxuICAgICAgICAgICAgICAgID8gdGhpcy5fbW9udGhzU2hvcnRcbiAgICAgICAgICAgICAgICA6IHRoaXMuX21vbnRoc1Nob3J0WydzdGFuZGFsb25lJ107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQXJyYXkodGhpcy5fbW9udGhzU2hvcnQpXG4gICAgICAgICAgICA/IHRoaXMuX21vbnRoc1Nob3J0W20ubW9udGgoKV1cbiAgICAgICAgICAgIDogdGhpcy5fbW9udGhzU2hvcnRbXG4gICAgICAgICAgICAgICAgICBNT05USFNfSU5fRk9STUFULnRlc3QoZm9ybWF0KSA/ICdmb3JtYXQnIDogJ3N0YW5kYWxvbmUnXG4gICAgICAgICAgICAgIF1bbS5tb250aCgpXTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVTdHJpY3RQYXJzZShtb250aE5hbWUsIGZvcm1hdCwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgaWksXG4gICAgICAgICAgICBtb20sXG4gICAgICAgICAgICBsbGMgPSBtb250aE5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKCF0aGlzLl9tb250aHNQYXJzZSkge1xuICAgICAgICAgICAgLy8gdGhpcyBpcyBub3QgdXNlZFxuICAgICAgICAgICAgdGhpcy5fbW9udGhzUGFyc2UgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuX2xvbmdNb250aHNQYXJzZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZSA9IFtdO1xuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IDEyOyArK2kpIHtcbiAgICAgICAgICAgICAgICBtb20gPSBjcmVhdGVVVEMoWzIwMDAsIGldKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG9ydE1vbnRoc1BhcnNlW2ldID0gdGhpcy5tb250aHNTaG9ydChcbiAgICAgICAgICAgICAgICAgICAgbW9tLFxuICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICkudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb25nTW9udGhzUGFyc2VbaV0gPSB0aGlzLm1vbnRocyhtb20sICcnKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0cmljdCkge1xuICAgICAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ01NTScpIHtcbiAgICAgICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl9zaG9ydE1vbnRoc1BhcnNlLCBsbGMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX2xvbmdNb250aHNQYXJzZSwgbGxjKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ01NTScpIHtcbiAgICAgICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl9zaG9ydE1vbnRoc1BhcnNlLCBsbGMpO1xuICAgICAgICAgICAgICAgIGlmIChpaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl9sb25nTW9udGhzUGFyc2UsIGxsYyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fbG9uZ01vbnRoc1BhcnNlLCBsbGMpO1xuICAgICAgICAgICAgICAgIGlmIChpaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl9zaG9ydE1vbnRoc1BhcnNlLCBsbGMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsb2NhbGVNb250aHNQYXJzZShtb250aE5hbWUsIGZvcm1hdCwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBpLCBtb20sIHJlZ2V4O1xuXG4gICAgICAgIGlmICh0aGlzLl9tb250aHNQYXJzZUV4YWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlU3RyaWN0UGFyc2UuY2FsbCh0aGlzLCBtb250aE5hbWUsIGZvcm1hdCwgc3RyaWN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5fbW9udGhzUGFyc2UpIHtcbiAgICAgICAgICAgIHRoaXMuX21vbnRoc1BhcnNlID0gW107XG4gICAgICAgICAgICB0aGlzLl9sb25nTW9udGhzUGFyc2UgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3J0TW9udGhzUGFyc2UgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRPRE86IGFkZCBzb3J0aW5nXG4gICAgICAgIC8vIFNvcnRpbmcgbWFrZXMgc3VyZSBpZiBvbmUgbW9udGggKG9yIGFiYnIpIGlzIGEgcHJlZml4IG9mIGFub3RoZXJcbiAgICAgICAgLy8gc2VlIHNvcnRpbmcgaW4gY29tcHV0ZU1vbnRoc1BhcnNlXG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICAgICAgICAvLyBtYWtlIHRoZSByZWdleCBpZiB3ZSBkb24ndCBoYXZlIGl0IGFscmVhZHlcbiAgICAgICAgICAgIG1vbSA9IGNyZWF0ZVVUQyhbMjAwMCwgaV0pO1xuICAgICAgICAgICAgaWYgKHN0cmljdCAmJiAhdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgICAgICAgICAgJ14nICsgdGhpcy5tb250aHMobW9tLCAnJykucmVwbGFjZSgnLicsICcnKSArICckJyxcbiAgICAgICAgICAgICAgICAgICAgJ2knXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG9ydE1vbnRoc1BhcnNlW2ldID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgICAgICAgICAgJ14nICsgdGhpcy5tb250aHNTaG9ydChtb20sICcnKS5yZXBsYWNlKCcuJywgJycpICsgJyQnLFxuICAgICAgICAgICAgICAgICAgICAnaSdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFzdHJpY3QgJiYgIXRoaXMuX21vbnRoc1BhcnNlW2ldKSB7XG4gICAgICAgICAgICAgICAgcmVnZXggPVxuICAgICAgICAgICAgICAgICAgICAnXicgKyB0aGlzLm1vbnRocyhtb20sICcnKSArICd8XicgKyB0aGlzLm1vbnRoc1Nob3J0KG1vbSwgJycpO1xuICAgICAgICAgICAgICAgIHRoaXMuX21vbnRoc1BhcnNlW2ldID0gbmV3IFJlZ0V4cChyZWdleC5yZXBsYWNlKCcuJywgJycpLCAnaScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gdGVzdCB0aGUgcmVnZXhcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBzdHJpY3QgJiZcbiAgICAgICAgICAgICAgICBmb3JtYXQgPT09ICdNTU1NJyAmJlxuICAgICAgICAgICAgICAgIHRoaXMuX2xvbmdNb250aHNQYXJzZVtpXS50ZXN0KG1vbnRoTmFtZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICBzdHJpY3QgJiZcbiAgICAgICAgICAgICAgICBmb3JtYXQgPT09ICdNTU0nICYmXG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZVtpXS50ZXN0KG1vbnRoTmFtZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghc3RyaWN0ICYmIHRoaXMuX21vbnRoc1BhcnNlW2ldLnRlc3QobW9udGhOYW1lKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTU9NRU5UU1xuXG4gICAgZnVuY3Rpb24gc2V0TW9udGgobW9tLCB2YWx1ZSkge1xuICAgICAgICB2YXIgZGF5T2ZNb250aDtcblxuICAgICAgICBpZiAoIW1vbS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIC8vIE5vIG9wXG4gICAgICAgICAgICByZXR1cm4gbW9tO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmICgvXlxcZCskLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdG9JbnQodmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IG1vbS5sb2NhbGVEYXRhKCkubW9udGhzUGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIFRPRE86IEFub3RoZXIgc2lsZW50IGZhaWx1cmU/XG4gICAgICAgICAgICAgICAgaWYgKCFpc051bWJlcih2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkYXlPZk1vbnRoID0gTWF0aC5taW4obW9tLmRhdGUoKSwgZGF5c0luTW9udGgobW9tLnllYXIoKSwgdmFsdWUpKTtcbiAgICAgICAgbW9tLl9kWydzZXQnICsgKG1vbS5faXNVVEMgPyAnVVRDJyA6ICcnKSArICdNb250aCddKHZhbHVlLCBkYXlPZk1vbnRoKTtcbiAgICAgICAgcmV0dXJuIG1vbTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRTZXRNb250aCh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgc2V0TW9udGgodGhpcywgdmFsdWUpO1xuICAgICAgICAgICAgaG9va3MudXBkYXRlT2Zmc2V0KHRoaXMsIHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0KHRoaXMsICdNb250aCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0RGF5c0luTW9udGgoKSB7XG4gICAgICAgIHJldHVybiBkYXlzSW5Nb250aCh0aGlzLnllYXIoKSwgdGhpcy5tb250aCgpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtb250aHNTaG9ydFJlZ2V4KGlzU3RyaWN0KSB7XG4gICAgICAgIGlmICh0aGlzLl9tb250aHNQYXJzZUV4YWN0KSB7XG4gICAgICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ19tb250aHNSZWdleCcpKSB7XG4gICAgICAgICAgICAgICAgY29tcHV0ZU1vbnRoc1BhcnNlLmNhbGwodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNTdHJpY3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoc1Nob3J0UmVnZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ19tb250aHNTaG9ydFJlZ2V4JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb250aHNTaG9ydFJlZ2V4ID0gZGVmYXVsdE1vbnRoc1Nob3J0UmVnZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleCAmJiBpc1N0cmljdFxuICAgICAgICAgICAgICAgID8gdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleFxuICAgICAgICAgICAgICAgIDogdGhpcy5fbW9udGhzU2hvcnRSZWdleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1vbnRoc1JlZ2V4KGlzU3RyaWN0KSB7XG4gICAgICAgIGlmICh0aGlzLl9tb250aHNQYXJzZUV4YWN0KSB7XG4gICAgICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ19tb250aHNSZWdleCcpKSB7XG4gICAgICAgICAgICAgICAgY29tcHV0ZU1vbnRoc1BhcnNlLmNhbGwodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNTdHJpY3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbW9udGhzU3RyaWN0UmVnZXg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9tb250aHNSZWdleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX21vbnRoc1JlZ2V4JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb250aHNSZWdleCA9IGRlZmF1bHRNb250aHNSZWdleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9tb250aHNTdHJpY3RSZWdleCAmJiBpc1N0cmljdFxuICAgICAgICAgICAgICAgID8gdGhpcy5fbW9udGhzU3RyaWN0UmVnZXhcbiAgICAgICAgICAgICAgICA6IHRoaXMuX21vbnRoc1JlZ2V4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY29tcHV0ZU1vbnRoc1BhcnNlKCkge1xuICAgICAgICBmdW5jdGlvbiBjbXBMZW5SZXYoYSwgYikge1xuICAgICAgICAgICAgcmV0dXJuIGIubGVuZ3RoIC0gYS5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2hvcnRQaWVjZXMgPSBbXSxcbiAgICAgICAgICAgIGxvbmdQaWVjZXMgPSBbXSxcbiAgICAgICAgICAgIG1peGVkUGllY2VzID0gW10sXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgbW9tO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMTI7IGkrKykge1xuICAgICAgICAgICAgLy8gbWFrZSB0aGUgcmVnZXggaWYgd2UgZG9uJ3QgaGF2ZSBpdCBhbHJlYWR5XG4gICAgICAgICAgICBtb20gPSBjcmVhdGVVVEMoWzIwMDAsIGldKTtcbiAgICAgICAgICAgIHNob3J0UGllY2VzLnB1c2godGhpcy5tb250aHNTaG9ydChtb20sICcnKSk7XG4gICAgICAgICAgICBsb25nUGllY2VzLnB1c2godGhpcy5tb250aHMobW9tLCAnJykpO1xuICAgICAgICAgICAgbWl4ZWRQaWVjZXMucHVzaCh0aGlzLm1vbnRocyhtb20sICcnKSk7XG4gICAgICAgICAgICBtaXhlZFBpZWNlcy5wdXNoKHRoaXMubW9udGhzU2hvcnQobW9tLCAnJykpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNvcnRpbmcgbWFrZXMgc3VyZSBpZiBvbmUgbW9udGggKG9yIGFiYnIpIGlzIGEgcHJlZml4IG9mIGFub3RoZXIgaXRcbiAgICAgICAgLy8gd2lsbCBtYXRjaCB0aGUgbG9uZ2VyIHBpZWNlLlxuICAgICAgICBzaG9ydFBpZWNlcy5zb3J0KGNtcExlblJldik7XG4gICAgICAgIGxvbmdQaWVjZXMuc29ydChjbXBMZW5SZXYpO1xuICAgICAgICBtaXhlZFBpZWNlcy5zb3J0KGNtcExlblJldik7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICAgICAgICBzaG9ydFBpZWNlc1tpXSA9IHJlZ2V4RXNjYXBlKHNob3J0UGllY2VzW2ldKTtcbiAgICAgICAgICAgIGxvbmdQaWVjZXNbaV0gPSByZWdleEVzY2FwZShsb25nUGllY2VzW2ldKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMjQ7IGkrKykge1xuICAgICAgICAgICAgbWl4ZWRQaWVjZXNbaV0gPSByZWdleEVzY2FwZShtaXhlZFBpZWNlc1tpXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9tb250aHNSZWdleCA9IG5ldyBSZWdFeHAoJ14oJyArIG1peGVkUGllY2VzLmpvaW4oJ3wnKSArICcpJywgJ2knKTtcbiAgICAgICAgdGhpcy5fbW9udGhzU2hvcnRSZWdleCA9IHRoaXMuX21vbnRoc1JlZ2V4O1xuICAgICAgICB0aGlzLl9tb250aHNTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoXG4gICAgICAgICAgICAnXignICsgbG9uZ1BpZWNlcy5qb2luKCd8JykgKyAnKScsXG4gICAgICAgICAgICAnaSdcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoXG4gICAgICAgICAgICAnXignICsgc2hvcnRQaWVjZXMuam9pbignfCcpICsgJyknLFxuICAgICAgICAgICAgJ2knXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gRk9STUFUVElOR1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ1knLCAwLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB5ID0gdGhpcy55ZWFyKCk7XG4gICAgICAgIHJldHVybiB5IDw9IDk5OTkgPyB6ZXJvRmlsbCh5LCA0KSA6ICcrJyArIHk7XG4gICAgfSk7XG5cbiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1lZJywgMl0sIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhcigpICUgMTAwO1xuICAgIH0pO1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oMCwgWydZWVlZJywgNF0sIDAsICd5ZWFyJyk7XG4gICAgYWRkRm9ybWF0VG9rZW4oMCwgWydZWVlZWScsIDVdLCAwLCAneWVhcicpO1xuICAgIGFkZEZvcm1hdFRva2VuKDAsIFsnWVlZWVlZJywgNiwgdHJ1ZV0sIDAsICd5ZWFyJyk7XG5cbiAgICAvLyBBTElBU0VTXG5cbiAgICBhZGRVbml0QWxpYXMoJ3llYXInLCAneScpO1xuXG4gICAgLy8gUFJJT1JJVElFU1xuXG4gICAgYWRkVW5pdFByaW9yaXR5KCd5ZWFyJywgMSk7XG5cbiAgICAvLyBQQVJTSU5HXG5cbiAgICBhZGRSZWdleFRva2VuKCdZJywgbWF0Y2hTaWduZWQpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ1lZJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ1lZWVknLCBtYXRjaDF0bzQsIG1hdGNoNCk7XG4gICAgYWRkUmVnZXhUb2tlbignWVlZWVknLCBtYXRjaDF0bzYsIG1hdGNoNik7XG4gICAgYWRkUmVnZXhUb2tlbignWVlZWVlZJywgbWF0Y2gxdG82LCBtYXRjaDYpO1xuXG4gICAgYWRkUGFyc2VUb2tlbihbJ1lZWVlZJywgJ1lZWVlZWSddLCBZRUFSKTtcbiAgICBhZGRQYXJzZVRva2VuKCdZWVlZJywgZnVuY3Rpb24gKGlucHV0LCBhcnJheSkge1xuICAgICAgICBhcnJheVtZRUFSXSA9XG4gICAgICAgICAgICBpbnB1dC5sZW5ndGggPT09IDIgPyBob29rcy5wYXJzZVR3b0RpZ2l0WWVhcihpbnB1dCkgOiB0b0ludChpbnB1dCk7XG4gICAgfSk7XG4gICAgYWRkUGFyc2VUb2tlbignWVknLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7XG4gICAgICAgIGFycmF5W1lFQVJdID0gaG9va3MucGFyc2VUd29EaWdpdFllYXIoaW5wdXQpO1xuICAgIH0pO1xuICAgIGFkZFBhcnNlVG9rZW4oJ1knLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7XG4gICAgICAgIGFycmF5W1lFQVJdID0gcGFyc2VJbnQoaW5wdXQsIDEwKTtcbiAgICB9KTtcblxuICAgIC8vIEhFTFBFUlNcblxuICAgIGZ1bmN0aW9uIGRheXNJblllYXIoeWVhcikge1xuICAgICAgICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTtcbiAgICB9XG5cbiAgICAvLyBIT09LU1xuXG4gICAgaG9va3MucGFyc2VUd29EaWdpdFllYXIgPSBmdW5jdGlvbiAoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRvSW50KGlucHV0KSArICh0b0ludChpbnB1dCkgPiA2OCA/IDE5MDAgOiAyMDAwKTtcbiAgICB9O1xuXG4gICAgLy8gTU9NRU5UU1xuXG4gICAgdmFyIGdldFNldFllYXIgPSBtYWtlR2V0U2V0KCdGdWxsWWVhcicsIHRydWUpO1xuXG4gICAgZnVuY3Rpb24gZ2V0SXNMZWFwWWVhcigpIHtcbiAgICAgICAgcmV0dXJuIGlzTGVhcFllYXIodGhpcy55ZWFyKCkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNyZWF0ZURhdGUoeSwgbSwgZCwgaCwgTSwgcywgbXMpIHtcbiAgICAgICAgLy8gY2FuJ3QganVzdCBhcHBseSgpIHRvIGNyZWF0ZSBhIGRhdGU6XG4gICAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcS8xODEzNDhcbiAgICAgICAgdmFyIGRhdGU7XG4gICAgICAgIC8vIHRoZSBkYXRlIGNvbnN0cnVjdG9yIHJlbWFwcyB5ZWFycyAwLTk5IHRvIDE5MDAtMTk5OVxuICAgICAgICBpZiAoeSA8IDEwMCAmJiB5ID49IDApIHtcbiAgICAgICAgICAgIC8vIHByZXNlcnZlIGxlYXAgeWVhcnMgdXNpbmcgYSBmdWxsIDQwMCB5ZWFyIGN5Y2xlLCB0aGVuIHJlc2V0XG4gICAgICAgICAgICBkYXRlID0gbmV3IERhdGUoeSArIDQwMCwgbSwgZCwgaCwgTSwgcywgbXMpO1xuICAgICAgICAgICAgaWYgKGlzRmluaXRlKGRhdGUuZ2V0RnVsbFllYXIoKSkpIHtcbiAgICAgICAgICAgICAgICBkYXRlLnNldEZ1bGxZZWFyKHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKHksIG0sIGQsIGgsIE0sIHMsIG1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNyZWF0ZVVUQ0RhdGUoeSkge1xuICAgICAgICB2YXIgZGF0ZSwgYXJncztcbiAgICAgICAgLy8gdGhlIERhdGUuVVRDIGZ1bmN0aW9uIHJlbWFwcyB5ZWFycyAwLTk5IHRvIDE5MDAtMTk5OVxuICAgICAgICBpZiAoeSA8IDEwMCAmJiB5ID49IDApIHtcbiAgICAgICAgICAgIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuICAgICAgICAgICAgLy8gcHJlc2VydmUgbGVhcCB5ZWFycyB1c2luZyBhIGZ1bGwgNDAwIHllYXIgY3ljbGUsIHRoZW4gcmVzZXRcbiAgICAgICAgICAgIGFyZ3NbMF0gPSB5ICsgNDAwO1xuICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKERhdGUuVVRDLmFwcGx5KG51bGwsIGFyZ3MpKTtcbiAgICAgICAgICAgIGlmIChpc0Zpbml0ZShkYXRlLmdldFVUQ0Z1bGxZZWFyKCkpKSB7XG4gICAgICAgICAgICAgICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRhdGUgPSBuZXcgRGF0ZShEYXRlLlVUQy5hcHBseShudWxsLCBhcmd1bWVudHMpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIC8vIHN0YXJ0LW9mLWZpcnN0LXdlZWsgLSBzdGFydC1vZi15ZWFyXG4gICAgZnVuY3Rpb24gZmlyc3RXZWVrT2Zmc2V0KHllYXIsIGRvdywgZG95KSB7XG4gICAgICAgIHZhciAvLyBmaXJzdC13ZWVrIGRheSAtLSB3aGljaCBqYW51YXJ5IGlzIGFsd2F5cyBpbiB0aGUgZmlyc3Qgd2VlayAoNCBmb3IgaXNvLCAxIGZvciBvdGhlcilcbiAgICAgICAgICAgIGZ3ZCA9IDcgKyBkb3cgLSBkb3ksXG4gICAgICAgICAgICAvLyBmaXJzdC13ZWVrIGRheSBsb2NhbCB3ZWVrZGF5IC0tIHdoaWNoIGxvY2FsIHdlZWtkYXkgaXMgZndkXG4gICAgICAgICAgICBmd2RsdyA9ICg3ICsgY3JlYXRlVVRDRGF0ZSh5ZWFyLCAwLCBmd2QpLmdldFVUQ0RheSgpIC0gZG93KSAlIDc7XG5cbiAgICAgICAgcmV0dXJuIC1md2RsdyArIGZ3ZCAtIDE7XG4gICAgfVxuXG4gICAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZSNDYWxjdWxhdGluZ19hX2RhdGVfZ2l2ZW5fdGhlX3llYXIuMkNfd2Vla19udW1iZXJfYW5kX3dlZWtkYXlcbiAgICBmdW5jdGlvbiBkYXlPZlllYXJGcm9tV2Vla3MoeWVhciwgd2Vlaywgd2Vla2RheSwgZG93LCBkb3kpIHtcbiAgICAgICAgdmFyIGxvY2FsV2Vla2RheSA9ICg3ICsgd2Vla2RheSAtIGRvdykgJSA3LFxuICAgICAgICAgICAgd2Vla09mZnNldCA9IGZpcnN0V2Vla09mZnNldCh5ZWFyLCBkb3csIGRveSksXG4gICAgICAgICAgICBkYXlPZlllYXIgPSAxICsgNyAqICh3ZWVrIC0gMSkgKyBsb2NhbFdlZWtkYXkgKyB3ZWVrT2Zmc2V0LFxuICAgICAgICAgICAgcmVzWWVhcixcbiAgICAgICAgICAgIHJlc0RheU9mWWVhcjtcblxuICAgICAgICBpZiAoZGF5T2ZZZWFyIDw9IDApIHtcbiAgICAgICAgICAgIHJlc1llYXIgPSB5ZWFyIC0gMTtcbiAgICAgICAgICAgIHJlc0RheU9mWWVhciA9IGRheXNJblllYXIocmVzWWVhcikgKyBkYXlPZlllYXI7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5T2ZZZWFyID4gZGF5c0luWWVhcih5ZWFyKSkge1xuICAgICAgICAgICAgcmVzWWVhciA9IHllYXIgKyAxO1xuICAgICAgICAgICAgcmVzRGF5T2ZZZWFyID0gZGF5T2ZZZWFyIC0gZGF5c0luWWVhcih5ZWFyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc1llYXIgPSB5ZWFyO1xuICAgICAgICAgICAgcmVzRGF5T2ZZZWFyID0gZGF5T2ZZZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHllYXI6IHJlc1llYXIsXG4gICAgICAgICAgICBkYXlPZlllYXI6IHJlc0RheU9mWWVhcixcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB3ZWVrT2ZZZWFyKG1vbSwgZG93LCBkb3kpIHtcbiAgICAgICAgdmFyIHdlZWtPZmZzZXQgPSBmaXJzdFdlZWtPZmZzZXQobW9tLnllYXIoKSwgZG93LCBkb3kpLFxuICAgICAgICAgICAgd2VlayA9IE1hdGguZmxvb3IoKG1vbS5kYXlPZlllYXIoKSAtIHdlZWtPZmZzZXQgLSAxKSAvIDcpICsgMSxcbiAgICAgICAgICAgIHJlc1dlZWssXG4gICAgICAgICAgICByZXNZZWFyO1xuXG4gICAgICAgIGlmICh3ZWVrIDwgMSkge1xuICAgICAgICAgICAgcmVzWWVhciA9IG1vbS55ZWFyKCkgLSAxO1xuICAgICAgICAgICAgcmVzV2VlayA9IHdlZWsgKyB3ZWVrc0luWWVhcihyZXNZZWFyLCBkb3csIGRveSk7XG4gICAgICAgIH0gZWxzZSBpZiAod2VlayA+IHdlZWtzSW5ZZWFyKG1vbS55ZWFyKCksIGRvdywgZG95KSkge1xuICAgICAgICAgICAgcmVzV2VlayA9IHdlZWsgLSB3ZWVrc0luWWVhcihtb20ueWVhcigpLCBkb3csIGRveSk7XG4gICAgICAgICAgICByZXNZZWFyID0gbW9tLnllYXIoKSArIDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNZZWFyID0gbW9tLnllYXIoKTtcbiAgICAgICAgICAgIHJlc1dlZWsgPSB3ZWVrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHdlZWs6IHJlc1dlZWssXG4gICAgICAgICAgICB5ZWFyOiByZXNZZWFyLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHdlZWtzSW5ZZWFyKHllYXIsIGRvdywgZG95KSB7XG4gICAgICAgIHZhciB3ZWVrT2Zmc2V0ID0gZmlyc3RXZWVrT2Zmc2V0KHllYXIsIGRvdywgZG95KSxcbiAgICAgICAgICAgIHdlZWtPZmZzZXROZXh0ID0gZmlyc3RXZWVrT2Zmc2V0KHllYXIgKyAxLCBkb3csIGRveSk7XG4gICAgICAgIHJldHVybiAoZGF5c0luWWVhcih5ZWFyKSAtIHdlZWtPZmZzZXQgKyB3ZWVrT2Zmc2V0TmV4dCkgLyA3O1xuICAgIH1cblxuICAgIC8vIEZPUk1BVFRJTkdcblxuICAgIGFkZEZvcm1hdFRva2VuKCd3JywgWyd3dycsIDJdLCAnd28nLCAnd2VlaycpO1xuICAgIGFkZEZvcm1hdFRva2VuKCdXJywgWydXVycsIDJdLCAnV28nLCAnaXNvV2VlaycpO1xuXG4gICAgLy8gQUxJQVNFU1xuXG4gICAgYWRkVW5pdEFsaWFzKCd3ZWVrJywgJ3cnKTtcbiAgICBhZGRVbml0QWxpYXMoJ2lzb1dlZWsnLCAnVycpO1xuXG4gICAgLy8gUFJJT1JJVElFU1xuXG4gICAgYWRkVW5pdFByaW9yaXR5KCd3ZWVrJywgNSk7XG4gICAgYWRkVW5pdFByaW9yaXR5KCdpc29XZWVrJywgNSk7XG5cbiAgICAvLyBQQVJTSU5HXG5cbiAgICBhZGRSZWdleFRva2VuKCd3JywgbWF0Y2gxdG8yKTtcbiAgICBhZGRSZWdleFRva2VuKCd3dycsIG1hdGNoMXRvMiwgbWF0Y2gyKTtcbiAgICBhZGRSZWdleFRva2VuKCdXJywgbWF0Y2gxdG8yKTtcbiAgICBhZGRSZWdleFRva2VuKCdXVycsIG1hdGNoMXRvMiwgbWF0Y2gyKTtcblxuICAgIGFkZFdlZWtQYXJzZVRva2VuKFxuICAgICAgICBbJ3cnLCAnd3cnLCAnVycsICdXVyddLFxuICAgICAgICBmdW5jdGlvbiAoaW5wdXQsIHdlZWssIGNvbmZpZywgdG9rZW4pIHtcbiAgICAgICAgICAgIHdlZWtbdG9rZW4uc3Vic3RyKDAsIDEpXSA9IHRvSW50KGlucHV0KTtcbiAgICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBIRUxQRVJTXG5cbiAgICAvLyBMT0NBTEVTXG5cbiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrKG1vbSkge1xuICAgICAgICByZXR1cm4gd2Vla09mWWVhcihtb20sIHRoaXMuX3dlZWsuZG93LCB0aGlzLl93ZWVrLmRveSkud2VlaztcbiAgICB9XG5cbiAgICB2YXIgZGVmYXVsdExvY2FsZVdlZWsgPSB7XG4gICAgICAgIGRvdzogMCwgLy8gU3VuZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgICAgIGRveTogNiwgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gNnRoIGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBsb2NhbGVGaXJzdERheU9mV2VlaygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWsuZG93O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxvY2FsZUZpcnN0RGF5T2ZZZWFyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2Vlay5kb3k7XG4gICAgfVxuXG4gICAgLy8gTU9NRU5UU1xuXG4gICAgZnVuY3Rpb24gZ2V0U2V0V2VlayhpbnB1dCkge1xuICAgICAgICB2YXIgd2VlayA9IHRoaXMubG9jYWxlRGF0YSgpLndlZWsodGhpcyk7XG4gICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8gd2VlayA6IHRoaXMuYWRkKChpbnB1dCAtIHdlZWspICogNywgJ2QnKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRTZXRJU09XZWVrKGlucHV0KSB7XG4gICAgICAgIHZhciB3ZWVrID0gd2Vla09mWWVhcih0aGlzLCAxLCA0KS53ZWVrO1xuICAgICAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IHdlZWsgOiB0aGlzLmFkZCgoaW5wdXQgLSB3ZWVrKSAqIDcsICdkJyk7XG4gICAgfVxuXG4gICAgLy8gRk9STUFUVElOR1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ2QnLCAwLCAnZG8nLCAnZGF5Jyk7XG5cbiAgICBhZGRGb3JtYXRUb2tlbignZGQnLCAwLCAwLCBmdW5jdGlvbiAoZm9ybWF0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5c01pbih0aGlzLCBmb3JtYXQpO1xuICAgIH0pO1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ2RkZCcsIDAsIDAsIGZ1bmN0aW9uIChmb3JtYXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzU2hvcnQodGhpcywgZm9ybWF0KTtcbiAgICB9KTtcblxuICAgIGFkZEZvcm1hdFRva2VuKCdkZGRkJywgMCwgMCwgZnVuY3Rpb24gKGZvcm1hdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXModGhpcywgZm9ybWF0KTtcbiAgICB9KTtcblxuICAgIGFkZEZvcm1hdFRva2VuKCdlJywgMCwgMCwgJ3dlZWtkYXknKTtcbiAgICBhZGRGb3JtYXRUb2tlbignRScsIDAsIDAsICdpc29XZWVrZGF5Jyk7XG5cbiAgICAvLyBBTElBU0VTXG5cbiAgICBhZGRVbml0QWxpYXMoJ2RheScsICdkJyk7XG4gICAgYWRkVW5pdEFsaWFzKCd3ZWVrZGF5JywgJ2UnKTtcbiAgICBhZGRVbml0QWxpYXMoJ2lzb1dlZWtkYXknLCAnRScpO1xuXG4gICAgLy8gUFJJT1JJVFlcbiAgICBhZGRVbml0UHJpb3JpdHkoJ2RheScsIDExKTtcbiAgICBhZGRVbml0UHJpb3JpdHkoJ3dlZWtkYXknLCAxMSk7XG4gICAgYWRkVW5pdFByaW9yaXR5KCdpc29XZWVrZGF5JywgMTEpO1xuXG4gICAgLy8gUEFSU0lOR1xuXG4gICAgYWRkUmVnZXhUb2tlbignZCcsIG1hdGNoMXRvMik7XG4gICAgYWRkUmVnZXhUb2tlbignZScsIG1hdGNoMXRvMik7XG4gICAgYWRkUmVnZXhUb2tlbignRScsIG1hdGNoMXRvMik7XG4gICAgYWRkUmVnZXhUb2tlbignZGQnLCBmdW5jdGlvbiAoaXNTdHJpY3QsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbG9jYWxlLndlZWtkYXlzTWluUmVnZXgoaXNTdHJpY3QpO1xuICAgIH0pO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ2RkZCcsIGZ1bmN0aW9uIChpc1N0cmljdCwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUud2Vla2RheXNTaG9ydFJlZ2V4KGlzU3RyaWN0KTtcbiAgICB9KTtcbiAgICBhZGRSZWdleFRva2VuKCdkZGRkJywgZnVuY3Rpb24gKGlzU3RyaWN0LCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS53ZWVrZGF5c1JlZ2V4KGlzU3RyaWN0KTtcbiAgICB9KTtcblxuICAgIGFkZFdlZWtQYXJzZVRva2VuKFsnZGQnLCAnZGRkJywgJ2RkZGQnXSwgZnVuY3Rpb24gKGlucHV0LCB3ZWVrLCBjb25maWcsIHRva2VuKSB7XG4gICAgICAgIHZhciB3ZWVrZGF5ID0gY29uZmlnLl9sb2NhbGUud2Vla2RheXNQYXJzZShpbnB1dCwgdG9rZW4sIGNvbmZpZy5fc3RyaWN0KTtcbiAgICAgICAgLy8gaWYgd2UgZGlkbid0IGdldCBhIHdlZWtkYXkgbmFtZSwgbWFyayB0aGUgZGF0ZSBhcyBpbnZhbGlkXG4gICAgICAgIGlmICh3ZWVrZGF5ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHdlZWsuZCA9IHdlZWtkYXk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5pbnZhbGlkV2Vla2RheSA9IGlucHV0O1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBhZGRXZWVrUGFyc2VUb2tlbihbJ2QnLCAnZScsICdFJ10sIGZ1bmN0aW9uIChpbnB1dCwgd2VlaywgY29uZmlnLCB0b2tlbikge1xuICAgICAgICB3ZWVrW3Rva2VuXSA9IHRvSW50KGlucHV0KTtcbiAgICB9KTtcblxuICAgIC8vIEhFTFBFUlNcblxuICAgIGZ1bmN0aW9uIHBhcnNlV2Vla2RheShpbnB1dCwgbG9jYWxlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5wdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzTmFOKGlucHV0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KGlucHV0LCAxMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCA9IGxvY2FsZS53ZWVrZGF5c1BhcnNlKGlucHV0KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnB1dDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHBhcnNlSXNvV2Vla2RheShpbnB1dCwgbG9jYWxlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gbG9jYWxlLndlZWtkYXlzUGFyc2UoaW5wdXQpICUgNyB8fCA3O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc05hTihpbnB1dCkgPyBudWxsIDogaW5wdXQ7XG4gICAgfVxuXG4gICAgLy8gTE9DQUxFU1xuICAgIGZ1bmN0aW9uIHNoaWZ0V2Vla2RheXMod3MsIG4pIHtcbiAgICAgICAgcmV0dXJuIHdzLnNsaWNlKG4sIDcpLmNvbmNhdCh3cy5zbGljZSgwLCBuKSk7XG4gICAgfVxuXG4gICAgdmFyIGRlZmF1bHRMb2NhbGVXZWVrZGF5cyA9XG4gICAgICAgICAgICAnU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXknLnNwbGl0KCdfJyksXG4gICAgICAgIGRlZmF1bHRMb2NhbGVXZWVrZGF5c1Nob3J0ID0gJ1N1bl9Nb25fVHVlX1dlZF9UaHVfRnJpX1NhdCcuc3BsaXQoJ18nKSxcbiAgICAgICAgZGVmYXVsdExvY2FsZVdlZWtkYXlzTWluID0gJ1N1X01vX1R1X1dlX1RoX0ZyX1NhJy5zcGxpdCgnXycpLFxuICAgICAgICBkZWZhdWx0V2Vla2RheXNSZWdleCA9IG1hdGNoV29yZCxcbiAgICAgICAgZGVmYXVsdFdlZWtkYXlzU2hvcnRSZWdleCA9IG1hdGNoV29yZCxcbiAgICAgICAgZGVmYXVsdFdlZWtkYXlzTWluUmVnZXggPSBtYXRjaFdvcmQ7XG5cbiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrZGF5cyhtLCBmb3JtYXQpIHtcbiAgICAgICAgdmFyIHdlZWtkYXlzID0gaXNBcnJheSh0aGlzLl93ZWVrZGF5cylcbiAgICAgICAgICAgID8gdGhpcy5fd2Vla2RheXNcbiAgICAgICAgICAgIDogdGhpcy5fd2Vla2RheXNbXG4gICAgICAgICAgICAgICAgICBtICYmIG0gIT09IHRydWUgJiYgdGhpcy5fd2Vla2RheXMuaXNGb3JtYXQudGVzdChmb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgPyAnZm9ybWF0J1xuICAgICAgICAgICAgICAgICAgICAgIDogJ3N0YW5kYWxvbmUnXG4gICAgICAgICAgICAgIF07XG4gICAgICAgIHJldHVybiBtID09PSB0cnVlXG4gICAgICAgICAgICA/IHNoaWZ0V2Vla2RheXMod2Vla2RheXMsIHRoaXMuX3dlZWsuZG93KVxuICAgICAgICAgICAgOiBtXG4gICAgICAgICAgICA/IHdlZWtkYXlzW20uZGF5KCldXG4gICAgICAgICAgICA6IHdlZWtkYXlzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxvY2FsZVdlZWtkYXlzU2hvcnQobSkge1xuICAgICAgICByZXR1cm4gbSA9PT0gdHJ1ZVxuICAgICAgICAgICAgPyBzaGlmdFdlZWtkYXlzKHRoaXMuX3dlZWtkYXlzU2hvcnQsIHRoaXMuX3dlZWsuZG93KVxuICAgICAgICAgICAgOiBtXG4gICAgICAgICAgICA/IHRoaXMuX3dlZWtkYXlzU2hvcnRbbS5kYXkoKV1cbiAgICAgICAgICAgIDogdGhpcy5fd2Vla2RheXNTaG9ydDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrZGF5c01pbihtKSB7XG4gICAgICAgIHJldHVybiBtID09PSB0cnVlXG4gICAgICAgICAgICA/IHNoaWZ0V2Vla2RheXModGhpcy5fd2Vla2RheXNNaW4sIHRoaXMuX3dlZWsuZG93KVxuICAgICAgICAgICAgOiBtXG4gICAgICAgICAgICA/IHRoaXMuX3dlZWtkYXlzTWluW20uZGF5KCldXG4gICAgICAgICAgICA6IHRoaXMuX3dlZWtkYXlzTWluO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGhhbmRsZVN0cmljdFBhcnNlJDEod2Vla2RheU5hbWUsIGZvcm1hdCwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgaWksXG4gICAgICAgICAgICBtb20sXG4gICAgICAgICAgICBsbGMgPSB3ZWVrZGF5TmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoIXRoaXMuX3dlZWtkYXlzUGFyc2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3dlZWtkYXlzUGFyc2UgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fbWluV2Vla2RheXNQYXJzZSA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNzsgKytpKSB7XG4gICAgICAgICAgICAgICAgbW9tID0gY3JlYXRlVVRDKFsyMDAwLCAxXSkuZGF5KGkpO1xuICAgICAgICAgICAgICAgIHRoaXMuX21pbldlZWtkYXlzUGFyc2VbaV0gPSB0aGlzLndlZWtkYXlzTWluKFxuICAgICAgICAgICAgICAgICAgICBtb20sXG4gICAgICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgICAgKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZVtpXSA9IHRoaXMud2Vla2RheXNTaG9ydChcbiAgICAgICAgICAgICAgICAgICAgbW9tLFxuICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICkudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl93ZWVrZGF5c1BhcnNlW2ldID0gdGhpcy53ZWVrZGF5cyhtb20sICcnKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0cmljdCkge1xuICAgICAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ2RkZGQnKSB7XG4gICAgICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fd2Vla2RheXNQYXJzZSwgbGxjKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQgPT09ICdkZGQnKSB7XG4gICAgICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlLCBsbGMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UsIGxsYyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChmb3JtYXQgPT09ICdkZGRkJykge1xuICAgICAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX3dlZWtkYXlzUGFyc2UsIGxsYyk7XG4gICAgICAgICAgICAgICAgaWYgKGlpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaWk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZSwgbGxjKTtcbiAgICAgICAgICAgICAgICBpZiAoaWkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fbWluV2Vla2RheXNQYXJzZSwgbGxjKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQgPT09ICdkZGQnKSB7XG4gICAgICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlLCBsbGMpO1xuICAgICAgICAgICAgICAgIGlmIChpaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl93ZWVrZGF5c1BhcnNlLCBsbGMpO1xuICAgICAgICAgICAgICAgIGlmIChpaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl9taW5XZWVrZGF5c1BhcnNlLCBsbGMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UsIGxsYyk7XG4gICAgICAgICAgICAgICAgaWYgKGlpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaWk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX3dlZWtkYXlzUGFyc2UsIGxsYyk7XG4gICAgICAgICAgICAgICAgaWYgKGlpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaWk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZSwgbGxjKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbG9jYWxlV2Vla2RheXNQYXJzZSh3ZWVrZGF5TmFtZSwgZm9ybWF0LCBzdHJpY3QpIHtcbiAgICAgICAgdmFyIGksIG1vbSwgcmVnZXg7XG5cbiAgICAgICAgaWYgKHRoaXMuX3dlZWtkYXlzUGFyc2VFeGFjdCkge1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZVN0cmljdFBhcnNlJDEuY2FsbCh0aGlzLCB3ZWVrZGF5TmFtZSwgZm9ybWF0LCBzdHJpY3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl93ZWVrZGF5c1BhcnNlKSB7XG4gICAgICAgICAgICB0aGlzLl93ZWVrZGF5c1BhcnNlID0gW107XG4gICAgICAgICAgICB0aGlzLl9taW5XZWVrZGF5c1BhcnNlID0gW107XG4gICAgICAgICAgICB0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2UgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlID0gW107XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICAgICAgICAvLyBtYWtlIHRoZSByZWdleCBpZiB3ZSBkb24ndCBoYXZlIGl0IGFscmVhZHlcblxuICAgICAgICAgICAgbW9tID0gY3JlYXRlVVRDKFsyMDAwLCAxXSkuZGF5KGkpO1xuICAgICAgICAgICAgaWYgKHN0cmljdCAmJiAhdGhpcy5fZnVsbFdlZWtkYXlzUGFyc2VbaV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9mdWxsV2Vla2RheXNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoXG4gICAgICAgICAgICAgICAgICAgICdeJyArIHRoaXMud2Vla2RheXMobW9tLCAnJykucmVwbGFjZSgnLicsICdcXFxcLj8nKSArICckJyxcbiAgICAgICAgICAgICAgICAgICAgJ2knXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2VbaV0gPSBuZXcgUmVnRXhwKFxuICAgICAgICAgICAgICAgICAgICAnXicgKyB0aGlzLndlZWtkYXlzU2hvcnQobW9tLCAnJykucmVwbGFjZSgnLicsICdcXFxcLj8nKSArICckJyxcbiAgICAgICAgICAgICAgICAgICAgJ2knXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9taW5XZWVrZGF5c1BhcnNlW2ldID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgICAgICAgICAgJ14nICsgdGhpcy53ZWVrZGF5c01pbihtb20sICcnKS5yZXBsYWNlKCcuJywgJ1xcXFwuPycpICsgJyQnLFxuICAgICAgICAgICAgICAgICAgICAnaSdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLl93ZWVrZGF5c1BhcnNlW2ldKSB7XG4gICAgICAgICAgICAgICAgcmVnZXggPVxuICAgICAgICAgICAgICAgICAgICAnXicgK1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndlZWtkYXlzKG1vbSwgJycpICtcbiAgICAgICAgICAgICAgICAgICAgJ3xeJyArXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2Vla2RheXNTaG9ydChtb20sICcnKSArXG4gICAgICAgICAgICAgICAgICAgICd8XicgK1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndlZWtkYXlzTWluKG1vbSwgJycpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3dlZWtkYXlzUGFyc2VbaV0gPSBuZXcgUmVnRXhwKHJlZ2V4LnJlcGxhY2UoJy4nLCAnJyksICdpJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0ZXN0IHRoZSByZWdleFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHN0cmljdCAmJlxuICAgICAgICAgICAgICAgIGZvcm1hdCA9PT0gJ2RkZGQnICYmXG4gICAgICAgICAgICAgICAgdGhpcy5fZnVsbFdlZWtkYXlzUGFyc2VbaV0udGVzdCh3ZWVrZGF5TmFtZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICBzdHJpY3QgJiZcbiAgICAgICAgICAgICAgICBmb3JtYXQgPT09ICdkZGQnICYmXG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlW2ldLnRlc3Qod2Vla2RheU5hbWUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgc3RyaWN0ICYmXG4gICAgICAgICAgICAgICAgZm9ybWF0ID09PSAnZGQnICYmXG4gICAgICAgICAgICAgICAgdGhpcy5fbWluV2Vla2RheXNQYXJzZVtpXS50ZXN0KHdlZWtkYXlOYW1lKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFzdHJpY3QgJiYgdGhpcy5fd2Vla2RheXNQYXJzZVtpXS50ZXN0KHdlZWtkYXlOYW1lKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTU9NRU5UU1xuXG4gICAgZnVuY3Rpb24gZ2V0U2V0RGF5T2ZXZWVrKGlucHV0KSB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnB1dCAhPSBudWxsID8gdGhpcyA6IE5hTjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZGF5ID0gdGhpcy5faXNVVEMgPyB0aGlzLl9kLmdldFVUQ0RheSgpIDogdGhpcy5fZC5nZXREYXkoKTtcbiAgICAgICAgaWYgKGlucHV0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlucHV0ID0gcGFyc2VXZWVrZGF5KGlucHV0LCB0aGlzLmxvY2FsZURhdGEoKSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZGQoaW5wdXQgLSBkYXksICdkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZGF5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0U2V0TG9jYWxlRGF5T2ZXZWVrKGlucHV0KSB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnB1dCAhPSBudWxsID8gdGhpcyA6IE5hTjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgd2Vla2RheSA9ICh0aGlzLmRheSgpICsgNyAtIHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrLmRvdykgJSA3O1xuICAgICAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IHdlZWtkYXkgOiB0aGlzLmFkZChpbnB1dCAtIHdlZWtkYXksICdkJyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0U2V0SVNPRGF5T2ZXZWVrKGlucHV0KSB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnB1dCAhPSBudWxsID8gdGhpcyA6IE5hTjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJlaGF2ZXMgdGhlIHNhbWUgYXMgbW9tZW50I2RheSBleGNlcHRcbiAgICAgICAgLy8gYXMgYSBnZXR0ZXIsIHJldHVybnMgNyBpbnN0ZWFkIG9mIDAgKDEtNyByYW5nZSBpbnN0ZWFkIG9mIDAtNilcbiAgICAgICAgLy8gYXMgYSBzZXR0ZXIsIHN1bmRheSBzaG91bGQgYmVsb25nIHRvIHRoZSBwcmV2aW91cyB3ZWVrLlxuXG4gICAgICAgIGlmIChpbnB1dCAhPSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgd2Vla2RheSA9IHBhcnNlSXNvV2Vla2RheShpbnB1dCwgdGhpcy5sb2NhbGVEYXRhKCkpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF5KHRoaXMuZGF5KCkgJSA3ID8gd2Vla2RheSA6IHdlZWtkYXkgLSA3KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRheSgpIHx8IDc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB3ZWVrZGF5c1JlZ2V4KGlzU3RyaWN0KSB7XG4gICAgICAgIGlmICh0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3QpIHtcbiAgICAgICAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX3dlZWtkYXlzUmVnZXgnKSkge1xuICAgICAgICAgICAgICAgIGNvbXB1dGVXZWVrZGF5c1BhcnNlLmNhbGwodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNTdHJpY3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fd2Vla2RheXNTdHJpY3RSZWdleDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzUmVnZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ193ZWVrZGF5c1JlZ2V4JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl93ZWVrZGF5c1JlZ2V4ID0gZGVmYXVsdFdlZWtkYXlzUmVnZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fd2Vla2RheXNTdHJpY3RSZWdleCAmJiBpc1N0cmljdFxuICAgICAgICAgICAgICAgID8gdGhpcy5fd2Vla2RheXNTdHJpY3RSZWdleFxuICAgICAgICAgICAgICAgIDogdGhpcy5fd2Vla2RheXNSZWdleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHdlZWtkYXlzU2hvcnRSZWdleChpc1N0cmljdCkge1xuICAgICAgICBpZiAodGhpcy5fd2Vla2RheXNQYXJzZUV4YWN0KSB7XG4gICAgICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ193ZWVrZGF5c1JlZ2V4JykpIHtcbiAgICAgICAgICAgICAgICBjb21wdXRlV2Vla2RheXNQYXJzZS5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzU3RyaWN0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzU2hvcnRSZWdleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX3dlZWtkYXlzU2hvcnRSZWdleCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fd2Vla2RheXNTaG9ydFJlZ2V4ID0gZGVmYXVsdFdlZWtkYXlzU2hvcnRSZWdleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1Nob3J0U3RyaWN0UmVnZXggJiYgaXNTdHJpY3RcbiAgICAgICAgICAgICAgICA/IHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleFxuICAgICAgICAgICAgICAgIDogdGhpcy5fd2Vla2RheXNTaG9ydFJlZ2V4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gd2Vla2RheXNNaW5SZWdleChpc1N0cmljdCkge1xuICAgICAgICBpZiAodGhpcy5fd2Vla2RheXNQYXJzZUV4YWN0KSB7XG4gICAgICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ193ZWVrZGF5c1JlZ2V4JykpIHtcbiAgICAgICAgICAgICAgICBjb21wdXRlV2Vla2RheXNQYXJzZS5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzU3RyaWN0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzTWluU3RyaWN0UmVnZXg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c01pblJlZ2V4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfd2Vla2RheXNNaW5SZWdleCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fd2Vla2RheXNNaW5SZWdleCA9IGRlZmF1bHRXZWVrZGF5c01pblJlZ2V4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzTWluU3RyaWN0UmVnZXggJiYgaXNTdHJpY3RcbiAgICAgICAgICAgICAgICA/IHRoaXMuX3dlZWtkYXlzTWluU3RyaWN0UmVnZXhcbiAgICAgICAgICAgICAgICA6IHRoaXMuX3dlZWtkYXlzTWluUmVnZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjb21wdXRlV2Vla2RheXNQYXJzZSgpIHtcbiAgICAgICAgZnVuY3Rpb24gY21wTGVuUmV2KGEsIGIpIHtcbiAgICAgICAgICAgIHJldHVybiBiLmxlbmd0aCAtIGEubGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG1pblBpZWNlcyA9IFtdLFxuICAgICAgICAgICAgc2hvcnRQaWVjZXMgPSBbXSxcbiAgICAgICAgICAgIGxvbmdQaWVjZXMgPSBbXSxcbiAgICAgICAgICAgIG1peGVkUGllY2VzID0gW10sXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgbW9tLFxuICAgICAgICAgICAgbWlucCxcbiAgICAgICAgICAgIHNob3J0cCxcbiAgICAgICAgICAgIGxvbmdwO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICAgICAgICAvLyBtYWtlIHRoZSByZWdleCBpZiB3ZSBkb24ndCBoYXZlIGl0IGFscmVhZHlcbiAgICAgICAgICAgIG1vbSA9IGNyZWF0ZVVUQyhbMjAwMCwgMV0pLmRheShpKTtcbiAgICAgICAgICAgIG1pbnAgPSByZWdleEVzY2FwZSh0aGlzLndlZWtkYXlzTWluKG1vbSwgJycpKTtcbiAgICAgICAgICAgIHNob3J0cCA9IHJlZ2V4RXNjYXBlKHRoaXMud2Vla2RheXNTaG9ydChtb20sICcnKSk7XG4gICAgICAgICAgICBsb25ncCA9IHJlZ2V4RXNjYXBlKHRoaXMud2Vla2RheXMobW9tLCAnJykpO1xuICAgICAgICAgICAgbWluUGllY2VzLnB1c2gobWlucCk7XG4gICAgICAgICAgICBzaG9ydFBpZWNlcy5wdXNoKHNob3J0cCk7XG4gICAgICAgICAgICBsb25nUGllY2VzLnB1c2gobG9uZ3ApO1xuICAgICAgICAgICAgbWl4ZWRQaWVjZXMucHVzaChtaW5wKTtcbiAgICAgICAgICAgIG1peGVkUGllY2VzLnB1c2goc2hvcnRwKTtcbiAgICAgICAgICAgIG1peGVkUGllY2VzLnB1c2gobG9uZ3ApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNvcnRpbmcgbWFrZXMgc3VyZSBpZiBvbmUgd2Vla2RheSAob3IgYWJicikgaXMgYSBwcmVmaXggb2YgYW5vdGhlciBpdFxuICAgICAgICAvLyB3aWxsIG1hdGNoIHRoZSBsb25nZXIgcGllY2UuXG4gICAgICAgIG1pblBpZWNlcy5zb3J0KGNtcExlblJldik7XG4gICAgICAgIHNob3J0UGllY2VzLnNvcnQoY21wTGVuUmV2KTtcbiAgICAgICAgbG9uZ1BpZWNlcy5zb3J0KGNtcExlblJldik7XG4gICAgICAgIG1peGVkUGllY2VzLnNvcnQoY21wTGVuUmV2KTtcblxuICAgICAgICB0aGlzLl93ZWVrZGF5c1JlZ2V4ID0gbmV3IFJlZ0V4cCgnXignICsgbWl4ZWRQaWVjZXMuam9pbignfCcpICsgJyknLCAnaScpO1xuICAgICAgICB0aGlzLl93ZWVrZGF5c1Nob3J0UmVnZXggPSB0aGlzLl93ZWVrZGF5c1JlZ2V4O1xuICAgICAgICB0aGlzLl93ZWVrZGF5c01pblJlZ2V4ID0gdGhpcy5fd2Vla2RheXNSZWdleDtcblxuICAgICAgICB0aGlzLl93ZWVrZGF5c1N0cmljdFJlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgICdeKCcgKyBsb25nUGllY2VzLmpvaW4oJ3wnKSArICcpJyxcbiAgICAgICAgICAgICdpJ1xuICAgICAgICApO1xuICAgICAgICB0aGlzLl93ZWVrZGF5c1Nob3J0U3RyaWN0UmVnZXggPSBuZXcgUmVnRXhwKFxuICAgICAgICAgICAgJ14oJyArIHNob3J0UGllY2VzLmpvaW4oJ3wnKSArICcpJyxcbiAgICAgICAgICAgICdpJ1xuICAgICAgICApO1xuICAgICAgICB0aGlzLl93ZWVrZGF5c01pblN0cmljdFJlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgICdeKCcgKyBtaW5QaWVjZXMuam9pbignfCcpICsgJyknLFxuICAgICAgICAgICAgJ2knXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gRk9STUFUVElOR1xuXG4gICAgZnVuY3Rpb24gaEZvcm1hdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG91cnMoKSAlIDEyIHx8IDEyO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGtGb3JtYXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvdXJzKCkgfHwgMjQ7XG4gICAgfVxuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ0gnLCBbJ0hIJywgMl0sIDAsICdob3VyJyk7XG4gICAgYWRkRm9ybWF0VG9rZW4oJ2gnLCBbJ2hoJywgMl0sIDAsIGhGb3JtYXQpO1xuICAgIGFkZEZvcm1hdFRva2VuKCdrJywgWydraycsIDJdLCAwLCBrRm9ybWF0KTtcblxuICAgIGFkZEZvcm1hdFRva2VuKCdobW0nLCAwLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiAnJyArIGhGb3JtYXQuYXBwbHkodGhpcykgKyB6ZXJvRmlsbCh0aGlzLm1pbnV0ZXMoKSwgMik7XG4gICAgfSk7XG5cbiAgICBhZGRGb3JtYXRUb2tlbignaG1tc3MnLCAwLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAnJyArXG4gICAgICAgICAgICBoRm9ybWF0LmFwcGx5KHRoaXMpICtcbiAgICAgICAgICAgIHplcm9GaWxsKHRoaXMubWludXRlcygpLCAyKSArXG4gICAgICAgICAgICB6ZXJvRmlsbCh0aGlzLnNlY29uZHMoKSwgMilcbiAgICAgICAgKTtcbiAgICB9KTtcblxuICAgIGFkZEZvcm1hdFRva2VuKCdIbW0nLCAwLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiAnJyArIHRoaXMuaG91cnMoKSArIHplcm9GaWxsKHRoaXMubWludXRlcygpLCAyKTtcbiAgICB9KTtcblxuICAgIGFkZEZvcm1hdFRva2VuKCdIbW1zcycsIDAsIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICcnICtcbiAgICAgICAgICAgIHRoaXMuaG91cnMoKSArXG4gICAgICAgICAgICB6ZXJvRmlsbCh0aGlzLm1pbnV0ZXMoKSwgMikgK1xuICAgICAgICAgICAgemVyb0ZpbGwodGhpcy5zZWNvbmRzKCksIDIpXG4gICAgICAgICk7XG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiBtZXJpZGllbSh0b2tlbiwgbG93ZXJjYXNlKSB7XG4gICAgICAgIGFkZEZvcm1hdFRva2VuKHRva2VuLCAwLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubWVyaWRpZW0oXG4gICAgICAgICAgICAgICAgdGhpcy5ob3VycygpLFxuICAgICAgICAgICAgICAgIHRoaXMubWludXRlcygpLFxuICAgICAgICAgICAgICAgIGxvd2VyY2FzZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbWVyaWRpZW0oJ2EnLCB0cnVlKTtcbiAgICBtZXJpZGllbSgnQScsIGZhbHNlKTtcblxuICAgIC8vIEFMSUFTRVNcblxuICAgIGFkZFVuaXRBbGlhcygnaG91cicsICdoJyk7XG5cbiAgICAvLyBQUklPUklUWVxuICAgIGFkZFVuaXRQcmlvcml0eSgnaG91cicsIDEzKTtcblxuICAgIC8vIFBBUlNJTkdcblxuICAgIGZ1bmN0aW9uIG1hdGNoTWVyaWRpZW0oaXNTdHJpY3QsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbG9jYWxlLl9tZXJpZGllbVBhcnNlO1xuICAgIH1cblxuICAgIGFkZFJlZ2V4VG9rZW4oJ2EnLCBtYXRjaE1lcmlkaWVtKTtcbiAgICBhZGRSZWdleFRva2VuKCdBJywgbWF0Y2hNZXJpZGllbSk7XG4gICAgYWRkUmVnZXhUb2tlbignSCcsIG1hdGNoMXRvMik7XG4gICAgYWRkUmVnZXhUb2tlbignaCcsIG1hdGNoMXRvMik7XG4gICAgYWRkUmVnZXhUb2tlbignaycsIG1hdGNoMXRvMik7XG4gICAgYWRkUmVnZXhUb2tlbignSEgnLCBtYXRjaDF0bzIsIG1hdGNoMik7XG4gICAgYWRkUmVnZXhUb2tlbignaGgnLCBtYXRjaDF0bzIsIG1hdGNoMik7XG4gICAgYWRkUmVnZXhUb2tlbigna2snLCBtYXRjaDF0bzIsIG1hdGNoMik7XG5cbiAgICBhZGRSZWdleFRva2VuKCdobW0nLCBtYXRjaDN0bzQpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ2htbXNzJywgbWF0Y2g1dG82KTtcbiAgICBhZGRSZWdleFRva2VuKCdIbW0nLCBtYXRjaDN0bzQpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ0htbXNzJywgbWF0Y2g1dG82KTtcblxuICAgIGFkZFBhcnNlVG9rZW4oWydIJywgJ0hIJ10sIEhPVVIpO1xuICAgIGFkZFBhcnNlVG9rZW4oWydrJywgJ2trJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykge1xuICAgICAgICB2YXIga0lucHV0ID0gdG9JbnQoaW5wdXQpO1xuICAgICAgICBhcnJheVtIT1VSXSA9IGtJbnB1dCA9PT0gMjQgPyAwIDoga0lucHV0O1xuICAgIH0pO1xuICAgIGFkZFBhcnNlVG9rZW4oWydhJywgJ0EnXSwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7XG4gICAgICAgIGNvbmZpZy5faXNQbSA9IGNvbmZpZy5fbG9jYWxlLmlzUE0oaW5wdXQpO1xuICAgICAgICBjb25maWcuX21lcmlkaWVtID0gaW5wdXQ7XG4gICAgfSk7XG4gICAgYWRkUGFyc2VUb2tlbihbJ2gnLCAnaGgnXSwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7XG4gICAgICAgIGFycmF5W0hPVVJdID0gdG9JbnQoaW5wdXQpO1xuICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdHJ1ZTtcbiAgICB9KTtcbiAgICBhZGRQYXJzZVRva2VuKCdobW0nLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHtcbiAgICAgICAgdmFyIHBvcyA9IGlucHV0Lmxlbmd0aCAtIDI7XG4gICAgICAgIGFycmF5W0hPVVJdID0gdG9JbnQoaW5wdXQuc3Vic3RyKDAsIHBvcykpO1xuICAgICAgICBhcnJheVtNSU5VVEVdID0gdG9JbnQoaW5wdXQuc3Vic3RyKHBvcykpO1xuICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdHJ1ZTtcbiAgICB9KTtcbiAgICBhZGRQYXJzZVRva2VuKCdobW1zcycsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykge1xuICAgICAgICB2YXIgcG9zMSA9IGlucHV0Lmxlbmd0aCAtIDQsXG4gICAgICAgICAgICBwb3MyID0gaW5wdXQubGVuZ3RoIC0gMjtcbiAgICAgICAgYXJyYXlbSE9VUl0gPSB0b0ludChpbnB1dC5zdWJzdHIoMCwgcG9zMSkpO1xuICAgICAgICBhcnJheVtNSU5VVEVdID0gdG9JbnQoaW5wdXQuc3Vic3RyKHBvczEsIDIpKTtcbiAgICAgICAgYXJyYXlbU0VDT05EXSA9IHRvSW50KGlucHV0LnN1YnN0cihwb3MyKSk7XG4gICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmJpZ0hvdXIgPSB0cnVlO1xuICAgIH0pO1xuICAgIGFkZFBhcnNlVG9rZW4oJ0htbScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykge1xuICAgICAgICB2YXIgcG9zID0gaW5wdXQubGVuZ3RoIC0gMjtcbiAgICAgICAgYXJyYXlbSE9VUl0gPSB0b0ludChpbnB1dC5zdWJzdHIoMCwgcG9zKSk7XG4gICAgICAgIGFycmF5W01JTlVURV0gPSB0b0ludChpbnB1dC5zdWJzdHIocG9zKSk7XG4gICAgfSk7XG4gICAgYWRkUGFyc2VUb2tlbignSG1tc3MnLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHtcbiAgICAgICAgdmFyIHBvczEgPSBpbnB1dC5sZW5ndGggLSA0LFxuICAgICAgICAgICAgcG9zMiA9IGlucHV0Lmxlbmd0aCAtIDI7XG4gICAgICAgIGFycmF5W0hPVVJdID0gdG9JbnQoaW5wdXQuc3Vic3RyKDAsIHBvczEpKTtcbiAgICAgICAgYXJyYXlbTUlOVVRFXSA9IHRvSW50KGlucHV0LnN1YnN0cihwb3MxLCAyKSk7XG4gICAgICAgIGFycmF5W1NFQ09ORF0gPSB0b0ludChpbnB1dC5zdWJzdHIocG9zMikpO1xuICAgIH0pO1xuXG4gICAgLy8gTE9DQUxFU1xuXG4gICAgZnVuY3Rpb24gbG9jYWxlSXNQTShpbnB1dCkge1xuICAgICAgICAvLyBJRTggUXVpcmtzIE1vZGUgJiBJRTcgU3RhbmRhcmRzIE1vZGUgZG8gbm90IGFsbG93IGFjY2Vzc2luZyBzdHJpbmdzIGxpa2UgYXJyYXlzXG4gICAgICAgIC8vIFVzaW5nIGNoYXJBdCBzaG91bGQgYmUgbW9yZSBjb21wYXRpYmxlLlxuICAgICAgICByZXR1cm4gKGlucHV0ICsgJycpLnRvTG93ZXJDYXNlKCkuY2hhckF0KDApID09PSAncCc7XG4gICAgfVxuXG4gICAgdmFyIGRlZmF1bHRMb2NhbGVNZXJpZGllbVBhcnNlID0gL1thcF1cXC4/bT9cXC4/L2ksXG4gICAgICAgIC8vIFNldHRpbmcgdGhlIGhvdXIgc2hvdWxkIGtlZXAgdGhlIHRpbWUsIGJlY2F1c2UgdGhlIHVzZXIgZXhwbGljaXRseVxuICAgICAgICAvLyBzcGVjaWZpZWQgd2hpY2ggaG91ciB0aGV5IHdhbnQuIFNvIHRyeWluZyB0byBtYWludGFpbiB0aGUgc2FtZSBob3VyIChpblxuICAgICAgICAvLyBhIG5ldyB0aW1lem9uZSkgbWFrZXMgc2Vuc2UuIEFkZGluZy9zdWJ0cmFjdGluZyBob3VycyBkb2VzIG5vdCBmb2xsb3dcbiAgICAgICAgLy8gdGhpcyBydWxlLlxuICAgICAgICBnZXRTZXRIb3VyID0gbWFrZUdldFNldCgnSG91cnMnLCB0cnVlKTtcblxuICAgIGZ1bmN0aW9uIGxvY2FsZU1lcmlkaWVtKGhvdXJzLCBtaW51dGVzLCBpc0xvd2VyKSB7XG4gICAgICAgIGlmIChob3VycyA+IDExKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNMb3dlciA/ICdwbScgOiAnUE0nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGlzTG93ZXIgPyAnYW0nIDogJ0FNJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhciBiYXNlQ29uZmlnID0ge1xuICAgICAgICBjYWxlbmRhcjogZGVmYXVsdENhbGVuZGFyLFxuICAgICAgICBsb25nRGF0ZUZvcm1hdDogZGVmYXVsdExvbmdEYXRlRm9ybWF0LFxuICAgICAgICBpbnZhbGlkRGF0ZTogZGVmYXVsdEludmFsaWREYXRlLFxuICAgICAgICBvcmRpbmFsOiBkZWZhdWx0T3JkaW5hbCxcbiAgICAgICAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogZGVmYXVsdERheU9mTW9udGhPcmRpbmFsUGFyc2UsXG4gICAgICAgIHJlbGF0aXZlVGltZTogZGVmYXVsdFJlbGF0aXZlVGltZSxcblxuICAgICAgICBtb250aHM6IGRlZmF1bHRMb2NhbGVNb250aHMsXG4gICAgICAgIG1vbnRoc1Nob3J0OiBkZWZhdWx0TG9jYWxlTW9udGhzU2hvcnQsXG5cbiAgICAgICAgd2VlazogZGVmYXVsdExvY2FsZVdlZWssXG5cbiAgICAgICAgd2Vla2RheXM6IGRlZmF1bHRMb2NhbGVXZWVrZGF5cyxcbiAgICAgICAgd2Vla2RheXNNaW46IGRlZmF1bHRMb2NhbGVXZWVrZGF5c01pbixcbiAgICAgICAgd2Vla2RheXNTaG9ydDogZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQsXG5cbiAgICAgICAgbWVyaWRpZW1QYXJzZTogZGVmYXVsdExvY2FsZU1lcmlkaWVtUGFyc2UsXG4gICAgfTtcblxuICAgIC8vIGludGVybmFsIHN0b3JhZ2UgZm9yIGxvY2FsZSBjb25maWcgZmlsZXNcbiAgICB2YXIgbG9jYWxlcyA9IHt9LFxuICAgICAgICBsb2NhbGVGYW1pbGllcyA9IHt9LFxuICAgICAgICBnbG9iYWxMb2NhbGU7XG5cbiAgICBmdW5jdGlvbiBjb21tb25QcmVmaXgoYXJyMSwgYXJyMikge1xuICAgICAgICB2YXIgaSxcbiAgICAgICAgICAgIG1pbmwgPSBNYXRoLm1pbihhcnIxLmxlbmd0aCwgYXJyMi5sZW5ndGgpO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbWlubDsgaSArPSAxKSB7XG4gICAgICAgICAgICBpZiAoYXJyMVtpXSAhPT0gYXJyMltpXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtaW5sO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG5vcm1hbGl6ZUxvY2FsZShrZXkpIHtcbiAgICAgICAgcmV0dXJuIGtleSA/IGtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJ18nLCAnLScpIDoga2V5O1xuICAgIH1cblxuICAgIC8vIHBpY2sgdGhlIGxvY2FsZSBmcm9tIHRoZSBhcnJheVxuICAgIC8vIHRyeSBbJ2VuLWF1JywgJ2VuLWdiJ10gYXMgJ2VuLWF1JywgJ2VuLWdiJywgJ2VuJywgYXMgaW4gbW92ZSB0aHJvdWdoIHRoZSBsaXN0IHRyeWluZyBlYWNoXG4gICAgLy8gc3Vic3RyaW5nIGZyb20gbW9zdCBzcGVjaWZpYyB0byBsZWFzdCwgYnV0IG1vdmUgdG8gdGhlIG5leHQgYXJyYXkgaXRlbSBpZiBpdCdzIGEgbW9yZSBzcGVjaWZpYyB2YXJpYW50IHRoYW4gdGhlIGN1cnJlbnQgcm9vdFxuICAgIGZ1bmN0aW9uIGNob29zZUxvY2FsZShuYW1lcykge1xuICAgICAgICB2YXIgaSA9IDAsXG4gICAgICAgICAgICBqLFxuICAgICAgICAgICAgbmV4dCxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgIHNwbGl0O1xuXG4gICAgICAgIHdoaWxlIChpIDwgbmFtZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBzcGxpdCA9IG5vcm1hbGl6ZUxvY2FsZShuYW1lc1tpXSkuc3BsaXQoJy0nKTtcbiAgICAgICAgICAgIGogPSBzcGxpdC5sZW5ndGg7XG4gICAgICAgICAgICBuZXh0ID0gbm9ybWFsaXplTG9jYWxlKG5hbWVzW2kgKyAxXSk7XG4gICAgICAgICAgICBuZXh0ID0gbmV4dCA/IG5leHQuc3BsaXQoJy0nKSA6IG51bGw7XG4gICAgICAgICAgICB3aGlsZSAoaiA+IDApIHtcbiAgICAgICAgICAgICAgICBsb2NhbGUgPSBsb2FkTG9jYWxlKHNwbGl0LnNsaWNlKDAsIGopLmpvaW4oJy0nKSk7XG4gICAgICAgICAgICAgICAgaWYgKGxvY2FsZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG5leHQgJiZcbiAgICAgICAgICAgICAgICAgICAgbmV4dC5sZW5ndGggPj0gaiAmJlxuICAgICAgICAgICAgICAgICAgICBjb21tb25QcmVmaXgoc3BsaXQsIG5leHQpID49IGogLSAxXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vdGhlIG5leHQgYXJyYXkgaXRlbSBpcyBiZXR0ZXIgdGhhbiBhIHNoYWxsb3dlciBzdWJzdHJpbmcgb2YgdGhpcyBvbmVcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGotLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2xvYmFsTG9jYWxlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzTG9jYWxlTmFtZVNhbmUobmFtZSkge1xuICAgICAgICAvLyBQcmV2ZW50IG5hbWVzIHRoYXQgbG9vayBsaWtlIGZpbGVzeXN0ZW0gcGF0aHMsIGkuZSBjb250YWluICcvJyBvciAnXFwnXG4gICAgICAgIHJldHVybiBuYW1lLm1hdGNoKCdeW14vXFxcXFxcXFxdKiQnKSAhPSBudWxsO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxvYWRMb2NhbGUobmFtZSkge1xuICAgICAgICB2YXIgb2xkTG9jYWxlID0gbnVsbCxcbiAgICAgICAgICAgIGFsaWFzZWRSZXF1aXJlO1xuICAgICAgICAvLyBUT0RPOiBGaW5kIGEgYmV0dGVyIHdheSB0byByZWdpc3RlciBhbmQgbG9hZCBhbGwgdGhlIGxvY2FsZXMgaW4gTm9kZVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBsb2NhbGVzW25hbWVdID09PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICBtb2R1bGUgJiZcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzICYmXG4gICAgICAgICAgICBpc0xvY2FsZU5hbWVTYW5lKG5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBvbGRMb2NhbGUgPSBnbG9iYWxMb2NhbGUuX2FiYnI7XG4gICAgICAgICAgICAgICAgYWxpYXNlZFJlcXVpcmUgPSByZXF1aXJlO1xuICAgICAgICAgICAgICAgIGFsaWFzZWRSZXF1aXJlKCcuL2xvY2FsZS8nICsgbmFtZSk7XG4gICAgICAgICAgICAgICAgZ2V0U2V0R2xvYmFsTG9jYWxlKG9sZExvY2FsZSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgLy8gbWFyayBhcyBub3QgZm91bmQgdG8gYXZvaWQgcmVwZWF0aW5nIGV4cGVuc2l2ZSBmaWxlIHJlcXVpcmUgY2FsbCBjYXVzaW5nIGhpZ2ggQ1BVXG4gICAgICAgICAgICAgICAgLy8gd2hlbiB0cnlpbmcgdG8gZmluZCBlbi1VUywgZW5fVVMsIGVuLXVzIGZvciBldmVyeSBmb3JtYXQgY2FsbFxuICAgICAgICAgICAgICAgIGxvY2FsZXNbbmFtZV0gPSBudWxsOyAvLyBudWxsIG1lYW5zIG5vdCBmb3VuZFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsb2NhbGVzW25hbWVdO1xuICAgIH1cblxuICAgIC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBsb2FkIGxvY2FsZSBhbmQgdGhlbiBzZXQgdGhlIGdsb2JhbCBsb2NhbGUuICBJZlxuICAgIC8vIG5vIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGluLCBpdCB3aWxsIHNpbXBseSByZXR1cm4gdGhlIGN1cnJlbnQgZ2xvYmFsXG4gICAgLy8gbG9jYWxlIGtleS5cbiAgICBmdW5jdGlvbiBnZXRTZXRHbG9iYWxMb2NhbGUoa2V5LCB2YWx1ZXMpIHtcbiAgICAgICAgdmFyIGRhdGE7XG4gICAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgICAgIGlmIChpc1VuZGVmaW5lZCh2YWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgZGF0YSA9IGdldExvY2FsZShrZXkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkYXRhID0gZGVmaW5lTG9jYWxlKGtleSwgdmFsdWVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAvLyBtb21lbnQuZHVyYXRpb24uX2xvY2FsZSA9IG1vbWVudC5fbG9jYWxlID0gZGF0YTtcbiAgICAgICAgICAgICAgICBnbG9iYWxMb2NhbGUgPSBkYXRhO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmIGNvbnNvbGUud2Fybikge1xuICAgICAgICAgICAgICAgICAgICAvL3dhcm4gdXNlciBpZiBhcmd1bWVudHMgYXJlIHBhc3NlZCBidXQgdGhlIGxvY2FsZSBjb3VsZCBub3QgYmUgc2V0XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgICAgICdMb2NhbGUgJyArIGtleSArICcgbm90IGZvdW5kLiBEaWQgeW91IGZvcmdldCB0byBsb2FkIGl0PydcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2xvYmFsTG9jYWxlLl9hYmJyO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRlZmluZUxvY2FsZShuYW1lLCBjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIGxvY2FsZSxcbiAgICAgICAgICAgICAgICBwYXJlbnRDb25maWcgPSBiYXNlQ29uZmlnO1xuICAgICAgICAgICAgY29uZmlnLmFiYnIgPSBuYW1lO1xuICAgICAgICAgICAgaWYgKGxvY2FsZXNbbmFtZV0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGRlcHJlY2F0ZVNpbXBsZShcbiAgICAgICAgICAgICAgICAgICAgJ2RlZmluZUxvY2FsZU92ZXJyaWRlJyxcbiAgICAgICAgICAgICAgICAgICAgJ3VzZSBtb21lbnQudXBkYXRlTG9jYWxlKGxvY2FsZU5hbWUsIGNvbmZpZykgdG8gY2hhbmdlICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2FuIGV4aXN0aW5nIGxvY2FsZS4gbW9tZW50LmRlZmluZUxvY2FsZShsb2NhbGVOYW1lLCAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdjb25maWcpIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGNyZWF0aW5nIGEgbmV3IGxvY2FsZSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdTZWUgaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9kZWZpbmUtbG9jYWxlLyBmb3IgbW9yZSBpbmZvLidcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHBhcmVudENvbmZpZyA9IGxvY2FsZXNbbmFtZV0uX2NvbmZpZztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29uZmlnLnBhcmVudExvY2FsZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxvY2FsZXNbY29uZmlnLnBhcmVudExvY2FsZV0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJlbnRDb25maWcgPSBsb2NhbGVzW2NvbmZpZy5wYXJlbnRMb2NhbGVdLl9jb25maWc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlID0gbG9hZExvY2FsZShjb25maWcucGFyZW50TG9jYWxlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2FsZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRDb25maWcgPSBsb2NhbGUuX2NvbmZpZztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbG9jYWxlRmFtaWxpZXNbY29uZmlnLnBhcmVudExvY2FsZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVGYW1pbGllc1tjb25maWcucGFyZW50TG9jYWxlXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlRmFtaWxpZXNbY29uZmlnLnBhcmVudExvY2FsZV0ucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb2NhbGVzW25hbWVdID0gbmV3IExvY2FsZShtZXJnZUNvbmZpZ3MocGFyZW50Q29uZmlnLCBjb25maWcpKTtcblxuICAgICAgICAgICAgaWYgKGxvY2FsZUZhbWlsaWVzW25hbWVdKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxlRmFtaWxpZXNbbmFtZV0uZm9yRWFjaChmdW5jdGlvbiAoeCkge1xuICAgICAgICAgICAgICAgICAgICBkZWZpbmVMb2NhbGUoeC5uYW1lLCB4LmNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJhY2t3YXJkcyBjb21wYXQgZm9yIG5vdzogYWxzbyBzZXQgdGhlIGxvY2FsZVxuICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHdlIHNldCB0aGUgbG9jYWxlIEFGVEVSIGFsbCBjaGlsZCBsb2NhbGVzIGhhdmUgYmVlblxuICAgICAgICAgICAgLy8gY3JlYXRlZCwgc28gd2Ugd29uJ3QgZW5kIHVwIHdpdGggdGhlIGNoaWxkIGxvY2FsZSBzZXQuXG4gICAgICAgICAgICBnZXRTZXRHbG9iYWxMb2NhbGUobmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBsb2NhbGVzW25hbWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gdXNlZnVsIGZvciB0ZXN0aW5nXG4gICAgICAgICAgICBkZWxldGUgbG9jYWxlc1tuYW1lXTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdXBkYXRlTG9jYWxlKG5hbWUsIGNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnICE9IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBsb2NhbGUsXG4gICAgICAgICAgICAgICAgdG1wTG9jYWxlLFxuICAgICAgICAgICAgICAgIHBhcmVudENvbmZpZyA9IGJhc2VDb25maWc7XG5cbiAgICAgICAgICAgIGlmIChsb2NhbGVzW25hbWVdICE9IG51bGwgJiYgbG9jYWxlc1tuYW1lXS5wYXJlbnRMb2NhbGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBleGlzdGluZyBjaGlsZCBsb2NhbGUgaW4tcGxhY2UgdG8gYXZvaWQgbWVtb3J5LWxlYWtzXG4gICAgICAgICAgICAgICAgbG9jYWxlc1tuYW1lXS5zZXQobWVyZ2VDb25maWdzKGxvY2FsZXNbbmFtZV0uX2NvbmZpZywgY29uZmlnKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE1FUkdFXG4gICAgICAgICAgICAgICAgdG1wTG9jYWxlID0gbG9hZExvY2FsZShuYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAodG1wTG9jYWxlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50Q29uZmlnID0gdG1wTG9jYWxlLl9jb25maWc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbmZpZyA9IG1lcmdlQ29uZmlncyhwYXJlbnRDb25maWcsIGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgaWYgKHRtcExvY2FsZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZUxvY2FsZSBpcyBjYWxsZWQgZm9yIGNyZWF0aW5nIGEgbmV3IGxvY2FsZVxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYWJiciBzbyBpdCB3aWxsIGhhdmUgYSBuYW1lIChnZXR0ZXJzIHJldHVyblxuICAgICAgICAgICAgICAgICAgICAvLyB1bmRlZmluZWQgb3RoZXJ3aXNlKS5cbiAgICAgICAgICAgICAgICAgICAgY29uZmlnLmFiYnIgPSBuYW1lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsb2NhbGUgPSBuZXcgTG9jYWxlKGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgbG9jYWxlLnBhcmVudExvY2FsZSA9IGxvY2FsZXNbbmFtZV07XG4gICAgICAgICAgICAgICAgbG9jYWxlc1tuYW1lXSA9IGxvY2FsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYmFja3dhcmRzIGNvbXBhdCBmb3Igbm93OiBhbHNvIHNldCB0aGUgbG9jYWxlXG4gICAgICAgICAgICBnZXRTZXRHbG9iYWxMb2NhbGUobmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBwYXNzIG51bGwgZm9yIGNvbmZpZyB0byB1bnVwZGF0ZSwgdXNlZnVsIGZvciB0ZXN0c1xuICAgICAgICAgICAgaWYgKGxvY2FsZXNbbmFtZV0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmIChsb2NhbGVzW25hbWVdLnBhcmVudExvY2FsZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsZXNbbmFtZV0gPSBsb2NhbGVzW25hbWVdLnBhcmVudExvY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUgPT09IGdldFNldEdsb2JhbExvY2FsZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRTZXRHbG9iYWxMb2NhbGUobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxvY2FsZXNbbmFtZV0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgbG9jYWxlc1tuYW1lXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxvY2FsZXNbbmFtZV07XG4gICAgfVxuXG4gICAgLy8gcmV0dXJucyBsb2NhbGUgZGF0YVxuICAgIGZ1bmN0aW9uIGdldExvY2FsZShrZXkpIHtcbiAgICAgICAgdmFyIGxvY2FsZTtcblxuICAgICAgICBpZiAoa2V5ICYmIGtleS5fbG9jYWxlICYmIGtleS5fbG9jYWxlLl9hYmJyKSB7XG4gICAgICAgICAgICBrZXkgPSBrZXkuX2xvY2FsZS5fYWJicjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgha2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gZ2xvYmFsTG9jYWxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0FycmF5KGtleSkpIHtcbiAgICAgICAgICAgIC8vc2hvcnQtY2lyY3VpdCBldmVyeXRoaW5nIGVsc2VcbiAgICAgICAgICAgIGxvY2FsZSA9IGxvYWRMb2NhbGUoa2V5KTtcbiAgICAgICAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5ID0gW2tleV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hvb3NlTG9jYWxlKGtleSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbGlzdExvY2FsZXMoKSB7XG4gICAgICAgIHJldHVybiBrZXlzKGxvY2FsZXMpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNoZWNrT3ZlcmZsb3cobSkge1xuICAgICAgICB2YXIgb3ZlcmZsb3csXG4gICAgICAgICAgICBhID0gbS5fYTtcblxuICAgICAgICBpZiAoYSAmJiBnZXRQYXJzaW5nRmxhZ3MobSkub3ZlcmZsb3cgPT09IC0yKSB7XG4gICAgICAgICAgICBvdmVyZmxvdyA9XG4gICAgICAgICAgICAgICAgYVtNT05USF0gPCAwIHx8IGFbTU9OVEhdID4gMTFcbiAgICAgICAgICAgICAgICAgICAgPyBNT05USFxuICAgICAgICAgICAgICAgICAgICA6IGFbREFURV0gPCAxIHx8IGFbREFURV0gPiBkYXlzSW5Nb250aChhW1lFQVJdLCBhW01PTlRIXSlcbiAgICAgICAgICAgICAgICAgICAgPyBEQVRFXG4gICAgICAgICAgICAgICAgICAgIDogYVtIT1VSXSA8IDAgfHxcbiAgICAgICAgICAgICAgICAgICAgICBhW0hPVVJdID4gMjQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAoYVtIT1VSXSA9PT0gMjQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGFbTUlOVVRFXSAhPT0gMCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtTRUNPTkRdICE9PSAwIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhW01JTExJU0VDT05EXSAhPT0gMCkpXG4gICAgICAgICAgICAgICAgICAgID8gSE9VUlxuICAgICAgICAgICAgICAgICAgICA6IGFbTUlOVVRFXSA8IDAgfHwgYVtNSU5VVEVdID4gNTlcbiAgICAgICAgICAgICAgICAgICAgPyBNSU5VVEVcbiAgICAgICAgICAgICAgICAgICAgOiBhW1NFQ09ORF0gPCAwIHx8IGFbU0VDT05EXSA+IDU5XG4gICAgICAgICAgICAgICAgICAgID8gU0VDT05EXG4gICAgICAgICAgICAgICAgICAgIDogYVtNSUxMSVNFQ09ORF0gPCAwIHx8IGFbTUlMTElTRUNPTkRdID4gOTk5XG4gICAgICAgICAgICAgICAgICAgID8gTUlMTElTRUNPTkRcbiAgICAgICAgICAgICAgICAgICAgOiAtMTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhtKS5fb3ZlcmZsb3dEYXlPZlllYXIgJiZcbiAgICAgICAgICAgICAgICAob3ZlcmZsb3cgPCBZRUFSIHx8IG92ZXJmbG93ID4gREFURSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93ID0gREFURTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChnZXRQYXJzaW5nRmxhZ3MobSkuX292ZXJmbG93V2Vla3MgJiYgb3ZlcmZsb3cgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cgPSBXRUVLO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGdldFBhcnNpbmdGbGFncyhtKS5fb3ZlcmZsb3dXZWVrZGF5ICYmIG92ZXJmbG93ID09PSAtMSkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93ID0gV0VFS0RBWTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKG0pLm92ZXJmbG93ID0gb3ZlcmZsb3c7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICAvLyBpc28gODYwMSByZWdleFxuICAgIC8vIDAwMDAtMDAtMDAgMDAwMC1XMDAgb3IgMDAwMC1XMDAtMCArIFQgKyAwMCBvciAwMDowMCBvciAwMDowMDowMCBvciAwMDowMDowMC4wMDAgKyArMDA6MDAgb3IgKzAwMDAgb3IgKzAwKVxuICAgIHZhciBleHRlbmRlZElzb1JlZ2V4ID1cbiAgICAgICAgICAgIC9eXFxzKigoPzpbKy1dXFxkezZ9fFxcZHs0fSktKD86XFxkXFxkLVxcZFxcZHxXXFxkXFxkLVxcZHxXXFxkXFxkfFxcZFxcZFxcZHxcXGRcXGQpKSg/OihUfCApKFxcZFxcZCg/OjpcXGRcXGQoPzo6XFxkXFxkKD86Wy4sXVxcZCspPyk/KT8pKFsrLV1cXGRcXGQoPzo6P1xcZFxcZCk/fFxccypaKT8pPyQvLFxuICAgICAgICBiYXNpY0lzb1JlZ2V4ID1cbiAgICAgICAgICAgIC9eXFxzKigoPzpbKy1dXFxkezZ9fFxcZHs0fSkoPzpcXGRcXGRcXGRcXGR8V1xcZFxcZFxcZHxXXFxkXFxkfFxcZFxcZFxcZHxcXGRcXGR8KSkoPzooVHwgKShcXGRcXGQoPzpcXGRcXGQoPzpcXGRcXGQoPzpbLixdXFxkKyk/KT8pPykoWystXVxcZFxcZCg/Ojo/XFxkXFxkKT98XFxzKlopPyk/JC8sXG4gICAgICAgIHR6UmVnZXggPSAvWnxbKy1dXFxkXFxkKD86Oj9cXGRcXGQpPy8sXG4gICAgICAgIGlzb0RhdGVzID0gW1xuICAgICAgICAgICAgWydZWVlZWVktTU0tREQnLCAvWystXVxcZHs2fS1cXGRcXGQtXFxkXFxkL10sXG4gICAgICAgICAgICBbJ1lZWVktTU0tREQnLCAvXFxkezR9LVxcZFxcZC1cXGRcXGQvXSxcbiAgICAgICAgICAgIFsnR0dHRy1bV11XVy1FJywgL1xcZHs0fS1XXFxkXFxkLVxcZC9dLFxuICAgICAgICAgICAgWydHR0dHLVtXXVdXJywgL1xcZHs0fS1XXFxkXFxkLywgZmFsc2VdLFxuICAgICAgICAgICAgWydZWVlZLURERCcsIC9cXGR7NH0tXFxkezN9L10sXG4gICAgICAgICAgICBbJ1lZWVktTU0nLCAvXFxkezR9LVxcZFxcZC8sIGZhbHNlXSxcbiAgICAgICAgICAgIFsnWVlZWVlZTU1ERCcsIC9bKy1dXFxkezEwfS9dLFxuICAgICAgICAgICAgWydZWVlZTU1ERCcsIC9cXGR7OH0vXSxcbiAgICAgICAgICAgIFsnR0dHR1tXXVdXRScsIC9cXGR7NH1XXFxkezN9L10sXG4gICAgICAgICAgICBbJ0dHR0dbV11XVycsIC9cXGR7NH1XXFxkezJ9LywgZmFsc2VdLFxuICAgICAgICAgICAgWydZWVlZREREJywgL1xcZHs3fS9dLFxuICAgICAgICAgICAgWydZWVlZTU0nLCAvXFxkezZ9LywgZmFsc2VdLFxuICAgICAgICAgICAgWydZWVlZJywgL1xcZHs0fS8sIGZhbHNlXSxcbiAgICAgICAgXSxcbiAgICAgICAgLy8gaXNvIHRpbWUgZm9ybWF0cyBhbmQgcmVnZXhlc1xuICAgICAgICBpc29UaW1lcyA9IFtcbiAgICAgICAgICAgIFsnSEg6bW06c3MuU1NTUycsIC9cXGRcXGQ6XFxkXFxkOlxcZFxcZFxcLlxcZCsvXSxcbiAgICAgICAgICAgIFsnSEg6bW06c3MsU1NTUycsIC9cXGRcXGQ6XFxkXFxkOlxcZFxcZCxcXGQrL10sXG4gICAgICAgICAgICBbJ0hIOm1tOnNzJywgL1xcZFxcZDpcXGRcXGQ6XFxkXFxkL10sXG4gICAgICAgICAgICBbJ0hIOm1tJywgL1xcZFxcZDpcXGRcXGQvXSxcbiAgICAgICAgICAgIFsnSEhtbXNzLlNTU1MnLCAvXFxkXFxkXFxkXFxkXFxkXFxkXFwuXFxkKy9dLFxuICAgICAgICAgICAgWydISG1tc3MsU1NTUycsIC9cXGRcXGRcXGRcXGRcXGRcXGQsXFxkKy9dLFxuICAgICAgICAgICAgWydISG1tc3MnLCAvXFxkXFxkXFxkXFxkXFxkXFxkL10sXG4gICAgICAgICAgICBbJ0hIbW0nLCAvXFxkXFxkXFxkXFxkL10sXG4gICAgICAgICAgICBbJ0hIJywgL1xcZFxcZC9dLFxuICAgICAgICBdLFxuICAgICAgICBhc3BOZXRKc29uUmVnZXggPSAvXlxcLz9EYXRlXFwoKC0/XFxkKykvaSxcbiAgICAgICAgLy8gUkZDIDI4MjIgcmVnZXg6IEZvciBkZXRhaWxzIHNlZSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjgyMiNzZWN0aW9uLTMuM1xuICAgICAgICByZmMyODIyID1cbiAgICAgICAgICAgIC9eKD86KE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksP1xccyk/KFxcZHsxLDJ9KVxccyhKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYylcXHMoXFxkezIsNH0pXFxzKFxcZFxcZCk6KFxcZFxcZCkoPzo6KFxcZFxcZCkpP1xccyg/OihVVHxHTVR8W0VDTVBdW1NEXVQpfChbWnpdKXwoWystXVxcZHs0fSkpJC8sXG4gICAgICAgIG9ic09mZnNldHMgPSB7XG4gICAgICAgICAgICBVVDogMCxcbiAgICAgICAgICAgIEdNVDogMCxcbiAgICAgICAgICAgIEVEVDogLTQgKiA2MCxcbiAgICAgICAgICAgIEVTVDogLTUgKiA2MCxcbiAgICAgICAgICAgIENEVDogLTUgKiA2MCxcbiAgICAgICAgICAgIENTVDogLTYgKiA2MCxcbiAgICAgICAgICAgIE1EVDogLTYgKiA2MCxcbiAgICAgICAgICAgIE1TVDogLTcgKiA2MCxcbiAgICAgICAgICAgIFBEVDogLTcgKiA2MCxcbiAgICAgICAgICAgIFBTVDogLTggKiA2MCxcbiAgICAgICAgfTtcblxuICAgIC8vIGRhdGUgZnJvbSBpc28gZm9ybWF0XG4gICAgZnVuY3Rpb24gY29uZmlnRnJvbUlTTyhjb25maWcpIHtcbiAgICAgICAgdmFyIGksXG4gICAgICAgICAgICBsLFxuICAgICAgICAgICAgc3RyaW5nID0gY29uZmlnLl9pLFxuICAgICAgICAgICAgbWF0Y2ggPSBleHRlbmRlZElzb1JlZ2V4LmV4ZWMoc3RyaW5nKSB8fCBiYXNpY0lzb1JlZ2V4LmV4ZWMoc3RyaW5nKSxcbiAgICAgICAgICAgIGFsbG93VGltZSxcbiAgICAgICAgICAgIGRhdGVGb3JtYXQsXG4gICAgICAgICAgICB0aW1lRm9ybWF0LFxuICAgICAgICAgICAgdHpGb3JtYXQsXG4gICAgICAgICAgICBpc29EYXRlc0xlbiA9IGlzb0RhdGVzLmxlbmd0aCxcbiAgICAgICAgICAgIGlzb1RpbWVzTGVuID0gaXNvVGltZXMubGVuZ3RoO1xuXG4gICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaXNvID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvciAoaSA9IDAsIGwgPSBpc29EYXRlc0xlbjsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChpc29EYXRlc1tpXVsxXS5leGVjKG1hdGNoWzFdKSkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0ID0gaXNvRGF0ZXNbaV1bMF07XG4gICAgICAgICAgICAgICAgICAgIGFsbG93VGltZSA9IGlzb0RhdGVzW2ldWzJdICE9PSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGVGb3JtYXQgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChtYXRjaFszXSkge1xuICAgICAgICAgICAgICAgIGZvciAoaSA9IDAsIGwgPSBpc29UaW1lc0xlbjsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNvVGltZXNbaV1bMV0uZXhlYyhtYXRjaFszXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hdGNoWzJdIHNob3VsZCBiZSAnVCcgb3Igc3BhY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVGb3JtYXQgPSAobWF0Y2hbMl0gfHwgJyAnKSArIGlzb1RpbWVzW2ldWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRpbWVGb3JtYXQgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25maWcuX2lzVmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghYWxsb3dUaW1lICYmIHRpbWVGb3JtYXQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChtYXRjaFs0XSkge1xuICAgICAgICAgICAgICAgIGlmICh0elJlZ2V4LmV4ZWMobWF0Y2hbNF0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHR6Rm9ybWF0ID0gJ1onO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uZmlnLl9mID0gZGF0ZUZvcm1hdCArICh0aW1lRm9ybWF0IHx8ICcnKSArICh0ekZvcm1hdCB8fCAnJyk7XG4gICAgICAgICAgICBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0KGNvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25maWcuX2lzVmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGV4dHJhY3RGcm9tUkZDMjgyMlN0cmluZ3MoXG4gICAgICAgIHllYXJTdHIsXG4gICAgICAgIG1vbnRoU3RyLFxuICAgICAgICBkYXlTdHIsXG4gICAgICAgIGhvdXJTdHIsXG4gICAgICAgIG1pbnV0ZVN0cixcbiAgICAgICAgc2Vjb25kU3RyXG4gICAgKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBbXG4gICAgICAgICAgICB1bnRydW5jYXRlWWVhcih5ZWFyU3RyKSxcbiAgICAgICAgICAgIGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydC5pbmRleE9mKG1vbnRoU3RyKSxcbiAgICAgICAgICAgIHBhcnNlSW50KGRheVN0ciwgMTApLFxuICAgICAgICAgICAgcGFyc2VJbnQoaG91clN0ciwgMTApLFxuICAgICAgICAgICAgcGFyc2VJbnQobWludXRlU3RyLCAxMCksXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKHNlY29uZFN0cikge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2gocGFyc2VJbnQoc2Vjb25kU3RyLCAxMCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB1bnRydW5jYXRlWWVhcih5ZWFyU3RyKSB7XG4gICAgICAgIHZhciB5ZWFyID0gcGFyc2VJbnQoeWVhclN0ciwgMTApO1xuICAgICAgICBpZiAoeWVhciA8PSA0OSkge1xuICAgICAgICAgICAgcmV0dXJuIDIwMDAgKyB5ZWFyO1xuICAgICAgICB9IGVsc2UgaWYgKHllYXIgPD0gOTk5KSB7XG4gICAgICAgICAgICByZXR1cm4gMTkwMCArIHllYXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHllYXI7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcHJlcHJvY2Vzc1JGQzI4MjIocykge1xuICAgICAgICAvLyBSZW1vdmUgY29tbWVudHMgYW5kIGZvbGRpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjZSBtdWx0aXBsZS1zcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZVxuICAgICAgICByZXR1cm4gc1xuICAgICAgICAgICAgLnJlcGxhY2UoL1xcKFteKCldKlxcKXxbXFxuXFx0XS9nLCAnICcpXG4gICAgICAgICAgICAucmVwbGFjZSgvKFxcc1xccyspL2csICcgJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9eXFxzXFxzKi8sICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcc1xccyokLywgJycpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNoZWNrV2Vla2RheSh3ZWVrZGF5U3RyLCBwYXJzZWRJbnB1dCwgY29uZmlnKSB7XG4gICAgICAgIGlmICh3ZWVrZGF5U3RyKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBSZXBsYWNlIHRoZSB2YW5pbGxhIEpTIERhdGUgb2JqZWN0IHdpdGggYW4gaW5kZXBlbmRlbnQgZGF5LW9mLXdlZWsgY2hlY2suXG4gICAgICAgICAgICB2YXIgd2Vla2RheVByb3ZpZGVkID0gZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQuaW5kZXhPZih3ZWVrZGF5U3RyKSxcbiAgICAgICAgICAgICAgICB3ZWVrZGF5QWN0dWFsID0gbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZElucHV0WzBdLFxuICAgICAgICAgICAgICAgICAgICBwYXJzZWRJbnB1dFsxXSxcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VkSW5wdXRbMl1cbiAgICAgICAgICAgICAgICApLmdldERheSgpO1xuICAgICAgICAgICAgaWYgKHdlZWtkYXlQcm92aWRlZCAhPT0gd2Vla2RheUFjdHVhbCkge1xuICAgICAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLndlZWtkYXlNaXNtYXRjaCA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uZmlnLl9pc1ZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNhbGN1bGF0ZU9mZnNldChvYnNPZmZzZXQsIG1pbGl0YXJ5T2Zmc2V0LCBudW1PZmZzZXQpIHtcbiAgICAgICAgaWYgKG9ic09mZnNldCkge1xuICAgICAgICAgICAgcmV0dXJuIG9ic09mZnNldHNbb2JzT2Zmc2V0XTtcbiAgICAgICAgfSBlbHNlIGlmIChtaWxpdGFyeU9mZnNldCkge1xuICAgICAgICAgICAgLy8gdGhlIG9ubHkgYWxsb3dlZCBtaWxpdGFyeSB0eiBpcyBaXG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBobSA9IHBhcnNlSW50KG51bU9mZnNldCwgMTApLFxuICAgICAgICAgICAgICAgIG0gPSBobSAlIDEwMCxcbiAgICAgICAgICAgICAgICBoID0gKGhtIC0gbSkgLyAxMDA7XG4gICAgICAgICAgICByZXR1cm4gaCAqIDYwICsgbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRhdGUgYW5kIHRpbWUgZnJvbSByZWYgMjgyMiBmb3JtYXRcbiAgICBmdW5jdGlvbiBjb25maWdGcm9tUkZDMjgyMihjb25maWcpIHtcbiAgICAgICAgdmFyIG1hdGNoID0gcmZjMjgyMi5leGVjKHByZXByb2Nlc3NSRkMyODIyKGNvbmZpZy5faSkpLFxuICAgICAgICAgICAgcGFyc2VkQXJyYXk7XG4gICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgcGFyc2VkQXJyYXkgPSBleHRyYWN0RnJvbVJGQzI4MjJTdHJpbmdzKFxuICAgICAgICAgICAgICAgIG1hdGNoWzRdLFxuICAgICAgICAgICAgICAgIG1hdGNoWzNdLFxuICAgICAgICAgICAgICAgIG1hdGNoWzJdLFxuICAgICAgICAgICAgICAgIG1hdGNoWzVdLFxuICAgICAgICAgICAgICAgIG1hdGNoWzZdLFxuICAgICAgICAgICAgICAgIG1hdGNoWzddXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKCFjaGVja1dlZWtkYXkobWF0Y2hbMV0sIHBhcnNlZEFycmF5LCBjb25maWcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25maWcuX2EgPSBwYXJzZWRBcnJheTtcbiAgICAgICAgICAgIGNvbmZpZy5fdHptID0gY2FsY3VsYXRlT2Zmc2V0KG1hdGNoWzhdLCBtYXRjaFs5XSwgbWF0Y2hbMTBdKTtcblxuICAgICAgICAgICAgY29uZmlnLl9kID0gY3JlYXRlVVRDRGF0ZS5hcHBseShudWxsLCBjb25maWcuX2EpO1xuICAgICAgICAgICAgY29uZmlnLl9kLnNldFVUQ01pbnV0ZXMoY29uZmlnLl9kLmdldFVUQ01pbnV0ZXMoKSAtIGNvbmZpZy5fdHptKTtcblxuICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykucmZjMjgyMiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25maWcuX2lzVmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRhdGUgZnJvbSAxKSBBU1AuTkVULCAyKSBJU08sIDMpIFJGQyAyODIyIGZvcm1hdHMsIG9yIDQpIG9wdGlvbmFsIGZhbGxiYWNrIGlmIHBhcnNpbmcgaXNuJ3Qgc3RyaWN0XG4gICAgZnVuY3Rpb24gY29uZmlnRnJvbVN0cmluZyhjb25maWcpIHtcbiAgICAgICAgdmFyIG1hdGNoZWQgPSBhc3BOZXRKc29uUmVnZXguZXhlYyhjb25maWcuX2kpO1xuICAgICAgICBpZiAobWF0Y2hlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoK21hdGNoZWRbMV0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uZmlnRnJvbUlTTyhjb25maWcpO1xuICAgICAgICBpZiAoY29uZmlnLl9pc1ZhbGlkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgZGVsZXRlIGNvbmZpZy5faXNWYWxpZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbmZpZ0Zyb21SRkMyODIyKGNvbmZpZyk7XG4gICAgICAgIGlmIChjb25maWcuX2lzVmFsaWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBkZWxldGUgY29uZmlnLl9pc1ZhbGlkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZpZy5fc3RyaWN0KSB7XG4gICAgICAgICAgICBjb25maWcuX2lzVmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEZpbmFsIGF0dGVtcHQsIHVzZSBJbnB1dCBGYWxsYmFja1xuICAgICAgICAgICAgaG9va3MuY3JlYXRlRnJvbUlucHV0RmFsbGJhY2soY29uZmlnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhvb2tzLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrID0gZGVwcmVjYXRlKFxuICAgICAgICAndmFsdWUgcHJvdmlkZWQgaXMgbm90IGluIGEgcmVjb2duaXplZCBSRkMyODIyIG9yIElTTyBmb3JtYXQuIG1vbWVudCBjb25zdHJ1Y3Rpb24gZmFsbHMgYmFjayB0byBqcyBEYXRlKCksICcgK1xuICAgICAgICAgICAgJ3doaWNoIGlzIG5vdCByZWxpYWJsZSBhY3Jvc3MgYWxsIGJyb3dzZXJzIGFuZCB2ZXJzaW9ucy4gTm9uIFJGQzI4MjIvSVNPIGRhdGUgZm9ybWF0cyBhcmUgJyArXG4gICAgICAgICAgICAnZGlzY291cmFnZWQuIFBsZWFzZSByZWZlciB0byBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL2pzLWRhdGUvIGZvciBtb3JlIGluZm8uJyxcbiAgICAgICAgZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoY29uZmlnLl9pICsgKGNvbmZpZy5fdXNlVVRDID8gJyBVVEMnIDogJycpKTtcbiAgICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBQaWNrIHRoZSBmaXJzdCBkZWZpbmVkIG9mIHR3byBvciB0aHJlZSBhcmd1bWVudHMuXG4gICAgZnVuY3Rpb24gZGVmYXVsdHMoYSwgYiwgYykge1xuICAgICAgICBpZiAoYSAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYiAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gYjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjdXJyZW50RGF0ZUFycmF5KGNvbmZpZykge1xuICAgICAgICAvLyBob29rcyBpcyBhY3R1YWxseSB0aGUgZXhwb3J0ZWQgbW9tZW50IG9iamVjdFxuICAgICAgICB2YXIgbm93VmFsdWUgPSBuZXcgRGF0ZShob29rcy5ub3coKSk7XG4gICAgICAgIGlmIChjb25maWcuX3VzZVVUQykge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICBub3dWYWx1ZS5nZXRVVENGdWxsWWVhcigpLFxuICAgICAgICAgICAgICAgIG5vd1ZhbHVlLmdldFVUQ01vbnRoKCksXG4gICAgICAgICAgICAgICAgbm93VmFsdWUuZ2V0VVRDRGF0ZSgpLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW25vd1ZhbHVlLmdldEZ1bGxZZWFyKCksIG5vd1ZhbHVlLmdldE1vbnRoKCksIG5vd1ZhbHVlLmdldERhdGUoKV07XG4gICAgfVxuXG4gICAgLy8gY29udmVydCBhbiBhcnJheSB0byBhIGRhdGUuXG4gICAgLy8gdGhlIGFycmF5IHNob3VsZCBtaXJyb3IgdGhlIHBhcmFtZXRlcnMgYmVsb3dcbiAgICAvLyBub3RlOiBhbGwgdmFsdWVzIHBhc3QgdGhlIHllYXIgYXJlIG9wdGlvbmFsIGFuZCB3aWxsIGRlZmF1bHQgdG8gdGhlIGxvd2VzdCBwb3NzaWJsZSB2YWx1ZS5cbiAgICAvLyBbeWVhciwgbW9udGgsIGRheSAsIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZF1cbiAgICBmdW5jdGlvbiBjb25maWdGcm9tQXJyYXkoY29uZmlnKSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgZGF0ZSxcbiAgICAgICAgICAgIGlucHV0ID0gW10sXG4gICAgICAgICAgICBjdXJyZW50RGF0ZSxcbiAgICAgICAgICAgIGV4cGVjdGVkV2Vla2RheSxcbiAgICAgICAgICAgIHllYXJUb1VzZTtcblxuICAgICAgICBpZiAoY29uZmlnLl9kKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50RGF0ZSA9IGN1cnJlbnREYXRlQXJyYXkoY29uZmlnKTtcblxuICAgICAgICAvL2NvbXB1dGUgZGF5IG9mIHRoZSB5ZWFyIGZyb20gd2Vla3MgYW5kIHdlZWtkYXlzXG4gICAgICAgIGlmIChjb25maWcuX3cgJiYgY29uZmlnLl9hW0RBVEVdID09IG51bGwgJiYgY29uZmlnLl9hW01PTlRIXSA9PSBudWxsKSB7XG4gICAgICAgICAgICBkYXlPZlllYXJGcm9tV2Vla0luZm8oY29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vaWYgdGhlIGRheSBvZiB0aGUgeWVhciBpcyBzZXQsIGZpZ3VyZSBvdXQgd2hhdCBpdCBpc1xuICAgICAgICBpZiAoY29uZmlnLl9kYXlPZlllYXIgIT0gbnVsbCkge1xuICAgICAgICAgICAgeWVhclRvVXNlID0gZGVmYXVsdHMoY29uZmlnLl9hW1lFQVJdLCBjdXJyZW50RGF0ZVtZRUFSXSk7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb25maWcuX2RheU9mWWVhciA+IGRheXNJblllYXIoeWVhclRvVXNlKSB8fFxuICAgICAgICAgICAgICAgIGNvbmZpZy5fZGF5T2ZZZWFyID09PSAwXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5fb3ZlcmZsb3dEYXlPZlllYXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkYXRlID0gY3JlYXRlVVRDRGF0ZSh5ZWFyVG9Vc2UsIDAsIGNvbmZpZy5fZGF5T2ZZZWFyKTtcbiAgICAgICAgICAgIGNvbmZpZy5fYVtNT05USF0gPSBkYXRlLmdldFVUQ01vbnRoKCk7XG4gICAgICAgICAgICBjb25maWcuX2FbREFURV0gPSBkYXRlLmdldFVUQ0RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlZmF1bHQgdG8gY3VycmVudCBkYXRlLlxuICAgICAgICAvLyAqIGlmIG5vIHllYXIsIG1vbnRoLCBkYXkgb2YgbW9udGggYXJlIGdpdmVuLCBkZWZhdWx0IHRvIHRvZGF5XG4gICAgICAgIC8vICogaWYgZGF5IG9mIG1vbnRoIGlzIGdpdmVuLCBkZWZhdWx0IG1vbnRoIGFuZCB5ZWFyXG4gICAgICAgIC8vICogaWYgbW9udGggaXMgZ2l2ZW4sIGRlZmF1bHQgb25seSB5ZWFyXG4gICAgICAgIC8vICogaWYgeWVhciBpcyBnaXZlbiwgZG9uJ3QgZGVmYXVsdCBhbnl0aGluZ1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMyAmJiBjb25maWcuX2FbaV0gPT0gbnVsbDsgKytpKSB7XG4gICAgICAgICAgICBjb25maWcuX2FbaV0gPSBpbnB1dFtpXSA9IGN1cnJlbnREYXRlW2ldO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gWmVybyBvdXQgd2hhdGV2ZXIgd2FzIG5vdCBkZWZhdWx0ZWQsIGluY2x1ZGluZyB0aW1lXG4gICAgICAgIGZvciAoOyBpIDwgNzsgaSsrKSB7XG4gICAgICAgICAgICBjb25maWcuX2FbaV0gPSBpbnB1dFtpXSA9XG4gICAgICAgICAgICAgICAgY29uZmlnLl9hW2ldID09IG51bGwgPyAoaSA9PT0gMiA/IDEgOiAwKSA6IGNvbmZpZy5fYVtpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIGZvciAyNDowMDowMC4wMDBcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29uZmlnLl9hW0hPVVJdID09PSAyNCAmJlxuICAgICAgICAgICAgY29uZmlnLl9hW01JTlVURV0gPT09IDAgJiZcbiAgICAgICAgICAgIGNvbmZpZy5fYVtTRUNPTkRdID09PSAwICYmXG4gICAgICAgICAgICBjb25maWcuX2FbTUlMTElTRUNPTkRdID09PSAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uZmlnLl9uZXh0RGF5ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbmZpZy5fYVtIT1VSXSA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25maWcuX2QgPSAoY29uZmlnLl91c2VVVEMgPyBjcmVhdGVVVENEYXRlIDogY3JlYXRlRGF0ZSkuYXBwbHkoXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgaW5wdXRcbiAgICAgICAgKTtcbiAgICAgICAgZXhwZWN0ZWRXZWVrZGF5ID0gY29uZmlnLl91c2VVVENcbiAgICAgICAgICAgID8gY29uZmlnLl9kLmdldFVUQ0RheSgpXG4gICAgICAgICAgICA6IGNvbmZpZy5fZC5nZXREYXkoKTtcblxuICAgICAgICAvLyBBcHBseSB0aW1lem9uZSBvZmZzZXQgZnJvbSBpbnB1dC4gVGhlIGFjdHVhbCB1dGNPZmZzZXQgY2FuIGJlIGNoYW5nZWRcbiAgICAgICAgLy8gd2l0aCBwYXJzZVpvbmUuXG4gICAgICAgIGlmIChjb25maWcuX3R6bSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25maWcuX2Quc2V0VVRDTWludXRlcyhjb25maWcuX2QuZ2V0VVRDTWludXRlcygpIC0gY29uZmlnLl90em0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZpZy5fbmV4dERheSkge1xuICAgICAgICAgICAgY29uZmlnLl9hW0hPVVJdID0gMjQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjaGVjayBmb3IgbWlzbWF0Y2hpbmcgZGF5IG9mIHdlZWtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29uZmlnLl93ICYmXG4gICAgICAgICAgICB0eXBlb2YgY29uZmlnLl93LmQgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICBjb25maWcuX3cuZCAhPT0gZXhwZWN0ZWRXZWVrZGF5XG4gICAgICAgICkge1xuICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykud2Vla2RheU1pc21hdGNoID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRheU9mWWVhckZyb21XZWVrSW5mbyhjb25maWcpIHtcbiAgICAgICAgdmFyIHcsIHdlZWtZZWFyLCB3ZWVrLCB3ZWVrZGF5LCBkb3csIGRveSwgdGVtcCwgd2Vla2RheU92ZXJmbG93LCBjdXJXZWVrO1xuXG4gICAgICAgIHcgPSBjb25maWcuX3c7XG4gICAgICAgIGlmICh3LkdHICE9IG51bGwgfHwgdy5XICE9IG51bGwgfHwgdy5FICE9IG51bGwpIHtcbiAgICAgICAgICAgIGRvdyA9IDE7XG4gICAgICAgICAgICBkb3kgPSA0O1xuXG4gICAgICAgICAgICAvLyBUT0RPOiBXZSBuZWVkIHRvIHRha2UgdGhlIGN1cnJlbnQgaXNvV2Vla1llYXIsIGJ1dCB0aGF0IGRlcGVuZHMgb25cbiAgICAgICAgICAgIC8vIGhvdyB3ZSBpbnRlcnByZXQgbm93IChsb2NhbCwgdXRjLCBmaXhlZCBvZmZzZXQpLiBTbyBjcmVhdGVcbiAgICAgICAgICAgIC8vIGEgbm93IHZlcnNpb24gb2YgY3VycmVudCBjb25maWcgKHRha2UgbG9jYWwvdXRjL29mZnNldCBmbGFncywgYW5kXG4gICAgICAgICAgICAvLyBjcmVhdGUgbm93KS5cbiAgICAgICAgICAgIHdlZWtZZWFyID0gZGVmYXVsdHMoXG4gICAgICAgICAgICAgICAgdy5HRyxcbiAgICAgICAgICAgICAgICBjb25maWcuX2FbWUVBUl0sXG4gICAgICAgICAgICAgICAgd2Vla09mWWVhcihjcmVhdGVMb2NhbCgpLCAxLCA0KS55ZWFyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgd2VlayA9IGRlZmF1bHRzKHcuVywgMSk7XG4gICAgICAgICAgICB3ZWVrZGF5ID0gZGVmYXVsdHMody5FLCAxKTtcbiAgICAgICAgICAgIGlmICh3ZWVrZGF5IDwgMSB8fCB3ZWVrZGF5ID4gNykge1xuICAgICAgICAgICAgICAgIHdlZWtkYXlPdmVyZmxvdyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkb3cgPSBjb25maWcuX2xvY2FsZS5fd2Vlay5kb3c7XG4gICAgICAgICAgICBkb3kgPSBjb25maWcuX2xvY2FsZS5fd2Vlay5kb3k7XG5cbiAgICAgICAgICAgIGN1cldlZWsgPSB3ZWVrT2ZZZWFyKGNyZWF0ZUxvY2FsKCksIGRvdywgZG95KTtcblxuICAgICAgICAgICAgd2Vla1llYXIgPSBkZWZhdWx0cyh3LmdnLCBjb25maWcuX2FbWUVBUl0sIGN1cldlZWsueWVhcik7XG5cbiAgICAgICAgICAgIC8vIERlZmF1bHQgdG8gY3VycmVudCB3ZWVrLlxuICAgICAgICAgICAgd2VlayA9IGRlZmF1bHRzKHcudywgY3VyV2Vlay53ZWVrKTtcblxuICAgICAgICAgICAgaWYgKHcuZCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gd2Vla2RheSAtLSBsb3cgZGF5IG51bWJlcnMgYXJlIGNvbnNpZGVyZWQgbmV4dCB3ZWVrXG4gICAgICAgICAgICAgICAgd2Vla2RheSA9IHcuZDtcbiAgICAgICAgICAgICAgICBpZiAod2Vla2RheSA8IDAgfHwgd2Vla2RheSA+IDYpIHtcbiAgICAgICAgICAgICAgICAgICAgd2Vla2RheU92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHcuZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gbG9jYWwgd2Vla2RheSAtLSBjb3VudGluZyBzdGFydHMgZnJvbSBiZWdpbm5pbmcgb2Ygd2Vla1xuICAgICAgICAgICAgICAgIHdlZWtkYXkgPSB3LmUgKyBkb3c7XG4gICAgICAgICAgICAgICAgaWYgKHcuZSA8IDAgfHwgdy5lID4gNikge1xuICAgICAgICAgICAgICAgICAgICB3ZWVrZGF5T3ZlcmZsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB0byBiZWdpbm5pbmcgb2Ygd2Vla1xuICAgICAgICAgICAgICAgIHdlZWtkYXkgPSBkb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdlZWsgPCAxIHx8IHdlZWsgPiB3ZWVrc0luWWVhcih3ZWVrWWVhciwgZG93LCBkb3kpKSB7XG4gICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5fb3ZlcmZsb3dXZWVrcyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAod2Vla2RheU92ZXJmbG93ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd1dlZWtkYXkgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGVtcCA9IGRheU9mWWVhckZyb21XZWVrcyh3ZWVrWWVhciwgd2Vlaywgd2Vla2RheSwgZG93LCBkb3kpO1xuICAgICAgICAgICAgY29uZmlnLl9hW1lFQVJdID0gdGVtcC55ZWFyO1xuICAgICAgICAgICAgY29uZmlnLl9kYXlPZlllYXIgPSB0ZW1wLmRheU9mWWVhcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNvbnN0YW50IHRoYXQgcmVmZXJzIHRvIHRoZSBJU08gc3RhbmRhcmRcbiAgICBob29rcy5JU09fODYwMSA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgLy8gY29uc3RhbnQgdGhhdCByZWZlcnMgdG8gdGhlIFJGQyAyODIyIGZvcm1cbiAgICBob29rcy5SRkNfMjgyMiA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgLy8gZGF0ZSBmcm9tIHN0cmluZyBhbmQgZm9ybWF0IHN0cmluZ1xuICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQoY29uZmlnKSB7XG4gICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyB0byBhbm90aGVyIHBhcnQgb2YgdGhlIGNyZWF0aW9uIGZsb3cgdG8gcHJldmVudCBjaXJjdWxhciBkZXBzXG4gICAgICAgIGlmIChjb25maWcuX2YgPT09IGhvb2tzLklTT184NjAxKSB7XG4gICAgICAgICAgICBjb25maWdGcm9tSVNPKGNvbmZpZyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5fZiA9PT0gaG9va3MuUkZDXzI4MjIpIHtcbiAgICAgICAgICAgIGNvbmZpZ0Zyb21SRkMyODIyKGNvbmZpZyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uZmlnLl9hID0gW107XG4gICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmVtcHR5ID0gdHJ1ZTtcblxuICAgICAgICAvLyBUaGlzIGFycmF5IGlzIHVzZWQgdG8gbWFrZSBhIERhdGUsIGVpdGhlciB3aXRoIGBuZXcgRGF0ZWAgb3IgYERhdGUuVVRDYFxuICAgICAgICB2YXIgc3RyaW5nID0gJycgKyBjb25maWcuX2ksXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgcGFyc2VkSW5wdXQsXG4gICAgICAgICAgICB0b2tlbnMsXG4gICAgICAgICAgICB0b2tlbixcbiAgICAgICAgICAgIHNraXBwZWQsXG4gICAgICAgICAgICBzdHJpbmdMZW5ndGggPSBzdHJpbmcubGVuZ3RoLFxuICAgICAgICAgICAgdG90YWxQYXJzZWRJbnB1dExlbmd0aCA9IDAsXG4gICAgICAgICAgICBlcmEsXG4gICAgICAgICAgICB0b2tlbkxlbjtcblxuICAgICAgICB0b2tlbnMgPVxuICAgICAgICAgICAgZXhwYW5kRm9ybWF0KGNvbmZpZy5fZiwgY29uZmlnLl9sb2NhbGUpLm1hdGNoKGZvcm1hdHRpbmdUb2tlbnMpIHx8IFtdO1xuICAgICAgICB0b2tlbkxlbiA9IHRva2Vucy5sZW5ndGg7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCB0b2tlbkxlbjsgaSsrKSB7XG4gICAgICAgICAgICB0b2tlbiA9IHRva2Vuc1tpXTtcbiAgICAgICAgICAgIHBhcnNlZElucHV0ID0gKHN0cmluZy5tYXRjaChnZXRQYXJzZVJlZ2V4Rm9yVG9rZW4odG9rZW4sIGNvbmZpZykpIHx8XG4gICAgICAgICAgICAgICAgW10pWzBdO1xuICAgICAgICAgICAgaWYgKHBhcnNlZElucHV0KSB7XG4gICAgICAgICAgICAgICAgc2tpcHBlZCA9IHN0cmluZy5zdWJzdHIoMCwgc3RyaW5nLmluZGV4T2YocGFyc2VkSW5wdXQpKTtcbiAgICAgICAgICAgICAgICBpZiAoc2tpcHBlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLnVudXNlZElucHV0LnB1c2goc2tpcHBlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZy5zbGljZShcbiAgICAgICAgICAgICAgICAgICAgc3RyaW5nLmluZGV4T2YocGFyc2VkSW5wdXQpICsgcGFyc2VkSW5wdXQubGVuZ3RoXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0b3RhbFBhcnNlZElucHV0TGVuZ3RoICs9IHBhcnNlZElucHV0Lmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGRvbid0IHBhcnNlIGlmIGl0J3Mgbm90IGEga25vd24gdG9rZW5cbiAgICAgICAgICAgIGlmIChmb3JtYXRUb2tlbkZ1bmN0aW9uc1t0b2tlbl0pIHtcbiAgICAgICAgICAgICAgICBpZiAocGFyc2VkSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuZW1wdHkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS51bnVzZWRUb2tlbnMucHVzaCh0b2tlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFkZFRpbWVUb0FycmF5RnJvbVRva2VuKHRva2VuLCBwYXJzZWRJbnB1dCwgY29uZmlnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29uZmlnLl9zdHJpY3QgJiYgIXBhcnNlZElucHV0KSB7XG4gICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkVG9rZW5zLnB1c2godG9rZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYWRkIHJlbWFpbmluZyB1bnBhcnNlZCBpbnB1dCBsZW5ndGggdG8gdGhlIHN0cmluZ1xuICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5jaGFyc0xlZnRPdmVyID1cbiAgICAgICAgICAgIHN0cmluZ0xlbmd0aCAtIHRvdGFsUGFyc2VkSW5wdXRMZW5ndGg7XG4gICAgICAgIGlmIChzdHJpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkSW5wdXQucHVzaChzdHJpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2xlYXIgXzEyaCBmbGFnIGlmIGhvdXIgaXMgPD0gMTJcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29uZmlnLl9hW0hPVVJdIDw9IDEyICYmXG4gICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID09PSB0cnVlICYmXG4gICAgICAgICAgICBjb25maWcuX2FbSE9VUl0gPiAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuYmlnSG91ciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLnBhcnNlZERhdGVQYXJ0cyA9IGNvbmZpZy5fYS5zbGljZSgwKTtcbiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykubWVyaWRpZW0gPSBjb25maWcuX21lcmlkaWVtO1xuICAgICAgICAvLyBoYW5kbGUgbWVyaWRpZW1cbiAgICAgICAgY29uZmlnLl9hW0hPVVJdID0gbWVyaWRpZW1GaXhXcmFwKFxuICAgICAgICAgICAgY29uZmlnLl9sb2NhbGUsXG4gICAgICAgICAgICBjb25maWcuX2FbSE9VUl0sXG4gICAgICAgICAgICBjb25maWcuX21lcmlkaWVtXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gaGFuZGxlIGVyYVxuICAgICAgICBlcmEgPSBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5lcmE7XG4gICAgICAgIGlmIChlcmEgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbmZpZy5fYVtZRUFSXSA9IGNvbmZpZy5fbG9jYWxlLmVyYXNDb252ZXJ0WWVhcihlcmEsIGNvbmZpZy5fYVtZRUFSXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25maWdGcm9tQXJyYXkoY29uZmlnKTtcbiAgICAgICAgY2hlY2tPdmVyZmxvdyhjb25maWcpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1lcmlkaWVtRml4V3JhcChsb2NhbGUsIGhvdXIsIG1lcmlkaWVtKSB7XG4gICAgICAgIHZhciBpc1BtO1xuXG4gICAgICAgIGlmIChtZXJpZGllbSA9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBub3RoaW5nIHRvIGRvXG4gICAgICAgICAgICByZXR1cm4gaG91cjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxlLm1lcmlkaWVtSG91ciAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbG9jYWxlLm1lcmlkaWVtSG91cihob3VyLCBtZXJpZGllbSk7XG4gICAgICAgIH0gZWxzZSBpZiAobG9jYWxlLmlzUE0gIT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gRmFsbGJhY2tcbiAgICAgICAgICAgIGlzUG0gPSBsb2NhbGUuaXNQTShtZXJpZGllbSk7XG4gICAgICAgICAgICBpZiAoaXNQbSAmJiBob3VyIDwgMTIpIHtcbiAgICAgICAgICAgICAgICBob3VyICs9IDEyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpc1BtICYmIGhvdXIgPT09IDEyKSB7XG4gICAgICAgICAgICAgICAgaG91ciA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaG91cjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHRoaXMgaXMgbm90IHN1cHBvc2VkIHRvIGhhcHBlblxuICAgICAgICAgICAgcmV0dXJuIGhvdXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkYXRlIGZyb20gc3RyaW5nIGFuZCBhcnJheSBvZiBmb3JtYXQgc3RyaW5nc1xuICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWcpIHtcbiAgICAgICAgdmFyIHRlbXBDb25maWcsXG4gICAgICAgICAgICBiZXN0TW9tZW50LFxuICAgICAgICAgICAgc2NvcmVUb0JlYXQsXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgY3VycmVudFNjb3JlLFxuICAgICAgICAgICAgdmFsaWRGb3JtYXRGb3VuZCxcbiAgICAgICAgICAgIGJlc3RGb3JtYXRJc1ZhbGlkID0gZmFsc2UsXG4gICAgICAgICAgICBjb25maWdmTGVuID0gY29uZmlnLl9mLmxlbmd0aDtcblxuICAgICAgICBpZiAoY29uZmlnZkxlbiA9PT0gMCkge1xuICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaW52YWxpZEZvcm1hdCA9IHRydWU7XG4gICAgICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShOYU4pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvbmZpZ2ZMZW47IGkrKykge1xuICAgICAgICAgICAgY3VycmVudFNjb3JlID0gMDtcbiAgICAgICAgICAgIHZhbGlkRm9ybWF0Rm91bmQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRlbXBDb25maWcgPSBjb3B5Q29uZmlnKHt9LCBjb25maWcpO1xuICAgICAgICAgICAgaWYgKGNvbmZpZy5fdXNlVVRDICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0ZW1wQ29uZmlnLl91c2VVVEMgPSBjb25maWcuX3VzZVVUQztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRlbXBDb25maWcuX2YgPSBjb25maWcuX2ZbaV07XG4gICAgICAgICAgICBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0KHRlbXBDb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoaXNWYWxpZCh0ZW1wQ29uZmlnKSkge1xuICAgICAgICAgICAgICAgIHZhbGlkRm9ybWF0Rm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBhbnkgaW5wdXQgdGhhdCB3YXMgbm90IHBhcnNlZCBhZGQgYSBwZW5hbHR5IGZvciB0aGF0IGZvcm1hdFxuICAgICAgICAgICAgY3VycmVudFNjb3JlICs9IGdldFBhcnNpbmdGbGFncyh0ZW1wQ29uZmlnKS5jaGFyc0xlZnRPdmVyO1xuXG4gICAgICAgICAgICAvL29yIHRva2Vuc1xuICAgICAgICAgICAgY3VycmVudFNjb3JlICs9IGdldFBhcnNpbmdGbGFncyh0ZW1wQ29uZmlnKS51bnVzZWRUb2tlbnMubGVuZ3RoICogMTA7XG5cbiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyh0ZW1wQ29uZmlnKS5zY29yZSA9IGN1cnJlbnRTY29yZTtcblxuICAgICAgICAgICAgaWYgKCFiZXN0Rm9ybWF0SXNWYWxpZCkge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgc2NvcmVUb0JlYXQgPT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2NvcmUgPCBzY29yZVRvQmVhdCB8fFxuICAgICAgICAgICAgICAgICAgICB2YWxpZEZvcm1hdEZvdW5kXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHNjb3JlVG9CZWF0ID0gY3VycmVudFNjb3JlO1xuICAgICAgICAgICAgICAgICAgICBiZXN0TW9tZW50ID0gdGVtcENvbmZpZztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkRm9ybWF0Rm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlc3RGb3JtYXRJc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRTY29yZSA8IHNjb3JlVG9CZWF0KSB7XG4gICAgICAgICAgICAgICAgICAgIHNjb3JlVG9CZWF0ID0gY3VycmVudFNjb3JlO1xuICAgICAgICAgICAgICAgICAgICBiZXN0TW9tZW50ID0gdGVtcENvbmZpZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBleHRlbmQoY29uZmlnLCBiZXN0TW9tZW50IHx8IHRlbXBDb25maWcpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcuX2QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBpID0gbm9ybWFsaXplT2JqZWN0VW5pdHMoY29uZmlnLl9pKSxcbiAgICAgICAgICAgIGRheU9yRGF0ZSA9IGkuZGF5ID09PSB1bmRlZmluZWQgPyBpLmRhdGUgOiBpLmRheTtcbiAgICAgICAgY29uZmlnLl9hID0gbWFwKFxuICAgICAgICAgICAgW2kueWVhciwgaS5tb250aCwgZGF5T3JEYXRlLCBpLmhvdXIsIGkubWludXRlLCBpLnNlY29uZCwgaS5taWxsaXNlY29uZF0sXG4gICAgICAgICAgICBmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iaiAmJiBwYXJzZUludChvYmosIDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBjb25maWdGcm9tQXJyYXkoY29uZmlnKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjcmVhdGVGcm9tQ29uZmlnKGNvbmZpZykge1xuICAgICAgICB2YXIgcmVzID0gbmV3IE1vbWVudChjaGVja092ZXJmbG93KHByZXBhcmVDb25maWcoY29uZmlnKSkpO1xuICAgICAgICBpZiAocmVzLl9uZXh0RGF5KSB7XG4gICAgICAgICAgICAvLyBBZGRpbmcgaXMgc21hcnQgZW5vdWdoIGFyb3VuZCBEU1RcbiAgICAgICAgICAgIHJlcy5hZGQoMSwgJ2QnKTtcbiAgICAgICAgICAgIHJlcy5fbmV4dERheSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcHJlcGFyZUNvbmZpZyhjb25maWcpIHtcbiAgICAgICAgdmFyIGlucHV0ID0gY29uZmlnLl9pLFxuICAgICAgICAgICAgZm9ybWF0ID0gY29uZmlnLl9mO1xuXG4gICAgICAgIGNvbmZpZy5fbG9jYWxlID0gY29uZmlnLl9sb2NhbGUgfHwgZ2V0TG9jYWxlKGNvbmZpZy5fbCk7XG5cbiAgICAgICAgaWYgKGlucHV0ID09PSBudWxsIHx8IChmb3JtYXQgPT09IHVuZGVmaW5lZCAmJiBpbnB1dCA9PT0gJycpKSB7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlSW52YWxpZCh7IG51bGxJbnB1dDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25maWcuX2kgPSBpbnB1dCA9IGNvbmZpZy5fbG9jYWxlLnByZXBhcnNlKGlucHV0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc01vbWVudChpbnB1dCkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTW9tZW50KGNoZWNrT3ZlcmZsb3coaW5wdXQpKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RhdGUoaW5wdXQpKSB7XG4gICAgICAgICAgICBjb25maWcuX2QgPSBpbnB1dDtcbiAgICAgICAgfSBlbHNlIGlmIChpc0FycmF5KGZvcm1hdCkpIHtcbiAgICAgICAgICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWcpO1xuICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCkge1xuICAgICAgICAgICAgY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdChjb25maWcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uZmlnRnJvbUlucHV0KGNvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzVmFsaWQoY29uZmlnKSkge1xuICAgICAgICAgICAgY29uZmlnLl9kID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb25maWc7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY29uZmlnRnJvbUlucHV0KGNvbmZpZykge1xuICAgICAgICB2YXIgaW5wdXQgPSBjb25maWcuX2k7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZChpbnB1dCkpIHtcbiAgICAgICAgICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKGhvb2tzLm5vdygpKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RhdGUoaW5wdXQpKSB7XG4gICAgICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShpbnB1dC52YWx1ZU9mKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbmZpZ0Zyb21TdHJpbmcoY29uZmlnKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0FycmF5KGlucHV0KSkge1xuICAgICAgICAgICAgY29uZmlnLl9hID0gbWFwKGlucHV0LnNsaWNlKDApLCBmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KG9iaiwgMTApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25maWdGcm9tQXJyYXkoY29uZmlnKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc09iamVjdChpbnB1dCkpIHtcbiAgICAgICAgICAgIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc051bWJlcihpbnB1dCkpIHtcbiAgICAgICAgICAgIC8vIGZyb20gbWlsbGlzZWNvbmRzXG4gICAgICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShpbnB1dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBob29rcy5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjayhjb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY3JlYXRlTG9jYWxPclVUQyhpbnB1dCwgZm9ybWF0LCBsb2NhbGUsIHN0cmljdCwgaXNVVEMpIHtcbiAgICAgICAgdmFyIGMgPSB7fTtcblxuICAgICAgICBpZiAoZm9ybWF0ID09PSB0cnVlIHx8IGZvcm1hdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHN0cmljdCA9IGZvcm1hdDtcbiAgICAgICAgICAgIGZvcm1hdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsb2NhbGUgPT09IHRydWUgfHwgbG9jYWxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgc3RyaWN0ID0gbG9jYWxlO1xuICAgICAgICAgICAgbG9jYWxlID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGlzT2JqZWN0KGlucHV0KSAmJiBpc09iamVjdEVtcHR5KGlucHV0KSkgfHxcbiAgICAgICAgICAgIChpc0FycmF5KGlucHV0KSAmJiBpbnB1dC5sZW5ndGggPT09IDApXG4gICAgICAgICkge1xuICAgICAgICAgICAgaW5wdXQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gb2JqZWN0IGNvbnN0cnVjdGlvbiBtdXN0IGJlIGRvbmUgdGhpcyB3YXkuXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8xNDIzXG4gICAgICAgIGMuX2lzQU1vbWVudE9iamVjdCA9IHRydWU7XG4gICAgICAgIGMuX3VzZVVUQyA9IGMuX2lzVVRDID0gaXNVVEM7XG4gICAgICAgIGMuX2wgPSBsb2NhbGU7XG4gICAgICAgIGMuX2kgPSBpbnB1dDtcbiAgICAgICAgYy5fZiA9IGZvcm1hdDtcbiAgICAgICAgYy5fc3RyaWN0ID0gc3RyaWN0O1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVGcm9tQ29uZmlnKGMpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNyZWF0ZUxvY2FsKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0KSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVMb2NhbE9yVVRDKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgdmFyIHByb3RvdHlwZU1pbiA9IGRlcHJlY2F0ZShcbiAgICAgICAgICAgICdtb21lbnQoKS5taW4gaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5tYXggaW5zdGVhZC4gaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9taW4tbWF4LycsXG4gICAgICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIG90aGVyID0gY3JlYXRlTG9jYWwuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkKCkgJiYgb3RoZXIuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlciA8IHRoaXMgPyB0aGlzIDogb3RoZXI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUludmFsaWQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICAgIHByb3RvdHlwZU1heCA9IGRlcHJlY2F0ZShcbiAgICAgICAgICAgICdtb21lbnQoKS5tYXggaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5taW4gaW5zdGVhZC4gaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9taW4tbWF4LycsXG4gICAgICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIG90aGVyID0gY3JlYXRlTG9jYWwuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkKCkgJiYgb3RoZXIuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlciA+IHRoaXMgPyB0aGlzIDogb3RoZXI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUludmFsaWQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAvLyBQaWNrIGEgbW9tZW50IG0gZnJvbSBtb21lbnRzIHNvIHRoYXQgbVtmbl0ob3RoZXIpIGlzIHRydWUgZm9yIGFsbFxuICAgIC8vIG90aGVyLiBUaGlzIHJlbGllcyBvbiB0aGUgZnVuY3Rpb24gZm4gdG8gYmUgdHJhbnNpdGl2ZS5cbiAgICAvL1xuICAgIC8vIG1vbWVudHMgc2hvdWxkIGVpdGhlciBiZSBhbiBhcnJheSBvZiBtb21lbnQgb2JqZWN0cyBvciBhbiBhcnJheSwgd2hvc2VcbiAgICAvLyBmaXJzdCBlbGVtZW50IGlzIGFuIGFycmF5IG9mIG1vbWVudCBvYmplY3RzLlxuICAgIGZ1bmN0aW9uIHBpY2tCeShmbiwgbW9tZW50cykge1xuICAgICAgICB2YXIgcmVzLCBpO1xuICAgICAgICBpZiAobW9tZW50cy5sZW5ndGggPT09IDEgJiYgaXNBcnJheShtb21lbnRzWzBdKSkge1xuICAgICAgICAgICAgbW9tZW50cyA9IG1vbWVudHNbMF07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtb21lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUxvY2FsKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzID0gbW9tZW50c1swXTtcbiAgICAgICAgZm9yIChpID0gMTsgaSA8IG1vbWVudHMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgIGlmICghbW9tZW50c1tpXS5pc1ZhbGlkKCkgfHwgbW9tZW50c1tpXVtmbl0ocmVzKSkge1xuICAgICAgICAgICAgICAgIHJlcyA9IG1vbWVudHNbaV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBVc2UgW10uc29ydCBpbnN0ZWFkP1xuICAgIGZ1bmN0aW9uIG1pbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCk7XG5cbiAgICAgICAgcmV0dXJuIHBpY2tCeSgnaXNCZWZvcmUnLCBhcmdzKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYXgoKSB7XG4gICAgICAgIHZhciBhcmdzID0gW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDApO1xuXG4gICAgICAgIHJldHVybiBwaWNrQnkoJ2lzQWZ0ZXInLCBhcmdzKTtcbiAgICB9XG5cbiAgICB2YXIgbm93ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gRGF0ZS5ub3cgPyBEYXRlLm5vdygpIDogK25ldyBEYXRlKCk7XG4gICAgfTtcblxuICAgIHZhciBvcmRlcmluZyA9IFtcbiAgICAgICAgJ3llYXInLFxuICAgICAgICAncXVhcnRlcicsXG4gICAgICAgICdtb250aCcsXG4gICAgICAgICd3ZWVrJyxcbiAgICAgICAgJ2RheScsXG4gICAgICAgICdob3VyJyxcbiAgICAgICAgJ21pbnV0ZScsXG4gICAgICAgICdzZWNvbmQnLFxuICAgICAgICAnbWlsbGlzZWNvbmQnLFxuICAgIF07XG5cbiAgICBmdW5jdGlvbiBpc0R1cmF0aW9uVmFsaWQobSkge1xuICAgICAgICB2YXIga2V5LFxuICAgICAgICAgICAgdW5pdEhhc0RlY2ltYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGksXG4gICAgICAgICAgICBvcmRlckxlbiA9IG9yZGVyaW5nLmxlbmd0aDtcbiAgICAgICAgZm9yIChrZXkgaW4gbSkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGhhc093blByb3AobSwga2V5KSAmJlxuICAgICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgICAgIGluZGV4T2YuY2FsbChvcmRlcmluZywga2V5KSAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgKG1ba2V5XSA9PSBudWxsIHx8ICFpc05hTihtW2tleV0pKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBvcmRlckxlbjsgKytpKSB7XG4gICAgICAgICAgICBpZiAobVtvcmRlcmluZ1tpXV0pIHtcbiAgICAgICAgICAgICAgICBpZiAodW5pdEhhc0RlY2ltYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBvbmx5IGFsbG93IG5vbi1pbnRlZ2VycyBmb3Igc21hbGxlc3QgdW5pdFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGFyc2VGbG9hdChtW29yZGVyaW5nW2ldXSkgIT09IHRvSW50KG1bb3JkZXJpbmdbaV1dKSkge1xuICAgICAgICAgICAgICAgICAgICB1bml0SGFzRGVjaW1hbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNWYWxpZCQxKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNWYWxpZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjcmVhdGVJbnZhbGlkJDEoKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVEdXJhdGlvbihOYU4pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIER1cmF0aW9uKGR1cmF0aW9uKSB7XG4gICAgICAgIHZhciBub3JtYWxpemVkSW5wdXQgPSBub3JtYWxpemVPYmplY3RVbml0cyhkdXJhdGlvbiksXG4gICAgICAgICAgICB5ZWFycyA9IG5vcm1hbGl6ZWRJbnB1dC55ZWFyIHx8IDAsXG4gICAgICAgICAgICBxdWFydGVycyA9IG5vcm1hbGl6ZWRJbnB1dC5xdWFydGVyIHx8IDAsXG4gICAgICAgICAgICBtb250aHMgPSBub3JtYWxpemVkSW5wdXQubW9udGggfHwgMCxcbiAgICAgICAgICAgIHdlZWtzID0gbm9ybWFsaXplZElucHV0LndlZWsgfHwgbm9ybWFsaXplZElucHV0Lmlzb1dlZWsgfHwgMCxcbiAgICAgICAgICAgIGRheXMgPSBub3JtYWxpemVkSW5wdXQuZGF5IHx8IDAsXG4gICAgICAgICAgICBob3VycyA9IG5vcm1hbGl6ZWRJbnB1dC5ob3VyIHx8IDAsXG4gICAgICAgICAgICBtaW51dGVzID0gbm9ybWFsaXplZElucHV0Lm1pbnV0ZSB8fCAwLFxuICAgICAgICAgICAgc2Vjb25kcyA9IG5vcm1hbGl6ZWRJbnB1dC5zZWNvbmQgfHwgMCxcbiAgICAgICAgICAgIG1pbGxpc2Vjb25kcyA9IG5vcm1hbGl6ZWRJbnB1dC5taWxsaXNlY29uZCB8fCAwO1xuXG4gICAgICAgIHRoaXMuX2lzVmFsaWQgPSBpc0R1cmF0aW9uVmFsaWQobm9ybWFsaXplZElucHV0KTtcblxuICAgICAgICAvLyByZXByZXNlbnRhdGlvbiBmb3IgZGF0ZUFkZFJlbW92ZVxuICAgICAgICB0aGlzLl9taWxsaXNlY29uZHMgPVxuICAgICAgICAgICAgK21pbGxpc2Vjb25kcyArXG4gICAgICAgICAgICBzZWNvbmRzICogMWUzICsgLy8gMTAwMFxuICAgICAgICAgICAgbWludXRlcyAqIDZlNCArIC8vIDEwMDAgKiA2MFxuICAgICAgICAgICAgaG91cnMgKiAxMDAwICogNjAgKiA2MDsgLy91c2luZyAxMDAwICogNjAgKiA2MCBpbnN0ZWFkIG9mIDM2ZTUgdG8gYXZvaWQgZmxvYXRpbmcgcG9pbnQgcm91bmRpbmcgZXJyb3JzIGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8yOTc4XG4gICAgICAgIC8vIEJlY2F1c2Ugb2YgZGF0ZUFkZFJlbW92ZSB0cmVhdHMgMjQgaG91cnMgYXMgZGlmZmVyZW50IGZyb20gYVxuICAgICAgICAvLyBkYXkgd2hlbiB3b3JraW5nIGFyb3VuZCBEU1QsIHdlIG5lZWQgdG8gc3RvcmUgdGhlbSBzZXBhcmF0ZWx5XG4gICAgICAgIHRoaXMuX2RheXMgPSArZGF5cyArIHdlZWtzICogNztcbiAgICAgICAgLy8gSXQgaXMgaW1wb3NzaWJsZSB0byB0cmFuc2xhdGUgbW9udGhzIGludG8gZGF5cyB3aXRob3V0IGtub3dpbmdcbiAgICAgICAgLy8gd2hpY2ggbW9udGhzIHlvdSBhcmUgYXJlIHRhbGtpbmcgYWJvdXQsIHNvIHdlIGhhdmUgdG8gc3RvcmVcbiAgICAgICAgLy8gaXQgc2VwYXJhdGVseS5cbiAgICAgICAgdGhpcy5fbW9udGhzID0gK21vbnRocyArIHF1YXJ0ZXJzICogMyArIHllYXJzICogMTI7XG5cbiAgICAgICAgdGhpcy5fZGF0YSA9IHt9O1xuXG4gICAgICAgIHRoaXMuX2xvY2FsZSA9IGdldExvY2FsZSgpO1xuXG4gICAgICAgIHRoaXMuX2J1YmJsZSgpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzRHVyYXRpb24ob2JqKSB7XG4gICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEdXJhdGlvbjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhYnNSb3VuZChudW1iZXIpIHtcbiAgICAgICAgaWYgKG51bWJlciA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLnJvdW5kKC0xICogbnVtYmVyKSAqIC0xO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgucm91bmQobnVtYmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNvbXBhcmUgdHdvIGFycmF5cywgcmV0dXJuIHRoZSBudW1iZXIgb2YgZGlmZmVyZW5jZXNcbiAgICBmdW5jdGlvbiBjb21wYXJlQXJyYXlzKGFycmF5MSwgYXJyYXkyLCBkb250Q29udmVydCkge1xuICAgICAgICB2YXIgbGVuID0gTWF0aC5taW4oYXJyYXkxLmxlbmd0aCwgYXJyYXkyLmxlbmd0aCksXG4gICAgICAgICAgICBsZW5ndGhEaWZmID0gTWF0aC5hYnMoYXJyYXkxLmxlbmd0aCAtIGFycmF5Mi5sZW5ndGgpLFxuICAgICAgICAgICAgZGlmZnMgPSAwLFxuICAgICAgICAgICAgaTtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKGRvbnRDb252ZXJ0ICYmIGFycmF5MVtpXSAhPT0gYXJyYXkyW2ldKSB8fFxuICAgICAgICAgICAgICAgICghZG9udENvbnZlcnQgJiYgdG9JbnQoYXJyYXkxW2ldKSAhPT0gdG9JbnQoYXJyYXkyW2ldKSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGRpZmZzKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRpZmZzICsgbGVuZ3RoRGlmZjtcbiAgICB9XG5cbiAgICAvLyBGT1JNQVRUSU5HXG5cbiAgICBmdW5jdGlvbiBvZmZzZXQodG9rZW4sIHNlcGFyYXRvcikge1xuICAgICAgICBhZGRGb3JtYXRUb2tlbih0b2tlbiwgMCwgMCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIG9mZnNldCA9IHRoaXMudXRjT2Zmc2V0KCksXG4gICAgICAgICAgICAgICAgc2lnbiA9ICcrJztcbiAgICAgICAgICAgIGlmIChvZmZzZXQgPCAwKSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0ID0gLW9mZnNldDtcbiAgICAgICAgICAgICAgICBzaWduID0gJy0nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBzaWduICtcbiAgICAgICAgICAgICAgICB6ZXJvRmlsbCh+fihvZmZzZXQgLyA2MCksIDIpICtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3IgK1xuICAgICAgICAgICAgICAgIHplcm9GaWxsKH5+b2Zmc2V0ICUgNjAsIDIpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvZmZzZXQoJ1onLCAnOicpO1xuICAgIG9mZnNldCgnWlonLCAnJyk7XG5cbiAgICAvLyBQQVJTSU5HXG5cbiAgICBhZGRSZWdleFRva2VuKCdaJywgbWF0Y2hTaG9ydE9mZnNldCk7XG4gICAgYWRkUmVnZXhUb2tlbignWlonLCBtYXRjaFNob3J0T2Zmc2V0KTtcbiAgICBhZGRQYXJzZVRva2VuKFsnWicsICdaWiddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHtcbiAgICAgICAgY29uZmlnLl91c2VVVEMgPSB0cnVlO1xuICAgICAgICBjb25maWcuX3R6bSA9IG9mZnNldEZyb21TdHJpbmcobWF0Y2hTaG9ydE9mZnNldCwgaW5wdXQpO1xuICAgIH0pO1xuXG4gICAgLy8gSEVMUEVSU1xuXG4gICAgLy8gdGltZXpvbmUgY2h1bmtlclxuICAgIC8vICcrMTA6MDAnID4gWycxMCcsICAnMDAnXVxuICAgIC8vICctMTUzMCcgID4gWyctMTUnLCAnMzAnXVxuICAgIHZhciBjaHVua09mZnNldCA9IC8oW1xcK1xcLV18XFxkXFxkKS9naTtcblxuICAgIGZ1bmN0aW9uIG9mZnNldEZyb21TdHJpbmcobWF0Y2hlciwgc3RyaW5nKSB7XG4gICAgICAgIHZhciBtYXRjaGVzID0gKHN0cmluZyB8fCAnJykubWF0Y2gobWF0Y2hlciksXG4gICAgICAgICAgICBjaHVuayxcbiAgICAgICAgICAgIHBhcnRzLFxuICAgICAgICAgICAgbWludXRlcztcblxuICAgICAgICBpZiAobWF0Y2hlcyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjaHVuayA9IG1hdGNoZXNbbWF0Y2hlcy5sZW5ndGggLSAxXSB8fCBbXTtcbiAgICAgICAgcGFydHMgPSAoY2h1bmsgKyAnJykubWF0Y2goY2h1bmtPZmZzZXQpIHx8IFsnLScsIDAsIDBdO1xuICAgICAgICBtaW51dGVzID0gKyhwYXJ0c1sxXSAqIDYwKSArIHRvSW50KHBhcnRzWzJdKTtcblxuICAgICAgICByZXR1cm4gbWludXRlcyA9PT0gMCA/IDAgOiBwYXJ0c1swXSA9PT0gJysnID8gbWludXRlcyA6IC1taW51dGVzO1xuICAgIH1cblxuICAgIC8vIFJldHVybiBhIG1vbWVudCBmcm9tIGlucHV0LCB0aGF0IGlzIGxvY2FsL3V0Yy96b25lIGVxdWl2YWxlbnQgdG8gbW9kZWwuXG4gICAgZnVuY3Rpb24gY2xvbmVXaXRoT2Zmc2V0KGlucHV0LCBtb2RlbCkge1xuICAgICAgICB2YXIgcmVzLCBkaWZmO1xuICAgICAgICBpZiAobW9kZWwuX2lzVVRDKSB7XG4gICAgICAgICAgICByZXMgPSBtb2RlbC5jbG9uZSgpO1xuICAgICAgICAgICAgZGlmZiA9XG4gICAgICAgICAgICAgICAgKGlzTW9tZW50KGlucHV0KSB8fCBpc0RhdGUoaW5wdXQpXG4gICAgICAgICAgICAgICAgICAgID8gaW5wdXQudmFsdWVPZigpXG4gICAgICAgICAgICAgICAgICAgIDogY3JlYXRlTG9jYWwoaW5wdXQpLnZhbHVlT2YoKSkgLSByZXMudmFsdWVPZigpO1xuICAgICAgICAgICAgLy8gVXNlIGxvdy1sZXZlbCBhcGksIGJlY2F1c2UgdGhpcyBmbiBpcyBsb3ctbGV2ZWwgYXBpLlxuICAgICAgICAgICAgcmVzLl9kLnNldFRpbWUocmVzLl9kLnZhbHVlT2YoKSArIGRpZmYpO1xuICAgICAgICAgICAgaG9va3MudXBkYXRlT2Zmc2V0KHJlcywgZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVMb2NhbChpbnB1dCkubG9jYWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldERhdGVPZmZzZXQobSkge1xuICAgICAgICAvLyBPbiBGaXJlZm94LjI0IERhdGUjZ2V0VGltZXpvbmVPZmZzZXQgcmV0dXJucyBhIGZsb2F0aW5nIHBvaW50LlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9wdWxsLzE4NzFcbiAgICAgICAgcmV0dXJuIC1NYXRoLnJvdW5kKG0uX2QuZ2V0VGltZXpvbmVPZmZzZXQoKSk7XG4gICAgfVxuXG4gICAgLy8gSE9PS1NcblxuICAgIC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgYSBtb21lbnQgaXMgbXV0YXRlZC5cbiAgICAvLyBJdCBpcyBpbnRlbmRlZCB0byBrZWVwIHRoZSBvZmZzZXQgaW4gc3luYyB3aXRoIHRoZSB0aW1lem9uZS5cbiAgICBob29rcy51cGRhdGVPZmZzZXQgPSBmdW5jdGlvbiAoKSB7fTtcblxuICAgIC8vIE1PTUVOVFNcblxuICAgIC8vIGtlZXBMb2NhbFRpbWUgPSB0cnVlIG1lYW5zIG9ubHkgY2hhbmdlIHRoZSB0aW1lem9uZSwgd2l0aG91dFxuICAgIC8vIGFmZmVjdGluZyB0aGUgbG9jYWwgaG91ci4gU28gNTozMToyNiArMDMwMCAtLVt1dGNPZmZzZXQoMiwgdHJ1ZSldLS0+XG4gICAgLy8gNTozMToyNiArMDIwMCBJdCBpcyBwb3NzaWJsZSB0aGF0IDU6MzE6MjYgZG9lc24ndCBleGlzdCB3aXRoIG9mZnNldFxuICAgIC8vICswMjAwLCBzbyB3ZSBhZGp1c3QgdGhlIHRpbWUgYXMgbmVlZGVkLCB0byBiZSB2YWxpZC5cbiAgICAvL1xuICAgIC8vIEtlZXBpbmcgdGhlIHRpbWUgYWN0dWFsbHkgYWRkcy9zdWJ0cmFjdHMgKG9uZSBob3VyKVxuICAgIC8vIGZyb20gdGhlIGFjdHVhbCByZXByZXNlbnRlZCB0aW1lLiBUaGF0IGlzIHdoeSB3ZSBjYWxsIHVwZGF0ZU9mZnNldFxuICAgIC8vIGEgc2Vjb25kIHRpbWUuIEluIGNhc2UgaXQgd2FudHMgdXMgdG8gY2hhbmdlIHRoZSBvZmZzZXQgYWdhaW5cbiAgICAvLyBfY2hhbmdlSW5Qcm9ncmVzcyA9PSB0cnVlIGNhc2UsIHRoZW4gd2UgaGF2ZSB0byBhZGp1c3QsIGJlY2F1c2VcbiAgICAvLyB0aGVyZSBpcyBubyBzdWNoIHRpbWUgaW4gdGhlIGdpdmVuIHRpbWV6b25lLlxuICAgIGZ1bmN0aW9uIGdldFNldE9mZnNldChpbnB1dCwga2VlcExvY2FsVGltZSwga2VlcE1pbnV0ZXMpIHtcbiAgICAgICAgdmFyIG9mZnNldCA9IHRoaXMuX29mZnNldCB8fCAwLFxuICAgICAgICAgICAgbG9jYWxBZGp1c3Q7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnB1dCAhPSBudWxsID8gdGhpcyA6IE5hTjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXQgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpbnB1dCA9IG9mZnNldEZyb21TdHJpbmcobWF0Y2hTaG9ydE9mZnNldCwgaW5wdXQpO1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKE1hdGguYWJzKGlucHV0KSA8IDE2ICYmICFrZWVwTWludXRlcykge1xuICAgICAgICAgICAgICAgIGlucHV0ID0gaW5wdXQgKiA2MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5faXNVVEMgJiYga2VlcExvY2FsVGltZSkge1xuICAgICAgICAgICAgICAgIGxvY2FsQWRqdXN0ID0gZ2V0RGF0ZU9mZnNldCh0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX29mZnNldCA9IGlucHV0O1xuICAgICAgICAgICAgdGhpcy5faXNVVEMgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKGxvY2FsQWRqdXN0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZChsb2NhbEFkanVzdCwgJ20nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvZmZzZXQgIT09IGlucHV0KSB7XG4gICAgICAgICAgICAgICAgaWYgKCFrZWVwTG9jYWxUaW1lIHx8IHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkU3VidHJhY3QoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRHVyYXRpb24oaW5wdXQgLSBvZmZzZXQsICdtJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLl9jaGFuZ2VJblByb2dyZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBob29rcy51cGRhdGVPZmZzZXQodGhpcywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3MgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2lzVVRDID8gb2Zmc2V0IDogZ2V0RGF0ZU9mZnNldCh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFNldFpvbmUoaW5wdXQsIGtlZXBMb2NhbFRpbWUpIHtcbiAgICAgICAgaWYgKGlucHV0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaW5wdXQgPSAtaW5wdXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXRjT2Zmc2V0KGlucHV0LCBrZWVwTG9jYWxUaW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gLXRoaXMudXRjT2Zmc2V0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXRPZmZzZXRUb1VUQyhrZWVwTG9jYWxUaW1lKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnV0Y09mZnNldCgwLCBrZWVwTG9jYWxUaW1lKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXRPZmZzZXRUb0xvY2FsKGtlZXBMb2NhbFRpbWUpIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzVVRDKSB7XG4gICAgICAgICAgICB0aGlzLnV0Y09mZnNldCgwLCBrZWVwTG9jYWxUaW1lKTtcbiAgICAgICAgICAgIHRoaXMuX2lzVVRDID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmIChrZWVwTG9jYWxUaW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJ0cmFjdChnZXREYXRlT2Zmc2V0KHRoaXMpLCAnbScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNldE9mZnNldFRvUGFyc2VkT2Zmc2V0KCkge1xuICAgICAgICBpZiAodGhpcy5fdHptICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudXRjT2Zmc2V0KHRoaXMuX3R6bSwgZmFsc2UsIHRydWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLl9pID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdmFyIHRab25lID0gb2Zmc2V0RnJvbVN0cmluZyhtYXRjaE9mZnNldCwgdGhpcy5faSk7XG4gICAgICAgICAgICBpZiAodFpvbmUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMudXRjT2Zmc2V0KHRab25lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy51dGNPZmZzZXQoMCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFzQWxpZ25lZEhvdXJPZmZzZXQoaW5wdXQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0ID0gaW5wdXQgPyBjcmVhdGVMb2NhbChpbnB1dCkudXRjT2Zmc2V0KCkgOiAwO1xuXG4gICAgICAgIHJldHVybiAodGhpcy51dGNPZmZzZXQoKSAtIGlucHV0KSAlIDYwID09PSAwO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzRGF5bGlnaHRTYXZpbmdUaW1lKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy51dGNPZmZzZXQoKSA+IHRoaXMuY2xvbmUoKS5tb250aCgwKS51dGNPZmZzZXQoKSB8fFxuICAgICAgICAgICAgdGhpcy51dGNPZmZzZXQoKSA+IHRoaXMuY2xvbmUoKS5tb250aCg1KS51dGNPZmZzZXQoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzRGF5bGlnaHRTYXZpbmdUaW1lU2hpZnRlZCgpIHtcbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZCh0aGlzLl9pc0RTVFNoaWZ0ZWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5faXNEU1RTaGlmdGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGMgPSB7fSxcbiAgICAgICAgICAgIG90aGVyO1xuXG4gICAgICAgIGNvcHlDb25maWcoYywgdGhpcyk7XG4gICAgICAgIGMgPSBwcmVwYXJlQ29uZmlnKGMpO1xuXG4gICAgICAgIGlmIChjLl9hKSB7XG4gICAgICAgICAgICBvdGhlciA9IGMuX2lzVVRDID8gY3JlYXRlVVRDKGMuX2EpIDogY3JlYXRlTG9jYWwoYy5fYSk7XG4gICAgICAgICAgICB0aGlzLl9pc0RTVFNoaWZ0ZWQgPVxuICAgICAgICAgICAgICAgIHRoaXMuaXNWYWxpZCgpICYmIGNvbXBhcmVBcnJheXMoYy5fYSwgb3RoZXIudG9BcnJheSgpKSA+IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc0RTVFNoaWZ0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0RTVFNoaWZ0ZWQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNMb2NhbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpID8gIXRoaXMuX2lzVVRDIDogZmFsc2U7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNVdGNPZmZzZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSA/IHRoaXMuX2lzVVRDIDogZmFsc2U7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNVdGMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSA/IHRoaXMuX2lzVVRDICYmIHRoaXMuX29mZnNldCA9PT0gMCA6IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIEFTUC5ORVQganNvbiBkYXRlIGZvcm1hdCByZWdleFxuICAgIHZhciBhc3BOZXRSZWdleCA9IC9eKC18XFwrKT8oPzooXFxkKilbLiBdKT8oXFxkKyk6KFxcZCspKD86OihcXGQrKShcXC5cXGQqKT8pPyQvLFxuICAgICAgICAvLyBmcm9tIGh0dHA6Ly9kb2NzLmNsb3N1cmUtbGlicmFyeS5nb29nbGVjb2RlLmNvbS9naXQvY2xvc3VyZV9nb29nX2RhdGVfZGF0ZS5qcy5zb3VyY2UuaHRtbFxuICAgICAgICAvLyBzb21ld2hhdCBtb3JlIGluIGxpbmUgd2l0aCA0LjQuMy4yIDIwMDQgc3BlYywgYnV0IGFsbG93cyBkZWNpbWFsIGFueXdoZXJlXG4gICAgICAgIC8vIGFuZCBmdXJ0aGVyIG1vZGlmaWVkIHRvIGFsbG93IGZvciBzdHJpbmdzIGNvbnRhaW5pbmcgYm90aCB3ZWVrIGFuZCBkYXlcbiAgICAgICAgaXNvUmVnZXggPVxuICAgICAgICAgICAgL14oLXxcXCspP1AoPzooWy0rXT9bMC05LC5dKilZKT8oPzooWy0rXT9bMC05LC5dKilNKT8oPzooWy0rXT9bMC05LC5dKilXKT8oPzooWy0rXT9bMC05LC5dKilEKT8oPzpUKD86KFstK10/WzAtOSwuXSopSCk/KD86KFstK10/WzAtOSwuXSopTSk/KD86KFstK10/WzAtOSwuXSopUyk/KT8kLztcblxuICAgIGZ1bmN0aW9uIGNyZWF0ZUR1cmF0aW9uKGlucHV0LCBrZXkpIHtcbiAgICAgICAgdmFyIGR1cmF0aW9uID0gaW5wdXQsXG4gICAgICAgICAgICAvLyBtYXRjaGluZyBhZ2FpbnN0IHJlZ2V4cCBpcyBleHBlbnNpdmUsIGRvIGl0IG9uIGRlbWFuZFxuICAgICAgICAgICAgbWF0Y2ggPSBudWxsLFxuICAgICAgICAgICAgc2lnbixcbiAgICAgICAgICAgIHJldCxcbiAgICAgICAgICAgIGRpZmZSZXM7XG5cbiAgICAgICAgaWYgKGlzRHVyYXRpb24oaW5wdXQpKSB7XG4gICAgICAgICAgICBkdXJhdGlvbiA9IHtcbiAgICAgICAgICAgICAgICBtczogaW5wdXQuX21pbGxpc2Vjb25kcyxcbiAgICAgICAgICAgICAgICBkOiBpbnB1dC5fZGF5cyxcbiAgICAgICAgICAgICAgICBNOiBpbnB1dC5fbW9udGhzLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChpc051bWJlcihpbnB1dCkgfHwgIWlzTmFOKCtpbnB1dCkpIHtcbiAgICAgICAgICAgIGR1cmF0aW9uID0ge307XG4gICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgZHVyYXRpb25ba2V5XSA9ICtpbnB1dDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZHVyYXRpb24ubWlsbGlzZWNvbmRzID0gK2lucHV0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKChtYXRjaCA9IGFzcE5ldFJlZ2V4LmV4ZWMoaW5wdXQpKSkge1xuICAgICAgICAgICAgc2lnbiA9IG1hdGNoWzFdID09PSAnLScgPyAtMSA6IDE7XG4gICAgICAgICAgICBkdXJhdGlvbiA9IHtcbiAgICAgICAgICAgICAgICB5OiAwLFxuICAgICAgICAgICAgICAgIGQ6IHRvSW50KG1hdGNoW0RBVEVdKSAqIHNpZ24sXG4gICAgICAgICAgICAgICAgaDogdG9JbnQobWF0Y2hbSE9VUl0pICogc2lnbixcbiAgICAgICAgICAgICAgICBtOiB0b0ludChtYXRjaFtNSU5VVEVdKSAqIHNpZ24sXG4gICAgICAgICAgICAgICAgczogdG9JbnQobWF0Y2hbU0VDT05EXSkgKiBzaWduLFxuICAgICAgICAgICAgICAgIG1zOiB0b0ludChhYnNSb3VuZChtYXRjaFtNSUxMSVNFQ09ORF0gKiAxMDAwKSkgKiBzaWduLCAvLyB0aGUgbWlsbGlzZWNvbmQgZGVjaW1hbCBwb2ludCBpcyBpbmNsdWRlZCBpbiB0aGUgbWF0Y2hcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoKG1hdGNoID0gaXNvUmVnZXguZXhlYyhpbnB1dCkpKSB7XG4gICAgICAgICAgICBzaWduID0gbWF0Y2hbMV0gPT09ICctJyA/IC0xIDogMTtcbiAgICAgICAgICAgIGR1cmF0aW9uID0ge1xuICAgICAgICAgICAgICAgIHk6IHBhcnNlSXNvKG1hdGNoWzJdLCBzaWduKSxcbiAgICAgICAgICAgICAgICBNOiBwYXJzZUlzbyhtYXRjaFszXSwgc2lnbiksXG4gICAgICAgICAgICAgICAgdzogcGFyc2VJc28obWF0Y2hbNF0sIHNpZ24pLFxuICAgICAgICAgICAgICAgIGQ6IHBhcnNlSXNvKG1hdGNoWzVdLCBzaWduKSxcbiAgICAgICAgICAgICAgICBoOiBwYXJzZUlzbyhtYXRjaFs2XSwgc2lnbiksXG4gICAgICAgICAgICAgICAgbTogcGFyc2VJc28obWF0Y2hbN10sIHNpZ24pLFxuICAgICAgICAgICAgICAgIHM6IHBhcnNlSXNvKG1hdGNoWzhdLCBzaWduKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb24gPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gY2hlY2tzIGZvciBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAgICAgICAgZHVyYXRpb24gPSB7fTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHR5cGVvZiBkdXJhdGlvbiA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICgnZnJvbScgaW4gZHVyYXRpb24gfHwgJ3RvJyBpbiBkdXJhdGlvbilcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBkaWZmUmVzID0gbW9tZW50c0RpZmZlcmVuY2UoXG4gICAgICAgICAgICAgICAgY3JlYXRlTG9jYWwoZHVyYXRpb24uZnJvbSksXG4gICAgICAgICAgICAgICAgY3JlYXRlTG9jYWwoZHVyYXRpb24udG8pXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBkdXJhdGlvbiA9IHt9O1xuICAgICAgICAgICAgZHVyYXRpb24ubXMgPSBkaWZmUmVzLm1pbGxpc2Vjb25kcztcbiAgICAgICAgICAgIGR1cmF0aW9uLk0gPSBkaWZmUmVzLm1vbnRocztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldCA9IG5ldyBEdXJhdGlvbihkdXJhdGlvbik7XG5cbiAgICAgICAgaWYgKGlzRHVyYXRpb24oaW5wdXQpICYmIGhhc093blByb3AoaW5wdXQsICdfbG9jYWxlJykpIHtcbiAgICAgICAgICAgIHJldC5fbG9jYWxlID0gaW5wdXQuX2xvY2FsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0R1cmF0aW9uKGlucHV0KSAmJiBoYXNPd25Qcm9wKGlucHV0LCAnX2lzVmFsaWQnKSkge1xuICAgICAgICAgICAgcmV0Ll9pc1ZhbGlkID0gaW5wdXQuX2lzVmFsaWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIGNyZWF0ZUR1cmF0aW9uLmZuID0gRHVyYXRpb24ucHJvdG90eXBlO1xuICAgIGNyZWF0ZUR1cmF0aW9uLmludmFsaWQgPSBjcmVhdGVJbnZhbGlkJDE7XG5cbiAgICBmdW5jdGlvbiBwYXJzZUlzbyhpbnAsIHNpZ24pIHtcbiAgICAgICAgLy8gV2UnZCBub3JtYWxseSB1c2Ugfn5pbnAgZm9yIHRoaXMsIGJ1dCB1bmZvcnR1bmF0ZWx5IGl0IGFsc29cbiAgICAgICAgLy8gY29udmVydHMgZmxvYXRzIHRvIGludHMuXG4gICAgICAgIC8vIGlucCBtYXkgYmUgdW5kZWZpbmVkLCBzbyBjYXJlZnVsIGNhbGxpbmcgcmVwbGFjZSBvbiBpdC5cbiAgICAgICAgdmFyIHJlcyA9IGlucCAmJiBwYXJzZUZsb2F0KGlucC5yZXBsYWNlKCcsJywgJy4nKSk7XG4gICAgICAgIC8vIGFwcGx5IHNpZ24gd2hpbGUgd2UncmUgYXQgaXRcbiAgICAgICAgcmV0dXJuIChpc05hTihyZXMpID8gMCA6IHJlcykgKiBzaWduO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHBvc2l0aXZlTW9tZW50c0RpZmZlcmVuY2UoYmFzZSwgb3RoZXIpIHtcbiAgICAgICAgdmFyIHJlcyA9IHt9O1xuXG4gICAgICAgIHJlcy5tb250aHMgPVxuICAgICAgICAgICAgb3RoZXIubW9udGgoKSAtIGJhc2UubW9udGgoKSArIChvdGhlci55ZWFyKCkgLSBiYXNlLnllYXIoKSkgKiAxMjtcbiAgICAgICAgaWYgKGJhc2UuY2xvbmUoKS5hZGQocmVzLm1vbnRocywgJ00nKS5pc0FmdGVyKG90aGVyKSkge1xuICAgICAgICAgICAgLS1yZXMubW9udGhzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzLm1pbGxpc2Vjb25kcyA9ICtvdGhlciAtICtiYXNlLmNsb25lKCkuYWRkKHJlcy5tb250aHMsICdNJyk7XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtb21lbnRzRGlmZmVyZW5jZShiYXNlLCBvdGhlcikge1xuICAgICAgICB2YXIgcmVzO1xuICAgICAgICBpZiAoIShiYXNlLmlzVmFsaWQoKSAmJiBvdGhlci5pc1ZhbGlkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4geyBtaWxsaXNlY29uZHM6IDAsIG1vbnRoczogMCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgb3RoZXIgPSBjbG9uZVdpdGhPZmZzZXQob3RoZXIsIGJhc2UpO1xuICAgICAgICBpZiAoYmFzZS5pc0JlZm9yZShvdGhlcikpIHtcbiAgICAgICAgICAgIHJlcyA9IHBvc2l0aXZlTW9tZW50c0RpZmZlcmVuY2UoYmFzZSwgb3RoZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzID0gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShvdGhlciwgYmFzZSk7XG4gICAgICAgICAgICByZXMubWlsbGlzZWNvbmRzID0gLXJlcy5taWxsaXNlY29uZHM7XG4gICAgICAgICAgICByZXMubW9udGhzID0gLXJlcy5tb250aHM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIC8vIFRPRE86IHJlbW92ZSAnbmFtZScgYXJnIGFmdGVyIGRlcHJlY2F0aW9uIGlzIHJlbW92ZWRcbiAgICBmdW5jdGlvbiBjcmVhdGVBZGRlcihkaXJlY3Rpb24sIG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWwsIHBlcmlvZCkge1xuICAgICAgICAgICAgdmFyIGR1ciwgdG1wO1xuICAgICAgICAgICAgLy9pbnZlcnQgdGhlIGFyZ3VtZW50cywgYnV0IGNvbXBsYWluIGFib3V0IGl0XG4gICAgICAgICAgICBpZiAocGVyaW9kICE9PSBudWxsICYmICFpc05hTigrcGVyaW9kKSkge1xuICAgICAgICAgICAgICAgIGRlcHJlY2F0ZVNpbXBsZShcbiAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgJ21vbWVudCgpLicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnKHBlcmlvZCwgbnVtYmVyKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIG1vbWVudCgpLicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnKG51bWJlciwgcGVyaW9kKS4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAnU2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvYWRkLWludmVydGVkLXBhcmFtLyBmb3IgbW9yZSBpbmZvLidcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRtcCA9IHZhbDtcbiAgICAgICAgICAgICAgICB2YWwgPSBwZXJpb2Q7XG4gICAgICAgICAgICAgICAgcGVyaW9kID0gdG1wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkdXIgPSBjcmVhdGVEdXJhdGlvbih2YWwsIHBlcmlvZCk7XG4gICAgICAgICAgICBhZGRTdWJ0cmFjdCh0aGlzLCBkdXIsIGRpcmVjdGlvbik7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhZGRTdWJ0cmFjdChtb20sIGR1cmF0aW9uLCBpc0FkZGluZywgdXBkYXRlT2Zmc2V0KSB7XG4gICAgICAgIHZhciBtaWxsaXNlY29uZHMgPSBkdXJhdGlvbi5fbWlsbGlzZWNvbmRzLFxuICAgICAgICAgICAgZGF5cyA9IGFic1JvdW5kKGR1cmF0aW9uLl9kYXlzKSxcbiAgICAgICAgICAgIG1vbnRocyA9IGFic1JvdW5kKGR1cmF0aW9uLl9tb250aHMpO1xuXG4gICAgICAgIGlmICghbW9tLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgLy8gTm8gb3BcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVwZGF0ZU9mZnNldCA9IHVwZGF0ZU9mZnNldCA9PSBudWxsID8gdHJ1ZSA6IHVwZGF0ZU9mZnNldDtcblxuICAgICAgICBpZiAobW9udGhzKSB7XG4gICAgICAgICAgICBzZXRNb250aChtb20sIGdldChtb20sICdNb250aCcpICsgbW9udGhzICogaXNBZGRpbmcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXlzKSB7XG4gICAgICAgICAgICBzZXQkMShtb20sICdEYXRlJywgZ2V0KG1vbSwgJ0RhdGUnKSArIGRheXMgKiBpc0FkZGluZyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1pbGxpc2Vjb25kcykge1xuICAgICAgICAgICAgbW9tLl9kLnNldFRpbWUobW9tLl9kLnZhbHVlT2YoKSArIG1pbGxpc2Vjb25kcyAqIGlzQWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodXBkYXRlT2Zmc2V0KSB7XG4gICAgICAgICAgICBob29rcy51cGRhdGVPZmZzZXQobW9tLCBkYXlzIHx8IG1vbnRocyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgYWRkID0gY3JlYXRlQWRkZXIoMSwgJ2FkZCcpLFxuICAgICAgICBzdWJ0cmFjdCA9IGNyZWF0ZUFkZGVyKC0xLCAnc3VidHJhY3QnKTtcblxuICAgIGZ1bmN0aW9uIGlzU3RyaW5nKGlucHV0KSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnIHx8IGlucHV0IGluc3RhbmNlb2YgU3RyaW5nO1xuICAgIH1cblxuICAgIC8vIHR5cGUgTW9tZW50SW5wdXQgPSBNb21lbnQgfCBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyIHwgKG51bWJlciB8IHN0cmluZylbXSB8IE1vbWVudElucHV0T2JqZWN0IHwgdm9pZDsgLy8gbnVsbCB8IHVuZGVmaW5lZFxuICAgIGZ1bmN0aW9uIGlzTW9tZW50SW5wdXQoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTW9tZW50KGlucHV0KSB8fFxuICAgICAgICAgICAgaXNEYXRlKGlucHV0KSB8fFxuICAgICAgICAgICAgaXNTdHJpbmcoaW5wdXQpIHx8XG4gICAgICAgICAgICBpc051bWJlcihpbnB1dCkgfHxcbiAgICAgICAgICAgIGlzTnVtYmVyT3JTdHJpbmdBcnJheShpbnB1dCkgfHxcbiAgICAgICAgICAgIGlzTW9tZW50SW5wdXRPYmplY3QoaW5wdXQpIHx8XG4gICAgICAgICAgICBpbnB1dCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgaW5wdXQgPT09IHVuZGVmaW5lZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzTW9tZW50SW5wdXRPYmplY3QoaW5wdXQpIHtcbiAgICAgICAgdmFyIG9iamVjdFRlc3QgPSBpc09iamVjdChpbnB1dCkgJiYgIWlzT2JqZWN0RW1wdHkoaW5wdXQpLFxuICAgICAgICAgICAgcHJvcGVydHlUZXN0ID0gZmFsc2UsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzID0gW1xuICAgICAgICAgICAgICAgICd5ZWFycycsXG4gICAgICAgICAgICAgICAgJ3llYXInLFxuICAgICAgICAgICAgICAgICd5JyxcbiAgICAgICAgICAgICAgICAnbW9udGhzJyxcbiAgICAgICAgICAgICAgICAnbW9udGgnLFxuICAgICAgICAgICAgICAgICdNJyxcbiAgICAgICAgICAgICAgICAnZGF5cycsXG4gICAgICAgICAgICAgICAgJ2RheScsXG4gICAgICAgICAgICAgICAgJ2QnLFxuICAgICAgICAgICAgICAgICdkYXRlcycsXG4gICAgICAgICAgICAgICAgJ2RhdGUnLFxuICAgICAgICAgICAgICAgICdEJyxcbiAgICAgICAgICAgICAgICAnaG91cnMnLFxuICAgICAgICAgICAgICAgICdob3VyJyxcbiAgICAgICAgICAgICAgICAnaCcsXG4gICAgICAgICAgICAgICAgJ21pbnV0ZXMnLFxuICAgICAgICAgICAgICAgICdtaW51dGUnLFxuICAgICAgICAgICAgICAgICdtJyxcbiAgICAgICAgICAgICAgICAnc2Vjb25kcycsXG4gICAgICAgICAgICAgICAgJ3NlY29uZCcsXG4gICAgICAgICAgICAgICAgJ3MnLFxuICAgICAgICAgICAgICAgICdtaWxsaXNlY29uZHMnLFxuICAgICAgICAgICAgICAgICdtaWxsaXNlY29uZCcsXG4gICAgICAgICAgICAgICAgJ21zJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgcHJvcGVydHksXG4gICAgICAgICAgICBwcm9wZXJ0eUxlbiA9IHByb3BlcnRpZXMubGVuZ3RoO1xuXG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBwcm9wZXJ0eUxlbjsgaSArPSAxKSB7XG4gICAgICAgICAgICBwcm9wZXJ0eSA9IHByb3BlcnRpZXNbaV07XG4gICAgICAgICAgICBwcm9wZXJ0eVRlc3QgPSBwcm9wZXJ0eVRlc3QgfHwgaGFzT3duUHJvcChpbnB1dCwgcHJvcGVydHkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9iamVjdFRlc3QgJiYgcHJvcGVydHlUZXN0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzTnVtYmVyT3JTdHJpbmdBcnJheShpbnB1dCkge1xuICAgICAgICB2YXIgYXJyYXlUZXN0ID0gaXNBcnJheShpbnB1dCksXG4gICAgICAgICAgICBkYXRhVHlwZVRlc3QgPSBmYWxzZTtcbiAgICAgICAgaWYgKGFycmF5VGVzdCkge1xuICAgICAgICAgICAgZGF0YVR5cGVUZXN0ID1cbiAgICAgICAgICAgICAgICBpbnB1dC5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFpc051bWJlcihpdGVtKSAmJiBpc1N0cmluZyhpbnB1dCk7XG4gICAgICAgICAgICAgICAgfSkubGVuZ3RoID09PSAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcnJheVRlc3QgJiYgZGF0YVR5cGVUZXN0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzQ2FsZW5kYXJTcGVjKGlucHV0KSB7XG4gICAgICAgIHZhciBvYmplY3RUZXN0ID0gaXNPYmplY3QoaW5wdXQpICYmICFpc09iamVjdEVtcHR5KGlucHV0KSxcbiAgICAgICAgICAgIHByb3BlcnR5VGVzdCA9IGZhbHNlLFxuICAgICAgICAgICAgcHJvcGVydGllcyA9IFtcbiAgICAgICAgICAgICAgICAnc2FtZURheScsXG4gICAgICAgICAgICAgICAgJ25leHREYXknLFxuICAgICAgICAgICAgICAgICdsYXN0RGF5JyxcbiAgICAgICAgICAgICAgICAnbmV4dFdlZWsnLFxuICAgICAgICAgICAgICAgICdsYXN0V2VlaycsXG4gICAgICAgICAgICAgICAgJ3NhbWVFbHNlJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgcHJvcGVydHk7XG5cbiAgICAgICAgZm9yIChpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIHByb3BlcnR5ID0gcHJvcGVydGllc1tpXTtcbiAgICAgICAgICAgIHByb3BlcnR5VGVzdCA9IHByb3BlcnR5VGVzdCB8fCBoYXNPd25Qcm9wKGlucHV0LCBwcm9wZXJ0eSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2JqZWN0VGVzdCAmJiBwcm9wZXJ0eVRlc3Q7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0Q2FsZW5kYXJGb3JtYXQobXlNb21lbnQsIG5vdykge1xuICAgICAgICB2YXIgZGlmZiA9IG15TW9tZW50LmRpZmYobm93LCAnZGF5cycsIHRydWUpO1xuICAgICAgICByZXR1cm4gZGlmZiA8IC02XG4gICAgICAgICAgICA/ICdzYW1lRWxzZSdcbiAgICAgICAgICAgIDogZGlmZiA8IC0xXG4gICAgICAgICAgICA/ICdsYXN0V2VlaydcbiAgICAgICAgICAgIDogZGlmZiA8IDBcbiAgICAgICAgICAgID8gJ2xhc3REYXknXG4gICAgICAgICAgICA6IGRpZmYgPCAxXG4gICAgICAgICAgICA/ICdzYW1lRGF5J1xuICAgICAgICAgICAgOiBkaWZmIDwgMlxuICAgICAgICAgICAgPyAnbmV4dERheSdcbiAgICAgICAgICAgIDogZGlmZiA8IDdcbiAgICAgICAgICAgID8gJ25leHRXZWVrJ1xuICAgICAgICAgICAgOiAnc2FtZUVsc2UnO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNhbGVuZGFyJDEodGltZSwgZm9ybWF0cykge1xuICAgICAgICAvLyBTdXBwb3J0IGZvciBzaW5nbGUgcGFyYW1ldGVyLCBmb3JtYXRzIG9ubHkgb3ZlcmxvYWQgdG8gdGhlIGNhbGVuZGFyIGZ1bmN0aW9uXG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBpZiAoIWFyZ3VtZW50c1swXSkge1xuICAgICAgICAgICAgICAgIHRpbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgZm9ybWF0cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNNb21lbnRJbnB1dChhcmd1bWVudHNbMF0pKSB7XG4gICAgICAgICAgICAgICAgdGltZSA9IGFyZ3VtZW50c1swXTtcbiAgICAgICAgICAgICAgICBmb3JtYXRzID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0NhbGVuZGFyU3BlYyhhcmd1bWVudHNbMF0pKSB7XG4gICAgICAgICAgICAgICAgZm9ybWF0cyA9IGFyZ3VtZW50c1swXTtcbiAgICAgICAgICAgICAgICB0aW1lID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFdlIHdhbnQgdG8gY29tcGFyZSB0aGUgc3RhcnQgb2YgdG9kYXksIHZzIHRoaXMuXG4gICAgICAgIC8vIEdldHRpbmcgc3RhcnQtb2YtdG9kYXkgZGVwZW5kcyBvbiB3aGV0aGVyIHdlJ3JlIGxvY2FsL3V0Yy9vZmZzZXQgb3Igbm90LlxuICAgICAgICB2YXIgbm93ID0gdGltZSB8fCBjcmVhdGVMb2NhbCgpLFxuICAgICAgICAgICAgc29kID0gY2xvbmVXaXRoT2Zmc2V0KG5vdywgdGhpcykuc3RhcnRPZignZGF5JyksXG4gICAgICAgICAgICBmb3JtYXQgPSBob29rcy5jYWxlbmRhckZvcm1hdCh0aGlzLCBzb2QpIHx8ICdzYW1lRWxzZScsXG4gICAgICAgICAgICBvdXRwdXQgPVxuICAgICAgICAgICAgICAgIGZvcm1hdHMgJiZcbiAgICAgICAgICAgICAgICAoaXNGdW5jdGlvbihmb3JtYXRzW2Zvcm1hdF0pXG4gICAgICAgICAgICAgICAgICAgID8gZm9ybWF0c1tmb3JtYXRdLmNhbGwodGhpcywgbm93KVxuICAgICAgICAgICAgICAgICAgICA6IGZvcm1hdHNbZm9ybWF0XSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KFxuICAgICAgICAgICAgb3V0cHV0IHx8IHRoaXMubG9jYWxlRGF0YSgpLmNhbGVuZGFyKGZvcm1hdCwgdGhpcywgY3JlYXRlTG9jYWwobm93KSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBNb21lbnQodGhpcyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNBZnRlcihpbnB1dCwgdW5pdHMpIHtcbiAgICAgICAgdmFyIGxvY2FsSW5wdXQgPSBpc01vbWVudChpbnB1dCkgPyBpbnB1dCA6IGNyZWF0ZUxvY2FsKGlucHV0KTtcbiAgICAgICAgaWYgKCEodGhpcy5pc1ZhbGlkKCkgJiYgbG9jYWxJbnB1dC5pc1ZhbGlkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cykgfHwgJ21pbGxpc2Vjb25kJztcbiAgICAgICAgaWYgKHVuaXRzID09PSAnbWlsbGlzZWNvbmQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPiBsb2NhbElucHV0LnZhbHVlT2YoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBsb2NhbElucHV0LnZhbHVlT2YoKSA8IHRoaXMuY2xvbmUoKS5zdGFydE9mKHVuaXRzKS52YWx1ZU9mKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc0JlZm9yZShpbnB1dCwgdW5pdHMpIHtcbiAgICAgICAgdmFyIGxvY2FsSW5wdXQgPSBpc01vbWVudChpbnB1dCkgPyBpbnB1dCA6IGNyZWF0ZUxvY2FsKGlucHV0KTtcbiAgICAgICAgaWYgKCEodGhpcy5pc1ZhbGlkKCkgJiYgbG9jYWxJbnB1dC5pc1ZhbGlkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cykgfHwgJ21pbGxpc2Vjb25kJztcbiAgICAgICAgaWYgKHVuaXRzID09PSAnbWlsbGlzZWNvbmQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPCBsb2NhbElucHV0LnZhbHVlT2YoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNsb25lKCkuZW5kT2YodW5pdHMpLnZhbHVlT2YoKSA8IGxvY2FsSW5wdXQudmFsdWVPZigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNCZXR3ZWVuKGZyb20sIHRvLCB1bml0cywgaW5jbHVzaXZpdHkpIHtcbiAgICAgICAgdmFyIGxvY2FsRnJvbSA9IGlzTW9tZW50KGZyb20pID8gZnJvbSA6IGNyZWF0ZUxvY2FsKGZyb20pLFxuICAgICAgICAgICAgbG9jYWxUbyA9IGlzTW9tZW50KHRvKSA/IHRvIDogY3JlYXRlTG9jYWwodG8pO1xuICAgICAgICBpZiAoISh0aGlzLmlzVmFsaWQoKSAmJiBsb2NhbEZyb20uaXNWYWxpZCgpICYmIGxvY2FsVG8uaXNWYWxpZCgpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGluY2x1c2l2aXR5ID0gaW5jbHVzaXZpdHkgfHwgJygpJztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChpbmNsdXNpdml0eVswXSA9PT0gJygnXG4gICAgICAgICAgICAgICAgPyB0aGlzLmlzQWZ0ZXIobG9jYWxGcm9tLCB1bml0cylcbiAgICAgICAgICAgICAgICA6ICF0aGlzLmlzQmVmb3JlKGxvY2FsRnJvbSwgdW5pdHMpKSAmJlxuICAgICAgICAgICAgKGluY2x1c2l2aXR5WzFdID09PSAnKSdcbiAgICAgICAgICAgICAgICA/IHRoaXMuaXNCZWZvcmUobG9jYWxUbywgdW5pdHMpXG4gICAgICAgICAgICAgICAgOiAhdGhpcy5pc0FmdGVyKGxvY2FsVG8sIHVuaXRzKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1NhbWUoaW5wdXQsIHVuaXRzKSB7XG4gICAgICAgIHZhciBsb2NhbElucHV0ID0gaXNNb21lbnQoaW5wdXQpID8gaW5wdXQgOiBjcmVhdGVMb2NhbChpbnB1dCksXG4gICAgICAgICAgICBpbnB1dE1zO1xuICAgICAgICBpZiAoISh0aGlzLmlzVmFsaWQoKSAmJiBsb2NhbElucHV0LmlzVmFsaWQoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKSB8fCAnbWlsbGlzZWNvbmQnO1xuICAgICAgICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZCcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gbG9jYWxJbnB1dC52YWx1ZU9mKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpbnB1dE1zID0gbG9jYWxJbnB1dC52YWx1ZU9mKCk7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHRoaXMuY2xvbmUoKS5zdGFydE9mKHVuaXRzKS52YWx1ZU9mKCkgPD0gaW5wdXRNcyAmJlxuICAgICAgICAgICAgICAgIGlucHV0TXMgPD0gdGhpcy5jbG9uZSgpLmVuZE9mKHVuaXRzKS52YWx1ZU9mKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1NhbWVPckFmdGVyKGlucHV0LCB1bml0cykge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoaW5wdXQsIHVuaXRzKSB8fCB0aGlzLmlzQWZ0ZXIoaW5wdXQsIHVuaXRzKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1NhbWVPckJlZm9yZShpbnB1dCwgdW5pdHMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGlucHV0LCB1bml0cykgfHwgdGhpcy5pc0JlZm9yZShpbnB1dCwgdW5pdHMpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRpZmYoaW5wdXQsIHVuaXRzLCBhc0Zsb2F0KSB7XG4gICAgICAgIHZhciB0aGF0LCB6b25lRGVsdGEsIG91dHB1dDtcblxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gTmFOO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhhdCA9IGNsb25lV2l0aE9mZnNldChpbnB1dCwgdGhpcyk7XG5cbiAgICAgICAgaWYgKCF0aGF0LmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIE5hTjtcbiAgICAgICAgfVxuXG4gICAgICAgIHpvbmVEZWx0YSA9ICh0aGF0LnV0Y09mZnNldCgpIC0gdGhpcy51dGNPZmZzZXQoKSkgKiA2ZTQ7XG5cbiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7XG5cbiAgICAgICAgc3dpdGNoICh1bml0cykge1xuICAgICAgICAgICAgY2FzZSAneWVhcic6XG4gICAgICAgICAgICAgICAgb3V0cHV0ID0gbW9udGhEaWZmKHRoaXMsIHRoYXQpIC8gMTI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgb3V0cHV0ID0gbW9udGhEaWZmKHRoaXMsIHRoYXQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgb3V0cHV0ID0gbW9udGhEaWZmKHRoaXMsIHRoYXQpIC8gMztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3NlY29uZCc6XG4gICAgICAgICAgICAgICAgb3V0cHV0ID0gKHRoaXMgLSB0aGF0KSAvIDFlMztcbiAgICAgICAgICAgICAgICBicmVhazsgLy8gMTAwMFxuICAgICAgICAgICAgY2FzZSAnbWludXRlJzpcbiAgICAgICAgICAgICAgICBvdXRwdXQgPSAodGhpcyAtIHRoYXQpIC8gNmU0O1xuICAgICAgICAgICAgICAgIGJyZWFrOyAvLyAxMDAwICogNjBcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIG91dHB1dCA9ICh0aGlzIC0gdGhhdCkgLyAzNmU1O1xuICAgICAgICAgICAgICAgIGJyZWFrOyAvLyAxMDAwICogNjAgKiA2MFxuICAgICAgICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgICAgICAgICBvdXRwdXQgPSAodGhpcyAtIHRoYXQgLSB6b25lRGVsdGEpIC8gODY0ZTU7XG4gICAgICAgICAgICAgICAgYnJlYWs7IC8vIDEwMDAgKiA2MCAqIDYwICogMjQsIG5lZ2F0ZSBkc3RcbiAgICAgICAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICAgICAgICAgIG91dHB1dCA9ICh0aGlzIC0gdGhhdCAtIHpvbmVEZWx0YSkgLyA2MDQ4ZTU7XG4gICAgICAgICAgICAgICAgYnJlYWs7IC8vIDEwMDAgKiA2MCAqIDYwICogMjQgKiA3LCBuZWdhdGUgZHN0XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIG91dHB1dCA9IHRoaXMgLSB0aGF0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFzRmxvYXQgPyBvdXRwdXQgOiBhYnNGbG9vcihvdXRwdXQpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1vbnRoRGlmZihhLCBiKSB7XG4gICAgICAgIGlmIChhLmRhdGUoKSA8IGIuZGF0ZSgpKSB7XG4gICAgICAgICAgICAvLyBlbmQtb2YtbW9udGggY2FsY3VsYXRpb25zIHdvcmsgY29ycmVjdCB3aGVuIHRoZSBzdGFydCBtb250aCBoYXMgbW9yZVxuICAgICAgICAgICAgLy8gZGF5cyB0aGFuIHRoZSBlbmQgbW9udGguXG4gICAgICAgICAgICByZXR1cm4gLW1vbnRoRGlmZihiLCBhKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBkaWZmZXJlbmNlIGluIG1vbnRoc1xuICAgICAgICB2YXIgd2hvbGVNb250aERpZmYgPSAoYi55ZWFyKCkgLSBhLnllYXIoKSkgKiAxMiArIChiLm1vbnRoKCkgLSBhLm1vbnRoKCkpLFxuICAgICAgICAgICAgLy8gYiBpcyBpbiAoYW5jaG9yIC0gMSBtb250aCwgYW5jaG9yICsgMSBtb250aClcbiAgICAgICAgICAgIGFuY2hvciA9IGEuY2xvbmUoKS5hZGQod2hvbGVNb250aERpZmYsICdtb250aHMnKSxcbiAgICAgICAgICAgIGFuY2hvcjIsXG4gICAgICAgICAgICBhZGp1c3Q7XG5cbiAgICAgICAgaWYgKGIgLSBhbmNob3IgPCAwKSB7XG4gICAgICAgICAgICBhbmNob3IyID0gYS5jbG9uZSgpLmFkZCh3aG9sZU1vbnRoRGlmZiAtIDEsICdtb250aHMnKTtcbiAgICAgICAgICAgIC8vIGxpbmVhciBhY3Jvc3MgdGhlIG1vbnRoXG4gICAgICAgICAgICBhZGp1c3QgPSAoYiAtIGFuY2hvcikgLyAoYW5jaG9yIC0gYW5jaG9yMik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhbmNob3IyID0gYS5jbG9uZSgpLmFkZCh3aG9sZU1vbnRoRGlmZiArIDEsICdtb250aHMnKTtcbiAgICAgICAgICAgIC8vIGxpbmVhciBhY3Jvc3MgdGhlIG1vbnRoXG4gICAgICAgICAgICBhZGp1c3QgPSAoYiAtIGFuY2hvcikgLyAoYW5jaG9yMiAtIGFuY2hvcik7XG4gICAgICAgIH1cblxuICAgICAgICAvL2NoZWNrIGZvciBuZWdhdGl2ZSB6ZXJvLCByZXR1cm4gemVybyBpZiBuZWdhdGl2ZSB6ZXJvXG4gICAgICAgIHJldHVybiAtKHdob2xlTW9udGhEaWZmICsgYWRqdXN0KSB8fCAwO1xuICAgIH1cblxuICAgIGhvb2tzLmRlZmF1bHRGb3JtYXQgPSAnWVlZWS1NTS1ERFRISDptbTpzc1onO1xuICAgIGhvb2tzLmRlZmF1bHRGb3JtYXRVdGMgPSAnWVlZWS1NTS1ERFRISDptbTpzc1taXSc7XG5cbiAgICBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5sb2NhbGUoJ2VuJykuZm9ybWF0KCdkZGQgTU1NIEREIFlZWVkgSEg6bW06c3MgW0dNVF1aWicpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvSVNPU3RyaW5nKGtlZXBPZmZzZXQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHV0YyA9IGtlZXBPZmZzZXQgIT09IHRydWUsXG4gICAgICAgICAgICBtID0gdXRjID8gdGhpcy5jbG9uZSgpLnV0YygpIDogdGhpcztcbiAgICAgICAgaWYgKG0ueWVhcigpIDwgMCB8fCBtLnllYXIoKSA+IDk5OTkpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRNb21lbnQoXG4gICAgICAgICAgICAgICAgbSxcbiAgICAgICAgICAgICAgICB1dGNcbiAgICAgICAgICAgICAgICAgICAgPyAnWVlZWVlZLU1NLUREW1RdSEg6bW06c3MuU1NTW1pdJ1xuICAgICAgICAgICAgICAgICAgICA6ICdZWVlZWVktTU0tRERbVF1ISDptbTpzcy5TU1NaJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNGdW5jdGlvbihEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZykpIHtcbiAgICAgICAgICAgIC8vIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbiBpcyB+NTB4IGZhc3RlciwgdXNlIGl0IHdoZW4gd2UgY2FuXG4gICAgICAgICAgICBpZiAodXRjKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9EYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMudmFsdWVPZigpICsgdGhpcy51dGNPZmZzZXQoKSAqIDYwICogMTAwMClcbiAgICAgICAgICAgICAgICAgICAgLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJ1onLCBmb3JtYXRNb21lbnQobSwgJ1onKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvcm1hdE1vbWVudChcbiAgICAgICAgICAgIG0sXG4gICAgICAgICAgICB1dGMgPyAnWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXScgOiAnWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1onXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgaHVtYW4gcmVhZGFibGUgcmVwcmVzZW50YXRpb24gb2YgYSBtb21lbnQgdGhhdCBjYW5cbiAgICAgKiBhbHNvIGJlIGV2YWx1YXRlZCB0byBnZXQgYSBuZXcgbW9tZW50IHdoaWNoIGlzIHRoZSBzYW1lXG4gICAgICpcbiAgICAgKiBAbGluayBodHRwczovL25vZGVqcy5vcmcvZGlzdC9sYXRlc3QvZG9jcy9hcGkvdXRpbC5odG1sI3V0aWxfY3VzdG9tX2luc3BlY3RfZnVuY3Rpb25fb25fb2JqZWN0c1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluc3BlY3QoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnbW9tZW50LmludmFsaWQoLyogJyArIHRoaXMuX2kgKyAnICovKSc7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGZ1bmMgPSAnbW9tZW50JyxcbiAgICAgICAgICAgIHpvbmUgPSAnJyxcbiAgICAgICAgICAgIHByZWZpeCxcbiAgICAgICAgICAgIHllYXIsXG4gICAgICAgICAgICBkYXRldGltZSxcbiAgICAgICAgICAgIHN1ZmZpeDtcbiAgICAgICAgaWYgKCF0aGlzLmlzTG9jYWwoKSkge1xuICAgICAgICAgICAgZnVuYyA9IHRoaXMudXRjT2Zmc2V0KCkgPT09IDAgPyAnbW9tZW50LnV0YycgOiAnbW9tZW50LnBhcnNlWm9uZSc7XG4gICAgICAgICAgICB6b25lID0gJ1onO1xuICAgICAgICB9XG4gICAgICAgIHByZWZpeCA9ICdbJyArIGZ1bmMgKyAnKFwiXSc7XG4gICAgICAgIHllYXIgPSAwIDw9IHRoaXMueWVhcigpICYmIHRoaXMueWVhcigpIDw9IDk5OTkgPyAnWVlZWScgOiAnWVlZWVlZJztcbiAgICAgICAgZGF0ZXRpbWUgPSAnLU1NLUREW1RdSEg6bW06c3MuU1NTJztcbiAgICAgICAgc3VmZml4ID0gem9uZSArICdbXCIpXSc7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KHByZWZpeCArIHllYXIgKyBkYXRldGltZSArIHN1ZmZpeCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZm9ybWF0KGlucHV0U3RyaW5nKSB7XG4gICAgICAgIGlmICghaW5wdXRTdHJpbmcpIHtcbiAgICAgICAgICAgIGlucHV0U3RyaW5nID0gdGhpcy5pc1V0YygpXG4gICAgICAgICAgICAgICAgPyBob29rcy5kZWZhdWx0Rm9ybWF0VXRjXG4gICAgICAgICAgICAgICAgOiBob29rcy5kZWZhdWx0Rm9ybWF0O1xuICAgICAgICB9XG4gICAgICAgIHZhciBvdXRwdXQgPSBmb3JtYXRNb21lbnQodGhpcywgaW5wdXRTdHJpbmcpO1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkucG9zdGZvcm1hdChvdXRwdXQpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGZyb20odGltZSwgd2l0aG91dFN1ZmZpeCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmlzVmFsaWQoKSAmJlxuICAgICAgICAgICAgKChpc01vbWVudCh0aW1lKSAmJiB0aW1lLmlzVmFsaWQoKSkgfHwgY3JlYXRlTG9jYWwodGltZSkuaXNWYWxpZCgpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVEdXJhdGlvbih7IHRvOiB0aGlzLCBmcm9tOiB0aW1lIH0pXG4gICAgICAgICAgICAgICAgLmxvY2FsZSh0aGlzLmxvY2FsZSgpKVxuICAgICAgICAgICAgICAgIC5odW1hbml6ZSghd2l0aG91dFN1ZmZpeCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGZyb21Ob3cod2l0aG91dFN1ZmZpeCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mcm9tKGNyZWF0ZUxvY2FsKCksIHdpdGhvdXRTdWZmaXgpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvKHRpbWUsIHdpdGhvdXRTdWZmaXgpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5pc1ZhbGlkKCkgJiZcbiAgICAgICAgICAgICgoaXNNb21lbnQodGltZSkgJiYgdGltZS5pc1ZhbGlkKCkpIHx8IGNyZWF0ZUxvY2FsKHRpbWUpLmlzVmFsaWQoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlRHVyYXRpb24oeyBmcm9tOiB0aGlzLCB0bzogdGltZSB9KVxuICAgICAgICAgICAgICAgIC5sb2NhbGUodGhpcy5sb2NhbGUoKSlcbiAgICAgICAgICAgICAgICAuaHVtYW5pemUoIXdpdGhvdXRTdWZmaXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0b05vdyh3aXRob3V0U3VmZml4KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvKGNyZWF0ZUxvY2FsKCksIHdpdGhvdXRTdWZmaXgpO1xuICAgIH1cblxuICAgIC8vIElmIHBhc3NlZCBhIGxvY2FsZSBrZXksIGl0IHdpbGwgc2V0IHRoZSBsb2NhbGUgZm9yIHRoaXNcbiAgICAvLyBpbnN0YW5jZS4gIE90aGVyd2lzZSwgaXQgd2lsbCByZXR1cm4gdGhlIGxvY2FsZSBjb25maWd1cmF0aW9uXG4gICAgLy8gdmFyaWFibGVzIGZvciB0aGlzIGluc3RhbmNlLlxuICAgIGZ1bmN0aW9uIGxvY2FsZShrZXkpIHtcbiAgICAgICAgdmFyIG5ld0xvY2FsZURhdGE7XG5cbiAgICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlLl9hYmJyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3TG9jYWxlRGF0YSA9IGdldExvY2FsZShrZXkpO1xuICAgICAgICAgICAgaWYgKG5ld0xvY2FsZURhdGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvY2FsZSA9IG5ld0xvY2FsZURhdGE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhciBsYW5nID0gZGVwcmVjYXRlKFxuICAgICAgICAnbW9tZW50KCkubGFuZygpIGlzIGRlcHJlY2F0ZWQuIEluc3RlYWQsIHVzZSBtb21lbnQoKS5sb2NhbGVEYXRhKCkgdG8gZ2V0IHRoZSBsYW5ndWFnZSBjb25maWd1cmF0aW9uLiBVc2UgbW9tZW50KCkubG9jYWxlKCkgdG8gY2hhbmdlIGxhbmd1YWdlcy4nLFxuICAgICAgICBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZShrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgKTtcblxuICAgIGZ1bmN0aW9uIGxvY2FsZURhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gICAgfVxuXG4gICAgdmFyIE1TX1BFUl9TRUNPTkQgPSAxMDAwLFxuICAgICAgICBNU19QRVJfTUlOVVRFID0gNjAgKiBNU19QRVJfU0VDT05ELFxuICAgICAgICBNU19QRVJfSE9VUiA9IDYwICogTVNfUEVSX01JTlVURSxcbiAgICAgICAgTVNfUEVSXzQwMF9ZRUFSUyA9ICgzNjUgKiA0MDAgKyA5NykgKiAyNCAqIE1TX1BFUl9IT1VSO1xuXG4gICAgLy8gYWN0dWFsIG1vZHVsbyAtIGhhbmRsZXMgbmVnYXRpdmUgbnVtYmVycyAoZm9yIGRhdGVzIGJlZm9yZSAxOTcwKTpcbiAgICBmdW5jdGlvbiBtb2QkMShkaXZpZGVuZCwgZGl2aXNvcikge1xuICAgICAgICByZXR1cm4gKChkaXZpZGVuZCAlIGRpdmlzb3IpICsgZGl2aXNvcikgJSBkaXZpc29yO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxvY2FsU3RhcnRPZkRhdGUoeSwgbSwgZCkge1xuICAgICAgICAvLyB0aGUgZGF0ZSBjb25zdHJ1Y3RvciByZW1hcHMgeWVhcnMgMC05OSB0byAxOTAwLTE5OTlcbiAgICAgICAgaWYgKHkgPCAxMDAgJiYgeSA+PSAwKSB7XG4gICAgICAgICAgICAvLyBwcmVzZXJ2ZSBsZWFwIHllYXJzIHVzaW5nIGEgZnVsbCA0MDAgeWVhciBjeWNsZSwgdGhlbiByZXNldFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHkgKyA0MDAsIG0sIGQpIC0gTVNfUEVSXzQwMF9ZRUFSUztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh5LCBtLCBkKS52YWx1ZU9mKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB1dGNTdGFydE9mRGF0ZSh5LCBtLCBkKSB7XG4gICAgICAgIC8vIERhdGUuVVRDIHJlbWFwcyB5ZWFycyAwLTk5IHRvIDE5MDAtMTk5OVxuICAgICAgICBpZiAoeSA8IDEwMCAmJiB5ID49IDApIHtcbiAgICAgICAgICAgIC8vIHByZXNlcnZlIGxlYXAgeWVhcnMgdXNpbmcgYSBmdWxsIDQwMCB5ZWFyIGN5Y2xlLCB0aGVuIHJlc2V0XG4gICAgICAgICAgICByZXR1cm4gRGF0ZS5VVEMoeSArIDQwMCwgbSwgZCkgLSBNU19QRVJfNDAwX1lFQVJTO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIERhdGUuVVRDKHksIG0sIGQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc3RhcnRPZih1bml0cykge1xuICAgICAgICB2YXIgdGltZSwgc3RhcnRPZkRhdGU7XG4gICAgICAgIHVuaXRzID0gbm9ybWFsaXplVW5pdHModW5pdHMpO1xuICAgICAgICBpZiAodW5pdHMgPT09IHVuZGVmaW5lZCB8fCB1bml0cyA9PT0gJ21pbGxpc2Vjb25kJyB8fCAhdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhcnRPZkRhdGUgPSB0aGlzLl9pc1VUQyA/IHV0Y1N0YXJ0T2ZEYXRlIDogbG9jYWxTdGFydE9mRGF0ZTtcblxuICAgICAgICBzd2l0Y2ggKHVuaXRzKSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICB0aW1lID0gc3RhcnRPZkRhdGUodGhpcy55ZWFyKCksIDAsIDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgdGltZSA9IHN0YXJ0T2ZEYXRlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnllYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb250aCgpIC0gKHRoaXMubW9udGgoKSAlIDMpLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICB0aW1lID0gc3RhcnRPZkRhdGUodGhpcy55ZWFyKCksIHRoaXMubW9udGgoKSwgMSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgICAgICAgICB0aW1lID0gc3RhcnRPZkRhdGUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMueWVhcigpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vbnRoKCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZSgpIC0gdGhpcy53ZWVrZGF5KClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaXNvV2Vlayc6XG4gICAgICAgICAgICAgICAgdGltZSA9IHN0YXJ0T2ZEYXRlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnllYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb250aCgpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGUoKSAtICh0aGlzLmlzb1dlZWtkYXkoKSAtIDEpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICB0aW1lID0gc3RhcnRPZkRhdGUodGhpcy55ZWFyKCksIHRoaXMubW9udGgoKSwgdGhpcy5kYXRlKCkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgdGltZSA9IHRoaXMuX2QudmFsdWVPZigpO1xuICAgICAgICAgICAgICAgIHRpbWUgLT0gbW9kJDEoXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgKyAodGhpcy5faXNVVEMgPyAwIDogdGhpcy51dGNPZmZzZXQoKSAqIE1TX1BFUl9NSU5VVEUpLFxuICAgICAgICAgICAgICAgICAgICBNU19QRVJfSE9VUlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICAgICAgICAgIHRpbWUgPSB0aGlzLl9kLnZhbHVlT2YoKTtcbiAgICAgICAgICAgICAgICB0aW1lIC09IG1vZCQxKHRpbWUsIE1TX1BFUl9NSU5VVEUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgICAgICAgICB0aW1lID0gdGhpcy5fZC52YWx1ZU9mKCk7XG4gICAgICAgICAgICAgICAgdGltZSAtPSBtb2QkMSh0aW1lLCBNU19QRVJfU0VDT05EKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Quc2V0VGltZSh0aW1lKTtcbiAgICAgICAgaG9va3MudXBkYXRlT2Zmc2V0KHRoaXMsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBlbmRPZih1bml0cykge1xuICAgICAgICB2YXIgdGltZSwgc3RhcnRPZkRhdGU7XG4gICAgICAgIHVuaXRzID0gbm9ybWFsaXplVW5pdHModW5pdHMpO1xuICAgICAgICBpZiAodW5pdHMgPT09IHVuZGVmaW5lZCB8fCB1bml0cyA9PT0gJ21pbGxpc2Vjb25kJyB8fCAhdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhcnRPZkRhdGUgPSB0aGlzLl9pc1VUQyA/IHV0Y1N0YXJ0T2ZEYXRlIDogbG9jYWxTdGFydE9mRGF0ZTtcblxuICAgICAgICBzd2l0Y2ggKHVuaXRzKSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICB0aW1lID0gc3RhcnRPZkRhdGUodGhpcy55ZWFyKCkgKyAxLCAwLCAxKSAtIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICAgICAgICB0aW1lID1cbiAgICAgICAgICAgICAgICAgICAgc3RhcnRPZkRhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnllYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9udGgoKSAtICh0aGlzLm1vbnRoKCkgJSAzKSArIDMsXG4gICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICkgLSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICAgICAgICAgIHRpbWUgPSBzdGFydE9mRGF0ZSh0aGlzLnllYXIoKSwgdGhpcy5tb250aCgpICsgMSwgMSkgLSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgICAgICAgICAgdGltZSA9XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0T2ZEYXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy55ZWFyKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vbnRoKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGUoKSAtIHRoaXMud2Vla2RheSgpICsgN1xuICAgICAgICAgICAgICAgICAgICApIC0gMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2lzb1dlZWsnOlxuICAgICAgICAgICAgICAgIHRpbWUgPVxuICAgICAgICAgICAgICAgICAgICBzdGFydE9mRGF0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMueWVhcigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb250aCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlKCkgLSAodGhpcy5pc29XZWVrZGF5KCkgLSAxKSArIDdcbiAgICAgICAgICAgICAgICAgICAgKSAtIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdkYXknOlxuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgdGltZSA9IHN0YXJ0T2ZEYXRlKHRoaXMueWVhcigpLCB0aGlzLm1vbnRoKCksIHRoaXMuZGF0ZSgpICsgMSkgLSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgdGltZSA9IHRoaXMuX2QudmFsdWVPZigpO1xuICAgICAgICAgICAgICAgIHRpbWUgKz1cbiAgICAgICAgICAgICAgICAgICAgTVNfUEVSX0hPVVIgLVxuICAgICAgICAgICAgICAgICAgICBtb2QkMShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUgKyAodGhpcy5faXNVVEMgPyAwIDogdGhpcy51dGNPZmZzZXQoKSAqIE1TX1BFUl9NSU5VVEUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgTVNfUEVSX0hPVVJcbiAgICAgICAgICAgICAgICAgICAgKSAtXG4gICAgICAgICAgICAgICAgICAgIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICAgICAgICAgIHRpbWUgPSB0aGlzLl9kLnZhbHVlT2YoKTtcbiAgICAgICAgICAgICAgICB0aW1lICs9IE1TX1BFUl9NSU5VVEUgLSBtb2QkMSh0aW1lLCBNU19QRVJfTUlOVVRFKSAtIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgIHRpbWUgPSB0aGlzLl9kLnZhbHVlT2YoKTtcbiAgICAgICAgICAgICAgICB0aW1lICs9IE1TX1BFUl9TRUNPTkQgLSBtb2QkMSh0aW1lLCBNU19QRVJfU0VDT05EKSAtIDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9kLnNldFRpbWUodGltZSk7XG4gICAgICAgIGhvb2tzLnVwZGF0ZU9mZnNldCh0aGlzLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdmFsdWVPZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2QudmFsdWVPZigpIC0gKHRoaXMuX29mZnNldCB8fCAwKSAqIDYwMDAwO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHVuaXgoKSB7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpIC8gMTAwMCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9EYXRlKCkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodGhpcy52YWx1ZU9mKCkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvQXJyYXkoKSB7XG4gICAgICAgIHZhciBtID0gdGhpcztcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG0ueWVhcigpLFxuICAgICAgICAgICAgbS5tb250aCgpLFxuICAgICAgICAgICAgbS5kYXRlKCksXG4gICAgICAgICAgICBtLmhvdXIoKSxcbiAgICAgICAgICAgIG0ubWludXRlKCksXG4gICAgICAgICAgICBtLnNlY29uZCgpLFxuICAgICAgICAgICAgbS5taWxsaXNlY29uZCgpLFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvT2JqZWN0KCkge1xuICAgICAgICB2YXIgbSA9IHRoaXM7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB5ZWFyczogbS55ZWFyKCksXG4gICAgICAgICAgICBtb250aHM6IG0ubW9udGgoKSxcbiAgICAgICAgICAgIGRhdGU6IG0uZGF0ZSgpLFxuICAgICAgICAgICAgaG91cnM6IG0uaG91cnMoKSxcbiAgICAgICAgICAgIG1pbnV0ZXM6IG0ubWludXRlcygpLFxuICAgICAgICAgICAgc2Vjb25kczogbS5zZWNvbmRzKCksXG4gICAgICAgICAgICBtaWxsaXNlY29uZHM6IG0ubWlsbGlzZWNvbmRzKCksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9KU09OKCkge1xuICAgICAgICAvLyBuZXcgRGF0ZShOYU4pLnRvSlNPTigpID09PSBudWxsXG4gICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSA/IHRoaXMudG9JU09TdHJpbmcoKSA6IG51bGw7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNWYWxpZCQyKCkge1xuICAgICAgICByZXR1cm4gaXNWYWxpZCh0aGlzKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBwYXJzaW5nRmxhZ3MoKSB7XG4gICAgICAgIHJldHVybiBleHRlbmQoe30sIGdldFBhcnNpbmdGbGFncyh0aGlzKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW52YWxpZEF0KCkge1xuICAgICAgICByZXR1cm4gZ2V0UGFyc2luZ0ZsYWdzKHRoaXMpLm92ZXJmbG93O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNyZWF0aW9uRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlucHV0OiB0aGlzLl9pLFxuICAgICAgICAgICAgZm9ybWF0OiB0aGlzLl9mLFxuICAgICAgICAgICAgbG9jYWxlOiB0aGlzLl9sb2NhbGUsXG4gICAgICAgICAgICBpc1VUQzogdGhpcy5faXNVVEMsXG4gICAgICAgICAgICBzdHJpY3Q6IHRoaXMuX3N0cmljdCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBhZGRGb3JtYXRUb2tlbignTicsIDAsIDAsICdlcmFBYmJyJyk7XG4gICAgYWRkRm9ybWF0VG9rZW4oJ05OJywgMCwgMCwgJ2VyYUFiYnInKTtcbiAgICBhZGRGb3JtYXRUb2tlbignTk5OJywgMCwgMCwgJ2VyYUFiYnInKTtcbiAgICBhZGRGb3JtYXRUb2tlbignTk5OTicsIDAsIDAsICdlcmFOYW1lJyk7XG4gICAgYWRkRm9ybWF0VG9rZW4oJ05OTk5OJywgMCwgMCwgJ2VyYU5hcnJvdycpO1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ3knLCBbJ3knLCAxXSwgJ3lvJywgJ2VyYVllYXInKTtcbiAgICBhZGRGb3JtYXRUb2tlbigneScsIFsneXknLCAyXSwgMCwgJ2VyYVllYXInKTtcbiAgICBhZGRGb3JtYXRUb2tlbigneScsIFsneXl5JywgM10sIDAsICdlcmFZZWFyJyk7XG4gICAgYWRkRm9ybWF0VG9rZW4oJ3knLCBbJ3l5eXknLCA0XSwgMCwgJ2VyYVllYXInKTtcblxuICAgIGFkZFJlZ2V4VG9rZW4oJ04nLCBtYXRjaEVyYUFiYnIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ05OJywgbWF0Y2hFcmFBYmJyKTtcbiAgICBhZGRSZWdleFRva2VuKCdOTk4nLCBtYXRjaEVyYUFiYnIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ05OTk4nLCBtYXRjaEVyYU5hbWUpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ05OTk5OJywgbWF0Y2hFcmFOYXJyb3cpO1xuXG4gICAgYWRkUGFyc2VUb2tlbihcbiAgICAgICAgWydOJywgJ05OJywgJ05OTicsICdOTk5OJywgJ05OTk5OJ10sXG4gICAgICAgIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZywgdG9rZW4pIHtcbiAgICAgICAgICAgIHZhciBlcmEgPSBjb25maWcuX2xvY2FsZS5lcmFzUGFyc2UoaW5wdXQsIHRva2VuLCBjb25maWcuX3N0cmljdCk7XG4gICAgICAgICAgICBpZiAoZXJhKSB7XG4gICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuZXJhID0gZXJhO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5pbnZhbGlkRXJhID0gaW5wdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgYWRkUmVnZXhUb2tlbigneScsIG1hdGNoVW5zaWduZWQpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ3l5JywgbWF0Y2hVbnNpZ25lZCk7XG4gICAgYWRkUmVnZXhUb2tlbigneXl5JywgbWF0Y2hVbnNpZ25lZCk7XG4gICAgYWRkUmVnZXhUb2tlbigneXl5eScsIG1hdGNoVW5zaWduZWQpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ3lvJywgbWF0Y2hFcmFZZWFyT3JkaW5hbCk7XG5cbiAgICBhZGRQYXJzZVRva2VuKFsneScsICd5eScsICd5eXknLCAneXl5eSddLCBZRUFSKTtcbiAgICBhZGRQYXJzZVRva2VuKFsneW8nXSwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnLCB0b2tlbikge1xuICAgICAgICB2YXIgbWF0Y2g7XG4gICAgICAgIGlmIChjb25maWcuX2xvY2FsZS5fZXJhWWVhck9yZGluYWxSZWdleCkge1xuICAgICAgICAgICAgbWF0Y2ggPSBpbnB1dC5tYXRjaChjb25maWcuX2xvY2FsZS5fZXJhWWVhck9yZGluYWxSZWdleCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZmlnLl9sb2NhbGUuZXJhWWVhck9yZGluYWxQYXJzZSkge1xuICAgICAgICAgICAgYXJyYXlbWUVBUl0gPSBjb25maWcuX2xvY2FsZS5lcmFZZWFyT3JkaW5hbFBhcnNlKGlucHV0LCBtYXRjaCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcnJheVtZRUFSXSA9IHBhcnNlSW50KGlucHV0LCAxMCk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGxvY2FsZUVyYXMobSwgZm9ybWF0KSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgbCxcbiAgICAgICAgICAgIGRhdGUsXG4gICAgICAgICAgICBlcmFzID0gdGhpcy5fZXJhcyB8fCBnZXRMb2NhbGUoJ2VuJykuX2VyYXM7XG4gICAgICAgIGZvciAoaSA9IDAsIGwgPSBlcmFzLmxlbmd0aDsgaSA8IGw7ICsraSkge1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlb2YgZXJhc1tpXS5zaW5jZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgICAgIC8vIHRydW5jYXRlIHRpbWVcbiAgICAgICAgICAgICAgICAgICAgZGF0ZSA9IGhvb2tzKGVyYXNbaV0uc2luY2UpLnN0YXJ0T2YoJ2RheScpO1xuICAgICAgICAgICAgICAgICAgICBlcmFzW2ldLnNpbmNlID0gZGF0ZS52YWx1ZU9mKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiBlcmFzW2ldLnVudGlsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgICAgICAgICAgICAgICAgZXJhc1tpXS51bnRpbCA9ICtJbmZpbml0eTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICAgICAgLy8gdHJ1bmNhdGUgdGltZVxuICAgICAgICAgICAgICAgICAgICBkYXRlID0gaG9va3MoZXJhc1tpXS51bnRpbCkuc3RhcnRPZignZGF5JykudmFsdWVPZigpO1xuICAgICAgICAgICAgICAgICAgICBlcmFzW2ldLnVudGlsID0gZGF0ZS52YWx1ZU9mKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlcmFzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxvY2FsZUVyYXNQYXJzZShlcmFOYW1lLCBmb3JtYXQsIHN0cmljdCkge1xuICAgICAgICB2YXIgaSxcbiAgICAgICAgICAgIGwsXG4gICAgICAgICAgICBlcmFzID0gdGhpcy5lcmFzKCksXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgYWJicixcbiAgICAgICAgICAgIG5hcnJvdztcbiAgICAgICAgZXJhTmFtZSA9IGVyYU5hbWUudG9VcHBlckNhc2UoKTtcblxuICAgICAgICBmb3IgKGkgPSAwLCBsID0gZXJhcy5sZW5ndGg7IGkgPCBsOyArK2kpIHtcbiAgICAgICAgICAgIG5hbWUgPSBlcmFzW2ldLm5hbWUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgIGFiYnIgPSBlcmFzW2ldLmFiYnIudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgIG5hcnJvdyA9IGVyYXNbaV0ubmFycm93LnRvVXBwZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIGlmIChzdHJpY3QpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdOJzpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnTk4nOlxuICAgICAgICAgICAgICAgICAgICBjYXNlICdOTk4nOlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFiYnIgPT09IGVyYU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJhc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ05OTk4nOlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUgPT09IGVyYU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJhc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ05OTk5OJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuYXJyb3cgPT09IGVyYU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJhc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoW25hbWUsIGFiYnIsIG5hcnJvd10uaW5kZXhPZihlcmFOYW1lKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVyYXNbaV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsb2NhbGVFcmFzQ29udmVydFllYXIoZXJhLCB5ZWFyKSB7XG4gICAgICAgIHZhciBkaXIgPSBlcmEuc2luY2UgPD0gZXJhLnVudGlsID8gKzEgOiAtMTtcbiAgICAgICAgaWYgKHllYXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGhvb2tzKGVyYS5zaW5jZSkueWVhcigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGhvb2tzKGVyYS5zaW5jZSkueWVhcigpICsgKHllYXIgLSBlcmEub2Zmc2V0KSAqIGRpcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldEVyYU5hbWUoKSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgbCxcbiAgICAgICAgICAgIHZhbCxcbiAgICAgICAgICAgIGVyYXMgPSB0aGlzLmxvY2FsZURhdGEoKS5lcmFzKCk7XG4gICAgICAgIGZvciAoaSA9IDAsIGwgPSBlcmFzLmxlbmd0aDsgaSA8IGw7ICsraSkge1xuICAgICAgICAgICAgLy8gdHJ1bmNhdGUgdGltZVxuICAgICAgICAgICAgdmFsID0gdGhpcy5jbG9uZSgpLnN0YXJ0T2YoJ2RheScpLnZhbHVlT2YoKTtcblxuICAgICAgICAgICAgaWYgKGVyYXNbaV0uc2luY2UgPD0gdmFsICYmIHZhbCA8PSBlcmFzW2ldLnVudGlsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVyYXNbaV0ubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlcmFzW2ldLnVudGlsIDw9IHZhbCAmJiB2YWwgPD0gZXJhc1tpXS5zaW5jZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlcmFzW2ldLm5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0RXJhTmFycm93KCkge1xuICAgICAgICB2YXIgaSxcbiAgICAgICAgICAgIGwsXG4gICAgICAgICAgICB2YWwsXG4gICAgICAgICAgICBlcmFzID0gdGhpcy5sb2NhbGVEYXRhKCkuZXJhcygpO1xuICAgICAgICBmb3IgKGkgPSAwLCBsID0gZXJhcy5sZW5ndGg7IGkgPCBsOyArK2kpIHtcbiAgICAgICAgICAgIC8vIHRydW5jYXRlIHRpbWVcbiAgICAgICAgICAgIHZhbCA9IHRoaXMuY2xvbmUoKS5zdGFydE9mKCdkYXknKS52YWx1ZU9mKCk7XG5cbiAgICAgICAgICAgIGlmIChlcmFzW2ldLnNpbmNlIDw9IHZhbCAmJiB2YWwgPD0gZXJhc1tpXS51bnRpbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlcmFzW2ldLm5hcnJvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlcmFzW2ldLnVudGlsIDw9IHZhbCAmJiB2YWwgPD0gZXJhc1tpXS5zaW5jZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlcmFzW2ldLm5hcnJvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRFcmFBYmJyKCkge1xuICAgICAgICB2YXIgaSxcbiAgICAgICAgICAgIGwsXG4gICAgICAgICAgICB2YWwsXG4gICAgICAgICAgICBlcmFzID0gdGhpcy5sb2NhbGVEYXRhKCkuZXJhcygpO1xuICAgICAgICBmb3IgKGkgPSAwLCBsID0gZXJhcy5sZW5ndGg7IGkgPCBsOyArK2kpIHtcbiAgICAgICAgICAgIC8vIHRydW5jYXRlIHRpbWVcbiAgICAgICAgICAgIHZhbCA9IHRoaXMuY2xvbmUoKS5zdGFydE9mKCdkYXknKS52YWx1ZU9mKCk7XG5cbiAgICAgICAgICAgIGlmIChlcmFzW2ldLnNpbmNlIDw9IHZhbCAmJiB2YWwgPD0gZXJhc1tpXS51bnRpbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlcmFzW2ldLmFiYnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXJhc1tpXS51bnRpbCA8PSB2YWwgJiYgdmFsIDw9IGVyYXNbaV0uc2luY2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZXJhc1tpXS5hYmJyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldEVyYVllYXIoKSB7XG4gICAgICAgIHZhciBpLFxuICAgICAgICAgICAgbCxcbiAgICAgICAgICAgIGRpcixcbiAgICAgICAgICAgIHZhbCxcbiAgICAgICAgICAgIGVyYXMgPSB0aGlzLmxvY2FsZURhdGEoKS5lcmFzKCk7XG4gICAgICAgIGZvciAoaSA9IDAsIGwgPSBlcmFzLmxlbmd0aDsgaSA8IGw7ICsraSkge1xuICAgICAgICAgICAgZGlyID0gZXJhc1tpXS5zaW5jZSA8PSBlcmFzW2ldLnVudGlsID8gKzEgOiAtMTtcblxuICAgICAgICAgICAgLy8gdHJ1bmNhdGUgdGltZVxuICAgICAgICAgICAgdmFsID0gdGhpcy5jbG9uZSgpLnN0YXJ0T2YoJ2RheScpLnZhbHVlT2YoKTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIChlcmFzW2ldLnNpbmNlIDw9IHZhbCAmJiB2YWwgPD0gZXJhc1tpXS51bnRpbCkgfHxcbiAgICAgICAgICAgICAgICAoZXJhc1tpXS51bnRpbCA8PSB2YWwgJiYgdmFsIDw9IGVyYXNbaV0uc2luY2UpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAodGhpcy55ZWFyKCkgLSBob29rcyhlcmFzW2ldLnNpbmNlKS55ZWFyKCkpICogZGlyICtcbiAgICAgICAgICAgICAgICAgICAgZXJhc1tpXS5vZmZzZXRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMueWVhcigpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGVyYXNOYW1lUmVnZXgoaXNTdHJpY3QpIHtcbiAgICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfZXJhc05hbWVSZWdleCcpKSB7XG4gICAgICAgICAgICBjb21wdXRlRXJhc1BhcnNlLmNhbGwodGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzU3RyaWN0ID8gdGhpcy5fZXJhc05hbWVSZWdleCA6IHRoaXMuX2VyYXNSZWdleDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBlcmFzQWJiclJlZ2V4KGlzU3RyaWN0KSB7XG4gICAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX2VyYXNBYmJyUmVnZXgnKSkge1xuICAgICAgICAgICAgY29tcHV0ZUVyYXNQYXJzZS5jYWxsKHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1N0cmljdCA/IHRoaXMuX2VyYXNBYmJyUmVnZXggOiB0aGlzLl9lcmFzUmVnZXg7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXJhc05hcnJvd1JlZ2V4KGlzU3RyaWN0KSB7XG4gICAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX2VyYXNOYXJyb3dSZWdleCcpKSB7XG4gICAgICAgICAgICBjb21wdXRlRXJhc1BhcnNlLmNhbGwodGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzU3RyaWN0ID8gdGhpcy5fZXJhc05hcnJvd1JlZ2V4IDogdGhpcy5fZXJhc1JlZ2V4O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1hdGNoRXJhQWJicihpc1N0cmljdCwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUuZXJhc0FiYnJSZWdleChpc1N0cmljdCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbWF0Y2hFcmFOYW1lKGlzU3RyaWN0LCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5lcmFzTmFtZVJlZ2V4KGlzU3RyaWN0KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYXRjaEVyYU5hcnJvdyhpc1N0cmljdCwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUuZXJhc05hcnJvd1JlZ2V4KGlzU3RyaWN0KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYXRjaEVyYVllYXJPcmRpbmFsKGlzU3RyaWN0LCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5fZXJhWWVhck9yZGluYWxSZWdleCB8fCBtYXRjaFVuc2lnbmVkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNvbXB1dGVFcmFzUGFyc2UoKSB7XG4gICAgICAgIHZhciBhYmJyUGllY2VzID0gW10sXG4gICAgICAgICAgICBuYW1lUGllY2VzID0gW10sXG4gICAgICAgICAgICBuYXJyb3dQaWVjZXMgPSBbXSxcbiAgICAgICAgICAgIG1peGVkUGllY2VzID0gW10sXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgbCxcbiAgICAgICAgICAgIGVyYXMgPSB0aGlzLmVyYXMoKTtcblxuICAgICAgICBmb3IgKGkgPSAwLCBsID0gZXJhcy5sZW5ndGg7IGkgPCBsOyArK2kpIHtcbiAgICAgICAgICAgIG5hbWVQaWVjZXMucHVzaChyZWdleEVzY2FwZShlcmFzW2ldLm5hbWUpKTtcbiAgICAgICAgICAgIGFiYnJQaWVjZXMucHVzaChyZWdleEVzY2FwZShlcmFzW2ldLmFiYnIpKTtcbiAgICAgICAgICAgIG5hcnJvd1BpZWNlcy5wdXNoKHJlZ2V4RXNjYXBlKGVyYXNbaV0ubmFycm93KSk7XG5cbiAgICAgICAgICAgIG1peGVkUGllY2VzLnB1c2gocmVnZXhFc2NhcGUoZXJhc1tpXS5uYW1lKSk7XG4gICAgICAgICAgICBtaXhlZFBpZWNlcy5wdXNoKHJlZ2V4RXNjYXBlKGVyYXNbaV0uYWJicikpO1xuICAgICAgICAgICAgbWl4ZWRQaWVjZXMucHVzaChyZWdleEVzY2FwZShlcmFzW2ldLm5hcnJvdykpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZXJhc1JlZ2V4ID0gbmV3IFJlZ0V4cCgnXignICsgbWl4ZWRQaWVjZXMuam9pbignfCcpICsgJyknLCAnaScpO1xuICAgICAgICB0aGlzLl9lcmFzTmFtZVJlZ2V4ID0gbmV3IFJlZ0V4cCgnXignICsgbmFtZVBpZWNlcy5qb2luKCd8JykgKyAnKScsICdpJyk7XG4gICAgICAgIHRoaXMuX2VyYXNBYmJyUmVnZXggPSBuZXcgUmVnRXhwKCdeKCcgKyBhYmJyUGllY2VzLmpvaW4oJ3wnKSArICcpJywgJ2knKTtcbiAgICAgICAgdGhpcy5fZXJhc05hcnJvd1JlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgICdeKCcgKyBuYXJyb3dQaWVjZXMuam9pbignfCcpICsgJyknLFxuICAgICAgICAgICAgJ2knXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gRk9STUFUVElOR1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oMCwgWydnZycsIDJdLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLndlZWtZZWFyKCkgJSAxMDA7XG4gICAgfSk7XG5cbiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ0dHJywgMl0sIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNvV2Vla1llYXIoKSAlIDEwMDtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4odG9rZW4sIGdldHRlcikge1xuICAgICAgICBhZGRGb3JtYXRUb2tlbigwLCBbdG9rZW4sIHRva2VuLmxlbmd0aF0sIDAsIGdldHRlcik7XG4gICAgfVxuXG4gICAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignZ2dnZycsICd3ZWVrWWVhcicpO1xuICAgIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4oJ2dnZ2dnJywgJ3dlZWtZZWFyJyk7XG4gICAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignR0dHRycsICdpc29XZWVrWWVhcicpO1xuICAgIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4oJ0dHR0dHJywgJ2lzb1dlZWtZZWFyJyk7XG5cbiAgICAvLyBBTElBU0VTXG5cbiAgICBhZGRVbml0QWxpYXMoJ3dlZWtZZWFyJywgJ2dnJyk7XG4gICAgYWRkVW5pdEFsaWFzKCdpc29XZWVrWWVhcicsICdHRycpO1xuXG4gICAgLy8gUFJJT1JJVFlcblxuICAgIGFkZFVuaXRQcmlvcml0eSgnd2Vla1llYXInLCAxKTtcbiAgICBhZGRVbml0UHJpb3JpdHkoJ2lzb1dlZWtZZWFyJywgMSk7XG5cbiAgICAvLyBQQVJTSU5HXG5cbiAgICBhZGRSZWdleFRva2VuKCdHJywgbWF0Y2hTaWduZWQpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ2cnLCBtYXRjaFNpZ25lZCk7XG4gICAgYWRkUmVnZXhUb2tlbignR0cnLCBtYXRjaDF0bzIsIG1hdGNoMik7XG4gICAgYWRkUmVnZXhUb2tlbignZ2cnLCBtYXRjaDF0bzIsIG1hdGNoMik7XG4gICAgYWRkUmVnZXhUb2tlbignR0dHRycsIG1hdGNoMXRvNCwgbWF0Y2g0KTtcbiAgICBhZGRSZWdleFRva2VuKCdnZ2dnJywgbWF0Y2gxdG80LCBtYXRjaDQpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ0dHR0dHJywgbWF0Y2gxdG82LCBtYXRjaDYpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ2dnZ2dnJywgbWF0Y2gxdG82LCBtYXRjaDYpO1xuXG4gICAgYWRkV2Vla1BhcnNlVG9rZW4oXG4gICAgICAgIFsnZ2dnZycsICdnZ2dnZycsICdHR0dHJywgJ0dHR0dHJ10sXG4gICAgICAgIGZ1bmN0aW9uIChpbnB1dCwgd2VlaywgY29uZmlnLCB0b2tlbikge1xuICAgICAgICAgICAgd2Vla1t0b2tlbi5zdWJzdHIoMCwgMildID0gdG9JbnQoaW5wdXQpO1xuICAgICAgICB9XG4gICAgKTtcblxuICAgIGFkZFdlZWtQYXJzZVRva2VuKFsnZ2cnLCAnR0cnXSwgZnVuY3Rpb24gKGlucHV0LCB3ZWVrLCBjb25maWcsIHRva2VuKSB7XG4gICAgICAgIHdlZWtbdG9rZW5dID0gaG9va3MucGFyc2VUd29EaWdpdFllYXIoaW5wdXQpO1xuICAgIH0pO1xuXG4gICAgLy8gTU9NRU5UU1xuXG4gICAgZnVuY3Rpb24gZ2V0U2V0V2Vla1llYXIoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIGdldFNldFdlZWtZZWFySGVscGVyLmNhbGwoXG4gICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgICB0aGlzLndlZWsoKSxcbiAgICAgICAgICAgIHRoaXMud2Vla2RheSgpLFxuICAgICAgICAgICAgdGhpcy5sb2NhbGVEYXRhKCkuX3dlZWsuZG93LFxuICAgICAgICAgICAgdGhpcy5sb2NhbGVEYXRhKCkuX3dlZWsuZG95XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0U2V0SVNPV2Vla1llYXIoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIGdldFNldFdlZWtZZWFySGVscGVyLmNhbGwoXG4gICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgICB0aGlzLmlzb1dlZWsoKSxcbiAgICAgICAgICAgIHRoaXMuaXNvV2Vla2RheSgpLFxuICAgICAgICAgICAgMSxcbiAgICAgICAgICAgIDRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRJU09XZWVrc0luWWVhcigpIHtcbiAgICAgICAgcmV0dXJuIHdlZWtzSW5ZZWFyKHRoaXMueWVhcigpLCAxLCA0KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRJU09XZWVrc0luSVNPV2Vla1llYXIoKSB7XG4gICAgICAgIHJldHVybiB3ZWVrc0luWWVhcih0aGlzLmlzb1dlZWtZZWFyKCksIDEsIDQpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFdlZWtzSW5ZZWFyKCkge1xuICAgICAgICB2YXIgd2Vla0luZm8gPSB0aGlzLmxvY2FsZURhdGEoKS5fd2VlaztcbiAgICAgICAgcmV0dXJuIHdlZWtzSW5ZZWFyKHRoaXMueWVhcigpLCB3ZWVrSW5mby5kb3csIHdlZWtJbmZvLmRveSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0V2Vla3NJbldlZWtZZWFyKCkge1xuICAgICAgICB2YXIgd2Vla0luZm8gPSB0aGlzLmxvY2FsZURhdGEoKS5fd2VlaztcbiAgICAgICAgcmV0dXJuIHdlZWtzSW5ZZWFyKHRoaXMud2Vla1llYXIoKSwgd2Vla0luZm8uZG93LCB3ZWVrSW5mby5kb3kpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFNldFdlZWtZZWFySGVscGVyKGlucHV0LCB3ZWVrLCB3ZWVrZGF5LCBkb3csIGRveSkge1xuICAgICAgICB2YXIgd2Vla3NUYXJnZXQ7XG4gICAgICAgIGlmIChpbnB1dCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gd2Vla09mWWVhcih0aGlzLCBkb3csIGRveSkueWVhcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdlZWtzVGFyZ2V0ID0gd2Vla3NJblllYXIoaW5wdXQsIGRvdywgZG95KTtcbiAgICAgICAgICAgIGlmICh3ZWVrID4gd2Vla3NUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICB3ZWVrID0gd2Vla3NUYXJnZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2V0V2Vla0FsbC5jYWxsKHRoaXMsIGlucHV0LCB3ZWVrLCB3ZWVrZGF5LCBkb3csIGRveSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXRXZWVrQWxsKHdlZWtZZWFyLCB3ZWVrLCB3ZWVrZGF5LCBkb3csIGRveSkge1xuICAgICAgICB2YXIgZGF5T2ZZZWFyRGF0YSA9IGRheU9mWWVhckZyb21XZWVrcyh3ZWVrWWVhciwgd2Vlaywgd2Vla2RheSwgZG93LCBkb3kpLFxuICAgICAgICAgICAgZGF0ZSA9IGNyZWF0ZVVUQ0RhdGUoZGF5T2ZZZWFyRGF0YS55ZWFyLCAwLCBkYXlPZlllYXJEYXRhLmRheU9mWWVhcik7XG5cbiAgICAgICAgdGhpcy55ZWFyKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSk7XG4gICAgICAgIHRoaXMubW9udGgoZGF0ZS5nZXRVVENNb250aCgpKTtcbiAgICAgICAgdGhpcy5kYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gRk9STUFUVElOR1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ1EnLCAwLCAnUW8nLCAncXVhcnRlcicpO1xuXG4gICAgLy8gQUxJQVNFU1xuXG4gICAgYWRkVW5pdEFsaWFzKCdxdWFydGVyJywgJ1EnKTtcblxuICAgIC8vIFBSSU9SSVRZXG5cbiAgICBhZGRVbml0UHJpb3JpdHkoJ3F1YXJ0ZXInLCA3KTtcblxuICAgIC8vIFBBUlNJTkdcblxuICAgIGFkZFJlZ2V4VG9rZW4oJ1EnLCBtYXRjaDEpO1xuICAgIGFkZFBhcnNlVG9rZW4oJ1EnLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7XG4gICAgICAgIGFycmF5W01PTlRIXSA9ICh0b0ludChpbnB1dCkgLSAxKSAqIDM7XG4gICAgfSk7XG5cbiAgICAvLyBNT01FTlRTXG5cbiAgICBmdW5jdGlvbiBnZXRTZXRRdWFydGVyKGlucHV0KSB7XG4gICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsXG4gICAgICAgICAgICA/IE1hdGguY2VpbCgodGhpcy5tb250aCgpICsgMSkgLyAzKVxuICAgICAgICAgICAgOiB0aGlzLm1vbnRoKChpbnB1dCAtIDEpICogMyArICh0aGlzLm1vbnRoKCkgJSAzKSk7XG4gICAgfVxuXG4gICAgLy8gRk9STUFUVElOR1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ0QnLCBbJ0REJywgMl0sICdEbycsICdkYXRlJyk7XG5cbiAgICAvLyBBTElBU0VTXG5cbiAgICBhZGRVbml0QWxpYXMoJ2RhdGUnLCAnRCcpO1xuXG4gICAgLy8gUFJJT1JJVFlcbiAgICBhZGRVbml0UHJpb3JpdHkoJ2RhdGUnLCA5KTtcblxuICAgIC8vIFBBUlNJTkdcblxuICAgIGFkZFJlZ2V4VG9rZW4oJ0QnLCBtYXRjaDF0bzIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ0REJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ0RvJywgZnVuY3Rpb24gKGlzU3RyaWN0LCBsb2NhbGUpIHtcbiAgICAgICAgLy8gVE9ETzogUmVtb3ZlIFwib3JkaW5hbFBhcnNlXCIgZmFsbGJhY2sgaW4gbmV4dCBtYWpvciByZWxlYXNlLlxuICAgICAgICByZXR1cm4gaXNTdHJpY3RcbiAgICAgICAgICAgID8gbG9jYWxlLl9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlIHx8IGxvY2FsZS5fb3JkaW5hbFBhcnNlXG4gICAgICAgICAgICA6IGxvY2FsZS5fZGF5T2ZNb250aE9yZGluYWxQYXJzZUxlbmllbnQ7XG4gICAgfSk7XG5cbiAgICBhZGRQYXJzZVRva2VuKFsnRCcsICdERCddLCBEQVRFKTtcbiAgICBhZGRQYXJzZVRva2VuKCdEbycsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXkpIHtcbiAgICAgICAgYXJyYXlbREFURV0gPSB0b0ludChpbnB1dC5tYXRjaChtYXRjaDF0bzIpWzBdKTtcbiAgICB9KTtcblxuICAgIC8vIE1PTUVOVFNcblxuICAgIHZhciBnZXRTZXREYXlPZk1vbnRoID0gbWFrZUdldFNldCgnRGF0ZScsIHRydWUpO1xuXG4gICAgLy8gRk9STUFUVElOR1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ0RERCcsIFsnRERERCcsIDNdLCAnREREbycsICdkYXlPZlllYXInKTtcblxuICAgIC8vIEFMSUFTRVNcblxuICAgIGFkZFVuaXRBbGlhcygnZGF5T2ZZZWFyJywgJ0RERCcpO1xuXG4gICAgLy8gUFJJT1JJVFlcbiAgICBhZGRVbml0UHJpb3JpdHkoJ2RheU9mWWVhcicsIDQpO1xuXG4gICAgLy8gUEFSU0lOR1xuXG4gICAgYWRkUmVnZXhUb2tlbignREREJywgbWF0Y2gxdG8zKTtcbiAgICBhZGRSZWdleFRva2VuKCdEREREJywgbWF0Y2gzKTtcbiAgICBhZGRQYXJzZVRva2VuKFsnREREJywgJ0REREQnXSwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7XG4gICAgICAgIGNvbmZpZy5fZGF5T2ZZZWFyID0gdG9JbnQoaW5wdXQpO1xuICAgIH0pO1xuXG4gICAgLy8gSEVMUEVSU1xuXG4gICAgLy8gTU9NRU5UU1xuXG4gICAgZnVuY3Rpb24gZ2V0U2V0RGF5T2ZZZWFyKGlucHV0KSB7XG4gICAgICAgIHZhciBkYXlPZlllYXIgPVxuICAgICAgICAgICAgTWF0aC5yb3VuZChcbiAgICAgICAgICAgICAgICAodGhpcy5jbG9uZSgpLnN0YXJ0T2YoJ2RheScpIC0gdGhpcy5jbG9uZSgpLnN0YXJ0T2YoJ3llYXInKSkgLyA4NjRlNVxuICAgICAgICAgICAgKSArIDE7XG4gICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8gZGF5T2ZZZWFyIDogdGhpcy5hZGQoaW5wdXQgLSBkYXlPZlllYXIsICdkJyk7XG4gICAgfVxuXG4gICAgLy8gRk9STUFUVElOR1xuXG4gICAgYWRkRm9ybWF0VG9rZW4oJ20nLCBbJ21tJywgMl0sIDAsICdtaW51dGUnKTtcblxuICAgIC8vIEFMSUFTRVNcblxuICAgIGFkZFVuaXRBbGlhcygnbWludXRlJywgJ20nKTtcblxuICAgIC8vIFBSSU9SSVRZXG5cbiAgICBhZGRVbml0UHJpb3JpdHkoJ21pbnV0ZScsIDE0KTtcblxuICAgIC8vIFBBUlNJTkdcblxuICAgIGFkZFJlZ2V4VG9rZW4oJ20nLCBtYXRjaDF0bzIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ21tJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICAgIGFkZFBhcnNlVG9rZW4oWydtJywgJ21tJ10sIE1JTlVURSk7XG5cbiAgICAvLyBNT01FTlRTXG5cbiAgICB2YXIgZ2V0U2V0TWludXRlID0gbWFrZUdldFNldCgnTWludXRlcycsIGZhbHNlKTtcblxuICAgIC8vIEZPUk1BVFRJTkdcblxuICAgIGFkZEZvcm1hdFRva2VuKCdzJywgWydzcycsIDJdLCAwLCAnc2Vjb25kJyk7XG5cbiAgICAvLyBBTElBU0VTXG5cbiAgICBhZGRVbml0QWxpYXMoJ3NlY29uZCcsICdzJyk7XG5cbiAgICAvLyBQUklPUklUWVxuXG4gICAgYWRkVW5pdFByaW9yaXR5KCdzZWNvbmQnLCAxNSk7XG5cbiAgICAvLyBQQVJTSU5HXG5cbiAgICBhZGRSZWdleFRva2VuKCdzJywgbWF0Y2gxdG8yKTtcbiAgICBhZGRSZWdleFRva2VuKCdzcycsIG1hdGNoMXRvMiwgbWF0Y2gyKTtcbiAgICBhZGRQYXJzZVRva2VuKFsncycsICdzcyddLCBTRUNPTkQpO1xuXG4gICAgLy8gTU9NRU5UU1xuXG4gICAgdmFyIGdldFNldFNlY29uZCA9IG1ha2VHZXRTZXQoJ1NlY29uZHMnLCBmYWxzZSk7XG5cbiAgICAvLyBGT1JNQVRUSU5HXG5cbiAgICBhZGRGb3JtYXRUb2tlbignUycsIDAsIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIH5+KHRoaXMubWlsbGlzZWNvbmQoKSAvIDEwMCk7XG4gICAgfSk7XG5cbiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTJywgMl0sIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIH5+KHRoaXMubWlsbGlzZWNvbmQoKSAvIDEwKTtcbiAgICB9KTtcblxuICAgIGFkZEZvcm1hdFRva2VuKDAsIFsnU1NTJywgM10sIDAsICdtaWxsaXNlY29uZCcpO1xuICAgIGFkZEZvcm1hdFRva2VuKDAsIFsnU1NTUycsIDRdLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDtcbiAgICB9KTtcbiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTJywgNV0sIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWlsbGlzZWNvbmQoKSAqIDEwMDtcbiAgICB9KTtcbiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTUycsIDZdLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwO1xuICAgIH0pO1xuICAgIGFkZEZvcm1hdFRva2VuKDAsIFsnU1NTU1NTUycsIDddLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwMDtcbiAgICB9KTtcbiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTU1NTJywgOF0sIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWlsbGlzZWNvbmQoKSAqIDEwMDAwMDtcbiAgICB9KTtcbiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTU1NTUycsIDldLCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwMDAwO1xuICAgIH0pO1xuXG4gICAgLy8gQUxJQVNFU1xuXG4gICAgYWRkVW5pdEFsaWFzKCdtaWxsaXNlY29uZCcsICdtcycpO1xuXG4gICAgLy8gUFJJT1JJVFlcblxuICAgIGFkZFVuaXRQcmlvcml0eSgnbWlsbGlzZWNvbmQnLCAxNik7XG5cbiAgICAvLyBQQVJTSU5HXG5cbiAgICBhZGRSZWdleFRva2VuKCdTJywgbWF0Y2gxdG8zLCBtYXRjaDEpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ1NTJywgbWF0Y2gxdG8zLCBtYXRjaDIpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ1NTUycsIG1hdGNoMXRvMywgbWF0Y2gzKTtcblxuICAgIHZhciB0b2tlbiwgZ2V0U2V0TWlsbGlzZWNvbmQ7XG4gICAgZm9yICh0b2tlbiA9ICdTU1NTJzsgdG9rZW4ubGVuZ3RoIDw9IDk7IHRva2VuICs9ICdTJykge1xuICAgICAgICBhZGRSZWdleFRva2VuKHRva2VuLCBtYXRjaFVuc2lnbmVkKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBwYXJzZU1zKGlucHV0LCBhcnJheSkge1xuICAgICAgICBhcnJheVtNSUxMSVNFQ09ORF0gPSB0b0ludCgoJzAuJyArIGlucHV0KSAqIDEwMDApO1xuICAgIH1cblxuICAgIGZvciAodG9rZW4gPSAnUyc7IHRva2VuLmxlbmd0aCA8PSA5OyB0b2tlbiArPSAnUycpIHtcbiAgICAgICAgYWRkUGFyc2VUb2tlbih0b2tlbiwgcGFyc2VNcyk7XG4gICAgfVxuXG4gICAgZ2V0U2V0TWlsbGlzZWNvbmQgPSBtYWtlR2V0U2V0KCdNaWxsaXNlY29uZHMnLCBmYWxzZSk7XG5cbiAgICAvLyBGT1JNQVRUSU5HXG5cbiAgICBhZGRGb3JtYXRUb2tlbigneicsIDAsIDAsICd6b25lQWJicicpO1xuICAgIGFkZEZvcm1hdFRva2VuKCd6eicsIDAsIDAsICd6b25lTmFtZScpO1xuXG4gICAgLy8gTU9NRU5UU1xuXG4gICAgZnVuY3Rpb24gZ2V0Wm9uZUFiYnIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1VUQyA/ICdVVEMnIDogJyc7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0Wm9uZU5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1VUQyA/ICdDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZScgOiAnJztcbiAgICB9XG5cbiAgICB2YXIgcHJvdG8gPSBNb21lbnQucHJvdG90eXBlO1xuXG4gICAgcHJvdG8uYWRkID0gYWRkO1xuICAgIHByb3RvLmNhbGVuZGFyID0gY2FsZW5kYXIkMTtcbiAgICBwcm90by5jbG9uZSA9IGNsb25lO1xuICAgIHByb3RvLmRpZmYgPSBkaWZmO1xuICAgIHByb3RvLmVuZE9mID0gZW5kT2Y7XG4gICAgcHJvdG8uZm9ybWF0ID0gZm9ybWF0O1xuICAgIHByb3RvLmZyb20gPSBmcm9tO1xuICAgIHByb3RvLmZyb21Ob3cgPSBmcm9tTm93O1xuICAgIHByb3RvLnRvID0gdG87XG4gICAgcHJvdG8udG9Ob3cgPSB0b05vdztcbiAgICBwcm90by5nZXQgPSBzdHJpbmdHZXQ7XG4gICAgcHJvdG8uaW52YWxpZEF0ID0gaW52YWxpZEF0O1xuICAgIHByb3RvLmlzQWZ0ZXIgPSBpc0FmdGVyO1xuICAgIHByb3RvLmlzQmVmb3JlID0gaXNCZWZvcmU7XG4gICAgcHJvdG8uaXNCZXR3ZWVuID0gaXNCZXR3ZWVuO1xuICAgIHByb3RvLmlzU2FtZSA9IGlzU2FtZTtcbiAgICBwcm90by5pc1NhbWVPckFmdGVyID0gaXNTYW1lT3JBZnRlcjtcbiAgICBwcm90by5pc1NhbWVPckJlZm9yZSA9IGlzU2FtZU9yQmVmb3JlO1xuICAgIHByb3RvLmlzVmFsaWQgPSBpc1ZhbGlkJDI7XG4gICAgcHJvdG8ubGFuZyA9IGxhbmc7XG4gICAgcHJvdG8ubG9jYWxlID0gbG9jYWxlO1xuICAgIHByb3RvLmxvY2FsZURhdGEgPSBsb2NhbGVEYXRhO1xuICAgIHByb3RvLm1heCA9IHByb3RvdHlwZU1heDtcbiAgICBwcm90by5taW4gPSBwcm90b3R5cGVNaW47XG4gICAgcHJvdG8ucGFyc2luZ0ZsYWdzID0gcGFyc2luZ0ZsYWdzO1xuICAgIHByb3RvLnNldCA9IHN0cmluZ1NldDtcbiAgICBwcm90by5zdGFydE9mID0gc3RhcnRPZjtcbiAgICBwcm90by5zdWJ0cmFjdCA9IHN1YnRyYWN0O1xuICAgIHByb3RvLnRvQXJyYXkgPSB0b0FycmF5O1xuICAgIHByb3RvLnRvT2JqZWN0ID0gdG9PYmplY3Q7XG4gICAgcHJvdG8udG9EYXRlID0gdG9EYXRlO1xuICAgIHByb3RvLnRvSVNPU3RyaW5nID0gdG9JU09TdHJpbmc7XG4gICAgcHJvdG8uaW5zcGVjdCA9IGluc3BlY3Q7XG4gICAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC5mb3IgIT0gbnVsbCkge1xuICAgICAgICBwcm90b1tTeW1ib2wuZm9yKCdub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbScpXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiAnTW9tZW50PCcgKyB0aGlzLmZvcm1hdCgpICsgJz4nO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBwcm90by50b0pTT04gPSB0b0pTT047XG4gICAgcHJvdG8udG9TdHJpbmcgPSB0b1N0cmluZztcbiAgICBwcm90by51bml4ID0gdW5peDtcbiAgICBwcm90by52YWx1ZU9mID0gdmFsdWVPZjtcbiAgICBwcm90by5jcmVhdGlvbkRhdGEgPSBjcmVhdGlvbkRhdGE7XG4gICAgcHJvdG8uZXJhTmFtZSA9IGdldEVyYU5hbWU7XG4gICAgcHJvdG8uZXJhTmFycm93ID0gZ2V0RXJhTmFycm93O1xuICAgIHByb3RvLmVyYUFiYnIgPSBnZXRFcmFBYmJyO1xuICAgIHByb3RvLmVyYVllYXIgPSBnZXRFcmFZZWFyO1xuICAgIHByb3RvLnllYXIgPSBnZXRTZXRZZWFyO1xuICAgIHByb3RvLmlzTGVhcFllYXIgPSBnZXRJc0xlYXBZZWFyO1xuICAgIHByb3RvLndlZWtZZWFyID0gZ2V0U2V0V2Vla1llYXI7XG4gICAgcHJvdG8uaXNvV2Vla1llYXIgPSBnZXRTZXRJU09XZWVrWWVhcjtcbiAgICBwcm90by5xdWFydGVyID0gcHJvdG8ucXVhcnRlcnMgPSBnZXRTZXRRdWFydGVyO1xuICAgIHByb3RvLm1vbnRoID0gZ2V0U2V0TW9udGg7XG4gICAgcHJvdG8uZGF5c0luTW9udGggPSBnZXREYXlzSW5Nb250aDtcbiAgICBwcm90by53ZWVrID0gcHJvdG8ud2Vla3MgPSBnZXRTZXRXZWVrO1xuICAgIHByb3RvLmlzb1dlZWsgPSBwcm90by5pc29XZWVrcyA9IGdldFNldElTT1dlZWs7XG4gICAgcHJvdG8ud2Vla3NJblllYXIgPSBnZXRXZWVrc0luWWVhcjtcbiAgICBwcm90by53ZWVrc0luV2Vla1llYXIgPSBnZXRXZWVrc0luV2Vla1llYXI7XG4gICAgcHJvdG8uaXNvV2Vla3NJblllYXIgPSBnZXRJU09XZWVrc0luWWVhcjtcbiAgICBwcm90by5pc29XZWVrc0luSVNPV2Vla1llYXIgPSBnZXRJU09XZWVrc0luSVNPV2Vla1llYXI7XG4gICAgcHJvdG8uZGF0ZSA9IGdldFNldERheU9mTW9udGg7XG4gICAgcHJvdG8uZGF5ID0gcHJvdG8uZGF5cyA9IGdldFNldERheU9mV2VlaztcbiAgICBwcm90by53ZWVrZGF5ID0gZ2V0U2V0TG9jYWxlRGF5T2ZXZWVrO1xuICAgIHByb3RvLmlzb1dlZWtkYXkgPSBnZXRTZXRJU09EYXlPZldlZWs7XG4gICAgcHJvdG8uZGF5T2ZZZWFyID0gZ2V0U2V0RGF5T2ZZZWFyO1xuICAgIHByb3RvLmhvdXIgPSBwcm90by5ob3VycyA9IGdldFNldEhvdXI7XG4gICAgcHJvdG8ubWludXRlID0gcHJvdG8ubWludXRlcyA9IGdldFNldE1pbnV0ZTtcbiAgICBwcm90by5zZWNvbmQgPSBwcm90by5zZWNvbmRzID0gZ2V0U2V0U2Vjb25kO1xuICAgIHByb3RvLm1pbGxpc2Vjb25kID0gcHJvdG8ubWlsbGlzZWNvbmRzID0gZ2V0U2V0TWlsbGlzZWNvbmQ7XG4gICAgcHJvdG8udXRjT2Zmc2V0ID0gZ2V0U2V0T2Zmc2V0O1xuICAgIHByb3RvLnV0YyA9IHNldE9mZnNldFRvVVRDO1xuICAgIHByb3RvLmxvY2FsID0gc2V0T2Zmc2V0VG9Mb2NhbDtcbiAgICBwcm90by5wYXJzZVpvbmUgPSBzZXRPZmZzZXRUb1BhcnNlZE9mZnNldDtcbiAgICBwcm90by5oYXNBbGlnbmVkSG91ck9mZnNldCA9IGhhc0FsaWduZWRIb3VyT2Zmc2V0O1xuICAgIHByb3RvLmlzRFNUID0gaXNEYXlsaWdodFNhdmluZ1RpbWU7XG4gICAgcHJvdG8uaXNMb2NhbCA9IGlzTG9jYWw7XG4gICAgcHJvdG8uaXNVdGNPZmZzZXQgPSBpc1V0Y09mZnNldDtcbiAgICBwcm90by5pc1V0YyA9IGlzVXRjO1xuICAgIHByb3RvLmlzVVRDID0gaXNVdGM7XG4gICAgcHJvdG8uem9uZUFiYnIgPSBnZXRab25lQWJicjtcbiAgICBwcm90by56b25lTmFtZSA9IGdldFpvbmVOYW1lO1xuICAgIHByb3RvLmRhdGVzID0gZGVwcmVjYXRlKFxuICAgICAgICAnZGF0ZXMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIGRhdGUgaW5zdGVhZC4nLFxuICAgICAgICBnZXRTZXREYXlPZk1vbnRoXG4gICAgKTtcbiAgICBwcm90by5tb250aHMgPSBkZXByZWNhdGUoXG4gICAgICAgICdtb250aHMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbnRoIGluc3RlYWQnLFxuICAgICAgICBnZXRTZXRNb250aFxuICAgICk7XG4gICAgcHJvdG8ueWVhcnMgPSBkZXByZWNhdGUoXG4gICAgICAgICd5ZWFycyBhY2Nlc3NvciBpcyBkZXByZWNhdGVkLiBVc2UgeWVhciBpbnN0ZWFkJyxcbiAgICAgICAgZ2V0U2V0WWVhclxuICAgICk7XG4gICAgcHJvdG8uem9uZSA9IGRlcHJlY2F0ZShcbiAgICAgICAgJ21vbWVudCgpLnpvbmUgaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudCgpLnV0Y09mZnNldCBpbnN0ZWFkLiBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL3pvbmUvJyxcbiAgICAgICAgZ2V0U2V0Wm9uZVxuICAgICk7XG4gICAgcHJvdG8uaXNEU1RTaGlmdGVkID0gZGVwcmVjYXRlKFxuICAgICAgICAnaXNEU1RTaGlmdGVkIGlzIGRlcHJlY2F0ZWQuIFNlZSBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL2RzdC1zaGlmdGVkLyBmb3IgbW9yZSBpbmZvcm1hdGlvbicsXG4gICAgICAgIGlzRGF5bGlnaHRTYXZpbmdUaW1lU2hpZnRlZFxuICAgICk7XG5cbiAgICBmdW5jdGlvbiBjcmVhdGVVbml4KGlucHV0KSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVMb2NhbChpbnB1dCAqIDEwMDApO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNyZWF0ZUluWm9uZSgpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUxvY2FsLmFwcGx5KG51bGwsIGFyZ3VtZW50cykucGFyc2Vab25lKCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcHJlUGFyc2VQb3N0Rm9ybWF0KHN0cmluZykge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgIH1cblxuICAgIHZhciBwcm90byQxID0gTG9jYWxlLnByb3RvdHlwZTtcblxuICAgIHByb3RvJDEuY2FsZW5kYXIgPSBjYWxlbmRhcjtcbiAgICBwcm90byQxLmxvbmdEYXRlRm9ybWF0ID0gbG9uZ0RhdGVGb3JtYXQ7XG4gICAgcHJvdG8kMS5pbnZhbGlkRGF0ZSA9IGludmFsaWREYXRlO1xuICAgIHByb3RvJDEub3JkaW5hbCA9IG9yZGluYWw7XG4gICAgcHJvdG8kMS5wcmVwYXJzZSA9IHByZVBhcnNlUG9zdEZvcm1hdDtcbiAgICBwcm90byQxLnBvc3Rmb3JtYXQgPSBwcmVQYXJzZVBvc3RGb3JtYXQ7XG4gICAgcHJvdG8kMS5yZWxhdGl2ZVRpbWUgPSByZWxhdGl2ZVRpbWU7XG4gICAgcHJvdG8kMS5wYXN0RnV0dXJlID0gcGFzdEZ1dHVyZTtcbiAgICBwcm90byQxLnNldCA9IHNldDtcbiAgICBwcm90byQxLmVyYXMgPSBsb2NhbGVFcmFzO1xuICAgIHByb3RvJDEuZXJhc1BhcnNlID0gbG9jYWxlRXJhc1BhcnNlO1xuICAgIHByb3RvJDEuZXJhc0NvbnZlcnRZZWFyID0gbG9jYWxlRXJhc0NvbnZlcnRZZWFyO1xuICAgIHByb3RvJDEuZXJhc0FiYnJSZWdleCA9IGVyYXNBYmJyUmVnZXg7XG4gICAgcHJvdG8kMS5lcmFzTmFtZVJlZ2V4ID0gZXJhc05hbWVSZWdleDtcbiAgICBwcm90byQxLmVyYXNOYXJyb3dSZWdleCA9IGVyYXNOYXJyb3dSZWdleDtcblxuICAgIHByb3RvJDEubW9udGhzID0gbG9jYWxlTW9udGhzO1xuICAgIHByb3RvJDEubW9udGhzU2hvcnQgPSBsb2NhbGVNb250aHNTaG9ydDtcbiAgICBwcm90byQxLm1vbnRoc1BhcnNlID0gbG9jYWxlTW9udGhzUGFyc2U7XG4gICAgcHJvdG8kMS5tb250aHNSZWdleCA9IG1vbnRoc1JlZ2V4O1xuICAgIHByb3RvJDEubW9udGhzU2hvcnRSZWdleCA9IG1vbnRoc1Nob3J0UmVnZXg7XG4gICAgcHJvdG8kMS53ZWVrID0gbG9jYWxlV2VlaztcbiAgICBwcm90byQxLmZpcnN0RGF5T2ZZZWFyID0gbG9jYWxlRmlyc3REYXlPZlllYXI7XG4gICAgcHJvdG8kMS5maXJzdERheU9mV2VlayA9IGxvY2FsZUZpcnN0RGF5T2ZXZWVrO1xuXG4gICAgcHJvdG8kMS53ZWVrZGF5cyA9IGxvY2FsZVdlZWtkYXlzO1xuICAgIHByb3RvJDEud2Vla2RheXNNaW4gPSBsb2NhbGVXZWVrZGF5c01pbjtcbiAgICBwcm90byQxLndlZWtkYXlzU2hvcnQgPSBsb2NhbGVXZWVrZGF5c1Nob3J0O1xuICAgIHByb3RvJDEud2Vla2RheXNQYXJzZSA9IGxvY2FsZVdlZWtkYXlzUGFyc2U7XG5cbiAgICBwcm90byQxLndlZWtkYXlzUmVnZXggPSB3ZWVrZGF5c1JlZ2V4O1xuICAgIHByb3RvJDEud2Vla2RheXNTaG9ydFJlZ2V4ID0gd2Vla2RheXNTaG9ydFJlZ2V4O1xuICAgIHByb3RvJDEud2Vla2RheXNNaW5SZWdleCA9IHdlZWtkYXlzTWluUmVnZXg7XG5cbiAgICBwcm90byQxLmlzUE0gPSBsb2NhbGVJc1BNO1xuICAgIHByb3RvJDEubWVyaWRpZW0gPSBsb2NhbGVNZXJpZGllbTtcblxuICAgIGZ1bmN0aW9uIGdldCQxKGZvcm1hdCwgaW5kZXgsIGZpZWxkLCBzZXR0ZXIpIHtcbiAgICAgICAgdmFyIGxvY2FsZSA9IGdldExvY2FsZSgpLFxuICAgICAgICAgICAgdXRjID0gY3JlYXRlVVRDKCkuc2V0KHNldHRlciwgaW5kZXgpO1xuICAgICAgICByZXR1cm4gbG9jYWxlW2ZpZWxkXSh1dGMsIGZvcm1hdCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbGlzdE1vbnRoc0ltcGwoZm9ybWF0LCBpbmRleCwgZmllbGQpIHtcbiAgICAgICAgaWYgKGlzTnVtYmVyKGZvcm1hdCkpIHtcbiAgICAgICAgICAgIGluZGV4ID0gZm9ybWF0O1xuICAgICAgICAgICAgZm9ybWF0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9ybWF0ID0gZm9ybWF0IHx8ICcnO1xuXG4gICAgICAgIGlmIChpbmRleCAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0JDEoZm9ybWF0LCBpbmRleCwgZmllbGQsICdtb250aCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGksXG4gICAgICAgICAgICBvdXQgPSBbXTtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IDEyOyBpKyspIHtcbiAgICAgICAgICAgIG91dFtpXSA9IGdldCQxKGZvcm1hdCwgaSwgZmllbGQsICdtb250aCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuXG4gICAgLy8gKClcbiAgICAvLyAoNSlcbiAgICAvLyAoZm10LCA1KVxuICAgIC8vIChmbXQpXG4gICAgLy8gKHRydWUpXG4gICAgLy8gKHRydWUsIDUpXG4gICAgLy8gKHRydWUsIGZtdCwgNSlcbiAgICAvLyAodHJ1ZSwgZm10KVxuICAgIGZ1bmN0aW9uIGxpc3RXZWVrZGF5c0ltcGwobG9jYWxlU29ydGVkLCBmb3JtYXQsIGluZGV4LCBmaWVsZCkge1xuICAgICAgICBpZiAodHlwZW9mIGxvY2FsZVNvcnRlZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICBpZiAoaXNOdW1iZXIoZm9ybWF0KSkge1xuICAgICAgICAgICAgICAgIGluZGV4ID0gZm9ybWF0O1xuICAgICAgICAgICAgICAgIGZvcm1hdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9ybWF0ID0gZm9ybWF0IHx8ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9ybWF0ID0gbG9jYWxlU29ydGVkO1xuICAgICAgICAgICAgaW5kZXggPSBmb3JtYXQ7XG4gICAgICAgICAgICBsb2NhbGVTb3J0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKGlzTnVtYmVyKGZvcm1hdCkpIHtcbiAgICAgICAgICAgICAgICBpbmRleCA9IGZvcm1hdDtcbiAgICAgICAgICAgICAgICBmb3JtYXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvcm1hdCA9IGZvcm1hdCB8fCAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBsb2NhbGUgPSBnZXRMb2NhbGUoKSxcbiAgICAgICAgICAgIHNoaWZ0ID0gbG9jYWxlU29ydGVkID8gbG9jYWxlLl93ZWVrLmRvdyA6IDAsXG4gICAgICAgICAgICBpLFxuICAgICAgICAgICAgb3V0ID0gW107XG5cbiAgICAgICAgaWYgKGluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXQkMShmb3JtYXQsIChpbmRleCArIHNoaWZ0KSAlIDcsIGZpZWxkLCAnZGF5Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICAgICAgICBvdXRbaV0gPSBnZXQkMShmb3JtYXQsIChpICsgc2hpZnQpICUgNywgZmllbGQsICdkYXknKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3V0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxpc3RNb250aHMoZm9ybWF0LCBpbmRleCkge1xuICAgICAgICByZXR1cm4gbGlzdE1vbnRoc0ltcGwoZm9ybWF0LCBpbmRleCwgJ21vbnRocycpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGxpc3RNb250aHNTaG9ydChmb3JtYXQsIGluZGV4KSB7XG4gICAgICAgIHJldHVybiBsaXN0TW9udGhzSW1wbChmb3JtYXQsIGluZGV4LCAnbW9udGhzU2hvcnQnKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsaXN0V2Vla2RheXMobG9jYWxlU29ydGVkLCBmb3JtYXQsIGluZGV4KSB7XG4gICAgICAgIHJldHVybiBsaXN0V2Vla2RheXNJbXBsKGxvY2FsZVNvcnRlZCwgZm9ybWF0LCBpbmRleCwgJ3dlZWtkYXlzJyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbGlzdFdlZWtkYXlzU2hvcnQobG9jYWxlU29ydGVkLCBmb3JtYXQsIGluZGV4KSB7XG4gICAgICAgIHJldHVybiBsaXN0V2Vla2RheXNJbXBsKGxvY2FsZVNvcnRlZCwgZm9ybWF0LCBpbmRleCwgJ3dlZWtkYXlzU2hvcnQnKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsaXN0V2Vla2RheXNNaW4obG9jYWxlU29ydGVkLCBmb3JtYXQsIGluZGV4KSB7XG4gICAgICAgIHJldHVybiBsaXN0V2Vla2RheXNJbXBsKGxvY2FsZVNvcnRlZCwgZm9ybWF0LCBpbmRleCwgJ3dlZWtkYXlzTWluJyk7XG4gICAgfVxuXG4gICAgZ2V0U2V0R2xvYmFsTG9jYWxlKCdlbicsIHtcbiAgICAgICAgZXJhczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNpbmNlOiAnMDAwMS0wMS0wMScsXG4gICAgICAgICAgICAgICAgdW50aWw6ICtJbmZpbml0eSxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXG4gICAgICAgICAgICAgICAgbmFtZTogJ0Fubm8gRG9taW5pJyxcbiAgICAgICAgICAgICAgICBuYXJyb3c6ICdBRCcsXG4gICAgICAgICAgICAgICAgYWJicjogJ0FEJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2luY2U6ICcwMDAwLTEyLTMxJyxcbiAgICAgICAgICAgICAgICB1bnRpbDogLUluZmluaXR5LFxuICAgICAgICAgICAgICAgIG9mZnNldDogMSxcbiAgICAgICAgICAgICAgICBuYW1lOiAnQmVmb3JlIENocmlzdCcsXG4gICAgICAgICAgICAgICAgbmFycm93OiAnQkMnLFxuICAgICAgICAgICAgICAgIGFiYnI6ICdCQycsXG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiAvXFxkezEsMn0odGh8c3R8bmR8cmQpLyxcbiAgICAgICAgb3JkaW5hbDogZnVuY3Rpb24gKG51bWJlcikge1xuICAgICAgICAgICAgdmFyIGIgPSBudW1iZXIgJSAxMCxcbiAgICAgICAgICAgICAgICBvdXRwdXQgPVxuICAgICAgICAgICAgICAgICAgICB0b0ludCgobnVtYmVyICUgMTAwKSAvIDEwKSA9PT0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgPyAndGgnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGIgPT09IDFcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ3N0J1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBiID09PSAyXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICduZCdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogYiA9PT0gM1xuICAgICAgICAgICAgICAgICAgICAgICAgPyAncmQnXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICd0aCc7XG4gICAgICAgICAgICByZXR1cm4gbnVtYmVyICsgb3V0cHV0O1xuICAgICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gU2lkZSBlZmZlY3QgaW1wb3J0c1xuXG4gICAgaG9va3MubGFuZyA9IGRlcHJlY2F0ZShcbiAgICAgICAgJ21vbWVudC5sYW5nIGlzIGRlcHJlY2F0ZWQuIFVzZSBtb21lbnQubG9jYWxlIGluc3RlYWQuJyxcbiAgICAgICAgZ2V0U2V0R2xvYmFsTG9jYWxlXG4gICAgKTtcbiAgICBob29rcy5sYW5nRGF0YSA9IGRlcHJlY2F0ZShcbiAgICAgICAgJ21vbWVudC5sYW5nRGF0YSBpcyBkZXByZWNhdGVkLiBVc2UgbW9tZW50LmxvY2FsZURhdGEgaW5zdGVhZC4nLFxuICAgICAgICBnZXRMb2NhbGVcbiAgICApO1xuXG4gICAgdmFyIG1hdGhBYnMgPSBNYXRoLmFicztcblxuICAgIGZ1bmN0aW9uIGFicygpIHtcbiAgICAgICAgdmFyIGRhdGEgPSB0aGlzLl9kYXRhO1xuXG4gICAgICAgIHRoaXMuX21pbGxpc2Vjb25kcyA9IG1hdGhBYnModGhpcy5fbWlsbGlzZWNvbmRzKTtcbiAgICAgICAgdGhpcy5fZGF5cyA9IG1hdGhBYnModGhpcy5fZGF5cyk7XG4gICAgICAgIHRoaXMuX21vbnRocyA9IG1hdGhBYnModGhpcy5fbW9udGhzKTtcblxuICAgICAgICBkYXRhLm1pbGxpc2Vjb25kcyA9IG1hdGhBYnMoZGF0YS5taWxsaXNlY29uZHMpO1xuICAgICAgICBkYXRhLnNlY29uZHMgPSBtYXRoQWJzKGRhdGEuc2Vjb25kcyk7XG4gICAgICAgIGRhdGEubWludXRlcyA9IG1hdGhBYnMoZGF0YS5taW51dGVzKTtcbiAgICAgICAgZGF0YS5ob3VycyA9IG1hdGhBYnMoZGF0YS5ob3Vycyk7XG4gICAgICAgIGRhdGEubW9udGhzID0gbWF0aEFicyhkYXRhLm1vbnRocyk7XG4gICAgICAgIGRhdGEueWVhcnMgPSBtYXRoQWJzKGRhdGEueWVhcnMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFkZFN1YnRyYWN0JDEoZHVyYXRpb24sIGlucHV0LCB2YWx1ZSwgZGlyZWN0aW9uKSB7XG4gICAgICAgIHZhciBvdGhlciA9IGNyZWF0ZUR1cmF0aW9uKGlucHV0LCB2YWx1ZSk7XG5cbiAgICAgICAgZHVyYXRpb24uX21pbGxpc2Vjb25kcyArPSBkaXJlY3Rpb24gKiBvdGhlci5fbWlsbGlzZWNvbmRzO1xuICAgICAgICBkdXJhdGlvbi5fZGF5cyArPSBkaXJlY3Rpb24gKiBvdGhlci5fZGF5cztcbiAgICAgICAgZHVyYXRpb24uX21vbnRocyArPSBkaXJlY3Rpb24gKiBvdGhlci5fbW9udGhzO1xuXG4gICAgICAgIHJldHVybiBkdXJhdGlvbi5fYnViYmxlKCk7XG4gICAgfVxuXG4gICAgLy8gc3VwcG9ydHMgb25seSAyLjAtc3R5bGUgYWRkKDEsICdzJykgb3IgYWRkKGR1cmF0aW9uKVxuICAgIGZ1bmN0aW9uIGFkZCQxKGlucHV0LCB2YWx1ZSkge1xuICAgICAgICByZXR1cm4gYWRkU3VidHJhY3QkMSh0aGlzLCBpbnB1dCwgdmFsdWUsIDEpO1xuICAgIH1cblxuICAgIC8vIHN1cHBvcnRzIG9ubHkgMi4wLXN0eWxlIHN1YnRyYWN0KDEsICdzJykgb3Igc3VidHJhY3QoZHVyYXRpb24pXG4gICAgZnVuY3Rpb24gc3VidHJhY3QkMShpbnB1dCwgdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGFkZFN1YnRyYWN0JDEodGhpcywgaW5wdXQsIHZhbHVlLCAtMSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYWJzQ2VpbChudW1iZXIpIHtcbiAgICAgICAgaWYgKG51bWJlciA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLmZsb29yKG51bWJlcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5jZWlsKG51bWJlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBidWJibGUoKSB7XG4gICAgICAgIHZhciBtaWxsaXNlY29uZHMgPSB0aGlzLl9taWxsaXNlY29uZHMsXG4gICAgICAgICAgICBkYXlzID0gdGhpcy5fZGF5cyxcbiAgICAgICAgICAgIG1vbnRocyA9IHRoaXMuX21vbnRocyxcbiAgICAgICAgICAgIGRhdGEgPSB0aGlzLl9kYXRhLFxuICAgICAgICAgICAgc2Vjb25kcyxcbiAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICBob3VycyxcbiAgICAgICAgICAgIHllYXJzLFxuICAgICAgICAgICAgbW9udGhzRnJvbURheXM7XG5cbiAgICAgICAgLy8gaWYgd2UgaGF2ZSBhIG1peCBvZiBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgdmFsdWVzLCBidWJibGUgZG93biBmaXJzdFxuICAgICAgICAvLyBjaGVjazogaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzIxNjZcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAobWlsbGlzZWNvbmRzID49IDAgJiYgZGF5cyA+PSAwICYmIG1vbnRocyA+PSAwKSB8fFxuICAgICAgICAgICAgICAgIChtaWxsaXNlY29uZHMgPD0gMCAmJiBkYXlzIDw9IDAgJiYgbW9udGhzIDw9IDApXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgbWlsbGlzZWNvbmRzICs9IGFic0NlaWwobW9udGhzVG9EYXlzKG1vbnRocykgKyBkYXlzKSAqIDg2NGU1O1xuICAgICAgICAgICAgZGF5cyA9IDA7XG4gICAgICAgICAgICBtb250aHMgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIGJ1YmJsZXMgdXAgdmFsdWVzLCBzZWUgdGhlIHRlc3RzIGZvclxuICAgICAgICAvLyBleGFtcGxlcyBvZiB3aGF0IHRoYXQgbWVhbnMuXG4gICAgICAgIGRhdGEubWlsbGlzZWNvbmRzID0gbWlsbGlzZWNvbmRzICUgMTAwMDtcblxuICAgICAgICBzZWNvbmRzID0gYWJzRmxvb3IobWlsbGlzZWNvbmRzIC8gMTAwMCk7XG4gICAgICAgIGRhdGEuc2Vjb25kcyA9IHNlY29uZHMgJSA2MDtcblxuICAgICAgICBtaW51dGVzID0gYWJzRmxvb3Ioc2Vjb25kcyAvIDYwKTtcbiAgICAgICAgZGF0YS5taW51dGVzID0gbWludXRlcyAlIDYwO1xuXG4gICAgICAgIGhvdXJzID0gYWJzRmxvb3IobWludXRlcyAvIDYwKTtcbiAgICAgICAgZGF0YS5ob3VycyA9IGhvdXJzICUgMjQ7XG5cbiAgICAgICAgZGF5cyArPSBhYnNGbG9vcihob3VycyAvIDI0KTtcblxuICAgICAgICAvLyBjb252ZXJ0IGRheXMgdG8gbW9udGhzXG4gICAgICAgIG1vbnRoc0Zyb21EYXlzID0gYWJzRmxvb3IoZGF5c1RvTW9udGhzKGRheXMpKTtcbiAgICAgICAgbW9udGhzICs9IG1vbnRoc0Zyb21EYXlzO1xuICAgICAgICBkYXlzIC09IGFic0NlaWwobW9udGhzVG9EYXlzKG1vbnRoc0Zyb21EYXlzKSk7XG5cbiAgICAgICAgLy8gMTIgbW9udGhzIC0+IDEgeWVhclxuICAgICAgICB5ZWFycyA9IGFic0Zsb29yKG1vbnRocyAvIDEyKTtcbiAgICAgICAgbW9udGhzICU9IDEyO1xuXG4gICAgICAgIGRhdGEuZGF5cyA9IGRheXM7XG4gICAgICAgIGRhdGEubW9udGhzID0gbW9udGhzO1xuICAgICAgICBkYXRhLnllYXJzID0geWVhcnM7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGF5c1RvTW9udGhzKGRheXMpIHtcbiAgICAgICAgLy8gNDAwIHllYXJzIGhhdmUgMTQ2MDk3IGRheXMgKHRha2luZyBpbnRvIGFjY291bnQgbGVhcCB5ZWFyIHJ1bGVzKVxuICAgICAgICAvLyA0MDAgeWVhcnMgaGF2ZSAxMiBtb250aHMgPT09IDQ4MDBcbiAgICAgICAgcmV0dXJuIChkYXlzICogNDgwMCkgLyAxNDYwOTc7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbW9udGhzVG9EYXlzKG1vbnRocykge1xuICAgICAgICAvLyB0aGUgcmV2ZXJzZSBvZiBkYXlzVG9Nb250aHNcbiAgICAgICAgcmV0dXJuIChtb250aHMgKiAxNDYwOTcpIC8gNDgwMDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhcyh1bml0cykge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gTmFOO1xuICAgICAgICB9XG4gICAgICAgIHZhciBkYXlzLFxuICAgICAgICAgICAgbW9udGhzLFxuICAgICAgICAgICAgbWlsbGlzZWNvbmRzID0gdGhpcy5fbWlsbGlzZWNvbmRzO1xuXG4gICAgICAgIHVuaXRzID0gbm9ybWFsaXplVW5pdHModW5pdHMpO1xuXG4gICAgICAgIGlmICh1bml0cyA9PT0gJ21vbnRoJyB8fCB1bml0cyA9PT0gJ3F1YXJ0ZXInIHx8IHVuaXRzID09PSAneWVhcicpIHtcbiAgICAgICAgICAgIGRheXMgPSB0aGlzLl9kYXlzICsgbWlsbGlzZWNvbmRzIC8gODY0ZTU7XG4gICAgICAgICAgICBtb250aHMgPSB0aGlzLl9tb250aHMgKyBkYXlzVG9Nb250aHMoZGF5cyk7XG4gICAgICAgICAgICBzd2l0Y2ggKHVuaXRzKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbW9udGhzO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbW9udGhzIC8gMztcbiAgICAgICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vbnRocyAvIDEyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaGFuZGxlIG1pbGxpc2Vjb25kcyBzZXBhcmF0ZWx5IGJlY2F1c2Ugb2YgZmxvYXRpbmcgcG9pbnQgbWF0aCBlcnJvcnMgKGlzc3VlICMxODY3KVxuICAgICAgICAgICAgZGF5cyA9IHRoaXMuX2RheXMgKyBNYXRoLnJvdW5kKG1vbnRoc1RvRGF5cyh0aGlzLl9tb250aHMpKTtcbiAgICAgICAgICAgIHN3aXRjaCAodW5pdHMpIHtcbiAgICAgICAgICAgICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRheXMgLyA3ICsgbWlsbGlzZWNvbmRzIC8gNjA0OGU1O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXlzICsgbWlsbGlzZWNvbmRzIC8gODY0ZTU7XG4gICAgICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXlzICogMjQgKyBtaWxsaXNlY29uZHMgLyAzNmU1O1xuICAgICAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXlzICogMTQ0MCArIG1pbGxpc2Vjb25kcyAvIDZlNDtcbiAgICAgICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF5cyAqIDg2NDAwICsgbWlsbGlzZWNvbmRzIC8gMTAwMDtcbiAgICAgICAgICAgICAgICAvLyBNYXRoLmZsb29yIHByZXZlbnRzIGZsb2F0aW5nIHBvaW50IG1hdGggZXJyb3JzIGhlcmVcbiAgICAgICAgICAgICAgICBjYXNlICdtaWxsaXNlY29uZCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLmZsb29yKGRheXMgKiA4NjRlNSkgKyBtaWxsaXNlY29uZHM7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHVuaXQgJyArIHVuaXRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE86IFVzZSB0aGlzLmFzKCdtcycpP1xuICAgIGZ1bmN0aW9uIHZhbHVlT2YkMSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIE5hTjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5fbWlsbGlzZWNvbmRzICtcbiAgICAgICAgICAgIHRoaXMuX2RheXMgKiA4NjRlNSArXG4gICAgICAgICAgICAodGhpcy5fbW9udGhzICUgMTIpICogMjU5MmU2ICtcbiAgICAgICAgICAgIHRvSW50KHRoaXMuX21vbnRocyAvIDEyKSAqIDMxNTM2ZTZcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWtlQXMoYWxpYXMpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFzKGFsaWFzKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgYXNNaWxsaXNlY29uZHMgPSBtYWtlQXMoJ21zJyksXG4gICAgICAgIGFzU2Vjb25kcyA9IG1ha2VBcygncycpLFxuICAgICAgICBhc01pbnV0ZXMgPSBtYWtlQXMoJ20nKSxcbiAgICAgICAgYXNIb3VycyA9IG1ha2VBcygnaCcpLFxuICAgICAgICBhc0RheXMgPSBtYWtlQXMoJ2QnKSxcbiAgICAgICAgYXNXZWVrcyA9IG1ha2VBcygndycpLFxuICAgICAgICBhc01vbnRocyA9IG1ha2VBcygnTScpLFxuICAgICAgICBhc1F1YXJ0ZXJzID0gbWFrZUFzKCdRJyksXG4gICAgICAgIGFzWWVhcnMgPSBtYWtlQXMoJ3knKTtcblxuICAgIGZ1bmN0aW9uIGNsb25lJDEoKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVEdXJhdGlvbih0aGlzKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXQkMih1bml0cykge1xuICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpID8gdGhpc1t1bml0cyArICdzJ10oKSA6IE5hTjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWtlR2V0dGVyKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSA/IHRoaXMuX2RhdGFbbmFtZV0gOiBOYU47XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIG1pbGxpc2Vjb25kcyA9IG1ha2VHZXR0ZXIoJ21pbGxpc2Vjb25kcycpLFxuICAgICAgICBzZWNvbmRzID0gbWFrZUdldHRlcignc2Vjb25kcycpLFxuICAgICAgICBtaW51dGVzID0gbWFrZUdldHRlcignbWludXRlcycpLFxuICAgICAgICBob3VycyA9IG1ha2VHZXR0ZXIoJ2hvdXJzJyksXG4gICAgICAgIGRheXMgPSBtYWtlR2V0dGVyKCdkYXlzJyksXG4gICAgICAgIG1vbnRocyA9IG1ha2VHZXR0ZXIoJ21vbnRocycpLFxuICAgICAgICB5ZWFycyA9IG1ha2VHZXR0ZXIoJ3llYXJzJyk7XG5cbiAgICBmdW5jdGlvbiB3ZWVrcygpIHtcbiAgICAgICAgcmV0dXJuIGFic0Zsb29yKHRoaXMuZGF5cygpIC8gNyk7XG4gICAgfVxuXG4gICAgdmFyIHJvdW5kID0gTWF0aC5yb3VuZCxcbiAgICAgICAgdGhyZXNob2xkcyA9IHtcbiAgICAgICAgICAgIHNzOiA0NCwgLy8gYSBmZXcgc2Vjb25kcyB0byBzZWNvbmRzXG4gICAgICAgICAgICBzOiA0NSwgLy8gc2Vjb25kcyB0byBtaW51dGVcbiAgICAgICAgICAgIG06IDQ1LCAvLyBtaW51dGVzIHRvIGhvdXJcbiAgICAgICAgICAgIGg6IDIyLCAvLyBob3VycyB0byBkYXlcbiAgICAgICAgICAgIGQ6IDI2LCAvLyBkYXlzIHRvIG1vbnRoL3dlZWtcbiAgICAgICAgICAgIHc6IG51bGwsIC8vIHdlZWtzIHRvIG1vbnRoXG4gICAgICAgICAgICBNOiAxMSwgLy8gbW9udGhzIHRvIHllYXJcbiAgICAgICAgfTtcblxuICAgIC8vIGhlbHBlciBmdW5jdGlvbiBmb3IgbW9tZW50LmZuLmZyb20sIG1vbWVudC5mbi5mcm9tTm93LCBhbmQgbW9tZW50LmR1cmF0aW9uLmZuLmh1bWFuaXplXG4gICAgZnVuY3Rpb24gc3Vic3RpdHV0ZVRpbWVBZ28oc3RyaW5nLCBudW1iZXIsIHdpdGhvdXRTdWZmaXgsIGlzRnV0dXJlLCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5yZWxhdGl2ZVRpbWUobnVtYmVyIHx8IDEsICEhd2l0aG91dFN1ZmZpeCwgc3RyaW5nLCBpc0Z1dHVyZSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVsYXRpdmVUaW1lJDEocG9zTmVnRHVyYXRpb24sIHdpdGhvdXRTdWZmaXgsIHRocmVzaG9sZHMsIGxvY2FsZSkge1xuICAgICAgICB2YXIgZHVyYXRpb24gPSBjcmVhdGVEdXJhdGlvbihwb3NOZWdEdXJhdGlvbikuYWJzKCksXG4gICAgICAgICAgICBzZWNvbmRzID0gcm91bmQoZHVyYXRpb24uYXMoJ3MnKSksXG4gICAgICAgICAgICBtaW51dGVzID0gcm91bmQoZHVyYXRpb24uYXMoJ20nKSksXG4gICAgICAgICAgICBob3VycyA9IHJvdW5kKGR1cmF0aW9uLmFzKCdoJykpLFxuICAgICAgICAgICAgZGF5cyA9IHJvdW5kKGR1cmF0aW9uLmFzKCdkJykpLFxuICAgICAgICAgICAgbW9udGhzID0gcm91bmQoZHVyYXRpb24uYXMoJ00nKSksXG4gICAgICAgICAgICB3ZWVrcyA9IHJvdW5kKGR1cmF0aW9uLmFzKCd3JykpLFxuICAgICAgICAgICAgeWVhcnMgPSByb3VuZChkdXJhdGlvbi5hcygneScpKSxcbiAgICAgICAgICAgIGEgPVxuICAgICAgICAgICAgICAgIChzZWNvbmRzIDw9IHRocmVzaG9sZHMuc3MgJiYgWydzJywgc2Vjb25kc10pIHx8XG4gICAgICAgICAgICAgICAgKHNlY29uZHMgPCB0aHJlc2hvbGRzLnMgJiYgWydzcycsIHNlY29uZHNdKSB8fFxuICAgICAgICAgICAgICAgIChtaW51dGVzIDw9IDEgJiYgWydtJ10pIHx8XG4gICAgICAgICAgICAgICAgKG1pbnV0ZXMgPCB0aHJlc2hvbGRzLm0gJiYgWydtbScsIG1pbnV0ZXNdKSB8fFxuICAgICAgICAgICAgICAgIChob3VycyA8PSAxICYmIFsnaCddKSB8fFxuICAgICAgICAgICAgICAgIChob3VycyA8IHRocmVzaG9sZHMuaCAmJiBbJ2hoJywgaG91cnNdKSB8fFxuICAgICAgICAgICAgICAgIChkYXlzIDw9IDEgJiYgWydkJ10pIHx8XG4gICAgICAgICAgICAgICAgKGRheXMgPCB0aHJlc2hvbGRzLmQgJiYgWydkZCcsIGRheXNdKTtcblxuICAgICAgICBpZiAodGhyZXNob2xkcy53ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGEgPVxuICAgICAgICAgICAgICAgIGEgfHxcbiAgICAgICAgICAgICAgICAod2Vla3MgPD0gMSAmJiBbJ3cnXSkgfHxcbiAgICAgICAgICAgICAgICAod2Vla3MgPCB0aHJlc2hvbGRzLncgJiYgWyd3dycsIHdlZWtzXSk7XG4gICAgICAgIH1cbiAgICAgICAgYSA9IGEgfHxcbiAgICAgICAgICAgIChtb250aHMgPD0gMSAmJiBbJ00nXSkgfHxcbiAgICAgICAgICAgIChtb250aHMgPCB0aHJlc2hvbGRzLk0gJiYgWydNTScsIG1vbnRoc10pIHx8XG4gICAgICAgICAgICAoeWVhcnMgPD0gMSAmJiBbJ3knXSkgfHwgWyd5eScsIHllYXJzXTtcblxuICAgICAgICBhWzJdID0gd2l0aG91dFN1ZmZpeDtcbiAgICAgICAgYVszXSA9ICtwb3NOZWdEdXJhdGlvbiA+IDA7XG4gICAgICAgIGFbNF0gPSBsb2NhbGU7XG4gICAgICAgIHJldHVybiBzdWJzdGl0dXRlVGltZUFnby5hcHBseShudWxsLCBhKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gc2V0IHRoZSByb3VuZGluZyBmdW5jdGlvbiBmb3IgcmVsYXRpdmUgdGltZSBzdHJpbmdzXG4gICAgZnVuY3Rpb24gZ2V0U2V0UmVsYXRpdmVUaW1lUm91bmRpbmcocm91bmRpbmdGdW5jdGlvbikge1xuICAgICAgICBpZiAocm91bmRpbmdGdW5jdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiByb3VuZGluZ0Z1bmN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByb3VuZCA9IHJvdW5kaW5nRnVuY3Rpb247XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIHNldCBhIHRocmVzaG9sZCBmb3IgcmVsYXRpdmUgdGltZSBzdHJpbmdzXG4gICAgZnVuY3Rpb24gZ2V0U2V0UmVsYXRpdmVUaW1lVGhyZXNob2xkKHRocmVzaG9sZCwgbGltaXQpIHtcbiAgICAgICAgaWYgKHRocmVzaG9sZHNbdGhyZXNob2xkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbWl0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJlc2hvbGRzW3RocmVzaG9sZF07XG4gICAgICAgIH1cbiAgICAgICAgdGhyZXNob2xkc1t0aHJlc2hvbGRdID0gbGltaXQ7XG4gICAgICAgIGlmICh0aHJlc2hvbGQgPT09ICdzJykge1xuICAgICAgICAgICAgdGhyZXNob2xkcy5zcyA9IGxpbWl0IC0gMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBodW1hbml6ZShhcmdXaXRoU3VmZml4LCBhcmdUaHJlc2hvbGRzKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHdpdGhTdWZmaXggPSBmYWxzZSxcbiAgICAgICAgICAgIHRoID0gdGhyZXNob2xkcyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgIG91dHB1dDtcblxuICAgICAgICBpZiAodHlwZW9mIGFyZ1dpdGhTdWZmaXggPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBhcmdUaHJlc2hvbGRzID0gYXJnV2l0aFN1ZmZpeDtcbiAgICAgICAgICAgIGFyZ1dpdGhTdWZmaXggPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGFyZ1dpdGhTdWZmaXggPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgd2l0aFN1ZmZpeCA9IGFyZ1dpdGhTdWZmaXg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhcmdUaHJlc2hvbGRzID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdGggPSBPYmplY3QuYXNzaWduKHt9LCB0aHJlc2hvbGRzLCBhcmdUaHJlc2hvbGRzKTtcbiAgICAgICAgICAgIGlmIChhcmdUaHJlc2hvbGRzLnMgIT0gbnVsbCAmJiBhcmdUaHJlc2hvbGRzLnNzID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aC5zcyA9IGFyZ1RocmVzaG9sZHMucyAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsb2NhbGUgPSB0aGlzLmxvY2FsZURhdGEoKTtcbiAgICAgICAgb3V0cHV0ID0gcmVsYXRpdmVUaW1lJDEodGhpcywgIXdpdGhTdWZmaXgsIHRoLCBsb2NhbGUpO1xuXG4gICAgICAgIGlmICh3aXRoU3VmZml4KSB7XG4gICAgICAgICAgICBvdXRwdXQgPSBsb2NhbGUucGFzdEZ1dHVyZSgrdGhpcywgb3V0cHV0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsb2NhbGUucG9zdGZvcm1hdChvdXRwdXQpO1xuICAgIH1cblxuICAgIHZhciBhYnMkMSA9IE1hdGguYWJzO1xuXG4gICAgZnVuY3Rpb24gc2lnbih4KSB7XG4gICAgICAgIHJldHVybiAoeCA+IDApIC0gKHggPCAwKSB8fCAreDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0b0lTT1N0cmluZyQxKCkge1xuICAgICAgICAvLyBmb3IgSVNPIHN0cmluZ3Mgd2UgZG8gbm90IHVzZSB0aGUgbm9ybWFsIGJ1YmJsaW5nIHJ1bGVzOlxuICAgICAgICAvLyAgKiBtaWxsaXNlY29uZHMgYnViYmxlIHVwIHVudGlsIHRoZXkgYmVjb21lIGhvdXJzXG4gICAgICAgIC8vICAqIGRheXMgZG8gbm90IGJ1YmJsZSBhdCBhbGxcbiAgICAgICAgLy8gICogbW9udGhzIGJ1YmJsZSB1cCB1bnRpbCB0aGV5IGJlY29tZSB5ZWFyc1xuICAgICAgICAvLyBUaGlzIGlzIGJlY2F1c2UgdGhlcmUgaXMgbm8gY29udGV4dC1mcmVlIGNvbnZlcnNpb24gYmV0d2VlbiBob3VycyBhbmQgZGF5c1xuICAgICAgICAvLyAodGhpbmsgb2YgY2xvY2sgY2hhbmdlcylcbiAgICAgICAgLy8gYW5kIGFsc28gbm90IGJldHdlZW4gZGF5cyBhbmQgbW9udGhzICgyOC0zMSBkYXlzIHBlciBtb250aClcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2Vjb25kcyA9IGFicyQxKHRoaXMuX21pbGxpc2Vjb25kcykgLyAxMDAwLFxuICAgICAgICAgICAgZGF5cyA9IGFicyQxKHRoaXMuX2RheXMpLFxuICAgICAgICAgICAgbW9udGhzID0gYWJzJDEodGhpcy5fbW9udGhzKSxcbiAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICBob3VycyxcbiAgICAgICAgICAgIHllYXJzLFxuICAgICAgICAgICAgcyxcbiAgICAgICAgICAgIHRvdGFsID0gdGhpcy5hc1NlY29uZHMoKSxcbiAgICAgICAgICAgIHRvdGFsU2lnbixcbiAgICAgICAgICAgIHltU2lnbixcbiAgICAgICAgICAgIGRheXNTaWduLFxuICAgICAgICAgICAgaG1zU2lnbjtcblxuICAgICAgICBpZiAoIXRvdGFsKSB7XG4gICAgICAgICAgICAvLyB0aGlzIGlzIHRoZSBzYW1lIGFzIEMjJ3MgKE5vZGEpIGFuZCBweXRob24gKGlzb2RhdGUpLi4uXG4gICAgICAgICAgICAvLyBidXQgbm90IG90aGVyIEpTIChnb29nLmRhdGUpXG4gICAgICAgICAgICByZXR1cm4gJ1AwRCc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAzNjAwIHNlY29uZHMgLT4gNjAgbWludXRlcyAtPiAxIGhvdXJcbiAgICAgICAgbWludXRlcyA9IGFic0Zsb29yKHNlY29uZHMgLyA2MCk7XG4gICAgICAgIGhvdXJzID0gYWJzRmxvb3IobWludXRlcyAvIDYwKTtcbiAgICAgICAgc2Vjb25kcyAlPSA2MDtcbiAgICAgICAgbWludXRlcyAlPSA2MDtcblxuICAgICAgICAvLyAxMiBtb250aHMgLT4gMSB5ZWFyXG4gICAgICAgIHllYXJzID0gYWJzRmxvb3IobW9udGhzIC8gMTIpO1xuICAgICAgICBtb250aHMgJT0gMTI7XG5cbiAgICAgICAgLy8gaW5zcGlyZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2RvcmRpbGxlL21vbWVudC1pc29kdXJhdGlvbi9ibG9iL21hc3Rlci9tb21lbnQuaXNvZHVyYXRpb24uanNcbiAgICAgICAgcyA9IHNlY29uZHMgPyBzZWNvbmRzLnRvRml4ZWQoMykucmVwbGFjZSgvXFwuPzArJC8sICcnKSA6ICcnO1xuXG4gICAgICAgIHRvdGFsU2lnbiA9IHRvdGFsIDwgMCA/ICctJyA6ICcnO1xuICAgICAgICB5bVNpZ24gPSBzaWduKHRoaXMuX21vbnRocykgIT09IHNpZ24odG90YWwpID8gJy0nIDogJyc7XG4gICAgICAgIGRheXNTaWduID0gc2lnbih0aGlzLl9kYXlzKSAhPT0gc2lnbih0b3RhbCkgPyAnLScgOiAnJztcbiAgICAgICAgaG1zU2lnbiA9IHNpZ24odGhpcy5fbWlsbGlzZWNvbmRzKSAhPT0gc2lnbih0b3RhbCkgPyAnLScgOiAnJztcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdG90YWxTaWduICtcbiAgICAgICAgICAgICdQJyArXG4gICAgICAgICAgICAoeWVhcnMgPyB5bVNpZ24gKyB5ZWFycyArICdZJyA6ICcnKSArXG4gICAgICAgICAgICAobW9udGhzID8geW1TaWduICsgbW9udGhzICsgJ00nIDogJycpICtcbiAgICAgICAgICAgIChkYXlzID8gZGF5c1NpZ24gKyBkYXlzICsgJ0QnIDogJycpICtcbiAgICAgICAgICAgIChob3VycyB8fCBtaW51dGVzIHx8IHNlY29uZHMgPyAnVCcgOiAnJykgK1xuICAgICAgICAgICAgKGhvdXJzID8gaG1zU2lnbiArIGhvdXJzICsgJ0gnIDogJycpICtcbiAgICAgICAgICAgIChtaW51dGVzID8gaG1zU2lnbiArIG1pbnV0ZXMgKyAnTScgOiAnJykgK1xuICAgICAgICAgICAgKHNlY29uZHMgPyBobXNTaWduICsgcyArICdTJyA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHZhciBwcm90byQyID0gRHVyYXRpb24ucHJvdG90eXBlO1xuXG4gICAgcHJvdG8kMi5pc1ZhbGlkID0gaXNWYWxpZCQxO1xuICAgIHByb3RvJDIuYWJzID0gYWJzO1xuICAgIHByb3RvJDIuYWRkID0gYWRkJDE7XG4gICAgcHJvdG8kMi5zdWJ0cmFjdCA9IHN1YnRyYWN0JDE7XG4gICAgcHJvdG8kMi5hcyA9IGFzO1xuICAgIHByb3RvJDIuYXNNaWxsaXNlY29uZHMgPSBhc01pbGxpc2Vjb25kcztcbiAgICBwcm90byQyLmFzU2Vjb25kcyA9IGFzU2Vjb25kcztcbiAgICBwcm90byQyLmFzTWludXRlcyA9IGFzTWludXRlcztcbiAgICBwcm90byQyLmFzSG91cnMgPSBhc0hvdXJzO1xuICAgIHByb3RvJDIuYXNEYXlzID0gYXNEYXlzO1xuICAgIHByb3RvJDIuYXNXZWVrcyA9IGFzV2Vla3M7XG4gICAgcHJvdG8kMi5hc01vbnRocyA9IGFzTW9udGhzO1xuICAgIHByb3RvJDIuYXNRdWFydGVycyA9IGFzUXVhcnRlcnM7XG4gICAgcHJvdG8kMi5hc1llYXJzID0gYXNZZWFycztcbiAgICBwcm90byQyLnZhbHVlT2YgPSB2YWx1ZU9mJDE7XG4gICAgcHJvdG8kMi5fYnViYmxlID0gYnViYmxlO1xuICAgIHByb3RvJDIuY2xvbmUgPSBjbG9uZSQxO1xuICAgIHByb3RvJDIuZ2V0ID0gZ2V0JDI7XG4gICAgcHJvdG8kMi5taWxsaXNlY29uZHMgPSBtaWxsaXNlY29uZHM7XG4gICAgcHJvdG8kMi5zZWNvbmRzID0gc2Vjb25kcztcbiAgICBwcm90byQyLm1pbnV0ZXMgPSBtaW51dGVzO1xuICAgIHByb3RvJDIuaG91cnMgPSBob3VycztcbiAgICBwcm90byQyLmRheXMgPSBkYXlzO1xuICAgIHByb3RvJDIud2Vla3MgPSB3ZWVrcztcbiAgICBwcm90byQyLm1vbnRocyA9IG1vbnRocztcbiAgICBwcm90byQyLnllYXJzID0geWVhcnM7XG4gICAgcHJvdG8kMi5odW1hbml6ZSA9IGh1bWFuaXplO1xuICAgIHByb3RvJDIudG9JU09TdHJpbmcgPSB0b0lTT1N0cmluZyQxO1xuICAgIHByb3RvJDIudG9TdHJpbmcgPSB0b0lTT1N0cmluZyQxO1xuICAgIHByb3RvJDIudG9KU09OID0gdG9JU09TdHJpbmckMTtcbiAgICBwcm90byQyLmxvY2FsZSA9IGxvY2FsZTtcbiAgICBwcm90byQyLmxvY2FsZURhdGEgPSBsb2NhbGVEYXRhO1xuXG4gICAgcHJvdG8kMi50b0lzb1N0cmluZyA9IGRlcHJlY2F0ZShcbiAgICAgICAgJ3RvSXNvU3RyaW5nKCkgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSB0b0lTT1N0cmluZygpIGluc3RlYWQgKG5vdGljZSB0aGUgY2FwaXRhbHMpJyxcbiAgICAgICAgdG9JU09TdHJpbmckMVxuICAgICk7XG4gICAgcHJvdG8kMi5sYW5nID0gbGFuZztcblxuICAgIC8vIEZPUk1BVFRJTkdcblxuICAgIGFkZEZvcm1hdFRva2VuKCdYJywgMCwgMCwgJ3VuaXgnKTtcbiAgICBhZGRGb3JtYXRUb2tlbigneCcsIDAsIDAsICd2YWx1ZU9mJyk7XG5cbiAgICAvLyBQQVJTSU5HXG5cbiAgICBhZGRSZWdleFRva2VuKCd4JywgbWF0Y2hTaWduZWQpO1xuICAgIGFkZFJlZ2V4VG9rZW4oJ1gnLCBtYXRjaFRpbWVzdGFtcCk7XG4gICAgYWRkUGFyc2VUb2tlbignWCcsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykge1xuICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShwYXJzZUZsb2F0KGlucHV0KSAqIDEwMDApO1xuICAgIH0pO1xuICAgIGFkZFBhcnNlVG9rZW4oJ3gnLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHtcbiAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUodG9JbnQoaW5wdXQpKTtcbiAgICB9KTtcblxuICAgIC8vISBtb21lbnQuanNcblxuICAgIGhvb2tzLnZlcnNpb24gPSAnMi4yOS40JztcblxuICAgIHNldEhvb2tDYWxsYmFjayhjcmVhdGVMb2NhbCk7XG5cbiAgICBob29rcy5mbiA9IHByb3RvO1xuICAgIGhvb2tzLm1pbiA9IG1pbjtcbiAgICBob29rcy5tYXggPSBtYXg7XG4gICAgaG9va3Mubm93ID0gbm93O1xuICAgIGhvb2tzLnV0YyA9IGNyZWF0ZVVUQztcbiAgICBob29rcy51bml4ID0gY3JlYXRlVW5peDtcbiAgICBob29rcy5tb250aHMgPSBsaXN0TW9udGhzO1xuICAgIGhvb2tzLmlzRGF0ZSA9IGlzRGF0ZTtcbiAgICBob29rcy5sb2NhbGUgPSBnZXRTZXRHbG9iYWxMb2NhbGU7XG4gICAgaG9va3MuaW52YWxpZCA9IGNyZWF0ZUludmFsaWQ7XG4gICAgaG9va3MuZHVyYXRpb24gPSBjcmVhdGVEdXJhdGlvbjtcbiAgICBob29rcy5pc01vbWVudCA9IGlzTW9tZW50O1xuICAgIGhvb2tzLndlZWtkYXlzID0gbGlzdFdlZWtkYXlzO1xuICAgIGhvb2tzLnBhcnNlWm9uZSA9IGNyZWF0ZUluWm9uZTtcbiAgICBob29rcy5sb2NhbGVEYXRhID0gZ2V0TG9jYWxlO1xuICAgIGhvb2tzLmlzRHVyYXRpb24gPSBpc0R1cmF0aW9uO1xuICAgIGhvb2tzLm1vbnRoc1Nob3J0ID0gbGlzdE1vbnRoc1Nob3J0O1xuICAgIGhvb2tzLndlZWtkYXlzTWluID0gbGlzdFdlZWtkYXlzTWluO1xuICAgIGhvb2tzLmRlZmluZUxvY2FsZSA9IGRlZmluZUxvY2FsZTtcbiAgICBob29rcy51cGRhdGVMb2NhbGUgPSB1cGRhdGVMb2NhbGU7XG4gICAgaG9va3MubG9jYWxlcyA9IGxpc3RMb2NhbGVzO1xuICAgIGhvb2tzLndlZWtkYXlzU2hvcnQgPSBsaXN0V2Vla2RheXNTaG9ydDtcbiAgICBob29rcy5ub3JtYWxpemVVbml0cyA9IG5vcm1hbGl6ZVVuaXRzO1xuICAgIGhvb2tzLnJlbGF0aXZlVGltZVJvdW5kaW5nID0gZ2V0U2V0UmVsYXRpdmVUaW1lUm91bmRpbmc7XG4gICAgaG9va3MucmVsYXRpdmVUaW1lVGhyZXNob2xkID0gZ2V0U2V0UmVsYXRpdmVUaW1lVGhyZXNob2xkO1xuICAgIGhvb2tzLmNhbGVuZGFyRm9ybWF0ID0gZ2V0Q2FsZW5kYXJGb3JtYXQ7XG4gICAgaG9va3MucHJvdG90eXBlID0gcHJvdG87XG5cbiAgICAvLyBjdXJyZW50bHkgSFRNTDUgaW5wdXQgdHlwZSBvbmx5IHN1cHBvcnRzIDI0LWhvdXIgZm9ybWF0c1xuICAgIGhvb2tzLkhUTUw1X0ZNVCA9IHtcbiAgICAgICAgREFURVRJTUVfTE9DQUw6ICdZWVlZLU1NLUREVEhIOm1tJywgLy8gPGlucHV0IHR5cGU9XCJkYXRldGltZS1sb2NhbFwiIC8+XG4gICAgICAgIERBVEVUSU1FX0xPQ0FMX1NFQ09ORFM6ICdZWVlZLU1NLUREVEhIOm1tOnNzJywgLy8gPGlucHV0IHR5cGU9XCJkYXRldGltZS1sb2NhbFwiIHN0ZXA9XCIxXCIgLz5cbiAgICAgICAgREFURVRJTUVfTE9DQUxfTVM6ICdZWVlZLU1NLUREVEhIOm1tOnNzLlNTUycsIC8vIDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBzdGVwPVwiMC4wMDFcIiAvPlxuICAgICAgICBEQVRFOiAnWVlZWS1NTS1ERCcsIC8vIDxpbnB1dCB0eXBlPVwiZGF0ZVwiIC8+XG4gICAgICAgIFRJTUU6ICdISDptbScsIC8vIDxpbnB1dCB0eXBlPVwidGltZVwiIC8+XG4gICAgICAgIFRJTUVfU0VDT05EUzogJ0hIOm1tOnNzJywgLy8gPGlucHV0IHR5cGU9XCJ0aW1lXCIgc3RlcD1cIjFcIiAvPlxuICAgICAgICBUSU1FX01TOiAnSEg6bW06c3MuU1NTJywgLy8gPGlucHV0IHR5cGU9XCJ0aW1lXCIgc3RlcD1cIjAuMDAxXCIgLz5cbiAgICAgICAgV0VFSzogJ0dHR0ctW1ddV1cnLCAvLyA8aW5wdXQgdHlwZT1cIndlZWtcIiAvPlxuICAgICAgICBNT05USDogJ1lZWVktTU0nLCAvLyA8aW5wdXQgdHlwZT1cIm1vbnRoXCIgLz5cbiAgICB9O1xuXG4gICAgcmV0dXJuIGhvb2tzO1xuXG59KSkpO1xuIiwiaW1wb3J0IHR5cGUgeyBWYXVsdCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgTUFUQ0hfSFRNTF9DT01NRU5ULCBNQVRDSF9DT01NRU5UIH0gZnJvbSBcInNyYy9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFdvcmRDb3VudCh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCBzcGFjZURlbGltaXRlZENoYXJzID1cbiAgICAvJ+KAmUEtWmEtelxcdTAwQUFcXHUwMEI1XFx1MDBCQVxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJDMVxcdTAyQzYtXFx1MDJEMVxcdTAyRTAtXFx1MDJFNFxcdTAyRUNcXHUwMkVFXFx1MDM3MC1cXHUwMzc0XFx1MDM3NlxcdTAzNzdcXHUwMzdBLVxcdTAzN0RcXHUwMzdGXFx1MDM4NlxcdTAzODgtXFx1MDM4QVxcdTAzOENcXHUwMzhFLVxcdTAzQTFcXHUwM0EzLVxcdTAzRjVcXHUwM0Y3LVxcdTA0ODFcXHUwNDhBLVxcdTA1MkZcXHUwNTMxLVxcdTA1NTZcXHUwNTU5XFx1MDU2MS1cXHUwNTg3XFx1MDVEMC1cXHUwNUVBXFx1MDVGMC1cXHUwNUYyXFx1MDYyMC1cXHUwNjRBXFx1MDY2RVxcdTA2NkZcXHUwNjcxLVxcdTA2RDNcXHUwNkQ1XFx1MDZFNVxcdTA2RTZcXHUwNkVFXFx1MDZFRlxcdTA2RkEtXFx1MDZGQ1xcdTA2RkZcXHUwNzEwXFx1MDcxMi1cXHUwNzJGXFx1MDc0RC1cXHUwN0E1XFx1MDdCMVxcdTA3Q0EtXFx1MDdFQVxcdTA3RjRcXHUwN0Y1XFx1MDdGQVxcdTA4MDAtXFx1MDgxNVxcdTA4MUFcXHUwODI0XFx1MDgyOFxcdTA4NDAtXFx1MDg1OFxcdTA4QTAtXFx1MDhCNFxcdTA5MDQtXFx1MDkzOVxcdTA5M0RcXHUwOTUwXFx1MDk1OC1cXHUwOTYxXFx1MDk3MS1cXHUwOTgwXFx1MDk4NS1cXHUwOThDXFx1MDk4RlxcdTA5OTBcXHUwOTkzLVxcdTA5QThcXHUwOUFBLVxcdTA5QjBcXHUwOUIyXFx1MDlCNi1cXHUwOUI5XFx1MDlCRFxcdTA5Q0VcXHUwOURDXFx1MDlERFxcdTA5REYtXFx1MDlFMVxcdTA5RjBcXHUwOUYxXFx1MEEwNS1cXHUwQTBBXFx1MEEwRlxcdTBBMTBcXHUwQTEzLVxcdTBBMjhcXHUwQTJBLVxcdTBBMzBcXHUwQTMyXFx1MEEzM1xcdTBBMzVcXHUwQTM2XFx1MEEzOFxcdTBBMzlcXHUwQTU5LVxcdTBBNUNcXHUwQTVFXFx1MEE3Mi1cXHUwQTc0XFx1MEE4NS1cXHUwQThEXFx1MEE4Ri1cXHUwQTkxXFx1MEE5My1cXHUwQUE4XFx1MEFBQS1cXHUwQUIwXFx1MEFCMlxcdTBBQjNcXHUwQUI1LVxcdTBBQjlcXHUwQUJEXFx1MEFEMFxcdTBBRTBcXHUwQUUxXFx1MEFGOVxcdTBCMDUtXFx1MEIwQ1xcdTBCMEZcXHUwQjEwXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMlxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNEXFx1MEI1Q1xcdTBCNURcXHUwQjVGLVxcdTBCNjFcXHUwQjcxXFx1MEI4M1xcdTBCODUtXFx1MEI4QVxcdTBCOEUtXFx1MEI5MFxcdTBCOTItXFx1MEI5NVxcdTBCOTlcXHUwQjlBXFx1MEI5Q1xcdTBCOUVcXHUwQjlGXFx1MEJBM1xcdTBCQTRcXHUwQkE4LVxcdTBCQUFcXHUwQkFFLVxcdTBCQjlcXHUwQkQwXFx1MEMwNS1cXHUwQzBDXFx1MEMwRS1cXHUwQzEwXFx1MEMxMi1cXHUwQzI4XFx1MEMyQS1cXHUwQzM5XFx1MEMzRFxcdTBDNTgtXFx1MEM1QVxcdTBDNjBcXHUwQzYxXFx1MEM4NS1cXHUwQzhDXFx1MEM4RS1cXHUwQzkwXFx1MEM5Mi1cXHUwQ0E4XFx1MENBQS1cXHUwQ0IzXFx1MENCNS1cXHUwQ0I5XFx1MENCRFxcdTBDREVcXHUwQ0UwXFx1MENFMVxcdTBDRjFcXHUwQ0YyXFx1MEQwNS1cXHUwRDBDXFx1MEQwRS1cXHUwRDEwXFx1MEQxMi1cXHUwRDNBXFx1MEQzRFxcdTBENEVcXHUwRDVGLVxcdTBENjFcXHUwRDdBLVxcdTBEN0ZcXHUwRDg1LVxcdTBEOTZcXHUwRDlBLVxcdTBEQjFcXHUwREIzLVxcdTBEQkJcXHUwREJEXFx1MERDMC1cXHUwREM2XFx1MEUwMS1cXHUwRTMwXFx1MEUzMlxcdTBFMzNcXHUwRTQwLVxcdTBFNDZcXHUwRTgxXFx1MEU4MlxcdTBFODRcXHUwRTg3XFx1MEU4OFxcdTBFOEFcXHUwRThEXFx1MEU5NC1cXHUwRTk3XFx1MEU5OS1cXHUwRTlGXFx1MEVBMS1cXHUwRUEzXFx1MEVBNVxcdTBFQTdcXHUwRUFBXFx1MEVBQlxcdTBFQUQtXFx1MEVCMFxcdTBFQjJcXHUwRUIzXFx1MEVCRFxcdTBFQzAtXFx1MEVDNFxcdTBFQzZcXHUwRURDLVxcdTBFREZcXHUwRjAwXFx1MEY0MC1cXHUwRjQ3XFx1MEY0OS1cXHUwRjZDXFx1MEY4OC1cXHUwRjhDXFx1MTAwMC1cXHUxMDJBXFx1MTAzRlxcdTEwNTAtXFx1MTA1NVxcdTEwNUEtXFx1MTA1RFxcdTEwNjFcXHUxMDY1XFx1MTA2NlxcdTEwNkUtXFx1MTA3MFxcdTEwNzUtXFx1MTA4MVxcdTEwOEVcXHUxMEEwLVxcdTEwQzVcXHUxMEM3XFx1MTBDRFxcdTEwRDAtXFx1MTBGQVxcdTEwRkMtXFx1MTI0OFxcdTEyNEEtXFx1MTI0RFxcdTEyNTAtXFx1MTI1NlxcdTEyNThcXHUxMjVBLVxcdTEyNURcXHUxMjYwLVxcdTEyODhcXHUxMjhBLVxcdTEyOERcXHUxMjkwLVxcdTEyQjBcXHUxMkIyLVxcdTEyQjVcXHUxMkI4LVxcdTEyQkVcXHUxMkMwXFx1MTJDMi1cXHUxMkM1XFx1MTJDOC1cXHUxMkQ2XFx1MTJEOC1cXHUxMzEwXFx1MTMxMi1cXHUxMzE1XFx1MTMxOC1cXHUxMzVBXFx1MTM4MC1cXHUxMzhGXFx1MTNBMC1cXHUxM0Y1XFx1MTNGOC1cXHUxM0ZEXFx1MTQwMS1cXHUxNjZDXFx1MTY2Ri1cXHUxNjdGXFx1MTY4MS1cXHUxNjlBXFx1MTZBMC1cXHUxNkVBXFx1MTZGMS1cXHUxNkY4XFx1MTcwMC1cXHUxNzBDXFx1MTcwRS1cXHUxNzExXFx1MTcyMC1cXHUxNzMxXFx1MTc0MC1cXHUxNzUxXFx1MTc2MC1cXHUxNzZDXFx1MTc2RS1cXHUxNzcwXFx1MTc4MC1cXHUxN0IzXFx1MTdEN1xcdTE3RENcXHUxODIwLVxcdTE4NzdcXHUxODgwLVxcdTE4QThcXHUxOEFBXFx1MThCMC1cXHUxOEY1XFx1MTkwMC1cXHUxOTFFXFx1MTk1MC1cXHUxOTZEXFx1MTk3MC1cXHUxOTc0XFx1MTk4MC1cXHUxOUFCXFx1MTlCMC1cXHUxOUM5XFx1MUEwMC1cXHUxQTE2XFx1MUEyMC1cXHUxQTU0XFx1MUFBN1xcdTFCMDUtXFx1MUIzM1xcdTFCNDUtXFx1MUI0QlxcdTFCODMtXFx1MUJBMFxcdTFCQUVcXHUxQkFGXFx1MUJCQS1cXHUxQkU1XFx1MUMwMC1cXHUxQzIzXFx1MUM0RC1cXHUxQzRGXFx1MUM1QS1cXHUxQzdEXFx1MUNFOS1cXHUxQ0VDXFx1MUNFRS1cXHUxQ0YxXFx1MUNGNVxcdTFDRjZcXHUxRDAwLVxcdTFEQkZcXHUxRTAwLVxcdTFGMTVcXHUxRjE4LVxcdTFGMURcXHUxRjIwLVxcdTFGNDVcXHUxRjQ4LVxcdTFGNERcXHUxRjUwLVxcdTFGNTdcXHUxRjU5XFx1MUY1QlxcdTFGNURcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXFx1MUZEMC1cXHUxRkQzXFx1MUZENi1cXHUxRkRCXFx1MUZFMC1cXHUxRkVDXFx1MUZGMi1cXHUxRkY0XFx1MUZGNi1cXHUxRkZDXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE5LVxcdTIxMURcXHUyMTI0XFx1MjEyNlxcdTIxMjhcXHUyMTJBLVxcdTIxMkRcXHUyMTJGLVxcdTIxMzlcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE4M1xcdTIxODRcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDRTRcXHUyQ0VCLVxcdTJDRUVcXHUyQ0YyXFx1MkNGM1xcdTJEMDAtXFx1MkQyNVxcdTJEMjdcXHUyRDJEXFx1MkQzMC1cXHUyRDY3XFx1MkQ2RlxcdTJEODAtXFx1MkQ5NlxcdTJEQTAtXFx1MkRBNlxcdTJEQTgtXFx1MkRBRVxcdTJEQjAtXFx1MkRCNlxcdTJEQjgtXFx1MkRCRVxcdTJEQzAtXFx1MkRDNlxcdTJEQzgtXFx1MkRDRVxcdTJERDAtXFx1MkRENlxcdTJERDgtXFx1MkRERVxcdTJFMkZcXHUzMDA1XFx1MzAwNlxcdTMwMzEtXFx1MzAzNVxcdTMwM0JcXHUzMDNDXFx1MzEwNS1cXHUzMTJEXFx1MzEzMS1cXHUzMThFXFx1MzFBMC1cXHUzMUJBXFx1MzFGMC1cXHUzMUZGXFx1MzQwMC1cXHU0REI1XFx1QTAwMC1cXHVBNDhDXFx1QTREMC1cXHVBNEZEXFx1QTUwMC1cXHVBNjBDXFx1QTYxMC1cXHVBNjFGXFx1QTYyQVxcdUE2MkJcXHVBNjQwLVxcdUE2NkVcXHVBNjdGLVxcdUE2OURcXHVBNkEwLVxcdUE2RTVcXHVBNzE3LVxcdUE3MUZcXHVBNzIyLVxcdUE3ODhcXHVBNzhCLVxcdUE3QURcXHVBN0IwLVxcdUE3QjdcXHVBN0Y3LVxcdUE4MDFcXHVBODAzLVxcdUE4MDVcXHVBODA3LVxcdUE4MEFcXHVBODBDLVxcdUE4MjJcXHVBODQwLVxcdUE4NzNcXHVBODgyLVxcdUE4QjNcXHVBOEYyLVxcdUE4RjdcXHVBOEZCXFx1QThGRFxcdUE5MEEtXFx1QTkyNVxcdUE5MzAtXFx1QTk0NlxcdUE5NjAtXFx1QTk3Q1xcdUE5ODQtXFx1QTlCMlxcdUE5Q0ZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2LVxcdUE5RUZcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTQwLVxcdUFBNDJcXHVBQTQ0LVxcdUFBNEJcXHVBQTYwLVxcdUFBNzZcXHVBQTdBXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVxcdUFBQjVcXHVBQUI2XFx1QUFCOS1cXHVBQUJEXFx1QUFDMFxcdUFBQzJcXHVBQURCLVxcdUFBRERcXHVBQUUwLVxcdUFBRUFcXHVBQUYyLVxcdUFBRjRcXHVBQjAxLVxcdUFCMDZcXHVBQjA5LVxcdUFCMEVcXHVBQjExLVxcdUFCMTZcXHVBQjIwLVxcdUFCMjZcXHVBQjI4LVxcdUFCMkVcXHVBQjMwLVxcdUFCNUFcXHVBQjVDLVxcdUFCNjVcXHVBQjcwLVxcdUFCRTJcXHVBQzAwLVxcdUQ3QTNcXHVEN0IwLVxcdUQ3QzZcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFEXFx1RkIxRi1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTcwLVxcdUZFNzRcXHVGRTc2LVxcdUZFRkNcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGREMvXG4gICAgICAuc291cmNlO1xuICBjb25zdCBub25TcGFjZURlbGltaXRlZFdvcmRzID1cbiAgICAvXFx1MzA0MS1cXHUzMDk2XFx1MzA5RC1cXHUzMDlGXFx1MzBBMS1cXHUzMEZBXFx1MzBGQy1cXHUzMEZGXFx1NEUwMC1cXHU5RkQ1Ly5zb3VyY2U7XG5cbiAgY29uc3Qgbm9uU3BhY2VEZWxpbWl0ZWRXb3Jkc090aGVyID1cbiAgICAvW1xcdTMwNDEtXFx1MzA5NlxcdTMwOUQtXFx1MzA5RlxcdTMwQTEtXFx1MzBGQVxcdTMwRkMtXFx1MzBGRlxcdTRFMDAtXFx1OUZENV17MX0vXG4gICAgICAuc291cmNlO1xuXG4gIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKFxuICAgIFtcbiAgICAgIGAoPzpbMC05XSsoPzooPzosfFxcXFwuKVswLTldKykqfFtcXFxcLSR7c3BhY2VEZWxpbWl0ZWRDaGFyc31dKStgLFxuICAgICAgbm9uU3BhY2VEZWxpbWl0ZWRXb3JkcyxcbiAgICAgIG5vblNwYWNlRGVsaW1pdGVkV29yZHNPdGhlcixcbiAgICBdLmpvaW4oXCJ8XCIpLFxuICAgIFwiZ1wiXG4gICk7XG4gIHJldHVybiAodGV4dC5tYXRjaChwYXR0ZXJuKSB8fCBbXSkubGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2hhcmFjdGVyQ291bnQodGV4dDogc3RyaW5nKTogbnVtYmVyIHtcbiAgcmV0dXJuIHRleHQubGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VudGVuY2VDb3VudCh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCBzZW50ZW5jZXM6IG51bWJlciA9IChcbiAgICAodGV4dCB8fCBcIlwiKS5tYXRjaChcbiAgICAgIC9bXi4hP1xcc11bXi4hP10qKD86Wy4hP10oPyFbJ1wiXT9cXHN8JClbXi4hP10qKSpbLiE/XT9bJ1wiXT8oPz1cXHN8JCkvZ21cbiAgICApIHx8IFtdXG4gICkubGVuZ3RoO1xuXG4gIHJldHVybiBzZW50ZW5jZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUb3RhbEZpbGVDb3VudCh2YXVsdDogVmF1bHQpOiBudW1iZXIge1xuICByZXR1cm4gdmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLmxlbmd0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQ29tbWVudHModGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRleHQucmVwbGFjZShNQVRDSF9DT01NRU5ULCBcIlwiKS5yZXBsYWNlKE1BVENIX0hUTUxfQ09NTUVOVCwgXCJcIik7XG59XG4iLCJpbXBvcnQgeyBkZWJvdW5jZSwgRGVib3VuY2VyLCBURmlsZSwgVmF1bHQsIFdvcmtzcGFjZSB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgU1RBVFNfRklMRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB0eXBlIHsgRGF5LCBWYXVsdFN0YXRpc3RpY3MgfSBmcm9tIFwiLi9TdGF0c1wiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQge1xuICBnZXRDaGFyYWN0ZXJDb3VudCxcbiAgZ2V0U2VudGVuY2VDb3VudCxcbiAgZ2V0V29yZENvdW50LFxufSBmcm9tIFwiLi4vdXRpbHMvU3RhdFV0aWxzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0YXRzTWFuYWdlciB7XG4gIHByaXZhdGUgdmF1bHQ6IFZhdWx0O1xuICBwcml2YXRlIHdvcmtzcGFjZTogV29ya3NwYWNlO1xuICBwcml2YXRlIHZhdWx0U3RhdHM6IFZhdWx0U3RhdGlzdGljcztcbiAgcHJpdmF0ZSB0b2RheTogc3RyaW5nO1xuICBwdWJsaWMgZGVib3VuY2VDaGFuZ2U7XG5cbiAgY29uc3RydWN0b3IodmF1bHQ6IFZhdWx0LCB3b3Jrc3BhY2U6IFdvcmtzcGFjZSkge1xuICAgIHRoaXMudmF1bHQgPSB2YXVsdDtcbiAgICB0aGlzLndvcmtzcGFjZSA9IHdvcmtzcGFjZTtcbiAgICB0aGlzLmRlYm91bmNlQ2hhbmdlID0gZGVib3VuY2UoXG4gICAgICAodGV4dDogc3RyaW5nKSA9PiB0aGlzLmNoYW5nZSh0ZXh0KSxcbiAgICAgIDUwLFxuICAgICAgZmFsc2VcbiAgICApO1xuXG4gICAgdGhpcy52YXVsdC5hZGFwdGVyLmV4aXN0cyhTVEFUU19GSUxFKS50aGVuKGFzeW5jIChleGlzdHMpID0+IHtcbiAgICAgIGlmICghZXhpc3RzKSB7XG4gICAgICAgIGNvbnN0IHZhdWx0U3Q6IFZhdWx0U3RhdGlzdGljcyA9IHtcbiAgICAgICAgICBoaXN0b3J5OiB7fSxcbiAgICAgICAgICBtb2RpZmllZEZpbGVzOiB7fSxcbiAgICAgICAgfTtcbiAgICAgICAgYXdhaXQgdGhpcy52YXVsdC5hZGFwdGVyLndyaXRlKFNUQVRTX0ZJTEUsIEpTT04uc3RyaW5naWZ5KHZhdWx0U3QpKTtcbiAgICAgICAgdGhpcy52YXVsdFN0YXRzID0gSlNPTi5wYXJzZShhd2FpdCB0aGlzLnZhdWx0LmFkYXB0ZXIucmVhZChTVEFUU19GSUxFKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhdWx0U3RhdHMgPSBKU09OLnBhcnNlKGF3YWl0IHRoaXMudmF1bHQuYWRhcHRlci5yZWFkKFNUQVRTX0ZJTEUpKTtcbiAgICAgICAgaWYgKCF0aGlzLnZhdWx0U3RhdHMuaGFzT3duUHJvcGVydHkoXCJoaXN0b3J5XCIpKSB7XG4gICAgICAgICAgY29uc3QgdmF1bHRTdDogVmF1bHRTdGF0aXN0aWNzID0ge1xuICAgICAgICAgICAgaGlzdG9yeToge30sXG4gICAgICAgICAgICBtb2RpZmllZEZpbGVzOiB7fSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGF3YWl0IHRoaXMudmF1bHQuYWRhcHRlci53cml0ZShTVEFUU19GSUxFLCBKU09OLnN0cmluZ2lmeSh2YXVsdFN0KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YXVsdFN0YXRzID0gSlNPTi5wYXJzZShhd2FpdCB0aGlzLnZhdWx0LmFkYXB0ZXIucmVhZChTVEFUU19GSUxFKSk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IHRoaXMudXBkYXRlVG9kYXkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnZhdWx0LmFkYXB0ZXIud3JpdGUoU1RBVFNfRklMRSwgSlNPTi5zdHJpbmdpZnkodGhpcy52YXVsdFN0YXRzKSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVUb2RheSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy52YXVsdFN0YXRzLmhpc3RvcnkuaGFzT3duUHJvcGVydHkobW9tZW50KCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSkpIHtcbiAgICAgIHRoaXMudG9kYXkgPSBtb21lbnQoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9kYXkgPSBtb21lbnQoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuICAgIGNvbnN0IHRvdGFsV29yZHMgPSBhd2FpdCB0aGlzLmNhbGNUb3RhbFdvcmRzKCk7XG4gICAgY29uc3QgdG90YWxDaGFyYWN0ZXJzID0gYXdhaXQgdGhpcy5jYWxjVG90YWxDaGFyYWN0ZXJzKCk7XG4gICAgY29uc3QgdG90YWxTZW50ZW5jZXMgPSBhd2FpdCB0aGlzLmNhbGNUb3RhbFNlbnRlbmNlcygpO1xuXG4gICAgY29uc3QgbmV3RGF5OiBEYXkgPSB7XG4gICAgICB3b3JkczogMCxcbiAgICAgIGNoYXJhY3RlcnM6IDAsXG4gICAgICBzZW50ZW5jZXM6IDAsXG4gICAgICBmaWxlczogMCxcbiAgICAgIHRvdGFsV29yZHM6IHRvdGFsV29yZHMsXG4gICAgICB0b3RhbENoYXJhY3RlcnM6IHRvdGFsQ2hhcmFjdGVycyxcbiAgICAgIHRvdGFsU2VudGVuY2VzOiB0b3RhbFNlbnRlbmNlcyxcbiAgICB9O1xuXG4gICAgdGhpcy52YXVsdFN0YXRzLm1vZGlmaWVkRmlsZXMgPSB7fTtcbiAgICB0aGlzLnZhdWx0U3RhdHMuaGlzdG9yeVt0aGlzLnRvZGF5XSA9IG5ld0RheTtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNoYW5nZSh0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKS5wYXRoO1xuICAgIGNvbnN0IGN1cnJlbnRXb3JkcyA9IGdldFdvcmRDb3VudCh0ZXh0KTtcbiAgICBjb25zdCBjdXJyZW50Q2hhcmFjdGVycyA9IGdldENoYXJhY3RlckNvdW50KHRleHQpO1xuICAgIGNvbnN0IGN1cnJlbnRTZW50ZW5jZXMgPSBnZXRTZW50ZW5jZUNvdW50KHRleHQpO1xuICAgIGlmIChcbiAgICAgIHRoaXMudmF1bHRTdGF0cy5oaXN0b3J5Lmhhc093blByb3BlcnR5KHRoaXMudG9kYXkpICYmXG4gICAgICB0aGlzLnRvZGF5ID09PSBtb21lbnQoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpXG4gICAgKSB7XG4gICAgICBsZXQgbW9kRmlsZXMgPSB0aGlzLnZhdWx0U3RhdHMubW9kaWZpZWRGaWxlcztcblxuICAgICAgaWYgKG1vZEZpbGVzLmhhc093blByb3BlcnR5KGZpbGVOYW1lKSkge1xuICAgICAgICB0aGlzLnZhdWx0U3RhdHMuaGlzdG9yeVt0aGlzLnRvZGF5XS50b3RhbFdvcmRzICs9XG4gICAgICAgICAgY3VycmVudFdvcmRzIC0gbW9kRmlsZXNbZmlsZU5hbWVdLndvcmRzLmN1cnJlbnQ7XG4gICAgICAgIHRoaXMudmF1bHRTdGF0cy5oaXN0b3J5W3RoaXMudG9kYXldLnRvdGFsQ2hhcmFjdGVycyArPVxuICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJzIC0gbW9kRmlsZXNbZmlsZU5hbWVdLmNoYXJhY3RlcnMuY3VycmVudDtcbiAgICAgICAgdGhpcy52YXVsdFN0YXRzLmhpc3RvcnlbdGhpcy50b2RheV0udG90YWxTZW50ZW5jZXMgKz1cbiAgICAgICAgICBjdXJyZW50U2VudGVuY2VzIC0gbW9kRmlsZXNbZmlsZU5hbWVdLnNlbnRlbmNlcy5jdXJyZW50O1xuICAgICAgICBtb2RGaWxlc1tmaWxlTmFtZV0ud29yZHMuY3VycmVudCA9IGN1cnJlbnRXb3JkcztcbiAgICAgICAgbW9kRmlsZXNbZmlsZU5hbWVdLmNoYXJhY3RlcnMuY3VycmVudCA9IGN1cnJlbnRDaGFyYWN0ZXJzO1xuICAgICAgICBtb2RGaWxlc1tmaWxlTmFtZV0uc2VudGVuY2VzLmN1cnJlbnQgPSBjdXJyZW50U2VudGVuY2VzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbW9kRmlsZXNbZmlsZU5hbWVdID0ge1xuICAgICAgICAgIHdvcmRzOiB7XG4gICAgICAgICAgICBpbml0aWFsOiBjdXJyZW50V29yZHMsXG4gICAgICAgICAgICBjdXJyZW50OiBjdXJyZW50V29yZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGFyYWN0ZXJzOiB7XG4gICAgICAgICAgICBpbml0aWFsOiBjdXJyZW50Q2hhcmFjdGVycyxcbiAgICAgICAgICAgIGN1cnJlbnQ6IGN1cnJlbnRDaGFyYWN0ZXJzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2VudGVuY2VzOiB7XG4gICAgICAgICAgICBpbml0aWFsOiBjdXJyZW50U2VudGVuY2VzLFxuICAgICAgICAgICAgY3VycmVudDogY3VycmVudFNlbnRlbmNlcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCB3b3JkcyA9IE9iamVjdC52YWx1ZXMobW9kRmlsZXMpXG4gICAgICAgIC5tYXAoKGNvdW50cykgPT5cbiAgICAgICAgICBNYXRoLm1heCgwLCBjb3VudHMud29yZHMuY3VycmVudCAtIGNvdW50cy53b3Jkcy5pbml0aWFsKVxuICAgICAgICApXG4gICAgICAgIC5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKTtcbiAgICAgIGNvbnN0IGNoYXJhY3RlcnMgPSBPYmplY3QudmFsdWVzKG1vZEZpbGVzKVxuICAgICAgICAubWFwKChjb3VudHMpID0+XG4gICAgICAgICAgTWF0aC5tYXgoMCwgY291bnRzLmNoYXJhY3RlcnMuY3VycmVudCAtIGNvdW50cy5jaGFyYWN0ZXJzLmluaXRpYWwpXG4gICAgICAgIClcbiAgICAgICAgLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApO1xuICAgICAgY29uc3Qgc2VudGVuY2VzID0gT2JqZWN0LnZhbHVlcyhtb2RGaWxlcylcbiAgICAgICAgLm1hcCgoY291bnRzKSA9PlxuICAgICAgICAgIE1hdGgubWF4KDAsIGNvdW50cy5zZW50ZW5jZXMuY3VycmVudCAtIGNvdW50cy5zZW50ZW5jZXMuaW5pdGlhbClcbiAgICAgICAgKVxuICAgICAgICAucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCk7XG5cbiAgICAgIHRoaXMudmF1bHRTdGF0cy5oaXN0b3J5W3RoaXMudG9kYXldLndvcmRzID0gd29yZHM7XG4gICAgICB0aGlzLnZhdWx0U3RhdHMuaGlzdG9yeVt0aGlzLnRvZGF5XS5jaGFyYWN0ZXJzID0gY2hhcmFjdGVycztcbiAgICAgIHRoaXMudmF1bHRTdGF0cy5oaXN0b3J5W3RoaXMudG9kYXldLnNlbnRlbmNlcyA9IHNlbnRlbmNlcztcbiAgICAgIHRoaXMudmF1bHRTdGF0cy5oaXN0b3J5W3RoaXMudG9kYXldLmZpbGVzID0gdGhpcy5nZXRUb3RhbEZpbGVzKCk7XG5cbiAgICAgIGF3YWl0IHRoaXMudXBkYXRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVG9kYXkoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVjYWxjVG90YWxzKCkge1xuICAgIGlmICghdGhpcy52YXVsdFN0YXRzKSByZXR1cm47XG4gICAgaWYgKFxuICAgICAgdGhpcy52YXVsdFN0YXRzLmhpc3RvcnkuaGFzT3duUHJvcGVydHkodGhpcy50b2RheSkgJiZcbiAgICAgIHRoaXMudG9kYXkgPT09IG1vbWVudCgpLmZvcm1hdChcIllZWVktTU0tRERcIilcbiAgICApIHtcbiAgICAgIGNvbnN0IHRvZGF5SGlzdDogRGF5ID0gdGhpcy52YXVsdFN0YXRzLmhpc3RvcnlbdGhpcy50b2RheV07XG4gICAgICB0b2RheUhpc3QudG90YWxXb3JkcyA9IGF3YWl0IHRoaXMuY2FsY1RvdGFsV29yZHMoKTtcbiAgICAgIHRvZGF5SGlzdC50b3RhbENoYXJhY3RlcnMgPSBhd2FpdCB0aGlzLmNhbGNUb3RhbENoYXJhY3RlcnMoKTtcbiAgICAgIHRvZGF5SGlzdC50b3RhbFNlbnRlbmNlcyA9IGF3YWl0IHRoaXMuY2FsY1RvdGFsU2VudGVuY2VzKCk7XG4gICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVRvZGF5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjYWxjVG90YWxXb3JkcygpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGxldCB3b3JkcyA9IDA7XG5cbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmF1bHQuZ2V0RmlsZXMoKTtcbiAgICBmb3IgKGNvbnN0IGkgaW4gZmlsZXMpIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1tpXTtcbiAgICAgIGlmIChmaWxlLmV4dGVuc2lvbiA9PT0gXCJtZFwiKSB7XG4gICAgICAgIHdvcmRzICs9IGdldFdvcmRDb3VudChhd2FpdCB0aGlzLnZhdWx0LmNhY2hlZFJlYWQoZmlsZSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB3b3JkcztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2FsY1RvdGFsQ2hhcmFjdGVycygpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGxldCBjaGFyYWN0ZXJzID0gMDtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmF1bHQuZ2V0RmlsZXMoKTtcbiAgICBmb3IgKGNvbnN0IGkgaW4gZmlsZXMpIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1tpXTtcbiAgICAgIGlmIChmaWxlLmV4dGVuc2lvbiA9PT0gXCJtZFwiKSB7XG4gICAgICAgIGNoYXJhY3RlcnMgKz0gZ2V0Q2hhcmFjdGVyQ291bnQoYXdhaXQgdGhpcy52YXVsdC5jYWNoZWRSZWFkKGZpbGUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoYXJhY3RlcnM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNhbGNUb3RhbFNlbnRlbmNlcygpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGxldCBzZW50ZW5jZSA9IDA7XG4gICAgY29uc3QgZmlsZXMgPSB0aGlzLnZhdWx0LmdldEZpbGVzKCk7XG4gICAgZm9yIChjb25zdCBpIGluIGZpbGVzKSB7XG4gICAgICBjb25zdCBmaWxlID0gZmlsZXNbaV07XG4gICAgICBpZiAoZmlsZS5leHRlbnNpb24gPT09IFwibWRcIikge1xuICAgICAgICBzZW50ZW5jZSArPSBnZXRTZW50ZW5jZUNvdW50KGF3YWl0IHRoaXMudmF1bHQuY2FjaGVkUmVhZChmaWxlKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbnRlbmNlO1xuICB9XG5cbiAgcHVibGljIGdldERhaWx5V29yZHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YXVsdFN0YXRzLmhpc3RvcnlbdGhpcy50b2RheV0ud29yZHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGFpbHlDaGFyYWN0ZXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudmF1bHRTdGF0cy5oaXN0b3J5W3RoaXMudG9kYXldLmNoYXJhY3RlcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGFpbHlTZW50ZW5jZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YXVsdFN0YXRzLmhpc3RvcnlbdGhpcy50b2RheV0uc2VudGVuY2VzO1xuICB9XG5cbiAgcHVibGljIGdldFRvdGFsRmlsZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YXVsdC5nZXRNYXJrZG93bkZpbGVzKCkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFRvdGFsV29yZHMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBpZiAoIXRoaXMudmF1bHRTdGF0cykgcmV0dXJuIGF3YWl0IHRoaXMuY2FsY1RvdGFsV29yZHMoKTtcbiAgICByZXR1cm4gdGhpcy52YXVsdFN0YXRzLmhpc3RvcnlbdGhpcy50b2RheV0udG90YWxXb3JkcztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRUb3RhbENoYXJhY3RlcnMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBpZiAoIXRoaXMudmF1bHRTdGF0cykgcmV0dXJuIGF3YWl0IHRoaXMuY2FsY1RvdGFsQ2hhcmFjdGVycygpO1xuICAgIHJldHVybiB0aGlzLnZhdWx0U3RhdHMuaGlzdG9yeVt0aGlzLnRvZGF5XS50b3RhbENoYXJhY3RlcnM7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0VG90YWxTZW50ZW5jZXMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBpZiAoIXRoaXMudmF1bHRTdGF0cykgcmV0dXJuIGF3YWl0IHRoaXMuY2FsY1RvdGFsU2VudGVuY2VzKCk7XG4gICAgcmV0dXJuIHRoaXMudmF1bHRTdGF0cy5oaXN0b3J5W3RoaXMudG9kYXldLnRvdGFsU2VudGVuY2VzO1xuICB9XG59XG4iLCJpbXBvcnQgeyBNZXRyaWNDb3VudGVyLCBNZXRyaWNUeXBlIH0gZnJvbSBcInNyYy9zZXR0aW5ncy9TZXR0aW5nc1wiO1xuaW1wb3J0IHR5cGUgQmV0dGVyV29yZENvdW50IGZyb20gXCIuLi9tYWluXCI7XG5pbXBvcnQge1xuICBnZXRXb3JkQ291bnQsXG4gIGdldENoYXJhY3RlckNvdW50LFxuICBnZXRTZW50ZW5jZUNvdW50LFxufSBmcm9tIFwic3JjL3V0aWxzL1N0YXRVdGlsc1wiO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdHVzQmFyIHtcbiAgcHJpdmF0ZSBzdGF0dXNCYXJFbDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgcGx1Z2luOiBCZXR0ZXJXb3JkQ291bnQ7XG4gIHB1YmxpYyBkZWJvdW5jZVN0YXR1c0JhclVwZGF0ZTtcblxuICBjb25zdHJ1Y3RvcihzdGF0dXNCYXJFbDogSFRNTEVsZW1lbnQsIHBsdWdpbjogQmV0dGVyV29yZENvdW50KSB7XG4gICAgdGhpcy5zdGF0dXNCYXJFbCA9IHN0YXR1c0JhckVsO1xuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICAgIHRoaXMuZGVib3VuY2VTdGF0dXNCYXJVcGRhdGUgPSBkZWJvdW5jZShcbiAgICAgICh0ZXh0OiBzdHJpbmcpID0+IHRoaXMudXBkYXRlU3RhdHVzQmFyKHRleHQpLFxuICAgICAgMjAsXG4gICAgICBmYWxzZVxuICAgICk7XG5cbiAgICB0aGlzLnN0YXR1c0JhckVsLmNsYXNzTGlzdC5hZGQoXCJtb2QtY2xpY2thYmxlXCIpO1xuICAgIHRoaXMuc3RhdHVzQmFyRWwuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBcIkNvbWluZyBTb29uXCIpO1xuICAgIHRoaXMuc3RhdHVzQmFyRWwuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbC1wb3NpdGlvblwiLCBcInRvcFwiKTtcbiAgICB0aGlzLnN0YXR1c0JhckVsLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoZXY6IE1vdXNlRXZlbnQpID0+XG4gICAgICB0aGlzLm9uQ2xpY2soZXYpXG4gICAgKTtcbiAgfVxuXG4gIG9uQ2xpY2soZXY6IE1vdXNlRXZlbnQpIHtcbiAgICBldjtcbiAgfVxuXG4gIGRpc3BsYXlUZXh0KHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RhdHVzQmFyRWwuc2V0VGV4dCh0ZXh0KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVN0YXR1c0Jhcih0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzYiA9IHRoaXMucGx1Z2luLnNldHRpbmdzLnN0YXR1c0JhcjtcbiAgICBsZXQgZGlzcGxheSA9IFwiXCI7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNiLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBzYkl0ZW0gPSBzYltpXTtcblxuICAgICAgZGlzcGxheSA9IGRpc3BsYXkgKyBzYkl0ZW0ucHJlZml4O1xuICAgICAgY29uc3QgbWV0cmljID0gc2JJdGVtLm1ldHJpYztcblxuICAgICAgaWYgKG1ldHJpYy5jb3VudGVyID09PSBNZXRyaWNDb3VudGVyLndvcmRzKSB7XG4gICAgICAgIHN3aXRjaCAobWV0cmljLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIE1ldHJpY1R5cGUuZmlsZTpcbiAgICAgICAgICAgIGRpc3BsYXkgPSBkaXNwbGF5ICsgZ2V0V29yZENvdW50KHRleHQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXRyaWNUeXBlLmRhaWx5OlxuICAgICAgICAgICAgZGlzcGxheSA9XG4gICAgICAgICAgICAgIGRpc3BsYXkgK1xuICAgICAgICAgICAgICAodGhpcy5wbHVnaW4uc2V0dGluZ3MuY29sbGVjdFN0YXRzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBsdWdpbi5zdGF0c01hbmFnZXIuZ2V0RGFpbHlXb3JkcygpXG4gICAgICAgICAgICAgICAgOiAwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS50b3RhbDpcbiAgICAgICAgICAgIGRpc3BsYXkgPVxuICAgICAgICAgICAgICBkaXNwbGF5ICtcbiAgICAgICAgICAgICAgKGF3YWl0ICh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jb2xsZWN0U3RhdHNcbiAgICAgICAgICAgICAgICA/IHRoaXMucGx1Z2luLnN0YXRzTWFuYWdlci5nZXRUb3RhbFdvcmRzKClcbiAgICAgICAgICAgICAgICA6IDApKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG1ldHJpYy5jb3VudGVyID09PSBNZXRyaWNDb3VudGVyLmNoYXJhY3RlcnMpIHtcbiAgICAgICAgc3dpdGNoIChtZXRyaWMudHlwZSkge1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS5maWxlOlxuICAgICAgICAgICAgZGlzcGxheSA9IGRpc3BsYXkgKyBnZXRDaGFyYWN0ZXJDb3VudCh0ZXh0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS5kYWlseTpcbiAgICAgICAgICAgIGRpc3BsYXkgPVxuICAgICAgICAgICAgICBkaXNwbGF5ICtcbiAgICAgICAgICAgICAgKHRoaXMucGx1Z2luLnNldHRpbmdzLmNvbGxlY3RTdGF0c1xuICAgICAgICAgICAgICAgID8gdGhpcy5wbHVnaW4uc3RhdHNNYW5hZ2VyLmdldERhaWx5Q2hhcmFjdGVycygpXG4gICAgICAgICAgICAgICAgOiAwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS50b3RhbDpcbiAgICAgICAgICAgIGRpc3BsYXkgPVxuICAgICAgICAgICAgICBkaXNwbGF5ICtcbiAgICAgICAgICAgICAgKGF3YWl0ICh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jb2xsZWN0U3RhdHNcbiAgICAgICAgICAgICAgICA/IHRoaXMucGx1Z2luLnN0YXRzTWFuYWdlci5nZXRUb3RhbENoYXJhY3RlcnMoKVxuICAgICAgICAgICAgICAgIDogMCkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobWV0cmljLmNvdW50ZXIgPT09IE1ldHJpY0NvdW50ZXIuc2VudGVuY2VzKSB7XG4gICAgICAgIHN3aXRjaCAobWV0cmljLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIE1ldHJpY1R5cGUuZmlsZTpcbiAgICAgICAgICAgIGRpc3BsYXkgPSBkaXNwbGF5ICsgZ2V0U2VudGVuY2VDb3VudCh0ZXh0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS5kYWlseTpcbiAgICAgICAgICAgIGRpc3BsYXkgPVxuICAgICAgICAgICAgICBkaXNwbGF5ICtcbiAgICAgICAgICAgICAgKHRoaXMucGx1Z2luLnNldHRpbmdzLmNvbGxlY3RTdGF0c1xuICAgICAgICAgICAgICAgID8gdGhpcy5wbHVnaW4uc3RhdHNNYW5hZ2VyLmdldERhaWx5U2VudGVuY2VzKClcbiAgICAgICAgICAgICAgICA6IDApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXRyaWNUeXBlLnRvdGFsOlxuICAgICAgICAgICAgZGlzcGxheSA9XG4gICAgICAgICAgICAgIGRpc3BsYXkgK1xuICAgICAgICAgICAgICAoYXdhaXQgKHRoaXMucGx1Z2luLnNldHRpbmdzLmNvbGxlY3RTdGF0c1xuICAgICAgICAgICAgICAgID8gdGhpcy5wbHVnaW4uc3RhdHNNYW5hZ2VyLmdldFRvdGFsU2VudGVuY2VzKClcbiAgICAgICAgICAgICAgICA6IDApKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG1ldHJpYy5jb3VudGVyID09PSBNZXRyaWNDb3VudGVyLmZpbGVzKSB7XG4gICAgICAgIHN3aXRjaCAobWV0cmljLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIE1ldHJpY1R5cGUuZmlsZTpcbiAgICAgICAgICAgIGRpc3BsYXkgPVxuICAgICAgICAgICAgICBkaXNwbGF5ICtcbiAgICAgICAgICAgICAgKHRoaXMucGx1Z2luLnNldHRpbmdzLmNvbGxlY3RTdGF0c1xuICAgICAgICAgICAgICAgID8gdGhpcy5wbHVnaW4uc3RhdHNNYW5hZ2VyLmdldFRvdGFsRmlsZXMoKVxuICAgICAgICAgICAgICAgIDogMCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1ldHJpY1R5cGUuZGFpbHk6XG4gICAgICAgICAgICBkaXNwbGF5ID1cbiAgICAgICAgICAgICAgZGlzcGxheSArXG4gICAgICAgICAgICAgICh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jb2xsZWN0U3RhdHNcbiAgICAgICAgICAgICAgICA/IHRoaXMucGx1Z2luLnN0YXRzTWFuYWdlci5nZXRUb3RhbEZpbGVzKClcbiAgICAgICAgICAgICAgICA6IDApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXRyaWNUeXBlLnRvdGFsOlxuICAgICAgICAgICAgZGlzcGxheSA9XG4gICAgICAgICAgICAgIGRpc3BsYXkgK1xuICAgICAgICAgICAgICAodGhpcy5wbHVnaW4uc2V0dGluZ3MuY29sbGVjdFN0YXRzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBsdWdpbi5zdGF0c01hbmFnZXIuZ2V0VG90YWxGaWxlcygpXG4gICAgICAgICAgICAgICAgOiAwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRpc3BsYXkgPSBkaXNwbGF5ICsgc2JJdGVtLnN1ZmZpeDtcbiAgICB9XG5cbiAgICB0aGlzLmRpc3BsYXlUZXh0KGRpc3BsYXkpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlQWx0QmFyKCkge1xuICAgIGNvbnN0IGFiID0gdGhpcy5wbHVnaW4uc2V0dGluZ3MuYWx0QmFyO1xuICAgIGxldCBkaXNwbGF5ID0gXCJcIjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHNiSXRlbSA9IGFiW2ldO1xuXG4gICAgICBkaXNwbGF5ID0gZGlzcGxheSArIHNiSXRlbS5wcmVmaXg7XG4gICAgICBjb25zdCBtZXRyaWMgPSBzYkl0ZW0ubWV0cmljO1xuXG4gICAgICBpZiAobWV0cmljLmNvdW50ZXIgPT09IE1ldHJpY0NvdW50ZXIud29yZHMpIHtcbiAgICAgICAgc3dpdGNoIChtZXRyaWMudHlwZSkge1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS5maWxlOlxuICAgICAgICAgICAgZGlzcGxheSA9IGRpc3BsYXkgKyAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXRyaWNUeXBlLmRhaWx5OlxuICAgICAgICAgICAgZGlzcGxheSA9XG4gICAgICAgICAgICAgIGRpc3BsYXkgK1xuICAgICAgICAgICAgICAodGhpcy5wbHVnaW4uc2V0dGluZ3MuY29sbGVjdFN0YXRzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBsdWdpbi5zdGF0c01hbmFnZXIuZ2V0RGFpbHlXb3JkcygpXG4gICAgICAgICAgICAgICAgOiAwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS50b3RhbDpcbiAgICAgICAgICAgIGRpc3BsYXkgPVxuICAgICAgICAgICAgICBkaXNwbGF5ICtcbiAgICAgICAgICAgICAgKGF3YWl0ICh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jb2xsZWN0U3RhdHNcbiAgICAgICAgICAgICAgICA/IHRoaXMucGx1Z2luLnN0YXRzTWFuYWdlci5nZXRUb3RhbFdvcmRzKClcbiAgICAgICAgICAgICAgICA6IDApKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG1ldHJpYy5jb3VudGVyID09PSBNZXRyaWNDb3VudGVyLmNoYXJhY3RlcnMpIHtcbiAgICAgICAgc3dpdGNoIChtZXRyaWMudHlwZSkge1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS5maWxlOlxuICAgICAgICAgICAgZGlzcGxheSA9IGRpc3BsYXkgKyAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXRyaWNUeXBlLmRhaWx5OlxuICAgICAgICAgICAgZGlzcGxheSA9XG4gICAgICAgICAgICAgIGRpc3BsYXkgK1xuICAgICAgICAgICAgICAodGhpcy5wbHVnaW4uc2V0dGluZ3MuY29sbGVjdFN0YXRzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBsdWdpbi5zdGF0c01hbmFnZXIuZ2V0RGFpbHlDaGFyYWN0ZXJzKClcbiAgICAgICAgICAgICAgICA6IDApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXRyaWNUeXBlLnRvdGFsOlxuICAgICAgICAgICAgZGlzcGxheSA9XG4gICAgICAgICAgICAgIGRpc3BsYXkgK1xuICAgICAgICAgICAgICAoYXdhaXQgKHRoaXMucGx1Z2luLnNldHRpbmdzLmNvbGxlY3RTdGF0c1xuICAgICAgICAgICAgICAgID8gdGhpcy5wbHVnaW4uc3RhdHNNYW5hZ2VyLmdldFRvdGFsQ2hhcmFjdGVycygpXG4gICAgICAgICAgICAgICAgOiAwKSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChtZXRyaWMuY291bnRlciA9PT0gTWV0cmljQ291bnRlci5zZW50ZW5jZXMpIHtcbiAgICAgICAgc3dpdGNoIChtZXRyaWMudHlwZSkge1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS5maWxlOlxuICAgICAgICAgICAgZGlzcGxheSA9IGRpc3BsYXkgKyAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXRyaWNUeXBlLmRhaWx5OlxuICAgICAgICAgICAgZGlzcGxheSA9XG4gICAgICAgICAgICAgIGRpc3BsYXkgK1xuICAgICAgICAgICAgICAodGhpcy5wbHVnaW4uc2V0dGluZ3MuY29sbGVjdFN0YXRzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBsdWdpbi5zdGF0c01hbmFnZXIuZ2V0RGFpbHlTZW50ZW5jZXMoKVxuICAgICAgICAgICAgICAgIDogMCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1ldHJpY1R5cGUudG90YWw6XG4gICAgICAgICAgICBkaXNwbGF5ID1cbiAgICAgICAgICAgICAgZGlzcGxheSArXG4gICAgICAgICAgICAgIChhd2FpdCAodGhpcy5wbHVnaW4uc2V0dGluZ3MuY29sbGVjdFN0YXRzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBsdWdpbi5zdGF0c01hbmFnZXIuZ2V0VG90YWxTZW50ZW5jZXMoKVxuICAgICAgICAgICAgICAgIDogMCkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobWV0cmljLmNvdW50ZXIgPT09IE1ldHJpY0NvdW50ZXIuZmlsZXMpIHtcbiAgICAgICAgc3dpdGNoIChtZXRyaWMudHlwZSkge1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS5maWxlOlxuICAgICAgICAgICAgZGlzcGxheSA9XG4gICAgICAgICAgICAgIGRpc3BsYXkgK1xuICAgICAgICAgICAgICAodGhpcy5wbHVnaW4uc2V0dGluZ3MuY29sbGVjdFN0YXRzXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBsdWdpbi5zdGF0c01hbmFnZXIuZ2V0VG90YWxGaWxlcygpXG4gICAgICAgICAgICAgICAgOiAwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWV0cmljVHlwZS5kYWlseTpcbiAgICAgICAgICAgIGRpc3BsYXkgPVxuICAgICAgICAgICAgICBkaXNwbGF5ICtcbiAgICAgICAgICAgICAgKHRoaXMucGx1Z2luLnNldHRpbmdzLmNvbGxlY3RTdGF0c1xuICAgICAgICAgICAgICAgID8gdGhpcy5wbHVnaW4uc3RhdHNNYW5hZ2VyLmdldFRvdGFsRmlsZXMoKVxuICAgICAgICAgICAgICAgIDogMCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1ldHJpY1R5cGUudG90YWw6XG4gICAgICAgICAgICBkaXNwbGF5ID1cbiAgICAgICAgICAgICAgZGlzcGxheSArXG4gICAgICAgICAgICAgICh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jb2xsZWN0U3RhdHNcbiAgICAgICAgICAgICAgICA/IHRoaXMucGx1Z2luLnN0YXRzTWFuYWdlci5nZXRUb3RhbEZpbGVzKClcbiAgICAgICAgICAgICAgICA6IDApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGlzcGxheSA9IGRpc3BsYXkgKyBzYkl0ZW0uc3VmZml4O1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGxheVRleHQoZGlzcGxheSk7XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIFZpZXdVcGRhdGUsXG4gIFBsdWdpblZhbHVlLFxuICBFZGl0b3JWaWV3LFxuICBWaWV3UGx1Z2luLFxufSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuaW1wb3J0IHR5cGUgQmV0dGVyV29yZENvdW50IGZyb20gXCJzcmMvbWFpblwiO1xuXG5jbGFzcyBFZGl0b3JQbHVnaW4gaW1wbGVtZW50cyBQbHVnaW5WYWx1ZSB7XG4gIGhhc1BsdWdpbjogYm9vbGVhbjtcbiAgdmlldzogRWRpdG9yVmlldztcbiAgcHJpdmF0ZSBwbHVnaW46IEJldHRlcldvcmRDb3VudDtcblxuICBjb25zdHJ1Y3Rvcih2aWV3OiBFZGl0b3JWaWV3KSB7XG4gICAgdGhpcy52aWV3ID0gdmlldztcbiAgICB0aGlzLmhhc1BsdWdpbiA9IGZhbHNlO1xuICB9XG5cbiAgdXBkYXRlKHVwZGF0ZTogVmlld1VwZGF0ZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5oYXNQbHVnaW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0ciA9IHVwZGF0ZS50cmFuc2FjdGlvbnNbMF07XG4gICAgaWYgKCF0cikgcmV0dXJuO1xuICAgIGlmIChcbiAgICAgIHRyLmlzVXNlckV2ZW50KFwic2VsZWN0XCIpICYmXG4gICAgICB0ci5uZXdTZWxlY3Rpb24ucmFuZ2VzWzBdLmZyb20gIT09IHRyLm5ld1NlbGVjdGlvbi5yYW5nZXNbMF0udG9cbiAgICApIHtcbiAgICAgIGxldCB0ZXh0ID0gXCJcIjtcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRyLm5ld1NlbGVjdGlvbi5tYWluO1xuICAgICAgY29uc3QgdGV4dEl0ZXIgPSB0ci5uZXdEb2MuaXRlclJhbmdlKHNlbGVjdGlvbi5mcm9tLCBzZWxlY3Rpb24udG8pO1xuICAgICAgd2hpbGUgKCF0ZXh0SXRlci5kb25lKSB7XG4gICAgICAgIHRleHQgPSB0ZXh0ICsgdGV4dEl0ZXIubmV4dCgpLnZhbHVlO1xuICAgICAgfVxuICAgICAgdGhpcy5wbHVnaW4uc3RhdHVzQmFyLmRlYm91bmNlU3RhdHVzQmFyVXBkYXRlKHRleHQpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0ci5pc1VzZXJFdmVudChcImlucHV0XCIpIHx8XG4gICAgICB0ci5pc1VzZXJFdmVudChcImRlbGV0ZVwiKSB8fFxuICAgICAgdHIuaXNVc2VyRXZlbnQoXCJtb3ZlXCIpIHx8XG4gICAgICB0ci5pc1VzZXJFdmVudChcInVuZG9cIikgfHxcbiAgICAgIHRyLmlzVXNlckV2ZW50KFwicmVkb1wiKSB8fFxuICAgICAgdHIuaXNVc2VyRXZlbnQoXCJzZWxlY3RcIilcbiAgICApIHtcbiAgICAgIGNvbnN0IHRleHRJdGVyID0gdHIubmV3RG9jLml0ZXIoKTtcbiAgICAgIGxldCB0ZXh0ID0gXCJcIjtcbiAgICAgIHdoaWxlICghdGV4dEl0ZXIuZG9uZSkge1xuICAgICAgICB0ZXh0ID0gdGV4dCArIHRleHRJdGVyLm5leHQoKS52YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0ci5kb2NDaGFuZ2VkICYmIHRoaXMucGx1Z2luLnN0YXRzTWFuYWdlcikge1xuICAgICAgICB0aGlzLnBsdWdpbi5zdGF0c01hbmFnZXIuZGVib3VuY2VDaGFuZ2UodGV4dCk7XG4gICAgICB9XG4gICAgICB0aGlzLnBsdWdpbi5zdGF0dXNCYXIuZGVib3VuY2VTdGF0dXNCYXJVcGRhdGUodGV4dCk7XG4gICAgfVxuICB9XG5cbiAgYWRkUGx1Z2luKHBsdWdpbjogQmV0dGVyV29yZENvdW50KSB7XG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gICAgdGhpcy5oYXNQbHVnaW4gPSB0cnVlO1xuICB9XG5cbiAgZGVzdHJveSgpIHt9XG59XG5cbmV4cG9ydCBjb25zdCBlZGl0b3JQbHVnaW4gPSBWaWV3UGx1Z2luLmZyb21DbGFzcyhFZGl0b3JQbHVnaW4pO1xuIiwiaW1wb3J0IHsgUGx1Z2luLCBURmlsZSwgV29ya3NwYWNlTGVhZiB9IGZyb20gXCJvYnNpZGlhblwiO1xyXG5pbXBvcnQgQmV0dGVyV29yZENvdW50U2V0dGluZ3NUYWIgZnJvbSBcIi4vc2V0dGluZ3MvU2V0dGluZ3NUYWJcIjtcclxuaW1wb3J0IFN0YXRzTWFuYWdlciBmcm9tIFwiLi9zdGF0cy9TdGF0c01hbmFnZXJcIjtcclxuaW1wb3J0IFN0YXR1c0JhciBmcm9tIFwiLi9zdGF0dXMvU3RhdHVzQmFyXCI7XHJcbmltcG9ydCB0eXBlIHsgRWRpdG9yVmlldyB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XHJcbmltcG9ydCB7IGVkaXRvclBsdWdpbiB9IGZyb20gXCIuL2VkaXRvci9FZGl0b3JQbHVnaW5cIjtcclxuaW1wb3J0IHtcclxuICBCZXR0ZXJXb3JkQ291bnRTZXR0aW5ncyxcclxuICBERUZBVUxUX1NFVFRJTkdTLFxyXG59IGZyb20gXCJzcmMvc2V0dGluZ3MvU2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgc2V0dGluZ3NTdG9yZSB9IGZyb20gXCIuL3V0aWxzL1N2ZWx0ZVN0b3Jlc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmV0dGVyV29yZENvdW50IGV4dGVuZHMgUGx1Z2luIHtcclxuICBwdWJsaWMgc2V0dGluZ3M6IEJldHRlcldvcmRDb3VudFNldHRpbmdzO1xyXG4gIHB1YmxpYyBzdGF0dXNCYXI6IFN0YXR1c0JhcjtcclxuICBwdWJsaWMgc3RhdHNNYW5hZ2VyOiBTdGF0c01hbmFnZXI7XHJcblxyXG4gIGFzeW5jIG9udW5sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zdGF0c01hbmFnZXIgPSBudWxsO1xyXG4gICAgdGhpcy5zdGF0dXNCYXIgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25sb2FkKCkge1xyXG4gICAgLy8gU2V0dGluZ3MgU3RvcmVcclxuICAgIC8vIHRoaXMucmVnaXN0ZXIoXHJcbiAgICAvLyAgIHNldHRpbmdzU3RvcmUuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgLy8gICAgIHRoaXMuc2V0dGluZ3MgPSB2YWx1ZTtcclxuICAgIC8vICAgfSlcclxuICAgIC8vICk7XHJcbiAgICAvLyBIYW5kbGUgU2V0dGluZ3NcclxuICAgIHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKERFRkFVTFRfU0VUVElOR1MsIGF3YWl0IHRoaXMubG9hZERhdGEoKSk7XHJcbiAgICB0aGlzLmFkZFNldHRpbmdUYWIobmV3IEJldHRlcldvcmRDb3VudFNldHRpbmdzVGFiKHRoaXMuYXBwLCB0aGlzKSk7XHJcblxyXG4gICAgLy8gSGFuZGxlIFN0YXRpc3RpY3NcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLmNvbGxlY3RTdGF0cykge1xyXG4gICAgICB0aGlzLnN0YXRzTWFuYWdlciA9IG5ldyBTdGF0c01hbmFnZXIodGhpcy5hcHAudmF1bHQsIHRoaXMuYXBwLndvcmtzcGFjZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGFuZGxlIFN0YXR1cyBCYXJcclxuICAgIGxldCBzdGF0dXNCYXJFbCA9IHRoaXMuYWRkU3RhdHVzQmFySXRlbSgpO1xyXG4gICAgdGhpcy5zdGF0dXNCYXIgPSBuZXcgU3RhdHVzQmFyKHN0YXR1c0JhckVsLCB0aGlzKTtcclxuXHJcbiAgICAvLyBIYW5kbGUgdGhlIEVkaXRvciBQbHVnaW5cclxuICAgIHRoaXMucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oZWRpdG9yUGx1Z2luKTtcclxuXHJcbiAgICB0aGlzLmFwcC53b3Jrc3BhY2Uub25MYXlvdXRSZWFkeSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2l2ZUVkaXRvclBsdWdpbih0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TW9zdFJlY2VudExlYWYoKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoXHJcbiAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbihcclxuICAgICAgICBcImFjdGl2ZS1sZWFmLWNoYW5nZVwiLFxyXG4gICAgICAgIGFzeW5jIChsZWFmOiBXb3Jrc3BhY2VMZWFmKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdpdmVFZGl0b3JQbHVnaW4obGVhZik7XHJcbiAgICAgICAgICBpZiAobGVhZi52aWV3LmdldFZpZXdUeXBlKCkgIT09IFwibWFya2Rvd25cIikge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXR1c0Jhci51cGRhdGVBbHRCYXIoKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoIXRoaXMuc2V0dGluZ3MuY29sbGVjdFN0YXRzKSByZXR1cm47XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnN0YXRzTWFuYWdlci5yZWNhbGNUb3RhbHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KFxyXG4gICAgICB0aGlzLmFwcC52YXVsdC5vbihcImRlbGV0ZVwiLCBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNldHRpbmdzLmNvbGxlY3RTdGF0cykgcmV0dXJuO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc3RhdHNNYW5hZ2VyLnJlY2FsY1RvdGFscygpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdpdmVFZGl0b3JQbHVnaW4obGVhZjogV29ya3NwYWNlTGVhZik6IHZvaWQge1xyXG4gICAgLy9AdHMtZXhwZWN0LWVycm9yLCBub3QgdHlwZWRcclxuICAgIGNvbnN0IGVkaXRvciA9IGxlYWYudmlldy5lZGl0b3I7XHJcbiAgICBpZiAoZWRpdG9yKSB7XHJcbiAgICAgIGNvbnN0IGVkaXRvclZpZXcgPSBlZGl0b3IuY20gYXMgRWRpdG9yVmlldztcclxuICAgICAgY29uc3QgZWRpdG9yUGx1ZyA9IGVkaXRvclZpZXcucGx1Z2luKGVkaXRvclBsdWdpbik7XHJcbiAgICAgIGVkaXRvclBsdWcuYWRkUGx1Z2luKHRoaXMpO1xyXG4gICAgICAvL0B0cy1leHBlY3QtZXJyb3IsIG5vdCB0eXBlZFxyXG4gICAgICBjb25zdCBkYXRhOiBzdHJpbmcgPSBsZWFmLnZpZXcuZGF0YTtcclxuICAgICAgdGhpcy5zdGF0dXNCYXIudXBkYXRlU3RhdHVzQmFyKGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2F2ZVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbIlBsdWdpblNldHRpbmdUYWIiLCJTZXR0aW5nIiwidGhpcyIsInJlcXVpcmUiLCJkZWJvdW5jZSIs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LENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztBQUMvQyxLQUFLLENBQUMsQ0FBQztBQUNQLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxVQUFVLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQzNELFFBQVEsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO0FBQ25DLFlBQVksSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLFFBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ25ELFFBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELFFBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbEQsUUFBUSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztBQUMvQyxLQUFLLENBQUMsQ0FBQztBQUNQLElBQUksYUFBYSxDQUFDLEtBQUssRUFBRSxVQUFVLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQ3pELFFBQVEsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDbkMsUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbEQsUUFBUSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNqRCxLQUFLLENB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QUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNwRCxJQUFJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVk7QUFDbEQsUUFBUSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDdkMsS0FBSyxDQUFDLENBQUM7QUFDUCxJQUFJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVk7QUFDbkQsUUFBUSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDeEMsS0FBSyxDQUFDLENBQUM7QUFDUCxJQUFJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVk7QUFDcEQsUUFBUSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDekMsS0FBSyxDQUFDLENBQUM7QUFDUCxJQUFJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVk7QUFDckQsUUFBUSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7QUFDMUMsS0FBSyxDQUFDLENBQUM7QUFDUCxJQUFJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVk7QUFDdEQsUUFBUSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7QUFDM0MsS0FBSyxDQUFDLENBQUM7QUFDUCxJQUFJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVk7QUFDdkQsUUFBUSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFP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 diff --git a/notes/.obsidian/plugins/better-word-count/manifest.json b/notes/.obsidian/plugins/better-word-count/manifest.json index 3ecc00a..5e5289d 100644 --- a/notes/.obsidian/plugins/better-word-count/manifest.json +++ b/notes/.obsidian/plugins/better-word-count/manifest.json @@ -1,9 +1,9 @@ -{ - "id": "better-word-count", - "name": "Better Word Count", - "version": "0.8.1", - "description": "Counts the words of selected text in the editor.", - "author": "Luke Leppan", - "authorUrl": "https://lukeleppan.com", - "isDesktopOnly": false -} +{ + "id": "better-word-count", + "name": "Better Word Count", + "version": "0.9.1", + "description": "Counts the words of selected text in the editor.", + "author": "Luke Leppan", + "authorUrl": "https://lukeleppan.com", + "isDesktopOnly": false +} diff --git a/notes/.obsidian/plugins/better-word-count/styles.css b/notes/.obsidian/plugins/better-word-count/styles.css new file mode 100644 index 0000000..6009c0a --- /dev/null +++ b/notes/.obsidian/plugins/better-word-count/styles.css @@ -0,0 +1,21 @@ +details.bwc-sb-item-setting { + border: 1px solid var(--background-modifier-border); + border-radius: 10px; + padding: 10px 5px 20px 10px; + margin-top: 5px; + margin-bottom: 10px; +} +.bwc-sb-item-setting summary::marker { + font-size: 10px; +} + +/* .bwc-sb-item-setting summary { */ +/* margin-bottom: 5px; */ +/* } */ +.bwc-sb-item-setting summary span.bwc-sb-buttons { + float: right; +} + +.bwc-status-bar-settings-title { + margin-bottom: 0px; +} diff --git a/notes/.obsidian/plugins/emoji-shortcodes/main.js b/notes/.obsidian/plugins/emoji-shortcodes/main.js index 801f0c1..5a3b2e1 100644 --- a/notes/.obsidian/plugins/emoji-shortcodes/main.js +++ b/notes/.obsidian/plugins/emoji-shortcodes/main.js @@ -1913,6 +1913,9 @@ EmojiMarkdownPostProcessor.emojiProcessor = (el) => { const DEFAULT_SETTINGS = { immediateReplace: true, suggester: true, + historyPriority: true, + historyLimit: 100, + history: [], }; class EmojiPluginSettingTab extends obsidian.PluginSettingTab { constructor(app, plugin) { @@ -1943,6 +1946,40 @@ class EmojiPluginSettingTab extends obsidian.PluginSettingTab { yield this.plugin.saveSettings(); })); }); + new obsidian.Setting(containerEl) + .setName('Use History Priority') + .setDesc('Suggester gives priority to recently used emoji.') + .addToggle(cb => { + cb.setValue(this.plugin.settings.historyPriority) + .onChange((value) => __awaiter(this, void 0, void 0, function* () { + this.plugin.settings.historyPriority = value; + yield this.plugin.saveSettings(); + this.display(); + })); + }); + if (this.plugin.settings.historyPriority) { + new obsidian.Setting(containerEl) + .setName('History Limit') + .setClass('ES-sub-setting') + .addText(cb => { + cb.setPlaceholder(String(DEFAULT_SETTINGS.historyLimit)) + .setValue(String(this.plugin.settings.historyLimit)) + .onChange((value) => __awaiter(this, void 0, void 0, function* () { + this.plugin.settings.historyLimit = value !== '' ? Number(value) : DEFAULT_SETTINGS.historyLimit; + yield this.plugin.saveSettings(); + })); + }); + new obsidian.Setting(containerEl) + .setName('Clear History') + .setClass('ES-sub-setting') + .addButton(cb => { + cb.setButtonText("Clear") + .onClick(() => __awaiter(this, void 0, void 0, function* () { + this.plugin.settings.history = []; + yield this.plugin.saveSettings(); + })); + }); + } new obsidian.Setting(containerEl) .setName('Donate') .setDesc('If you like this Plugin, consider donating to support continued development:') @@ -1965,13 +2002,27 @@ class EmojiShortcodesPlugin extends obsidian.Plugin { loadSettings() { return __awaiter(this, void 0, void 0, function* () { this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData()); + this.updateEmojiList(); }); } saveSettings() { return __awaiter(this, void 0, void 0, function* () { yield this.saveData(this.settings); + this.updateEmojiList(); }); } + updateEmojiList() { + const set = new Set(this.settings.history); + this.emojiList = [...this.settings.history, ...Object.keys(emoji).filter(e => !set.has(e))]; + } + updateHistory(suggestion) { + if (!this.settings.historyPriority) + return; + const set = new Set([suggestion, ...this.settings.history]); + const history = [...set].slice(0, this.settings.historyLimit); + this.settings = Object.assign(this.settings, { history }); + this.saveSettings(); + } } class EmojiSuggester extends obsidian.EditorSuggest { constructor(plugin) { @@ -1998,7 +2049,7 @@ class EmojiSuggester extends obsidian.EditorSuggest { } getSuggestions(context) { let emoji_query = context.query.replace(':', '').toLowerCase(); - return Object.keys(emoji).filter(p => p.includes(emoji_query)); + return this.plugin.emojiList.filter(p => p.includes(emoji_query)); } renderSuggestion(suggestion, el) { const outer = el.createDiv({ cls: "ES-suggester-container" }); @@ -2009,9 +2060,10 @@ class EmojiSuggester extends obsidian.EditorSuggest { selectSuggestion(suggestion) { if (this.context) { this.context.editor.replaceRange(this.plugin.settings.immediateReplace ? emoji[suggestion] : `${suggestion} `, this.context.start, this.context.end); + this.plugin.updateHistory(suggestion); } } } module.exports = EmojiShortcodesPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9lbW9qaUxpc3QudHMiLCJzcmMvZW1vamlQb3N0UHJvY2Vzc29yLnRzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOm51bGwsIm5hbWVzIjpbIlBsdWdpblNldHRpbmdUYWIiLCJTZXR0aW5nIiwiUGx1Z2luIiwiRWRpdG9yU3VnZ2VzdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXVEQTtBQUNPLFNBQVMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUM3RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDbkcsUUFBUSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDdEcsUUFBUSxTQUFTLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7QUFDdEgsUUFBUSxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUUsS0FBSyxDQUFDLENBQUM7QUFDUDs7QUM3RUE7QUFFTyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZzBEOUIsQ0FBQSxDQUFBLENBQUM7O0FDL3pEVyxNQUFPLDBCQUEwQixDQUFBO0FBTTlDLElBQUEsT0FBTyxZQUFZLENBQUMsU0FBNkIsRUFBRSxFQUFlLEVBQUE7O0FBQ2pFLFFBQUEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sS0FBSSxRQUFRLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUMvRyxZQUFBLE9BQU8sS0FBSyxDQUFDO0FBQ2IsU0FBQTtBQUNELFFBQUEsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUM7QUFDdEIsWUFBQSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEtBQUssSUFB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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9lbW9qaUxpc3QudHMiLCJzcmMvZW1vamlQb3N0UHJvY2Vzc29yLnRzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOm51bGwsIm5hbWVzIjpbIlBsdWdpblNldHRpbmdUYWIiLCJTZXR0aW5nIiwiUGx1Z2luIiwiRWRpdG9yU3VnZ2VzdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXVEQTtBQUNPLFNBQVMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUM3RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDbkcsUUFBUSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDdEcsUUFBUSxTQUFTLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7QUFDdEgsUUFBUSxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUUsS0FBSyxDQUFDLENBQUM7QUFDUDs7QUM3RUE7QUFFTyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZzBEOUIsQ0FBQSxDQUFBLENBQUM7O0FDL3pEVyxNQUFPLDBCQUEwQixDQUFBO0FBTTlDLElBQUEsT0FBTyxZQUFZLENBQUMsU0FBNkIsRUFBRSxFQUFlLEVBQUE7O0FBQ2pFLFFBQUEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sS0FBSSxRQUFRLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUMvRyxZQUFBLE9BQU8sS0FBSyxDQUFDO0FBQ2IsU0FBQTtBQUNELFFBQUEsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUM7QUFDdEIsWUFBQSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEtBQUssSUFB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 diff --git a/notes/.obsidian/plugins/emoji-shortcodes/manifest.json b/notes/.obsidian/plugins/emoji-shortcodes/manifest.json index ceb7df4..432f623 100644 --- a/notes/.obsidian/plugins/emoji-shortcodes/manifest.json +++ b/notes/.obsidian/plugins/emoji-shortcodes/manifest.json @@ -1,10 +1,11 @@ { "id": "emoji-shortcodes", "name": "Emoji Shortcodes", - "version": "2.1.3", - "minAppVersion": "0.12.17", + "version": "2.2.0", + "minAppVersion": "1.0.0", "description": "This Plugin enables the use of Markdown Emoji Shortcodes :smile:", "author": "phibr0", "authorUrl": "https://github.com/phibr0", - "isDesktopOnly": false + "isDesktopOnly": false, + "fundingUrl": "https://ko-fi.com/phibr0" } diff --git a/notes/.obsidian/plugins/emoji-shortcodes/styles.css b/notes/.obsidian/plugins/emoji-shortcodes/styles.css index 41ef3ce..6791da6 100644 --- a/notes/.obsidian/plugins/emoji-shortcodes/styles.css +++ b/notes/.obsidian/plugins/emoji-shortcodes/styles.css @@ -21,3 +21,11 @@ a[href="https://ko-fi.com/phibr0"] border-top: solid var(--background-secondary) 1px; padding-left: 10px; } + +.ES-sub-setting { + padding-left: 2em; +} +.ES-sub-setting + .ES-sub-setting { + padding-left: 0; + margin-left: 2em; +} diff --git a/notes/.obsidian/plugins/obsidian-activity-history/data.json b/notes/.obsidian/plugins/obsidian-activity-history/data.json index c3572f9..58e4504 100644 --- a/notes/.obsidian/plugins/obsidian-activity-history/data.json +++ b/notes/.obsidian/plugins/obsidian-activity-history/data.json @@ -13,7 +13,7 @@ { "path": "/", "date": "2022-12-13", - "size": 935025 + "size": 937066 } ], "activityHistory": [ @@ -970,7 +970,7 @@ }, { "date": "2022-12-13", - "value": 278 + "value": 2331 } ] } diff --git a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/data.json b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/data.json index 0167c5e..3d9bdde 100644 --- a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/data.json @@ -6,6 +6,8 @@ "compress": false, "autosave": true, "autosaveInterval": 15000, + "autosaveIntervalDesktop": 15000, + "autosaveIntervalMobile": 10000, "drawingFilenamePrefix": "Drawing ", "drawingEmbedPrefixWithFilename": true, "drawingFilnameEmbedPostfix": " ", @@ -21,6 +23,7 @@ "matchThemeTrigger": false, "defaultMode": "normal", "defaultPenMode": "never", + "zoomToFitOnOpen": true, "zoomToFitOnResize": true, "zoomToFitMaxLevel": 2, "linkPrefix": "📍", @@ -75,7 +78,7 @@ "mdCSS": "", "scriptEngineSettings": {}, "defaultTrayMode": false, - "previousRelease": "1.8.0", + "previousRelease": "1.8.4", "showReleaseNotes": true, "showNewVersionNotification": true, "mathjaxSourceURL": "https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js", diff --git a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/main.js b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/main.js index 49f7cdb..f69c125 100644 --- a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +++ b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/main.js @@ -1,5 +1,5 @@ -"use strict";var obsidian=require("obsidian");var LZString=function(){function o(o,r){if(!t[o]){t[o]={};for(var n=0;ne;e++){var s=r.charCodeAt(e);n[2*e]=s>>>8,n[2*e+1]=s%256}return n},decompressFromUint8Array:function(o){if(null===o||void 0===o)return i.decompress(o);for(var n=new Array(o.length/2),e=0,t=n.length;t>e;e++)n[e]=256*o[2*e]+o[2*e+1];var s=[];return n.forEach(function(o){s.push(r(o))}),i.decompress(s.join(""))},compressToEncodedURIComponent:function(o){return null==o?"":i._compress(o,6,function(o){return e.charAt(o)})},decompressFromEncodedURIComponent:function(r){return null==r?"":""==r?null:(r=r.replace(/ /g,"+"),i._decompress(r.length,32,function(n){return o(e,r.charAt(n))}))},compress:function(o){return i._compress(o,16,function(o){return r(o)})},_compress:function(o,r,n){if(null==o)return"";var e,t,i,s={},p={},u="",c="",a="",l=2,f=3,h=2,d=[],m=0,v=0;for(i=0;ie;e++)m<<=1,v==r-1?(v=0,d.push(n(m)),m=0):v++;for(t=a.charCodeAt(0),e=0;8>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;h>e;e++)m=m<<1|t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=a.charCodeAt(0),e=0;16>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}l--,0==l&&(l=Math.pow(2,h),h++),delete p[a]}else for(t=s[a],e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;l--,0==l&&(l=Math.pow(2,h),h++),s[c]=f++,a=String(u)}if(""!==a){if(Object.prototype.hasOwnProperty.call(p,a)){if(a.charCodeAt(0)<256){for(e=0;h>e;e++)m<<=1,v==r-1?(v=0,d.push(n(m)),m=0):v++;for(t=a.charCodeAt(0),e=0;8>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;h>e;e++)m=m<<1|t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=a.charCodeAt(0),e=0;16>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}l--,0==l&&(l=Math.pow(2,h),h++),delete p[a]}else for(t=s[a],e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;l--,0==l&&(l=Math.pow(2,h),h++)}for(t=2,e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;for(;;){if(m<<=1,v==r-1){d.push(n(m));break}v++}return d.join("")},decompress:function(o){return null==o?"":""==o?null:i._decompress(o.length,32768,function(r){return o.charCodeAt(r)})},_decompress:function(o,n,e){var t,i,s,p,u,c,a,l,f=[],h=4,d=4,m=3,v="",w=[],A={val:e(0),position:n,index:1};for(i=0;3>i;i+=1)f[i]=i;for(p=0,c=Math.pow(2,2),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;switch(t=p){case 0:for(p=0,c=Math.pow(2,8),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;l=r(p);break;case 1:for(p=0,c=Math.pow(2,16),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;l=r(p);break;case 2:return""}for(f[3]=l,s=l,w.push(l);;){if(A.index>o)return"";for(p=0,c=Math.pow(2,m),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;switch(l=p){case 0:for(p=0,c=Math.pow(2,8),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;f[d++]=r(p),l=d-1,h--;break;case 1:for(p=0,c=Math.pow(2,16),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;f[d++]=r(p),l=d-1,h--;break;case 2:return w.join("")}if(0==h&&(h=Math.pow(2,m),m++),f[l])v=f[l];else{if(l!==d)return null;v=s+s.charAt(0)}w.push(v),f[d++]=s+v.charAt(0),h--,s=v,0==h&&(h=Math.pow(2,m),m++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module&&(module.exports=LZString); -const EXCALIDRAW_PACKAGES = "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i+qm3OD+qkSsCBqlo/jkqlvtDsqnUqllkm0qkA8ntKnOqni4JMqlEqksql2qnRim+tjkRJ80l4zFgVgs6RmYSyqk2qkcqkhligimUsn80kTykggBTynhclyqnlqmrwBsqnRqk0qkT6LuCksUk/0lYRgmikye4a0pJtgzkHVqlFql1qnWqlZqm2qlNqmKqnZqnegAqqlogBKdCgilbqiZql+qkTqnmtjoAALUJFCn3ClIUnHim2imCQBeQCWHQCQROHRe8ktskaYBtsmLKH+8krUm9slB8n2KlLNSOKn60kjsmWUnG0kHUm8KleKl2MlW0kLsn+KleClBKll8m6AAV8kbslSKm+MkFcnYsCwsTtEnFKmasQZMnykjlKnX0LykjbmJonQTCh/qkX8gn9gPtxxkmd4D7KkXKmysCXQLmqkNUn1KkNkl/0nTSmFwBQcmwamXimEcm5KmDMkHinv0niqlYqnMCkmKmzUnqMmeSQyfEnqk9slt1RMKkXqkm4lh8nDsmCEkuKl3qmWMkQMn/qlRcjhUBQwivklIqkQwhrKkO2zV0lq4DRSlaKmHCm6ilialgCm6imgqkACm5Kk7imxSxt0mOEnYamI0mzSltSnzSmGBAtKmYcmPKmGSmYsHCCng0mLSlSSk5SnIclhtiZtiRtgLCnGin9zEmqkoECGqmP4klyCDzGmqmNykWqnaSkT9Ac0nojjbXQCqlgakYqhlKnAamlKnPkAwakAak8alugCvknksk/4m7MmJsnz0kpslWqn9clcanuFCBakothlElrthVOAhqkhykItgRCiWykA8lYMlpanPik3yklUkxalwam8akJakYknJanCSlmylVzKwykqyl1ckiSllal0qk8skLTFQKlGcmikl5alxanmtgJakRCjByklamngBDKlCezoKlsynQKlNalnUhBamFamM2Ltammymdak6bzdanNskzrFNqTmfHDAmq0n0Kndska0nlPTnqnDskOKlbUnh8k2e52cgTYR5PTm4lkn61eRu4nN/HpRTR4lJ8m7UmcoD0Ujp4n0QAZ8n3qmeKknUlPqkCKkvqnOMm3UnvqnpCmfqnrsmSKn6jjSKkyqmcCndSosgD9am3TCKUCyMlF7oVZoezTBSkPYR6Y5dEmVdhvOB1gJISBJ1Cjikd4kpPAa6BTimAtiXsnIal3NiyalEinFEl/alkHR0il8ECkam88ngVJpCAeqnDdiQ6ni4LNKERynBUnfalYsCwanZaTsZzcqIgikkuT08lDIC8vinEkWzQY6mozCKUDA6lMuCNKE46kK4AL0mwCn80nXclZYDQKkU6m/als6n7XoginMyljcI2SleilzqkQMnC6lU6kDal+WCi0l5ylLCmeUlB0kHCle8D46nFEkQ6kXOB1gIgAA1SgyanC5CjgiaqmaskbmhE6mNYZ5LjjymDqnX0AlUly6kAam3Sk10kh0lO8LmYgR0m9CADqmTynW6mmcm26ncakK6lbniegCO6lh0nQiku6m/8kye4XskQeCW6nu6klqlfam6YT9amSEnZYAgAA8il8dgX0ma6ng6lE6k66kk6lb75u6m1qke6n9cle6mxamodw06li6kogGiTw86ksAHNxDwvjh6lZ6mR6mOCm56lwakKKkcICZ6nFqmy6nR6ny6l16mikmUsAWMGLikXEmS0nAylKSk4UnWDAV6mN6k26nN6kBal0U4Aalt6nqEniGEJUlTwCcdif8nACRN6n10B5anQaB5xSikk16nAimIkA+slfKl3DhP8l64C/KkbCku6lbClLbi+kCf1iotj8YCbyJbzAMgAv2C0OAOADf8nLhE8qklsmXsn1oDaKkj85KvBfgmJMR8viiCwMAFNsDWEC0ODXADz6logCL6lkSrxQBRYTD6lRchr6mrsT3sA/Kmv8l76lgjgH6mDCAjgDH6lBACn6nGQB8exhmRX6mVsBWMDjSB/6k/al4amAGm7Emr6kYMk05YT0nr0l0Cgz1F8diYsFOxCfUkFcmr6m4Gkr6kgGk64QEGmiklJwBSIDuUlosES6k/ClBVAbKkWcBLRAn6masmcGmIGm8GnyskZ0l7CnB6n/8nring1D8ckK4BO6nh0lgjhUGl0GmN1DL6nAGkL6l4akMGnPEDp3q1UnkpTdnggFD1UnQalYGmU6kAalL6mVpS0GlKGn6GkqGlMGkxgDUKC4KnQAAJ6m676Akl4dgaSn/4ksAEjECG4De0kwMmr6lBtgU6nG8mSUl8ymcGm6imYsF7KlCqnEin6amJKn9T5t0maakA8m9kk9KkpKlDSlBsnOEn88lflQ2ilZKl0AAu5gZYboqkPMnWdSGMCJGmrCw2angEk9yB5IAmsCOakNUkbLIT9A1amCMl2UmuGlyGnQthFDgeGkIMmuylmsnYykE8mqylO8mpanxclNcn50nlGnGGmgGnuGm6YSeGmKymd4BiykxckRGnNGmDUHiSklim3Mky6llGmEMluGlVGndGmtEmpckMAF4RFNslOYyUalUYDRiQBfGzalU/5dskB8n6Ul2KkramXqlraksakcKm3qnjskycQQMnOFG9eC/CC4YSSclmCkNim1yluBANthC/LjGmmclnGmu0mXGlx6lKin1tgnUxdwAuUCnGkwDbnGm4gCXGn6i6qtbC5CjykkADnKlf0lA0kfEmgmn6alYalA0l5qkkxIRqklUnPGkXGn3aiAmkYUrurzq/pgVi4gA9ymEsHFxCfUmTalmKmriHvvGtn7zalbGl6Mk7GncEl7GnMansKknalcKkV4lXanZ8mPqlJcL58n3alF8mBKmiKnBKnl8mvalhKkyKn9cmfUhBQB5amikmWSAAi7MQSgQDF6kM6nmOg8mmcCl8mkcAACmnaADGIDWGkKal2GkJElUEkXwCIMAFGkl74kikFcnSmn9an9Lb26ngikh0lHGBtwC5UmHCmQkmkiklUnamny6kYYTR3zCalb9Ciaku6naKmaKn2mnialA0kyanaslKal9Kk4amqakbSnqakHKkLCnvSl4dhQmmAMkGamaclGamxfAxcmEylucno0muan5rjualoanEalNUkmamngD+Sk3slZCkQMkWmkj6lWml+cmfthluSezjDSnmmksyD9alECi1snr7A80ksAGMSm8mkFmny6lFmlT0lzGkyxERakXElRalSmmVmkj6msaEeQB0sn3aiginfKl64CSalp8CKmkT9CrCmP6nQCm0ABL0mv6kmsD8XjXYS0SC4EDbKmf6l+64/6lXABpmnNmne6mtmlgqziimQGnrCnX4T/Kk36noGmSKyjmmLMYArjtkxTml8dhosHDyiCxBzmkLmn8mny6nLmm2IHVsk+smrClJjj5lD5lBO7QImmmcnpmlLmkT6nQaAVZoQGl64BJjhO7T5lCRMDPmkVmkXmktmnvmne1A+QBLABfml/YRrgBSilO7SRMA9sBammLml56lXmkBQDxECb0nzmyBmnKmmOGlqmn7KmYqm88m3smNmmOCmvmmIWnvmnQ2yrqnKalUSl16n4amIyl1Slkxwoyn1Sm0knwWlAWne6lrmFqqn4ACFilYqkem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kLQIeWnCyBgCmnWkQMnUum8uk7aL8unOlZnUxqSDr8kbWlKuk0umGukwESuUmmulUkkAtifIyItin2mZlxsSl6uk8ukqulGumikkwumIdgjzbiPIAunRSnVeK7insulZYABth40D/OnJykBukgulIgBgukhuli0BhumxKkRunVEBBumcukrpxflQeCmefyBulRukcukxumbkkP2nxiyX2klUn6unuukwESeukoACYmnR/40zaq5TOFDhSntqkJMmsUmP4aCTJisAGM4q1jn2BoGnWFhpklmzhNulZditulMDi5ultymmcmFul8unFulQxylumv3B1un8fwjzZ4Um6AA1ukpkmykkdunviBduk19AGMyzukkzgGM4LukOACfFDSOlP2n9ckDulWunx2Alul8dijukjzaVukotj3gLTukykntukrunzuktumLultunZklzulU8BruldWybunWOn2yk7umqukK2D7ulluljumYSATumaun+ukXumNunviDNulkOnruljUlsUn3umOFiPumJRYFuluumDul7unDukHuneukVulvulGuk2ukNULeSnDknfuktamgUlnulxCl3umXunc2YOAAqOg/6lhunVUANuloAAGM7XYCkOniskZ2mikkoelDul8NgzVgjukZACd6n5rjNxDS2nVyk3Gn3+BYqkQOloalqCkC8nBSn8ekYWnojhc0nh2kdLj8wBT7K1cHpUlMuk/QaMthUAB32LigAmwDyekzkR6qmBunWgApSlGOn9umwem7ukJDCikmMeleulYmmQmn88nqenFSlbumcCn0enwen6enMelYmlNSnGemuunKulwem6ekbrFZYAGemC6kW2lJ0F6qlWsASelFQaesAW2lxukQ8CyekrADyenSSEmwBg1j9vxiemBun+enmthTSr6qlhEDebD2emWunvumVUB0enaelJenwgEmunoemN7QQeDvGkQeD3GnUQDT2nbumpekeumrbAOek6ekK2Boenhtgk0lvGliulC/L4wAWukGulpeklAAlemJemoekZenhtj3gIN2kQSkWelOendenleltenvElfIIJekNenFelWemIenodgh2l22k1en5el1elDelFunwem9emVUAVekDenESAJ6mukmz6ndqm/0n1ynQamIulzUm+8kXrjaMm64l0am3LRw2mGMmsKmI2nrOnYul0mmWMlo2msWl8KmY2ktWnY2msmkdWmrsndWmV8k/qnhKkpMQ40L7snmWn62mPSlx0nSWlU0lyan+mn3smfSlemnfSl7SlbSnZclg+kakkQ+l98mKSnjWl96lWimEkmAclI+mZthAOkwyk8Wkcknwylsckc2kSOmjknBGkNSmQakGilocku2lQOkVCmGSkHWkmSkEcnEynROmtKm3OkWMHnOkuqlosEN0l/SkGEnUcmw+ma2mFsnKsnnsnfimXsliOks8mlmmtiknWm6imJmlidhPDa676pmmfenKcm1GnNOkl2meklqykJclS+k52nkMknOnBWkfsnacmQOml2mxcmiSnDGkMMlK+kLcmqcmq+la+nBck2ynhWmY+kdammSk+yn31DLMRfekG+lfNAy+kS8lq+km+neykWymVEn6+lfcmBylTOmu2nO+lhyktGldRbu+loeDT0mg+npcm5cn5Em0cms+mkcm1smfslu+m1nFdKnr4xcql48l94lzqm7mmzgkgrgHml08nHmmzmlpZ7W+nNUS2+k7EkJ+lWGkLyl2hBZFFLGlFWmQ2lsGi+C6oulkmnoumUmnVWlI2ljsko2m2Ulaemlen93yx+neym2pRu0laukQilSGmB6kyGmzel8umfeld+n+6lQikQwgwim10m1ti1tg6Gkwekt+lry42+kpekz+lS+m6mnKKkA+m7qrCunysmGskn0lxGldOmOCkoemfenz+ktemL+nzR5SMkKMmremQmmqWmvulFel7+nNenDemH+mLJSq2nqSn3Mn1enuukd+lxrh0elt+k40JQqntPZ38m5ylnEnmul6unv+kg8lbnictghVKSclG+kpamhWkpgi2/be+mhym2ynCen5rhOGmc+lFsDc+k62mZWlj1C/ekGKlumnBGkxMDrWkQyn1mkg0mhSmCukaOm88nVKn1Kmn8nECmq8latgs0nA+ns8mT2kPGl+an9+mGulS+meyRsOnMsCPWmdUnTmmEAGX6m40mzWlb9Dd+kB6mj+lB6kr+lj1AQikToFeenoBkJymlskMBmt+k2+lRKl6qQxsSxUmyWlKOkJ2nbuCr2gOaoyBlolaNany6kkWnKKl8Bkj+k30gu6mM2kqBnbcBqBm5+kPODETQc9TVtgI8kkMn2ElgBkCQAIYnVIAuEBk0m8wwQinGKnK2lGBmSwBS+lolYWBnC4RiMnEMkSMmkMkO+lOim8ckBaAG+TRX6GBmW+DGBmeBnmBncXhWBn+BmB+k48ljEnaGmf1jqmlA0klGm+mn/El86kFukABlQqkasRZYD4kmCGmpEkN0lyanOanHKlNUnL+k8+kvSmXsniBlIkmXslT6lE9DpUm/OlYBCS2nwclRWkESnIclgBkW+kscnZal00k5QC/tjZ0lx0mvKli+m4QhTwC5UnZmk+boMFhbqhUynRmloEmZlzC+nn+lHMlMBmLKm5BnS+nJ2mk+nG+kwBnhylUunZBlLBmW6TKclF2my+nuynrBlVak6yliSlhcl1am1Ol9OmLBlUqnLBlTKkZam0MldalUdT/+kyBk5Bm7BkJakR6mkGkqdi9ykS2k/0mPElT+n9unbBnXBmvBknknOOnuAAsBm4aC3ing2lTameSS4/FV+lnqnkmmnemrOnrak0mmuKlXeknGlfaIA6n13Ac6kxtiWsCVsCLCl1ckm2lYhlQuBevBFwDxmlmmn/BnPBmLKntPZINz5W7n9ZxUkmSn9Bn7Wl3Bkg2k6bwXbT7eiC+kg0kiaJ+WlyWl/+lZBkUhlUqlUhmc7Yx0kF+kjameynHBmQBlwBmEsEIBl8el1Kn+Glp0mbemEQC6766umtTE/Wl1whv+l8hm5W4ChlrYTtPYihlaynMhk37wHoRbBnqhkx0lmWk8BmOWmiBnfrQh0kbinOdgWhkCcmUbDxACWSl1Bkz6kN0m6Bl5ES9wBB6k/+lG6miWkm6lx0n7KmYan1ylkWla6mvamUWnmSmNBntiCGhmmBmf+nn9aMUmLzCFCmcOnu6CrCm8Ok74r8On7J4WyzX6kYGnaum9mnzBnBUlXBkahlRhn13BC8C0hmDmkqWlNUm5Kn6ckEhlhSlYwBUSmYhlhSkBvDj+nUylVUDoxJOhnJBmOhm/Ml0ykbelYqlZhkC0k5hnGhn5hl9TDCZQ6hkhWlYthlanShkSMAUBmUEmYWlUAg4Wl/0mkhnhhk2ymRhmoDbRhl9hmLJTRy4kHSremECnh8GdhlqhkRhmUhl5hkK2nW0ArqnCunlBkoBm8+lU0nTBnzsBc0lxmmpEAkanBMkAkl4dh0AA6Omu2kRmkhclYkk7elUakDF4JRQHek2Klouna0kYul1+kXekN+k4umEIA3ekY2kEul3alEumvqmPamkuniKk9WmUulPBmmBnwdisWlCBkphzumknimUSlO2lqEA/enzWl/emXsmhhn72losH00jJskien88kC2mHSk02mI+nNBn4+kSOkySlwRk2ykIRnQaCiynzSngBlDhmuLK0ek5+m0RnCKByMnG1D5ACFinA2kQBncckgOn6jij8mzhneykIRnFxz71jr8lHhl/8m62loBlYRkYBmXskehk8hnkhnwRnCKBiRmaQBOOCqBFBykS6lJcKsyk/7helQekABilcylsyl6RlmhmrDg/gD06kehmrWnZyl5ynCRk40KiRmHFYXMmMUmdemvukABl2RlWDAK4CcSlx2k0RkiRkqRn2RmosmcSmWclIRmuqm7GDqiRHik2SkxclE8m0tjvimYRlehkG2m7qr7Klyam6inqOm1ykOOmKal/0lsBkjKnE+nKBA2RlQVgXIG+Rmesl9kmr25eRm2Rk+RluRmMUkSclJHimqG8hnKRm5RmlRn+RkpULySlE+kYymG2lVRnsRk1Rl8slq2kpyn4OmECkyhkQmnojg9RmM8kBGnb+ldekuRklRl8sm5smCsl/ADWGlZyl1mkNsmRaniOnLSnsknFilrBlMRmW+lm+koRmbqmdBmM2Jw+lDSmTBnuim5KmOOnbukjRltRkXMmRsnlRmRsnMsnLRmbRlucmu+lFRk5Rl3EB5Rm96BIskoWDjRlRsmTRkdBmjammSm+kkwknZRmuRl8slPRnMmAvRltMl1Um8RnMRmm+lGwK3Rl2Rk7+QPnDxYS5+kaRntEm80mj2mJsmpGk/Rk+RlqUKScn/unjUl+FBBjhDUndiBh2jRSluzgMFhS+l2RloxlftjyziVsBJulfQB8yQhYZZgCozgSoBHRn3RkkxkExmrwBsumZunBunXAwr2j3+BJRn3+Daim+GkpslHCmXRkfRldBkwSmtBnekmxWmIBmGKmehmE0mxRlj1CBRlTenubBeOk7+n0xk8alJ4gGnJBykgxmrRnpMHhamzRkNmlKBnmen0xm9GlbhmtRkMxkqxm4emkxnuzj3ClMxkSsA2SkYxlsUmEb4jUlmcg4xmKBQcsysRlExmoxlDcmNRluBCD4nRSmYwA4dQKekyBnExkqxlmxmt0BMYBRuSmxmOxn2xnDyDhxk0ADIUDc+h5ylhxncUnkozYxkJxlYxkKUinEnxxmYx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9Y++sgFWiEA6H1od6/I303euQFWiEAgAAEuB9frMH1m366/JVAAve/W13r0H1ld6ye9bW+snLn0Pr371ld6/+9c/esnfXV3rm71176xu9eA+uTvWzPra71+Rvh99bq6vrfXE/rb31j962n9ey+trMQ4Kz6H1lb6yB9ew+vgAAL3r/71ld6/z9ZZ+vkFWFSry311b6zd5c11pEIAhG+kjfGL6/u9ePevLvX3PrUjff76439b4AtiAXvfrQX18L66l9er+ugfXZG+3f12T65+9aC+sbvXaPrn718RvlZ9am+vAfW4frkjfNT6yB9cK+tQfXYPr23VvQsxl9dk+v/vWZfrNX1o967e9fAAAG/W/3rgH1wj6139ckb53vXAvriH1vD6xu9ekb7gABwvrU31wL6we9dHevgAAr/r0/1uj68n9cp+vYfXP3rMH18AANP9Zf+sbvWF/ro715iM4AAAzgKf61N9Zl+s3vXU/rd/19T61j9Zj+tx/XZPrwH1qb63/9bXevr/XL3ryAN7f64h9b3+th/Xb3roPVrICx03HEjNvvWP3rn71m962P9YZ8uLfW2PrNX1/n62l9cA+uw9XLCrw05mbi2W0HZ+tQfXwvr1X1yd69QDZX+vgAAIPr371p7604VZHWwW/W7PrMjfDz68L5cBABm/WDfrrAN4j6wD9ZsjPjfW5G+on13wq679f/euTvWN3rsH1wIq0JNkw+srvX5G+V712nqxDGZfeuTfW4fr0P1yv65oDbK+sp/mnPrP31od6399Y++ugcV53rsjfXr6yI3w3euAAAJ4Bneu89WDk1/PVkH6xT9am+vvvWtfrtn1wj62D9dsBsOA2nAbgPFm84oAAGzgJD6we9a4+s5FWiEAAX14D6/h9bl6tkU0qPrT31k/6+n9eKKscgAzfrkP1pX62V9aR4vA/Xd/rc31z3yzr1Y5AC6A2RG++gNtIG5e9ZiBu48XxZzin11AG9I3wPevfvXZG+0QNjd6879eWKiQ1mLfrYjfKoG9+9Yg+v4fWPvrfdJcPy5DWac+uyN8qgbk71696+n9a3esnfXjIrMrZwAADHAdn13b6ygDbQBuC/WuMr7vVi969e9bveuAABy4DXesG/Xc/rnQN33qxnxZWBtTvW+frDH1y96zB9ew+t3/WwPry/14j62R9ey+uC8WeOL9f19T66cDfI+v7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";const {react, reactDOM, excalidrawLib} = window.eval.call(window, `(function() {${LZString.decompressFromBase64(EXCALIDRAW_PACKAGES)};return {react:React, reactDOM:ReactDOM, excalidrawLib: ExcalidrawLib};})();`);const PLUGIN_VERSION="1.8.0";function _interopNamespace(e){if(e&&e.__esModule)return e;var A=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),A.default=e,Object.freeze(A)}var React__namespace=_interopNamespace(React);let random$1=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,A,t)=>{let n=(2<{let r="";for(;;){let A=t(i),s=i;for(;s--;)if(r+=e[A[s]&n]||"",r.length===a)return r}}},customAlphabet=(e,A=21)=>customRandom(e,A,random$1),nanoid$1=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,A)=>e+((A&=63)<36?A.toString(36):A<62?(A-26).toString(36).toUpperCase():A>62?"-":"_")),"");function JSON_parse(e){return JSON.parse(e.replaceAll("[","["))}const isDarwin=/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),CTRL_OR_CMD=isDarwin?"metaKey":"ctrlKey",nanoid=customAlphabet("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",8),KEYCODE={ESC:27},PLUGIN_ID="obsidian-excalidraw-plugin",SCRIPT_INSTALL_CODEBLOCK="excalidraw-script-install",SCRIPT_INSTALL_FOLDER="Downloaded",fileid=customAlphabet("1234567890abcdef",40),REG_LINKINDEX_INVALIDCHARS=/[<>:"\\|?*#]/g,REG_BLOCK_REF_CLEAN=/[!"#$%&()*+,.:;<=>?@^`{|}~\/\[\]\\]/g,IMAGE_TYPES=["jpeg","jpg","png","gif","svg","webp","bmp","ico"],EXPORT_TYPES=["svg","dark.svg","light.svg","png","dark.png","light.png"],MAX_IMAGE_SIZE=500,FRONTMATTER_KEY="excalidraw-plugin",FRONTMATTER_KEY_EXPORT_TRANSPARENT="excalidraw-export-transparent",FRONTMATTER_KEY_EXPORT_DARK="excalidraw-export-dark",FRONTMATTER_KEY_EXPORT_SVGPADDING="excalidraw-export-svgpadding",FRONTMATTER_KEY_EXPORT_PADDING="excalidraw-export-padding",FRONTMATTER_KEY_EXPORT_PNGSCALE="excalidraw-export-pngscale",FRONTMATTER_KEY_CUSTOM_PREFIX="excalidraw-link-prefix",FRONTMATTER_KEY_CUSTOM_URL_PREFIX="excalidraw-url-prefix",FRONTMATTER_KEY_CUSTOM_LINK_BRACKETS="excalidraw-link-brackets",FRONTMATTER_KEY_ONLOAD_SCRIPT="excalidraw-onload-script",FRONTMATTER_KEY_LINKBUTTON_OPACITY="excalidraw-linkbutton-opacity",FRONTMATTER_KEY_DEFAULT_MODE="excalidraw-default-mode",FRONTMATTER_KEY_FONT="excalidraw-font",FRONTMATTER_KEY_FONTCOLOR="excalidraw-font-color",FRONTMATTER_KEY_BORDERCOLOR="excalidraw-border-color",FRONTMATTER_KEY_MD_STYLE="excalidraw-css",FRONTMATTER_KEY_AUTOEXPORT="excalidraw-autoexport",LOCAL_PROTOCOL="md://",VIEW_TYPE_EXCALIDRAW="excalidraw",ICON_NAME="excalidraw-icon",RERENDER_EVENT="excalidraw-embed-rerender",BLANK_DRAWING='{"type":"excalidraw","version":2,"source":"https://excalidraw.com","elements":[],"appState":{"gridSize":null,"viewBackgroundColor":"#ffffff"}}',DARK_BLANK_DRAWING='{"type":"excalidraw","version":2,"source":"https://excalidraw.com","elements":[],"appState":{"theme":"dark","gridSize":null,"viewBackgroundColor":"#ffffff"}}',FRONTMATTER=["---","","excalidraw-plugin: parsed","tags: [excalidraw]","","---","==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==","",""].join("\n"),EMPTY_MESSAGE="Hit enter to create a new drawing",TEXT_DISPLAY_PARSED_ICON_NAME="quote-glyph",TEXT_DISPLAY_RAW_ICON_NAME="presentation",FULLSCREEN_ICON_NAME="fullscreen",SCRIPTENGINE_ICON_NAME="ScriptEngine",COLOR_NAMES=new Map;COLOR_NAMES.set("aliceblue","#f0f8ff"),COLOR_NAMES.set("antiquewhite","#faebd7"),COLOR_NAMES.set("aqua","#00ffff"),COLOR_NAMES.set("aquamarine","#7fffd4"),COLOR_NAMES.set("azure","#f0ffff"),COLOR_NAMES.set("beige","#f5f5dc"),COLOR_NAMES.set("bisque","#ffe4c4"),COLOR_NAMES.set("black","#000000"),COLOR_NAMES.set("blanchedalmond","#ffebcd"),COLOR_NAMES.set("blue","#0000ff"),COLOR_NAMES.set("blueviolet","#8a2be2"),COLOR_NAMES.set("brown","#a52a2a"),COLOR_NAMES.set("burlywood","#deb887"),COLOR_NAMES.set("cadetblue","#5f9ea0"),COLOR_NAMES.set("chartreuse","#7fff00"),COLOR_NAMES.set("chocolate","#d2691e"),COLOR_NAMES.set("coral","#ff7f50"),COLOR_NAMES.set("cornflowerblue","#6495ed"),COLOR_NAMES.set("cornsilk","#fff8dc"),COLOR_NAMES.set("crimson","#dc143c"),COLOR_NAMES.set("cyan","#00ffff"),COLOR_NAMES.set("darkblue","#00008b"),COLOR_NAMES.set("darkcyan","#008b8b"),COLOR_NAMES.set("darkgoldenrod","#b8860b"),COLOR_NAMES.set("darkgray","#a9a9a9"),COLOR_NAMES.set("darkgreen","#006400"),COLOR_NAMES.set("darkkhaki","#bdb76b"),COLOR_NAMES.set("darkmagenta","#8b008b"),COLOR_NAMES.set("darkolivegreen","#556b2f"),COLOR_NAMES.set("darkorange","#ff8c00"),COLOR_NAMES.set("darkorchid","#9932cc"),COLOR_NAMES.set("darkred","#8b0000"),COLOR_NAMES.set("darksalmon","#e9967a"),COLOR_NAMES.set("darkseagreen","#8fbc8f"),COLOR_NAMES.set("darkslateblue","#483d8b"),COLOR_NAMES.set("darkslategray","#2f4f4f"),COLOR_NAMES.set("darkturquoise","#00ced1"),COLOR_NAMES.set("darkviolet","#9400d3"),COLOR_NAMES.set("deeppink","#ff1493"),COLOR_NAMES.set("deepskyblue","#00bfff"),COLOR_NAMES.set("dimgray","#696969"),COLOR_NAMES.set("dodgerblue","#1e90ff"),COLOR_NAMES.set("firebrick","#b22222"),COLOR_NAMES.set("floralwhite","#fffaf0"),COLOR_NAMES.set("forestgreen","#228b22"),COLOR_NAMES.set("fuchsia","#ff00ff"),COLOR_NAMES.set("gainsboro","#dcdcdc"),COLOR_NAMES.set("ghostwhite","#f8f8ff"),COLOR_NAMES.set("gold","#ffd700"),COLOR_NAMES.set("goldenrod","#daa520"),COLOR_NAMES.set("gray","#808080"),COLOR_NAMES.set("green","#008000"),COLOR_NAMES.set("greenyellow","#adff2f"),COLOR_NAMES.set("honeydew","#f0fff0"),COLOR_NAMES.set("hotpink","#ff69b4"),COLOR_NAMES.set("indianred","#cd5c5c"),COLOR_NAMES.set("indigo","#4b0082"),COLOR_NAMES.set("ivory","#fffff0"),COLOR_NAMES.set("khaki","#f0e68c"),COLOR_NAMES.set("lavender","#e6e6fa"),COLOR_NAMES.set("lavenderblush","#fff0f5"),COLOR_NAMES.set("lawngreen","#7cfc00"),COLOR_NAMES.set("lemonchiffon","#fffacd"),COLOR_NAMES.set("lightblue","#add8e6"),COLOR_NAMES.set("lightcoral","#f08080"),COLOR_NAMES.set("lightcyan","#e0ffff"),COLOR_NAMES.set("lightgoldenrodyellow","#fafad2"),COLOR_NAMES.set("lightgrey","#d3d3d3"),COLOR_NAMES.set("lightgreen","#90ee90"),COLOR_NAMES.set("lightpink","#ffb6c1"),COLOR_NAMES.set("lightsalmon","#ffa07a"),COLOR_NAMES.set("lightseagreen","#20b2aa"),COLOR_NAMES.set("lightskyblue","#87cefa"),COLOR_NAMES.set("lightslategray","#778899"),COLOR_NAMES.set("lightsteelblue","#b0c4de"),COLOR_NAMES.set("lightyellow","#ffffe0"),COLOR_NAMES.set("lime","#00ff00"),COLOR_NAMES.set("limegreen","#32cd32"),COLOR_NAMES.set("linen","#faf0e6"),COLOR_NAMES.set("magenta","#ff00ff"),COLOR_NAMES.set("maroon","#800000"),COLOR_NAMES.set("mediumaquamarine","#66cdaa"),COLOR_NAMES.set("mediumblue","#0000cd"),COLOR_NAMES.set("mediumorchid","#ba55d3"),COLOR_NAMES.set("mediumpurple","#9370d8"),COLOR_NAMES.set("mediumseagreen","#3cb371"),COLOR_NAMES.set("mediumslateblue","#7b68ee"),COLOR_NAMES.set("mediumspringgreen","#00fa9a"),COLOR_NAMES.set("mediumturquoise","#48d1cc"),COLOR_NAMES.set("mediumvioletred","#c71585"),COLOR_NAMES.set("midnightblue","#191970"),COLOR_NAMES.set("mintcream","#f5fffa"),COLOR_NAMES.set("mistyrose","#ffe4e1"),COLOR_NAMES.set("moccasin","#ffe4b5"),COLOR_NAMES.set("navajowhite","#ffdead"),COLOR_NAMES.set("navy","#000080"),COLOR_NAMES.set("oldlace","#fdf5e6"),COLOR_NAMES.set("olive","#808000"),COLOR_NAMES.set("olivedrab","#6b8e23"),COLOR_NAMES.set("orange","#ffa500"),COLOR_NAMES.set("orangered","#ff4500"),COLOR_NAMES.set("orchid","#da70d6"),COLOR_NAMES.set("palegoldenrod","#eee8aa"),COLOR_NAMES.set("palegreen","#98fb98"),COLOR_NAMES.set("paleturquoise","#afeeee"),COLOR_NAMES.set("palevioletred","#d87093"),COLOR_NAMES.set("papayawhip","#ffefd5"),COLOR_NAMES.set("peachpuff","#ffdab9"),COLOR_NAMES.set("peru","#cd853f"),COLOR_NAMES.set("pink","#ffc0cb"),COLOR_NAMES.set("plum","#dda0dd"),COLOR_NAMES.set("powderblue","#b0e0e6"),COLOR_NAMES.set("purple","#800080"),COLOR_NAMES.set("rebeccapurple","#663399"),COLOR_NAMES.set("red","#ff0000"),COLOR_NAMES.set("rosybrown","#bc8f8f"),COLOR_NAMES.set("royalblue","#4169e1"),COLOR_NAMES.set("saddlebrown","#8b4513"),COLOR_NAMES.set("salmon","#fa8072"),COLOR_NAMES.set("sandybrown","#f4a460"),COLOR_NAMES.set("seagreen","#2e8b57"),COLOR_NAMES.set("seashell","#fff5ee"),COLOR_NAMES.set("sienna","#a0522d"),COLOR_NAMES.set("silver","#c0c0c0"),COLOR_NAMES.set("skyblue","#87ceeb"),COLOR_NAMES.set("slateblue","#6a5acd"),COLOR_NAMES.set("slategray","#708090"),COLOR_NAMES.set("snow","#fffafa"),COLOR_NAMES.set("springgreen","#00ff7f"),COLOR_NAMES.set("steelblue","#4682b4"),COLOR_NAMES.set("tan","#d2b48c"),COLOR_NAMES.set("teal","#008080"),COLOR_NAMES.set("thistle","#d8bfd8"),COLOR_NAMES.set("tomato","#ff6347"),COLOR_NAMES.set("turquoise","#40e0d0"),COLOR_NAMES.set("violet","#ee82ee"),COLOR_NAMES.set("wheat","#f5deb3"),COLOR_NAMES.set("white","#ffffff"),COLOR_NAMES.set("whitesmoke","#f5f5f5"),COLOR_NAMES.set("yellow","#ffff00"),COLOR_NAMES.set("yellowgreen","#9acd32");const DEFAULT_MD_EMBED_CSS='.snw-reference{display: none;}.excalidraw-md-host{padding:0px 10px}.excalidraw-md-footer{height:5px}foreignObject{background-color:transparent}p{display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;color:inherit}table,tr,th,td{color:inherit;border:1px solid;border-collapse:collapse;padding:3px}th{font-weight:bold;border-bottom:double;background-color:silver}.copy-code-button{display:none}code[class*=language-],pre[class*=language-]{color:#393a34;font-family:"Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;font-size:.9em;line-height:1.2em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre>code[class*=language-]{font-size:1em}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#C1DEF1}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#C1DEF1}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background-color:#0000001a}:not(pre)>code[class*=language-]{padding:.2em;padding-top:1px;padding-bottom:1px;background:#f8f8f8;border:1px solid #dddddd}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:green;font-style:italic}.token.namespace{opacity:.7}.token.string{color:#a31515}.token.punctuation,.token.operator{color:#393a34}.token.url,.token.symbol,.token.number,.token.boolean,.token.variable,.token.constant,.token.inserted{color:#36acaa}.token.atrule,.token.keyword,.token.attr-value,.language-autohotkey .token.selector,.language-json .token.boolean,.language-json .token.number,code[class*=language-css]{color:#00f}.token.function{color:#393a34}.token.deleted,.language-autohotkey .token.tag{color:#9a050f}.token.selector,.language-autohotkey .token.keyword{color:#00009f}.token.important{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.class-name,.language-json .token.property{color:#2b91af}.token.tag,.token.selector{color:maroon}.token.attr-name,.token.property,.token.regex,.token.entity{color:red}.token.directive.tag .tag{background:#ffff00;color:#393a34}.line-numbers.line-numbers .line-numbers-rows{border-right-color:#a5a5a5}.line-numbers .line-numbers-rows>span:before{color:#2b91af}.line-highlight.line-highlight{background:rgba(193,222,241,.2);background:-webkit-linear-gradient(left,rgba(193,222,241,.2) 70%,rgba(221,222,241,0));background:linear-gradient(to right,rgba(193,222,241,.2) 70%,rgba(221,222,241,0))}blockquote{ font-style:italic;background-color:rgb(46,43,42,0.1);margin:0;margin-left:1em;border-radius:0 4px 4px 0;border:1px solid hsl(0,80%,32%);border-left-width:8px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;padding:10px 20px;margin-inline-start:30px;margin-inline-end:30px;}',SCRIPTENGINE_ICON='',DISK_ICON_NAME="save",PNG_ICON_NAME="save-png",PNG_ICON='',SVG_ICON_NAME="save-svg",SVG_ICON='',EXCALIDRAW_ICON='',VIRGIL_DATAURL="data:application/font-woff;charset=utf-8;base64,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",VIRGIL_FONT=` @font-face {font-family: "Virgil";src: url("${VIRGIL_DATAURL}") format("woff2");}`,CASCADIA_FONT=' @font-face {font-family: "Cascadia";src: url("data:application/font-woff;charset=utf-8;base64,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XVtdpV2uXdBeAV4OXmBecl6GXpteyl74X1Vfsl/PX+xgDWAtYDVgPWBQYGNga2B9YIZgj2CcYKlgtmDLYOFg7GElYVthfmGgYa1hwmHdYgNiN2JVYoli0GL6Yzpjc2PbZINkrGUYZUBlTWVeZaNl8GX9Zi9mPGZNZrdm/mdPZ59nq2e4Z8hoAWhDaE9oW2hoaMto12jnaPNo/2mBaipqmGqlarFrRWtSa79sG2wnbFRskGzBbM5s32z7bQ5tF20fbR9tH20fbX9tzm4ebp9u+W9jb75wGnBgcKRw1HEucZRx1nIxcoly1HMHc1Nzm3P+dEJ0rXTvdR11YXWIdcl2LHZrdnN2e3aidqp2zHbwdwd3LHc/d213qHfGd/14JHhLeHt4rnjWeON5EnkpeUd5nHnBefJ5+noCeiV6T3pyenp6hXqcewR7kXu5e+R8Dnw3fHF8qnztfPp9B30UfSF9Ln07fUh9VX1ifW99fH2JfZZ9o32wfb19yn3YfeZ9834Bfg5+Hn4yfkJ+U35hfnd+h37Vf2iAj4CrgNeBDYEzgVmBgIGmgbmBzYH4gh2CUoKHgr2C84M1g/iEM4SIhK6Ey4T9hR6FQIVbhXaFiYWcha+FwoXSheuGAoYZhjCGR4Zoho+GnYazhsGGzobjhviHBYcah0yHaIgsiE6IcIi1iNuJA4lciWqJgImViaqJvYnRie6KDIosikyKbIqBio+KpIqyir+KzIrZiueK+4sPiySLOYtdi3GLhIuRi5+Ls4vIi9aL44vxi/+MFIwojD2MUoxfjGyMeYyFjJiMq4y/jNKM840NjSeNO41bjXSNjo2ijc6N7o4PjieOPY5TjmaOd46Njp6OtI7NjuGO8o8JjxqPMY9Lj2WPe4+Rj6aPvI/Kj96P75AAkA6QHJAukE6QdJCCkJ6QvJDKkN6Q75ECkRORIZE7kU+RY5F+kZSRqZHCkdiR7pIIkiSSQJJckniSlJK3ksiS2JLrkwCTDpMhkzKTQ5NQk12TcJOMk6+TvJPVk/GT/5QSlCSUNJRElFKUa5R+lJGUrJTClNiU8ZUHlR2VN5VTlWqVf5WUla2VwJXWleaV/JYNlieWOpZQlmCWdpaHlqCWtJbJluyXBZcflziXTJdgl3qXjpeil8WX3Zf1mGqYsZkFmTmZg5mvmcaZ5Zpamr6bHZtFm7icHZyAnN6dG52E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") format("woff2");}';class Random{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},lzString={exports:{}};function splitFolderAndFilename(e){const A=e.lastIndexOf("/"),t=-1==A?e:e.substring(A+1);return{folderpath:obsidian.normalizePath(e.substring(0,A)),filename:t,basename:t.replace(/\.[^/.]+$/,"")}}function download(e,A,t){const n=document.createElement("a");n.setAttribute("href",(e?`${e},`:"")+A),n.setAttribute("download",t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}function getIMGFilename(e,A){return`${e.substring(0,e.lastIndexOf("."))}.${A}`}function getNewUniqueFilepath(e,A,t){let n=obsidian.normalizePath(`${t}/${A}`),i=e.getAbstractFileByPath(n),a=0;const r=A.endsWith(".excalidraw.md")?".excalidraw.md":A.slice(A.lastIndexOf("."));for(;i;)n=obsidian.normalizePath(`${t}/${A.slice(0,A.lastIndexOf(r))}_${a}${r}`),a++,i=e.getAbstractFileByPath(n);return n}function getDrawingFilename(e){return e.drawingFilenamePrefix+(""!==e.drawingFilenameDateTime?window.moment().format(e.drawingFilenameDateTime):"")+(e.compatibilityMode?".excalidraw":e.useExcalidrawExtension?".excalidraw.md":".md")}function getEmbedFilename(e,A){return(A.drawingEmbedPrefixWithFilename?e:"")+A.drawingFilnameEmbedPostfix+(""!==A.drawingFilenameDateTime?window.moment().format(A.drawingFilenameDateTime):"")+(A.compatibilityMode?".excalidraw":A.useExcalidrawExtension?".excalidraw.md":".md")}async function checkAndCreateFolder(e){const A=app.vault;e=obsidian.normalizePath(e);const t=A.getAbstractFileByPathInsensitive(e);t&&t instanceof obsidian.TFolder||(t&&t instanceof obsidian.TFile&&new obsidian.Notice(`The folder cannot be created because it already exists as a file: ${e}.`),await A.createFolder(e))}!function(e){var A=function(){var e=String.fromCharCode,A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function i(e,A){if(!n[e]){n[e]={};for(var t=0;t>>8,t[2*n+1]=r%256}return t},decompressFromUint8Array:function(A){if(null==A)return a.decompress(A);for(var t=new Array(A.length/2),n=0,i=t.length;n>=1}else{for(i=1,n=0;n>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(i=r[c],n=0;n>=1;0==--d&&(d=Math.pow(2,u),u++),r[l]=h++,c=String(o)}if(""!==c){if(Object.prototype.hasOwnProperty.call(s,c)){if(c.charCodeAt(0)<256){for(n=0;n>=1}else{for(i=1,n=0;n>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(i=r[c],n=0;n>=1;0==--d&&(d=Math.pow(2,u),u++)}for(i=2,n=0;n>=1;for(;;){if(p<<=1,w==A-1){g.push(t(p));break}w++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(A){return e.charCodeAt(A)}))},_decompress:function(A,t,n){var i,a,r,s,o,l,c,d=[],h=4,u=4,g=3,p="",w=[],m={val:n(0),position:t,index:1};for(i=0;i<3;i+=1)d[i]=i;for(r=0,o=Math.pow(2,2),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;switch(r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 2:return""}for(d[3]=c,a=c,w.push(c);;){if(m.index>A)return"";for(r=0,o=Math.pow(2,g),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;switch(c=r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 2:return w.join("")}if(0==h&&(h=Math.pow(2,g),g++),d[c])p=d[c];else{if(c!==u)return null;p=a+a.charAt(0)}w.push(p),d[u++]=a+p.charAt(0),a=p,0==--h&&(h=Math.pow(2,g),g++)}}};return a}();null!=e&&(e.exports=A)}(lzString);const{exportToSvg:exportToSvg,exportToBlob:exportToBlob}=excalidrawLib;let versionUpdateChecked=!1;const checkExcalidrawVersion=async e=>{if(!versionUpdateChecked){versionUpdateChecked=!0;try{const e=async()=>JSON.parse(await obsidian.request({url:"https://api.github.com/repos/zsviczian/obsidian-excalidraw-plugin/releases?per_page=5&page=1"})),A=(await e()).map((e=>({version:e.tag_name,published:new Date(e.published_at)}))).filter((e=>e.version.match(/^\d+\.\d+\.\d+$/))).sort(((e,A)=>A.published-e.published))[0].version;isVersionNewerThanOther(A,PLUGIN_VERSION)&&new obsidian.Notice(`A newer version of Excalidraw is available in Community Plugins.\n\nYou are using ${PLUGIN_VERSION}.\nThe latest is ${A}`)}catch(e){errorlog({where:"Utils/checkExcalidrawVersion",error:e})}setTimeout((()=>versionUpdateChecked=!1),288e5)}};function wrapTextAtCharLength(e,A,t=!1,n=0){if(!A)return e;let i="";if(t){for(const t of e.split("\n")){const e=t.match(new RegExp(`(.){1,${A}}`,"g"));i+=e?`${e.join("\n")}\n`:"\n"}return i.replace(/\n$/,"")}const a=new RegExp(`(.{1,${A}})(\\s+|$\\n?)|([^\\s]{1,${A+n}})(\\s+|$\\n?)?`,"gm"),r=e.matchAll(a);let s;for(;!(s=r.next()).done;){i+=s.value[1]?s.value[1].trimEnd():s.value[3].trimEnd();const e=(s.value[2]?s.value[2].split("\n").length-1:0)+(s.value[4]?s.value[4].split("\n").length-1:0);i+="\n".repeat(e),0===e&&(i+="\n")}return i.replace(/\n$/,"")}new Random(Date.now());const rotate$1=(e,A,t,n,i)=>[(e-t)*Math.cos(i)-(A-n)*Math.sin(i)+t,(e-t)*Math.sin(i)+(A-n)*Math.cos(i)+n],rotatedDimensions=e=>{if(0===e.angle)return[e.x,e.y,e.width,e.height];const A=e.x+e.width/2,t=e.y+e.height/2,[n,i]=rotate$1(e.x,e.y,A,t,e.angle),[a,r]=rotate$1(e.x+e.width,e.y+e.height,A,t,e.angle);return[n{const s=1/t.value;return{x:(e-n)*s-a,y:(A-i)*s-r}},getDataURL=async(e,A)=>new Promise(((t,n)=>{const i=new FileReader;i.onload=()=>{const e=i.result;t(e)},i.onerror=e=>n(e),i.readAsDataURL(new Blob([new Uint8Array(e)],{type:A}))})),getFontDataURL=async(e,A,t,n)=>{let i="",a="",r="";const s=e.metadataCache.getFirstLinkpathDest(A,t);if(s){const A=await e.vault.readBinary(s),t=s.extension.startsWith("woff")?"application/font-woff":"font/truetype";a=null!=n?n:s.basename,r=await getDataURL(A,t),i=` @font-face {font-family: "${a}";src: url("${r}") format("${"ttf"===s.extension?"truetype":s.extension}");}`;const o=i.split(";base64,",2);i=`${o[0]};charset=utf-8;base64,${o[1]}`}return{fontDef:i,fontName:a,dataURL:r}},svgToBase64=e=>`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e.replaceAll(" "," "))))}`,getBinaryFileFromDataURL=e=>{if(!e)return null;const A=e.matchAll(/base64,(.*)/g).next(),t=window.atob(A.value[1]),n=t.length,i=new Uint8Array(n);for(let e=0;e{var n;try{return await exportToSvg({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(n=e.appState)||void 0===n?void 0:n.theme)},e.appState),files:e.files,exportPadding:t})}catch(e){return null}},getPNG=async(e,A,t,n=1)=>{var i;try{return await exportToBlob({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(i=e.appState)||void 0===i?void 0:i.theme)},e.appState),files:e.files,exportPadding:t,mimeType:"image/png",getDimensions:(e,A)=>({width:e*n,height:A*n,scale:n})})}catch(e){return errorlog({where:"Utils.getPNG",error:e}),null}},getQuickImagePreview=async(e,A,t)=>{if(!e.settings.displayExportedImageIfAvailable)return null;const n=getIMGFilename(A,t),i=e.app.vault.getAbstractFileByPath(n);return i&&i instanceof obsidian.TFile?"png"===t?await e.app.vault.readBinary(i):await e.app.vault.read(i):null},embedFontsInSVG=(e,A)=>{const t=null!=e.querySelector("text[font-family^='Virgil']"),n=null!=e.querySelector("text[font-family^='Cascadia']"),i=null!=e.querySelector("text[font-family^='LocalFont']"),a=e.querySelector("defs");return a&&(n||t||i)&&(a.innerHTML=``),e},getImageSize=async e=>new Promise(((A,t)=>{const n=new Image;n.onload=()=>{A({height:n.naturalHeight,width:n.naturalWidth})},n.onerror=t,n.src=e})),scaleLoadedImage=(e,A)=>{let t=!1;if(!A||!e)return{dirty:t,scene:e};for(const n of A){const[A,i]=[n.size.width,n.size.height],a=n.size.width/n.size.height;e.elements.filter((e=>"image"===e.type&&e.fileId===n.id)).forEach((e=>{const[r,s]=[e.width,e.height];if(n.shouldScale){if(a!=r/s){t=!0;const n=Math.sqrt(r*s*i/A),a=Math.sqrt(r*s*A/i);e.height=n,e.width=a,e.y+=(s-n)/2,e.x+=(r-a)/2}}else r===A&&s===i||(t=!0,e.height=i,e.width=A,e.y+=(s-i)/2,e.x+=(r-A)/2)}))}return{dirty:t,scene:e}},setDocLeftHandedMode=(e,A)=>{const t=A.createElement("style");t.id="excalidraw-left-handed",t.textContent=".excalidraw .App-bottom-bar{justify-content:flex-end;}";const n=A.getElementById(t.id);n&&A.head.removeChild(n),e&&A.head.appendChild(t)},setLeftHandedMode=e=>{const A=new Set;app.workspace.iterateAllLeaves((t=>{const n=app.isMobile?document:t.view.containerEl.ownerDocument;n&&(A.has(n)||(A.add(n),setDocLeftHandedMode(e,n)))}))},getLinkParts=(e,A)=>{var t;const n=e.match(/(^[^#\|]*)#?(\^)?([^\|]*)?\|?(\d*)x?(\d*)/);return{original:e,path:A&&""===n[1]?A.path:n[1],isBlockRef:"^"===n[2],ref:null===(t=n[3])||void 0===t?void 0:t.replaceAll(REG_BLOCK_REF_CLEAN,""),width:n[4]?parseInt(n[4]):void 0,height:n[5]?parseInt(n[5]):void 0}},compress=e=>lzString.exports.compressToBase64(e).replace(/(.{64})/g,"$1\n\n"),decompress=e=>lzString.exports.decompressFromBase64(e.replaceAll("\n","").replaceAll("\r","")),hasExportTheme=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return!0}return!1},getExportTheme=(e,A,t)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return t.frontmatter["excalidraw-export-dark"]?"dark":"light"}return e.settings.exportWithTheme?t:"light"},hasExportBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!0}return!1},getWithBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!t.frontmatter["excalidraw-export-transparent"]}return e.settings.exportWithBackground},getExportPadding=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if(!(null==t?void 0:t.frontmatter))return e.settings.exportPaddingSVG;if(null!=t.frontmatter["excalidraw-export-padding"]){const e=parseInt(t.frontmatter["excalidraw-export-padding"]);if(!isNaN(e))return e}if(null!=t.frontmatter["excalidraw-export-svgpadding"]){const e=parseInt(t.frontmatter["excalidraw-export-svgpadding"]);if(!isNaN(e))return e}}return e.settings.exportPaddingSVG},getPNGScale=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-pngscale"]){const e=parseFloat(t.frontmatter["excalidraw-export-pngscale"]);if(!isNaN(e)&&e>0)return e}}return e.settings.pngExportScale},isVersionNewerThanOther=(e,A)=>{const t=e.match(/(\d*)\.(\d*)\.(\d*)/),n=A.match(/(\d*)\.(\d*)\.(\d*)/);return Boolean(t&&4===t.length&&n&&4===n.length&&!(isNaN(parseInt(t[1]))||isNaN(parseInt(t[2]))||isNaN(parseInt(t[3])))&&!(isNaN(parseInt(n[1]))||isNaN(parseInt(n[2]))||isNaN(parseInt(n[3])))&&(parseInt(t[1])>parseInt(n[1])||parseInt(t[1])>=parseInt(n[1])&&parseInt(t[2])>parseInt(n[2])||parseInt(t[1])>=parseInt(n[1])&&parseInt(t[2])>=parseInt(n[2])&&parseInt(t[3])>parseInt(n[3])))},getEmbeddedFilenameParts=e=>{const A=null==e?void 0:e.match(/([^#\^]*)((#\^)(group=|area=|taskbone)?([^\|]*)|(#)(group=|area=|taskbone)?([^\^\|]*))(.*)/);return A?{filepath:A[1],hasBlockref:Boolean(A[3]),hasGroupref:"group="===A[4]||"group="===A[7],hasTaskbone:"taskbone"===A[4]||"taskbone"===A[7],hasArearef:"area="===A[4]||"area="===A[7],blockref:A[5],hasSectionref:Boolean(A[6]),sectionref:A[8],linkpartReference:A[2],linkpartAlias:A[9]}:{filepath:e,hasBlockref:!1,hasGroupref:!1,hasTaskbone:!1,hasArearef:!1,blockref:"",hasSectionref:!1,sectionref:"",linkpartReference:"",linkpartAlias:""}},fragWithHTML=e=>createFragment((A=>A.createDiv().innerHTML=e)),errorlog=e=>{console.error(Object.assign({plugin:"Excalidraw"},e))},sleep$1=async e=>new Promise((A=>setTimeout(A,e))),log=console.log.bind(window.console);console.log.bind(window.console);const getContainerElement=(e,A)=>{var t;return e&&e.containerId&&null!==(t=A.elements.filter((A=>A.id===e.containerId))[0])&&void 0!==t?t:null},getParentOfClass=(e,A)=>{var t;let n=e.parentElement;for(;n&&!(n instanceof window.HTMLBodyElement)&&!n.classList.contains(A);)n=n.parentElement;return(null===(t=null==n?void 0:n.classList)||void 0===t?void 0:t.contains(A))?n:null},getNewOrAdjacentLeaf=(e,A)=>{const t=A.id,n=app.workspace.getLayout(),i=e=>e.children.filter((e=>"leaf"!==e.type)).map((e=>i(e))).flat().concat(e.children.filter((e=>"leaf"===e.type)).map((e=>e.id))),a=i(n.main),r=n.main&&a.contains(t)?"main":n.floating&&i(n.floating).contains(t)?"popout":n.left&&i(n.left).contains(t)?"left":n.right&&i(n.right).contains(t)?"right":"hover",s=()=>{var e;let t=app.workspace.getMostRecentLeaf();return t&&t!==A&&(null===(e=t.view)||void 0===e?void 0:e.containerEl.ownerDocument)===document||(t=null,a.forEach((e=>{var n;const i=app.workspace.getLeafById(e);!t&&(null===(n=i.view)||void 0===n?void 0:n.navigation)&&A!==i&&(t=i)}))),t};if(e.settings.openInMainWorkspace||["main","left","right"].contains(r)){if(!e.settings.openInAdjacentPane){if("main"===r)return app.workspace.createLeafBySplit(A);const e=s();return e?"empty"===e.view.getViewType()?e:app.workspace.createLeafBySplit(e):app.workspace.getLeaf(!0)}const t=s();return null!=t?t:app.workspace.getLeaf(!0)}if(!e.settings.openInAdjacentPane)return app.workspace.createLeafBySplit(A);if("hover"===r){const t=new Set;return app.workspace.iterateAllLeaves((e=>{e!==A&&A.containerEl.parentElement===e.containerEl.parentElement&&t.add(e)})),0===t.size?e.app.workspace.createLeafBySplit(A):Array.from(t)[0]}if("popout"===r){const e=new Set;return app.workspace.iterateAllLeaves((t=>{t!==A&&t.view.navigation&&t.view.containerEl.ownerDocument===A.view.containerEl.ownerDocument&&e.add(t)})),0===e.size?app.workspace.createLeafBySplit(A):Array.from(e)[0]}return e.app.workspace.createLeafBySplit(A)},getAttachmentsFolderAndFilePath=async(e,A,t)=>{let n=e.vault.getConfig("attachmentFolderPath");if(n&&n.startsWith("./")){const e=`${splitFolderAndFilename(A).folderpath}/`;n=obsidian.normalizePath(e+n.substring(2))}return n&&"/"!==n||(n=""),await checkAndCreateFolder(n),{folder:n,filepath:obsidian.normalizePath(""===n?t:`${n}/${t}`)}},isObsidianThemeDark=()=>document.body.classList.contains("theme-dark");var ar={},cz={},da={},de={},en={INSTALL_SCRIPT:"Install this script",UPDATE_SCRIPT:"An update is available - Click to install",CHECKING_SCRIPT:"Checking if a newer version is available - Click to reinstall now",UNABLETOCHECK_SCRIPT:"Update check was unsuccessful - Click to reinstall now",UPTODATE_SCRIPT:"Script is installed and up to date - Click to reinstall now",OPEN_AS_EXCALIDRAW:"Open as Excalidraw Drawing",TOGGLE_MODE:"Toggle between Excalidraw and Markdown mode",CONVERT_NOTE_TO_EXCALIDRAW:"Convert empty note to Excalidraw Drawing",CONVERT_EXCALIDRAW:"Convert *.excalidraw to *.md files",CREATE_NEW:"New Excalidraw drawing",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (Logseq compatibility)",DOWNLOAD_LIBRARY:"Export stencil library as an *.excalidrawlib file",OPEN_EXISTING_NEW_PANE:"Open an existing drawing - IN A NEW PANE",OPEN_EXISTING_ACTIVE_PANE:"Open an existing drawing - IN THE CURRENT ACTIVE PANE",TRANSCLUDE:"Transclude (embed) a drawing",TRANSCLUDE_MOST_RECENT:"Transclude (embed) the most recently edited drawing",TOGGLE_LEFTHANDED_MODE:"Toggle left-handed mode",NEW_IN_NEW_PANE:"Create a new drawing - IN A NEW PANE",NEW_IN_ACTIVE_PANE:"Create a new drawing - IN THE CURRENT ACTIVE PANE",NEW_IN_POPOUT_WINDOW:"Create a new drawing - IN A POPOUT WINDOW",NEW_IN_NEW_PANE_EMBED:"Create a new drawing - IN A NEW PANE - and embed into active document",NEW_IN_ACTIVE_PANE_EMBED:"Create a new drawing - IN THE CURRENT ACTIVE PANE - and embed into active document",NEW_IN_POPOUT_WINDOW_EMBED:"Create a new drawing - IN A POPOUT WINDOW - and embed into active document",EXPORT_SVG:"Save as SVG next to the current file",EXPORT_PNG:"Save as PNG next to the current file",TOGGLE_LOCK:"Toggle Text Element edit RAW/PREVIEW",DELETE_FILE:"Delete selected Image or Markdown file from Obsidian Vault",INSERT_LINK_TO_ELEMENT:"Copy markdown link for selected element to clipboard. CTRL/CMD+Click to copy group link. SHIFT+click to copy an area link.",INSERT_LINK_TO_ELEMENT_GROUP:"Copy 'group=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_AREA:"Copy 'area=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_NORMAL:"Copy markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_ERROR:"Select a single element in the scene",INSERT_LINK_TO_ELEMENT_READY:"Link is READY and available on the clipboard",INSERT_LINK:"Insert link to file",INSERT_IMAGE:"Insert image or Excalidraw drawing from your vault",IMPORT_SVG:"Import an SVG file as Excalidraw strokes (limited SVG support, TEXT currently not supported)",INSERT_MD:"Insert markdown file from vault",INSERT_LATEX:"Insert LaTeX formula (e.g. \\binom{n}{k} = \\frac{n!}{k!(n-k)!})",ENTER_LATEX:"Enter a valid LaTeX expression",READ_RELEASE_NOTES:"Read latest release notes",RUN_OCR:"OCR: Grab text from freedraw scribble and pictures to clipboard",TRAY_MODE:"Toggle property-panel tray-mode",SEARCH:"Search for text in drawing",RESET_IMG_TO_100:"Set selected image element size to 100% of original",TEMPORARY_DISABLE_AUTOSAVE:"Disable autosave until next time Obsidian starts (only set this if you know what you are doing)",TEMPORARY_ENABLE_AUTOSAVE:"Enable autosave",INSTALL_SCRIPT_BUTTON:"Install or update Excalidraw Scripts",OPEN_AS_MD:"Open as Markdown",SAVE_AS_PNG:"Save as PNG into Vault (CTRL/CMD+CLICK to export)",SAVE_AS_SVG:"Save as SVG into Vault (CTRL/CMD+CLICK to export)",OPEN_LINK:"Open selected text as link\n(SHIFT+CLICK to open in a new pane)",EXPORT_EXCALIDRAW:"Export to an .Excalidraw file",LINK_BUTTON_CLICK_NO_TEXT:"Select a an ImageElement, or select a TextElement that contains an internal or external link.\nSHIFT CLICK this button to open the link in a new pane.\nCTRL/CMD CLICK the Image or TextElement on the canvas has the same effect!",FILENAME_INVALID_CHARS:'File name cannot contain any of the following characters: * " \\ < > : | ? #',FILE_DOES_NOT_EXIST:"File does not exist. Hold down ALT (or ALT+SHIFT) and CLICK link button to create a new file.",FORCE_SAVE:"Save (will also update transclusions)",RAW:"Change to PREVIEW mode (only effects text-elements with links or transclusions)",PARSED:"Change to RAW mode (only effects text-elements with links or transclusions)",NOFILE:"Excalidraw (no file)",COMPATIBILITY_MODE:"*.excalidraw file opened in compatibility mode. Convert to new format for full plugin functionality.",CONVERT_FILE:"Convert to new format",RELEASE_NOTES_NAME:"Display Release Notes after update",RELEASE_NOTES_DESC:"Toggle ON: Display release notes each time you update Excalidraw to a newer version.
Toggle OFF: Silent mode. You can still read release notes on GitHub.",NEWVERSION_NOTIFICATION_NAME:"Plugin update notification",NEWVERSION_NOTIFICATION_DESC:"Toggle ON: Show a notification when a new version of the plugin is avaiable.
Toggle OFF: Silent mode. You need to check for plugin updates in Community Plugins.",FOLDER_NAME:"Excalidraw folder",FOLDER_DESC:"Default location for new drawings. If empty, drawings will be created in the Vault root.",FOLDER_EMBED_NAME:"Use Excalidraw folder when embedding a drawing into the active document",FOLDER_EMBED_DESC:"Define which folder to place the newly inserted drawing into when using the command palette action: 'Create a new drawing and embed into active document'.
Toggle ON: Use Excalidraw folder
Toggle OFF: use the attachments folder defined in Obsidian settings.",TEMPLATE_NAME:"Excalidraw template file",TEMPLATE_DESC:"Full filepath to the Excalidraw template. E.g.: If your template is in the default Excalidraw folder and it's name is Template.md, the setting would be: Excalidraw/Template.md (or just Excalidraw/Template - you may omit the .md file extension). If you are using Excalidraw in compatibility mode, then your template must be a legacy Excalidraw file as well such as Excalidraw/Template.excalidraw.",SCRIPT_FOLDER_NAME:"Excalidraw Automate script folder (CASE SeNSitiVE!)",SCRIPT_FOLDER_DESC:"The files you place in this folder will be treated as Excalidraw Automate scripts. You can access your scripts from Excalidraw via the Obsidian Command Palette. Assign hotkeys to your favorite scripts just like to any other Obsidian command. The folder may not be the root folder of your Vault. ",COMPRESS_NAME:"Compress Excalidraw JSON in Markdown",COMPRESS_DESC:"By enabling this feature Excalidraw will store the drawing JSON in a Base64 compressed format using the LZ-String algorithm. This will reduce the chance of Excalidraw JSON cluttering your search results in Obsidian. As a side effect, this will also reduce the filesize of Excalidraw drawings. When you switch an Excalidraw drawing to Markdown view, using the options menu in Excalidraw, the file will be saved without compression, so that you can read and edit the JSON string. The drawing will be compressed again once you switch back to Excalidraw view. The setting only has effect 'point forward', meaning, existing drawings will not be effected by the setting until you open them and save them.
Toggle ON: Compress drawing JSON
Toggle OFF: Leave drawing JSON uncompressed",AUTOSAVE_NAME:"Enable Autosave",AUTOSAVE_DESC:"Automatically save the active drawing, in case there are changes, every 15, 30 seconds, or 1, 2, 3, 4, or 5 minute. Save normally happens when you close Excalidraw or Obsidian, or move focus to another pane. I created this feature with mobile phones and tablets in mind, where 'swiping out Obsidian to close it' led to some data loss.",AUTOSAVE_INTERVAL_NAME:"Interval for autosave",AUTOSAVE_INTERVAL_DESC:"The time interval between saves. Autosave will skip if there are no changes in the drawing.",FILENAME_HEAD:"Filename",FILENAME_DESC:"

Click this link for the date and time format reference.

",FILENAME_SAMPLE:"Filename for a new drawing is: ",FILENAME_EMBED_SAMPLE:"Filename for a new embedded drawing is: ",FILENAME_PREFIX_NAME:"Filename prefix",FILENAME_PREFIX_DESC:"The first part of the filename",FILENAME_PREFIX_EMBED_NAME:"Filename prefix when embedding a new drawing into a markdown note",FILENAME_PREFIX_EMBED_DESC:"Should the filename of the newly inserted drawing start with the name of the active markdown note when using the command palette action: Create a new drawing and embed into active document?
Toggle ON: Yes, the filename of a new drawing should start with filename of the active document
Toggle OFF: No, filename of a new drawing should not include the filename of the active document",FILENAME_POSTFIX_NAME:"Custom text after markdown Note's name when embedding",FILENAME_POSTFIX_DESC:"Effects filename only when embedding into a markdown document. This is text will be inserted after the note's name, but before the date.",FILENAME_DATE_NAME:"Filename Date",FILENAME_DATE_DESC:"The last part of the filename. Leave empty if you do not want a date.",FILENAME_EXCALIDRAW_EXTENSION_NAME:".excalidraw.md or .md",FILENAME_EXCALIDRAW_EXTENSION_DESC:"This setting does not apply if you use Excalidraw in compatibility mode, i.e. you are not using Excalidraw markdown files.
Toggle ON: filename ends with .excalidraw.md
Toggle OFF: filename ends with .md",DISPLAY_HEAD:"Display",LEFTHANDED_MODE_NAME:"Left-handed mode",LEFTHANDED_MODE_DESC:"Currently only has effect in tray-mode. If turned on, the tray will be on the right side.
Toggle ON: Left-handed mode.
Toggle OFF: Right-handed moded",MATCH_THEME_NAME:"New drawing to match Obsidian theme",MATCH_THEME_DESC:"If theme is dark, new drawing will be created in dark mode. This does not apply when you use a template for new drawings. Also this will not effect when you open an existing drawing. Those will follow the theme of the template/drawing respectively.
Toggle ON: Follow Obsidian Theme
Toggle OFF:Follow theme defined in your template",MATCH_THEME_ALWAYS_NAME:"Existing drawings to match Obsidian theme",MATCH_THEME_ALWAYS_DESC:"If theme is dark, drawings will be opened in dark mode. If your theme is light, they will be opened in light mode.
Toggle ON: Match Obsidian theme
Toggle OFF: Open with the same theme as last saved",MATCH_THEME_TRIGGER_NAME:"Excalidraw to follow when Obsidian Theme changes",MATCH_THEME_TRIGGER_DESC:"If this option is enabled open Excalidraw pane will switch to light/dark mode when Obsidian theme changes.
Toggle ON: Follow theme changes
Toggle OFF: Drawings are not effected by Obsidian theme changes",DEFAULT_OPEN_MODE_NAME:"Default mode when opening Excalidraw",DEFAULT_OPEN_MODE_DESC:"Specifies the mode how Excalidraw opens: Normal, Zen, or View mode. You may also set this behavior on a file level by adding the excalidraw-default-mode frontmatter key with a value of: normal,view, or zen to your document.",DEFAULT_PEN_MODE_NAME:"Pen mode",DEFAULT_PEN_MODE_DESC:"Should pen mode be automatically enabled when opening Excalidraw?",ZOOM_TO_FIT_NAME:"Zoom to fit on view resize",ZOOM_TO_FIT_DESC:"Zoom to fit drawing when the pane is resized
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_MAX_LEVEL_NAME:"Zoom to fit max ZOOM level",ZOOM_TO_FIT_MAX_LEVEL_DESC:"Set the maximum level to which zoom to fit will enlarge the drawing. Minimum is 0.5 (50%) and maximum is 10 (1000%).",LINKS_HEAD:"Links and transclusion",LINKS_DESC:"CTRL/CMD + CLICK on [[Text Elements]] to open them as links. If the selected text has more than one [[valid Obsidian links]], only the first will be opened. If the text starts as a valid web link (i.e. https:// or http://), then the plugin will open it in a browser. When Obsidian files change, the matching [[link]] in your drawings will also change. If you don't want text accidentally changing in your drawings use [[links|with aliases]].",ADJACENT_PANE_NAME:"Open in adjacent pane",ADJACENT_PANE_DESC:"When CTRL/CMD+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane. Turning this setting on, Excalidraw will first look for an existing adjacent pane, and try to open the link there. Excalidraw will look for the adjacent pane based on your focus/navigation history, i.e. the workpane that was active before you activated Excalidraw.",MAINWORKSPACE_PANE_NAME:"Open in main workspace",MAINWORKSPACE_PANE_DESC:"When CTRL/CMD+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane in the current active window. Turning this setting on, Excalidraw will open the link in an existing or new pane in the main workspace. ",LINK_BRACKETS_NAME:"Show [[brackets]] around links",LINK_BRACKETS_DESC:"In PREVIEW mode, when parsing Text Elements, place brackets around links. You can override this setting for a specific drawing by adding excalidraw-link-brackets: true/false to the file's frontmatter.",LINK_PREFIX_NAME:"Link prefix",LINK_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-link-prefix: "📍 " to the file\'s frontmatter.',URL_PREFIX_NAME:"URL prefix",URL_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a URL link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-url-prefix: "🌐 " to the file\'s frontmatter.',PARSE_TODO_NAME:"Parse todo",PARSE_TODO_DESC:"Convert '- [ ] ' and '- [x] ' to checkpox and tick in the box.",TODO_NAME:"Open TODO icon",TODO_DESC:"Icon to use for open TODO items",DONE_NAME:"Completed TODO icon",DONE_DESC:"Icon to use for completed TODO items",HOVERPREVIEW_NAME:"Hover preview without CTRL/CMD key",HOVERPREVIEW_DESC:"Toggle On: In Exalidraw view mode the hover preview for [[wiki links]] will be shown immediately, without the need to hold the CTRL/CMD key. In Excalidraw normal mode, the preview will be shown immediately only when hovering the blue link icon in the top right of the element.
Toggle Off: Hover preview is shown only when you hold the CTRL/CMD key while hovering the link.",LINKOPACITY_NAME:"Opacity of link icon",LINKOPACITY_DESC:"Opacity of the link indicator icon in the top right corner of an element. 1 is opaque, 0 is transparent.",LINK_CTRL_CLICK_NAME:"CTRL/CMD + CLICK on text with [[links]] or [](links) to open them",LINK_CTRL_CLICK_DESC:"You can turn this feature off if it interferes with default Excalidraw features you want to use. If this is turned off, only the link button in the title bar of the drawing pane will open links.",TRANSCLUSION_WRAP_NAME:"Overflow wrap behavior of transcluded text",TRANSCLUSION_WRAP_DESC:"Number specifies the character count where the text should be wrapped. Set the text wrapping behavior of transcluded text. Turn this ON to force-wrap text (i.e. no overflow), or OFF to soft-wrap text (at the nearest whitespace).",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion word wrap default",TRANSCLUSION_DEFAULT_WRAP_DESC:"You can set manually set/override word wrapping length using the `![[page#^block]]{NUMBER}` format. Normally you will not want to set a default, because if you transclude text inside a sticky note, then Excalidraw will automatically take care of word wrapping. Set this value to `0` if you do not want to set a default. ",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Page transclusion max char count",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"The maximum number of characters to display from the page when transcluding an entire page with the ![[markdown page]] format.",QUOTE_TRANSCLUSION_REMOVE_NAME:"Quote translusion: remove leading '> ' from each line",QUOTE_TRANSCLUSION_REMOVE_DESC:"Remove the leading '> ' from each line of the transclusion. This will improve readibility of quotes in text only transclusions
Toggle ON: Remove leading '> '
Toggle OFF: Do not remove leading '> ' (note it will still be removed from the first row due to Obsidian API functionality)",GET_URL_TITLE_NAME:"Use iframely to resolve page title",GET_URL_TITLE_DESC:"Use the http://iframely.server.crestify.com/iframely?url= to get title of page when dropping a link into Excalidraw",MD_HEAD:"Markdown-embed settings",MD_HEAD_DESC:"You can transclude formatted markdown documents into drawings as images CTRL(Shift on Mac) drop from the file explorer or using the command palette action.",MD_TRANSCLUDE_WIDTH_NAME:"Default width of a transcluded markdown document",MD_TRANSCLUDE_WIDTH_DESC:"The width of the markdown page. This effects the word wrapping when transcluding longer paragraphs, and the width of the image element. You can override the default width of an embedded file using the [[filename#heading|WIDTHxMAXHEIGHT]] syntax in markdown view mode under embedded files.",MD_TRANSCLUDE_HEIGHT_NAME:"Default maximum height of a transcluded markdown document",MD_TRANSCLUDE_HEIGHT_DESC:"The embedded image will be as high as the markdown text requires, but not higher than this value. You can override this value by editing the embedded image link in markdown view mode with the following syntax [[filename#^blockref|WIDTHxMAXHEIGHT]].",MD_DEFAULT_FONT_NAME:"The default font typeface to use for embedded markdown files.",MD_DEFAULT_FONT_DESC:'Set this value to "Virgil" or "Cascadia" or the filename of a valid .ttf, .woff, or .woff2 font e.g. MyFont.woff2 You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font: font_or_filename',MD_DEFAULT_COLOR_NAME:"The default font color to use for embedded markdown files.",MD_DEFAULT_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font-color: steelblue',MD_DEFAULT_BORDER_COLOR_NAME:"The default border color to use for embedded markdown files.",MD_DEFAULT_BORDER_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-border-color: gray. Leave empty if you don\'t want a border. ',MD_CSS_NAME:"CSS file",MD_CSS_DESC:"The filename of the CSS to apply to markdown embeds. Provide the filename with extension (e.g. 'md-embed.css'). The css file may also be a plain markdown file (e.g. 'md-embed-css.md'), just make sure the content is written using valid css syntax. If you need to look at the HTML code you are applying the CSS to, then open Obsidian Developer Console (CTRL+SHIFT+i) and type in the following command: \"ExcalidrawAutomate.mostRecentMarkdownSVG\". This will display the most recent SVG generated by Excalidraw. Setting the font-family in the css is has limitations. By default only your operating system's standard fonts are available (see README for details). You can add one custom font beyond that using the setting above. You can override this css setting by adding the following frontmatter-key to the embedded markdown file: \"excalidraw-css: css_file_in_vault|css-snippet\".",EMBED_HEAD:"Embed & Export",EMBED_REUSE_EXPORTED_IMAGE_NAME:"If found, use the already exported image for preview",EMBED_REUSE_EXPORTED_IMAGE_DESC:"This setting works in conjunction with the Auto-export SVG/PNG setting. If an exported image that matches the file name of the drawing is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See demonstration here.",EMBED_PREVIEW_SVG_NAME:"Display SVG in markdown preview",EMBED_PREVIEW_SVG_DESC:"Toggle ON: Embed drawing as an SVG image into the markdown preview.
Toggle OFF: Embedd drawing as a PNG image. Note, that some of the image block referencing features do not work with PNG embeds.",PREVIEW_MATCH_OBSIDIAN_NAME:"Excalidraw preview to match Obsidian theme",PREVIEW_MATCH_OBSIDIAN_DESC:"Image preview in documents should match the Obsidian theme. If enabled, when Obsidian is in dark mode, Excalidraw images will render in dark mode. When Obsidian is in light mode, Excalidraw will render light mode as well. You may want to switch 'Export image with background' off for a more Obsidian-integrated look and feel.",EMBED_WIDTH_NAME:"Default width of embedded (transcluded) image",EMBED_WIDTH_DESC:"The default width of an embedded drawing. This applies to live preview edit and reading mode, as well as to hover previews. You can specify a custom width when embedding an image using the ![[drawing.excalidraw|100]] or [[drawing.excalidraw|100x100]] format.",EMBED_TYPE_NAME:"Type of file to insert into the document",EMBED_TYPE_DESC:"When you embed an image into a document using the command palette this setting will specify if Excalidraw should embed the original Excalidraw file or a PNG or an SVG copy. You need to enable auto-export PNG / SVG (see below under Export Settings) for those image types to be available in the dropdown. For drawings that do not have a a corresponding PNG or SVG readily available the command palette action will insert a broken link. You need to open the original drawing and initiate export manually. This option will not autogenerate PNG/SVG files, but will simply reference the already existing files.",EMBED_WIKILINK_NAME:"Embed SVG or PNG as Wiki link",EMBED_WIKILINK_DESC:"Toggle ON: Excalidraw will embed a [[wiki link]]. Toggle OFF: Excalidraw will embed a [markdown](link).",EXPORT_PNG_SCALE_NAME:"PNG export image scale",EXPORT_PNG_SCALE_DESC:"The size-scale of the exported PNG image",EXPORT_BACKGROUND_NAME:"Export image with background",EXPORT_BACKGROUND_DESC:"If turned off, the exported image will be transparent.",EXPORT_PADDING_NAME:"Image Padding",EXPORT_PADDING_DESC:"The padding (in pixels) around the exported SVG or PNG image. If you have curved lines close to the edge of the image they might get cropped during image export. You can increase this value to avoid cropping. You can also override this setting at a file level by adding the excalidraw-export-padding: 5 frontmatter key.",EXPORT_THEME_NAME:"Export image with theme",EXPORT_THEME_DESC:"Export the image matching the dark/light theme of your drawing. If turned off, drawings created in dark mode will appear as they would in light mode.",EXPORT_HEAD:"Export Settings",EXPORT_SYNC_NAME:"Keep the .SVG and/or .PNG filenames in sync with the drawing file",EXPORT_SYNC_DESC:"When turned on, the plugin will automatically update the filename of the .SVG and/or .PNG files when the drawing in the same folder (and same name) is renamed. The plugin will also automatically delete the .SVG and/or .PNG files when the drawing in the same folder (and same name) is deleted. ",EXPORT_SVG_NAME:"Auto-export SVG",EXPORT_SVG_DESC:"Automatically create an SVG export of your drawing matching the title of your file. The plugin will save the *.SVG file in the same folder as the drawing. Embed the .svg file into your documents instead of Excalidraw making you embeds platform independent. While the auto-export switch is on, this file will get updated every time you edit the Excalidraw drawing with the matching name. You can override this setting on a file level by adding the excalidraw-autoexport frontmatter key. Valid values for this key are none,both,svg, and png",EXPORT_PNG_NAME:"Auto-export PNG",EXPORT_PNG_DESC:"Same as the auto-export SVG, but for *.PNG",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"Export both dark- and light-themed image",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"When enabled, Excalidraw will export two files instead of one: filename.dark.png, filename.light.png and/or filename.dark.svg and filename.light.svg
Double files will be exported both if auto-export SVG or PNG (or both) are enabled, as well as when clicking export on a single image.",COMPATIBILITY_HEAD:"Compatibility features",EXPORT_EXCALIDRAW_NAME:"Auto-export Excalidraw",EXPORT_EXCALIDRAW_DESC:"Same as the auto-export SVG, but for *.Excalidraw",SYNC_EXCALIDRAW_NAME:"Sync *.excalidraw with *.md version of the same drawing",SYNC_EXCALIDRAW_DESC:"If the modified date of the *.excalidraw file is more recent than the modified date of the *.md file then update the drawing in the .md file based on the .excalidraw file",COMPATIBILITY_MODE_NAME:"New drawings as legacy files",COMPATIBILITY_MODE_DESC:"By enabling this feature drawings you create with the ribbon icon, the command palette actions, and the file explorer are going to be all legacy *.excalidraw files. This setting will also turn off the reminder message when you open a legacy file for editing.",MATHJAX_NAME:"MathJax (LaTeX) javascript library host",MATHJAX_DESC:"If you are using LaTeX equiations in Excalidraw then the plugin needs to load a javascript library for that. Some users are unable to access certain host servers. If you are experiencing issues try changing the host here. You may need to restart Obsidian after closing settings, for this change to take effect.",EXPERIMENTAL_HEAD:"Experimental features",EXPERIMENTAL_DESC:"Some of these setting will not take effect immediately, only when the File Explorer is refreshed, or Obsidian restarted.",FIELD_SUGGESTER_NAME:"Enable Field Suggester",FIELD_SUGGESTER_DESC:"Field Suggester borrowed from Breadcrumbs and Templater plugins. The Field Suggester will show an autocomplete menu when you type excalidraw- or ea. with function description as hints on the individual items in the list.",FILETYPE_NAME:"Display type (✏️) for excalidraw.md files in File Explorer",FILETYPE_DESC:"Excalidraw files will receive an indicator using the emoji or text defined in the next setting.",FILETAG_NAME:"Set the type indicator for excalidraw.md files",FILETAG_DESC:"The text or emoji to display as type indicator.",INSERT_EMOJI:"Insert an emoji",LIVEPREVIEW_NAME:"Immersive image embedding in live preview editing mode",LIVEPREVIEW_DESC:"Turn this on to support image embedding styles such as ![[drawing|width|style]] in live preview editing mode. The setting will not effect the currently open documents. You need close the open documents and re-open them for the change to take effect.",ENABLE_FOURTH_FONT_NAME:"Enable fourth font option",ENABLE_FOURTH_FONT_DESC:"By turning this on, you will see a fourth font button on the properties panel for text elements. Files that use this fourth font will (partly) lose their platform independence. Depending on the custom font set in settings, they will look differently when loaded in another vault, or at a later time. Also the 4th font will display as system default font on excalidraw.com, or other Excalidraw versions.",FOURTH_FONT_NAME:"Forth font file",FOURTH_FONT_DESC:"Select a .ttf, .woff or .woff2 font file from your vault to use as the fourth font. If no file is selected, Excalidraw will use the Virgil font by default.",SCRIPT_SETTINGS_HEAD:"Settings for installed Scripts",TASKBONE_HEAD:"Taskbone Optical Character Recogntion",TASKBONE_DESC:"This is an experimental integration of optical character recognition into Excalidraw. Please note, that taskbone is an independent external service not provided by Excalidraw, nor the Excalidraw-Obsidian plugin project. The OCR service will grab legible text from freedraw lines and embedded pictures on your canvas and place the recognized text in the frontmatter of your drawing as well as onto clipboard. Having the text in the frontmatter will enable you to search in Obsidian for the text contents of these. Note, that the process of extracting the text from the image is not done locally, but via an online API. The taskbone service stores the image on its servers only as long as necessary for the text extraction. However, if this is a dealbreaker, then please don't use this feature.",TASKBONE_ENABLE_NAME:"Enable Taskbone",TASKBONE_ENABLE_DESC:"By enabling this service your agree to the Taskbone Terms and Conditaions and the Privacy Policy.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone offers a free service with a reasonable number of scans per month. If you want to use this feature more frequently, or you want to supoprt the developer of Taskbone (as you can imagine, there is no such thing as 'free', providing this awesome OCR service costs some money to the developer of Taskbone), you can purchase a paid API key from taskbone.com. In case you have purchased a key, simply overwrite this auto generated free-tier API-key with your paid key.",SELECT_FILE:"Select a file then press enter.",SELECT_FILE_WITH_OPTION_TO_SCALE:"Select a file then press ENTER, or ALT+ENTER to insert at 100% scale.",NO_MATCH:"No file matches your query.",SELECT_FILE_TO_LINK:"Select the file you want to insert the link for.",SELECT_DRAWING:"Select the image or drawing you want to insert",TYPE_FILENAME:"Type name of drawing to select.",SELECT_FILE_OR_TYPE_NEW:"Select existing drawing or type name of a new drawing then press Enter.",SELECT_TO_EMBED:"Select the drawing to insert into active document.",SELECT_MD:"Select the markdown document you want to insert",INFINITE_LOOP_WARNING:"EXCALIDRAW WARNING\nAborted loading embedded images due to infinite loop in file:\n",SCRIPT_EXECUTION_ERROR:"Script execution error. Please find error message on the developer console.",LOAD_FROM_BACKUP:"Excalidraw file was corrupted. Loading from backup file.",GOTO_FULLSCREEN:"Goto fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",TOGGLE_FULLSCREEN:"Toggle fullscreen mode",OPEN_LINK_CLICK:"Navigate to selected element link",OPEN_LINK_PROPS:"Open markdown-embed properties or open link in new window"},enGB={},es={},fr={},hi={},id={},it={},ja={},ko={},nl={},no={},pl={},pt={},ptBR={},ro={},ru={},tr={},zhCN={INSTALL_SCRIPT:"安装此脚本",UPDATE_SCRIPT:"发现可用更新 - 点击安装",CHECKING_SCRIPT:"检查脚本更新 - 点击重新安装",UNABLETOCHECK_SCRIPT:"检查更新失败 - 点击重新安装",UPTODATE_SCRIPT:"已安装最新脚本 - 点击重新安装",OPEN_AS_EXCALIDRAW:"打开为 Excalidraw 绘图",TOGGLE_MODE:"在 Excalidraw 和 Markdown 模式之间切换",CONVERT_NOTE_TO_EXCALIDRAW:"转换空白笔记为 Excalidraw 绘图",CONVERT_EXCALIDRAW:"转换 *.excalidraw 为 *.md 文件",CREATE_NEW:"新建 Excalidraw 绘图",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (兼容 Logseq)",DOWNLOAD_LIBRARY:"导出 stencil 库为 *.excalidrawlib 文件",OPEN_EXISTING_NEW_PANE:"打开已有的绘图 - 于新面板",OPEN_EXISTING_ACTIVE_PANE:"打开已有的绘图 - 于当前面板",TRANSCLUDE:"嵌入绘图(形如 ![[drawing]])到当前文档",TRANSCLUDE_MOST_RECENT:"嵌入最近编辑过的绘图(形如 ![[drawing]])到当前文档",TOGGLE_LEFTHANDED_MODE:"切换为左手模式",NEW_IN_NEW_PANE:"新建绘图 - 于新面板",NEW_IN_ACTIVE_PANE:"新建绘图 - 于当前面板",NEW_IN_POPOUT_WINDOW:"新建绘图 - 于新窗口",NEW_IN_NEW_PANE_EMBED:"新建绘图 - 于新面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_ACTIVE_PANE_EMBED:"新建绘图 - 于当前面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_POPOUT_WINDOW_EMBED:"新建绘图 - 于新窗口 - 并将其嵌入(形如 ![[drawing]])到当前文档",EXPORT_SVG:"导出 SVG 文件到当前目录",EXPORT_PNG:"导出 PNG 文件到当前目录",TOGGLE_LOCK:"切换文本元素为原文模式(RAW)/预览模式(PREVIEW)",DELETE_FILE:"从库中删除所选图像(或 MD-Embed)的源文件",INSERT_LINK_TO_ELEMENT:"复制所选元素的内部链接。按住 CTRL/CMD 可复制元素所在分组的内部链接。按住 SHIFT 可复制元素周围区域的内部链接。",INSERT_LINK_TO_ELEMENT_GROUP:"复制所选元素所在分组的内部链接(形如 [[file#^group=elementID]])",INSERT_LINK_TO_ELEMENT_AREA:"复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])",INSERT_LINK_TO_ELEMENT_NORMAL:"复制所选元素的引用链接(形如 [[file#^elementID]])",INSERT_LINK_TO_ELEMENT_ERROR:"未选择画布里的单个元素",INSERT_LINK_TO_ELEMENT_READY:"链接已生成并复制到剪贴板",INSERT_LINK:"插入文件的内部链接(形如 [[drawing]])到当前绘图",INSERT_IMAGE:"插入图像(以图像形式嵌入)到当前绘图",INSERT_MD:"插入 Markdown 文档(以图像形式嵌入)到当前绘图",INSERT_LATEX:"插入 LaTeX 公式到当前绘图",ENTER_LATEX:"输入 LaTeX 表达式",READ_RELEASE_NOTES:"阅读本插件的最新发行版本说明",TRAY_MODE:"切换绘图工具属性页为面板模式(Panel)/托盘模式(Tray)",SEARCH:"搜索文本",INSTALL_SCRIPT_BUTTON:"安装或更新 Excalidraw 自动化脚本",OPEN_AS_MD:"打开为 Markdown 文件",SAVE_AS_PNG:"导出 PNG 到当前目录(按住 CTRL/CMD 设定导出路径)",SAVE_AS_SVG:"导出 SVG 到当前目录(按住 CTRL/CMD 设定导出路径)",OPEN_LINK:"打开所选元素里的链接 \n(按住 SHIFT 在新面板打开)",EXPORT_EXCALIDRAW:"导出为 .Excalidraw 文件",LINK_BUTTON_CLICK_NO_TEXT:"请选择一个含有链接的图形或文本元素。\n按住 SHIFT 并点击此按钮可在新面板中打开链接。\n您也可以直接在画布中按住 CTRL/CMD 并点击图形或文本元素来打开链接。",FILENAME_INVALID_CHARS:'文件名不能含有以下符号: * " \\ < > : | ? #',FILE_DOES_NOT_EXIST:"文件不存在。按住 ALT(或 ALT + SHIFT)并点击链接来创建新文件。",FORCE_SAVE:"立刻保存该绘图(并更新嵌入了该绘图的面板)。\n详见插件设置中的定期保存选项",RAW:"文本元素正以原文(RAW)模式显示链接。\n点击切换到预览(PREVIEW)模式",PARSED:"文本元素正以预览(PREVIEW)模式显示链接。\n点击切换到原文(RAW)模式",NOFILE:"Excalidraw(没有文件)",COMPATIBILITY_MODE:"*.excalidraw 文件以兼容模式打开。转换为新格式以获得完整的插件功能。",CONVERT_FILE:"转换为新格式",RELEASE_NOTES_NAME:"显示更新说明",RELEASE_NOTES_DESC:"开启:每次更新本插件后,显示最新发行版本的说明。
关闭:您仍可以在 GitHub 上阅读更新说明。",NEWVERSION_NOTIFICATION_NAME:"通知插件更新",NEWVERSION_NOTIFICATION_DESC:"开启:当本插件存在可用更新时,显示通知。
关闭:您需要手动检查本插件的更新(设置 - 第三方插件 - 检查更新)。",FOLDER_NAME:"Excalidraw 文件夹",FOLDER_DESC:"新绘图的默认存储路径。若为空,将在库的根目录中创建新绘图。",FOLDER_EMBED_NAME:"将 Excalidraw 文件夹用于“新建绘图”命令创建的绘图",FOLDER_EMBED_DESC:"在命令面板中执行“新建绘图”系列命令时,新绘图的存储路径。
开启:使用 Excalidraw 文件夹。
关闭:使用 Obsidian 设置的新附件默认位置。",TEMPLATE_NAME:"Excalidraw 模板文件",TEMPLATE_DESC:"Excalidraw 模板文件的完整路径。
如果您的模板在默认的 Excalidraw 文件夹中且文件名是 Template.md,则此项应设为 Excalidraw/Template.md(也可省略 .md 扩展名,即 Excalidraw/Template)。
如果您在兼容模式下使用 Excalidraw,那么您的模板文件也必须是旧的 *.excalidraw 格式,例如 Excalidraw/Template.excalidraw。",SCRIPT_FOLDER_NAME:"Excalidraw 自动化脚本的文件夹",SCRIPT_FOLDER_DESC:"此文件夹用于存放 Excalidraw 自动化脚本。您可以在 Obsidian 命令面板中执行这些脚本,还可以为喜欢的脚本分配快捷键,就像为其他 Obsidian 命令分配快捷键一样。
该项不能设为库的根目录。",COMPRESS_NAME:"压缩 Excalidraw JSON",COMPRESS_DESC:"Excalidraw 绘图文件默认将元素记录为 JSON 格式。开启此项,可将元素的 JSON 数据以 BASE64 编码(使用 LZ-String 算法)。这样做的好处是:一方面可以避免原来的明文 JSON 数据干扰 Obsidian 的文本搜索结果,另一方面减小了绘图文件的体积。
当您通过功能区按钮或命令将绘图切换成 Markdown 模式时,数据将被解码回 JSON 格式以便阅读和编辑;而当您切换回 Excalidraw 模式时,数据就会被再次编码。
开启此项后,对于之前已存在的未压缩的绘图文件,需要重新打开并保存它们才能生效。",AUTOSAVE_NAME:"定期保存",AUTOSAVE_DESC:"定期保存当前绘图。此功能专为移动设备设计 —— 在桌面端,当您关闭 Excalidraw 或 Obsidian,或者移动焦点到其他面板的时候,软件是会自动保存的;但是在手机或平板上通过滑动手势退出 Obsidian 时,可能无法顺利触发自动保存。因此我添加了定期保存功能作为弥补。",AUTOSAVE_INTERVAL_NAME:"定期保存的时间间隔",AUTOSAVE_INTERVAL_DESC:"每隔多长时间执行一次保存。如果当前绘图没有发生改变,将不会触发保存。",FILENAME_HEAD:"文件名",FILENAME_DESC:"

点击阅读日期和时间格式参考

",FILENAME_SAMPLE:"“新建绘图”系列命令创建的文件名形如:",FILENAME_EMBED_SAMPLE:"“新建绘图并嵌入到当前文档”系列命令创建的文件名形如:",FILENAME_PREFIX_NAME:"“新建绘图”系列命令创建的文件名前缀",FILENAME_PREFIX_DESC:"执行“新建绘图”系列命令时,创建的绘图文件名的第一部分",FILENAME_PREFIX_EMBED_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名前缀",FILENAME_PREFIX_EMBED_DESC:"执行“新建绘图并嵌入到当前文档”系列命令时,创建的绘图文件名是否以当前文档名作为前缀?
开启:
关闭:否",FILENAME_POSTFIX_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名的中间部分",FILENAME_POSTFIX_DESC:"介于文件名前缀和日期时间之间的文本。仅对“新建绘图并嵌入到当前文档”系列命令创建的绘图生效。",FILENAME_DATE_NAME:"文件名里的日期时间",FILENAME_DATE_DESC:"文件名的最后一部分。允许留空。",FILENAME_EXCALIDRAW_EXTENSION_NAME:"文件扩展名(.excalidraw.md 或 .md)",FILENAME_EXCALIDRAW_EXTENSION_DESC:"该选项在兼容模式(即非 Excalidraw 专用 Markdown 文件)下不会生效。
开启:使用 .excalidraw.md 作为扩展名。
关闭:使用 .md 作为扩展名。",DISPLAY_HEAD:"显示",LEFTHANDED_MODE_NAME:"左手模式",LEFTHANDED_MODE_DESC:"目前只在托盘模式下生效。若开启此项,则托盘(绘图工具属性页)将位于右侧。
开启:左手模式。
关闭:右手模式。",MATCH_THEME_NAME:"使新建的绘图匹配 Obsidian 主题",MATCH_THEME_DESC:"如果 Obsidian 使用黑暗主题,新建的绘图文件也将使用黑暗主题。
但是若设置了模板,新建的绘图文件将跟随模板主题;另外,此功能不会作用于已有的绘图。
开启:跟随 Obsidian 主题风格。
关闭:跟随模板主题风格。",MATCH_THEME_ALWAYS_NAME:"使已有的绘图匹配 Obsidian 主题",MATCH_THEME_ALWAYS_DESC:"如果 Obsidian 使用黑暗主题,则绘图文件也将以黑暗主题打开;反之亦然。
开启:匹配 Obsidian 主题风格。
关闭:采用上次保存时的主题风格。",MATCH_THEME_TRIGGER_NAME:"Excalidraw 主题跟随 Obsidian 主题变化",MATCH_THEME_TRIGGER_DESC:"开启此项,则切换 Obsidian 的黑暗/明亮主题时,已打开的 Excalidraw 面板的主题会随之改变。
开启:跟随主题变化。
关闭:不跟随主题变化。",DEFAULT_OPEN_MODE_NAME:"Excalidraw 的默认运行模式",DEFAULT_OPEN_MODE_DESC:"设置 Excalidraw 的运行模式:普通模式(Normal)/禅模式(Zen)/阅读模式(View)。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-default-mode: normal/zen/view 的键值对。",DEFAULT_PEN_MODE_NAME:"触控笔模式(Pen mode)",DEFAULT_PEN_MODE_DESC:"打开绘图时,是否自动开启触控笔模式?",ZOOM_TO_FIT_NAME:"自动缩放以适应面板调整",ZOOM_TO_FIT_DESC:"调整面板大小时,自适应地缩放画布
开启:自动缩放。
关闭:禁用自动缩放。",ZOOM_TO_FIT_MAX_LEVEL_NAME:"自动缩放的最高级别",ZOOM_TO_FIT_MAX_LEVEL_DESC:"自动缩放画布时,允许放大的最高级别。该值不能低于 0.5(50%)且不能超过 10(1000%)。",LINKS_HEAD:"链接(Links) & 以文本形式嵌入到绘图中的文档(Transclusion)",LINKS_DESC:"按住 CTRL/CMD 并点击包含 [[链接]] 的文本元素可以打开其中的链接。
如果所选文本元素包含多个 [[有效的内部链接]] ,只会打开第一个链接;如果所选文本元素包含有效的 URL 链接 (如 https://http://),插件会在浏览器中打开链接。
链接的源文件被重命名时,绘图中相应的 [[内部链接]] 也会同步更新。若您不愿绘图中的链接外观因此而变化,可使用 [[内部链接|别名]]。",ADJACENT_PANE_NAME:"在相邻面板中打开",ADJACENT_PANE_DESC:"按住 CTRL/CMD + SHIFT 并点击绘图里的内部链接时,插件默认会在新面板中打开该链接。
若开启此项,Excalidraw 会先尝试寻找已有的相邻面板(按照右侧、左侧、上方、下方的顺序),并在其中打开该链接。如果找不到,再在新面板中打开。",MAINWORKSPACE_PANE_NAME:"在主工作区中打开",MAINWORKSPACE_PANE_DESC:"按住 CTRL/CMD + SHIFT 并点击绘图里的内部链接时,插件默认会在当前窗口的新面板中打开该链接。
若开启此项,Excalidraw 会在主工作区的面板中打开该链接。",LINK_BRACKETS_NAME:"在链接的两侧显示 [[中括号]]",LINK_BRACKETS_DESC:"文本元素处于预览模式时,在内部链接的两侧显示中括号。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-brackets: true/false 的键值对。",LINK_PREFIX_NAME:"内部链接的前缀",LINK_PREFIX_DESC:'文本元素处于预览模式时,如果其中包含链接,则添加此前缀。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-prefix: "📍 " 的键值对。',URL_PREFIX_NAME:"外部链接的前缀",URL_PREFIX_DESC:'文本元素处于预览模式时,如果其中包含外部链接,则添加此前缀。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-url-prefix: "🌐 " 的键值对。',PARSE_TODO_NAME:"解析任务列表(Todo)",PARSE_TODO_DESC:"将文本元素中的 - [ ]- [x] 前缀显示为方框。",TODO_NAME:"未完成的 Todo 项目",TODO_DESC:"未完成的 Todo 项目的符号",DONE_NAME:"已完成的 Todo 项目",DONE_DESC:"已完成的 Todo 项目的符号",HOVERPREVIEW_NAME:"鼠标悬停预览内部链接",HOVERPREVIEW_DESC:"开启:在 Excalidraw 阅读模式(View)下,鼠标悬停在 [[内部链接]] 上即可预览;而在普通模式(Normal)下, 鼠标悬停在内部链接右上角的蓝色标识上即可预览。
关闭:鼠标悬停在 [[内部链接]] 上,并且按住 CTRL/CMD 时进行预览。",LINKOPACITY_NAME:"链接标识的透明度",LINKOPACITY_DESC:"含有链接的元素,其右上角的链接标识的透明度。介于 0(全透明)到 1(不透明)之间。",LINK_CTRL_CLICK_NAME:"按住 CTRL/CMD 并点击含有 [[链接]] 或 [别名](链接) 的文本来打开链接",LINK_CTRL_CLICK_DESC:"如果此功能影响到您使用某些原版 Excalidraw 功能,可将其关闭。关闭后,您只能通过绘图面板标题栏中的链接按钮来打开链接。",TRANSCLUSION_WRAP_NAME:"Transclusion 的折行方式",TRANSCLUSION_WRAP_DESC:"中的 number 表示嵌入的文本溢出时,在第几个字符处进行折行。
此开关控制具体的折行方式。若开启,则严格在 number 处折行,禁止溢出;若关闭,则允许在 number 位置后最近的空格处折行。",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion 的默认折行位置",TRANSCLUSION_DEFAULT_WRAP_DESC:"除了通过 ![[doc#^block]]{number} 中的 number 来控制折行位置,您也可以在此设置 number 的默认值。
一般设为 0 即可,表示不设置固定的默认值,这样当您需要嵌入文档到便签中时,Excalidraw 能更好地帮您自动处理。",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Transclusion 的最大显示字符数",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"以 ![[内部链接]]![](内部链接) 的形式将文档以文本形式嵌入到绘图中时,该文档在绘图中可显示的最大字符数量。",GET_URL_TITLE_NAME:"使用 iframly 获取页面标题",GET_URL_TITLE_DESC:"拖放链接到 Excalidraw 时,使用 http://iframely.server.crestify.com/iframely?url= 来获取页面的标题。",MD_HEAD:"以图像形式嵌入到绘图中的 Markdown 文档(MD-Embed)",MD_HEAD_DESC:"您还可以将 Markdown 文档以图像形式(而非文本形式)嵌入到绘图中。方法是按住 CTRL/CMD 并从文件管理器中把文档拖入绘图,或者执行“以图像形式嵌入”系列命令。",MD_TRANSCLUDE_WIDTH_NAME:"MD-Embed 的默认宽度",MD_TRANSCLUDE_WIDTH_DESC:"MD-Embed 的宽度。该选项会影响到折行,以及图像元素的宽度。
您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#标题|宽度x最大高度]]。",MD_TRANSCLUDE_HEIGHT_NAME:"MD-Embed 的默认最大高度",MD_TRANSCLUDE_HEIGHT_DESC:"MD-Embed 的高度取决于 Markdown 文档内容的多少,但最大不会超过该值。
您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#^块引ID|宽度x最大高度]]。",MD_DEFAULT_FONT_NAME:"MD-Embed 的默认字体",MD_DEFAULT_FONT_DESC:"可以设为 VirgilCasadia 或其他有效的 .ttf/.woff/.woff2 字体文件(如 我的字体.woff2)。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font: 字体名或文件名 的键值对。",MD_DEFAULT_COLOR_NAME:"MD-Embed 的默认文本颜色",MD_DEFAULT_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font-color: steelblue 的键值对。",MD_DEFAULT_BORDER_COLOR_NAME:"MD-Embed 的默认边框颜色",MD_DEFAULT_BORDER_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-border-color: gray 的键值对。
如果您不想要边框,请留空。",MD_CSS_NAME:"MD-Embed 的默认 CSS 样式表",MD_CSS_DESC:"MD-Embed 图像所采用的 CSS 样式表文件名。需包含扩展名,例如 md-embed.css。允许使用 Markdown 文件(如 md-embed-css.md),但其内容应符合 CSS 语法。
如果您要查询 CSS 所作用的 HTML 节点,请在 Obsidian 开发者控制台(CTRL+SHIFT+i)中键入命令:ExcalidrawAutomate.mostRecentMarkdownSVG —— 这将显示 Excalidraw 最近生成的 SVG。
此外,在 CSS 中不能任意地设置字体,您一般只能使用系统默认的标准字体(详见 README),但可以通过上面的设置来额外添加一个自定义字体。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-css: 库中的CSS文件或CSS片段 的键值对。",EMBED_HEAD:"嵌入到文档中的绘图(Embed) & 导出",EMBED_REUSE_EXPORTED_IMAGE_NAME:"将之前已导出的图像作为 Embed 的预览图(如果存在的话)",EMBED_REUSE_EXPORTED_IMAGE_DESC:"该选项与“自动导出 SVG/PNG 副本”选项配合使用。如果存在文件名相匹配的 SVG/PNG 副本,则将其作为 Embed 的预览图,而不再重新生成预览图。
该选项能够提高性能,尤其是当 Embed 中含有大量图像或 MD-Embed 时。但是,该选项也可能导致预览图无法立即响应你最新的修改,或者你对 Obsidian 主题风格的改变。
该选项仅作用于嵌入到文档中的绘图。由于种种原因,该技术无法用于加快绘图文件的打开速度。详见此说明。",EMBED_PREVIEW_SVG_NAME:"生成 SVG 格式的 Embed 预览图",EMBED_PREVIEW_SVG_DESC:"开启:在 Markdown 预览模式下,为 Embed 生成 SVG 格式的预览图。
关闭:为 Embed 生成 PNG 格式的预览图。注意:PNG 格式预览图不支持某些 绘图元素的块引用特性。",PREVIEW_MATCH_OBSIDIAN_NAME:"Embed 预览图匹配 Obsidian 主题",PREVIEW_MATCH_OBSIDIAN_DESC:"开启此项,则当 Obsidian 处于黑暗模式时,Embed 的预览图也会以黑暗模式渲染;当 Obsidian 处于明亮模式时,预览图也会以明亮模式渲染。
您可能还需要关闭“导出的图像包含背景”开关,来获得与 Obsidian 更加协调的观感。",EMBED_WIDTH_NAME:"Embed 预览图的默认宽度",EMBED_WIDTH_DESC:"该选项同时作用于 Obsidian 实时预览模式下的编辑视图和阅读视图,以及鼠标悬停时浮现的预览图。
您可为某个要嵌入到文档中的绘图(Embed)单独设置此项,方法是修改相应的链接格式为形如 ![[drawing.excalidraw|100]][[drawing.excalidraw|100x100]] 的格式。",EMBED_TYPE_NAME:"“嵌入绘图到当前文档”系列命令的源文件类型",EMBED_TYPE_DESC:"在命令面板中执行“嵌入绘图到当前文档”系列命令时,要嵌入绘图文件本身,还是嵌入其 PNG 或 SVG 副本。
如果您想选择 PNG 或 SVG 副本,需要先开启下方的“自动导出 PNG 副本”或“自动导出 SVG 副本”开关。
如果您选择了 PNG 或 SVG 副本,当副本不存在时,该命令将会插入一条损坏的链接,您需要打开绘图文件并手动导出副本才能修复 —— 也就是说,该选项不会自动帮您生成 PNG/SVG 副本,而只会引用已有的 PNG/SVG 副本。",EMBED_WIKILINK_NAME:"“嵌入绘图到当前文档”命令产生的内部链接类型",EMBED_WIKILINK_DESC:"开启:将产生 ![[Wiki 链接]]关闭:将产生 ![](Markdown 链接)。",EXPORT_PNG_SCALE_NAME:"导出的 PNG 图像的比例",EXPORT_PNG_SCALE_DESC:"导出的 PNG 图像的大小比例",EXPORT_BACKGROUND_NAME:"导出的图像包含背景",EXPORT_BACKGROUND_DESC:"如果关闭,将导出透明背景的图像。",EXPORT_PADDING_NAME:"导出的图像的空白边距",EXPORT_PADDING_DESC:"导出的 SVG/PNG 图像四周的空白边距(单位:像素)。
增加该值,可以避免在导出图像时,靠近图像边缘的图形被裁掉。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-export-padding: 5 的键值对。",EXPORT_THEME_NAME:"导出的图像包含主题",EXPORT_THEME_DESC:"导出与绘图的黑暗/明亮主题匹配的图像。如果关闭,在黑暗主题下导出的图像将和明亮主题一样。",EXPORT_HEAD:"导出设置",EXPORT_SYNC_NAME:"保持 SVG/PNG 文件名与绘图文件同步",EXPORT_SYNC_DESC:"打开后,当绘图文件被重命名时,插件将同步更新同文件夹下的同名 .SVG 和 .PNG 文件。当绘图文件被删除时,插件将自动删除同文件夹下的同名 .SVG 和 .PNG 文件。",EXPORT_SVG_NAME:"自动导出 SVG 副本",EXPORT_SVG_DESC:"自动导出和绘图文件同名的 SVG 副本。插件会将副本保存到绘图文件所在的文件夹中。在文档中嵌入这个 SVG 文件,相比直接嵌入绘图文件,具有更强的跨平台能力。
此开关开启时,每次您编辑 Excalidraw 绘图,其 SVG 文件副本都会同步更新。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-autoexport: none/both/svg/png的键值对",EXPORT_PNG_NAME:"自动导出 PNG 副本",EXPORT_PNG_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.PNG。",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"同时导出黑暗和明亮风格的图像",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"若开启,Excalidraw 将导出两个文件:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
该选项可作用于“自动导出 SVG 副本”、“自动导出 PNG 副本”,以及其他的手动的导出命令。",COMPATIBILITY_HEAD:"兼容性设置",EXPORT_EXCALIDRAW_NAME:"自动导出 Excalidraw 旧格式副本",EXPORT_EXCALIDRAW_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.excalidraw。",SYNC_EXCALIDRAW_NAME:"新旧格式绘图文件的内容保持同步",SYNC_EXCALIDRAW_DESC:"如果旧格式(*.excalidraw)绘图文件的修改日期比新格式(*.md)更新,则根据旧格式文件的内容来更新新格式文件。",COMPATIBILITY_MODE_NAME:"以旧格式创建新绘图",COMPATIBILITY_MODE_DESC:"开启此功能后,您通过功能区按钮、命令面板、文件浏览器等创建的绘图都将是旧格式(*.excalidraw)。此外,您打开旧格式绘图文件时将不再收到提醒消息。",MATHJAX_NAME:"MathJax (LaTeX) 的 javascript 库服务器",MATHJAX_DESC:"如果您在绘图中使用 LaTeX,插件需要从服务器获取并加载一个 javascript 库。如果您的网络无法访问某些库服务器,可以尝试通过此选项更换库服务器。更改此选项后,您可能需要重启 Obsidian 来使其生效。",EXPERIMENTAL_HEAD:"实验性功能",EXPERIMENTAL_DESC:"以下部分设置不会立即生效,需要刷新文件资源管理器或者重启 Obsidian 才会生效。",FIELD_SUGGESTER_NAME:"开启字段建议",FIELD_SUGGESTER_DESC:"开启后,当您在编辑器中输入 excalidraw- 或者 ea. 时,会弹出一个带有函数说明的自动补全提示菜单。
该功能借鉴了 Breadcrumbs 和 Templater 插件。",FILETYPE_NAME:"在文件浏览器中为 excalidraw.md 文件添加类型标识符(如 ✏️)",FILETYPE_DESC:"可通过下一项设置来自定义类型标识符。",FILETAG_NAME:"excalidraw.md 文件的类型标识符",FILETAG_DESC:"要显示为类型标识符的 emoji 或文本。",INSERT_EMOJI:"插入 emoji",LIVEPREVIEW_NAME:"嵌入绘图到文档时,模拟嵌入图像的语法",LIVEPREVIEW_DESC:"开启此项,则可在 Obsidian 实时预览模式的编辑视图下,用形如 ![[绘图|宽度|样式]] 的语法来嵌入绘图。
该选项不会在已打开的文档中立刻生效 —— 你需要重新打开此文档来使其生效。",ENABLE_FOURTH_FONT_NAME:"为文本元素启用本地字体",ENABLE_FOURTH_FONT_DESC:"开启此项后,文本元素的属性面板里会多出一个本地字体按钮。
使用了本地字体的绘图文件,将会失去一部分跨平台能力 —— 若将绘图文件移动到其他库中打开,显示效果可能会截然不同;若在 excalidraw.com 或者其他版本的 Excalidraw 中打开,使用本地字体的文本会变回系统默认字体。",FOURTH_FONT_NAME:"本地字体文件",FOURTH_FONT_DESC:"选择库文件夹中的一个 .ttf, .woff 或 .woff2 字体文件作为本地字体文件。若未选择文件,则使用默认的 Virgil 字体。",SCRIPT_SETTINGS_HEAD:"已安装脚本的设置",SELECT_FILE:"选择一个文件后按回车。",NO_MATCH:"查询不到匹配的文件。",SELECT_FILE_TO_LINK:"选择要插入(链接)到当前绘图中的文件。",SELECT_DRAWING:"选择要插入(以图像形式嵌入)到当前绘图中的图像。",TYPE_FILENAME:"键入要选择的绘图名称。",SELECT_FILE_OR_TYPE_NEW:"选择已有绘图,或者新绘图的类型,然后按回车。",SELECT_TO_EMBED:"选择要插入(嵌入)到当前文档中的绘图。",SELECT_MD:"选择要插入(以图像形式嵌入)到当前绘图中的 Markdown 文档。",INFINITE_LOOP_WARNING:"EXCALIDRAW 警告\n停止加载嵌入的图像,因为此文件中存在死循环:\n",SCRIPT_EXECUTION_ERROR:"脚本运行错误。请在开发者控制台中查看错误信息。",LOAD_FROM_BACKUP:"Excalidraw 文件已损坏。尝试从备份文件中加载。",GOTO_FULLSCREEN:"进入全屏模式",EXIT_FULLSCREEN:"退出全屏模式",TOGGLE_FULLSCREEN:"切换全屏模式"},zhTW={};const localeMap={ar:ar,cs:cz,da:da,de:de,en:en,"en-gb":enGB,es:es,fr:fr,hi:hi,id:id,it:it,ja:ja,ko:ko,nl:nl,nn:no,pl:pl,pt:pt,"pt-br":ptBR,ro:ro,ru:ru,tr:tr,"zh-cn":zhCN,"zh-tw":zhTW},locale=localeMap[obsidian.moment.locale()];function t$d(e){return locale||errorlog({where:"helpers.t",message:"Error: Excalidraw locale not found",locale:obsidian.moment.locale()}),locale&&locale[e]||en[e]}var html2canvas$1={exports:{}}; +"use strict";var obsidian_module=require("obsidian");var LZString=function(){function o(o,r){if(!t[o]){t[o]={};for(var n=0;ne;e++){var s=r.charCodeAt(e);n[2*e]=s>>>8,n[2*e+1]=s%256}return n},decompressFromUint8Array:function(o){if(null===o||void 0===o)return i.decompress(o);for(var n=new Array(o.length/2),e=0,t=n.length;t>e;e++)n[e]=256*o[2*e]+o[2*e+1];var s=[];return n.forEach(function(o){s.push(r(o))}),i.decompress(s.join(""))},compressToEncodedURIComponent:function(o){return null==o?"":i._compress(o,6,function(o){return e.charAt(o)})},decompressFromEncodedURIComponent:function(r){return null==r?"":""==r?null:(r=r.replace(/ /g,"+"),i._decompress(r.length,32,function(n){return o(e,r.charAt(n))}))},compress:function(o){return i._compress(o,16,function(o){return r(o)})},_compress:function(o,r,n){if(null==o)return"";var e,t,i,s={},p={},u="",c="",a="",l=2,f=3,h=2,d=[],m=0,v=0;for(i=0;ie;e++)m<<=1,v==r-1?(v=0,d.push(n(m)),m=0):v++;for(t=a.charCodeAt(0),e=0;8>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;h>e;e++)m=m<<1|t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=a.charCodeAt(0),e=0;16>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}l--,0==l&&(l=Math.pow(2,h),h++),delete p[a]}else for(t=s[a],e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;l--,0==l&&(l=Math.pow(2,h),h++),s[c]=f++,a=String(u)}if(""!==a){if(Object.prototype.hasOwnProperty.call(p,a)){if(a.charCodeAt(0)<256){for(e=0;h>e;e++)m<<=1,v==r-1?(v=0,d.push(n(m)),m=0):v++;for(t=a.charCodeAt(0),e=0;8>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;h>e;e++)m=m<<1|t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=a.charCodeAt(0),e=0;16>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}l--,0==l&&(l=Math.pow(2,h),h++),delete p[a]}else for(t=s[a],e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;l--,0==l&&(l=Math.pow(2,h),h++)}for(t=2,e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;for(;;){if(m<<=1,v==r-1){d.push(n(m));break}v++}return d.join("")},decompress:function(o){return null==o?"":""==o?null:i._decompress(o.length,32768,function(r){return o.charCodeAt(r)})},_decompress:function(o,n,e){var t,i,s,p,u,c,a,l,f=[],h=4,d=4,m=3,v="",w=[],A={val:e(0),position:n,index:1};for(i=0;3>i;i+=1)f[i]=i;for(p=0,c=Math.pow(2,2),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;switch(t=p){case 0:for(p=0,c=Math.pow(2,8),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;l=r(p);break;case 1:for(p=0,c=Math.pow(2,16),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;l=r(p);break;case 2:return""}for(f[3]=l,s=l,w.push(l);;){if(A.index>o)return"";for(p=0,c=Math.pow(2,m),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;switch(l=p){case 0:for(p=0,c=Math.pow(2,8),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;f[d++]=r(p),l=d-1,h--;break;case 1:for(p=0,c=Math.pow(2,16),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;f[d++]=r(p),l=d-1,h--;break;case 2:return w.join("")}if(0==h&&(h=Math.pow(2,m),m++),f[l])v=f[l];else{if(l!==d)return null;v=s+s.charAt(0)}w.push(v),f[d++]=s+v.charAt(0),h--,s=v,0==h&&(h=Math.pow(2,m),m++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module&&(module.exports=LZString); +const EXCALIDRAW_PACKAGES = "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s0ks0gs0rc0m0Ug0UotU6IU0C03s0moUtsHSC0vjUwM0ot8WU09o0kfU2TIGc0y/5IkAI80/E0gN0fC0ki0sL8L4ZVU06rQNvU900wS05AU4S05NUv00qC0jbUji0os02iUCjUheUwC0m9weNU2jUx/k8y0hjUvyKUI0/gUk80lEUsM06iUgN0JiUhyEFS0lU07E0+QAdI0omUpbABM0hoUthoDPU2M0umU5M0lbU67U1o0q40tPjXS00tU4dUuy0qy0xegvS02K06mOYM0oa4TNU8/UmXww3UotU0/UwtU/S0nuU6K0i003K0zc05s07c07i04q03i02iUe40+aUhmUjjUygU5/U7g01809tU980gjU8tUh80sdUheUry0rtUjsU+iUqVSAsxeGAdiMKbUk1IMGQB4/PZAAg0uE00tbdtU5E0sa0s3hRE0ia0vTgKa0oq07u8PJUjy0tS0ry0tjU1LUik029U66INE06RUjE0o00zy0tU03NgFzUm/k2FU2TUheUkQUu9U3K0g2U7jU4TU9c0teUqS0n1cfa0hMdI60zuUtzU060wTU+TUtDU0zQy60lc08FcT60zWQ/c0kfUx60oLzd4VNa0mq0ttUrjUoTU7t8CDUu605i0zE0qIUla0g602DVCSU8LU1c0njUxTUoeU+605U0hG00IkY25Si4Z7UHawAa0q4QC3U3/U0U0tNgfJAfB8Nbsc80rbU/8066Uh80g2Ujq0uk0ug0hk0gNcSGAD7odygLAoIU02bUnuQSU06ISLqU+o0pgU7JUnmEdM04i0zG0jpwVm09wNKKATOACY8ZJUgi00HU+Q0lS08W0mrEKQ0rqUuZU9FQcPyHoABW02SANm0yW0gJUjhIAG05Q0nEAEY0yHaXW0W/k5Y05m0sW0rW0iW0lQUrZUzSAfW03NSQ20710E20zhJM20li0i20t7MK204+U47UmaUu20kNcA60xOAJkgVS004JGtqDmoT0U2s0t207W0620izUzSALRAFS0wGAOJgd5weSol20uG02yJS20pW03pUz1gjO0/zU2E0wjUpO0o00uO0x20h803O00PUxW0oFwT200z2eraLO0ya0nO03a00PUry0/20/aQUUZYO0gmAUO07M08O0j20k2Uiu0uNqJHUh6UqdAf9yQNEvrEpHAt6UjHUj7krVU77knHUkBUo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rPnlIqt6qsL0WGqvTKpxi3supVqoXJG3msyEpP/Lf/kBZEC1w5MDPmnRsuenQWkueGVo2rmko42q02qPEt8pG/4sKVPgEgWsEZQVcVNCyDX4ovGoPGxrRgKzmvmDWYBJLQWJLBQGUrK0VODnCWiDGsni0rY2uaGp9GsKVMlusxErxsuiVJxEq2kHaVJDsDK2rqEVSxDjUrY2vo2rgOsVuqD0oQlANaEq2oCZQT2jOvLFVmq2s0CEhF3/8G0oqNjgLcQNKvFkCHNQpaF4GAZupDUpXln54pgcpDGpA2sPGvtNADGEbfVd4ousr+2U94ofgCacvoCtvzlSooUspOJXZFPwxW22t7ahZmoIAFj6i70zdlnqmsgmpXiS2orgWvBkpamoHipvmrNejvmuQmofmphkrQmszuq4mppatfmr+aoiuo/mqiuq/moBTwkMDiuveopImoAWpKKzxkv9oRAWoBotomrdliyuqOKpYmvMEugWsWKtquoNxx4mqsLTxaq8upCupQWq5ks7usquqOKrEmtHuu2KrLuvququKvJosc6DZGuPKEY2qLnCJsskMqNatJspDYpPUuhIB81lnausklGMovasrar1sqdMt+GA54vvWo9MrWULBKG90qa+H3GriYoz7HDstvpy4uv/0vMmC+wHaoti2rp4FKGly2A+oGxJVjuunUseCWCsgU2snnAhEh7ih9qnIgXSiviivwXDHMtumvFMuPKGG9OxOqUmt8Gp5Gtq4k80EbcSn/z2Gq3uqRwPZoslsr3usdWqLaoHCqoCqPuvsWpLYtPuqU6udMqH0rfMs54s/Uoi0rBKANmvXmpVmqvmSIMqAEsUtnDkoDmqU4sUtlhKHvuuRErkQhSkuDMsvemAUidbB1korWgDOoTYEpkDIW3oQjcOkfyo1qpphDfSNaWUCgBSaVE2qXyp9uqiooweogpPGGueWmm3EWNhfGtl2n3qqd+hF2jyU24eqCosZmunoAzWQfgCP0vAcux61tokIcqUes0ev3quhuqiBjoICyosmcAyUPnYoKYsDQEA2os6phgDwqXa4mceoweuWMA5MBqlHADna4mxOsssoxsoeUxHp3HqQaUtgeq10t8cDADMdoq5Gu1apQeroIDQeo3IHt4pyiDFoswesCGuwerL4GoUrwept0ramyBOrO7I+0phmt/ktLYv1sooetvWuNssauAfWtoevpmpDUpjSCMksCeqFANfovRsrUMqhbgjUp9uqtorpQEyepYkrjUpievsspEcGuOrvOvoGk2GohdiSesceruP3YpAlABGeqyevUmpyeteYt3usXRwKeq7mtxOubOr+jLsWpY6rK4rIeshGuqGr+0sv4qvurB0oaGoh0saereZ2aesbOpGerCevaeuCsni0q6et+Uo+utmev/Z3dGq0mCRxCfut62oosoeerxOrRABUYLQ8UGNVn6moYNnEr1usMku9stB2vR8pE8pkPNtlOY2srDEeOSBGGxsv/ZwGeszUBOJU2aBglO6cCemsT4omes2wxoLjUmorED7uVauoYgC1qvYqo8tXkKBVHV6up6Ot6UglKpNqqEquGutjjRbNxZ5yOup+NEyqqirlgurwQMBsvpepqZEKxEd7BtOuLOv1AAaoFKllZRkiqr0upnRieqsxGWRqptqr5CC3OvPKv4Jizkq2+EVWp303Cqu4PgjzkeqvXOqgIkgTQwWmC0M2OsOLFAqqRusCqs9GpRmsePHpKCWev3us1Oz3orZerVMl8ipMHM1vkuFRLgBLeFm0klYHDkp9uvNeoNKre3GVuFW4sigG31B5aKlUH3otEiUdgE/Iqd+lterhwHAopSsodeorgHOACdetGuElIEKUrdOrEuvM9yyquZgBSgByquSxkIfCt/D9CWNku0SGvKvGkrjeoyqyZqqZ+gFYAChMrKrjetN9yEpx1bjvKq1eqKqv0qvTpFSmu2etd3hNzExuqDcwnErjKr6qvf7ysuuw2u3MUsk2lgE5K2VqrGqpocr64pE6rSMtKmsfPBppgKms+GtNGtDhn0rWQFk3GpvWr6MMPjVqetB0pBWG90rS8CMepPyswKBdusyPEPymxGqQlKV4D43k0izZesm6onCwgBVKGlAmvFkvTh3hwA+pXwWvkmt4GBMx02aBRwjUfESevLGsmeqAaGxeqrNGBkwKUjauoJes6uqJeoVyC4nVRxj6uvJeuNqoGOqpeqGOroi19KqNty7Oof7n+YF7Gsjnh81iNeqgyLam1NeqYMrl7QOVD0i3PUCxquzWjZetLet/OvWkF8UlKepLYp7mpc0vyereupNep6ADKQgONnRupm3Rj5RNhj9qqVeoTepH9lkkE0oj81CTpwy8E3KozeseqqzeoYurislzepChJDqseqsLeoChMZkk3KuQZk9OpRur1eo94w8lAMurreumPSlqoTKojOTzqoxMmaXQJuu5SI7erb2Po8G7euE6oVyt5EpVGr673NGpD4r+GsJmtnGqiMu/giqGsqeqner4Yp3GrduriYpMeuPGo/Wr+QuzGoDfgXYpfut9usdeI7kE2GReUos6rOOtUet4GDjknq+ms3AagCfwGuGrCUXisgSRJZdOIgHYjFfwFZOvE7n5uuLw2xGqCEoDcxlfGjuvMgBjuoVUupOQLGpWGr6cvDurReq2Goxep2isfeu9PDxevaupHKvfepuwWJetzm1Jesot36upWqsperWqupepIB3I+t0LiOOrA+rvIDqyr9cyQ+s3KhFeuzWnlouOOE54vibHCqvQ+uRusw+vw6uTFllUpbCHVKtbwOE+tUOWZc1c2uQqsZqqeqq2UBo+uTevo+tTesY+vDKuY+p7CmZKrY+vgMlbOp/rnXKq+Oo1mSLepYzm4+p6+p1evq3G4Pi/Oo9Ou1eoNOq7mqqUplUtweuWeoI+sb4qICrNePDKpEFShUOG+oQ+uYu2w+qreo/8FreuWPRxuuzqqk+ucIOberk+pi7UA9kU+vmZhU+teGoJmqHesHGpJmvU+tDEosgAnesH0qqeo06rM+uREo9uqbYufutDGoc+tU1CAMrqERYhQg2vf1kjutf0o0eySYssvNzYuDustoqLuGacpMAhyMuWGvFMsYCuhOoG2qK41vepemp2ir1asm+Q7cp94vl22IWoK5NyesNevweru+qhOoB8QZ+tNUuHWpPuvh+qhGsR+thGokWBnes9MufWvueSBeq1ovzVJ0UpiPEdgH8tMNyF8MHiguKfEeVKQipKcHcCEa2lkoFIVLEst5tNT0sa2n0Uo2svdGuj7CoQiFALBOthOuRAFO2qu2vR4su2tm2qGsCuevcdQzxkd+uO2pu2u/WrOOqtoo7cuG9Pdoq4zV94r6eu14XcVmcuoamvTuv+kpLuqBko8upzutnutqEvamvqKoLuo+arHiqfmtj+u+atCuqwmoruqGmqrurwmuiuoxkvAxHrutXisbusSuubusGEoomulniomtRYhomsWmvdSC7uujzRI2h7uo2mvYmoHutWEsQWspasKuvHurxaJr+qnurr+qoaRnusj+vZkpfmoXuqumqyAH2VgSoX94MGVmS+rgevucqWqJcWLGepu0Tvetemt2GuxeoDEXAgQNEjm6oIRxTWrjFR8wIXrBLl3xJiH30kWqksSBF0HvhtI3jjloMvwkQTowF2H4gH2ViqeOmDh0YstfGhIFyzlnavNevBqEXcjOOsdeq4YQecvhWiyuHe+v1evSmpbGvjFzbGt+Uo/+pn+oeGuY2lU+rpKxnGtVGqKmo1GpHGstGoBGvHGveitFAjPepWGv8GE/+vS+vGeoX+t5Gq5+rRWRmbEFFVzWhhIMRcKi5l01jFAIjkvIAD+sGyZQh4EnapF+rKeo8ZgNmvYeo1kvm9mzWjvau5Xk3mEzaqqUtjaviRgsNVUqql+OrNwk6LuvzqqUzkojku3MuX9mQHHcsDkJW4OB0pKxZh1wGkktGkPN0sEyq3epckiCkod43/Srjypl8O3KouGAPKtwp0W6MX/wIUrqCs88Q9ekm6s24hmUgF0pkgFmut1CrBpDH8GyjEm6r16pU3gy90F0o6jGjyr43mmJkm6uAYBmUlJGBNUqb0jtbL43mRdEm6tTCRmUjmdAXTKkEW80ttkjH8CLZEm6sR6BU3jSBHm0qGstuUiEBtAUh0NGgFAevzI8Ch8Dv6pLkvjFGUMr3asKOHRm0m6tGCBmUj9YDYMp7BDvIAaoExMtoDIE3niQA0BtyWv4wGoQBmUghEBKBqN5MKBv78p8yoE3nz6Em6rweBmUnOtEsIGlMoaBoPiB5il/apPyAXeUKEw8svVMrG4HgpUDeWdpF/ao74yctH/ZzwxGrks/SvpHCR0HzsoZDD7WJkBoA6rmBprappBm38vslR7ypE2ipaFFCuZyB/u37yt/ssQWHFsuoBrSmvRmsa7Mxmv46qtotQBpABpeGvSGv1El0+qgBv0+pgBtiMqXGp1Gr+xwKUB/+RBDTluqf4pBequYiIIqxQv/uqVYuBNCSossesPGrcetAEqLItT3iLdM/EsgAD0RnM6s22uhBp+NAQlDqEVByhTgCT6lMZFTuv+4MamozuoKuqzuqqKs8uv7+u8uvj+qQmr8usLutQmp6msv0gwmp+aoz+vCuqz+r3nmruqBatF9gL+oGKskq3Bao3isjOzmmrbut3isWmtMZFr+oOEu6yQb+oYBs2movitT+oJapQWqHutC+xHuqJBrHuuxaq5kr5Bu7+oFBr8qT7+rxBtLuuwWqH+uKxkn+tKMI7cpgILkfHQBvn+pemqoGGX+v5GpC4qtLCtLFnavQipEfAeYqbUUtBtTCSiEIDYu/+oiGpoBrF+r2eol+oOeqR+sXeskZ106rIGn06us+p1ACX5hc+s22rc+tKYqoGBlmufoD2iy8CpUmvUYvf6ltBpgerZGt9+u4kD1BqZ+uQerhfCemGNBurGtNBu83D5+ram1tBtOsqSfBtBpwCoIMHcrmD6NyotG+vKerPuvuBrd/WH0uoesOeq9MuG2vM+tG2oVmsfsswBhsosBuqvkUs+qRGpZmrIwD1skDBvXYvees62rNkvwEqSopnWXh3LzBu0XDZUovooIMDjBrcGo7csgXE1B3DvCQeuT4qjBpSXENEFemzZYAIcVeqqpZjNoHcZnTBon/S3BtAUlPcHlWuRXVJKGC6u3BocYXlWrsgCk8QresbGtIep64rABvB+ogBph+um4oGrnduUeBsKmv0+tycqb+S1Bplfw7coNewkvI0PEXBvuYqoGFZ+pYfA7coHDLmeq0YoLEUoWtqBCAkCp8ILBrsCqTdIFJknoszBudmGzBpKosoiqTdIGRPfnHghobcHzdPcrjghs2ev80vLBvIevPuvxYtM+t1BVd0nMEE/gEiAC6sHEfHDkvdGtR+reerOOtJcvzdLzSoXuht4tf0sFPOMbIm2uhetByjx+ueuHivIIfAcKpSsvdGtFVipkwKYuYhsAjLYhqHBqVYtwSzuBrUMtJmtDEonKRGOm6ISZKThGwTfH2mDRqjuku14XH1CxBr+fj+kumKrFBqvmrdWnuarzuo6msT+pPnk+arFBv6mq2K0z+vfmoZBpz+prutzTRJgGXFBBasJ8gSupBWvFaxGKtbutSuomKvSuq7sGWmuiA1mKu7uvLWrYmpgWub+pxavWEq8EBKuushsOmrxaPH1BOmunuswWtihsH+tFkpYw2OKCDB02+mhiq0ZNhipDivhit5UBzACRivC4RSENBQz6EKCZiwll8cwLjUxis65JgUydxId5zDQBw1guJQJisaCiveOfwJYZJkEOPIvfMApit7EVpiqd4HSN03QwKBKZ+iyqEZiopiOZit3s0CZkVp12MnZir48GMENMqmg5h5ir5ipY9isEKFivIBpFis3EPsELOBPFiqfIpnJwahsgmRlitHalhTgRAEMBwMcOViu3yjViotCUWQU1i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t94APh46mtx4QKut4ut0qGUutlWO9M6iutqEg658aut2ut4Z8IXQWPHRutk2twFQEr/C2t01qd2277akGtmiFsGtu2tq7+mOtx2t/bo0qo1+YBnQOGt3rQd2t9iAFGtr2tygaH2tkDS8ut7Otyut2PHGoUNZ8V4AYuthut67OJutjetzOtretvet3etnetg+t4+t3utnetsv2nCoK10Ietyr1nqi62tyiF22t/et+LS6etkASMetxMUGGthet12tpet3rQD2tpPW/P29eth/uDGt42c0KSKXqq+t6VG4HajcBboGU+tjWiyBtyjNmBtm8I7LSejNx4QaOtg8a5Bt3xSPuShHa2jN3Waa7OfutvvIaQvJ+thay0etm2t8Gtqet32t7+tp2t9M6l2t9iAN2toBtletz2tjUEOetrBth2t7+tgg6wPahGt9uALFcJRKhGtuKAeQAWhgKCYOKAfht3iaBGtw+0Dhts+t1ut7et+uty+tx4QLutq+tyQAbuthBt8Bt4mt8+tt2SBRt83+uutsoA2mtukAJZ8e+tmpIshtq2t2gR4et+ue2Ot4CQd4GAAkv3agAkn/ALna94KGWt0vauWt4FU+KAWWtuqgVCANw6pxtg2tgI6/Wt40s+QALyc/QIEpAvxtlxtpJU73a9TxKCYLxtkJtw2t1xt40stxtuqgXygp6t+atloaSht8/naRt+fhyxtvIAFANd4GC8KM7U6g64QIKos+AITmt63ayI614QGQIQptgpt/JtzmtkjCsptxSA5lG+pw3atvA6hat1Jt732ZutzbbPDYDJQPCpQ+J74wTQSnt16ITCvy2agr9we28PDYfR8Wa4VcxLAllmIeWQUHWRnWKecqx04jN5PsWcSr+t4xShpt9htjHavIATLSNKGZuM9TxCJwJMAAPUmwIZz8yHMBF88n/WdEeH/LaXKos2zgtxthAIc7UpcozgNPUQdSi1WtmWU6GweH/KV0LoGMzIg3Upco06mOhgHr8uZBwptvAIWDKbgIDLSd4Kc5tr/wKos4gIYFt3w68n/MKUVht/jq0+UnjN9RtpwS4Gt6ITNgoDnpKCQbpt0fQdMU5nDCNSpZtvLGFZtv+t4CQPZtr/ELZtpwvGA1c/nVyOiJt+H/XlgNFQY0suCAbgAAPU+1UR0qHVWIQITMRCd8klt3lgGlt40slesavIdT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wO53k85LjttXEL7nj9z/O5z484JftrPPE7njdzsKx0/c4Uv6UvPa47zLzm+54ts+dgA0PPE7nCl/Sx5zY89W2dtXF87nj9zyl58XQ7auJe3PFL+5dz+B5wpf2sedXC3EfzF9z0V50C84FEsBwXq7ncl/Nu5/Y85kv5MPPJ47Yf1mS/oE8/lecX3PIAA3tzru5z3c+RKd/jmGHn8zz2e5zHc+xKf3YWU3nkAAEJ5/A86+2fvABoHnzjzq1+87AFeefePP83n+8dmH8xfc5DucZPOVrHdJTrWRAs85jufFPPAnn/dzvO5zHc/YefWAxbjr81dq+5yHc81efu+XgxzETz8+54nc8MeeBvPC+73rz9HZ87AGHeeV93cdn91j94AHC84Red2vPkXnhjzwnZ8fBfzuduPPK7nXtzmS/rs84yeftiWQ7nTTz1d5+u8+gYcTu06QAZjzpS/mHc8jueM7P39Grtz+x5zU87kv4X3OjHnqk53TJ+/c+zud53Pk7nWdzrd52c8752eoIXXbnWdz+O5wc85feeVvORdnJNjmH82Xc4zudSX8RHnz7zxS/q7c/9KfOwB3bnIdz9253nc+7ucvvOS3nq4t0Cc4B8+A+eQABFnnGdz5Z5+Iw9MecSPOgArzCdrD55Xc/6efvPOMynb/d94AHh8+TueP3Oy7nGTzyWxyR84Uv4X3OgHnarzjV5zbs+dgCkfP9XnDrz0D++InbpADavOW7n+dzju5xa85vedKDX2yn4C5zj5wXc9Kede3OwHnVtjlCWyIDbredKPPb7nhdzkO56J85vech7OwP7rjz2e517c5k+c8fOxPnPtjwxO1U86LufYvPZPn8nzzJh7OU+0+cyX9dPn6nzm95yIFaRefYvO0Pnyzzsph88s4qYe5vPJnnrdzyAAFJfzkv6YvPM3nIbznh5+c84Uv6OPPZHnl5Tg950pf1/udSf2IpLhDzi952586kv48PPyHnlDz6h59h88mYd0P3z3nNTz4N52F88gABJvO0hrXgVwJ5zg854efOfPXPnI9zrz50Xc52YcmD2WvzoHzi551u8/0ec3vOR7HhDzwr54M85sHtdA3KzzgLzsu5yI89+eclPOinntTz0p55S84alvpSXXbnXzzn553884VecAvO6nnlLzzfZ5yBeLueAfPinnonztd5/M88secevPGKnES50b50B84TucTfOK7nMjz9D53i8+4qeHA3nPnCl/Vz56J88SedFf2vPnNdztu55t8+zee5D3nYA+3z2h5//Y4GTtvS2gHHGa1jSpyihY7udhfPCPn/wN6BRkN8+8eeXPPbvnlbzkYa8nc5u+dPfOk7nXbz6Bx80uYvudx3PzHnSdzxl570PYdOtIHOphrOBz8Vh3gc9GXPbD2aDnVE1ug5xHLaVYeIjOfBc2jj2zC/nc5DudZ3PHPnrtzlN5/qw5xHsl3O9nnK7zou53E872qenLm1XnNdz2+55i8/leeTPP7WHuPznz57Ic+eXNefPz7nxTzu6p9wHWfav0/PK7nW9zsX+7vc4iedz3ONDnzcl3e5+6ha5+epvP9DnI2Fzu57fc+GecZPPizrJPzwN57w882eeXPOM7nidz5t5wqPdHecsPP7nnEbzk95xODbpABl3PgPnpbDpw56URdXecjfOaPn5jz3J58pfx/uckjXvzsWDzg755qnYB2ex3P47n5bz8X5/qnc7Ct0gBA7ns9z4p57Hc8buf3PPk7n/dzxO55S88HCsdfOinnYzj9+5xS86mcdvnX87nCl/EO59nc8gACN3OM7navzmBS0e88Uv7WvO8jndIANd58i88POvOfPB7ncY9mS/mXc81eeEKWZL+yLzyh5248+VeeR/3OdzIfzsP5+j84q+cNHOYMLjjz+O5248+w+dvOOkHnWdzk559I85p+c/OOLPnC9z1257+86owvfnYW/nN9zmu522ud+Sst/PG7nhrzyY5yshbx+eP3OW/nsfzy155Q87kv4x3OAvniLj6O55a88ZeeFp26QAVzz8h5y284a/POwBkHnpdzjJ5w307DudyX9v7navz6tOxfc+TucKX8Y7nGTzg/++8ABkee0fONx7dY15H58qFaLefvPOI/nFDzpS/qk85k+dt3OU7nCdzlN59YAF+ee33OM/nc9z9up8pw87qcyPPLnn1zzyu57j86AecKX9Unnldzht5z/c6BOe8uOdfnEKtqQR4AC/PefAPOcHnIALrz5/Hc+O+eQAvjfnOdzvFAAs86Wee33OGXn9/zx+5w/c93TuGuPWNzgALq550pfxueea/O8Hn0vzrZ5xfc5D+cd3OUAX/dz/O52r89tccXp2ZXwJdztd5/s89due0fO27nPHzw/54Vw4pOcQTXTnL5AL4AF0f8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8vueogvR/nITz8F5zlE6+3tBFXa3n9bzrAF5Ao8fusDIu0fna9z84F+Jc5xmuf3WqwXNYLxO54S89GecyX8QQXlIzse89e85SBcxQvjIX50Lhe50M854ef0Av3EX/Tzj8FyXc5uedoIvW7nGdzvkZ3veeqBe7fOakX9QLp/59Pc8LudKX8G/nmsL9252NC4LudHAunPnD9z50F1sC+KBfZPOFL+Jzz5O5yci4JhcpvPTAAp0Llh50pf2sAD+IvK7n2Lzi+50Qi//hc0fOw7n5ILn5534i6Bhdx3OI7ndgL1256K890hdHIvlwX3CLyAF5Ei49Bf4IvannNdz6eF4f8/RRc+KPjXz57zrUF4+86zucX3ODIX9QLmS/t4i/q+dUPOXQXgYzoey95g5wRcKX9r4XeMT0Cu/STa9ec9AvK7n/bzju55S84TGedKPcfn8oL5kFx+85VBf4/OZfn9yLih50LC7OecKAvOAX59zm+59k897Be6XPqGLnILqVF4T84aUeI/nV7ne3zzZF0b88bedixO1vooqLvt5xgC78Bccovv/nVdz925/2M6Y+c5fPTUXxkLmZR73vcWBe7Au2gXj9zit51/c+LucyX82gXaCLwZ5yc85kv74slxz6vFd/ey3rE7L6smouNxnbaDne5yai8rucBouCz6/8LpAF8f8/ehdSwvAwXjsT0R6zfZdw3POvPAgXbQLo4F+h87cBc4POtXb0CjSqF6Xc5+UcPkWiIXTnz+V56p86guclovm3n9zzqS/uWi+/+eKwvyHnaPzsxF4885fBd/PPFL+STz+yu1nNbuhcHIunfnXlzo753w864ee9ouX0H65T52ADBC64efLfPUJn0CjF2FwHC7u+e+V2UoXo0LrN25w8/gedD3P0D7bcT5l5/4C5OedBAvzIXCdzyyFyoAHm+fAABYnnwAAch5wxM44+d7PPiwXYXzrkF5AAH/Bfc/OSMHXd5qS/jIi5JhdiPPnkX63zupF+984zufRXPC7nSqjuK5wvC9m+c3fOvPnbdz3mF5K8+ApuSQv9/n+TF0T55X854ecKPPk7nQCLp+JxofdbBenAuQYXe6LsuFyZM+MPuEPOH3nc4L+55/n89vufKAB5vnjkz94AFJfzd+cZPPYFrooLzK5/S86P+f3/P3nnF7z1/5wC841eePPP9HnfQLg55yui+TU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Ll8l2YK+jHcv0vGffpb3g4l85q/J98MrO/2Lf5LhdXwx19mpcuUvMWXrVn+Bl+eS/JJfIsuOrPZLL/s39j78EJdLh3gtXr5L3n35i5cs/e2i/EHfrzHvH37IS7x9/OfvCffc73mjiy+S9J9/kku1iXS736jV9T76OTfvAA6ffDPvkcl5u97DF8s++zBX0LHjn39b75Mh+Q5Puff4XL4332pq9v/MC+/5eXpnX3S/nW75ve9qtXy2Xkvv26zxwr50peM++X3vivvjU329Z5o4upW/kKX7t9vH37Sx9198lfuDff3pLo332kL4bFdU++u6XMH3uTl+jK7MFfwffTyXdvvtYl/V+6Y1cjkuciXrvvlCXyUL699+dfvZqXHCrmlNy/S5/19ZdeaOL/mrkv3+FD61ycR+/C/fkUPqEZKiu06F/upuehf+7dwAAIgIgAAGgRAAAHAgGseo7ngAAQgRAAAAAiAAB6BEAAAoCIAAC4EQAANgIgAAXgRAAAjAgj+/RuvIjF5f32v78H99D+/AAAeAiAAAoBDn9+AAB2BD79+AAAmBEAACoCFP78AABsCH378P99H+/3WP7wACf38P78AACACIAAG4Ec/34v76X9+AAA+BBX9/3++VPvhUdif34AAAYEdf3xhQ7FSscGEx/fM/vlf34AADQEQAADwIgAAEARj/fQAfkAPxKS+onMQB/oA/8AfxAP8AH4M+/PrOp3LC/vn/30f7/P9+AABaBCn99/++62P0CjSAPwP74n99z+/AAAYAjX++h/fO/vt6H3SADwD+/+/aA/V/v+gP8P77xF90gAKA/VAfogPyQH8QedQB/X/fVAf0G55f76v9+AABQBCv99IB+SyXIgf8QPwwH7d/eAABMBFf9+AABIBDn98gB+JPr3Afuf38/76v99SdXYA/d/vwclwoH+UD9D++x/fffvwAP83tf0D8qB/pA/WgfyR5/cJbH9/n++YA/ugf9UX1lQ7MD9D+/bA/gAABAQ5/fodnpwP6IH6ED83kuBdXzsAXf3yv79398f++5A/X/vqf303+7798IB+8A/w/v4IP6EH9Apc683RA/A/v3f38P7/399f+/CA/qGbsf36IH6X9/z++QA/f4F94AH375X98D++EA/R/vt/35kH/cD95fe8g/BQf4/34AAFwEYgPwgH5AD8FTu5A/MAfr/3y/75X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";const {react, reactDOM, excalidrawLib} = window.eval.call(window, `(function() {${LZString.decompressFromBase64(EXCALIDRAW_PACKAGES)};return {react:React, reactDOM:ReactDOM, excalidrawLib: ExcalidrawLib};})();`);const PLUGIN_VERSION="1.8.4";function _interopNamespace(e){if(e&&e.__esModule)return e;var A=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),A.default=e,Object.freeze(A)}var obsidian_module__namespace=_interopNamespace(obsidian_module),React__namespace=_interopNamespace(React);let random$1=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,A,t)=>{let n=(2<{let r="";for(;;){let A=t(i),s=i;for(;s--;)if(r+=e[A[s]&n]||"",r.length===a)return r}}},customAlphabet=(e,A=21)=>customRandom(e,A,random$1),nanoid$1=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,A)=>e+((A&=63)<36?A.toString(36):A<62?(A-26).toString(36).toUpperCase():A>62?"-":"_")),"");function JSON_parse(e){return JSON.parse(e.replaceAll("[","["))}const isDarwin=/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),CTRL_OR_CMD=isDarwin?"metaKey":"ctrlKey",nanoid=customAlphabet("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",8),KEYCODE={ESC:27},PLUGIN_ID="obsidian-excalidraw-plugin",SCRIPT_INSTALL_CODEBLOCK="excalidraw-script-install",SCRIPT_INSTALL_FOLDER="Downloaded",fileid=customAlphabet("1234567890abcdef",40),REG_LINKINDEX_INVALIDCHARS=/[<>:"\\|?*#]/g,REG_BLOCK_REF_CLEAN=/[!"#$%&()*+,.:;<=>?@^`{|}~\/\[\]\\]/g,IMAGE_TYPES=["jpeg","jpg","png","gif","svg","webp","bmp","ico"],EXPORT_TYPES=["svg","dark.svg","light.svg","png","dark.png","light.png"],MAX_IMAGE_SIZE=500,FRONTMATTER_KEY="excalidraw-plugin",FRONTMATTER_KEY_EXPORT_TRANSPARENT="excalidraw-export-transparent",FRONTMATTER_KEY_EXPORT_DARK="excalidraw-export-dark",FRONTMATTER_KEY_EXPORT_SVGPADDING="excalidraw-export-svgpadding",FRONTMATTER_KEY_EXPORT_PADDING="excalidraw-export-padding",FRONTMATTER_KEY_EXPORT_PNGSCALE="excalidraw-export-pngscale",FRONTMATTER_KEY_CUSTOM_PREFIX="excalidraw-link-prefix",FRONTMATTER_KEY_CUSTOM_URL_PREFIX="excalidraw-url-prefix",FRONTMATTER_KEY_CUSTOM_LINK_BRACKETS="excalidraw-link-brackets",FRONTMATTER_KEY_ONLOAD_SCRIPT="excalidraw-onload-script",FRONTMATTER_KEY_LINKBUTTON_OPACITY="excalidraw-linkbutton-opacity",FRONTMATTER_KEY_DEFAULT_MODE="excalidraw-default-mode",FRONTMATTER_KEY_FONT="excalidraw-font",FRONTMATTER_KEY_FONTCOLOR="excalidraw-font-color",FRONTMATTER_KEY_BORDERCOLOR="excalidraw-border-color",FRONTMATTER_KEY_MD_STYLE="excalidraw-css",FRONTMATTER_KEY_AUTOEXPORT="excalidraw-autoexport",LOCAL_PROTOCOL="md://",VIEW_TYPE_EXCALIDRAW="excalidraw",ICON_NAME="excalidraw-icon",RERENDER_EVENT="excalidraw-embed-rerender",BLANK_DRAWING='{"type":"excalidraw","version":2,"source":"https://excalidraw.com","elements":[],"appState":{"gridSize":null,"viewBackgroundColor":"#ffffff"}}',DARK_BLANK_DRAWING='{"type":"excalidraw","version":2,"source":"https://excalidraw.com","elements":[],"appState":{"theme":"dark","gridSize":null,"viewBackgroundColor":"#ffffff"}}',FRONTMATTER=["---","","excalidraw-plugin: parsed","tags: [excalidraw]","","---","==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==","",""].join("\n"),EMPTY_MESSAGE="Hit enter to create a new drawing",TEXT_DISPLAY_PARSED_ICON_NAME="quote-glyph",TEXT_DISPLAY_RAW_ICON_NAME="presentation",FULLSCREEN_ICON_NAME="fullscreen",SCRIPTENGINE_ICON_NAME="ScriptEngine",COLOR_NAMES=new Map;COLOR_NAMES.set("aliceblue","#f0f8ff"),COLOR_NAMES.set("antiquewhite","#faebd7"),COLOR_NAMES.set("aqua","#00ffff"),COLOR_NAMES.set("aquamarine","#7fffd4"),COLOR_NAMES.set("azure","#f0ffff"),COLOR_NAMES.set("beige","#f5f5dc"),COLOR_NAMES.set("bisque","#ffe4c4"),COLOR_NAMES.set("black","#000000"),COLOR_NAMES.set("blanchedalmond","#ffebcd"),COLOR_NAMES.set("blue","#0000ff"),COLOR_NAMES.set("blueviolet","#8a2be2"),COLOR_NAMES.set("brown","#a52a2a"),COLOR_NAMES.set("burlywood","#deb887"),COLOR_NAMES.set("cadetblue","#5f9ea0"),COLOR_NAMES.set("chartreuse","#7fff00"),COLOR_NAMES.set("chocolate","#d2691e"),COLOR_NAMES.set("coral","#ff7f50"),COLOR_NAMES.set("cornflowerblue","#6495ed"),COLOR_NAMES.set("cornsilk","#fff8dc"),COLOR_NAMES.set("crimson","#dc143c"),COLOR_NAMES.set("cyan","#00ffff"),COLOR_NAMES.set("darkblue","#00008b"),COLOR_NAMES.set("darkcyan","#008b8b"),COLOR_NAMES.set("darkgoldenrod","#b8860b"),COLOR_NAMES.set("darkgray","#a9a9a9"),COLOR_NAMES.set("darkgreen","#006400"),COLOR_NAMES.set("darkkhaki","#bdb76b"),COLOR_NAMES.set("darkmagenta","#8b008b"),COLOR_NAMES.set("darkolivegreen","#556b2f"),COLOR_NAMES.set("darkorange","#ff8c00"),COLOR_NAMES.set("darkorchid","#9932cc"),COLOR_NAMES.set("darkred","#8b0000"),COLOR_NAMES.set("darksalmon","#e9967a"),COLOR_NAMES.set("darkseagreen","#8fbc8f"),COLOR_NAMES.set("darkslateblue","#483d8b"),COLOR_NAMES.set("darkslategray","#2f4f4f"),COLOR_NAMES.set("darkturquoise","#00ced1"),COLOR_NAMES.set("darkviolet","#9400d3"),COLOR_NAMES.set("deeppink","#ff1493"),COLOR_NAMES.set("deepskyblue","#00bfff"),COLOR_NAMES.set("dimgray","#696969"),COLOR_NAMES.set("dodgerblue","#1e90ff"),COLOR_NAMES.set("firebrick","#b22222"),COLOR_NAMES.set("floralwhite","#fffaf0"),COLOR_NAMES.set("forestgreen","#228b22"),COLOR_NAMES.set("fuchsia","#ff00ff"),COLOR_NAMES.set("gainsboro","#dcdcdc"),COLOR_NAMES.set("ghostwhite","#f8f8ff"),COLOR_NAMES.set("gold","#ffd700"),COLOR_NAMES.set("goldenrod","#daa520"),COLOR_NAMES.set("gray","#808080"),COLOR_NAMES.set("green","#008000"),COLOR_NAMES.set("greenyellow","#adff2f"),COLOR_NAMES.set("honeydew","#f0fff0"),COLOR_NAMES.set("hotpink","#ff69b4"),COLOR_NAMES.set("indianred","#cd5c5c"),COLOR_NAMES.set("indigo","#4b0082"),COLOR_NAMES.set("ivory","#fffff0"),COLOR_NAMES.set("khaki","#f0e68c"),COLOR_NAMES.set("lavender","#e6e6fa"),COLOR_NAMES.set("lavenderblush","#fff0f5"),COLOR_NAMES.set("lawngreen","#7cfc00"),COLOR_NAMES.set("lemonchiffon","#fffacd"),COLOR_NAMES.set("lightblue","#add8e6"),COLOR_NAMES.set("lightcoral","#f08080"),COLOR_NAMES.set("lightcyan","#e0ffff"),COLOR_NAMES.set("lightgoldenrodyellow","#fafad2"),COLOR_NAMES.set("lightgrey","#d3d3d3"),COLOR_NAMES.set("lightgreen","#90ee90"),COLOR_NAMES.set("lightpink","#ffb6c1"),COLOR_NAMES.set("lightsalmon","#ffa07a"),COLOR_NAMES.set("lightseagreen","#20b2aa"),COLOR_NAMES.set("lightskyblue","#87cefa"),COLOR_NAMES.set("lightslategray","#778899"),COLOR_NAMES.set("lightsteelblue","#b0c4de"),COLOR_NAMES.set("lightyellow","#ffffe0"),COLOR_NAMES.set("lime","#00ff00"),COLOR_NAMES.set("limegreen","#32cd32"),COLOR_NAMES.set("linen","#faf0e6"),COLOR_NAMES.set("magenta","#ff00ff"),COLOR_NAMES.set("maroon","#800000"),COLOR_NAMES.set("mediumaquamarine","#66cdaa"),COLOR_NAMES.set("mediumblue","#0000cd"),COLOR_NAMES.set("mediumorchid","#ba55d3"),COLOR_NAMES.set("mediumpurple","#9370d8"),COLOR_NAMES.set("mediumseagreen","#3cb371"),COLOR_NAMES.set("mediumslateblue","#7b68ee"),COLOR_NAMES.set("mediumspringgreen","#00fa9a"),COLOR_NAMES.set("mediumturquoise","#48d1cc"),COLOR_NAMES.set("mediumvioletred","#c71585"),COLOR_NAMES.set("midnightblue","#191970"),COLOR_NAMES.set("mintcream","#f5fffa"),COLOR_NAMES.set("mistyrose","#ffe4e1"),COLOR_NAMES.set("moccasin","#ffe4b5"),COLOR_NAMES.set("navajowhite","#ffdead"),COLOR_NAMES.set("navy","#000080"),COLOR_NAMES.set("oldlace","#fdf5e6"),COLOR_NAMES.set("olive","#808000"),COLOR_NAMES.set("olivedrab","#6b8e23"),COLOR_NAMES.set("orange","#ffa500"),COLOR_NAMES.set("orangered","#ff4500"),COLOR_NAMES.set("orchid","#da70d6"),COLOR_NAMES.set("palegoldenrod","#eee8aa"),COLOR_NAMES.set("palegreen","#98fb98"),COLOR_NAMES.set("paleturquoise","#afeeee"),COLOR_NAMES.set("palevioletred","#d87093"),COLOR_NAMES.set("papayawhip","#ffefd5"),COLOR_NAMES.set("peachpuff","#ffdab9"),COLOR_NAMES.set("peru","#cd853f"),COLOR_NAMES.set("pink","#ffc0cb"),COLOR_NAMES.set("plum","#dda0dd"),COLOR_NAMES.set("powderblue","#b0e0e6"),COLOR_NAMES.set("purple","#800080"),COLOR_NAMES.set("rebeccapurple","#663399"),COLOR_NAMES.set("red","#ff0000"),COLOR_NAMES.set("rosybrown","#bc8f8f"),COLOR_NAMES.set("royalblue","#4169e1"),COLOR_NAMES.set("saddlebrown","#8b4513"),COLOR_NAMES.set("salmon","#fa8072"),COLOR_NAMES.set("sandybrown","#f4a460"),COLOR_NAMES.set("seagreen","#2e8b57"),COLOR_NAMES.set("seashell","#fff5ee"),COLOR_NAMES.set("sienna","#a0522d"),COLOR_NAMES.set("silver","#c0c0c0"),COLOR_NAMES.set("skyblue","#87ceeb"),COLOR_NAMES.set("slateblue","#6a5acd"),COLOR_NAMES.set("slategray","#708090"),COLOR_NAMES.set("snow","#fffafa"),COLOR_NAMES.set("springgreen","#00ff7f"),COLOR_NAMES.set("steelblue","#4682b4"),COLOR_NAMES.set("tan","#d2b48c"),COLOR_NAMES.set("teal","#008080"),COLOR_NAMES.set("thistle","#d8bfd8"),COLOR_NAMES.set("tomato","#ff6347"),COLOR_NAMES.set("turquoise","#40e0d0"),COLOR_NAMES.set("violet","#ee82ee"),COLOR_NAMES.set("wheat","#f5deb3"),COLOR_NAMES.set("white","#ffffff"),COLOR_NAMES.set("whitesmoke","#f5f5f5"),COLOR_NAMES.set("yellow","#ffff00"),COLOR_NAMES.set("yellowgreen","#9acd32");const DEFAULT_MD_EMBED_CSS='.snw-reference{display: none;}.excalidraw-md-host{padding:0px 10px}.excalidraw-md-footer{height:5px}foreignObject{background-color:transparent}p{display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;color:inherit}table,tr,th,td{color:inherit;border:1px solid;border-collapse:collapse;padding:3px}th{font-weight:bold;border-bottom:double;background-color:silver}.copy-code-button{display:none}code[class*=language-],pre[class*=language-]{color:#393a34;font-family:"Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;font-size:.9em;line-height:1.2em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre>code[class*=language-]{font-size:1em}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#C1DEF1}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#C1DEF1}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background-color:#0000001a}:not(pre)>code[class*=language-]{padding:.2em;padding-top:1px;padding-bottom:1px;background:#f8f8f8;border:1px solid #dddddd}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:green;font-style:italic}.token.namespace{opacity:.7}.token.string{color:#a31515}.token.punctuation,.token.operator{color:#393a34}.token.url,.token.symbol,.token.number,.token.boolean,.token.variable,.token.constant,.token.inserted{color:#36acaa}.token.atrule,.token.keyword,.token.attr-value,.language-autohotkey .token.selector,.language-json .token.boolean,.language-json .token.number,code[class*=language-css]{color:#00f}.token.function{color:#393a34}.token.deleted,.language-autohotkey .token.tag{color:#9a050f}.token.selector,.language-autohotkey .token.keyword{color:#00009f}.token.important{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.class-name,.language-json .token.property{color:#2b91af}.token.tag,.token.selector{color:maroon}.token.attr-name,.token.property,.token.regex,.token.entity{color:red}.token.directive.tag .tag{background:#ffff00;color:#393a34}.line-numbers.line-numbers .line-numbers-rows{border-right-color:#a5a5a5}.line-numbers .line-numbers-rows>span:before{color:#2b91af}.line-highlight.line-highlight{background:rgba(193,222,241,.2);background:-webkit-linear-gradient(left,rgba(193,222,241,.2) 70%,rgba(221,222,241,0));background:linear-gradient(to right,rgba(193,222,241,.2) 70%,rgba(221,222,241,0))}blockquote{ font-style:italic;background-color:rgb(46,43,42,0.1);margin:0;margin-left:1em;border-radius:0 4px 4px 0;border:1px solid hsl(0,80%,32%);border-left-width:8px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;padding:10px 20px;margin-inline-start:30px;margin-inline-end:30px;}',SCRIPTENGINE_ICON='',DISK_ICON_NAME="save",PNG_ICON_NAME="save-png",PNG_ICON='',SVG_ICON_NAME="save-svg",SVG_ICON='',EXCALIDRAW_ICON='',VIRGIL_DATAURL="data:application/font-woff;charset=utf-8;base64,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",VIRGIL_FONT=` @font-face {font-family: "Virgil";src: url("${VIRGIL_DATAURL}") format("woff2");}`,CASCADIA_FONT=' @font-face {font-family: "Cascadia";src: url("data:application/font-woff;charset=utf-8;base64,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XVtdpV2uXdBeAV4OXmBecl6GXpteyl74X1Vfsl/PX+xgDWAtYDVgPWBQYGNga2B9YIZgj2CcYKlgtmDLYOFg7GElYVthfmGgYa1hwmHdYgNiN2JVYoli0GL6Yzpjc2PbZINkrGUYZUBlTWVeZaNl8GX9Zi9mPGZNZrdm/mdPZ59nq2e4Z8hoAWhDaE9oW2hoaMto12jnaPNo/2mBaipqmGqlarFrRWtSa79sG2wnbFRskGzBbM5s32z7bQ5tF20fbR9tH20fbX9tzm4ebp9u+W9jb75wGnBgcKRw1HEucZRx1nIxcoly1HMHc1Nzm3P+dEJ0rXTvdR11YXWIdcl2LHZrdnN2e3aidqp2zHbwdwd3LHc/d213qHfGd/14JHhLeHt4rnjWeON5EnkpeUd5nHnBefJ5+noCeiV6T3pyenp6hXqcewR7kXu5e+R8Dnw3fHF8qnztfPp9B30UfSF9Ln07fUh9VX1ifW99fH2JfZZ9o32wfb19yn3YfeZ9834Bfg5+Hn4yfkJ+U35hfnd+h37Vf2iAj4CrgNeBDYEzgVmBgIGmgbmBzYH4gh2CUoKHgr2C84M1g/iEM4SIhK6Ey4T9hR6FQIVbhXaFiYWcha+FwoXSheuGAoYZhjCGR4Zoho+GnYazhsGGzobjhviHBYcah0yHaIgsiE6IcIi1iNuJA4lciWqJgImViaqJvYnRie6KDIosikyKbIqBio+KpIqyir+KzIrZiueK+4sPiySLOYtdi3GLhIuRi5+Ls4vIi9aL44vxi/+MFIwojD2MUoxfjGyMeYyFjJiMq4y/jNKM840NjSeNO41bjXSNjo2ijc6N7o4PjieOPY5TjmaOd46Njp6OtI7NjuGO8o8JjxqPMY9Lj2WPe4+Rj6aPvI/Kj96P75AAkA6QHJAukE6QdJCCkJ6QvJDKkN6Q75ECkRORIZE7kU+RY5F+kZSRqZHCkdiR7pIIkiSSQJJckniSlJK3ksiS2JLrkwCTDpMhkzKTQ5NQk12TcJOMk6+TvJPVk/GT/5QSlCSUNJRElFKUa5R+lJGUrJTClNiU8ZUHlR2VN5VTlWqVf5WUla2VwJXWleaV/JYNlieWOpZQlmCWdpaHlqCWtJbJluyXBZcflziXTJdgl3qXjpeil8WX3Zf1mGqYsZkFmTmZg5mvmcaZ5Zpamr6bHZtFm7icHZyAnN6dG52E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") format("woff2");}';class Random{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},lzString={exports:{}};function splitFolderAndFilename(e){const A=e.lastIndexOf("/"),t=-1==A?e:e.substring(A+1);return{folderpath:obsidian_module.normalizePath(e.substring(0,A)),filename:t,basename:t.replace(/\.[^/.]+$/,"")}}function download(e,A,t){const n=document.createElement("a");n.setAttribute("href",(e?`${e},`:"")+A),n.setAttribute("download",t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}function getIMGFilename(e,A){return`${e.substring(0,e.lastIndexOf("."))}.${A}`}function getNewUniqueFilepath(e,A,t){let n=obsidian_module.normalizePath(`${t}/${A}`),i=e.getAbstractFileByPath(n),a=0;const r=A.endsWith(".excalidraw.md")?".excalidraw.md":A.slice(A.lastIndexOf("."));for(;i;)n=obsidian_module.normalizePath(`${t}/${A.slice(0,A.lastIndexOf(r))}_${a}${r}`),a++,i=e.getAbstractFileByPath(n);return n}function getDrawingFilename(e){return e.drawingFilenamePrefix+(""!==e.drawingFilenameDateTime?window.moment().format(e.drawingFilenameDateTime):"")+(e.compatibilityMode?".excalidraw":e.useExcalidrawExtension?".excalidraw.md":".md")}function getEmbedFilename(e,A){return(A.drawingEmbedPrefixWithFilename?e:"")+A.drawingFilnameEmbedPostfix+(""!==A.drawingFilenameDateTime?window.moment().format(A.drawingFilenameDateTime):"")+(A.compatibilityMode?".excalidraw":A.useExcalidrawExtension?".excalidraw.md":".md")}async function checkAndCreateFolder(e){const A=app.vault;e=obsidian_module.normalizePath(e);const t=A.getAbstractFileByPathInsensitive(e);t&&t instanceof obsidian_module.TFolder||(t&&t instanceof obsidian_module.TFile&&new obsidian_module.Notice(`The folder cannot be created because it already exists as a file: ${e}.`),await A.createFolder(e))}!function(e){var A=function(){var e=String.fromCharCode,A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function i(e,A){if(!n[e]){n[e]={};for(var t=0;t>>8,t[2*n+1]=r%256}return t},decompressFromUint8Array:function(A){if(null==A)return a.decompress(A);for(var t=new Array(A.length/2),n=0,i=t.length;n>=1}else{for(i=1,n=0;n>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(i=r[c],n=0;n>=1;0==--d&&(d=Math.pow(2,u),u++),r[l]=h++,c=String(o)}if(""!==c){if(Object.prototype.hasOwnProperty.call(s,c)){if(c.charCodeAt(0)<256){for(n=0;n>=1}else{for(i=1,n=0;n>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(i=r[c],n=0;n>=1;0==--d&&(d=Math.pow(2,u),u++)}for(i=2,n=0;n>=1;for(;;){if(p<<=1,w==A-1){g.push(t(p));break}w++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(A){return e.charCodeAt(A)}))},_decompress:function(A,t,n){var i,a,r,s,o,l,c,d=[],h=4,u=4,g=3,p="",w=[],m={val:n(0),position:t,index:1};for(i=0;i<3;i+=1)d[i]=i;for(r=0,o=Math.pow(2,2),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;switch(r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 2:return""}for(d[3]=c,a=c,w.push(c);;){if(m.index>A)return"";for(r=0,o=Math.pow(2,g),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;switch(c=r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=t,m.val=n(m.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 2:return w.join("")}if(0==h&&(h=Math.pow(2,g),g++),d[c])p=d[c];else{if(c!==u)return null;p=a+a.charAt(0)}w.push(p),d[u++]=a+p.charAt(0),a=p,0==--h&&(h=Math.pow(2,g),g++)}}};return a}();null!=e&&(e.exports=A)}(lzString);const{exportToSvg:exportToSvg,exportToBlob:exportToBlob}=excalidrawLib;let versionUpdateChecked=!1;const checkExcalidrawVersion=async e=>{if(!versionUpdateChecked){versionUpdateChecked=!0;try{const e=async()=>JSON.parse(await obsidian_module.request({url:"https://api.github.com/repos/zsviczian/obsidian-excalidraw-plugin/releases?per_page=5&page=1"})),A=(await e()).map((e=>({version:e.tag_name,published:new Date(e.published_at)}))).filter((e=>e.version.match(/^\d+\.\d+\.\d+$/))).sort(((e,A)=>A.published-e.published))[0].version;isVersionNewerThanOther(A,PLUGIN_VERSION)&&new obsidian_module.Notice(`A newer version of Excalidraw is available in Community Plugins.\n\nYou are using ${PLUGIN_VERSION}.\nThe latest is ${A}`)}catch(e){errorlog({where:"Utils/checkExcalidrawVersion",error:e})}setTimeout((()=>versionUpdateChecked=!1),288e5)}};function wrapTextAtCharLength(e,A,t=!1,n=0){if(!A)return e;let i="";if(t){for(const t of e.split("\n")){const e=t.match(new RegExp(`(.){1,${A}}`,"g"));i+=e?`${e.join("\n")}\n`:"\n"}return i.replace(/\n$/,"")}const a=new RegExp(`(.{1,${A}})(\\s+|$\\n?)|([^\\s]{1,${A+n}})(\\s+|$\\n?)?`,"gm"),r=e.matchAll(a);let s;for(;!(s=r.next()).done;){i+=s.value[1]?s.value[1].trimEnd():s.value[3].trimEnd();const e=(s.value[2]?s.value[2].split("\n").length-1:0)+(s.value[4]?s.value[4].split("\n").length-1:0);i+="\n".repeat(e),0===e&&(i+="\n")}return i.replace(/\n$/,"")}new Random(Date.now());const rotate$1=(e,A,t,n,i)=>[(e-t)*Math.cos(i)-(A-n)*Math.sin(i)+t,(e-t)*Math.sin(i)+(A-n)*Math.cos(i)+n],rotatedDimensions=e=>{if(0===e.angle)return[e.x,e.y,e.width,e.height];const A=e.x+e.width/2,t=e.y+e.height/2,[n,i]=rotate$1(e.x,e.y,A,t,e.angle),[a,r]=rotate$1(e.x+e.width,e.y+e.height,A,t,e.angle);return[n{const s=1/t.value;return{x:(e-n)*s-a,y:(A-i)*s-r}},getDataURL=async(e,A)=>new Promise(((t,n)=>{const i=new FileReader;i.onload=()=>{const e=i.result;t(e)},i.onerror=e=>n(e),i.readAsDataURL(new Blob([new Uint8Array(e)],{type:A}))})),getFontDataURL=async(e,A,t,n)=>{let i="",a="",r="";const s=e.metadataCache.getFirstLinkpathDest(A,t);if(s){const A=await e.vault.readBinary(s),t=s.extension.startsWith("woff")?"application/font-woff":"font/truetype";a=null!=n?n:s.basename,r=await getDataURL(A,t),i=` @font-face {font-family: "${a}";src: url("${r}") format("${"ttf"===s.extension?"truetype":s.extension}");}`;const o=i.split(";base64,",2);i=`${o[0]};charset=utf-8;base64,${o[1]}`}return{fontDef:i,fontName:a,dataURL:r}},svgToBase64=e=>`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e.replaceAll(" "," "))))}`,getBinaryFileFromDataURL=e=>{if(!e)return null;const A=e.matchAll(/base64,(.*)/g).next(),t=window.atob(A.value[1]),n=t.length,i=new Uint8Array(n);for(let e=0;e{var n;try{return await exportToSvg({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(n=e.appState)||void 0===n?void 0:n.theme)},e.appState),files:e.files,exportPadding:t})}catch(e){return null}},getPNG=async(e,A,t,n=1)=>{var i;try{return await exportToBlob({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(i=e.appState)||void 0===i?void 0:i.theme)},e.appState),files:e.files,exportPadding:t,mimeType:"image/png",getDimensions:(e,A)=>({width:e*n,height:A*n,scale:n})})}catch(e){return errorlog({where:"Utils.getPNG",error:e}),null}},getQuickImagePreview=async(e,A,t)=>{if(!e.settings.displayExportedImageIfAvailable)return null;const n=getIMGFilename(A,t),i=e.app.vault.getAbstractFileByPath(n);return i&&i instanceof obsidian_module.TFile?"png"===t?await e.app.vault.readBinary(i):await e.app.vault.read(i):null},embedFontsInSVG=(e,A)=>{const t=null!=e.querySelector("text[font-family^='Virgil']"),n=null!=e.querySelector("text[font-family^='Cascadia']"),i=null!=e.querySelector("text[font-family^='LocalFont']"),a=e.querySelector("defs");return a&&(n||t||i)&&(a.innerHTML=``),e},getImageSize=async e=>new Promise(((A,t)=>{const n=new Image;n.onload=()=>{A({height:n.naturalHeight,width:n.naturalWidth})},n.onerror=t,n.src=e})),scaleLoadedImage=(e,A)=>{let t=!1;if(!A||!e)return{dirty:t,scene:e};for(const n of A){const[A,i]=[n.size.width,n.size.height],a=n.size.width/n.size.height;e.elements.filter((e=>"image"===e.type&&e.fileId===n.id)).forEach((e=>{const[r,s]=[e.width,e.height];if(n.shouldScale){if(a!=r/s){t=!0;const n=Math.sqrt(r*s*i/A),a=Math.sqrt(r*s*A/i);e.height=n,e.width=a,e.y+=(s-n)/2,e.x+=(r-a)/2}}else r===A&&s===i||(t=!0,e.height=i,e.width=A,e.y+=(s-i)/2,e.x+=(r-A)/2)}))}return{dirty:t,scene:e}},setDocLeftHandedMode=(e,A)=>{const t=A.createElement("style");t.id="excalidraw-left-handed",t.textContent=".excalidraw .App-bottom-bar{justify-content:flex-end;}";const n=A.getElementById(t.id);n&&A.head.removeChild(n),e&&A.head.appendChild(t)},setLeftHandedMode=e=>{const A=new Set;app.workspace.iterateAllLeaves((t=>{const n=app.isMobile?document:t.view.containerEl.ownerDocument;n&&(A.has(n)||(A.add(n),setDocLeftHandedMode(e,n)))}))},getLinkParts=(e,A)=>{var t;const n=e.match(/(^[^#\|]*)#?(\^)?([^\|]*)?\|?(\d*)x?(\d*)/);return{original:e,path:A&&""===n[1]?A.path:n[1],isBlockRef:"^"===n[2],ref:null===(t=n[3])||void 0===t?void 0:t.replaceAll(REG_BLOCK_REF_CLEAN,""),width:n[4]?parseInt(n[4]):void 0,height:n[5]?parseInt(n[5]):void 0}},compress=e=>lzString.exports.compressToBase64(e).replace(/(.{64})/g,"$1\n\n"),decompress=e=>lzString.exports.decompressFromBase64(e.replaceAll("\n","").replaceAll("\r","")),hasExportTheme=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return!0}return!1},getExportTheme=(e,A,t)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return t.frontmatter["excalidraw-export-dark"]?"dark":"light"}return e.settings.exportWithTheme?t:"light"},hasExportBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!0}return!1},getWithBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!t.frontmatter["excalidraw-export-transparent"]}return e.settings.exportWithBackground},getExportPadding=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if(!(null==t?void 0:t.frontmatter))return e.settings.exportPaddingSVG;if(null!=t.frontmatter["excalidraw-export-padding"]){const e=parseInt(t.frontmatter["excalidraw-export-padding"]);if(!isNaN(e))return e}if(null!=t.frontmatter["excalidraw-export-svgpadding"]){const e=parseInt(t.frontmatter["excalidraw-export-svgpadding"]);if(!isNaN(e))return e}}return e.settings.exportPaddingSVG},getPNGScale=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-pngscale"]){const e=parseFloat(t.frontmatter["excalidraw-export-pngscale"]);if(!isNaN(e)&&e>0)return e}}return e.settings.pngExportScale},isVersionNewerThanOther=(e,A)=>{const t=e.match(/(\d*)\.(\d*)\.(\d*)/),n=A.match(/(\d*)\.(\d*)\.(\d*)/);return Boolean(t&&4===t.length&&n&&4===n.length&&!(isNaN(parseInt(t[1]))||isNaN(parseInt(t[2]))||isNaN(parseInt(t[3])))&&!(isNaN(parseInt(n[1]))||isNaN(parseInt(n[2]))||isNaN(parseInt(n[3])))&&(parseInt(t[1])>parseInt(n[1])||parseInt(t[1])>=parseInt(n[1])&&parseInt(t[2])>parseInt(n[2])||parseInt(t[1])>=parseInt(n[1])&&parseInt(t[2])>=parseInt(n[2])&&parseInt(t[3])>parseInt(n[3])))},getEmbeddedFilenameParts=e=>{const A=null==e?void 0:e.match(/([^#\^]*)((#\^)(group=|area=|taskbone)?([^\|]*)|(#)(group=|area=|taskbone)?([^\^\|]*))(.*)/);return A?{filepath:A[1],hasBlockref:Boolean(A[3]),hasGroupref:"group="===A[4]||"group="===A[7],hasTaskbone:"taskbone"===A[4]||"taskbone"===A[7],hasArearef:"area="===A[4]||"area="===A[7],blockref:A[5],hasSectionref:Boolean(A[6]),sectionref:A[8],linkpartReference:A[2],linkpartAlias:A[9]}:{filepath:e,hasBlockref:!1,hasGroupref:!1,hasTaskbone:!1,hasArearef:!1,blockref:"",hasSectionref:!1,sectionref:"",linkpartReference:"",linkpartAlias:""}},fragWithHTML=e=>createFragment((A=>A.createDiv().innerHTML=e)),errorlog=e=>{console.error(Object.assign({plugin:"Excalidraw"},e))},sleep$1=async e=>new Promise((A=>setTimeout(A,e))),log=console.log.bind(window.console);console.log.bind(window.console);const getContainerElement=(e,A)=>{var t;return e&&e.containerId&&null!==(t=A.elements.filter((A=>A.id===e.containerId))[0])&&void 0!==t?t:null},getParentOfClass=(e,A)=>{var t;let n=e.parentElement;for(;n&&!(n instanceof window.HTMLBodyElement)&&!n.classList.contains(A);)n=n.parentElement;return(null===(t=null==n?void 0:n.classList)||void 0===t?void 0:t.contains(A))?n:null},getNewOrAdjacentLeaf=(e,A)=>{const t=A.id,n=app.workspace.getLayout(),i=e=>e.children.filter((e=>"leaf"!==e.type)).map((e=>i(e))).flat().concat(e.children.filter((e=>"leaf"===e.type)).map((e=>e.id))),a=i(n.main),r=n.main&&a.contains(t)?"main":n.floating&&i(n.floating).contains(t)?"popout":n.left&&i(n.left).contains(t)?"left":n.right&&i(n.right).contains(t)?"right":"hover",s=()=>{var e;let t=app.workspace.getMostRecentLeaf();return t&&t!==A&&(null===(e=t.view)||void 0===e?void 0:e.containerEl.ownerDocument)===document||(t=null,a.forEach((e=>{var n;const i=app.workspace.getLeafById(e);!t&&(null===(n=i.view)||void 0===n?void 0:n.navigation)&&A!==i&&(t=i)}))),t};if(e.settings.openInMainWorkspace||["main","left","right"].contains(r)){if(!e.settings.openInAdjacentPane){if("main"===r)return app.workspace.createLeafBySplit(A);const e=s();return e?"empty"===e.view.getViewType()?e:app.workspace.createLeafBySplit(e):app.workspace.getLeaf(!0)}const t=s();return null!=t?t:app.workspace.getLeaf(!0)}if(!e.settings.openInAdjacentPane)return app.workspace.createLeafBySplit(A);if("hover"===r){const t=new Set;return app.workspace.iterateAllLeaves((e=>{e!==A&&A.containerEl.parentElement===e.containerEl.parentElement&&t.add(e)})),0===t.size?e.app.workspace.createLeafBySplit(A):Array.from(t)[0]}if("popout"===r){const e=new Set;return app.workspace.iterateAllLeaves((t=>{t!==A&&t.view.navigation&&t.view.containerEl.ownerDocument===A.view.containerEl.ownerDocument&&e.add(t)})),0===e.size?app.workspace.createLeafBySplit(A):Array.from(e)[0]}return e.app.workspace.createLeafBySplit(A)},getAttachmentsFolderAndFilePath=async(e,A,t)=>{let n=e.vault.getConfig("attachmentFolderPath");if(n&&n.startsWith("./")){const e=`${splitFolderAndFilename(A).folderpath}/`;n=obsidian_module.normalizePath(e+n.substring(2))}return n&&"/"!==n||(n=""),await checkAndCreateFolder(n),{folder:n,filepath:obsidian_module.normalizePath(""===n?t:`${n}/${t}`)}},isObsidianThemeDark=()=>document.body.classList.contains("theme-dark");var ar={},cz={},da={},de={},en={INSTALL_SCRIPT:"Install this script",UPDATE_SCRIPT:"An update is available - Click to install",CHECKING_SCRIPT:"Checking if a newer version is available - Click to reinstall now",UNABLETOCHECK_SCRIPT:"Update check was unsuccessful - Click to reinstall now",UPTODATE_SCRIPT:"Script is installed and up to date - Click to reinstall now",OPEN_AS_EXCALIDRAW:"Open as Excalidraw Drawing",TOGGLE_MODE:"Toggle between Excalidraw and Markdown mode",CONVERT_NOTE_TO_EXCALIDRAW:"Convert empty note to Excalidraw Drawing",CONVERT_EXCALIDRAW:"Convert *.excalidraw to *.md files",CREATE_NEW:"New Excalidraw drawing",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (Logseq compatibility)",DOWNLOAD_LIBRARY:"Export stencil library as an *.excalidrawlib file",OPEN_EXISTING_NEW_PANE:"Open an existing drawing - IN A NEW PANE",OPEN_EXISTING_ACTIVE_PANE:"Open an existing drawing - IN THE CURRENT ACTIVE PANE",TRANSCLUDE:"Transclude (embed) a drawing",TRANSCLUDE_MOST_RECENT:"Transclude (embed) the most recently edited drawing",TOGGLE_LEFTHANDED_MODE:"Toggle left-handed mode",NEW_IN_NEW_PANE:"Create a new drawing - IN A NEW PANE",NEW_IN_ACTIVE_PANE:"Create a new drawing - IN THE CURRENT ACTIVE PANE",NEW_IN_POPOUT_WINDOW:"Create a new drawing - IN A POPOUT WINDOW",NEW_IN_NEW_PANE_EMBED:"Create a new drawing - IN A NEW PANE - and embed into active document",NEW_IN_ACTIVE_PANE_EMBED:"Create a new drawing - IN THE CURRENT ACTIVE PANE - and embed into active document",NEW_IN_POPOUT_WINDOW_EMBED:"Create a new drawing - IN A POPOUT WINDOW - and embed into active document",EXPORT_SVG:"Save as SVG next to the current file",EXPORT_PNG:"Save as PNG next to the current file",TOGGLE_LOCK:"Toggle Text Element edit RAW/PREVIEW",DELETE_FILE:"Delete selected Image or Markdown file from Obsidian Vault",INSERT_LINK_TO_ELEMENT:"Copy markdown link for selected element to clipboard. CTRL/CMD+Click to copy group link. SHIFT+click to copy an area link.",INSERT_LINK_TO_ELEMENT_GROUP:"Copy 'group=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_AREA:"Copy 'area=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_NORMAL:"Copy markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_ERROR:"Select a single element in the scene",INSERT_LINK_TO_ELEMENT_READY:"Link is READY and available on the clipboard",INSERT_LINK:"Insert link to file",INSERT_IMAGE:"Insert image or Excalidraw drawing from your vault",IMPORT_SVG:"Import an SVG file as Excalidraw strokes (limited SVG support, TEXT currently not supported)",INSERT_MD:"Insert markdown file from vault",INSERT_LATEX:"Insert LaTeX formula (e.g. \\binom{n}{k} = \\frac{n!}{k!(n-k)!})",ENTER_LATEX:"Enter a valid LaTeX expression",READ_RELEASE_NOTES:"Read latest release notes",RUN_OCR:"OCR: Grab text from freedraw scribble and pictures to clipboard",TRAY_MODE:"Toggle property-panel tray-mode",SEARCH:"Search for text in drawing",RESET_IMG_TO_100:"Set selected image element size to 100% of original",TEMPORARY_DISABLE_AUTOSAVE:"Disable autosave until next time Obsidian starts (only set this if you know what you are doing)",TEMPORARY_ENABLE_AUTOSAVE:"Enable autosave",INSTALL_SCRIPT_BUTTON:"Install or update Excalidraw Scripts",OPEN_AS_MD:"Open as Markdown",SAVE_AS_PNG:"Save as PNG into Vault (CTRL/CMD+CLICK to export)",SAVE_AS_SVG:"Save as SVG into Vault (CTRL/CMD+CLICK to export)",OPEN_LINK:"Open selected text as link\n(SHIFT+CLICK to open in a new pane)",EXPORT_EXCALIDRAW:"Export to an .Excalidraw file",LINK_BUTTON_CLICK_NO_TEXT:"Select a an ImageElement, or select a TextElement that contains an internal or external link.\nSHIFT CLICK this button to open the link in a new pane.\nCTRL/CMD CLICK the Image or TextElement on the canvas has the same effect!",FILENAME_INVALID_CHARS:'File name cannot contain any of the following characters: * " \\ < > : | ? #',FILE_DOES_NOT_EXIST:"File does not exist. Hold down ALT (or ALT+SHIFT) and CLICK link button to create a new file.",FORCE_SAVE:"Save (will also update transclusions)",RAW:"Change to PREVIEW mode (only effects text-elements with links or transclusions)",PARSED:"Change to RAW mode (only effects text-elements with links or transclusions)",NOFILE:"Excalidraw (no file)",COMPATIBILITY_MODE:"*.excalidraw file opened in compatibility mode. Convert to new format for full plugin functionality.",CONVERT_FILE:"Convert to new format",RELEASE_NOTES_NAME:"Display Release Notes after update",RELEASE_NOTES_DESC:"Toggle ON: Display release notes each time you update Excalidraw to a newer version.
Toggle OFF: Silent mode. You can still read release notes on GitHub.",NEWVERSION_NOTIFICATION_NAME:"Plugin update notification",NEWVERSION_NOTIFICATION_DESC:"Toggle ON: Show a notification when a new version of the plugin is available.
Toggle OFF: Silent mode. You need to check for plugin updates in Community Plugins.",FOLDER_NAME:"Excalidraw folder",FOLDER_DESC:"Default location for new drawings. If empty, drawings will be created in the Vault root.",FOLDER_EMBED_NAME:"Use Excalidraw folder when embedding a drawing into the active document",FOLDER_EMBED_DESC:"Define which folder to place the newly inserted drawing into when using the command palette action: 'Create a new drawing and embed into active document'.
Toggle ON: Use Excalidraw folder
Toggle OFF: Use the attachments folder defined in Obsidian settings.",TEMPLATE_NAME:"Excalidraw template file",TEMPLATE_DESC:"Full filepath to the Excalidraw template. E.g.: If your template is in the default Excalidraw folder and its name is Template.md, the setting would be: Excalidraw/Template.md (or just Excalidraw/Template - you may omit the .md file extension). If you are using Excalidraw in compatibility mode, then your template must be a legacy Excalidraw file as well such as Excalidraw/Template.excalidraw.",SCRIPT_FOLDER_NAME:"Excalidraw Automate script folder (CASE SeNSitiVE!)",SCRIPT_FOLDER_DESC:"The files you place in this folder will be treated as Excalidraw Automate scripts. You can access your scripts from Excalidraw via the Obsidian Command Palette. Assign hotkeys to your favorite scripts just like to any other Obsidian command. The folder may not be the root folder of your Vault. ",SAVING_HEAD:"Saving",COMPRESS_NAME:"Compress Excalidraw JSON in Markdown",COMPRESS_DESC:"By enabling this feature Excalidraw will store the drawing JSON in a Base64 compressed format using the LZ-String algorithm. This will reduce the chance of Excalidraw JSON cluttering your search results in Obsidian. As a side effect, this will also reduce the filesize of Excalidraw drawings. When you switch an Excalidraw drawing to Markdown view, using the options menu in Excalidraw, the file will be saved without compression, so that you can read and edit the JSON string. The drawing will be compressed again once you switch back to Excalidraw view. The setting only has effect 'point forward', meaning, existing drawings will not be effected by the setting until you open them and save them.
Toggle ON: Compress drawing JSON
Toggle OFF: Leave drawing JSON uncompressed",AUTOSAVE_INTERVAL_DESKTOP_NAME:"Interval for autosave on Desktop",AUTOSAVE_INTERVAL_DESKTOP_DESC:"The time interval between saves. Autosave will skip if there are no changes in the drawing. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. clicking on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly either by killing the Obsidian process, or clicking to close Obsidian altogether.",AUTOSAVE_INTERVAL_MOBILE_NAME:"Interval for autosave on Mobile",AUTOSAVE_INTERVAL_MOBILE_DESC:"I recommend a more frequent interval for Mobiles. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. tapping on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly (i.e. swiping it away). Also note, that when you switch apps on a Mobile device, sometimes Android and iOS closes Obsidian in the background to save system resources. In such a case Excalidraw will not be able to save the latest changes.",FILENAME_HEAD:"Filename",FILENAME_DESC:"

Click this link for the date and time format reference.

",FILENAME_SAMPLE:"Filename for a new drawing is: ",FILENAME_EMBED_SAMPLE:"Filename for a new embedded drawing is: ",FILENAME_PREFIX_NAME:"Filename prefix",FILENAME_PREFIX_DESC:"The first part of the filename",FILENAME_PREFIX_EMBED_NAME:"Filename prefix when embedding a new drawing into a markdown note",FILENAME_PREFIX_EMBED_DESC:"Should the filename of the newly inserted drawing start with the name of the active markdown note when using the command palette action: Create a new drawing and embed into active document?
Toggle ON: Yes, the filename of a new drawing should start with filename of the active document
Toggle OFF: No, filename of a new drawing should not include the filename of the active document",FILENAME_POSTFIX_NAME:"Custom text after markdown Note's name when embedding",FILENAME_POSTFIX_DESC:"Effects filename only when embedding into a markdown document. This text will be inserted after the note's name, but before the date.",FILENAME_DATE_NAME:"Filename Date",FILENAME_DATE_DESC:"The last part of the filename. Leave empty if you do not want a date.",FILENAME_EXCALIDRAW_EXTENSION_NAME:".excalidraw.md or .md",FILENAME_EXCALIDRAW_EXTENSION_DESC:"This setting does not apply if you use Excalidraw in compatibility mode, i.e. you are not using Excalidraw markdown files.
Toggle ON: filename ends with .excalidraw.md
Toggle OFF: filename ends with .md",DISPLAY_HEAD:"Display",LEFTHANDED_MODE_NAME:"Left-handed mode",LEFTHANDED_MODE_DESC:"Currently only has effect in tray-mode. If turned on, the tray will be on the right side.
Toggle ON: Left-handed mode.
Toggle OFF: Right-handed moded",MATCH_THEME_NAME:"New drawing to match Obsidian theme",MATCH_THEME_DESC:"If theme is dark, new drawing will be created in dark mode. This does not apply when you use a template for new drawings. Also this will not effect when you open an existing drawing. Those will follow the theme of the template/drawing respectively.
Toggle ON: Follow Obsidian Theme
Toggle OFF: Follow theme defined in your template",MATCH_THEME_ALWAYS_NAME:"Existing drawings to match Obsidian theme",MATCH_THEME_ALWAYS_DESC:"If theme is dark, drawings will be opened in dark mode. If your theme is light, they will be opened in light mode.
Toggle ON: Match Obsidian theme
Toggle OFF: Open with the same theme as last saved",MATCH_THEME_TRIGGER_NAME:"Excalidraw to follow when Obsidian Theme changes",MATCH_THEME_TRIGGER_DESC:"If this option is enabled open Excalidraw pane will switch to light/dark mode when Obsidian theme changes.
Toggle ON: Follow theme changes
Toggle OFF: Drawings are not effected by Obsidian theme changes",DEFAULT_OPEN_MODE_NAME:"Default mode when opening Excalidraw",DEFAULT_OPEN_MODE_DESC:"Specifies the mode how Excalidraw opens: Normal, Zen, or View mode. You may also set this behavior on a file level by adding the excalidraw-default-mode frontmatter key with a value of: normal, view, or zen to your document.",DEFAULT_PEN_MODE_NAME:"Pen mode",DEFAULT_PEN_MODE_DESC:"Should pen mode be automatically enabled when opening Excalidraw?",ZOOM_TO_FIT_NAME:"Zoom to fit on view resize",ZOOM_TO_FIT_DESC:"Zoom to fit drawing when the pane is resized
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_ONOPEN_NAME:"Zoom to fit on file open",ZOOM_TO_FIT_ONOPEN_DESC:"Zoom to fit drawing when the drawing is first opened
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_MAX_LEVEL_NAME:"Zoom to fit max ZOOM level",ZOOM_TO_FIT_MAX_LEVEL_DESC:"Set the maximum level to which zoom to fit will enlarge the drawing. Minimum is 0.5 (50%) and maximum is 10 (1000%).",LINKS_HEAD:"Links and transclusion",LINKS_DESC:"CTRL/CMD + CLICK on [[Text Elements]] to open them as links. If the selected text has more than one [[valid Obsidian links]], only the first will be opened. If the text starts as a valid web link (i.e. https:// or http://), then the plugin will open it in a browser. When Obsidian files change, the matching [[link]] in your drawings will also change. If you don't want text accidentally changing in your drawings use [[links|with aliases]].",ADJACENT_PANE_NAME:"Open in adjacent pane",ADJACENT_PANE_DESC:"When CTRL/CMD+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane. Turning this setting on, Excalidraw will first look for an existing adjacent pane, and try to open the link there. Excalidraw will look for the adjacent pane based on your focus/navigation history, i.e. the workpane that was active before you activated Excalidraw.",MAINWORKSPACE_PANE_NAME:"Open in main workspace",MAINWORKSPACE_PANE_DESC:"When CTRL/CMD+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane in the current active window. Turning this setting on, Excalidraw will open the link in an existing or new pane in the main workspace. ",LINK_BRACKETS_NAME:"Show [[brackets]] around links",LINK_BRACKETS_DESC:"In PREVIEW mode, when parsing Text Elements, place brackets around links. You can override this setting for a specific drawing by adding excalidraw-link-brackets: true/false to the file's frontmatter.",LINK_PREFIX_NAME:"Link prefix",LINK_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-link-prefix: "📍 " to the file\'s frontmatter.',URL_PREFIX_NAME:"URL prefix",URL_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a URL link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-url-prefix: "🌐 " to the file\'s frontmatter.',PARSE_TODO_NAME:"Parse todo",PARSE_TODO_DESC:"Convert '- [ ] ' and '- [x] ' to checkpox and tick in the box.",TODO_NAME:"Open TODO icon",TODO_DESC:"Icon to use for open TODO items",DONE_NAME:"Completed TODO icon",DONE_DESC:"Icon to use for completed TODO items",HOVERPREVIEW_NAME:"Hover preview without CTRL/CMD key",HOVERPREVIEW_DESC:"Toggle On: In Exalidraw view mode the hover preview for [[wiki links]] will be shown immediately, without the need to hold the CTRL/CMD key. In Excalidraw normal mode, the preview will be shown immediately only when hovering the blue link icon in the top right of the element.
Toggle Off: Hover preview is shown only when you hold the CTRL/CMD key while hovering the link.",LINKOPACITY_NAME:"Opacity of link icon",LINKOPACITY_DESC:"Opacity of the link indicator icon in the top right corner of an element. 1 is opaque, 0 is transparent.",LINK_CTRL_CLICK_NAME:"CTRL/CMD + CLICK on text with [[links]] or [](links) to open them",LINK_CTRL_CLICK_DESC:"You can turn this feature off if it interferes with default Excalidraw features you want to use. If this is turned off, only the link button in the title bar of the drawing pane will open links.",TRANSCLUSION_WRAP_NAME:"Overflow wrap behavior of transcluded text",TRANSCLUSION_WRAP_DESC:"Number specifies the character count where the text should be wrapped. Set the text wrapping behavior of transcluded text. Turn this ON to force-wrap text (i.e. no overflow), or OFF to soft-wrap text (at the nearest whitespace).",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion word wrap default",TRANSCLUSION_DEFAULT_WRAP_DESC:"You can manually set/override word wrapping length using the `![[page#^block]]{NUMBER}` format. Normally you will not want to set a default, because if you transclude text inside a sticky note, then Excalidraw will automatically take care of word wrapping. Set this value to `0` if you do not want to set a default. ",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Page transclusion max char count",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"The maximum number of characters to display from the page when transcluding an entire page with the ![[markdown page]] format.",QUOTE_TRANSCLUSION_REMOVE_NAME:"Quote translusion: remove leading '> ' from each line",QUOTE_TRANSCLUSION_REMOVE_DESC:"Remove the leading '> ' from each line of the transclusion. This will improve readability of quotes in text only transclusions
Toggle ON: Remove leading '> '
Toggle OFF: Do not remove leading '> ' (note it will still be removed from the first row due to Obsidian API functionality)",GET_URL_TITLE_NAME:"Use iframely to resolve page title",GET_URL_TITLE_DESC:"Use the http://iframely.server.crestify.com/iframely?url= to get title of page when dropping a link into Excalidraw",MD_HEAD:"Markdown-embed settings",MD_HEAD_DESC:"You can transclude formatted markdown documents into drawings as images CTRL(Shift on Mac) drop from the file explorer or using the command palette action.",MD_TRANSCLUDE_WIDTH_NAME:"Default width of a transcluded markdown document",MD_TRANSCLUDE_WIDTH_DESC:"The width of the markdown page. This effects the word wrapping when transcluding longer paragraphs, and the width of the image element. You can override the default width of an embedded file using the [[filename#heading|WIDTHxMAXHEIGHT]] syntax in markdown view mode under embedded files.",MD_TRANSCLUDE_HEIGHT_NAME:"Default maximum height of a transcluded markdown document",MD_TRANSCLUDE_HEIGHT_DESC:"The embedded image will be as high as the markdown text requires, but not higher than this value. You can override this value by editing the embedded image link in markdown view mode with the following syntax [[filename#^blockref|WIDTHxMAXHEIGHT]].",MD_DEFAULT_FONT_NAME:"The default font typeface to use for embedded markdown files.",MD_DEFAULT_FONT_DESC:'Set this value to "Virgil" or "Cascadia" or the filename of a valid .ttf, .woff, or .woff2 font e.g. MyFont.woff2 You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font: font_or_filename',MD_DEFAULT_COLOR_NAME:"The default font color to use for embedded markdown files.",MD_DEFAULT_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font-color: steelblue',MD_DEFAULT_BORDER_COLOR_NAME:"The default border color to use for embedded markdown files.",MD_DEFAULT_BORDER_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-border-color: gray. Leave empty if you don\'t want a border. ',MD_CSS_NAME:"CSS file",MD_CSS_DESC:"The filename of the CSS to apply to markdown embeds. Provide the filename with extension (e.g. 'md-embed.css'). The css file may also be a plain markdown file (e.g. 'md-embed-css.md'), just make sure the content is written using valid css syntax. If you need to look at the HTML code you are applying the CSS to, then open Obsidian Developer Console (CTRL+SHIFT+i) and type in the following command: \"ExcalidrawAutomate.mostRecentMarkdownSVG\". This will display the most recent SVG generated by Excalidraw. Setting the font-family in the css is has limitations. By default only your operating system's standard fonts are available (see README for details). You can add one custom font beyond that using the setting above. You can override this css setting by adding the following frontmatter-key to the embedded markdown file: \"excalidraw-css: css_file_in_vault|css-snippet\".",EMBED_HEAD:"Embed & Export",EMBED_REUSE_EXPORTED_IMAGE_NAME:"If found, use the already exported image for preview",EMBED_REUSE_EXPORTED_IMAGE_DESC:"This setting works in conjunction with the Auto-export SVG/PNG setting. If an exported image that matches the file name of the drawing is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See demonstration here.",EMBED_PREVIEW_SVG_NAME:"Display SVG in markdown preview",EMBED_PREVIEW_SVG_DESC:"Toggle ON: Embed drawing as an SVG image into the markdown preview.
Toggle OFF: Embed drawing as a PNG image. Note, that some of the image block referencing features do not work with PNG embeds.",PREVIEW_MATCH_OBSIDIAN_NAME:"Excalidraw preview to match Obsidian theme",PREVIEW_MATCH_OBSIDIAN_DESC:"Image preview in documents should match the Obsidian theme. If enabled, when Obsidian is in dark mode, Excalidraw images will render in dark mode. When Obsidian is in light mode, Excalidraw will render light mode as well. You may want to switch 'Export image with background' off for a more Obsidian-integrated look and feel.",EMBED_WIDTH_NAME:"Default width of embedded (transcluded) image",EMBED_WIDTH_DESC:"The default width of an embedded drawing. This applies to live preview edit and reading mode, as well as to hover previews. You can specify a custom width when embedding an image using the ![[drawing.excalidraw|100]] or [[drawing.excalidraw|100x100]] format.",EMBED_TYPE_NAME:"Type of file to insert into the document",EMBED_TYPE_DESC:"When you embed an image into a document using the command palette this setting will specify if Excalidraw should embed the original Excalidraw file or a PNG or an SVG copy. You need to enable auto-export PNG / SVG (see below under Export Settings) for those image types to be available in the dropdown. For drawings that do not have a a corresponding PNG or SVG readily available the command palette action will insert a broken link. You need to open the original drawing and initiate export manually. This option will not autogenerate PNG/SVG files, but will simply reference the already existing files.",EMBED_WIKILINK_NAME:"Embed SVG or PNG as Wiki link",EMBED_WIKILINK_DESC:"Toggle ON: Excalidraw will embed a [[wiki link]]. Toggle OFF: Excalidraw will embed a [markdown](link).",EXPORT_PNG_SCALE_NAME:"PNG export image scale",EXPORT_PNG_SCALE_DESC:"The size-scale of the exported PNG image",EXPORT_BACKGROUND_NAME:"Export image with background",EXPORT_BACKGROUND_DESC:"If turned off, the exported image will be transparent.",EXPORT_PADDING_NAME:"Image Padding",EXPORT_PADDING_DESC:"The padding (in pixels) around the exported SVG or PNG image. If you have curved lines close to the edge of the image they might get cropped during image export. You can increase this value to avoid cropping. You can also override this setting at a file level by adding the excalidraw-export-padding: 5 frontmatter key.",EXPORT_THEME_NAME:"Export image with theme",EXPORT_THEME_DESC:"Export the image matching the dark/light theme of your drawing. If turned off, drawings created in dark mode will appear as they would in light mode.",EXPORT_HEAD:"Export Settings",EXPORT_SYNC_NAME:"Keep the .SVG and/or .PNG filenames in sync with the drawing file",EXPORT_SYNC_DESC:"When turned on, the plugin will automatically update the filename of the .SVG and/or .PNG files when the drawing in the same folder (and same name) is renamed. The plugin will also automatically delete the .SVG and/or .PNG files when the drawing in the same folder (and same name) is deleted. ",EXPORT_SVG_NAME:"Auto-export SVG",EXPORT_SVG_DESC:"Automatically create an SVG export of your drawing matching the title of your file. The plugin will save the *.SVG file in the same folder as the drawing. Embed the .svg file into your documents instead of Excalidraw making you embeds platform independent. While the auto-export switch is on, this file will get updated every time you edit the Excalidraw drawing with the matching name. You can override this setting on a file level by adding the excalidraw-autoexport frontmatter key. Valid values for this key are none,both,svg, and png",EXPORT_PNG_NAME:"Auto-export PNG",EXPORT_PNG_DESC:"Same as the auto-export SVG, but for *.PNG",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"Export both dark- and light-themed image",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"When enabled, Excalidraw will export two files instead of one: filename.dark.png, filename.light.png and/or filename.dark.svg and filename.light.svg
Double files will be exported both if auto-export SVG or PNG (or both) are enabled, as well as when clicking export on a single image.",COMPATIBILITY_HEAD:"Compatibility features",EXPORT_EXCALIDRAW_NAME:"Auto-export Excalidraw",EXPORT_EXCALIDRAW_DESC:"Same as the auto-export SVG, but for *.Excalidraw",SYNC_EXCALIDRAW_NAME:"Sync *.excalidraw with *.md version of the same drawing",SYNC_EXCALIDRAW_DESC:"If the modified date of the *.excalidraw file is more recent than the modified date of the *.md file then update the drawing in the .md file based on the .excalidraw file",COMPATIBILITY_MODE_NAME:"New drawings as legacy files",COMPATIBILITY_MODE_DESC:"By enabling this feature drawings you create with the ribbon icon, the command palette actions, and the file explorer are going to be all legacy *.excalidraw files. This setting will also turn off the reminder message when you open a legacy file for editing.",MATHJAX_NAME:"MathJax (LaTeX) javascript library host",MATHJAX_DESC:"If you are using LaTeX equiations in Excalidraw then the plugin needs to load a javascript library for that. Some users are unable to access certain host servers. If you are experiencing issues try changing the host here. You may need to restart Obsidian after closing settings, for this change to take effect.",EXPERIMENTAL_HEAD:"Experimental features",EXPERIMENTAL_DESC:"Some of these setting will not take effect immediately, only when the File Explorer is refreshed, or Obsidian restarted.",FIELD_SUGGESTER_NAME:"Enable Field Suggester",FIELD_SUGGESTER_DESC:"Field Suggester borrowed from Breadcrumbs and Templater plugins. The Field Suggester will show an autocomplete menu when you type excalidraw- or ea. with function description as hints on the individual items in the list.",FILETYPE_NAME:"Display type (✏️) for excalidraw.md files in File Explorer",FILETYPE_DESC:"Excalidraw files will receive an indicator using the emoji or text defined in the next setting.",FILETAG_NAME:"Set the type indicator for excalidraw.md files",FILETAG_DESC:"The text or emoji to display as type indicator.",INSERT_EMOJI:"Insert an emoji",LIVEPREVIEW_NAME:"Immersive image embedding in live preview editing mode",LIVEPREVIEW_DESC:"Turn this on to support image embedding styles such as ![[drawing|width|style]] in live preview editing mode. The setting will not effect the currently open documents. You need close the open documents and re-open them for the change to take effect.",ENABLE_FOURTH_FONT_NAME:"Enable fourth font option",ENABLE_FOURTH_FONT_DESC:"By turning this on, you will see a fourth font button on the properties panel for text elements. Files that use this fourth font will (partly) lose their platform independence. Depending on the custom font set in settings, they will look differently when loaded in another vault, or at a later time. Also the 4th font will display as system default font on excalidraw.com, or other Excalidraw versions.",FOURTH_FONT_NAME:"Forth font file",FOURTH_FONT_DESC:"Select a .ttf, .woff or .woff2 font file from your vault to use as the fourth font. If no file is selected, Excalidraw will use the Virgil font by default.",SCRIPT_SETTINGS_HEAD:"Settings for installed Scripts",TASKBONE_HEAD:"Taskbone Optical Character Recogntion",TASKBONE_DESC:"This is an experimental integration of optical character recognition into Excalidraw. Please note, that taskbone is an independent external service not provided by Excalidraw, nor the Excalidraw-Obsidian plugin project. The OCR service will grab legible text from freedraw lines and embedded pictures on your canvas and place the recognized text in the frontmatter of your drawing as well as onto clipboard. Having the text in the frontmatter will enable you to search in Obsidian for the text contents of these. Note, that the process of extracting the text from the image is not done locally, but via an online API. The taskbone service stores the image on its servers only as long as necessary for the text extraction. However, if this is a dealbreaker, then please don't use this feature.",TASKBONE_ENABLE_NAME:"Enable Taskbone",TASKBONE_ENABLE_DESC:"By enabling this service your agree to the Taskbone Terms and Conditaions and the Privacy Policy.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone offers a free service with a reasonable number of scans per month. If you want to use this feature more frequently, or you want to supoprt the developer of Taskbone (as you can imagine, there is no such thing as 'free', providing this awesome OCR service costs some money to the developer of Taskbone), you can purchase a paid API key from taskbone.com. In case you have purchased a key, simply overwrite this auto generated free-tier API-key with your paid key.",SELECT_FILE:"Select a file then press enter.",SELECT_FILE_WITH_OPTION_TO_SCALE:"Select a file then press ENTER, or ALT+ENTER to insert at 100% scale.",NO_MATCH:"No file matches your query.",SELECT_FILE_TO_LINK:"Select the file you want to insert the link for.",SELECT_DRAWING:"Select the image or drawing you want to insert",TYPE_FILENAME:"Type name of drawing to select.",SELECT_FILE_OR_TYPE_NEW:"Select existing drawing or type name of a new drawing then press Enter.",SELECT_TO_EMBED:"Select the drawing to insert into active document.",SELECT_MD:"Select the markdown document you want to insert",INFINITE_LOOP_WARNING:"EXCALIDRAW WARNING\nAborted loading embedded images due to infinite loop in file:\n",SCRIPT_EXECUTION_ERROR:"Script execution error. Please find error message on the developer console.",LOAD_FROM_BACKUP:"Excalidraw file was corrupted. Loading from backup file.",GOTO_FULLSCREEN:"Goto fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",TOGGLE_FULLSCREEN:"Toggle fullscreen mode",OPEN_LINK_CLICK:"Navigate to selected element link",OPEN_LINK_PROPS:"Open markdown-embed properties or open link in new window"},enGB={},es={},fr={},hi={},id={},it={},ja={},ko={},nl={},no={},pl={},pt={},ptBR={},ro={},ru={},tr={},zhCN={INSTALL_SCRIPT:"安装此脚本",UPDATE_SCRIPT:"发现可用更新 - 点击安装",CHECKING_SCRIPT:"检查脚本更新 - 点击重新安装",UNABLETOCHECK_SCRIPT:"检查更新失败 - 点击重新安装",UPTODATE_SCRIPT:"已安装最新脚本 - 点击重新安装",OPEN_AS_EXCALIDRAW:"打开为 Excalidraw 绘图",TOGGLE_MODE:"在 Excalidraw 和 Markdown 模式之间切换",CONVERT_NOTE_TO_EXCALIDRAW:"转换空白笔记为 Excalidraw 绘图",CONVERT_EXCALIDRAW:"转换 *.excalidraw 为 *.md 文件",CREATE_NEW:"新建 Excalidraw 绘图",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (兼容 Logseq)",DOWNLOAD_LIBRARY:"导出 stencil 库为 *.excalidrawlib 文件",OPEN_EXISTING_NEW_PANE:"打开已有的绘图 - 于新面板",OPEN_EXISTING_ACTIVE_PANE:"打开已有的绘图 - 于当前面板",TRANSCLUDE:"嵌入绘图(形如 ![[drawing]])到当前文档",TRANSCLUDE_MOST_RECENT:"嵌入最近编辑过的绘图(形如 ![[drawing]])到当前文档",TOGGLE_LEFTHANDED_MODE:"切换为左手模式",NEW_IN_NEW_PANE:"新建绘图 - 于新面板",NEW_IN_ACTIVE_PANE:"新建绘图 - 于当前面板",NEW_IN_POPOUT_WINDOW:"新建绘图 - 于新窗口",NEW_IN_NEW_PANE_EMBED:"新建绘图 - 于新面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_ACTIVE_PANE_EMBED:"新建绘图 - 于当前面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_POPOUT_WINDOW_EMBED:"新建绘图 - 于新窗口 - 并将其嵌入(形如 ![[drawing]])到当前文档",EXPORT_SVG:"导出 SVG 文件到当前目录",EXPORT_PNG:"导出 PNG 文件到当前目录",TOGGLE_LOCK:"切换文本元素为原文模式(RAW)/预览模式(PREVIEW)",DELETE_FILE:"从库中删除所选图像(或 MD-Embed)的源文件",INSERT_LINK_TO_ELEMENT:"复制所选元素的内部链接。按住 CTRL/CMD 可复制元素所在分组的内部链接。按住 SHIFT 可复制元素周围区域的内部链接。",INSERT_LINK_TO_ELEMENT_GROUP:"复制所选元素所在分组的内部链接(形如 [[file#^group=elementID]])",INSERT_LINK_TO_ELEMENT_AREA:"复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])",INSERT_LINK_TO_ELEMENT_NORMAL:"复制所选元素的引用链接(形如 [[file#^elementID]])",INSERT_LINK_TO_ELEMENT_ERROR:"未选择画布里的单个元素",INSERT_LINK_TO_ELEMENT_READY:"链接已生成并复制到剪贴板",INSERT_LINK:"插入文件的内部链接(形如 [[drawing]])到当前绘图",INSERT_IMAGE:"插入图像(以图像形式嵌入)到当前绘图",INSERT_MD:"插入 Markdown 文档(以图像形式嵌入)到当前绘图",INSERT_LATEX:"插入 LaTeX 公式到当前绘图",ENTER_LATEX:"输入 LaTeX 表达式",READ_RELEASE_NOTES:"阅读本插件的最新发行版本说明",TRAY_MODE:"切换绘图工具属性页为面板模式(Panel)/托盘模式(Tray)",SEARCH:"搜索文本",INSTALL_SCRIPT_BUTTON:"安装或更新 Excalidraw 自动化脚本",OPEN_AS_MD:"打开为 Markdown 文件",SAVE_AS_PNG:"导出 PNG 到当前目录(按住 CTRL/CMD 设定导出路径)",SAVE_AS_SVG:"导出 SVG 到当前目录(按住 CTRL/CMD 设定导出路径)",OPEN_LINK:"打开所选元素里的链接 \n(按住 SHIFT 在新面板打开)",EXPORT_EXCALIDRAW:"导出为 .Excalidraw 文件",LINK_BUTTON_CLICK_NO_TEXT:"请选择一个含有链接的图形或文本元素。\n按住 SHIFT 并点击此按钮可在新面板中打开链接。\n您也可以直接在画布中按住 CTRL/CMD 并点击图形或文本元素来打开链接。",FILENAME_INVALID_CHARS:'文件名不能含有以下符号: * " \\ < > : | ? #',FILE_DOES_NOT_EXIST:"文件不存在。按住 ALT(或 ALT + SHIFT)并点击链接来创建新文件。",FORCE_SAVE:"立刻保存该绘图(并更新嵌入了该绘图的面板)。\n详见插件设置中的定期保存选项",RAW:"文本元素正以原文(RAW)模式显示链接。\n点击切换到预览(PREVIEW)模式",PARSED:"文本元素正以预览(PREVIEW)模式显示链接。\n点击切换到原文(RAW)模式",NOFILE:"Excalidraw(没有文件)",COMPATIBILITY_MODE:"*.excalidraw 文件以兼容模式打开。转换为新格式以获得完整的插件功能。",CONVERT_FILE:"转换为新格式",RELEASE_NOTES_NAME:"显示更新说明",RELEASE_NOTES_DESC:"开启:每次更新本插件后,显示最新发行版本的说明。
关闭:您仍可以在 GitHub 上阅读更新说明。",NEWVERSION_NOTIFICATION_NAME:"通知插件更新",NEWVERSION_NOTIFICATION_DESC:"开启:当本插件存在可用更新时,显示通知。
关闭:您需要手动检查本插件的更新(设置 - 第三方插件 - 检查更新)。",FOLDER_NAME:"Excalidraw 文件夹",FOLDER_DESC:"新绘图的默认存储路径。若为空,将在库的根目录中创建新绘图。",FOLDER_EMBED_NAME:"将 Excalidraw 文件夹用于“新建绘图”命令创建的绘图",FOLDER_EMBED_DESC:"在命令面板中执行“新建绘图”系列命令时,新绘图的存储路径。
开启:使用 Excalidraw 文件夹。
关闭:使用 Obsidian 设置的新附件默认位置。",TEMPLATE_NAME:"Excalidraw 模板文件",TEMPLATE_DESC:"Excalidraw 模板文件的完整路径。
如果您的模板在默认的 Excalidraw 文件夹中且文件名是 Template.md,则此项应设为 Excalidraw/Template.md(也可省略 .md 扩展名,即 Excalidraw/Template)。
如果您在兼容模式下使用 Excalidraw,那么您的模板文件也必须是旧的 *.excalidraw 格式,例如 Excalidraw/Template.excalidraw。",SCRIPT_FOLDER_NAME:"Excalidraw 自动化脚本的文件夹",SCRIPT_FOLDER_DESC:"此文件夹用于存放 Excalidraw 自动化脚本。您可以在 Obsidian 命令面板中执行这些脚本,还可以为喜欢的脚本分配快捷键,就像为其他 Obsidian 命令分配快捷键一样。
该项不能设为库的根目录。",COMPRESS_NAME:"压缩 Excalidraw JSON",COMPRESS_DESC:"Excalidraw 绘图文件默认将元素记录为 JSON 格式。开启此项,可将元素的 JSON 数据以 BASE64 编码(使用 LZ-String 算法)。这样做的好处是:一方面可以避免原来的明文 JSON 数据干扰 Obsidian 的文本搜索结果,另一方面减小了绘图文件的体积。
当您通过功能区按钮或命令将绘图切换成 Markdown 模式时,数据将被解码回 JSON 格式以便阅读和编辑;而当您切换回 Excalidraw 模式时,数据就会被再次编码。
开启此项后,对于之前已存在的未压缩的绘图文件,需要重新打开并保存它们才能生效。",AUTOSAVE_NAME:"定期保存",AUTOSAVE_DESC:"定期保存当前绘图。此功能专为移动设备设计 —— 在桌面端,当您关闭 Excalidraw 或 Obsidian,或者移动焦点到其他面板的时候,软件是会自动保存的;但是在手机或平板上通过滑动手势退出 Obsidian 时,可能无法顺利触发自动保存。因此我添加了定期保存功能作为弥补。",AUTOSAVE_INTERVAL_NAME:"定期保存的时间间隔",AUTOSAVE_INTERVAL_DESC:"每隔多长时间执行一次保存。如果当前绘图没有发生改变,将不会触发保存。",FILENAME_HEAD:"文件名",FILENAME_DESC:"

点击阅读日期和时间格式参考

",FILENAME_SAMPLE:"“新建绘图”系列命令创建的文件名形如:",FILENAME_EMBED_SAMPLE:"“新建绘图并嵌入到当前文档”系列命令创建的文件名形如:",FILENAME_PREFIX_NAME:"“新建绘图”系列命令创建的文件名前缀",FILENAME_PREFIX_DESC:"执行“新建绘图”系列命令时,创建的绘图文件名的第一部分",FILENAME_PREFIX_EMBED_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名前缀",FILENAME_PREFIX_EMBED_DESC:"执行“新建绘图并嵌入到当前文档”系列命令时,创建的绘图文件名是否以当前文档名作为前缀?
开启:
关闭:否",FILENAME_POSTFIX_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名的中间部分",FILENAME_POSTFIX_DESC:"介于文件名前缀和日期时间之间的文本。仅对“新建绘图并嵌入到当前文档”系列命令创建的绘图生效。",FILENAME_DATE_NAME:"文件名里的日期时间",FILENAME_DATE_DESC:"文件名的最后一部分。允许留空。",FILENAME_EXCALIDRAW_EXTENSION_NAME:"文件扩展名(.excalidraw.md 或 .md)",FILENAME_EXCALIDRAW_EXTENSION_DESC:"该选项在兼容模式(即非 Excalidraw 专用 Markdown 文件)下不会生效。
开启:使用 .excalidraw.md 作为扩展名。
关闭:使用 .md 作为扩展名。",DISPLAY_HEAD:"显示",LEFTHANDED_MODE_NAME:"左手模式",LEFTHANDED_MODE_DESC:"目前只在托盘模式下生效。若开启此项,则托盘(绘图工具属性页)将位于右侧。
开启:左手模式。
关闭:右手模式。",MATCH_THEME_NAME:"使新建的绘图匹配 Obsidian 主题",MATCH_THEME_DESC:"如果 Obsidian 使用黑暗主题,新建的绘图文件也将使用黑暗主题。
但是若设置了模板,新建的绘图文件将跟随模板主题;另外,此功能不会作用于已有的绘图。
开启:跟随 Obsidian 主题风格。
关闭:跟随模板主题风格。",MATCH_THEME_ALWAYS_NAME:"使已有的绘图匹配 Obsidian 主题",MATCH_THEME_ALWAYS_DESC:"如果 Obsidian 使用黑暗主题,则绘图文件也将以黑暗主题打开;反之亦然。
开启:匹配 Obsidian 主题风格。
关闭:采用上次保存时的主题风格。",MATCH_THEME_TRIGGER_NAME:"Excalidraw 主题跟随 Obsidian 主题变化",MATCH_THEME_TRIGGER_DESC:"开启此项,则切换 Obsidian 的黑暗/明亮主题时,已打开的 Excalidraw 面板的主题会随之改变。
开启:跟随主题变化。
关闭:不跟随主题变化。",DEFAULT_OPEN_MODE_NAME:"Excalidraw 的默认运行模式",DEFAULT_OPEN_MODE_DESC:"设置 Excalidraw 的运行模式:普通模式(Normal)/禅模式(Zen)/阅读模式(View)。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-default-mode: normal/zen/view 的键值对。",DEFAULT_PEN_MODE_NAME:"触控笔模式(Pen mode)",DEFAULT_PEN_MODE_DESC:"打开绘图时,是否自动开启触控笔模式?",ZOOM_TO_FIT_NAME:"自动缩放以适应面板调整",ZOOM_TO_FIT_DESC:"调整面板大小时,自适应地缩放画布
开启:自动缩放。
关闭:禁用自动缩放。",ZOOM_TO_FIT_MAX_LEVEL_NAME:"自动缩放的最高级别",ZOOM_TO_FIT_MAX_LEVEL_DESC:"自动缩放画布时,允许放大的最高级别。该值不能低于 0.5(50%)且不能超过 10(1000%)。",LINKS_HEAD:"链接(Links) & 以文本形式嵌入到绘图中的文档(Transclusion)",LINKS_DESC:"按住 CTRL/CMD 并点击包含 [[链接]] 的文本元素可以打开其中的链接。
如果所选文本元素包含多个 [[有效的内部链接]] ,只会打开第一个链接;如果所选文本元素包含有效的 URL 链接 (如 https://http://),插件会在浏览器中打开链接。
链接的源文件被重命名时,绘图中相应的 [[内部链接]] 也会同步更新。若您不愿绘图中的链接外观因此而变化,可使用 [[内部链接|别名]]。",ADJACENT_PANE_NAME:"在相邻面板中打开",ADJACENT_PANE_DESC:"按住 CTRL/CMD + SHIFT 并点击绘图里的内部链接时,插件默认会在新面板中打开该链接。
若开启此项,Excalidraw 会先尝试寻找已有的相邻面板(按照右侧、左侧、上方、下方的顺序),并在其中打开该链接。如果找不到,再在新面板中打开。",MAINWORKSPACE_PANE_NAME:"在主工作区中打开",MAINWORKSPACE_PANE_DESC:"按住 CTRL/CMD + SHIFT 并点击绘图里的内部链接时,插件默认会在当前窗口的新面板中打开该链接。
若开启此项,Excalidraw 会在主工作区的面板中打开该链接。",LINK_BRACKETS_NAME:"在链接的两侧显示 [[中括号]]",LINK_BRACKETS_DESC:"文本元素处于预览模式时,在内部链接的两侧显示中括号。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-brackets: true/false 的键值对。",LINK_PREFIX_NAME:"内部链接的前缀",LINK_PREFIX_DESC:'文本元素处于预览模式时,如果其中包含链接,则添加此前缀。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-prefix: "📍 " 的键值对。',URL_PREFIX_NAME:"外部链接的前缀",URL_PREFIX_DESC:'文本元素处于预览模式时,如果其中包含外部链接,则添加此前缀。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-url-prefix: "🌐 " 的键值对。',PARSE_TODO_NAME:"解析任务列表(Todo)",PARSE_TODO_DESC:"将文本元素中的 - [ ]- [x] 前缀显示为方框。",TODO_NAME:"未完成的 Todo 项目",TODO_DESC:"未完成的 Todo 项目的符号",DONE_NAME:"已完成的 Todo 项目",DONE_DESC:"已完成的 Todo 项目的符号",HOVERPREVIEW_NAME:"鼠标悬停预览内部链接",HOVERPREVIEW_DESC:"开启:在 Excalidraw 阅读模式(View)下,鼠标悬停在 [[内部链接]] 上即可预览;而在普通模式(Normal)下, 鼠标悬停在内部链接右上角的蓝色标识上即可预览。
关闭:鼠标悬停在 [[内部链接]] 上,并且按住 CTRL/CMD 时进行预览。",LINKOPACITY_NAME:"链接标识的透明度",LINKOPACITY_DESC:"含有链接的元素,其右上角的链接标识的透明度。介于 0(全透明)到 1(不透明)之间。",LINK_CTRL_CLICK_NAME:"按住 CTRL/CMD 并点击含有 [[链接]] 或 [别名](链接) 的文本来打开链接",LINK_CTRL_CLICK_DESC:"如果此功能影响到您使用某些原版 Excalidraw 功能,可将其关闭。关闭后,您只能通过绘图面板标题栏中的链接按钮来打开链接。",TRANSCLUSION_WRAP_NAME:"Transclusion 的折行方式",TRANSCLUSION_WRAP_DESC:"中的 number 表示嵌入的文本溢出时,在第几个字符处进行折行。
此开关控制具体的折行方式。若开启,则严格在 number 处折行,禁止溢出;若关闭,则允许在 number 位置后最近的空格处折行。",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion 的默认折行位置",TRANSCLUSION_DEFAULT_WRAP_DESC:"除了通过 ![[doc#^block]]{number} 中的 number 来控制折行位置,您也可以在此设置 number 的默认值。
一般设为 0 即可,表示不设置固定的默认值,这样当您需要嵌入文档到便签中时,Excalidraw 能更好地帮您自动处理。",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Transclusion 的最大显示字符数",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"以 ![[内部链接]]![](内部链接) 的形式将文档以文本形式嵌入到绘图中时,该文档在绘图中可显示的最大字符数量。",GET_URL_TITLE_NAME:"使用 iframly 获取页面标题",GET_URL_TITLE_DESC:"拖放链接到 Excalidraw 时,使用 http://iframely.server.crestify.com/iframely?url= 来获取页面的标题。",MD_HEAD:"以图像形式嵌入到绘图中的 Markdown 文档(MD-Embed)",MD_HEAD_DESC:"您还可以将 Markdown 文档以图像形式(而非文本形式)嵌入到绘图中。方法是按住 CTRL/CMD 并从文件管理器中把文档拖入绘图,或者执行“以图像形式嵌入”系列命令。",MD_TRANSCLUDE_WIDTH_NAME:"MD-Embed 的默认宽度",MD_TRANSCLUDE_WIDTH_DESC:"MD-Embed 的宽度。该选项会影响到折行,以及图像元素的宽度。
您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#标题|宽度x最大高度]]。",MD_TRANSCLUDE_HEIGHT_NAME:"MD-Embed 的默认最大高度",MD_TRANSCLUDE_HEIGHT_DESC:"MD-Embed 的高度取决于 Markdown 文档内容的多少,但最大不会超过该值。
您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#^块引ID|宽度x最大高度]]。",MD_DEFAULT_FONT_NAME:"MD-Embed 的默认字体",MD_DEFAULT_FONT_DESC:"可以设为 VirgilCasadia 或其他有效的 .ttf/.woff/.woff2 字体文件(如 我的字体.woff2)。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font: 字体名或文件名 的键值对。",MD_DEFAULT_COLOR_NAME:"MD-Embed 的默认文本颜色",MD_DEFAULT_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font-color: steelblue 的键值对。",MD_DEFAULT_BORDER_COLOR_NAME:"MD-Embed 的默认边框颜色",MD_DEFAULT_BORDER_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-border-color: gray 的键值对。
如果您不想要边框,请留空。",MD_CSS_NAME:"MD-Embed 的默认 CSS 样式表",MD_CSS_DESC:"MD-Embed 图像所采用的 CSS 样式表文件名。需包含扩展名,例如 md-embed.css。允许使用 Markdown 文件(如 md-embed-css.md),但其内容应符合 CSS 语法。
如果您要查询 CSS 所作用的 HTML 节点,请在 Obsidian 开发者控制台(CTRL+SHIFT+i)中键入命令:ExcalidrawAutomate.mostRecentMarkdownSVG —— 这将显示 Excalidraw 最近生成的 SVG。
此外,在 CSS 中不能任意地设置字体,您一般只能使用系统默认的标准字体(详见 README),但可以通过上面的设置来额外添加一个自定义字体。
您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-css: 库中的CSS文件或CSS片段 的键值对。",EMBED_HEAD:"嵌入到文档中的绘图(Embed) & 导出",EMBED_REUSE_EXPORTED_IMAGE_NAME:"将之前已导出的图像作为 Embed 的预览图(如果存在的话)",EMBED_REUSE_EXPORTED_IMAGE_DESC:"该选项与“自动导出 SVG/PNG 副本”选项配合使用。如果存在文件名相匹配的 SVG/PNG 副本,则将其作为 Embed 的预览图,而不再重新生成预览图。
该选项能够提高性能,尤其是当 Embed 中含有大量图像或 MD-Embed 时。但是,该选项也可能导致预览图无法立即响应你最新的修改,或者你对 Obsidian 主题风格的改变。
该选项仅作用于嵌入到文档中的绘图。由于种种原因,该技术无法用于加快绘图文件的打开速度。详见此说明。",EMBED_PREVIEW_SVG_NAME:"生成 SVG 格式的 Embed 预览图",EMBED_PREVIEW_SVG_DESC:"开启:在 Markdown 预览模式下,为 Embed 生成 SVG 格式的预览图。
关闭:为 Embed 生成 PNG 格式的预览图。注意:PNG 格式预览图不支持某些 绘图元素的块引用特性。",PREVIEW_MATCH_OBSIDIAN_NAME:"Embed 预览图匹配 Obsidian 主题",PREVIEW_MATCH_OBSIDIAN_DESC:"开启此项,则当 Obsidian 处于黑暗模式时,Embed 的预览图也会以黑暗模式渲染;当 Obsidian 处于明亮模式时,预览图也会以明亮模式渲染。
您可能还需要关闭“导出的图像包含背景”开关,来获得与 Obsidian 更加协调的观感。",EMBED_WIDTH_NAME:"Embed 预览图的默认宽度",EMBED_WIDTH_DESC:"该选项同时作用于 Obsidian 实时预览模式下的编辑视图和阅读视图,以及鼠标悬停时浮现的预览图。
您可为某个要嵌入到文档中的绘图(Embed)单独设置此项,方法是修改相应的链接格式为形如 ![[drawing.excalidraw|100]][[drawing.excalidraw|100x100]] 的格式。",EMBED_TYPE_NAME:"“嵌入绘图到当前文档”系列命令的源文件类型",EMBED_TYPE_DESC:"在命令面板中执行“嵌入绘图到当前文档”系列命令时,要嵌入绘图文件本身,还是嵌入其 PNG 或 SVG 副本。
如果您想选择 PNG 或 SVG 副本,需要先开启下方的“自动导出 PNG 副本”或“自动导出 SVG 副本”开关。
如果您选择了 PNG 或 SVG 副本,当副本不存在时,该命令将会插入一条损坏的链接,您需要打开绘图文件并手动导出副本才能修复 —— 也就是说,该选项不会自动帮您生成 PNG/SVG 副本,而只会引用已有的 PNG/SVG 副本。",EMBED_WIKILINK_NAME:"“嵌入绘图到当前文档”命令产生的内部链接类型",EMBED_WIKILINK_DESC:"开启:将产生 ![[Wiki 链接]]关闭:将产生 ![](Markdown 链接)。",EXPORT_PNG_SCALE_NAME:"导出的 PNG 图像的比例",EXPORT_PNG_SCALE_DESC:"导出的 PNG 图像的大小比例",EXPORT_BACKGROUND_NAME:"导出的图像包含背景",EXPORT_BACKGROUND_DESC:"如果关闭,将导出透明背景的图像。",EXPORT_PADDING_NAME:"导出的图像的空白边距",EXPORT_PADDING_DESC:"导出的 SVG/PNG 图像四周的空白边距(单位:像素)。
增加该值,可以避免在导出图像时,靠近图像边缘的图形被裁掉。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-export-padding: 5 的键值对。",EXPORT_THEME_NAME:"导出的图像包含主题",EXPORT_THEME_DESC:"导出与绘图的黑暗/明亮主题匹配的图像。如果关闭,在黑暗主题下导出的图像将和明亮主题一样。",EXPORT_HEAD:"导出设置",EXPORT_SYNC_NAME:"保持 SVG/PNG 文件名与绘图文件同步",EXPORT_SYNC_DESC:"打开后,当绘图文件被重命名时,插件将同步更新同文件夹下的同名 .SVG 和 .PNG 文件。当绘图文件被删除时,插件将自动删除同文件夹下的同名 .SVG 和 .PNG 文件。",EXPORT_SVG_NAME:"自动导出 SVG 副本",EXPORT_SVG_DESC:"自动导出和绘图文件同名的 SVG 副本。插件会将副本保存到绘图文件所在的文件夹中。在文档中嵌入这个 SVG 文件,相比直接嵌入绘图文件,具有更强的跨平台能力。
此开关开启时,每次您编辑 Excalidraw 绘图,其 SVG 文件副本都会同步更新。
您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-autoexport: none/both/svg/png的键值对",EXPORT_PNG_NAME:"自动导出 PNG 副本",EXPORT_PNG_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.PNG。",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"同时导出黑暗和明亮风格的图像",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"若开启,Excalidraw 将导出两个文件:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
该选项可作用于“自动导出 SVG 副本”、“自动导出 PNG 副本”,以及其他的手动的导出命令。",COMPATIBILITY_HEAD:"兼容性设置",EXPORT_EXCALIDRAW_NAME:"自动导出 Excalidraw 旧格式副本",EXPORT_EXCALIDRAW_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.excalidraw。",SYNC_EXCALIDRAW_NAME:"新旧格式绘图文件的内容保持同步",SYNC_EXCALIDRAW_DESC:"如果旧格式(*.excalidraw)绘图文件的修改日期比新格式(*.md)更新,则根据旧格式文件的内容来更新新格式文件。",COMPATIBILITY_MODE_NAME:"以旧格式创建新绘图",COMPATIBILITY_MODE_DESC:"开启此功能后,您通过功能区按钮、命令面板、文件浏览器等创建的绘图都将是旧格式(*.excalidraw)。此外,您打开旧格式绘图文件时将不再收到提醒消息。",MATHJAX_NAME:"MathJax (LaTeX) 的 javascript 库服务器",MATHJAX_DESC:"如果您在绘图中使用 LaTeX,插件需要从服务器获取并加载一个 javascript 库。如果您的网络无法访问某些库服务器,可以尝试通过此选项更换库服务器。更改此选项后,您可能需要重启 Obsidian 来使其生效。",EXPERIMENTAL_HEAD:"实验性功能",EXPERIMENTAL_DESC:"以下部分设置不会立即生效,需要刷新文件资源管理器或者重启 Obsidian 才会生效。",FIELD_SUGGESTER_NAME:"开启字段建议",FIELD_SUGGESTER_DESC:"开启后,当您在编辑器中输入 excalidraw- 或者 ea. 时,会弹出一个带有函数说明的自动补全提示菜单。
该功能借鉴了 Breadcrumbs 和 Templater 插件。",FILETYPE_NAME:"在文件浏览器中为 excalidraw.md 文件添加类型标识符(如 ✏️)",FILETYPE_DESC:"可通过下一项设置来自定义类型标识符。",FILETAG_NAME:"excalidraw.md 文件的类型标识符",FILETAG_DESC:"要显示为类型标识符的 emoji 或文本。",INSERT_EMOJI:"插入 emoji",LIVEPREVIEW_NAME:"嵌入绘图到文档时,模拟嵌入图像的语法",LIVEPREVIEW_DESC:"开启此项,则可在 Obsidian 实时预览模式的编辑视图下,用形如 ![[绘图|宽度|样式]] 的语法来嵌入绘图。
该选项不会在已打开的文档中立刻生效 —— 你需要重新打开此文档来使其生效。",ENABLE_FOURTH_FONT_NAME:"为文本元素启用本地字体",ENABLE_FOURTH_FONT_DESC:"开启此项后,文本元素的属性面板里会多出一个本地字体按钮。
使用了本地字体的绘图文件,将会失去一部分跨平台能力 —— 若将绘图文件移动到其他库中打开,显示效果可能会截然不同;若在 excalidraw.com 或者其他版本的 Excalidraw 中打开,使用本地字体的文本会变回系统默认字体。",FOURTH_FONT_NAME:"本地字体文件",FOURTH_FONT_DESC:"选择库文件夹中的一个 .ttf, .woff 或 .woff2 字体文件作为本地字体文件。若未选择文件,则使用默认的 Virgil 字体。",SCRIPT_SETTINGS_HEAD:"已安装脚本的设置",SELECT_FILE:"选择一个文件后按回车。",NO_MATCH:"查询不到匹配的文件。",SELECT_FILE_TO_LINK:"选择要插入(链接)到当前绘图中的文件。",SELECT_DRAWING:"选择要插入(以图像形式嵌入)到当前绘图中的图像。",TYPE_FILENAME:"键入要选择的绘图名称。",SELECT_FILE_OR_TYPE_NEW:"选择已有绘图,或者新绘图的类型,然后按回车。",SELECT_TO_EMBED:"选择要插入(嵌入)到当前文档中的绘图。",SELECT_MD:"选择要插入(以图像形式嵌入)到当前绘图中的 Markdown 文档。",INFINITE_LOOP_WARNING:"EXCALIDRAW 警告\n停止加载嵌入的图像,因为此文件中存在死循环:\n",SCRIPT_EXECUTION_ERROR:"脚本运行错误。请在开发者控制台中查看错误信息。",LOAD_FROM_BACKUP:"Excalidraw 文件已损坏。尝试从备份文件中加载。",GOTO_FULLSCREEN:"进入全屏模式",EXIT_FULLSCREEN:"退出全屏模式",TOGGLE_FULLSCREEN:"切换全屏模式"},zhTW={};const localeMap={ar:ar,cs:cz,da:da,de:de,en:en,"en-gb":enGB,es:es,fr:fr,hi:hi,id:id,it:it,ja:ja,ko:ko,nl:nl,nn:no,pl:pl,pt:pt,"pt-br":ptBR,ro:ro,ru:ru,tr:tr,"zh-cn":zhCN,"zh-tw":zhTW},locale=localeMap[obsidian_module.moment.locale()];function t$d(e){return locale||errorlog({where:"helpers.t",message:"Error: Excalidraw locale not found",locale:obsidian_module.moment.locale()}),locale&&locale[e]||en[e]}var html2canvas$1={exports:{}}; /*! * html2canvas 1.4.0 * Copyright (c) 2022 Niklas von Hertzen @@ -19,9 +19,9 @@ const EXCALIDRAW_PACKAGES = "PQKhAIAEBsEsGMCmA7Azo8AlRBDeAXcANwEYB2AOgAYKAmAKHAg OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -var e=function(A,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,A){e.__proto__=A}||function(e,A){for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t])},e(A,t)};function A(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=A}e(A,t),A.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var A,t=1,n=arguments.length;t0&&i[i.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=55296&&i<=56319&&t>10),r%1024+56320)),(i+1===t||n.length>16384)&&(a+=String.fromCharCode.apply(String,n),n.length=0)}return a},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d="undefined"==typeof Uint8Array?[]:new Uint8Array(256),h=0;h=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A],A+=e>>5&63,A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),p=10,w=13,m=15,f=17,B=18,E=19,b=20,C=21,v=22,y=24,F=25,x=26,Q=27,U=28,S=30,T=32,I=33,k=34,M=35,L=37,O=38,N=39,H=40,D=42,R=[9001,65288],P="×",V="÷",K=function(e){var A,t,n,i=function(e){var A,t,n,i,a,r=.75*e.length,s=e.length,o=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);var l="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(r):new Array(r),c=Array.isArray(l)?l:new Uint8Array(l);for(A=0;A>4,c[o++]=(15&n)<<4|i>>2,c[o++]=(3&i)<<6|63&a;return l}(e),a=Array.isArray(i)?function(e){for(var A=e.length,t=[],n=0;n0;){var r=n[--a];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var s=t;s<=n.length;){var o;if((o=n[++s])===A)return!0;if(o!==p)break}if(r!==p)break}return!1},q=function(e,A){for(var t=e;t>=0;){var n=A[t];if(n!==p)return n;t--}return 0},_=function(e,A,t,n,i){if(0===t[n])return P;var a=n-1;if(Array.isArray(i)&&!0===i[a])return P;var r=a-1,s=a+1,o=A[a],l=r>=0?A[r]:0,c=A[s];if(2===o&&3===c)return P;if(-1!==W.indexOf(o))return"!";if(-1!==W.indexOf(c))return P;if(-1!==z.indexOf(c))return P;if(8===q(a,A))return V;if(11===K.get(e[a]))return P;if((o===T||o===I)&&11===K.get(e[s]))return P;if(7===o||7===c)return P;if(9===o)return P;if(-1===[p,w,m].indexOf(o)&&9===c)return P;if(-1!==[f,B,E,y,U].indexOf(c))return P;if(q(a,A)===v)return P;if(Z(23,v,a,A))return P;if(Z([f,B],C,a,A))return P;if(Z(12,12,a,A))return P;if(o===p)return V;if(23===o||23===c)return P;if(16===c||16===o)return V;if(-1!==[w,m,C].indexOf(c)||14===o)return P;if(36===l&&-1!==J.indexOf(o))return P;if(o===U&&36===c)return P;if(c===b)return P;if(-1!==G.indexOf(c)&&o===F||-1!==G.indexOf(o)&&c===F)return P;if(o===Q&&-1!==[L,T,I].indexOf(c)||-1!==[L,T,I].indexOf(o)&&c===x)return P;if(-1!==G.indexOf(o)&&-1!==X.indexOf(c)||-1!==X.indexOf(o)&&-1!==G.indexOf(c))return P;if(-1!==[Q,x].indexOf(o)&&(c===F||-1!==[v,m].indexOf(c)&&A[s+1]===F)||-1!==[v,m].indexOf(o)&&c===F||o===F&&-1!==[F,U,y].indexOf(c))return P;if(-1!==[F,U,y,f,B].indexOf(c))for(var d=a;d>=0;){if((h=A[d])===F)return P;if(-1===[U,y].indexOf(h))break;d--}if(-1!==[Q,x].indexOf(c))for(d=-1!==[f,B].indexOf(o)?r:a;d>=0;){var h;if((h=A[d])===F)return P;if(-1===[U,y].indexOf(h))break;d--}if(O===o&&-1!==[O,N,k,M].indexOf(c)||-1!==[N,k].indexOf(o)&&-1!==[N,H].indexOf(c)||-1!==[H,M].indexOf(o)&&c===H)return P;if(-1!==j.indexOf(o)&&-1!==[b,x].indexOf(c)||-1!==j.indexOf(c)&&o===Q)return P;if(-1!==G.indexOf(o)&&-1!==G.indexOf(c))return P;if(o===y&&-1!==G.indexOf(c))return P;if(-1!==G.concat(F).indexOf(o)&&c===v&&-1===R.indexOf(e[s])||-1!==G.concat(F).indexOf(c)&&o===B)return P;if(41===o&&41===c){for(var u=t[a],g=1;u>0&&41===A[--u];)g++;if(g%2!=0)return P}return o===T&&c===I?P:V},$=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=function(e,A){void 0===A&&(A="strict");var t=[],n=[],i=[];return e.forEach((function(e,a){var r=K.get(e);if(r>50?(i.push(!0),r-=50):i.push(!1),-1!==["normal","auto","loose"].indexOf(A)&&-1!==[8208,8211,12316,12448].indexOf(e))return n.push(a),t.push(16);if(4===r||11===r){if(0===a)return n.push(a),t.push(S);var s=t[a-1];return-1===Y.indexOf(s)?(n.push(n[a-1]),t.push(s)):(n.push(a),t.push(S))}return n.push(a),31===r?t.push("strict"===A?C:L):r===D||29===r?t.push(S):43===r?e>=131072&&e<=196605||e>=196608&&e<=262141?t.push(L):t.push(S):void t.push(r)})),[n,t,i]}(e,A.lineBreak),n=t[0],i=t[1],a=t[2];"break-all"!==A.wordBreak&&"break-word"!==A.wordBreak||(i=i.map((function(e){return-1!==[F,S,D].indexOf(e)?L:e})));var r="keep-all"===A.wordBreak?a.map((function(A,t){return A&&e[t]>=19968&&e[t]<=40959})):void 0;return[n,i,r]},ee=function(){function e(e,A,t,n){this.codePoints=e,this.required="!"===A,this.start=t,this.end=n}return e.prototype.slice=function(){return l.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),Ae=45,te=43,ne=-1,ie=function(e){return e>=48&&e<=57},ae=function(e){return ie(e)||e>=65&&e<=70||e>=97&&e<=102},re=function(e){return 10===e||9===e||32===e},se=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},oe=function(e){return se(e)||ie(e)||e===Ae},le=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},ce=function(e,A){return 92===e&&10!==A},de=function(e,A,t){return e===Ae?se(A)||ce(A,t):!!se(e)||!(92!==e||!ce(e,A))},he=function(e,A,t){return e===te||e===Ae?!!ie(A)||46===A&&ie(t):ie(46===e?A:e)},ue=function(e){var A=0,t=1;e[A]!==te&&e[A]!==Ae||(e[A]===Ae&&(t=-1),A++);for(var n=[];ie(e[A]);)n.push(e[A++]);var i=n.length?parseInt(l.apply(void 0,n),10):0;46===e[A]&&A++;for(var a=[];ie(e[A]);)a.push(e[A++]);var r=a.length,s=r?parseInt(l.apply(void 0,a),10):0;69!==e[A]&&101!==e[A]||A++;var o=1;e[A]!==te&&e[A]!==Ae||(e[A]===Ae&&(o=-1),A++);for(var c=[];ie(e[A]);)c.push(e[A++]);var d=c.length?parseInt(l.apply(void 0,c),10):0;return t*(i+s*Math.pow(10,-r))*Math.pow(10,o*d)},ge={type:2},pe={type:3},we={type:4},me={type:13},fe={type:8},Be={type:21},Ee={type:9},be={type:10},Ce={type:11},ve={type:12},ye={type:14},Fe={type:23},xe={type:1},Qe={type:25},Ue={type:24},Se={type:26},Te={type:27},Ie={type:28},ke={type:29},Me={type:31},Le={type:32},Oe=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(o(e))},e.prototype.read=function(){for(var e=[],A=this.consumeToken();A!==Le;)e.push(A),A=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var A=this.peekCodePoint(0),t=this.peekCodePoint(1),n=this.peekCodePoint(2);if(oe(A)||ce(t,n)){var i=de(A,t,n)?2:1;return{type:5,value:this.consumeName(),flags:i}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),me;break;case 39:return this.consumeStringToken(39);case 40:return ge;case 41:return pe;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ye;break;case te:if(he(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return we;case Ae:var a=e,r=this.peekCodePoint(0),s=this.peekCodePoint(1);if(he(a,r,s))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(de(a,r,s))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(r===Ae&&62===s)return this.consumeCodePoint(),this.consumeCodePoint(),Ue;break;case 46:if(he(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var o=this.consumeCodePoint();if(42===o&&47===(o=this.consumeCodePoint()))return this.consumeToken();if(o===ne)return this.consumeToken()}break;case 58:return Se;case 59:return Te;case 60:if(33===this.peekCodePoint(0)&&this.peekCodePoint(1)===Ae&&this.peekCodePoint(2)===Ae)return this.consumeCodePoint(),this.consumeCodePoint(),Qe;break;case 64:var c=this.peekCodePoint(0),d=this.peekCodePoint(1),h=this.peekCodePoint(2);if(de(c,d,h))return{type:7,value:this.consumeName()};break;case 91:return Ie;case 92:if(ce(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return ke;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),fe;break;case 123:return Ce;case 125:return ve;case 117:case 85:var u=this.peekCodePoint(0),g=this.peekCodePoint(1);return u!==te||!ae(g)&&63!==g||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Ee;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Be;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),be;break;case ne:return Le}return re(e)?(this.consumeWhiteSpace(),Me):ie(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):se(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:l(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],A=this.consumeCodePoint();ae(A)&&e.length<6;)e.push(A),A=this.consumeCodePoint();for(var t=!1;63===A&&e.length<6;)e.push(A),A=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(l.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(l.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var n=parseInt(l.apply(void 0,e),16);if(this.peekCodePoint(0)===Ae&&ae(this.peekCodePoint(1))){this.consumeCodePoint(),A=this.consumeCodePoint();for(var i=[];ae(A)&&i.length<6;)i.push(A),A=this.consumeCodePoint();return{type:30,start:n,end:parseInt(l.apply(void 0,i),16)}}return{type:30,start:n,end:n}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===ne)return{type:22,value:""};var A=this.peekCodePoint(0);if(39===A||34===A){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===ne||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),Fe)}for(;;){var n=this.consumeCodePoint();if(n===ne||41===n)return{type:22,value:l.apply(void 0,e)};if(re(n))return this.consumeWhiteSpace(),this.peekCodePoint(0)===ne||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Fe);if(34===n||39===n||40===n||le(n))return this.consumeBadUrlRemnants(),Fe;if(92===n){if(!ce(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),Fe;e.push(this.consumeEscapedCodePoint())}else e.push(n)}},e.prototype.consumeWhiteSpace=function(){for(;re(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||e===ne)return;ce(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var A="";e>0;){var t=Math.min(5e4,e);A+=l.apply(void 0,this._value.splice(0,t)),e-=t}return this._value.shift(),A},e.prototype.consumeStringToken=function(e){for(var A="",t=0;;){var n=this._value[t];if(n===ne||void 0===n||n===e)return{type:0,value:A+=this.consumeStringSlice(t)};if(10===n)return this._value.splice(0,t),xe;if(92===n){var i=this._value[t+1];i!==ne&&void 0!==i&&(10===i?(A+=this.consumeStringSlice(t),t=-1,this._value.shift()):ce(n,i)&&(A+=this.consumeStringSlice(t),A+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},e.prototype.consumeNumber=function(){var e=[],A=4,t=this.peekCodePoint(0);for(t!==te&&t!==Ae||e.push(this.consumeCodePoint());ie(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===t&&ie(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ie(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0),n=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((69===t||101===t)&&((n===te||n===Ae)&&ie(i)||ie(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ie(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[ue(e),A]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),A=e[0],t=e[1],n=this.peekCodePoint(0),i=this.peekCodePoint(1),a=this.peekCodePoint(2);return de(n,i,a)?{type:15,number:A,flags:t,unit:this.consumeName()}:37===n?(this.consumeCodePoint(),{type:16,number:A,flags:t}):{type:17,number:A,flags:t}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(ae(e)){for(var A=l(e);ae(this.peekCodePoint(0))&&A.length<6;)A+=l(this.consumeCodePoint());re(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(A,16);return 0===t||function(e){return e>=55296&&e<=57343}(t)||t>1114111?65533:t}return e===ne?65533:e},e.prototype.consumeName=function(){for(var e="";;){var A=this.consumeCodePoint();if(oe(A))e+=l(A);else{if(!ce(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),e;e+=l(this.consumeEscapedCodePoint())}}},e}(),Ne=function(){function e(e){this._tokens=e}return e.create=function(A){var t=new Oe;return t.write(A),new e(t.read())},e.parseValue=function(A){return e.create(A).parseComponentValue()},e.parseValues=function(A){return e.create(A).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var A=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return A;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var A=this.consumeComponentValue();if(32===A.type)return e;e.push(A),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var A={type:e,values:[]},t=this.consumeToken();;){if(32===t.type||ze(t,e))return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue()),t=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var A={name:e.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?Le:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),He=function(e){return 15===e.type},De=function(e){return 17===e.type},Re=function(e){return 20===e.type},Pe=function(e){return 0===e.type},Ve=function(e,A){return Re(e)&&e.value===A},Ke=function(e){return 31!==e.type},Ge=function(e){return 31!==e.type&&4!==e.type},We=function(e){var A=[],t=[];return e.forEach((function(e){if(4===e.type){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return A.push(t),void(t=[])}31!==e.type&&t.push(e)})),t.length&&A.push(t),A},ze=function(e,A){return 11===A&&12===e.type||28===A&&29===e.type||2===A&&3===e.type},Xe=function(e){return 17===e.type||15===e.type},Ye=function(e){return 16===e.type||Xe(e)},je=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},Je={type:17,number:0,flags:4},Ze={type:16,number:50,flags:4},qe={type:16,number:100,flags:4},_e=function(e,A,t){var n=e[0],i=e[1];return[$e(n,A),$e(void 0!==i?i:n,t)]},$e=function(e,A){if(16===e.type)return e.number/100*A;if(He(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},eA="grad",AA="turn",tA=function(e,A){if(15===A.type)switch(A.unit){case"deg":return Math.PI*A.number/180;case eA:return Math.PI/200*A.number;case"rad":return A.number;case AA:return 2*Math.PI*A.number}throw new Error("Unsupported angle type")},nA=function(e){return 15===e.type&&("deg"===e.unit||e.unit===eA||"rad"===e.unit||e.unit===AA)},iA=function(e){switch(e.filter(Re).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Je,Je];case"to top":case"bottom":return aA(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Je,qe];case"to right":case"left":return aA(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[qe,qe];case"to bottom":case"top":return aA(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[qe,Je];case"to left":case"right":return aA(270)}return 0},aA=function(e){return Math.PI*e/180},rA=function(e,A){if(18===A.type){var t=gA[A.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+A.name+'"');return t(e,A.values)}if(5===A.type){if(3===A.value.length){var n=A.value.substring(0,1),i=A.value.substring(1,2),a=A.value.substring(2,3);return lA(parseInt(n+n,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(4===A.value.length){n=A.value.substring(0,1),i=A.value.substring(1,2),a=A.value.substring(2,3);var r=A.value.substring(3,4);return lA(parseInt(n+n,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(r+r,16)/255)}if(6===A.value.length)return n=A.value.substring(0,2),i=A.value.substring(2,4),a=A.value.substring(4,6),lA(parseInt(n,16),parseInt(i,16),parseInt(a,16),1);if(8===A.value.length)return n=A.value.substring(0,2),i=A.value.substring(2,4),a=A.value.substring(4,6),r=A.value.substring(6,8),lA(parseInt(n,16),parseInt(i,16),parseInt(a,16),parseInt(r,16)/255)}if(20===A.type){var s=wA[A.value.toUpperCase()];if(void 0!==s)return s}return wA.TRANSPARENT},sA=function(e){return 0==(255&e)},oA=function(e){var A=255&e,t=255&e>>8,n=255&e>>16,i=255&e>>24;return A<255?"rgba("+i+","+n+","+t+","+A/255+")":"rgb("+i+","+n+","+t+")"},lA=function(e,A,t,n){return(e<<24|A<<16|t<<8|Math.round(255*n)<<0)>>>0},cA=function(e,A){if(17===e.type)return e.number;if(16===e.type){var t=3===A?1:255;return 3===A?e.number/100*t:Math.round(e.number/100*t)}return 0},dA=function(e,A){var t=A.filter(Ge);if(3===t.length){var n=t.map(cA),i=n[0],a=n[1],r=n[2];return lA(i,a,r,1)}if(4===t.length){var s=t.map(cA),o=(i=s[0],a=s[1],r=s[2],s[3]);return lA(i,a,r,o)}return 0};function hA(e,A,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(A-e)*t*6+e:t<.5?A:t<2/3?6*(A-e)*(2/3-t)+e:e}var uA=function(e,A){var t=A.filter(Ge),n=t[0],i=t[1],a=t[2],r=t[3],s=(17===n.type?aA(n.number):tA(e,n))/(2*Math.PI),o=Ye(i)?i.number/100:0,l=Ye(a)?a.number/100:0,c=void 0!==r&&Ye(r)?$e(r,1):1;if(0===o)return lA(255*l,255*l,255*l,1);var d=l<=.5?l*(o+1):l+o-l*o,h=2*l-d,u=hA(h,d,s+1/3),g=hA(h,d,s),p=hA(h,d,s-1/3);return lA(255*u,255*g,255*p,c)},gA={hsl:uA,hsla:uA,rgb:dA,rgba:dA},pA=function(e,A){return rA(e,Ne.create(A).parseComponentValue())},wA={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},mA={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map((function(e){if(Re(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},fA={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},BA=function(e,A){var t=rA(e,A[0]),n=A[1];return n&&Ye(n)?{color:t,stop:n}:{color:t,stop:null}},EA=function(e,A){var t=e[0],n=e[e.length-1];null===t.stop&&(t.stop=Je),null===n.stop&&(n.stop=qe);for(var i=[],a=0,r=0;ra?i.push(o):i.push(a),a=o}else i.push(null)}var l=null;for(r=0;re.optimumDistance)?{optimumCorner:A,optimumDistance:s}:e}),{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},yA=function(e,A){var t=aA(180),n=[];return We(A).forEach((function(A,i){if(0===i){var a=A[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(t=iA(A));if(nA(a))return void(t=(tA(e,a)+aA(270))%aA(360))}var r=BA(e,A);n.push(r)})),{angle:t,stops:n,type:1}},FA="closest-side",xA="farthest-side",QA="closest-corner",UA="farthest-corner",SA="circle",TA="ellipse",IA="cover",kA="contain",MA=function(e,A){var t=0,n=3,i=[],a=[];return We(A).forEach((function(A,r){var s=!0;if(0===r?s=A.reduce((function(e,A){if(Re(A))switch(A.value){case"center":return a.push(Ze),!1;case"top":case"left":return a.push(Je),!1;case"right":case"bottom":return a.push(qe),!1}else if(Ye(A)||Xe(A))return a.push(A),!1;return e}),s):1===r&&(s=A.reduce((function(e,A){if(Re(A))switch(A.value){case SA:return t=0,!1;case TA:return t=1,!1;case kA:case FA:return n=0,!1;case xA:return n=1,!1;case QA:return n=2,!1;case IA:case UA:return n=3,!1}else if(Xe(A)||Ye(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e}),s)),s){var o=BA(e,A);i.push(o)}})),{size:n,shape:t,stops:i,position:a,type:2}},LA=function(e,A){if(22===A.type){var t={url:A.value,type:0};return e.cache.addImage(A.value),t}if(18===A.type){var n=NA[A.name];if(void 0===n)throw new Error('Attempting to parse an unsupported image function "'+A.name+'"');return n(e,A.values)}throw new Error("Unsupported image type "+A.type)};var OA,NA={"linear-gradient":function(e,A){var t=aA(180),n=[];return We(A).forEach((function(A,i){if(0===i){var a=A[0];if(20===a.type&&"to"===a.value)return void(t=iA(A));if(nA(a))return void(t=tA(e,a))}var r=BA(e,A);n.push(r)})),{angle:t,stops:n,type:1}},"-moz-linear-gradient":yA,"-ms-linear-gradient":yA,"-o-linear-gradient":yA,"-webkit-linear-gradient":yA,"radial-gradient":function(e,A){var t=0,n=3,i=[],a=[];return We(A).forEach((function(A,r){var s=!0;if(0===r){var o=!1;s=A.reduce((function(e,A){if(o)if(Re(A))switch(A.value){case"center":return a.push(Ze),e;case"top":case"left":return a.push(Je),e;case"right":case"bottom":return a.push(qe),e}else(Ye(A)||Xe(A))&&a.push(A);else if(Re(A))switch(A.value){case SA:return t=0,!1;case TA:return t=1,!1;case"at":return o=!0,!1;case FA:return n=0,!1;case IA:case xA:return n=1,!1;case kA:case QA:return n=2,!1;case UA:return n=3,!1}else if(Xe(A)||Ye(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e}),s)}if(s){var l=BA(e,A);i.push(l)}})),{size:n,shape:t,stops:i,position:a,type:2}},"-moz-radial-gradient":MA,"-ms-radial-gradient":MA,"-o-radial-gradient":MA,"-webkit-radial-gradient":MA,"-webkit-gradient":function(e,A){var t=aA(180),n=[],i=1;return We(A).forEach((function(A,t){var a=A[0];if(0===t){if(Re(a)&&"linear"===a.value)return void(i=1);if(Re(a)&&"radial"===a.value)return void(i=2)}if(18===a.type)if("from"===a.name){var r=rA(e,a.values[0]);n.push({stop:Je,color:r})}else if("to"===a.name)r=rA(e,a.values[0]),n.push({stop:qe,color:r});else if("color-stop"===a.name){var s=a.values.filter(Ge);if(2===s.length){r=rA(e,s[1]);var o=s[0];De(o)&&n.push({stop:{type:16,number:100*o.number,flags:o.flags},color:r})}}})),1===i?{angle:(t+aA(180))%aA(360),stops:n,type:i}:{size:3,shape:0,stops:n,position:[],type:i}}},HA={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(0===A.length)return[];var t=A[0];return 20===t.type&&"none"===t.value?[]:A.filter((function(e){return Ge(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!NA[e.name])}(e)})).map((function(A){return LA(e,A)}))}},DA={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map((function(e){if(Re(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},RA={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return We(A).map((function(e){return e.filter(Ye)})).map(je)}},PA={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return We(A).map((function(e){return e.filter(Re).map((function(e){return e.value})).join(" ")})).map(VA)}},VA=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(OA||(OA={}));var KA,GA={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return We(A).map((function(e){return e.filter(WA)}))}},WA=function(e){return Re(e)||Ye(e)},zA=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},XA=zA("top"),YA=zA("right"),jA=zA("bottom"),JA=zA("left"),ZA=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,A){return je(A.filter(Ye))}}},qA=ZA("top-left"),_A=ZA("top-right"),$A=ZA("bottom-right"),et=ZA("bottom-left"),At=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,A){switch(A){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},tt=At("top"),nt=At("right"),it=At("bottom"),at=At("left"),rt=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return He(A)?A.number:0}}},st=rt("top"),ot=rt("right"),lt=rt("bottom"),ct=rt("left"),dt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ht={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){return"rtl"===A?1:0}},ut={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(Re).reduce((function(e,A){return e|gt(A.value)}),0)}},gt=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},pt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},wt={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,A){return 20===A.type&&"normal"===A.value?0:17===A.type||15===A.type?A.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(KA||(KA={}));var mt,ft={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"strict"===A?KA.STRICT:KA.NORMAL}},Bt={name:"line-height",initialValue:"normal",prefix:!1,type:4},Et=function(e,A){return Re(e)&&"normal"===e.value?1.2*A:17===e.type?A*e.number:Ye(e)?$e(e,A):A},bt={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return 20===A.type&&"none"===A.value?null:LA(e,A)}},Ct={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){return"inside"===A?0:1}},vt={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},yt=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},Ft=yt("top"),xt=yt("right"),Qt=yt("bottom"),Ut=yt("left"),St={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(Re).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},Tt={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"break-word"===A?"break-word":"normal"}},It=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},kt=It("top"),Mt=It("right"),Lt=It("bottom"),Ot=It("left"),Nt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,A){switch(A){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Ht={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Dt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&Ve(A[0],"none")?[]:We(A).map((function(A){for(var t={color:wA.TRANSPARENT,offsetX:Je,offsetY:Je,blur:Je},n=0,i=0;i1?1:0],this.overflowWrap=fn(e,Tt,A.overflowWrap),this.paddingTop=fn(e,kt,A.paddingTop),this.paddingRight=fn(e,Mt,A.paddingRight),this.paddingBottom=fn(e,Lt,A.paddingBottom),this.paddingLeft=fn(e,Ot,A.paddingLeft),this.paintOrder=fn(e,hn,A.paintOrder),this.position=fn(e,Ht,A.position),this.textAlign=fn(e,Nt,A.textAlign),this.textDecorationColor=fn(e,Zt,null!==(t=A.textDecorationColor)&&void 0!==t?t:A.color),this.textDecorationLine=fn(e,qt,null!==(n=A.textDecorationLine)&&void 0!==n?n:A.textDecoration),this.textShadow=fn(e,Dt,A.textShadow),this.textTransform=fn(e,Rt,A.textTransform),this.transform=fn(e,Pt,A.transform),this.transformOrigin=fn(e,Wt,A.transformOrigin),this.visibility=fn(e,zt,A.visibility),this.webkitTextStrokeColor=fn(e,un,A.webkitTextStrokeColor),this.webkitTextStrokeWidth=fn(e,gn,A.webkitTextStrokeWidth),this.wordBreak=fn(e,Xt,A.wordBreak),this.zIndex=fn(e,Yt,A.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return sA(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return nn(this.display,4)||nn(this.display,33554432)||nn(this.display,268435456)||nn(this.display,536870912)||nn(this.display,67108864)||nn(this.display,134217728)},e}(),wn=function(e,A){this.content=fn(e,an,A.content),this.quotes=fn(e,ln,A.quotes)},mn=function(e,A){this.counterIncrement=fn(e,rn,A.counterIncrement),this.counterReset=fn(e,sn,A.counterReset)},fn=function(e,A,t){var n=new Oe,i=null!=t?t.toString():A.initialValue;n.write(i);var a=new Ne(n.read());switch(A.type){case 2:var r=a.parseComponentValue();return A.parse(e,Re(r)?r.value:A.initialValue);case 0:return A.parse(e,a.parseComponentValue());case 1:return A.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(A.format){case"angle":return tA(e,a.parseComponentValue());case"color":return rA(e,a.parseComponentValue());case"image":return LA(e,a.parseComponentValue());case"length":var s=a.parseComponentValue();return Xe(s)?s:Je;case"length-percentage":var o=a.parseComponentValue();return Ye(o)?o:Je;case"time":return jt.parse(e,a.parseComponentValue())}}},Bn=function(e,A){var t=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===t||A===t},En=function(e,A){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Bn(A,3),this.styles=new pn(e,window.getComputedStyle(A,null)),yi(A)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(A.style.animationDuration="0s"),null!==this.styles.transform&&(A.style.transform="none")),this.bounds=s(this.context,A),Bn(A,4)&&(this.flags|=16)},bn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Cn="undefined"==typeof Uint8Array?[]:new Uint8Array(256),vn=0;vn=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A],A+=e>>5&63,A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),xn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qn="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Un=0;Un>10),r%1024+56320)),(i+1===t||n.length>16384)&&(a+=String.fromCharCode.apply(String,n),n.length=0)}return a},On=function(e,A){var t,n,i,a=function(e){var A,t,n,i,a,r=.75*e.length,s=e.length,o=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);var l="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(r):new Array(r),c=Array.isArray(l)?l:new Uint8Array(l);for(A=0;A>4,c[o++]=(15&n)<<4|i>>2,c[o++]=(3&i)<<6|63&a;return l}(e),r=Array.isArray(a)?function(e){for(var A=e.length,t=[],n=0;n=55296&&i<=56319&&t=t)return{done:!0,value:null};for(var e=Nn;nr.x||i.y>r.y;return r=i,0===A||s}));return e.body.removeChild(A),s}(document);return Object.defineProperty(Gn,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var A=new Image,t=e.createElement("canvas"),n=t.getContext("2d");if(!n)return!1;A.src="data:image/svg+xml,";try{n.drawImage(A,0,0),t.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(Gn,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var A=e.createElement("canvas"),t=100;A.width=t,A.height=t;var n=A.getContext("2d");if(!n)return Promise.reject(!1);n.fillStyle="rgb(0, 255, 0)",n.fillRect(0,0,t,t);var i=new Image,a=A.toDataURL();i.src=a;var r=Vn(t,t,0,0,i);return n.fillStyle="red",n.fillRect(0,0,t,t),Kn(r).then((function(A){n.drawImage(A,0,0);var i=n.getImageData(0,0,t,t).data;n.fillStyle="red",n.fillRect(0,0,t,t);var r=e.createElement("div");return r.style.backgroundImage="url("+a+")",r.style.height="100px",Pn(i)?Kn(Vn(t,t,0,0,r)):Promise.reject(!1)})).then((function(e){return n.drawImage(e,0,0),Pn(n.getImageData(0,0,t,t).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(Gn,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(Gn,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(Gn,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Gn,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(Gn,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Wn=function(e,A){this.text=e,this.bounds=A},zn=function(e,A){var t=A.ownerDocument;if(t){var n=t.createElement("html2canvaswrapper");n.appendChild(A.cloneNode(!0));var i=A.parentNode;if(i){i.replaceChild(n,A);var a=s(e,n);return n.firstChild&&i.replaceChild(n.firstChild,n),a}}return r.EMPTY},Xn=function(e,A,t){var n=e.ownerDocument;if(!n)throw new Error("Node has no owner document");var i=n.createRange();return i.setStart(e,A),i.setEnd(e,A+t),i},Yn=function(e){if(Gn.SUPPORT_NATIVE_TEXT_SEGMENTATION){var A=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(A.segment(e)).map((function(e){return e.segment}))}return function(e){for(var A,t=Rn(e),n=[];!(A=t.next()).done;)A.value&&n.push(A.value.slice());return n}(e)},jn=function(e,A){return 0!==A.letterSpacing?Yn(e):function(e,A){if(Gn.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return Zn(e,A)}(e,A)},Jn=[32,160,4961,65792,65793,4153,4241],Zn=function(e,A){for(var t,n=function(e,A){var t=o(e),n=$(t,A),i=n[0],a=n[1],r=n[2],s=t.length,l=0,c=0;return{next:function(){if(c>=s)return{done:!0,value:null};for(var e=P;c0)if(Gn.SUPPORT_RANGE_BOUNDS){var i=Xn(n,s,A.length).getClientRects();if(i.length>1){var o=Yn(A),l=0;o.forEach((function(A){a.push(new Wn(A,r.fromDOMRectList(e,Xn(n,l+s,A.length).getClientRects()))),l+=A.length}))}else a.push(new Wn(A,r.fromDOMRectList(e,i)))}else{var c=n.splitText(A.length);a.push(new Wn(A,zn(e,n))),n=c}else Gn.SUPPORT_RANGE_BOUNDS||(n=n.splitText(A.length));s+=A.length})),a}(e,this.text,t,A)},_n=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace($n,ei);case 2:return e.toUpperCase();default:return e}},$n=/(^|\s|:|-|\(|\))([a-z])/g,ei=function(e,A,t){return e.length>0?A+t.toUpperCase():e},Ai=function(e){function t(A,t){var n=e.call(this,A,t)||this;return n.src=t.currentSrc||t.src,n.intrinsicWidth=t.naturalWidth,n.intrinsicHeight=t.naturalHeight,n.context.cache.addImage(n.src),n}return A(t,e),t}(En),ti=function(e){function t(A,t){var n=e.call(this,A,t)||this;return n.canvas=t,n.intrinsicWidth=t.width,n.intrinsicHeight=t.height,n}return A(t,e),t}(En),ni=function(e){function t(A,t){var n=e.call(this,A,t)||this,i=new XMLSerializer,a=s(A,t);return t.setAttribute("width",a.width+"px"),t.setAttribute("height",a.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(i.serializeToString(t)),n.intrinsicWidth=t.width.baseVal.value,n.intrinsicHeight=t.height.baseVal.value,n.context.cache.addImage(n.svg),n}return A(t,e),t}(En),ii=function(e){function t(A,t){var n=e.call(this,A,t)||this;return n.value=t.value,n}return A(t,e),t}(En),ai=function(e){function t(A,t){var n=e.call(this,A,t)||this;return n.start=t.start,n.reversed="boolean"==typeof t.reversed&&!0===t.reversed,n}return A(t,e),t}(En),ri=[{type:15,flags:0,unit:"px",number:3}],si=[{type:16,flags:0,number:50}],oi="checkbox",li="radio",ci="password",di=707406591,hi=function(e){function t(A,t){var n,i,a,s=e.call(this,A,t)||this;switch(s.type=t.type.toLowerCase(),s.checked=t.checked,s.value=0===(a=(i=t).type===ci?new Array(i.value.length+1).join("•"):i.value).length?i.placeholder||"":a,s.type!==oi&&s.type!==li||(s.styles.backgroundColor=3739148031,s.styles.borderTopColor=s.styles.borderRightColor=s.styles.borderBottomColor=s.styles.borderLeftColor=2779096575,s.styles.borderTopWidth=s.styles.borderRightWidth=s.styles.borderBottomWidth=s.styles.borderLeftWidth=1,s.styles.borderTopStyle=s.styles.borderRightStyle=s.styles.borderBottomStyle=s.styles.borderLeftStyle=1,s.styles.backgroundClip=[0],s.styles.backgroundOrigin=[0],s.bounds=(n=s.bounds).width>n.height?new r(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width0)t.textNodes.push(new qn(e,i,t.styles));else if(vi(i))if(Hi(i)&&i.assignedNodes)i.assignedNodes().forEach((function(A){return mi(e,A,t,n)}));else{var r=fi(e,i);r.styles.isVisible()&&(Ei(i,r,n)?r.flags|=4:bi(r.styles)&&(r.flags|=2),-1!==wi.indexOf(i.tagName)&&(r.flags|=8),t.elements.push(r),i.slot,i.shadowRoot?mi(e,i.shadowRoot,r,n):Oi(i)||Si(i)||Ni(i)||mi(e,i,r,n))}},fi=function(e,A){return ki(A)?new Ai(e,A):Ii(A)?new ti(e,A):Si(A)?new ni(e,A):xi(A)?new ii(e,A):Qi(A)?new ai(e,A):Ui(A)?new hi(e,A):Ni(A)?new ui(e,A):Oi(A)?new gi(e,A):Mi(A)?new pi(e,A):new En(e,A)},Bi=function(e,A){var t=fi(e,A);return t.flags|=4,mi(e,A,t,t),t},Ei=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||Ti(e)&&t.styles.isTransparent()},bi=function(e){return e.isPositioned()||e.isFloating()},Ci=function(e){return e.nodeType===Node.TEXT_NODE},vi=function(e){return e.nodeType===Node.ELEMENT_NODE},yi=function(e){return vi(e)&&void 0!==e.style&&!Fi(e)},Fi=function(e){return"object"==typeof e.className},xi=function(e){return"LI"===e.tagName},Qi=function(e){return"OL"===e.tagName},Ui=function(e){return"INPUT"===e.tagName},Si=function(e){return"svg"===e.tagName},Ti=function(e){return"BODY"===e.tagName},Ii=function(e){return"CANVAS"===e.tagName},ki=function(e){return"IMG"===e.tagName},Mi=function(e){return"IFRAME"===e.tagName},Li=function(e){return"STYLE"===e.tagName},Oi=function(e){return"TEXTAREA"===e.tagName},Ni=function(e){return"SELECT"===e.tagName},Hi=function(e){return"SLOT"===e.tagName},Di=function(e){return e.tagName.indexOf("-")>0},Ri=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var A=this.counters[e];return A&&A.length?A[A.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var A=this;e.forEach((function(e){return A.counters[e].pop()}))},e.prototype.parse=function(e){var A=this,t=e.counterIncrement,n=e.counterReset,i=!0;null!==t&&t.forEach((function(e){var t=A.counters[e.counter];t&&0!==e.increment&&(i=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=e.increment)}));var a=[];return i&&n.forEach((function(e){var t=A.counters[e.counter];a.push(e.counter),t||(t=A.counters[e.counter]=[]),t.push(e.reset)})),a},e}(),Pi={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Vi={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Ki={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Gi={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},Wi=function(e,A,t,n,i,a){return et?$i(e,i,a.length>0):n.integers.reduce((function(A,t,i){for(;e>=t;)e-=t,A+=n.values[i];return A}),"")+a},zi=function(e,A,t,n){var i="";do{t||e--,i=n(e)+i,e/=A}while(e*A>=A);return i},Xi=function(e,A,t,n,i){var a=t-A+1;return(e<0?"-":"")+(zi(Math.abs(e),a,n,(function(e){return l(Math.floor(e%a)+A)}))+i)},Yi=function(e,A,t){void 0===t&&(t=". ");var n=A.length;return zi(Math.abs(e),n,!1,(function(e){return A[Math.floor(e%n)]}))+t},ji=function(e,A,t,n,i,a){if(e<-9999||e>9999)return $i(e,4,i.length>0);var r=Math.abs(e),s=i;if(0===r)return A[0]+s;for(var o=0;r>0&&o<=4;o++){var l=r%10;0===l&&nn(a,1)&&""!==s?s=A[l]+s:l>1||1===l&&0===o||1===l&&1===o&&nn(a,2)||1===l&&1===o&&nn(a,4)&&e>100||1===l&&o>1&&nn(a,8)?s=A[l]+(o>0?t[o-1]:"")+s:1===l&&o>0&&(s=t[o-1]+s),r=Math.floor(r/10)}return(e<0?n:"")+s},Ji="十百千萬",Zi="拾佰仟萬",qi="マイナス",_i="마이너스",$i=function(e,A,t){var n=t?". ":"",i=t?"、":"",a=t?", ":"",r=t?" ":"";switch(A){case 0:return"•"+r;case 1:return"◦"+r;case 2:return"◾"+r;case 5:var s=Xi(e,48,57,!0,n);return s.length<4?"0"+s:s;case 4:return Yi(e,"〇一二三四五六七八九",i);case 6:return Wi(e,1,3999,Pi,3,n).toLowerCase();case 7:return Wi(e,1,3999,Pi,3,n);case 8:return Xi(e,945,969,!1,n);case 9:return Xi(e,97,122,!1,n);case 10:return Xi(e,65,90,!1,n);case 11:return Xi(e,1632,1641,!0,n);case 12:case 49:return Wi(e,1,9999,Vi,3,n);case 35:return Wi(e,1,9999,Vi,3,n).toLowerCase();case 13:return Xi(e,2534,2543,!0,n);case 14:case 30:return Xi(e,6112,6121,!0,n);case 15:return Yi(e,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return Yi(e,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return ji(e,"零一二三四五六七八九",Ji,"負",i,14);case 47:return ji(e,"零壹貳參肆伍陸柒捌玖",Zi,"負",i,15);case 42:return ji(e,"零一二三四五六七八九",Ji,"负",i,14);case 41:return ji(e,"零壹贰叁肆伍陆柒捌玖",Zi,"负",i,15);case 26:return ji(e,"〇一二三四五六七八九","十百千万",qi,i,0);case 25:return ji(e,"零壱弐参四伍六七八九","拾百千万",qi,i,7);case 31:return ji(e,"영일이삼사오육칠팔구","십백천만",_i,a,7);case 33:return ji(e,"零一二三四五六七八九","十百千萬",_i,a,0);case 32:return ji(e,"零壹貳參四五六七八九","拾百千",_i,a,7);case 18:return Xi(e,2406,2415,!0,n);case 20:return Wi(e,1,19999,Gi,3,n);case 21:return Xi(e,2790,2799,!0,n);case 22:return Xi(e,2662,2671,!0,n);case 22:return Wi(e,1,10999,Ki,3,n);case 23:return Yi(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Yi(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Xi(e,3302,3311,!0,n);case 28:return Yi(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return Yi(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return Xi(e,3792,3801,!0,n);case 37:return Xi(e,6160,6169,!0,n);case 38:return Xi(e,4160,4169,!0,n);case 39:return Xi(e,2918,2927,!0,n);case 40:return Xi(e,1776,1785,!0,n);case 43:return Xi(e,3046,3055,!0,n);case 44:return Xi(e,3174,3183,!0,n);case 45:return Xi(e,3664,3673,!0,n);case 46:return Xi(e,3872,3881,!0,n);default:return Xi(e,48,57,!0,n)}},ea="data-html2canvas-ignore",Aa=function(){function e(e,A,t){if(this.context=e,this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new Ri,this.quoteDepth=0,!A.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(A.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,A){var t=this,a=na(e,A);if(!a.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,o=a.contentWindow,l=o.document,c=ra(a).then((function(){return n(t,void 0,void 0,(function(){var e,t;return i(this,(function(n){switch(n.label){case 0:return this.scrolledElements.forEach(da),o&&(o.scrollTo(A.left,A.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||o.scrollY===A.top&&o.scrollX===A.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(o.scrollX-A.left,o.scrollY-A.top,0,0))),e=this.options.onclone,void 0===(t=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:n.sent(),n.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,aa(l)]:[3,4];case 3:n.sent(),n.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(l,t)})).then((function(){return a}))]:[2,a]}}))}))}));return l.open(),l.write(la(document.doctype)+""),ca(this.referenceElement.ownerDocument,r,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),c},e.prototype.createElementClone=function(e){if(Bn(e,2),Ii(e))return this.createCanvasClone(e);if(Li(e))return this.createStyleClone(e);var A=e.cloneNode(!1);return ki(A)&&(ki(e)&&e.currentSrc&&e.currentSrc!==e.src&&(A.src=e.currentSrc,A.srcset=""),"lazy"===A.loading&&(A.loading="eager")),Di(A)?this.createCustomElementClone(A):A},e.prototype.createCustomElementClone=function(e){var A=document.createElement("html2canvascustomelement");return oa(e.style,A),A},e.prototype.createStyleClone=function(e){try{var A=e.sheet;if(A&&A.cssRules){var t=[].slice.call(A.cssRules,0).reduce((function(e,A){return A&&"string"==typeof A.cssText?e+A.cssText:e}),""),n=e.cloneNode(!1);return n.textContent=t,n}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var A;if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement("img");try{return t.src=e.toDataURL(),t}catch(A){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var i=e.getContext("2d"),a=n.getContext("2d");if(a)if(!this.options.allowTaint&&i)a.putImageData(i.getImageData(0,0,e.width,e.height),0,0);else{var r=null!==(A=e.getContext("webgl2"))&&void 0!==A?A:e.getContext("webgl");if(r){var s=r.getContextAttributes();!1===(null==s?void 0:s.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return n}catch(A){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return n},e.prototype.appendChildNode=function(e,A,t){vi(A)&&("SCRIPT"===A.tagName||A.hasAttribute(ea)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(A))||this.options.copyStyles&&vi(A)&&Li(A)||e.appendChild(this.cloneNode(A,t))},e.prototype.cloneNode=function(e,A){var t=this;if(Ci(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&vi(e)&&(yi(e)||Fi(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var a=n.getComputedStyle(e),r=n.getComputedStyle(e,":before"),s=n.getComputedStyle(e,":after");this.referenceElement===e&&yi(i)&&(this.clonedReferenceElement=i),Ti(i)&&pa(i);var o=this.counters.parse(new mn(this.context,a)),l=this.resolvePseudoContent(e,i,r,Sn.BEFORE);Di(e)&&(A=!0);for(var c=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;c;c=c.nextSibling)if(vi(c)&&Hi(c)&&"function"==typeof c.assignedNodes){var d=c.assignedNodes();d.length&&d.forEach((function(e){return t.appendChildNode(i,e,A)}))}else this.appendChildNode(i,c,A);l&&i.insertBefore(l,i.firstChild);var h=this.resolvePseudoContent(e,i,s,Sn.AFTER);return h&&i.appendChild(h),this.counters.pop(o),(a&&(this.options.copyStyles||Fi(e))&&!Mi(e)||A)&&oa(a,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(Oi(e)||Ni(e))&&(Oi(i)||Ni(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,A,t,n){var i=this;if(t){var a=t.content,r=A.ownerDocument;if(r&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==t.display){this.counters.parse(new mn(this.context,t));var s=new wn(this.context,t),o=r.createElement("html2canvaspseudoelement");oa(t,o),s.content.forEach((function(A){if(0===A.type)o.appendChild(r.createTextNode(A.value));else if(22===A.type){var t=r.createElement("img");t.src=A.value,t.style.opacity="1",o.appendChild(t)}else if(18===A.type){if("attr"===A.name){var n=A.values.filter(Re);n.length&&o.appendChild(r.createTextNode(e.getAttribute(n[0].value)||""))}else if("counter"===A.name){var a=A.values.filter(Ge),l=a[0],c=a[1];if(l&&Re(l)){var d=i.counters.getCounterValue(l.value),h=c&&Re(c)?vt.parse(i.context,c.value):3;o.appendChild(r.createTextNode($i(d,h,!1)))}}else if("counters"===A.name){var u=A.values.filter(Ge),g=(l=u[0],u[1]);if(c=u[2],l&&Re(l)){var p=i.counters.getCounterValues(l.value),w=c&&Re(c)?vt.parse(i.context,c.value):3,m=g&&0===g.type?g.value:"",f=p.map((function(e){return $i(e,w,!1)})).join(m);o.appendChild(r.createTextNode(f))}}}else if(20===A.type)switch(A.value){case"open-quote":o.appendChild(r.createTextNode(cn(s.quotes,i.quoteDepth++,!0)));break;case"close-quote":o.appendChild(r.createTextNode(cn(s.quotes,--i.quoteDepth,!1)));break;default:o.appendChild(r.createTextNode(A.value))}})),o.className=ha+" "+ua;var l=n===Sn.BEFORE?" "+ha:" "+ua;return Fi(A)?A.className.baseValue+=l:A.className+=l,o}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(Sn||(Sn={}));var ta,na=function(e,A){var t=e.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=A.width.toString(),t.height=A.height.toString(),t.scrolling="no",t.setAttribute(ea,"true"),e.body.appendChild(t),t},ia=function(e){return new Promise((function(A){e.complete?A():e.src?(e.onload=A,e.onerror=A):A()}))},aa=function(e){return Promise.all([].slice.call(e.images,0).map(ia))},ra=function(e){return new Promise((function(A,t){var n=e.contentWindow;if(!n)return t("No window assigned for iframe");var i=n.document;n.onload=e.onload=function(){n.onload=e.onload=null;var t=setInterval((function(){i.body.childNodes.length>0&&"complete"===i.readyState&&(clearInterval(t),A(e))}),50)}}))},sa=["all","d","content"],oa=function(e,A){for(var t=e.length-1;t>=0;t--){var n=e.item(t);-1===sa.indexOf(n)&&A.style.setProperty(n,e.getPropertyValue(n))}return A},la=function(e){var A="";return e&&(A+=""),A},ca=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},da=function(e){var A=e[0],t=e[1],n=e[2];A.scrollLeft=t,A.scrollTop=n},ha="___html2canvas___pseudoelement_before",ua="___html2canvas___pseudoelement_after",ga='{\n content: "" !important;\n display: none !important;\n}',pa=function(e){wa(e,"."+ha+":before"+ga+"\n ."+ua+":after"+ga)},wa=function(e,A){var t=e.ownerDocument;if(t){var n=t.createElement("style");n.textContent=A,e.appendChild(n)}},ma=function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e}(),fa=function(){function e(e,A){this.context=e,this._options=A,this._cache={}}return e.prototype.addImage=function(e){var A=Promise.resolve();return this.has(e)?A:Fa(e)||Ca(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),A):A},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return n(this,void 0,void 0,(function(){var A,t,n,a,r=this;return i(this,(function(i){switch(i.label){case 0:return A=ma.isSameOrigin(e),t=!va(e)&&!0===this._options.useCORS&&Gn.SUPPORT_CORS_IMAGES&&!A,n=!va(e)&&!A&&!Fa(e)&&"string"==typeof this._options.proxy&&Gn.SUPPORT_CORS_XHR&&!t,A||!1!==this._options.allowTaint||va(e)||Fa(e)||n||t?(a=e,n?[4,this.proxy(a)]:[3,2]):[2];case 1:a=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,A){var n=new Image;n.onload=function(){return e(n)},n.onerror=A,(ya(a)||t)&&(n.crossOrigin="anonymous"),n.src=a,!0===n.complete&&setTimeout((function(){return e(n)}),500),r._options.imageTimeout>0&&setTimeout((function(){return A("Timed out ("+r._options.imageTimeout+"ms) loading image")}),r._options.imageTimeout)}))];case 3:return[2,i.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var A=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var n=e.substring(0,256);return new Promise((function(i,a){var r=Gn.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===r)i(s.response);else{var e=new FileReader;e.addEventListener("load",(function(){return i(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(s.response)}else a("Failed to proxy resource "+n+" with status code "+s.status)},s.onerror=a;var o=t.indexOf("?")>-1?"&":"?";if(s.open("GET",""+t+o+"url="+encodeURIComponent(e)+"&responseType="+r),"text"!==r&&s instanceof XMLHttpRequest&&(s.responseType=r),A._options.imageTimeout){var l=A._options.imageTimeout;s.timeout=l,s.ontimeout=function(){return a("Timed out ("+l+"ms) proxying "+n)}}s.send()}))},e}(),Ba=/^data:image\/svg\+xml/i,Ea=/^data:image\/.*;base64,/i,ba=/^data:image\/.*/i,Ca=function(e){return Gn.SUPPORT_SVG_DRAWING||!xa(e)},va=function(e){return ba.test(e)},ya=function(e){return Ea.test(e)},Fa=function(e){return"blob"===e.substr(0,4)},xa=function(e){return"svg"===e.substr(-3).toLowerCase()||Ba.test(e)},Qa=function(){function e(e,A){this.type=0,this.x=e,this.y=A}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e}(),Ua=function(e,A,t){return new Qa(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},Sa=function(){function e(e,A,t,n){this.type=1,this.start=e,this.startControl=A,this.endControl=t,this.end=n}return e.prototype.subdivide=function(A,t){var n=Ua(this.start,this.startControl,A),i=Ua(this.startControl,this.endControl,A),a=Ua(this.endControl,this.end,A),r=Ua(n,i,A),s=Ua(i,a,A),o=Ua(r,s,A);return t?new e(this.start,n,r,o):new e(o,s,a,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),Ta=function(e){return 1===e.type},Ia=function(e){var A=e.styles,t=e.bounds,n=_e(A.borderTopLeftRadius,t.width,t.height),i=n[0],a=n[1],r=_e(A.borderTopRightRadius,t.width,t.height),s=r[0],o=r[1],l=_e(A.borderBottomRightRadius,t.width,t.height),c=l[0],d=l[1],h=_e(A.borderBottomLeftRadius,t.width,t.height),u=h[0],g=h[1],p=[];p.push((i+s)/t.width),p.push((u+c)/t.width),p.push((a+g)/t.height),p.push((o+d)/t.height);var w=Math.max.apply(Math,p);w>1&&(i/=w,a/=w,s/=w,o/=w,c/=w,d/=w,u/=w,g/=w);var m=t.width-s,f=t.height-d,B=t.width-c,E=t.height-g,b=A.borderTopWidth,C=A.borderRightWidth,v=A.borderBottomWidth,y=A.borderLeftWidth,F=$e(A.paddingTop,e.bounds.width),x=$e(A.paddingRight,e.bounds.width),Q=$e(A.paddingBottom,e.bounds.width),U=$e(A.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=i>0||a>0?ka(t.left+y/3,t.top+b/3,i-y/3,a-b/3,ta.TOP_LEFT):new Qa(t.left+y/3,t.top+b/3),this.topRightBorderDoubleOuterBox=i>0||a>0?ka(t.left+m,t.top+b/3,s-C/3,o-b/3,ta.TOP_RIGHT):new Qa(t.left+t.width-C/3,t.top+b/3),this.bottomRightBorderDoubleOuterBox=c>0||d>0?ka(t.left+B,t.top+f,c-C/3,d-v/3,ta.BOTTOM_RIGHT):new Qa(t.left+t.width-C/3,t.top+t.height-v/3),this.bottomLeftBorderDoubleOuterBox=u>0||g>0?ka(t.left+y/3,t.top+E,u-y/3,g-v/3,ta.BOTTOM_LEFT):new Qa(t.left+y/3,t.top+t.height-v/3),this.topLeftBorderDoubleInnerBox=i>0||a>0?ka(t.left+2*y/3,t.top+2*b/3,i-2*y/3,a-2*b/3,ta.TOP_LEFT):new Qa(t.left+2*y/3,t.top+2*b/3),this.topRightBorderDoubleInnerBox=i>0||a>0?ka(t.left+m,t.top+2*b/3,s-2*C/3,o-2*b/3,ta.TOP_RIGHT):new Qa(t.left+t.width-2*C/3,t.top+2*b/3),this.bottomRightBorderDoubleInnerBox=c>0||d>0?ka(t.left+B,t.top+f,c-2*C/3,d-2*v/3,ta.BOTTOM_RIGHT):new Qa(t.left+t.width-2*C/3,t.top+t.height-2*v/3),this.bottomLeftBorderDoubleInnerBox=u>0||g>0?ka(t.left+2*y/3,t.top+E,u-2*y/3,g-2*v/3,ta.BOTTOM_LEFT):new Qa(t.left+2*y/3,t.top+t.height-2*v/3),this.topLeftBorderStroke=i>0||a>0?ka(t.left+y/2,t.top+b/2,i-y/2,a-b/2,ta.TOP_LEFT):new Qa(t.left+y/2,t.top+b/2),this.topRightBorderStroke=i>0||a>0?ka(t.left+m,t.top+b/2,s-C/2,o-b/2,ta.TOP_RIGHT):new Qa(t.left+t.width-C/2,t.top+b/2),this.bottomRightBorderStroke=c>0||d>0?ka(t.left+B,t.top+f,c-C/2,d-v/2,ta.BOTTOM_RIGHT):new Qa(t.left+t.width-C/2,t.top+t.height-v/2),this.bottomLeftBorderStroke=u>0||g>0?ka(t.left+y/2,t.top+E,u-y/2,g-v/2,ta.BOTTOM_LEFT):new Qa(t.left+y/2,t.top+t.height-v/2),this.topLeftBorderBox=i>0||a>0?ka(t.left,t.top,i,a,ta.TOP_LEFT):new Qa(t.left,t.top),this.topRightBorderBox=s>0||o>0?ka(t.left+m,t.top,s,o,ta.TOP_RIGHT):new Qa(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||d>0?ka(t.left+B,t.top+f,c,d,ta.BOTTOM_RIGHT):new Qa(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=u>0||g>0?ka(t.left,t.top+E,u,g,ta.BOTTOM_LEFT):new Qa(t.left,t.top+t.height),this.topLeftPaddingBox=i>0||a>0?ka(t.left+y,t.top+b,Math.max(0,i-y),Math.max(0,a-b),ta.TOP_LEFT):new Qa(t.left+y,t.top+b),this.topRightPaddingBox=s>0||o>0?ka(t.left+Math.min(m,t.width-C),t.top+b,m>t.width+C?0:Math.max(0,s-C),Math.max(0,o-b),ta.TOP_RIGHT):new Qa(t.left+t.width-C,t.top+b),this.bottomRightPaddingBox=c>0||d>0?ka(t.left+Math.min(B,t.width-y),t.top+Math.min(f,t.height-v),Math.max(0,c-C),Math.max(0,d-v),ta.BOTTOM_RIGHT):new Qa(t.left+t.width-C,t.top+t.height-v),this.bottomLeftPaddingBox=u>0||g>0?ka(t.left+y,t.top+Math.min(E,t.height-v),Math.max(0,u-y),Math.max(0,g-v),ta.BOTTOM_LEFT):new Qa(t.left+y,t.top+t.height-v),this.topLeftContentBox=i>0||a>0?ka(t.left+y+U,t.top+b+F,Math.max(0,i-(y+U)),Math.max(0,a-(b+F)),ta.TOP_LEFT):new Qa(t.left+y+U,t.top+b+F),this.topRightContentBox=s>0||o>0?ka(t.left+Math.min(m,t.width+y+U),t.top+b+F,m>t.width+y+U?0:s-y+U,o-(b+F),ta.TOP_RIGHT):new Qa(t.left+t.width-(C+x),t.top+b+F),this.bottomRightContentBox=c>0||d>0?ka(t.left+Math.min(B,t.width-(y+U)),t.top+Math.min(f,t.height+b+F),Math.max(0,c-(C+x)),d-(v+Q),ta.BOTTOM_RIGHT):new Qa(t.left+t.width-(C+x),t.top+t.height-(v+Q)),this.bottomLeftContentBox=u>0||g>0?ka(t.left+y+U,t.top+E,Math.max(0,u-(y+U)),g-(v+Q),ta.BOTTOM_LEFT):new Qa(t.left+y+U,t.top+t.height-(v+Q))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(ta||(ta={}));var ka=function(e,A,t,n,i){var a=(Math.sqrt(2)-1)/3*4,r=t*a,s=n*a,o=e+t,l=A+n;switch(i){case ta.TOP_LEFT:return new Sa(new Qa(e,l),new Qa(e,l-s),new Qa(o-r,A),new Qa(o,A));case ta.TOP_RIGHT:return new Sa(new Qa(e,A),new Qa(e+r,A),new Qa(o,l-s),new Qa(o,l));case ta.BOTTOM_RIGHT:return new Sa(new Qa(o,A),new Qa(o,A+s),new Qa(e+r,l),new Qa(e,l));case ta.BOTTOM_LEFT:default:return new Sa(new Qa(o,l),new Qa(o-r,l),new Qa(e,A+s),new Qa(e,A))}},Ma=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},La=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},Oa=function(e,A,t){this.offsetX=e,this.offsetY=A,this.matrix=t,this.type=0,this.target=6},Na=function(e,A){this.path=e,this.target=A,this.type=1},Ha=function(e){this.opacity=e,this.type=2,this.target=6},Da=function(e){return 1===e.type},Ra=function(e,A){return e.length===A.length&&e.some((function(e,t){return e===A[t]}))},Pa=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},Va=function(){function e(e,A){if(this.container=e,this.parent=A,this.effects=[],this.curves=new Ia(this.container),this.container.styles.opacity<1&&this.effects.push(new Ha(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,i=this.container.styles.transform;this.effects.push(new Oa(t,n,i))}if(0!==this.container.styles.overflowX){var a=Ma(this.curves),r=La(this.curves);Ra(a,r)?this.effects.push(new Na(a,6)):(this.effects.push(new Na(a,2)),this.effects.push(new Na(r,4)))}}return e.prototype.getEffects=function(e){for(var A=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,n=this.effects.slice(0);t;){var i=t.effects.filter((function(e){return!Da(e)}));if(A||0!==t.container.styles.position||!t.parent){if(n.unshift.apply(n,i),A=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var a=Ma(t.curves),r=La(t.curves);Ra(a,r)||n.unshift(new Na(r,6))}}else n.unshift.apply(n,i);t=t.parent}return n.filter((function(A){return nn(A.target,e)}))},e}(),Ka=function(e,A,t,n){e.container.elements.forEach((function(i){var a=nn(i.flags,4),r=nn(i.flags,2),s=new Va(i,e);nn(i.styles.display,2048)&&n.push(s);var o=nn(i.flags,8)?[]:n;if(a||r){var l=a||i.styles.isPositioned()?t:A,c=new Pa(s);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var d=i.styles.zIndex.order;if(d<0){var h=0;l.negativeZIndex.some((function(e,A){return d>e.element.container.styles.zIndex.order?(h=A,!1):h>0})),l.negativeZIndex.splice(h,0,c)}else if(d>0){var u=0;l.positiveZIndex.some((function(e,A){return d>=e.element.container.styles.zIndex.order?(u=A+1,!1):u>0})),l.positiveZIndex.splice(u,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else i.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);Ka(s,c,a?c:t,o)}else i.styles.isInlineLevel()?A.inlineLevel.push(s):A.nonInlineLevel.push(s),Ka(s,A,t,o);nn(i.flags,8)&&Ga(i,o)}))},Ga=function(e,A){for(var t=e instanceof ai?e.start:1,n=e instanceof ai&&e.reversed,i=0;i0&&e.intrinsicHeight>0){var n=ja(e),i=La(A);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,e.intrinsicWidth,e.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return n(this,void 0,void 0,(function(){var A,n,a,s,o,l,c,d,h,u,g,p,w,m,f,B,E,b;return i(this,(function(i){switch(i.label){case 0:this.applyEffects(e.getEffects(4)),A=e.container,n=e.curves,a=A.styles,s=0,o=A.textNodes,i.label=1;case 1:return s0&&y>0&&(f=n.ctx.createPattern(p,"repeat"),n.renderRepeat(E,f,x,Q))):function(e){return 2===e.type}(t)&&(B=Ja(e,A,[null,null,null]),E=B[0],b=B[1],C=B[2],v=B[3],y=B[4],F=0===t.position.length?[Ze]:t.position,x=$e(F[0],v),Q=$e(F[F.length-1],y),U=function(e,A,t,n,i){var a=0,r=0;switch(e.size){case 0:0===e.shape?a=r=Math.min(Math.abs(A),Math.abs(A-n),Math.abs(t),Math.abs(t-i)):1===e.shape&&(a=Math.min(Math.abs(A),Math.abs(A-n)),r=Math.min(Math.abs(t),Math.abs(t-i)));break;case 2:if(0===e.shape)a=r=Math.min(CA(A,t),CA(A,t-i),CA(A-n,t),CA(A-n,t-i));else if(1===e.shape){var s=Math.min(Math.abs(t),Math.abs(t-i))/Math.min(Math.abs(A),Math.abs(A-n)),o=vA(n,i,A,t,!0),l=o[0],c=o[1];r=s*(a=CA(l-A,(c-t)/s))}break;case 1:0===e.shape?a=r=Math.max(Math.abs(A),Math.abs(A-n),Math.abs(t),Math.abs(t-i)):1===e.shape&&(a=Math.max(Math.abs(A),Math.abs(A-n)),r=Math.max(Math.abs(t),Math.abs(t-i)));break;case 3:if(0===e.shape)a=r=Math.max(CA(A,t),CA(A,t-i),CA(A-n,t),CA(A-n,t-i));else if(1===e.shape){s=Math.max(Math.abs(t),Math.abs(t-i))/Math.max(Math.abs(A),Math.abs(A-n));var d=vA(n,i,A,t,!1);l=d[0],c=d[1],r=s*(a=CA(l-A,(c-t)/s))}}return Array.isArray(e.size)&&(a=$e(e.size[0],n),r=2===e.size.length?$e(e.size[1],i):a),[a,r]}(t,x,Q,v,y),S=U[0],T=U[1],S>0&&T>0&&(I=n.ctx.createRadialGradient(b+x,C+Q,0,b+x,C+Q,S),EA(t.stops,2*S).forEach((function(e){return I.addColorStop(e.stop,oA(e.color))})),n.path(E),n.ctx.fillStyle=I,S!==T?(k=e.bounds.left+.5*e.bounds.width,M=e.bounds.top+.5*e.bounds.height,O=1/(L=T/S),n.ctx.save(),n.ctx.translate(k,M),n.ctx.transform(1,0,0,L,0,0),n.ctx.translate(-k,-M),n.ctx.fillRect(b,O*(C-M)+M,v,y*O),n.ctx.restore()):n.ctx.fill())),i.label=6;case 6:return A--,[2]}}))},n=this,a=0,r=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return a0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,2)]:[3,11]:[3,13];case 4:return i.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,3)];case 6:return i.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,r,e.curves)];case 8:return i.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,r,e.curves)];case 10:i.sent(),i.label=11;case 11:r++,i.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,A,t,a,r){return n(this,void 0,void 0,(function(){var n,s,o,l,c,d,h,u,g,p,w,m,f,B,E,b;return i(this,(function(i){return this.ctx.save(),n=function(e,A){switch(A){case 0:return za(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return za(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return za(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return za(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(a,t),s=Wa(a,t),2===r&&(this.path(s),this.ctx.clip()),Ta(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),Ta(s[1])?(c=s[1].end.x,d=s[1].end.y):(c=s[1].x,d=s[1].y),h=0===t||2===t?Math.abs(o-c):Math.abs(l-d),this.ctx.beginPath(),3===r?this.formatPath(n):this.formatPath(s.slice(0,2)),u=A<3?3*A:2*A,g=A<3?2*A:A,3===r&&(u=A,g=A),p=!0,h<=2*u?p=!1:h<=2*u+g?(u*=w=h/(2*u+g),g*=w):(m=Math.floor((h+g)/(u+g)),f=(h-m*u)/(m-1),g=(B=(h-(m+1)*u)/m)<=0||Math.abs(g-f){const a=await tex2dataURL(e,i);if(a){const e=[];e.push({mimeType:a.mimeType,id:A,dataURL:a.dataURL,created:a.created,size:a.size,hasSVGwithBitmap:!1,shouldScale:!0}),n(e,t)}};async function tex2dataURL(e,A){let t=0;for(;!A.mathjax&&!A.mathjaxLoaderFinished&&t<10;)await sleep$1(100),t++;A.mathjaxLoaderFinished||errorlog({where:"text2dataURL",fn:tex2dataURL,message:"mathjaxLoader not ready, using fallback. Try reloading Obsidian or restarting the Excalidraw plugin"});try{return await mathjaxSVG(e,A)}catch(t){await sleep$1(100);try{return await mathjaxSVG(e,A)}catch(t){await sleep$1(100);try{return await mathjaxSVG(e,A)}catch(t){return A.mathjax?new obsidian.Notice("Unknown error loading LaTeX. Using fallback solution. Try closing and reopening this drawing."):new obsidian.Notice("LaTeX support did not load. Using fallback solution. Try checking your network connection."),await mathjaxImage2html(e)}}}}async function mathjaxSVG(e,A){const t=A.mathjax.tex2svg(e,{display:!0,scale:4}).querySelector("svg");if(t){const e=svgToBase64(t.outerHTML);return{mimeType:"image/svg+xml",fileId:fileid(),dataURL:e,created:Date.now(),size:await getImageSize(e)}}return null}async function mathjaxImage2html(e){const A=document.body.createDiv();A.style.display="table";const t=window.MathJax.tex2chtml(e,{display:!0,scale:4});t.style.margin="3px",t.style.color="black";const n=t.querySelector("mjx-assistive-mml");n&&n.parentElement.removeChild(n),A.appendChild(t),window.MathJax.typeset();const i=await html2canvas(A,{backgroundColor:null});return document.body.removeChild(A),{mimeType:"image/png",fileId:fileid(),dataURL:i.toDataURL(),created:Date.now(),size:{height:i.height,width:i.width}}}const THEME_FILTER="invert(100%) hue-rotate(180deg) saturate(1.25)";class EmbeddedFile{constructor(e,A,t){this.file=null,this.isSVGwithBitmap=!1,this.img="",this.imgInverted="",this.mtime=0,this.mimeType="application/octet-stream",this.size={height:0,width:0},this.attemptCounter=0,this.plugin=e,this.resetImage(A,t)}resetImage(e,A){this.imgInverted=this.img="",this.mtime=0,this.linkParts=getLinkParts(A),this.hostPath=e,this.linkParts.path?(this.linkParts.width||(this.linkParts.width=this.plugin.settings.mdSVGwidth),this.linkParts.height||(this.linkParts.height=this.plugin.settings.mdSVGmaxHeight),this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,e),this.file||0==this.attemptCounter++&&new obsidian.Notice(`Excalidraw Warning: could not find image file: ${A}`,5e3)):new obsidian.Notice(`Excalidraw Error\nIncorrect embedded filename: ${A}`)}fileChanged(){return this.file||(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),this.file)?this.mtime!=this.file.stat.mtime:(this.attemptCounter++,!1)}setImage(e,A,t,n,i){if(this.file){switch(this.fileChanged()&&(this.imgInverted=this.img=""),this.mtime=this.file.stat.mtime,this.size=t,this.mimeType=A,n&&i){case!0:this.imgInverted=e;break;case!1:this.img=e}this.isSVGwithBitmap=i}}isLoaded(e){return this.file||(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),this.file)?!this.fileChanged()&&(this.isSVGwithBitmap&&e?""!==this.imgInverted:""!==this.img):(this.attemptCounter++,!0)}getImage(e){return this.file?e&&this.isSVGwithBitmap?this.imgInverted:this.img:""}shouldScale(){return!Boolean(this.linkParts&&this.linkParts.original&&this.linkParts.original.endsWith("|100%"))}}class EmbeddedFilesLoader{constructor(e,A){this.terminate=!1,this.plugin=e,this.isDark=A,this.uid=nanoid()}async getObsidianImage(e,A){if(!this.plugin||!e)return null;const t=e instanceof EmbeddedFile?e.file:e,n=e instanceof EmbeddedFile?e.linkParts:{original:t.path,path:t.path,isBlockRef:!1,ref:null,width:this.plugin.settings.mdSVGwidth,height:this.plugin.settings.mdSVGmaxHeight};let i=!1;const a=this.plugin.isExcalidrawFile(t);if(!IMAGE_TYPES.contains(t.extension)&&!a&&"md"!==t.extension)return null;const r=await app.vault.readBinary(t),s=a?await(async e=>{const n=hasExportTheme(this.plugin,t)?getExportTheme(this.plugin,t,"light"):void 0,a={withBackground:!!hasExportBackground(this.plugin,t)&&getWithBackground(this.plugin,t),withTheme:!!n},r=await createSVG(t.path,!0,a,this,n,null,null,[],this.plugin,A+1,getExportPadding(this.plugin,t)),s=r.querySelectorAll("image:not([href^='data:image/svg'])");return s.length>0&&(i=!0),i&&e&&s.forEach((e=>{var A;const t=null===(A=e.parentElement)||void 0===A?void 0:A.id;r.querySelectorAll(`use[href='#${t}']`).forEach((e=>{e.setAttribute("filter",THEME_FILTER)}))})),!i&&r.getAttribute("hasbitmap")&&(i=!0),svgToBase64(r.outerHTML)})(this.isDark):null;let o="image/svg+xml";if(!a)switch(t.extension){case"png":o="image/png";break;case"jpeg":case"jpg":o="image/jpeg";break;case"gif":o="image/gif";break;case"webp":o="image/webp";break;case"bmp":o="image/bmp";break;case"ico":o="image/x-icon";break;case"svg":case"md":o="image/svg+xml";break;default:o="application/octet-stream"}let l=null!=s?s:"svg"===t.extension?await getSVGData(app,t):"md"===t.extension?null:await getDataURL(r,o);if(!l){const e=await this.convertMarkdownToSVG(this.plugin,t,n);l=e.dataURL,i=e.hasSVGwithBitmap}const c=await getImageSize(l);return{mimeType:o,fileId:await generateIdFromFile(r),dataURL:l,created:t.stat.mtime,hasSVGwithBitmap:i,size:c}}async loadSceneFiles(e,A,t){var n,i;if(t>4)return void new obsidian.Notice(t$d("INFINITE_LOOP_WARNING")+t.toString(),6e3);const a=e.getFileEntries();let r;void 0===this.isDark&&(this.isDark="dark"===(null===(i=null===(n=null==e?void 0:e.scene)||void 0===n?void 0:n.appState)||void 0===i?void 0:i.theme));const s=[];for(;!this.terminate&&!(r=a.next()).done;){const e=r.value[1];if(e.isLoaded(this.isDark))e.isSVGwithBitmap&&s.push({mimeType:e.mimeType,id:r.value[0],dataURL:e.getImage(this.isDark),created:e.mtime,size:e.size,hasSVGwithBitmap:e.isSVGwithBitmap,shouldScale:e.shouldScale()});else{const A=await this.getObsidianImage(e,t);A&&s.push({mimeType:A.mimeType,id:r.value[0],dataURL:A.dataURL,created:A.created,size:A.size,hasSVGwithBitmap:A.hasSVGwithBitmap,shouldScale:e.shouldScale()})}}let o;const l=e.getEquationEntries();for(;!this.terminate&&!(o=l.next()).done;)if(!e.getEquation(o.value[0]).isLoaded){const e=o.value[1].latex,A=await tex2dataURL(e,this.plugin);A&&s.push({mimeType:A.mimeType,id:o.value[0],dataURL:A.dataURL,created:A.created,size:A.size,hasSVGwithBitmap:!1,shouldScale:!0})}if(!this.terminate)try{A(s,this.isDark)}catch(e){errorlog({where:"EmbeddedFileLoader.loadSceneFiles",error:e})}}async convertMarkdownToSVG(e,A,t){var n,i,a,r;let s=!1;const o=await getTransclusion(t,e.app,A);let l=(null!==(n=o.leadingHashes)&&void 0!==n?n:"")+o.contents;""===l&&(l="# Empty markdown file\nCTRL+Click here to open the file for editing in the current active pane, or CTRL+SHIFT+Click to open it in an adjacent pane.");const c=e.app.metadataCache.getFileCache(A);let d,h=e.settings.mdFont;switch((null==c?void 0:c.frontmatter)&&Boolean(c.frontmatter["excalidraw-font"])&&(h=c.frontmatter["excalidraw-font"]),h){case"Virgil":d=VIRGIL_FONT;break;case"Cascadia":d=CASCADIA_FONT;break;case"":d="";break;default:const t=await getFontDataURL(e.app,h,A.path);d=t.fontDef,h=t.fontName}(null==c?void 0:c.frontmatter)&&null!==c.frontmatter.banner&&(l=l.replace(/banner:\s*.*/,""));const u=(null==c?void 0:c.frontmatter)&&null!==(i=c.frontmatter["excalidraw-font-color"])&&void 0!==i?i:e.settings.mdFontColor;let g=(null==c?void 0:c.frontmatter)&&null!==(a=c.frontmatter["excalidraw-css"])&&void 0!==a?a:"",p=!1;if(g&&""!=g){const t=e.app.metadataCache.getFirstLinkpathDest(g,A.path);t&&(g=await e.app.vault.read(t),p=!0)}if(!p)if(e.settings.mdCSS&&""!==e.settings.mdCSS){const t=e.app.metadataCache.getFirstLinkpathDest(e.settings.mdCSS,A.path);g+=t?`\n${await e.app.vault.read(t)}`:DEFAULT_MD_EMBED_CSS}else g+=DEFAULT_MD_EMBED_CSS;const w=(null==c?void 0:c.frontmatter)&&null!==(r=c.frontmatter["excalidraw-border-color"])&&void 0!==r?r:e.settings.mdBorderColor;w&&""!==w&&!g.match(/svg/i)&&(g+=`svg{border:2px solid;color:${w};transform:scale(.95)}`);let m=` width="${t.width}px" height="100000"`,f=` width="${t.width}px" height="100%"`;const B=(e,A,t)=>`${t?``:""}${e}${A}${""!==d?``:""}`,E=createDiv();E.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),E.setAttribute("class","excalidraw-md-host"),""!==h&&(E.style.fontFamily=h),E.style.overflow="auto",E.style.display="block",E.style.color=u&&""!==u?u:"initial",await obsidian.MarkdownRenderer.renderMarkdown(l,E,A.path,e),E.querySelectorAll(":scope > *[class^='frontmatter']").forEach((e=>E.removeChild(e)));const b=Array.from(E.querySelectorAll("span[class='internal-embed']"));for(let t=0;t{const A=e.style,t=window.getComputedStyle(e);let n="";for(const e in A)A.hasOwnProperty(e)&&(n+=`${e}: ${t[e]};`);e.setAttribute("style",n)}));const x=(new XMLSerializer).serializeToString(y),Q=(new XMLSerializer).serializeToString(F);document.body.removeChild(C);const U=new DOMParser,S=U.parseFromString(B(x,Q),"image/svg+xml").firstElementChild,T=createDiv();T.appendChild(S),document.body.appendChild(T);const I=S.querySelector(".excalidraw-md-footer").scrollHeight,k=S.querySelector(".excalidraw-md-host").scrollHeight+I,M=k<=t.height?k:t.height;document.body.removeChild(T),m=` width="${t.width}px" height="${M}px"`,f=` width="${t.width}px" height="${M}px"`,E.style.height=M-I+"px",E.style.overflow="hidden";const L=E.querySelectorAll("img:not([src^='data:image/svg+xml'])");L.length>0&&(s=!0),s&&this.isDark&&L.forEach((e=>{e instanceof HTMLImageElement&&(e.style.filter=THEME_FILTER)}));const O=B((new XMLSerializer).serializeToString(E),'',g);return e.ea.mostRecentMarkdownSVG=U.parseFromString(O,"image/svg+xml").firstElementChild,{dataURL:svgToBase64(O),hasSVGwithBitmap:s}}}const getSVGData=async(e,A)=>{const t=await e.vault.read(A);return svgToBase64(t)},generateIdFromFile=async e=>{let A;try{const t=await window.crypto.subtle.digest("SHA-1",e);A=Array.from(new Uint8Array(t)).map((e=>e.toString(16).padStart(2,"0"))).join("")}catch(e){errorlog({where:"EmbeddedFileLoader.generateIdFromFile",error:e}),A=fileid()}return A},{wrapText:wrapText,getFontString:getFontString,getMaxContainerWidth:getMaxContainerWidth}=excalidrawLib;var AutoexportPreference;!function(e){e[e.none=0]="none",e[e.both=1]="both",e[e.png=2]="png",e[e.svg=3]="svg",e[e.inherit=4]="inherit"}(AutoexportPreference||(AutoexportPreference={}));const REGEX_LINK={ +var e=function(A,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,A){e.__proto__=A}||function(e,A){for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t])},e(A,t)};function A(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=A}e(A,t),A.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var A,t=1,n=arguments.length;t0&&i[i.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=55296&&i<=56319&&t>10),r%1024+56320)),(i+1===t||n.length>16384)&&(a+=String.fromCharCode.apply(String,n),n.length=0)}return a},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d="undefined"==typeof Uint8Array?[]:new Uint8Array(256),h=0;h=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A],A+=e>>5&63,A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),p=10,w=13,m=15,f=17,B=18,E=19,b=20,C=21,v=22,y=24,F=25,x=26,Q=27,S=28,T=30,U=32,I=33,k=34,M=35,L=37,O=38,N=39,H=40,D=42,R=[9001,65288],P="×",V="÷",K=function(e){var A,t,n,i=function(e){var A,t,n,i,a,r=.75*e.length,s=e.length,o=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);var l="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(r):new Array(r),c=Array.isArray(l)?l:new Uint8Array(l);for(A=0;A>4,c[o++]=(15&n)<<4|i>>2,c[o++]=(3&i)<<6|63&a;return l}(e),a=Array.isArray(i)?function(e){for(var A=e.length,t=[],n=0;n0;){var r=n[--a];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var s=t;s<=n.length;){var o;if((o=n[++s])===A)return!0;if(o!==p)break}if(r!==p)break}return!1},q=function(e,A){for(var t=e;t>=0;){var n=A[t];if(n!==p)return n;t--}return 0},_=function(e,A,t,n,i){if(0===t[n])return P;var a=n-1;if(Array.isArray(i)&&!0===i[a])return P;var r=a-1,s=a+1,o=A[a],l=r>=0?A[r]:0,c=A[s];if(2===o&&3===c)return P;if(-1!==W.indexOf(o))return"!";if(-1!==W.indexOf(c))return P;if(-1!==z.indexOf(c))return P;if(8===q(a,A))return V;if(11===K.get(e[a]))return P;if((o===U||o===I)&&11===K.get(e[s]))return P;if(7===o||7===c)return P;if(9===o)return P;if(-1===[p,w,m].indexOf(o)&&9===c)return P;if(-1!==[f,B,E,y,S].indexOf(c))return P;if(q(a,A)===v)return P;if(Z(23,v,a,A))return P;if(Z([f,B],C,a,A))return P;if(Z(12,12,a,A))return P;if(o===p)return V;if(23===o||23===c)return P;if(16===c||16===o)return V;if(-1!==[w,m,C].indexOf(c)||14===o)return P;if(36===l&&-1!==J.indexOf(o))return P;if(o===S&&36===c)return P;if(c===b)return P;if(-1!==G.indexOf(c)&&o===F||-1!==G.indexOf(o)&&c===F)return P;if(o===Q&&-1!==[L,U,I].indexOf(c)||-1!==[L,U,I].indexOf(o)&&c===x)return P;if(-1!==G.indexOf(o)&&-1!==X.indexOf(c)||-1!==X.indexOf(o)&&-1!==G.indexOf(c))return P;if(-1!==[Q,x].indexOf(o)&&(c===F||-1!==[v,m].indexOf(c)&&A[s+1]===F)||-1!==[v,m].indexOf(o)&&c===F||o===F&&-1!==[F,S,y].indexOf(c))return P;if(-1!==[F,S,y,f,B].indexOf(c))for(var d=a;d>=0;){if((h=A[d])===F)return P;if(-1===[S,y].indexOf(h))break;d--}if(-1!==[Q,x].indexOf(c))for(d=-1!==[f,B].indexOf(o)?r:a;d>=0;){var h;if((h=A[d])===F)return P;if(-1===[S,y].indexOf(h))break;d--}if(O===o&&-1!==[O,N,k,M].indexOf(c)||-1!==[N,k].indexOf(o)&&-1!==[N,H].indexOf(c)||-1!==[H,M].indexOf(o)&&c===H)return P;if(-1!==j.indexOf(o)&&-1!==[b,x].indexOf(c)||-1!==j.indexOf(c)&&o===Q)return P;if(-1!==G.indexOf(o)&&-1!==G.indexOf(c))return P;if(o===y&&-1!==G.indexOf(c))return P;if(-1!==G.concat(F).indexOf(o)&&c===v&&-1===R.indexOf(e[s])||-1!==G.concat(F).indexOf(c)&&o===B)return P;if(41===o&&41===c){for(var u=t[a],g=1;u>0&&41===A[--u];)g++;if(g%2!=0)return P}return o===U&&c===I?P:V},$=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=function(e,A){void 0===A&&(A="strict");var t=[],n=[],i=[];return e.forEach((function(e,a){var r=K.get(e);if(r>50?(i.push(!0),r-=50):i.push(!1),-1!==["normal","auto","loose"].indexOf(A)&&-1!==[8208,8211,12316,12448].indexOf(e))return n.push(a),t.push(16);if(4===r||11===r){if(0===a)return n.push(a),t.push(T);var s=t[a-1];return-1===Y.indexOf(s)?(n.push(n[a-1]),t.push(s)):(n.push(a),t.push(T))}return n.push(a),31===r?t.push("strict"===A?C:L):r===D||29===r?t.push(T):43===r?e>=131072&&e<=196605||e>=196608&&e<=262141?t.push(L):t.push(T):void t.push(r)})),[n,t,i]}(e,A.lineBreak),n=t[0],i=t[1],a=t[2];"break-all"!==A.wordBreak&&"break-word"!==A.wordBreak||(i=i.map((function(e){return-1!==[F,T,D].indexOf(e)?L:e})));var r="keep-all"===A.wordBreak?a.map((function(A,t){return A&&e[t]>=19968&&e[t]<=40959})):void 0;return[n,i,r]},ee=function(){function e(e,A,t,n){this.codePoints=e,this.required="!"===A,this.start=t,this.end=n}return e.prototype.slice=function(){return l.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),Ae=45,te=43,ne=-1,ie=function(e){return e>=48&&e<=57},ae=function(e){return ie(e)||e>=65&&e<=70||e>=97&&e<=102},re=function(e){return 10===e||9===e||32===e},se=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},oe=function(e){return se(e)||ie(e)||e===Ae},le=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},ce=function(e,A){return 92===e&&10!==A},de=function(e,A,t){return e===Ae?se(A)||ce(A,t):!!se(e)||!(92!==e||!ce(e,A))},he=function(e,A,t){return e===te||e===Ae?!!ie(A)||46===A&&ie(t):ie(46===e?A:e)},ue=function(e){var A=0,t=1;e[A]!==te&&e[A]!==Ae||(e[A]===Ae&&(t=-1),A++);for(var n=[];ie(e[A]);)n.push(e[A++]);var i=n.length?parseInt(l.apply(void 0,n),10):0;46===e[A]&&A++;for(var a=[];ie(e[A]);)a.push(e[A++]);var r=a.length,s=r?parseInt(l.apply(void 0,a),10):0;69!==e[A]&&101!==e[A]||A++;var o=1;e[A]!==te&&e[A]!==Ae||(e[A]===Ae&&(o=-1),A++);for(var c=[];ie(e[A]);)c.push(e[A++]);var d=c.length?parseInt(l.apply(void 0,c),10):0;return t*(i+s*Math.pow(10,-r))*Math.pow(10,o*d)},ge={type:2},pe={type:3},we={type:4},me={type:13},fe={type:8},Be={type:21},Ee={type:9},be={type:10},Ce={type:11},ve={type:12},ye={type:14},Fe={type:23},xe={type:1},Qe={type:25},Se={type:24},Te={type:26},Ue={type:27},Ie={type:28},ke={type:29},Me={type:31},Le={type:32},Oe=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(o(e))},e.prototype.read=function(){for(var e=[],A=this.consumeToken();A!==Le;)e.push(A),A=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var A=this.peekCodePoint(0),t=this.peekCodePoint(1),n=this.peekCodePoint(2);if(oe(A)||ce(t,n)){var i=de(A,t,n)?2:1;return{type:5,value:this.consumeName(),flags:i}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),me;break;case 39:return this.consumeStringToken(39);case 40:return ge;case 41:return pe;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ye;break;case te:if(he(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return we;case Ae:var a=e,r=this.peekCodePoint(0),s=this.peekCodePoint(1);if(he(a,r,s))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(de(a,r,s))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(r===Ae&&62===s)return this.consumeCodePoint(),this.consumeCodePoint(),Se;break;case 46:if(he(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var o=this.consumeCodePoint();if(42===o&&47===(o=this.consumeCodePoint()))return this.consumeToken();if(o===ne)return this.consumeToken()}break;case 58:return Te;case 59:return Ue;case 60:if(33===this.peekCodePoint(0)&&this.peekCodePoint(1)===Ae&&this.peekCodePoint(2)===Ae)return this.consumeCodePoint(),this.consumeCodePoint(),Qe;break;case 64:var c=this.peekCodePoint(0),d=this.peekCodePoint(1),h=this.peekCodePoint(2);if(de(c,d,h))return{type:7,value:this.consumeName()};break;case 91:return Ie;case 92:if(ce(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return ke;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),fe;break;case 123:return Ce;case 125:return ve;case 117:case 85:var u=this.peekCodePoint(0),g=this.peekCodePoint(1);return u!==te||!ae(g)&&63!==g||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Ee;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Be;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),be;break;case ne:return Le}return re(e)?(this.consumeWhiteSpace(),Me):ie(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):se(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:l(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],A=this.consumeCodePoint();ae(A)&&e.length<6;)e.push(A),A=this.consumeCodePoint();for(var t=!1;63===A&&e.length<6;)e.push(A),A=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(l.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(l.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var n=parseInt(l.apply(void 0,e),16);if(this.peekCodePoint(0)===Ae&&ae(this.peekCodePoint(1))){this.consumeCodePoint(),A=this.consumeCodePoint();for(var i=[];ae(A)&&i.length<6;)i.push(A),A=this.consumeCodePoint();return{type:30,start:n,end:parseInt(l.apply(void 0,i),16)}}return{type:30,start:n,end:n}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===ne)return{type:22,value:""};var A=this.peekCodePoint(0);if(39===A||34===A){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===ne||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),Fe)}for(;;){var n=this.consumeCodePoint();if(n===ne||41===n)return{type:22,value:l.apply(void 0,e)};if(re(n))return this.consumeWhiteSpace(),this.peekCodePoint(0)===ne||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Fe);if(34===n||39===n||40===n||le(n))return this.consumeBadUrlRemnants(),Fe;if(92===n){if(!ce(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),Fe;e.push(this.consumeEscapedCodePoint())}else e.push(n)}},e.prototype.consumeWhiteSpace=function(){for(;re(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||e===ne)return;ce(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var A="";e>0;){var t=Math.min(5e4,e);A+=l.apply(void 0,this._value.splice(0,t)),e-=t}return this._value.shift(),A},e.prototype.consumeStringToken=function(e){for(var A="",t=0;;){var n=this._value[t];if(n===ne||void 0===n||n===e)return{type:0,value:A+=this.consumeStringSlice(t)};if(10===n)return this._value.splice(0,t),xe;if(92===n){var i=this._value[t+1];i!==ne&&void 0!==i&&(10===i?(A+=this.consumeStringSlice(t),t=-1,this._value.shift()):ce(n,i)&&(A+=this.consumeStringSlice(t),A+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},e.prototype.consumeNumber=function(){var e=[],A=4,t=this.peekCodePoint(0);for(t!==te&&t!==Ae||e.push(this.consumeCodePoint());ie(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===t&&ie(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ie(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0),n=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((69===t||101===t)&&((n===te||n===Ae)&&ie(i)||ie(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ie(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[ue(e),A]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),A=e[0],t=e[1],n=this.peekCodePoint(0),i=this.peekCodePoint(1),a=this.peekCodePoint(2);return de(n,i,a)?{type:15,number:A,flags:t,unit:this.consumeName()}:37===n?(this.consumeCodePoint(),{type:16,number:A,flags:t}):{type:17,number:A,flags:t}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(ae(e)){for(var A=l(e);ae(this.peekCodePoint(0))&&A.length<6;)A+=l(this.consumeCodePoint());re(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(A,16);return 0===t||function(e){return e>=55296&&e<=57343}(t)||t>1114111?65533:t}return e===ne?65533:e},e.prototype.consumeName=function(){for(var e="";;){var A=this.consumeCodePoint();if(oe(A))e+=l(A);else{if(!ce(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),e;e+=l(this.consumeEscapedCodePoint())}}},e}(),Ne=function(){function e(e){this._tokens=e}return e.create=function(A){var t=new Oe;return t.write(A),new e(t.read())},e.parseValue=function(A){return e.create(A).parseComponentValue()},e.parseValues=function(A){return e.create(A).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var A=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return A;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var A=this.consumeComponentValue();if(32===A.type)return e;e.push(A),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var A={type:e,values:[]},t=this.consumeToken();;){if(32===t.type||ze(t,e))return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue()),t=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var A={name:e.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?Le:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),He=function(e){return 15===e.type},De=function(e){return 17===e.type},Re=function(e){return 20===e.type},Pe=function(e){return 0===e.type},Ve=function(e,A){return Re(e)&&e.value===A},Ke=function(e){return 31!==e.type},Ge=function(e){return 31!==e.type&&4!==e.type},We=function(e){var A=[],t=[];return e.forEach((function(e){if(4===e.type){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return A.push(t),void(t=[])}31!==e.type&&t.push(e)})),t.length&&A.push(t),A},ze=function(e,A){return 11===A&&12===e.type||28===A&&29===e.type||2===A&&3===e.type},Xe=function(e){return 17===e.type||15===e.type},Ye=function(e){return 16===e.type||Xe(e)},je=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},Je={type:17,number:0,flags:4},Ze={type:16,number:50,flags:4},qe={type:16,number:100,flags:4},_e=function(e,A,t){var n=e[0],i=e[1];return[$e(n,A),$e(void 0!==i?i:n,t)]},$e=function(e,A){if(16===e.type)return e.number/100*A;if(He(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},eA="grad",AA="turn",tA=function(e,A){if(15===A.type)switch(A.unit){case"deg":return Math.PI*A.number/180;case eA:return Math.PI/200*A.number;case"rad":return A.number;case AA:return 2*Math.PI*A.number}throw new Error("Unsupported angle type")},nA=function(e){return 15===e.type&&("deg"===e.unit||e.unit===eA||"rad"===e.unit||e.unit===AA)},iA=function(e){switch(e.filter(Re).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Je,Je];case"to top":case"bottom":return aA(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Je,qe];case"to right":case"left":return aA(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[qe,qe];case"to bottom":case"top":return aA(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[qe,Je];case"to left":case"right":return aA(270)}return 0},aA=function(e){return Math.PI*e/180},rA=function(e,A){if(18===A.type){var t=gA[A.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+A.name+'"');return t(e,A.values)}if(5===A.type){if(3===A.value.length){var n=A.value.substring(0,1),i=A.value.substring(1,2),a=A.value.substring(2,3);return lA(parseInt(n+n,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(4===A.value.length){n=A.value.substring(0,1),i=A.value.substring(1,2),a=A.value.substring(2,3);var r=A.value.substring(3,4);return lA(parseInt(n+n,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(r+r,16)/255)}if(6===A.value.length)return n=A.value.substring(0,2),i=A.value.substring(2,4),a=A.value.substring(4,6),lA(parseInt(n,16),parseInt(i,16),parseInt(a,16),1);if(8===A.value.length)return n=A.value.substring(0,2),i=A.value.substring(2,4),a=A.value.substring(4,6),r=A.value.substring(6,8),lA(parseInt(n,16),parseInt(i,16),parseInt(a,16),parseInt(r,16)/255)}if(20===A.type){var s=wA[A.value.toUpperCase()];if(void 0!==s)return s}return wA.TRANSPARENT},sA=function(e){return 0==(255&e)},oA=function(e){var A=255&e,t=255&e>>8,n=255&e>>16,i=255&e>>24;return A<255?"rgba("+i+","+n+","+t+","+A/255+")":"rgb("+i+","+n+","+t+")"},lA=function(e,A,t,n){return(e<<24|A<<16|t<<8|Math.round(255*n)<<0)>>>0},cA=function(e,A){if(17===e.type)return e.number;if(16===e.type){var t=3===A?1:255;return 3===A?e.number/100*t:Math.round(e.number/100*t)}return 0},dA=function(e,A){var t=A.filter(Ge);if(3===t.length){var n=t.map(cA),i=n[0],a=n[1],r=n[2];return lA(i,a,r,1)}if(4===t.length){var s=t.map(cA),o=(i=s[0],a=s[1],r=s[2],s[3]);return lA(i,a,r,o)}return 0};function hA(e,A,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(A-e)*t*6+e:t<.5?A:t<2/3?6*(A-e)*(2/3-t)+e:e}var uA=function(e,A){var t=A.filter(Ge),n=t[0],i=t[1],a=t[2],r=t[3],s=(17===n.type?aA(n.number):tA(e,n))/(2*Math.PI),o=Ye(i)?i.number/100:0,l=Ye(a)?a.number/100:0,c=void 0!==r&&Ye(r)?$e(r,1):1;if(0===o)return lA(255*l,255*l,255*l,1);var d=l<=.5?l*(o+1):l+o-l*o,h=2*l-d,u=hA(h,d,s+1/3),g=hA(h,d,s),p=hA(h,d,s-1/3);return lA(255*u,255*g,255*p,c)},gA={hsl:uA,hsla:uA,rgb:dA,rgba:dA},pA=function(e,A){return rA(e,Ne.create(A).parseComponentValue())},wA={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},mA={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map((function(e){if(Re(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},fA={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},BA=function(e,A){var t=rA(e,A[0]),n=A[1];return n&&Ye(n)?{color:t,stop:n}:{color:t,stop:null}},EA=function(e,A){var t=e[0],n=e[e.length-1];null===t.stop&&(t.stop=Je),null===n.stop&&(n.stop=qe);for(var i=[],a=0,r=0;ra?i.push(o):i.push(a),a=o}else i.push(null)}var l=null;for(r=0;re.optimumDistance)?{optimumCorner:A,optimumDistance:s}:e}),{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},yA=function(e,A){var t=aA(180),n=[];return We(A).forEach((function(A,i){if(0===i){var a=A[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(t=iA(A));if(nA(a))return void(t=(tA(e,a)+aA(270))%aA(360))}var r=BA(e,A);n.push(r)})),{angle:t,stops:n,type:1}},FA="closest-side",xA="farthest-side",QA="closest-corner",SA="farthest-corner",TA="circle",UA="ellipse",IA="cover",kA="contain",MA=function(e,A){var t=0,n=3,i=[],a=[];return We(A).forEach((function(A,r){var s=!0;if(0===r?s=A.reduce((function(e,A){if(Re(A))switch(A.value){case"center":return a.push(Ze),!1;case"top":case"left":return a.push(Je),!1;case"right":case"bottom":return a.push(qe),!1}else if(Ye(A)||Xe(A))return a.push(A),!1;return e}),s):1===r&&(s=A.reduce((function(e,A){if(Re(A))switch(A.value){case TA:return t=0,!1;case UA:return t=1,!1;case kA:case FA:return n=0,!1;case xA:return n=1,!1;case QA:return n=2,!1;case IA:case SA:return n=3,!1}else if(Xe(A)||Ye(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e}),s)),s){var o=BA(e,A);i.push(o)}})),{size:n,shape:t,stops:i,position:a,type:2}},LA=function(e,A){if(22===A.type){var t={url:A.value,type:0};return e.cache.addImage(A.value),t}if(18===A.type){var n=NA[A.name];if(void 0===n)throw new Error('Attempting to parse an unsupported image function "'+A.name+'"');return n(e,A.values)}throw new Error("Unsupported image type "+A.type)};var OA,NA={"linear-gradient":function(e,A){var t=aA(180),n=[];return We(A).forEach((function(A,i){if(0===i){var a=A[0];if(20===a.type&&"to"===a.value)return void(t=iA(A));if(nA(a))return void(t=tA(e,a))}var r=BA(e,A);n.push(r)})),{angle:t,stops:n,type:1}},"-moz-linear-gradient":yA,"-ms-linear-gradient":yA,"-o-linear-gradient":yA,"-webkit-linear-gradient":yA,"radial-gradient":function(e,A){var t=0,n=3,i=[],a=[];return We(A).forEach((function(A,r){var s=!0;if(0===r){var o=!1;s=A.reduce((function(e,A){if(o)if(Re(A))switch(A.value){case"center":return a.push(Ze),e;case"top":case"left":return a.push(Je),e;case"right":case"bottom":return a.push(qe),e}else(Ye(A)||Xe(A))&&a.push(A);else if(Re(A))switch(A.value){case TA:return t=0,!1;case UA:return t=1,!1;case"at":return o=!0,!1;case FA:return n=0,!1;case IA:case xA:return n=1,!1;case kA:case QA:return n=2,!1;case SA:return n=3,!1}else if(Xe(A)||Ye(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e}),s)}if(s){var l=BA(e,A);i.push(l)}})),{size:n,shape:t,stops:i,position:a,type:2}},"-moz-radial-gradient":MA,"-ms-radial-gradient":MA,"-o-radial-gradient":MA,"-webkit-radial-gradient":MA,"-webkit-gradient":function(e,A){var t=aA(180),n=[],i=1;return We(A).forEach((function(A,t){var a=A[0];if(0===t){if(Re(a)&&"linear"===a.value)return void(i=1);if(Re(a)&&"radial"===a.value)return void(i=2)}if(18===a.type)if("from"===a.name){var r=rA(e,a.values[0]);n.push({stop:Je,color:r})}else if("to"===a.name)r=rA(e,a.values[0]),n.push({stop:qe,color:r});else if("color-stop"===a.name){var s=a.values.filter(Ge);if(2===s.length){r=rA(e,s[1]);var o=s[0];De(o)&&n.push({stop:{type:16,number:100*o.number,flags:o.flags},color:r})}}})),1===i?{angle:(t+aA(180))%aA(360),stops:n,type:i}:{size:3,shape:0,stops:n,position:[],type:i}}},HA={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(0===A.length)return[];var t=A[0];return 20===t.type&&"none"===t.value?[]:A.filter((function(e){return Ge(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!NA[e.name])}(e)})).map((function(A){return LA(e,A)}))}},DA={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map((function(e){if(Re(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},RA={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return We(A).map((function(e){return e.filter(Ye)})).map(je)}},PA={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return We(A).map((function(e){return e.filter(Re).map((function(e){return e.value})).join(" ")})).map(VA)}},VA=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(OA||(OA={}));var KA,GA={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return We(A).map((function(e){return e.filter(WA)}))}},WA=function(e){return Re(e)||Ye(e)},zA=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},XA=zA("top"),YA=zA("right"),jA=zA("bottom"),JA=zA("left"),ZA=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,A){return je(A.filter(Ye))}}},qA=ZA("top-left"),_A=ZA("top-right"),$A=ZA("bottom-right"),et=ZA("bottom-left"),At=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,A){switch(A){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},tt=At("top"),nt=At("right"),it=At("bottom"),at=At("left"),rt=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return He(A)?A.number:0}}},st=rt("top"),ot=rt("right"),lt=rt("bottom"),ct=rt("left"),dt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ht={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){return"rtl"===A?1:0}},ut={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(Re).reduce((function(e,A){return e|gt(A.value)}),0)}},gt=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},pt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},wt={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,A){return 20===A.type&&"normal"===A.value?0:17===A.type||15===A.type?A.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(KA||(KA={}));var mt,ft={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"strict"===A?KA.STRICT:KA.NORMAL}},Bt={name:"line-height",initialValue:"normal",prefix:!1,type:4},Et=function(e,A){return Re(e)&&"normal"===e.value?1.2*A:17===e.type?A*e.number:Ye(e)?$e(e,A):A},bt={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return 20===A.type&&"none"===A.value?null:LA(e,A)}},Ct={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){return"inside"===A?0:1}},vt={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},yt=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},Ft=yt("top"),xt=yt("right"),Qt=yt("bottom"),St=yt("left"),Tt={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(Re).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},Ut={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"break-word"===A?"break-word":"normal"}},It=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},kt=It("top"),Mt=It("right"),Lt=It("bottom"),Ot=It("left"),Nt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,A){switch(A){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Ht={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Dt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&Ve(A[0],"none")?[]:We(A).map((function(A){for(var t={color:wA.TRANSPARENT,offsetX:Je,offsetY:Je,blur:Je},n=0,i=0;i1?1:0],this.overflowWrap=fn(e,Ut,A.overflowWrap),this.paddingTop=fn(e,kt,A.paddingTop),this.paddingRight=fn(e,Mt,A.paddingRight),this.paddingBottom=fn(e,Lt,A.paddingBottom),this.paddingLeft=fn(e,Ot,A.paddingLeft),this.paintOrder=fn(e,hn,A.paintOrder),this.position=fn(e,Ht,A.position),this.textAlign=fn(e,Nt,A.textAlign),this.textDecorationColor=fn(e,Zt,null!==(t=A.textDecorationColor)&&void 0!==t?t:A.color),this.textDecorationLine=fn(e,qt,null!==(n=A.textDecorationLine)&&void 0!==n?n:A.textDecoration),this.textShadow=fn(e,Dt,A.textShadow),this.textTransform=fn(e,Rt,A.textTransform),this.transform=fn(e,Pt,A.transform),this.transformOrigin=fn(e,Wt,A.transformOrigin),this.visibility=fn(e,zt,A.visibility),this.webkitTextStrokeColor=fn(e,un,A.webkitTextStrokeColor),this.webkitTextStrokeWidth=fn(e,gn,A.webkitTextStrokeWidth),this.wordBreak=fn(e,Xt,A.wordBreak),this.zIndex=fn(e,Yt,A.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return sA(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return nn(this.display,4)||nn(this.display,33554432)||nn(this.display,268435456)||nn(this.display,536870912)||nn(this.display,67108864)||nn(this.display,134217728)},e}(),wn=function(e,A){this.content=fn(e,an,A.content),this.quotes=fn(e,ln,A.quotes)},mn=function(e,A){this.counterIncrement=fn(e,rn,A.counterIncrement),this.counterReset=fn(e,sn,A.counterReset)},fn=function(e,A,t){var n=new Oe,i=null!=t?t.toString():A.initialValue;n.write(i);var a=new Ne(n.read());switch(A.type){case 2:var r=a.parseComponentValue();return A.parse(e,Re(r)?r.value:A.initialValue);case 0:return A.parse(e,a.parseComponentValue());case 1:return A.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(A.format){case"angle":return tA(e,a.parseComponentValue());case"color":return rA(e,a.parseComponentValue());case"image":return LA(e,a.parseComponentValue());case"length":var s=a.parseComponentValue();return Xe(s)?s:Je;case"length-percentage":var o=a.parseComponentValue();return Ye(o)?o:Je;case"time":return jt.parse(e,a.parseComponentValue())}}},Bn=function(e,A){var t=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===t||A===t},En=function(e,A){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Bn(A,3),this.styles=new pn(e,window.getComputedStyle(A,null)),yi(A)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(A.style.animationDuration="0s"),null!==this.styles.transform&&(A.style.transform="none")),this.bounds=s(this.context,A),Bn(A,4)&&(this.flags|=16)},bn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Cn="undefined"==typeof Uint8Array?[]:new Uint8Array(256),vn=0;vn=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A],A+=e>>5&63,A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),xn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qn="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Sn=0;Sn>10),r%1024+56320)),(i+1===t||n.length>16384)&&(a+=String.fromCharCode.apply(String,n),n.length=0)}return a},On=function(e,A){var t,n,i,a=function(e){var A,t,n,i,a,r=.75*e.length,s=e.length,o=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);var l="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(r):new Array(r),c=Array.isArray(l)?l:new Uint8Array(l);for(A=0;A>4,c[o++]=(15&n)<<4|i>>2,c[o++]=(3&i)<<6|63&a;return l}(e),r=Array.isArray(a)?function(e){for(var A=e.length,t=[],n=0;n=55296&&i<=56319&&t=t)return{done:!0,value:null};for(var e=Nn;nr.x||i.y>r.y;return r=i,0===A||s}));return e.body.removeChild(A),s}(document);return Object.defineProperty(Gn,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var A=new Image,t=e.createElement("canvas"),n=t.getContext("2d");if(!n)return!1;A.src="data:image/svg+xml,";try{n.drawImage(A,0,0),t.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(Gn,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var A=e.createElement("canvas"),t=100;A.width=t,A.height=t;var n=A.getContext("2d");if(!n)return Promise.reject(!1);n.fillStyle="rgb(0, 255, 0)",n.fillRect(0,0,t,t);var i=new Image,a=A.toDataURL();i.src=a;var r=Vn(t,t,0,0,i);return n.fillStyle="red",n.fillRect(0,0,t,t),Kn(r).then((function(A){n.drawImage(A,0,0);var i=n.getImageData(0,0,t,t).data;n.fillStyle="red",n.fillRect(0,0,t,t);var r=e.createElement("div");return r.style.backgroundImage="url("+a+")",r.style.height="100px",Pn(i)?Kn(Vn(t,t,0,0,r)):Promise.reject(!1)})).then((function(e){return n.drawImage(e,0,0),Pn(n.getImageData(0,0,t,t).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(Gn,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(Gn,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(Gn,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Gn,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(Gn,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Wn=function(e,A){this.text=e,this.bounds=A},zn=function(e,A){var t=A.ownerDocument;if(t){var n=t.createElement("html2canvaswrapper");n.appendChild(A.cloneNode(!0));var i=A.parentNode;if(i){i.replaceChild(n,A);var a=s(e,n);return n.firstChild&&i.replaceChild(n.firstChild,n),a}}return r.EMPTY},Xn=function(e,A,t){var n=e.ownerDocument;if(!n)throw new Error("Node has no owner document");var i=n.createRange();return i.setStart(e,A),i.setEnd(e,A+t),i},Yn=function(e){if(Gn.SUPPORT_NATIVE_TEXT_SEGMENTATION){var A=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(A.segment(e)).map((function(e){return e.segment}))}return function(e){for(var A,t=Rn(e),n=[];!(A=t.next()).done;)A.value&&n.push(A.value.slice());return n}(e)},jn=function(e,A){return 0!==A.letterSpacing?Yn(e):function(e,A){if(Gn.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return Zn(e,A)}(e,A)},Jn=[32,160,4961,65792,65793,4153,4241],Zn=function(e,A){for(var t,n=function(e,A){var t=o(e),n=$(t,A),i=n[0],a=n[1],r=n[2],s=t.length,l=0,c=0;return{next:function(){if(c>=s)return{done:!0,value:null};for(var e=P;c0)if(Gn.SUPPORT_RANGE_BOUNDS){var i=Xn(n,s,A.length).getClientRects();if(i.length>1){var o=Yn(A),l=0;o.forEach((function(A){a.push(new Wn(A,r.fromDOMRectList(e,Xn(n,l+s,A.length).getClientRects()))),l+=A.length}))}else a.push(new Wn(A,r.fromDOMRectList(e,i)))}else{var c=n.splitText(A.length);a.push(new Wn(A,zn(e,n))),n=c}else Gn.SUPPORT_RANGE_BOUNDS||(n=n.splitText(A.length));s+=A.length})),a}(e,this.text,t,A)},_n=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace($n,ei);case 2:return e.toUpperCase();default:return e}},$n=/(^|\s|:|-|\(|\))([a-z])/g,ei=function(e,A,t){return e.length>0?A+t.toUpperCase():e},Ai=function(e){function t(A,t){var n=e.call(this,A,t)||this;return n.src=t.currentSrc||t.src,n.intrinsicWidth=t.naturalWidth,n.intrinsicHeight=t.naturalHeight,n.context.cache.addImage(n.src),n}return A(t,e),t}(En),ti=function(e){function t(A,t){var n=e.call(this,A,t)||this;return n.canvas=t,n.intrinsicWidth=t.width,n.intrinsicHeight=t.height,n}return A(t,e),t}(En),ni=function(e){function t(A,t){var n=e.call(this,A,t)||this,i=new XMLSerializer,a=s(A,t);return t.setAttribute("width",a.width+"px"),t.setAttribute("height",a.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(i.serializeToString(t)),n.intrinsicWidth=t.width.baseVal.value,n.intrinsicHeight=t.height.baseVal.value,n.context.cache.addImage(n.svg),n}return A(t,e),t}(En),ii=function(e){function t(A,t){var n=e.call(this,A,t)||this;return n.value=t.value,n}return A(t,e),t}(En),ai=function(e){function t(A,t){var n=e.call(this,A,t)||this;return n.start=t.start,n.reversed="boolean"==typeof t.reversed&&!0===t.reversed,n}return A(t,e),t}(En),ri=[{type:15,flags:0,unit:"px",number:3}],si=[{type:16,flags:0,number:50}],oi="checkbox",li="radio",ci="password",di=707406591,hi=function(e){function t(A,t){var n,i,a,s=e.call(this,A,t)||this;switch(s.type=t.type.toLowerCase(),s.checked=t.checked,s.value=0===(a=(i=t).type===ci?new Array(i.value.length+1).join("•"):i.value).length?i.placeholder||"":a,s.type!==oi&&s.type!==li||(s.styles.backgroundColor=3739148031,s.styles.borderTopColor=s.styles.borderRightColor=s.styles.borderBottomColor=s.styles.borderLeftColor=2779096575,s.styles.borderTopWidth=s.styles.borderRightWidth=s.styles.borderBottomWidth=s.styles.borderLeftWidth=1,s.styles.borderTopStyle=s.styles.borderRightStyle=s.styles.borderBottomStyle=s.styles.borderLeftStyle=1,s.styles.backgroundClip=[0],s.styles.backgroundOrigin=[0],s.bounds=(n=s.bounds).width>n.height?new r(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width0)t.textNodes.push(new qn(e,i,t.styles));else if(vi(i))if(Hi(i)&&i.assignedNodes)i.assignedNodes().forEach((function(A){return mi(e,A,t,n)}));else{var r=fi(e,i);r.styles.isVisible()&&(Ei(i,r,n)?r.flags|=4:bi(r.styles)&&(r.flags|=2),-1!==wi.indexOf(i.tagName)&&(r.flags|=8),t.elements.push(r),i.slot,i.shadowRoot?mi(e,i.shadowRoot,r,n):Oi(i)||Ti(i)||Ni(i)||mi(e,i,r,n))}},fi=function(e,A){return ki(A)?new Ai(e,A):Ii(A)?new ti(e,A):Ti(A)?new ni(e,A):xi(A)?new ii(e,A):Qi(A)?new ai(e,A):Si(A)?new hi(e,A):Ni(A)?new ui(e,A):Oi(A)?new gi(e,A):Mi(A)?new pi(e,A):new En(e,A)},Bi=function(e,A){var t=fi(e,A);return t.flags|=4,mi(e,A,t,t),t},Ei=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||Ui(e)&&t.styles.isTransparent()},bi=function(e){return e.isPositioned()||e.isFloating()},Ci=function(e){return e.nodeType===Node.TEXT_NODE},vi=function(e){return e.nodeType===Node.ELEMENT_NODE},yi=function(e){return vi(e)&&void 0!==e.style&&!Fi(e)},Fi=function(e){return"object"==typeof e.className},xi=function(e){return"LI"===e.tagName},Qi=function(e){return"OL"===e.tagName},Si=function(e){return"INPUT"===e.tagName},Ti=function(e){return"svg"===e.tagName},Ui=function(e){return"BODY"===e.tagName},Ii=function(e){return"CANVAS"===e.tagName},ki=function(e){return"IMG"===e.tagName},Mi=function(e){return"IFRAME"===e.tagName},Li=function(e){return"STYLE"===e.tagName},Oi=function(e){return"TEXTAREA"===e.tagName},Ni=function(e){return"SELECT"===e.tagName},Hi=function(e){return"SLOT"===e.tagName},Di=function(e){return e.tagName.indexOf("-")>0},Ri=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var A=this.counters[e];return A&&A.length?A[A.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var A=this;e.forEach((function(e){return A.counters[e].pop()}))},e.prototype.parse=function(e){var A=this,t=e.counterIncrement,n=e.counterReset,i=!0;null!==t&&t.forEach((function(e){var t=A.counters[e.counter];t&&0!==e.increment&&(i=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=e.increment)}));var a=[];return i&&n.forEach((function(e){var t=A.counters[e.counter];a.push(e.counter),t||(t=A.counters[e.counter]=[]),t.push(e.reset)})),a},e}(),Pi={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Vi={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Ki={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Gi={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},Wi=function(e,A,t,n,i,a){return et?$i(e,i,a.length>0):n.integers.reduce((function(A,t,i){for(;e>=t;)e-=t,A+=n.values[i];return A}),"")+a},zi=function(e,A,t,n){var i="";do{t||e--,i=n(e)+i,e/=A}while(e*A>=A);return i},Xi=function(e,A,t,n,i){var a=t-A+1;return(e<0?"-":"")+(zi(Math.abs(e),a,n,(function(e){return l(Math.floor(e%a)+A)}))+i)},Yi=function(e,A,t){void 0===t&&(t=". ");var n=A.length;return zi(Math.abs(e),n,!1,(function(e){return A[Math.floor(e%n)]}))+t},ji=function(e,A,t,n,i,a){if(e<-9999||e>9999)return $i(e,4,i.length>0);var r=Math.abs(e),s=i;if(0===r)return A[0]+s;for(var o=0;r>0&&o<=4;o++){var l=r%10;0===l&&nn(a,1)&&""!==s?s=A[l]+s:l>1||1===l&&0===o||1===l&&1===o&&nn(a,2)||1===l&&1===o&&nn(a,4)&&e>100||1===l&&o>1&&nn(a,8)?s=A[l]+(o>0?t[o-1]:"")+s:1===l&&o>0&&(s=t[o-1]+s),r=Math.floor(r/10)}return(e<0?n:"")+s},Ji="十百千萬",Zi="拾佰仟萬",qi="マイナス",_i="마이너스",$i=function(e,A,t){var n=t?". ":"",i=t?"、":"",a=t?", ":"",r=t?" ":"";switch(A){case 0:return"•"+r;case 1:return"◦"+r;case 2:return"◾"+r;case 5:var s=Xi(e,48,57,!0,n);return s.length<4?"0"+s:s;case 4:return Yi(e,"〇一二三四五六七八九",i);case 6:return Wi(e,1,3999,Pi,3,n).toLowerCase();case 7:return Wi(e,1,3999,Pi,3,n);case 8:return Xi(e,945,969,!1,n);case 9:return Xi(e,97,122,!1,n);case 10:return Xi(e,65,90,!1,n);case 11:return Xi(e,1632,1641,!0,n);case 12:case 49:return Wi(e,1,9999,Vi,3,n);case 35:return Wi(e,1,9999,Vi,3,n).toLowerCase();case 13:return Xi(e,2534,2543,!0,n);case 14:case 30:return Xi(e,6112,6121,!0,n);case 15:return Yi(e,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return Yi(e,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return ji(e,"零一二三四五六七八九",Ji,"負",i,14);case 47:return ji(e,"零壹貳參肆伍陸柒捌玖",Zi,"負",i,15);case 42:return ji(e,"零一二三四五六七八九",Ji,"负",i,14);case 41:return ji(e,"零壹贰叁肆伍陆柒捌玖",Zi,"负",i,15);case 26:return ji(e,"〇一二三四五六七八九","十百千万",qi,i,0);case 25:return ji(e,"零壱弐参四伍六七八九","拾百千万",qi,i,7);case 31:return ji(e,"영일이삼사오육칠팔구","십백천만",_i,a,7);case 33:return ji(e,"零一二三四五六七八九","十百千萬",_i,a,0);case 32:return ji(e,"零壹貳參四五六七八九","拾百千",_i,a,7);case 18:return Xi(e,2406,2415,!0,n);case 20:return Wi(e,1,19999,Gi,3,n);case 21:return Xi(e,2790,2799,!0,n);case 22:return Xi(e,2662,2671,!0,n);case 22:return Wi(e,1,10999,Ki,3,n);case 23:return Yi(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Yi(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Xi(e,3302,3311,!0,n);case 28:return Yi(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return Yi(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return Xi(e,3792,3801,!0,n);case 37:return Xi(e,6160,6169,!0,n);case 38:return Xi(e,4160,4169,!0,n);case 39:return Xi(e,2918,2927,!0,n);case 40:return Xi(e,1776,1785,!0,n);case 43:return Xi(e,3046,3055,!0,n);case 44:return Xi(e,3174,3183,!0,n);case 45:return Xi(e,3664,3673,!0,n);case 46:return Xi(e,3872,3881,!0,n);default:return Xi(e,48,57,!0,n)}},ea="data-html2canvas-ignore",Aa=function(){function e(e,A,t){if(this.context=e,this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new Ri,this.quoteDepth=0,!A.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(A.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,A){var t=this,a=na(e,A);if(!a.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,o=a.contentWindow,l=o.document,c=ra(a).then((function(){return n(t,void 0,void 0,(function(){var e,t;return i(this,(function(n){switch(n.label){case 0:return this.scrolledElements.forEach(da),o&&(o.scrollTo(A.left,A.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||o.scrollY===A.top&&o.scrollX===A.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(o.scrollX-A.left,o.scrollY-A.top,0,0))),e=this.options.onclone,void 0===(t=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:n.sent(),n.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,aa(l)]:[3,4];case 3:n.sent(),n.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(l,t)})).then((function(){return a}))]:[2,a]}}))}))}));return l.open(),l.write(la(document.doctype)+""),ca(this.referenceElement.ownerDocument,r,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),c},e.prototype.createElementClone=function(e){if(Bn(e,2),Ii(e))return this.createCanvasClone(e);if(Li(e))return this.createStyleClone(e);var A=e.cloneNode(!1);return ki(A)&&(ki(e)&&e.currentSrc&&e.currentSrc!==e.src&&(A.src=e.currentSrc,A.srcset=""),"lazy"===A.loading&&(A.loading="eager")),Di(A)?this.createCustomElementClone(A):A},e.prototype.createCustomElementClone=function(e){var A=document.createElement("html2canvascustomelement");return oa(e.style,A),A},e.prototype.createStyleClone=function(e){try{var A=e.sheet;if(A&&A.cssRules){var t=[].slice.call(A.cssRules,0).reduce((function(e,A){return A&&"string"==typeof A.cssText?e+A.cssText:e}),""),n=e.cloneNode(!1);return n.textContent=t,n}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var A;if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement("img");try{return t.src=e.toDataURL(),t}catch(A){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var i=e.getContext("2d"),a=n.getContext("2d");if(a)if(!this.options.allowTaint&&i)a.putImageData(i.getImageData(0,0,e.width,e.height),0,0);else{var r=null!==(A=e.getContext("webgl2"))&&void 0!==A?A:e.getContext("webgl");if(r){var s=r.getContextAttributes();!1===(null==s?void 0:s.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return n}catch(A){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return n},e.prototype.appendChildNode=function(e,A,t){vi(A)&&("SCRIPT"===A.tagName||A.hasAttribute(ea)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(A))||this.options.copyStyles&&vi(A)&&Li(A)||e.appendChild(this.cloneNode(A,t))},e.prototype.cloneNode=function(e,A){var t=this;if(Ci(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&vi(e)&&(yi(e)||Fi(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var a=n.getComputedStyle(e),r=n.getComputedStyle(e,":before"),s=n.getComputedStyle(e,":after");this.referenceElement===e&&yi(i)&&(this.clonedReferenceElement=i),Ui(i)&&pa(i);var o=this.counters.parse(new mn(this.context,a)),l=this.resolvePseudoContent(e,i,r,Tn.BEFORE);Di(e)&&(A=!0);for(var c=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;c;c=c.nextSibling)if(vi(c)&&Hi(c)&&"function"==typeof c.assignedNodes){var d=c.assignedNodes();d.length&&d.forEach((function(e){return t.appendChildNode(i,e,A)}))}else this.appendChildNode(i,c,A);l&&i.insertBefore(l,i.firstChild);var h=this.resolvePseudoContent(e,i,s,Tn.AFTER);return h&&i.appendChild(h),this.counters.pop(o),(a&&(this.options.copyStyles||Fi(e))&&!Mi(e)||A)&&oa(a,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(Oi(e)||Ni(e))&&(Oi(i)||Ni(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,A,t,n){var i=this;if(t){var a=t.content,r=A.ownerDocument;if(r&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==t.display){this.counters.parse(new mn(this.context,t));var s=new wn(this.context,t),o=r.createElement("html2canvaspseudoelement");oa(t,o),s.content.forEach((function(A){if(0===A.type)o.appendChild(r.createTextNode(A.value));else if(22===A.type){var t=r.createElement("img");t.src=A.value,t.style.opacity="1",o.appendChild(t)}else if(18===A.type){if("attr"===A.name){var n=A.values.filter(Re);n.length&&o.appendChild(r.createTextNode(e.getAttribute(n[0].value)||""))}else if("counter"===A.name){var a=A.values.filter(Ge),l=a[0],c=a[1];if(l&&Re(l)){var d=i.counters.getCounterValue(l.value),h=c&&Re(c)?vt.parse(i.context,c.value):3;o.appendChild(r.createTextNode($i(d,h,!1)))}}else if("counters"===A.name){var u=A.values.filter(Ge),g=(l=u[0],u[1]);if(c=u[2],l&&Re(l)){var p=i.counters.getCounterValues(l.value),w=c&&Re(c)?vt.parse(i.context,c.value):3,m=g&&0===g.type?g.value:"",f=p.map((function(e){return $i(e,w,!1)})).join(m);o.appendChild(r.createTextNode(f))}}}else if(20===A.type)switch(A.value){case"open-quote":o.appendChild(r.createTextNode(cn(s.quotes,i.quoteDepth++,!0)));break;case"close-quote":o.appendChild(r.createTextNode(cn(s.quotes,--i.quoteDepth,!1)));break;default:o.appendChild(r.createTextNode(A.value))}})),o.className=ha+" "+ua;var l=n===Tn.BEFORE?" "+ha:" "+ua;return Fi(A)?A.className.baseValue+=l:A.className+=l,o}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(Tn||(Tn={}));var ta,na=function(e,A){var t=e.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=A.width.toString(),t.height=A.height.toString(),t.scrolling="no",t.setAttribute(ea,"true"),e.body.appendChild(t),t},ia=function(e){return new Promise((function(A){e.complete?A():e.src?(e.onload=A,e.onerror=A):A()}))},aa=function(e){return Promise.all([].slice.call(e.images,0).map(ia))},ra=function(e){return new Promise((function(A,t){var n=e.contentWindow;if(!n)return t("No window assigned for iframe");var i=n.document;n.onload=e.onload=function(){n.onload=e.onload=null;var t=setInterval((function(){i.body.childNodes.length>0&&"complete"===i.readyState&&(clearInterval(t),A(e))}),50)}}))},sa=["all","d","content"],oa=function(e,A){for(var t=e.length-1;t>=0;t--){var n=e.item(t);-1===sa.indexOf(n)&&A.style.setProperty(n,e.getPropertyValue(n))}return A},la=function(e){var A="";return e&&(A+=""),A},ca=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},da=function(e){var A=e[0],t=e[1],n=e[2];A.scrollLeft=t,A.scrollTop=n},ha="___html2canvas___pseudoelement_before",ua="___html2canvas___pseudoelement_after",ga='{\n content: "" !important;\n display: none !important;\n}',pa=function(e){wa(e,"."+ha+":before"+ga+"\n ."+ua+":after"+ga)},wa=function(e,A){var t=e.ownerDocument;if(t){var n=t.createElement("style");n.textContent=A,e.appendChild(n)}},ma=function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e}(),fa=function(){function e(e,A){this.context=e,this._options=A,this._cache={}}return e.prototype.addImage=function(e){var A=Promise.resolve();return this.has(e)?A:Fa(e)||Ca(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),A):A},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return n(this,void 0,void 0,(function(){var A,t,n,a,r=this;return i(this,(function(i){switch(i.label){case 0:return A=ma.isSameOrigin(e),t=!va(e)&&!0===this._options.useCORS&&Gn.SUPPORT_CORS_IMAGES&&!A,n=!va(e)&&!A&&!Fa(e)&&"string"==typeof this._options.proxy&&Gn.SUPPORT_CORS_XHR&&!t,A||!1!==this._options.allowTaint||va(e)||Fa(e)||n||t?(a=e,n?[4,this.proxy(a)]:[3,2]):[2];case 1:a=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,A){var n=new Image;n.onload=function(){return e(n)},n.onerror=A,(ya(a)||t)&&(n.crossOrigin="anonymous"),n.src=a,!0===n.complete&&setTimeout((function(){return e(n)}),500),r._options.imageTimeout>0&&setTimeout((function(){return A("Timed out ("+r._options.imageTimeout+"ms) loading image")}),r._options.imageTimeout)}))];case 3:return[2,i.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var A=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var n=e.substring(0,256);return new Promise((function(i,a){var r=Gn.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===r)i(s.response);else{var e=new FileReader;e.addEventListener("load",(function(){return i(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(s.response)}else a("Failed to proxy resource "+n+" with status code "+s.status)},s.onerror=a;var o=t.indexOf("?")>-1?"&":"?";if(s.open("GET",""+t+o+"url="+encodeURIComponent(e)+"&responseType="+r),"text"!==r&&s instanceof XMLHttpRequest&&(s.responseType=r),A._options.imageTimeout){var l=A._options.imageTimeout;s.timeout=l,s.ontimeout=function(){return a("Timed out ("+l+"ms) proxying "+n)}}s.send()}))},e}(),Ba=/^data:image\/svg\+xml/i,Ea=/^data:image\/.*;base64,/i,ba=/^data:image\/.*/i,Ca=function(e){return Gn.SUPPORT_SVG_DRAWING||!xa(e)},va=function(e){return ba.test(e)},ya=function(e){return Ea.test(e)},Fa=function(e){return"blob"===e.substr(0,4)},xa=function(e){return"svg"===e.substr(-3).toLowerCase()||Ba.test(e)},Qa=function(){function e(e,A){this.type=0,this.x=e,this.y=A}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e}(),Sa=function(e,A,t){return new Qa(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},Ta=function(){function e(e,A,t,n){this.type=1,this.start=e,this.startControl=A,this.endControl=t,this.end=n}return e.prototype.subdivide=function(A,t){var n=Sa(this.start,this.startControl,A),i=Sa(this.startControl,this.endControl,A),a=Sa(this.endControl,this.end,A),r=Sa(n,i,A),s=Sa(i,a,A),o=Sa(r,s,A);return t?new e(this.start,n,r,o):new e(o,s,a,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),Ua=function(e){return 1===e.type},Ia=function(e){var A=e.styles,t=e.bounds,n=_e(A.borderTopLeftRadius,t.width,t.height),i=n[0],a=n[1],r=_e(A.borderTopRightRadius,t.width,t.height),s=r[0],o=r[1],l=_e(A.borderBottomRightRadius,t.width,t.height),c=l[0],d=l[1],h=_e(A.borderBottomLeftRadius,t.width,t.height),u=h[0],g=h[1],p=[];p.push((i+s)/t.width),p.push((u+c)/t.width),p.push((a+g)/t.height),p.push((o+d)/t.height);var w=Math.max.apply(Math,p);w>1&&(i/=w,a/=w,s/=w,o/=w,c/=w,d/=w,u/=w,g/=w);var m=t.width-s,f=t.height-d,B=t.width-c,E=t.height-g,b=A.borderTopWidth,C=A.borderRightWidth,v=A.borderBottomWidth,y=A.borderLeftWidth,F=$e(A.paddingTop,e.bounds.width),x=$e(A.paddingRight,e.bounds.width),Q=$e(A.paddingBottom,e.bounds.width),S=$e(A.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=i>0||a>0?ka(t.left+y/3,t.top+b/3,i-y/3,a-b/3,ta.TOP_LEFT):new Qa(t.left+y/3,t.top+b/3),this.topRightBorderDoubleOuterBox=i>0||a>0?ka(t.left+m,t.top+b/3,s-C/3,o-b/3,ta.TOP_RIGHT):new Qa(t.left+t.width-C/3,t.top+b/3),this.bottomRightBorderDoubleOuterBox=c>0||d>0?ka(t.left+B,t.top+f,c-C/3,d-v/3,ta.BOTTOM_RIGHT):new Qa(t.left+t.width-C/3,t.top+t.height-v/3),this.bottomLeftBorderDoubleOuterBox=u>0||g>0?ka(t.left+y/3,t.top+E,u-y/3,g-v/3,ta.BOTTOM_LEFT):new Qa(t.left+y/3,t.top+t.height-v/3),this.topLeftBorderDoubleInnerBox=i>0||a>0?ka(t.left+2*y/3,t.top+2*b/3,i-2*y/3,a-2*b/3,ta.TOP_LEFT):new Qa(t.left+2*y/3,t.top+2*b/3),this.topRightBorderDoubleInnerBox=i>0||a>0?ka(t.left+m,t.top+2*b/3,s-2*C/3,o-2*b/3,ta.TOP_RIGHT):new Qa(t.left+t.width-2*C/3,t.top+2*b/3),this.bottomRightBorderDoubleInnerBox=c>0||d>0?ka(t.left+B,t.top+f,c-2*C/3,d-2*v/3,ta.BOTTOM_RIGHT):new Qa(t.left+t.width-2*C/3,t.top+t.height-2*v/3),this.bottomLeftBorderDoubleInnerBox=u>0||g>0?ka(t.left+2*y/3,t.top+E,u-2*y/3,g-2*v/3,ta.BOTTOM_LEFT):new Qa(t.left+2*y/3,t.top+t.height-2*v/3),this.topLeftBorderStroke=i>0||a>0?ka(t.left+y/2,t.top+b/2,i-y/2,a-b/2,ta.TOP_LEFT):new Qa(t.left+y/2,t.top+b/2),this.topRightBorderStroke=i>0||a>0?ka(t.left+m,t.top+b/2,s-C/2,o-b/2,ta.TOP_RIGHT):new Qa(t.left+t.width-C/2,t.top+b/2),this.bottomRightBorderStroke=c>0||d>0?ka(t.left+B,t.top+f,c-C/2,d-v/2,ta.BOTTOM_RIGHT):new Qa(t.left+t.width-C/2,t.top+t.height-v/2),this.bottomLeftBorderStroke=u>0||g>0?ka(t.left+y/2,t.top+E,u-y/2,g-v/2,ta.BOTTOM_LEFT):new Qa(t.left+y/2,t.top+t.height-v/2),this.topLeftBorderBox=i>0||a>0?ka(t.left,t.top,i,a,ta.TOP_LEFT):new Qa(t.left,t.top),this.topRightBorderBox=s>0||o>0?ka(t.left+m,t.top,s,o,ta.TOP_RIGHT):new Qa(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||d>0?ka(t.left+B,t.top+f,c,d,ta.BOTTOM_RIGHT):new Qa(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=u>0||g>0?ka(t.left,t.top+E,u,g,ta.BOTTOM_LEFT):new Qa(t.left,t.top+t.height),this.topLeftPaddingBox=i>0||a>0?ka(t.left+y,t.top+b,Math.max(0,i-y),Math.max(0,a-b),ta.TOP_LEFT):new Qa(t.left+y,t.top+b),this.topRightPaddingBox=s>0||o>0?ka(t.left+Math.min(m,t.width-C),t.top+b,m>t.width+C?0:Math.max(0,s-C),Math.max(0,o-b),ta.TOP_RIGHT):new Qa(t.left+t.width-C,t.top+b),this.bottomRightPaddingBox=c>0||d>0?ka(t.left+Math.min(B,t.width-y),t.top+Math.min(f,t.height-v),Math.max(0,c-C),Math.max(0,d-v),ta.BOTTOM_RIGHT):new Qa(t.left+t.width-C,t.top+t.height-v),this.bottomLeftPaddingBox=u>0||g>0?ka(t.left+y,t.top+Math.min(E,t.height-v),Math.max(0,u-y),Math.max(0,g-v),ta.BOTTOM_LEFT):new Qa(t.left+y,t.top+t.height-v),this.topLeftContentBox=i>0||a>0?ka(t.left+y+S,t.top+b+F,Math.max(0,i-(y+S)),Math.max(0,a-(b+F)),ta.TOP_LEFT):new Qa(t.left+y+S,t.top+b+F),this.topRightContentBox=s>0||o>0?ka(t.left+Math.min(m,t.width+y+S),t.top+b+F,m>t.width+y+S?0:s-y+S,o-(b+F),ta.TOP_RIGHT):new Qa(t.left+t.width-(C+x),t.top+b+F),this.bottomRightContentBox=c>0||d>0?ka(t.left+Math.min(B,t.width-(y+S)),t.top+Math.min(f,t.height+b+F),Math.max(0,c-(C+x)),d-(v+Q),ta.BOTTOM_RIGHT):new Qa(t.left+t.width-(C+x),t.top+t.height-(v+Q)),this.bottomLeftContentBox=u>0||g>0?ka(t.left+y+S,t.top+E,Math.max(0,u-(y+S)),g-(v+Q),ta.BOTTOM_LEFT):new Qa(t.left+y+S,t.top+t.height-(v+Q))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(ta||(ta={}));var ka=function(e,A,t,n,i){var a=(Math.sqrt(2)-1)/3*4,r=t*a,s=n*a,o=e+t,l=A+n;switch(i){case ta.TOP_LEFT:return new Ta(new Qa(e,l),new Qa(e,l-s),new Qa(o-r,A),new Qa(o,A));case ta.TOP_RIGHT:return new Ta(new Qa(e,A),new Qa(e+r,A),new Qa(o,l-s),new Qa(o,l));case ta.BOTTOM_RIGHT:return new Ta(new Qa(o,A),new Qa(o,A+s),new Qa(e+r,l),new Qa(e,l));case ta.BOTTOM_LEFT:default:return new Ta(new Qa(o,l),new Qa(o-r,l),new Qa(e,A+s),new Qa(e,A))}},Ma=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},La=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},Oa=function(e,A,t){this.offsetX=e,this.offsetY=A,this.matrix=t,this.type=0,this.target=6},Na=function(e,A){this.path=e,this.target=A,this.type=1},Ha=function(e){this.opacity=e,this.type=2,this.target=6},Da=function(e){return 1===e.type},Ra=function(e,A){return e.length===A.length&&e.some((function(e,t){return e===A[t]}))},Pa=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},Va=function(){function e(e,A){if(this.container=e,this.parent=A,this.effects=[],this.curves=new Ia(this.container),this.container.styles.opacity<1&&this.effects.push(new Ha(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,i=this.container.styles.transform;this.effects.push(new Oa(t,n,i))}if(0!==this.container.styles.overflowX){var a=Ma(this.curves),r=La(this.curves);Ra(a,r)?this.effects.push(new Na(a,6)):(this.effects.push(new Na(a,2)),this.effects.push(new Na(r,4)))}}return e.prototype.getEffects=function(e){for(var A=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,n=this.effects.slice(0);t;){var i=t.effects.filter((function(e){return!Da(e)}));if(A||0!==t.container.styles.position||!t.parent){if(n.unshift.apply(n,i),A=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var a=Ma(t.curves),r=La(t.curves);Ra(a,r)||n.unshift(new Na(r,6))}}else n.unshift.apply(n,i);t=t.parent}return n.filter((function(A){return nn(A.target,e)}))},e}(),Ka=function(e,A,t,n){e.container.elements.forEach((function(i){var a=nn(i.flags,4),r=nn(i.flags,2),s=new Va(i,e);nn(i.styles.display,2048)&&n.push(s);var o=nn(i.flags,8)?[]:n;if(a||r){var l=a||i.styles.isPositioned()?t:A,c=new Pa(s);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var d=i.styles.zIndex.order;if(d<0){var h=0;l.negativeZIndex.some((function(e,A){return d>e.element.container.styles.zIndex.order?(h=A,!1):h>0})),l.negativeZIndex.splice(h,0,c)}else if(d>0){var u=0;l.positiveZIndex.some((function(e,A){return d>=e.element.container.styles.zIndex.order?(u=A+1,!1):u>0})),l.positiveZIndex.splice(u,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else i.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);Ka(s,c,a?c:t,o)}else i.styles.isInlineLevel()?A.inlineLevel.push(s):A.nonInlineLevel.push(s),Ka(s,A,t,o);nn(i.flags,8)&&Ga(i,o)}))},Ga=function(e,A){for(var t=e instanceof ai?e.start:1,n=e instanceof ai&&e.reversed,i=0;i0&&e.intrinsicHeight>0){var n=ja(e),i=La(A);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,e.intrinsicWidth,e.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return n(this,void 0,void 0,(function(){var A,n,a,s,o,l,c,d,h,u,g,p,w,m,f,B,E,b;return i(this,(function(i){switch(i.label){case 0:this.applyEffects(e.getEffects(4)),A=e.container,n=e.curves,a=A.styles,s=0,o=A.textNodes,i.label=1;case 1:return s0&&y>0&&(f=n.ctx.createPattern(p,"repeat"),n.renderRepeat(E,f,x,Q))):function(e){return 2===e.type}(t)&&(B=Ja(e,A,[null,null,null]),E=B[0],b=B[1],C=B[2],v=B[3],y=B[4],F=0===t.position.length?[Ze]:t.position,x=$e(F[0],v),Q=$e(F[F.length-1],y),S=function(e,A,t,n,i){var a=0,r=0;switch(e.size){case 0:0===e.shape?a=r=Math.min(Math.abs(A),Math.abs(A-n),Math.abs(t),Math.abs(t-i)):1===e.shape&&(a=Math.min(Math.abs(A),Math.abs(A-n)),r=Math.min(Math.abs(t),Math.abs(t-i)));break;case 2:if(0===e.shape)a=r=Math.min(CA(A,t),CA(A,t-i),CA(A-n,t),CA(A-n,t-i));else if(1===e.shape){var s=Math.min(Math.abs(t),Math.abs(t-i))/Math.min(Math.abs(A),Math.abs(A-n)),o=vA(n,i,A,t,!0),l=o[0],c=o[1];r=s*(a=CA(l-A,(c-t)/s))}break;case 1:0===e.shape?a=r=Math.max(Math.abs(A),Math.abs(A-n),Math.abs(t),Math.abs(t-i)):1===e.shape&&(a=Math.max(Math.abs(A),Math.abs(A-n)),r=Math.max(Math.abs(t),Math.abs(t-i)));break;case 3:if(0===e.shape)a=r=Math.max(CA(A,t),CA(A,t-i),CA(A-n,t),CA(A-n,t-i));else if(1===e.shape){s=Math.max(Math.abs(t),Math.abs(t-i))/Math.max(Math.abs(A),Math.abs(A-n));var d=vA(n,i,A,t,!1);l=d[0],c=d[1],r=s*(a=CA(l-A,(c-t)/s))}}return Array.isArray(e.size)&&(a=$e(e.size[0],n),r=2===e.size.length?$e(e.size[1],i):a),[a,r]}(t,x,Q,v,y),T=S[0],U=S[1],T>0&&U>0&&(I=n.ctx.createRadialGradient(b+x,C+Q,0,b+x,C+Q,T),EA(t.stops,2*T).forEach((function(e){return I.addColorStop(e.stop,oA(e.color))})),n.path(E),n.ctx.fillStyle=I,T!==U?(k=e.bounds.left+.5*e.bounds.width,M=e.bounds.top+.5*e.bounds.height,O=1/(L=U/T),n.ctx.save(),n.ctx.translate(k,M),n.ctx.transform(1,0,0,L,0,0),n.ctx.translate(-k,-M),n.ctx.fillRect(b,O*(C-M)+M,v,y*O),n.ctx.restore()):n.ctx.fill())),i.label=6;case 6:return A--,[2]}}))},n=this,a=0,r=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return a0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,2)]:[3,11]:[3,13];case 4:return i.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,3)];case 6:return i.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,r,e.curves)];case 8:return i.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,r,e.curves)];case 10:i.sent(),i.label=11;case 11:r++,i.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,A,t,a,r){return n(this,void 0,void 0,(function(){var n,s,o,l,c,d,h,u,g,p,w,m,f,B,E,b;return i(this,(function(i){return this.ctx.save(),n=function(e,A){switch(A){case 0:return za(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return za(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return za(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return za(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(a,t),s=Wa(a,t),2===r&&(this.path(s),this.ctx.clip()),Ua(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),Ua(s[1])?(c=s[1].end.x,d=s[1].end.y):(c=s[1].x,d=s[1].y),h=0===t||2===t?Math.abs(o-c):Math.abs(l-d),this.ctx.beginPath(),3===r?this.formatPath(n):this.formatPath(s.slice(0,2)),u=A<3?3*A:2*A,g=A<3?2*A:A,3===r&&(u=A,g=A),p=!0,h<=2*u?p=!1:h<=2*u+g?(u*=w=h/(2*u+g),g*=w):(m=Math.floor((h+g)/(u+g)),f=(h-m*u)/(m-1),g=(B=(h-(m+1)*u)/m)<=0||Math.abs(g-f){const a=await tex2dataURL(e,i);if(a){const e=[];e.push({mimeType:a.mimeType,id:A,dataURL:a.dataURL,created:a.created,size:a.size,hasSVGwithBitmap:!1,shouldScale:!0}),n(e,t)}};async function tex2dataURL(e,A){let t=0;for(;!A.mathjax&&!A.mathjaxLoaderFinished&&t<10;)await sleep$1(100),t++;A.mathjaxLoaderFinished||errorlog({where:"text2dataURL",fn:tex2dataURL,message:"mathjaxLoader not ready, using fallback. Try reloading Obsidian or restarting the Excalidraw plugin"});try{return await mathjaxSVG(e,A)}catch(t){await sleep$1(100);try{return await mathjaxSVG(e,A)}catch(t){await sleep$1(100);try{return await mathjaxSVG(e,A)}catch(t){return A.mathjax?new obsidian_module.Notice("Unknown error loading LaTeX. Using fallback solution. Try closing and reopening this drawing."):new obsidian_module.Notice("LaTeX support did not load. Using fallback solution. Try checking your network connection."),await mathjaxImage2html(e)}}}}async function mathjaxSVG(e,A){const t=A.mathjax.tex2svg(e,{display:!0,scale:4}).querySelector("svg");if(t){const e=svgToBase64(t.outerHTML);return{mimeType:"image/svg+xml",fileId:fileid(),dataURL:e,created:Date.now(),size:await getImageSize(e)}}return null}async function mathjaxImage2html(e){const A=document.body.createDiv();A.style.display="table";const t=window.MathJax.tex2chtml(e,{display:!0,scale:4});t.style.margin="3px",t.style.color="black";const n=t.querySelector("mjx-assistive-mml");n&&n.parentElement.removeChild(n),A.appendChild(t),window.MathJax.typeset();const i=await html2canvas(A,{backgroundColor:null});return document.body.removeChild(A),{mimeType:"image/png",fileId:fileid(),dataURL:i.toDataURL(),created:Date.now(),size:{height:i.height,width:i.width}}}const THEME_FILTER="invert(100%) hue-rotate(180deg) saturate(1.25)";class EmbeddedFile{constructor(e,A,t){this.file=null,this.isSVGwithBitmap=!1,this.img="",this.imgInverted="",this.mtime=0,this.mimeType="application/octet-stream",this.size={height:0,width:0},this.attemptCounter=0,this.plugin=e,this.resetImage(A,t)}resetImage(e,A){this.imgInverted=this.img="",this.mtime=0,this.linkParts=getLinkParts(A),this.hostPath=e,this.linkParts.path?(this.linkParts.width||(this.linkParts.width=this.plugin.settings.mdSVGwidth),this.linkParts.height||(this.linkParts.height=this.plugin.settings.mdSVGmaxHeight),this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,e),this.file||0==this.attemptCounter++&&new obsidian_module.Notice(`Excalidraw Warning: could not find image file: ${A}`,5e3)):new obsidian_module.Notice(`Excalidraw Error\nIncorrect embedded filename: ${A}`)}fileChanged(){return this.file||(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),this.file)?this.mtime!=this.file.stat.mtime:(this.attemptCounter++,!1)}setImage(e,A,t,n,i){if(this.file){switch(this.fileChanged()&&(this.imgInverted=this.img=""),this.mtime=this.file.stat.mtime,this.size=t,this.mimeType=A,n&&i){case!0:this.imgInverted=e;break;case!1:this.img=e}this.isSVGwithBitmap=i}}isLoaded(e){return this.file||(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),this.file)?!this.fileChanged()&&(this.isSVGwithBitmap&&e?""!==this.imgInverted:""!==this.img):(this.attemptCounter++,!0)}getImage(e){return this.file?e&&this.isSVGwithBitmap?this.imgInverted:this.img:""}shouldScale(){return!Boolean(this.linkParts&&this.linkParts.original&&this.linkParts.original.endsWith("|100%"))}}class EmbeddedFilesLoader{constructor(e,A){this.terminate=!1,this.plugin=e,this.isDark=A,this.uid=nanoid()}async getObsidianImage(e,A){if(!this.plugin||!e)return null;const t=e instanceof EmbeddedFile?e.file:e,n=e instanceof EmbeddedFile?e.linkParts:{original:t.path,path:t.path,isBlockRef:!1,ref:null,width:this.plugin.settings.mdSVGwidth,height:this.plugin.settings.mdSVGmaxHeight};let i=!1;const a=this.plugin.isExcalidrawFile(t);if(!IMAGE_TYPES.contains(t.extension)&&!a&&"md"!==t.extension)return null;const r=await app.vault.readBinary(t),s=a?await(async e=>{const n=hasExportTheme(this.plugin,t)?getExportTheme(this.plugin,t,"light"):void 0,a={withBackground:!!hasExportBackground(this.plugin,t)&&getWithBackground(this.plugin,t),withTheme:!!n},r=await createSVG(t.path,!0,a,this,n,null,null,[],this.plugin,A+1,getExportPadding(this.plugin,t)),s=r.querySelectorAll("image:not([href^='data:image/svg'])");return s.length>0&&(i=!0),i&&e&&s.forEach((e=>{var A;const t=null===(A=e.parentElement)||void 0===A?void 0:A.id;r.querySelectorAll(`use[href='#${t}']`).forEach((e=>{e.setAttribute("filter",THEME_FILTER)}))})),!i&&r.getAttribute("hasbitmap")&&(i=!0),svgToBase64(r.outerHTML)})(this.isDark):null;let o="image/svg+xml";if(!a)switch(t.extension){case"png":o="image/png";break;case"jpeg":case"jpg":o="image/jpeg";break;case"gif":o="image/gif";break;case"webp":o="image/webp";break;case"bmp":o="image/bmp";break;case"ico":o="image/x-icon";break;case"svg":case"md":o="image/svg+xml";break;default:o="application/octet-stream"}let l=null!=s?s:"svg"===t.extension?await getSVGData(app,t):"md"===t.extension?null:await getDataURL(r,o);if(!l){const e=await this.convertMarkdownToSVG(this.plugin,t,n);l=e.dataURL,i=e.hasSVGwithBitmap}const c=await getImageSize(l);return{mimeType:o,fileId:await generateIdFromFile(r),dataURL:l,created:t.stat.mtime,hasSVGwithBitmap:i,size:c}}async loadSceneFiles(e,A,t){var n,i;if(t>4)return void new obsidian_module.Notice(t$d("INFINITE_LOOP_WARNING")+t.toString(),6e3);const a=e.getFileEntries();let r;void 0===this.isDark&&(this.isDark="dark"===(null===(i=null===(n=null==e?void 0:e.scene)||void 0===n?void 0:n.appState)||void 0===i?void 0:i.theme));const s=[];for(;!this.terminate&&!(r=a.next()).done;){const e=r.value[1];if(e.isLoaded(this.isDark))e.isSVGwithBitmap&&s.push({mimeType:e.mimeType,id:r.value[0],dataURL:e.getImage(this.isDark),created:e.mtime,size:e.size,hasSVGwithBitmap:e.isSVGwithBitmap,shouldScale:e.shouldScale()});else{const A=await this.getObsidianImage(e,t);A&&s.push({mimeType:A.mimeType,id:r.value[0],dataURL:A.dataURL,created:A.created,size:A.size,hasSVGwithBitmap:A.hasSVGwithBitmap,shouldScale:e.shouldScale()})}}let o;const l=e.getEquationEntries();for(;!this.terminate&&!(o=l.next()).done;)if(!e.getEquation(o.value[0]).isLoaded){const e=o.value[1].latex,A=await tex2dataURL(e,this.plugin);A&&s.push({mimeType:A.mimeType,id:o.value[0],dataURL:A.dataURL,created:A.created,size:A.size,hasSVGwithBitmap:!1,shouldScale:!0})}if(!this.terminate)try{A(s,this.isDark)}catch(e){errorlog({where:"EmbeddedFileLoader.loadSceneFiles",error:e})}}async convertMarkdownToSVG(e,A,t){var n,i,a,r;let s=!1;const o=await getTransclusion(t,e.app,A);let l=(null!==(n=o.leadingHashes)&&void 0!==n?n:"")+o.contents;""===l&&(l="# Empty markdown file\nCTRL+Click here to open the file for editing in the current active pane, or CTRL+SHIFT+Click to open it in an adjacent pane.");const c=e.app.metadataCache.getFileCache(A);let d,h=e.settings.mdFont;switch((null==c?void 0:c.frontmatter)&&Boolean(c.frontmatter["excalidraw-font"])&&(h=c.frontmatter["excalidraw-font"]),h){case"Virgil":d=VIRGIL_FONT;break;case"Cascadia":d=CASCADIA_FONT;break;case"":d="";break;default:const t=await getFontDataURL(e.app,h,A.path);d=t.fontDef,h=t.fontName}(null==c?void 0:c.frontmatter)&&null!==c.frontmatter.banner&&(l=l.replace(/banner:\s*.*/,""));const u=(null==c?void 0:c.frontmatter)&&null!==(i=c.frontmatter["excalidraw-font-color"])&&void 0!==i?i:e.settings.mdFontColor;let g=(null==c?void 0:c.frontmatter)&&null!==(a=c.frontmatter["excalidraw-css"])&&void 0!==a?a:"",p=!1;if(g&&""!=g){const t=e.app.metadataCache.getFirstLinkpathDest(g,A.path);t&&(g=await e.app.vault.read(t),p=!0)}if(!p)if(e.settings.mdCSS&&""!==e.settings.mdCSS){const t=e.app.metadataCache.getFirstLinkpathDest(e.settings.mdCSS,A.path);g+=t?`\n${await e.app.vault.read(t)}`:DEFAULT_MD_EMBED_CSS}else g+=DEFAULT_MD_EMBED_CSS;const w=(null==c?void 0:c.frontmatter)&&null!==(r=c.frontmatter["excalidraw-border-color"])&&void 0!==r?r:e.settings.mdBorderColor;w&&""!==w&&!g.match(/svg/i)&&(g+=`svg{border:2px solid;color:${w};transform:scale(.95)}`);let m=` width="${t.width}px" height="100000"`,f=` width="${t.width}px" height="100%"`;const B=(e,A,t)=>`${t?``:""}${e}${A}${""!==d?``:""}`,E=createDiv();E.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),E.setAttribute("class","excalidraw-md-host"),""!==h&&(E.style.fontFamily=h),E.style.overflow="auto",E.style.display="block",E.style.color=u&&""!==u?u:"initial",await obsidian_module.MarkdownRenderer.renderMarkdown(l,E,A.path,e),E.querySelectorAll(":scope > *[class^='frontmatter']").forEach((e=>E.removeChild(e)));const b=Array.from(E.querySelectorAll("span[class='internal-embed']"));for(let t=0;t{const A=e.style,t=window.getComputedStyle(e);let n="";for(const e in A)A.hasOwnProperty(e)&&(n+=`${e}: ${t[e]};`);e.setAttribute("style",n)}));const x=(new XMLSerializer).serializeToString(y),Q=(new XMLSerializer).serializeToString(F);document.body.removeChild(C);const S=new DOMParser,T=S.parseFromString(B(x,Q),"image/svg+xml").firstElementChild,U=createDiv();U.appendChild(T),document.body.appendChild(U);const I=T.querySelector(".excalidraw-md-footer").scrollHeight,k=T.querySelector(".excalidraw-md-host").scrollHeight+I,M=k<=t.height?k:t.height;document.body.removeChild(U),m=` width="${t.width}px" height="${M}px"`,f=` width="${t.width}px" height="${M}px"`,E.style.height=M-I+"px",E.style.overflow="hidden";const L=E.querySelectorAll("img:not([src^='data:image/svg+xml'])");L.length>0&&(s=!0),s&&this.isDark&&L.forEach((e=>{e instanceof HTMLImageElement&&(e.style.filter=THEME_FILTER)}));const O=B((new XMLSerializer).serializeToString(E),'',g);return e.ea.mostRecentMarkdownSVG=S.parseFromString(O,"image/svg+xml").firstElementChild,{dataURL:svgToBase64(O),hasSVGwithBitmap:s}}}const getSVGData=async(e,A)=>{const t=await e.vault.read(A);return svgToBase64(t)},generateIdFromFile=async e=>{let A;try{const t=await window.crypto.subtle.digest("SHA-1",e);A=Array.from(new Uint8Array(t)).map((e=>e.toString(16).padStart(2,"0"))).join("")}catch(e){errorlog({where:"EmbeddedFileLoader.generateIdFromFile",error:e}),A=fileid()}return A},{wrapText:wrapText,getFontString:getFontString,getMaxContainerWidth:getMaxContainerWidth}=excalidrawLib;var AutoexportPreference;!function(e){e[e.none=0]="none",e[e.both=1]="both",e[e.png=2]="png",e[e.svg=3]="svg",e[e.inherit=4]="inherit"}(AutoexportPreference||(AutoexportPreference={}));const REGEX_LINK={ //![[link|alias]] [alias](link){num} -EXPR:/(!)?(\[\[([^|\]]+)\|?([^\]]+)?]]|\[([^\]]*)]\(([^)]*)\))(\{(\d+)\})?/g,getRes:e=>e.matchAll(REGEX_LINK.EXPR),isTransclusion:e=>!!e.value[1],getLink:e=>e.value[3]?e.value[3]:e.value[6],isWikiLink:e=>!!e.value[3],getAliasOrLink:e=>REGEX_LINK.isWikiLink(e)?e.value[4]?e.value[4]:e.value[3]:e.value[5]?e.value[5]:e.value[6],getWrapLength:(e,A)=>{const t=parseInt(e.value[8]);return isNaN(t)?A>0?A:null:t}},DRAWING_REG=/\n# Drawing\n[^`]*(```json\n)([\s\S]*?)```\n/gm,DRAWING_REG_FALLBACK=/\n# Drawing\n(```json\n)?(.*)(```)?(%%)?/gm,DRAWING_COMPRESSED_REG=/(\n# Drawing\n[^`]*(?:```compressed\-json\n))([\s\S]*?)(```\n)/gm,DRAWING_COMPRESSED_REG_FALLBACK=/(\n# Drawing\n(?:```compressed\-json\n)?)(.*)((```)?(%%)?)/gm,REG_LINKINDEX_HYPERLINK=/^\w+:\/\//,isCompressedMD=e=>null!==e.match(/```compressed\-json\n/gm),getDecompressedScene=e=>{let A,t=e.matchAll(DRAWING_COMPRESSED_REG);return A=t.next(),A.done&&(t=e.matchAll(DRAWING_COMPRESSED_REG_FALLBACK),A=t.next()),A.value&&A.value.length>1?[decompress(A.value[2]),A]:[null,A]},changeThemeOfExcalidrawMD=e=>{const A=isCompressedMD(e);let t=A?getDecompressedScene(e)[0]:e;return t?(isObsidianThemeDark?1===(t.match(/"theme"\s*:\s*"light"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"light"\s*,/,'"theme": "dark",')):1===(t.match(/"theme"\s*:\s*"dark"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"dark"\s*,/,'"theme": "light",')),A?e.replace(DRAWING_COMPRESSED_REG,`$1${compress(t)}$3`):t):e};function getJSON(e){let A,t;if(isCompressedMD(e)){const[A,t]=getDecompressedScene(e);return A?{scene:A.substring(0,A.lastIndexOf("}")+1),pos:t.value.index}:{scene:e,pos:t.value?t.value.index:0}}if(A=e.matchAll(DRAWING_REG),t=A.next(),t.done&&(A=e.matchAll(DRAWING_REG_FALLBACK),t=A.next()),t.value&&t.value.length>1){const e=t.value[2];return{scene:e.substr(0,e.lastIndexOf("}")+1),pos:t.value.index}}return{scene:e,pos:t.value?t.value.index:0}}function getMarkdownDrawingSection(e,A){return A?`%%\n# Drawing\n\`\`\`compressed-json\n${compress(e)}\n\`\`\`\n%%`:`%%\n# Drawing\n\`\`\`json\n${e}\n\`\`\`\n%%`}const estimateMaxLineLen=(e,A)=>{if(!A||!e)return null;if(e===A)return null;let t=0;const n=e.split("\n");if(1===n.length)return null;for(const e of n){const A=e.trim();A.length>t&&(t=A.length)}return t},wrap=(e,A)=>A?wrapTextAtCharLength(e,A,!1,0):e;class ExcalidrawData{constructor(e){this.plugin=e,this.textElements=null,this.elementLinks=null,this.scene=null,this.deletedElements=[],this.file=null,this.autoexportPreference=AutoexportPreference.inherit,this.textMode=TextMode.raw,this.loaded=!1,this.files=null,this.equations=null,this.compatibilityMode=!1,this.selectedElementIds={},this.disableCompression=!1,this.app=e.app,this.files=new Map,this.equations=new Map}initializeNonInitializedFields(){var e,A;if(!this.scene||!this.scene.elements)return;const t=this.scene.elements;for(const n of t){if(n.boundElements){const e=new Map;n.boundElements.forEach((A=>{e.set(A.id,A.type)}));const A=Array.from(e,(([e,A])=>({id:e,type:A})));A.length!==n.boundElements.length&&(n.boundElements=A)}n.boundElementIds&&(n.boundElements||(n.boundElements=[]),n.boundElements=n.boundElements.concat(n.boundElementIds.map((e=>({type:"arrow",id:e})))),delete n.boundElementIds),"text"!==n.type||n.containerId||(n.containerId=null),null===n.x&&(n.x=0),null===n.y&&(n.y=0),null===(null===(e=n.startBinding)||void 0===e?void 0:e.focus)&&(n.startBinding.focus=0),null===(null===(A=n.endBinding)||void 0===A?void 0:A.focus)&&(n.endBinding.focus=0),null===n.fontSize&&(n.fontSize=20)}try{t.filter((e=>"text"===e.type&&e.containerId&&t.some((A=>A.id===e.containerId&&A.boundElements.length>0&&A.boundElements.some((A=>"text"===A.type&&A.id!==e.id&&A.id.length>8)))))).forEach((e=>{try{const A=t.filter((A=>A.id===e.containerId))[0],n=A.boundElements.filter((e=>!("text"===e.type&&!t.some((A=>A.id===e.id)))));A.boundElements=[{id:e.id,type:"text"}].concat(n)}catch(e){}})),t.filter((e=>e.boundElements&&e.boundElements.length>0)).forEach((e=>{const A=e.boundElements.filter((e=>t.some((A=>A.id===e.id))));A.length!==e.boundElements.length&&(e.boundElements=A)})),t.filter((e=>"text"===e.type&&e.containerId&&!t.some((A=>A.id===e.containerId)))).forEach((e=>{e.containerId=null}))}catch(e){}}async loadData(e,A,t){if(!A)return!1;if(this.loaded=!1,this.selectedElementIds={},this.textElements=new Map,this.elementLinks=new Map,this.file!=A&&(this.files.clear(),this.equations.clear()),this.file=A,this.compatibilityMode=!1,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.setAutoexportPreferences(),this.scene=null,this.plugin.settings.syncExcalidraw){const e=`${A.path.substring(0,A.path.lastIndexOf(".md"))}.excalidraw`,t=this.app.vault.getAbstractFileByPath(e);if(t&&t instanceof obsidian.TFile&&t.stat.mtime>A.stat.mtime){const e=await this.app.vault.read(t);this.scene=JSON.parse(e)}}let n=null;n=(()=>{const A=getJSON(e);if(-1===A.pos)throw new Error("Excalidraw JSON not found in the file");return this.scene||(this.scene=JSON_parse(A.scene)),A})(),this.deletedElements=this.scene.elements.filter((e=>e.isDeleted)),this.scene.elements=this.scene.elements.filter((e=>!e.isDeleted)),this.scene.files||(this.scene.files={}),hasExportTheme(this.plugin,this.file)?this.scene.appState.theme=getExportTheme(this.plugin,this.file,"light"):this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.initializeNonInitializedFields();let i=(e=e.substring(0,n.pos)).search(/(^%%\n)?# Text Elements\n/m);if(-1===i)return await this.setTextMode(t,!1),this.loaded=!0,!0;i+=e.match(/((^%%\n)?# Text Elements\n)/m)[0].length,e=e.substring(i),i=0;const a=" ^12345678\n\n".length;let r,s=e.matchAll(/\s\^(.{8})[\n]+/g);for(;!(r=s.next()).done;){let A=e.substring(i,r.value.index);const t=r.value[1],n=this.scene.elements.filter((e=>e.id===t))[0];if(n)if("text"!==n.type)n.link!==A&&(n.link=A,n.version++,n.versionNonce++),this.elementLinks.set(t,A);else{const e=estimateMaxLineLen(n.text,n.originalText),i=A.matchAll(/^%%\*\*\*>>>text element-link:(\[\[[^<*\]]*]])<<<\*\*\*%%/gm).next();i.done||(A=A.replace(/^%%\*\*\*>>>text element-link:\[\[[^<*\]]*]]<<<\*\*\*%%/gm,""),n.link=i.value[1]);const a=await this.parse(A);this.textElements.set(t,{raw:A,parsed:a.parsed,wrapAt:e}),a.link&&(n.link=a.link),!n||n.rawText&&""!==n.rawText||(n.rawText=A)}i=r.value.index+a}for(s=(e=e.substring(e.indexOf("# Embedded files\n")+"# Embedded files\n".length)).matchAll(/([\w\d]*):\s*\[\[([^\]]*)]]\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,this.file.path,r.value[2]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*\$\$(.*)(\$\$\s*\n)/gm);!(r=s.next()).done;)this.setEquation(r.value[1],{latex:r.value[2],isLoaded:!1});return this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(t,!0),this.loaded=!0,!0}async loadLegacyData(e,A){return!!A&&(this.loaded=!1,this.selectedElementIds={},this.compatibilityMode=!0,this.file=A,this.textElements=new Map,this.elementLinks=new Map,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.scene=JSON.parse(e),this.scene.files||(this.scene.files={}),this.initializeNonInitializedFields(),this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.files.clear(),this.equations.clear(),this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(TextMode.raw,!0),this.loaded=!0,!0)}async setTextMode(e,A=!1){this.scene&&(this.textMode=e,await this.updateSceneTextElements(A))}updateTextElement(e,A,t,n=!1){if(n||A!=e.text){const n=_measureText(A,e.fontSize,e.fontFamily);e.text=A,e.originalText=t,e.containerId||(e.width=n.w),e.height=n.h,e.baseline=n.baseline}}async updateSceneTextElements(e=!1){var A,t,n,i;const a=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));for(const A of a){const a=getContainerElement(A,this.scene),r=null!==(n=null!==(t=await this.getText(A.id))&&void 0!==t?t:A.originalText)&&void 0!==n?n:A.text,s=null===(i=this.textElements.get(A.id))||void 0===i?void 0:i.wrapAt;this.updateTextElement(A,s?wrapText(r,getFontString({fontSize:A.fontSize,fontFamily:A.fontFamily}),getMaxContainerWidth(a)):r,r,e)}}async getText(e){const A=this.textElements.get(e);return A?this.textMode===TextMode.parsed?(A.parsed||this.textElements.set(e,{raw:A.raw,parsed:(await this.parse(A.raw)).parsed,wrapAt:A.wrapAt}),A.parsed):A.raw:null}findNewElementLinksInScene(){var e;const A=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.link&&e.link.startsWith("[[")&&!this.elementLinks.has(e.id)));if(0===A.length)return!1;let t,n=JSON.stringify(this.scene);for(const e of A)t=e.id,e.id.length>8&&(t=nanoid(),n=n.replaceAll(e.id,t)),this.elementLinks.set(t,e.link);return this.scene=JSON.parse(n),!0}findNewTextElementsInScene(e={}){var A;this.selectedElementIds=e;const t=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));let n,i=JSON.stringify(this.scene),a=!1;for(const e of t)if(n=e.id,e.id.length>8){if(a=!0,n=nanoid(),this.selectedElementIds[e.id]&&(delete this.selectedElementIds[e.id],this.selectedElementIds[n]=!0),i=i.replaceAll(e.id,n),this.textElements.has(e.id)){const A=this.textElements.get(e.id);this.textElements.set(n,{raw:A.raw,parsed:A.parsed,wrapAt:A.wrapAt}),this.textElements.delete(e.id)}if(!this.textElements.has(n)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(n,{raw:A,parsed:null,wrapAt:t}),this.parseasync(n,A,t)}}else if(!this.textElements.has(e.id)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(n,{raw:A,parsed:null,wrapAt:t}),this.parseasync(n,A,t)}return a&&(this.scene=JSON.parse(i)),a}updateElementLinksFromScene(){var e;for(const A of this.elementLinks.keys()){const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.id===A&&e.link&&e.link.startsWith("[[")));0===t.length?this.elementLinks.delete(A):this.elementLinks.set(A,t[0].link)}}async updateTextElementsFromScene(){var e,A,t;for(const n of this.textElements.keys()){const i=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"===e.type&&e.id===n));if(0===i.length)this.textElements.delete(n);else{const e=await this.getText(n),a=this.scene.prevTextMode===TextMode.parsed?i[0].rawText:null!==(A=i[0].originalText)&&void 0!==A?A:i[0].text;if(e!==(null!==(t=i[0].originalText)&&void 0!==t?t:i[0].text)){const e=estimateMaxLineLen(i[0].text,i[0].originalText);this.textElements.set(n,{raw:a,parsed:(await this.parse(a)).parsed,wrapAt:e})}}}}async parseasync(e,A,t){this.textElements.set(e,{raw:A,parsed:(await this.parse(A)).parsed,wrapAt:t})}parseLinks(e,A,t){return e.substring(A,t.value.index)+(this.showLinkBrackets?"[[":"")+REGEX_LINK.getAliasOrLink(t)+(this.showLinkBrackets?"]]":"")}async getTransclusion(e){const A=getLinkParts(e,this.file),t=this.app.metadataCache.getFirstLinkpathDest(A.path,this.file.path);return await getTransclusion(A,this.app,t,this.plugin.settings.pageTransclusionCharLimit)}async parse(e){e=this.parseCheckbox(e);let A="",t=null,n=0;const i=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=i.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}if(REGEX_LINK.isTransclusion(a)){let t=this.parseCheckbox((await this.getTransclusion(REGEX_LINK.getLink(a))).contents).replaceAll(/%%[^%]*%%/gm,"");this.plugin.settings.removeTransclusionQuoteSigns&&(t=t.replaceAll(/\n\s*>\s?/gm,"\n")),A+=e.substring(n,a.value.index)+wrapTextAtCharLength(t,REGEX_LINK.getWrapLength(a,this.plugin.settings.wordWrappingDefault),this.plugin.settings.forceWrap)}else{const t=this.parseLinks(e,n,a);t&&(A+=t,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0))}n=a.value.index+a.value[0].length}return A+=e.substring(n,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),{parsed:A,link:t}}parseCheckbox(e){return this.plugin.settings.parseTODO?e.replaceAll(/^- \[\s] /g,`${this.plugin.settings.todo} `).replaceAll(/\n- \[\s] /g,`\n${this.plugin.settings.todo} `).replaceAll(/^- \[[^\s]] /g,`${this.plugin.settings.done} `).replaceAll(/\n- \[[^\s]] /g,`\n${this.plugin.settings.done} `):e}quickParse(e){if((e=>{const A=REGEX_LINK.getRes(e);let t;for(;!(t=A.next()).done;)if(REGEX_LINK.isTransclusion(t))return!0;return!1})(e))return[null,null];e=this.parseCheckbox(e);let A="",t=null,n=0;const i=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=i.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}const i=this.parseLinks(e,n,a);i&&(A+=i,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0)),n=a.value.index+a.value[0].length}return A+=e.substring(n,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),[A,t]}generateMD(e=[]){let A="# Text Elements\n";for(const e of this.textElements.keys()){const t=this.scene.elements.filter((A=>A.id===e));let n=this.textElements.get(e).raw;t&&1===t.length&&t[0].link&&t[0].rawText===t[0].originalText&&t[0].link.match(/^\[\[[^\]]*]]$/g)&&(n=`%%***>>>text element-link:${t[0].link}<<<***%%`+n),A+=`${n} ^${e}\n\n`}for(const e of this.elementLinks.keys())A+=`${this.elementLinks.get(e)} ^${e}\n\n`;if(A+=this.equations.size>0||this.files.size>0?"\n# Embedded files\n":"",this.equations.size>0)for(const e of this.equations.keys())A+=`${e}: $$${this.equations.get(e).latex}$$\n`;if(this.files.size>0)for(const e of this.files.keys()){const t=/(^[^#\|]*)/,n=this.files.get(e);A+=`${e}: [[${n.file?n.linkParts.original.replace(t,app.metadataCache.fileToLinktext(n.file,this.file.path)):n.linkParts.original}]]\n`}return A+=this.equations.size>0||this.files.size>0?"\n":"",A+getMarkdownDrawingSection(JSON.stringify({type:this.scene.type,version:this.scene.version,source:this.scene.source,elements:this.scene.elements.concat(e),appState:this.scene.appState,files:this.scene.files},null,"\t"),!this.disableCompression&&this.plugin.settings.compress)}async syncFiles(){var e;let A=!1;const t=this.scene,n=t.elements.filter((e=>"image"===e.type)).map((e=>e.fileId));if(this.files.forEach(((e,t)=>{n.contains(t)||(this.files.delete(t),A=!0)})),this.equations.forEach(((e,t)=>{n.contains(t)||(this.equations.delete(t),A=!0)})),!t.files||0===Object.keys(t.files).length)return!1;const i=new Set;n.forEach((e=>{if(i.has(e)){const n=this.getFile(e),a=this.getEquation(e);if(n&&n.file&&("md"!==n.file.extension||this.plugin.isExcalidrawFile(n.file)))return;const r=fileid();t.elements.filter((A=>A.fileId===e))[0].fileId=r,A=!0,i.add(r),n&&this.setFile(r,new EmbeddedFile(this.plugin,this.file.path,n.linkParts.original)),a&&this.setEquation(r,{latex:a.latex,isLoaded:!1})}i.add(e)}));for(const n of Object.keys(t.files))if(!this.hasFile(n)&&!this.hasEquation(n)){A=!0;let i=`Pasted Image ${window.moment().format("YYYYMMDDHHmmss_SSS")}`;const a=t.files[n].mimeType;switch(a){case"image/png":default:i+=".png";break;case"image/jpeg":i+=".jpg";break;case"image/svg+xml":i+=".svg";break;case"image/gif":i+=".gif"}const r=(await getAttachmentsFolderAndFilePath(this.app,this.file.path,i)).filepath,s=t.files[n].dataURL;await this.app.vault.createBinary(r,getBinaryFileFromDataURL(s));const o=new EmbeddedFile(this.plugin,this.file.path,r);o.setImage(s,a,{height:0,width:0},"dark"===(null===(e=t.appState)||void 0===e?void 0:e.theme),"image/svg+xml"===a),this.setFile(n,o)}return A}async syncElements(e,A){this.scene=e;let t=!1;return this.compatibilityMode||(t=await this.syncFiles(),this.scene.files={}),this.updateElementLinksFromScene(),t=t||this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene(),await this.updateTextElementsFromScene(),t||this.findNewTextElementsInScene(A)}async updateScene(e){this.scene=JSON_parse(e),this.updateElementLinksFromScene();const A=this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene();return await this.updateTextElementsFromScene(),!(!A&&!this.findNewTextElementsInScene()||(await this.updateSceneTextElements(),0))}getRawText(e){var A;return null===(A=this.textElements.get(e))||void 0===A?void 0:A.raw}getParsedText(e){const A=this.textElements.get(e);return A?[wrap(A.parsed,A.wrapAt),A.parsed,null]:[null,null,null]}setTextElement(e,A,t,n){const i=estimateMaxLineLen(A,t),[a,r]=this.quickParse(t);return a?(this.textElements.set(e,{raw:t,parsed:a,wrapAt:i}),[wrap(a,i),a,r]):(this.parse(t).then((A=>{const a=A.parsed;this.textElements.set(e,{raw:t,parsed:a,wrapAt:i}),a&&n(wrap(a,i),a)})),[null,null,null])}async addTextElement(e,A,t){let n=estimateMaxLineLen(A,t);this.textElements.has(e)&&(n=this.textElements.get(e).wrapAt);const i=await this.parse(t);return this.textElements.set(e,{raw:t,parsed:i.parsed,wrapAt:n}),[wrap(i.parsed,n),i.parsed,i.link]}deleteTextElement(e){this.textElements.delete(e)}getOpenMode(){const e=this.app.metadataCache.getFileCache(this.file);let A=this.plugin.settings.defaultMode;switch((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-default-mode"]&&(A=e.frontmatter["excalidraw-default-mode"]),A){case"zen":return{viewModeEnabled:!1,zenModeEnabled:!0};case"view":return{viewModeEnabled:!0,zenModeEnabled:!1};default:return{viewModeEnabled:!1,zenModeEnabled:!1}}}getLinkOpacity(){const e=this.app.metadataCache.getFileCache(this.file);let A=this.plugin.settings.linkOpacity;return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-linkbutton-opacity"]&&(A=e.frontmatter["excalidraw-linkbutton-opacity"]),A}getOnLoadScript(){const e=this.app.metadataCache.getFileCache(this.file);return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-onload-script"]?e.frontmatter["excalidraw-onload-script"]:null}setLinkPrefix(){const e=this.linkPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-prefix"]?this.linkPrefix=A.frontmatter["excalidraw-link-prefix"]:this.linkPrefix=this.plugin.settings.linkPrefix,e!=this.linkPrefix}setUrlPrefix(){const e=this.urlPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-url-prefix"]?this.urlPrefix=A.frontmatter["excalidraw-url-prefix"]:this.urlPrefix=this.plugin.settings.urlPrefix,e!=this.urlPrefix}setAutoexportPreferences(){const e=this.app.metadataCache.getFileCache(this.file);if((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-autoexport"])switch(e.frontmatter["excalidraw-autoexport"].toLowerCase()){case"none":this.autoexportPreference=AutoexportPreference.none;break;case"both":this.autoexportPreference=AutoexportPreference.both;break;case"png":this.autoexportPreference=AutoexportPreference.png;break;case"svg":this.autoexportPreference=AutoexportPreference.svg;break;default:this.autoexportPreference=AutoexportPreference.inherit}else this.autoexportPreference=AutoexportPreference.inherit}setShowLinkBrackets(){const e=this.showLinkBrackets,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-brackets"]?this.showLinkBrackets=0!=A.frontmatter["excalidraw-link-brackets"]:this.showLinkBrackets=this.plugin.settings.showLinkBrackets,e!=this.showLinkBrackets}setFile(e,A){if(!A)return;if(this.files.set(e,A),!A.file)return;const t=A.linkParts.original.split("#");this.plugin.filesMaster.set(e,{path:A.file.path+(A.shouldScale()?"":"|100%"),blockrefData:1===t.length?null:t[1],hasSVGwithBitmap:A.isSVGwithBitmap})}getFiles(){return Object.values(this.files)}getFile(e){let A=this.files.get(e);if(A)return A;const t=this.plugin.filesMaster.get(e);return t?(A=new EmbeddedFile(this.plugin,this.file.path,t.blockrefData?t.path+"#"+t.blockrefData:t.path),this.files.set(e,A),A):A}getFileEntries(){return this.files.entries()}deleteFile(e){this.files.delete(e)}hasFile(e){if(this.files.has(e))return!0;if(this.plugin.filesMaster.has(e)){const A=this.plugin.filesMaster.get(e),t=A.path.split("|")[0].split("#")[0];if(!this.app.vault.getAbstractFileByPath(t))return this.plugin.filesMaster.delete(e),!0;const n=A.path.endsWith("100%"),i=new EmbeddedFile(this.plugin,this.file.path,(A.blockrefData?t+"#"+A.blockrefData:t)+(n?"|100%":""));return this.files.set(e,i),!0}return!1}setEquation(e,A){this.equations.set(e,{latex:A.latex,isLoaded:A.isLoaded}),this.plugin.equationsMaster.set(e,A.latex)}getEquation(e){let A=this.equations.get(e);if(A)return A;const t=this.plugin.equationsMaster.get(e);return t?(this.equations.set(e,{latex:t,isLoaded:!1}),{latex:t,isLoaded:!1}):A}getEquationEntries(){return this.equations.entries()}deleteEquation(e){this.equations.delete(e)}hasEquation(e){return!!this.equations.has(e)||!!this.plugin.equationsMaster.has(e)&&(this.equations.set(e,{latex:this.plugin.equationsMaster.get(e),isLoaded:!1}),!0)}}const getTransclusion=async(e,A,t,n)=>{var i,a,r,s,o,l,c,d,h;if(!e.path)return{contents:e.original.trim(),lineNum:0};if(!(t&&t instanceof obsidian.TFile))return{contents:e.original.trim(),lineNum:0};const u=await A.vault.read(t);if(!e.ref)return n?{contents:u.substring(0,n).trim(),lineNum:0}:{contents:u.trim(),lineNum:0};const g=(await A.metadataCache.blockCache.getForFile({isCancelled:()=>!1},t)).blocks.filter((e=>"comment"!=e.node.type));if(!g)return{contents:e.original.trim(),lineNum:0};if(e.isBlockRef){let A=null===(i=g.filter((A=>A.node.id==e.ref))[0])||void 0===i?void 0:i.node;if(!A)return{contents:e.original.trim(),lineNum:0};["blockquote"].includes(A.type)&&(A=A.children[0]);const t=A.position.start.offset,n=A.position.start.line,a=A.position.end.offset;return{contents:u.substring(t,a).replaceAll(/ \^\S*$|^\^\S*$/gm,"").trim(),lineNum:n}}const p=g.filter((e=>0===e.display.search(/^#+\s/)));let w=null,m=0,f=null,B=1;for(let A=0;AB;)e++;return e===p.length&&p[e-1].node.depth>B?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(w).trim(),lineNum:m}:(f=p[e].node.position.start.offset-1,{leadingHashes:"#".repeat(B)+" ",contents:u.substring(w,f).trim(),lineNum:m})}const t=p[A].node.children[0],n=null===(r=null===(a=p[A].node.data)||void 0===a?void 0:a.hProperties)||void 0===r?void 0:r.dataHeading,i=null==t?void 0:t.children;!w&&((null===(s=null==t?void 0:t.value)||void 0===s?void 0:s.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null===(o=null==t?void 0:t.title)||void 0===o?void 0:o.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null==n?void 0:n.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||i&&(null===(c=null===(l=i[0])||void 0===l?void 0:l.value)||void 0===c?void 0:c.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref)&&(w=null===(d=p[A].node.children[0])||void 0===d?void 0:d.position.start.offset,B=p[A].node.depth,m=null===(h=p[A].node.children[0])||void 0===h?void 0:h.position.start.line)}return w?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(w).trim(),lineNum:m}:{contents:e.original.trim(),lineNum:0}};class Prompt extends obsidian.Modal{constructor(e,A,t,n,i){super(e),this.prompt_text=A,this.default_value=t,this.placeholder=n,this.prompt_desc=i}onOpen(){this.titleEl.setText(this.prompt_text),this.createForm()}onClose(){this.contentEl.empty()}createForm(){var e;let A=this.contentEl.createDiv();A.addClass("excalidraw-prompt-div"),this.prompt_desc&&(A=A.createDiv(),A.style.width="100%",A.createEl("p").innerHTML=this.prompt_desc);const t=A.createEl("form");t.addClass("excalidraw-prompt-form"),t.type="submit",t.onsubmit=e=>{e.preventDefault(),this.resolve(this.promptEl.value),this.close()},this.promptEl=t.createEl("input"),this.promptEl.type="text",this.promptEl.placeholder=this.placeholder,this.promptEl.value=null!==(e=this.default_value)&&void 0!==e?e:"",this.promptEl.addClass("excalidraw-prompt-input"),this.promptEl.select()}async openAndGetValue(e){this.resolve=e,this.open()}}class GenericInputPrompt extends obsidian.Modal{constructor(e,A,t,n,i){super(e),this.header=A,this.didSubmit=!1,this.submitClickCallback=()=>this.submit(),this.cancelClickCallback=()=>this.cancel(),this.submitEnterCallback=e=>{"Enter"===e.key&&(e.preventDefault(),this.submit())},this.placeholder=t,this.input=n,this.buttons=i,this.waitForClose=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.display(),this.open()}static Prompt(e,A,t,n,i){return new GenericInputPrompt(e,A,t,n,i).waitForClose}display(){this.contentEl.empty(),this.titleEl.textContent=this.header;const e=this.contentEl.createDiv();this.inputComponent=this.createInputField(e,this.placeholder,this.input),this.createButtonBar(e)}createInputField(e,A,t){const n=new obsidian.TextComponent(e);return n.inputEl.style.width="100%",n.setPlaceholder(null!=A?A:"").setValue(null!=t?t:"").onChange((e=>this.input=e)).inputEl.addEventListener("keydown",this.submitEnterCallback),n}createButton(e,A,t){const n=new obsidian.ButtonComponent(e);return n.setButtonText(A).onClick(t),n}createButtonBar(e){const A=e.createDiv();if(this.buttons&&this.buttons.length>0){let e=null;for(const t of this.buttons){const n=new obsidian.ButtonComponent(A);n.setButtonText(t.caption).onClick((e=>{const A=t.action(this.input);A&&(this.input=A),this.submit()})),e=null!=e?e:n}e&&(e.setCta().buttonEl.style.marginRight="0")}else this.createButton(A,"Ok",this.submitClickCallback).setCta().buttonEl.style.marginRight="0";this.createButton(A,"Cancel",this.cancelClickCallback),A.style.display="flex",A.style.flexDirection="row-reverse",A.style.justifyContent="flex-start",A.style.marginTop="1rem"}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}resolveInput(){this.didSubmit?this.resolvePromise(this.input):this.rejectPromise("No input given.")}removeInputListener(){var e,A;null===(A=null===(e=this.inputComponent)||void 0===e?void 0:e.inputEl)||void 0===A||A.removeEventListener("keydown",this.submitEnterCallback)}onOpen(){super.onOpen(),this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.select()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListener()}}class GenericSuggester extends obsidian.FuzzySuggestModal{constructor(e,A,t,n,i){var a;super(e),this.displayItems=A,this.items=t,this.hint=n,this.instructions=i,this.limit=20,this.setPlaceholder(null!==(a=this.hint)&&void 0!==a?a:""),i&&this.setInstructions(this.instructions),this.promise=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.open()}static Suggest(e,A,t,n,i){return new GenericSuggester(e,A,t,n,i).promise}getItemText(e){return this.displayItems[this.items.indexOf(e)]}getItems(){return this.items}selectSuggestion(e,A){this.resolved=!0,super.selectSuggestion(e,A)}onChooseItem(e){this.resolved=!0,this.resolvePromise(e)}onClose(){super.onClose(),this.resolved||this.rejectPromise(this.inputEl.value)}}class NewFileActions extends obsidian.Modal{constructor(e,A,t,n,i){super(e.app),this.plugin=e,this.path=A,this.newPane=t,this.newWindow=n,this.view=i}onOpen(){this.createForm()}async onClose(){}openFile(e){e&&(this.newWindow?app.workspace.openPopoutLeaf():this.newPane?getNewOrAdjacentLeaf(this.plugin,this.view.leaf):this.view.leaf).openFile(e,{active:!0})}createForm(){this.titleEl.setText("New File"),this.contentEl.createDiv({cls:"excalidraw-prompt-center",text:"File does not exist. Do you want to create it?"}),this.contentEl.createDiv({cls:"excalidraw-prompt-center filepath",text:this.path}),this.contentEl.createDiv({cls:"excalidraw-prompt-center"},(e=>{e.style.textAlign="right";const A=()=>this.path&&""!==this.path?!!this.view.file||(new obsidian.Notice("Unknown error. It seems as if your drawing was closed or the drawing file is missing"),!1):(new obsidian.Notice("Error: Filename for new file may not be empty"),!1),t=async e=>{if(!this.path.includes("/")){const e=new RegExp(`${this.view.file.name}$`,"g");this.path=this.view.file.path.replace(e,this.path)}return this.path.match(/\.md$/)||(this.path=`${this.path}.md`),checkAndCreateFolder(splitFolderAndFilename(this.path).folderpath),await this.app.vault.create(this.path,e)};e.createEl("button",{text:"Create Markdown"}).onclick=async()=>{if(!A)return;const e=await t("");this.openFile(e),this.close()},e.createEl("button",{text:"Create Excalidraw"}).onclick=async()=>{if(!A)return;const e=await t(await this.plugin.getBlankDrawing());await sleep$1(200),this.openFile(e),this.close()},e.createEl("button",{text:"Never Mind"}).onclick=()=>{this.close()}}))}}class ScriptEngine{constructor(e){this.plugin=e,this.scriptIconMap={},this.loadScripts(),this.registerEventHandlers()}registerEventHandlers(){const e=e=>{if(!e.endsWith(".svg"))return;const A=app.vault.getAbstractFileByPath(getIMGFilename(e,"md"));A&&A instanceof obsidian.TFile&&(this.unloadScript(this.getScriptName(A),A.path),this.loadScript(A))};this.plugin.registerEvent(app.vault.on("delete",(async A=>{A instanceof obsidian.TFile&&A.path.startsWith(this.scriptPath)&&(this.unloadScript(this.getScriptName(A),A.path),e(A.path))}))),this.plugin.registerEvent(app.vault.on("create",(async A=>{A instanceof obsidian.TFile&&A.path.startsWith(this.scriptPath)&&(this.loadScript(A),e(A.path))}))),this.plugin.registerEvent(app.vault.on("rename",(async(A,t)=>{if(!(A instanceof obsidian.TFile))return;const n=t.startsWith(this.scriptPath),i=A.path.startsWith(this.scriptPath);n&&(this.unloadScript(this.getScriptName(t),t),e(t)),i&&(this.loadScript(A),e(A.path))})))}updateScriptPath(){this.scriptPath!==this.plugin.settings.scriptFolderPath&&(this.scriptPath&&this.unloadScripts(),this.loadScripts())}getListofScripts(){if(this.scriptPath=this.plugin.settings.scriptFolderPath,app.vault.getAbstractFileByPath(this.scriptPath))return app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)&&"md"===e.extension));this.scriptPath=null}loadScripts(){var e;null===(e=this.getListofScripts())||void 0===e||e.forEach((e=>this.loadScript(e)))}getScriptName(e){let A="",t="";e instanceof obsidian.TFile?(A=e.basename,t=e.path):(A=splitFolderAndFilename(e).basename,t=e);const n=t.split(`${this.scriptPath}/`)[1],i=n.lastIndexOf("/");return i>-1?n.substring(0,i+1)+A:A}async addScriptIconToMap(e,A){const t=getIMGFilename(e,"svg"),n=app.vault.getAbstractFileByPath(t),i=n&&n instanceof obsidian.TFile?await app.vault.read(n):null;this.scriptIconMap=Object.assign({},this.scriptIconMap),this.scriptIconMap[e]={name:A,svgString:i},this.updateToolPannels()}loadScript(e){if("md"!==e.extension)return;const A=this.getScriptName(e);this.addScriptIconToMap(e.path,A),this.plugin.addCommand({id:A,name:`(Script) ${A}`,checkCallback:t=>{if(t)return Boolean(app.workspace.getActiveViewOfType(ExcalidrawView));const n=app.workspace.getActiveViewOfType(ExcalidrawView);return!!n&&((async()=>{const t=await app.vault.read(e);t&&this.executeScript(n,t,A)})(),!0)}})}unloadScripts(){const e=app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)));e.forEach((e=>{this.unloadScript(this.getScriptName(e),e.path)}))}unloadScript(e,A){if(!A.endsWith(".md"))return;delete this.scriptIconMap[A],this.scriptIconMap=Object.assign({},this.scriptIconMap),this.updateToolPannels();const t=`${PLUGIN_ID}:${e}`;app.commands.commands[t]&&delete app.commands.commands[t]}async executeScript(e,A,t){if(!e||!A||!t)return;this.plugin.ea.reset(),this.plugin.ea.setView(e),this.plugin.ea.activeScript=t;const n=Object.getPrototypeOf((async()=>{})).constructor;let i=null;return i=await new n("ea","utils",A)(this.plugin.ea,{inputPrompt:(e,A,t,n)=>ScriptEngine.inputPrompt(app,e,A,t,n),suggester:(e,A,t,n)=>ScriptEngine.suggester(app,e,A,t,n)}),this.plugin.ea.activeScript=null,i}updateToolPannels(){app.workspace.getLeavesOfType("excalidraw").forEach((e=>{var A,t;null===(t=null===(A=e.view.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.updateScriptIconMap(this.scriptIconMap)}))}static async inputPrompt(e,A,t,n,i){try{return await GenericInputPrompt.Prompt(e,A,t,n,i)}catch(e){return}}static async suggester(e,A,t,n,i){try{return await GenericSuggester.Suggest(e,A,t,n,i)}catch(e){return}}}var t$c={d:(e,A)=>{for(var t in A)t$c.o(A,t)&&!t$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$d={};t$c.d(r$d,{QA:()=>w$1,ZP:()=>j$1,qt:()=>x$1,MX:()=>$});const e$d={red:"hsl(0, 100%, 50%)",orange:"hsl(30, 100%, 50%)",yellow:"hsl(60, 100%, 50%)","lime green":"hsl(90, 100%, 50%)",green:"hsl(120, 100%, 50%)","blue green":"hsl(150, 100%, 50%)",cyan:"hsl(180, 100%, 50%)","sky blue":"hsl(210, 100%, 50%)",blue:"hsl(240, 100%, 50%)",purple:"hsl(270, 100%, 50%)",magenta:"hsl(300, 100%, 50%)",pink:"hsl(330, 100%, 50%)"};function s$a(e,A,t){return Math.max(e,Math.min(A,t))}function n$c(e,A){return+e.toFixed(A>=0?A:0)}function a$c(e){const A=e%360;return A<0?A+360:A}function i$a(e){return void 0!==e?s$a(0,e,1):1}function o$b(e){return Math.floor(Math.random()*e)}function h$4(e){var A;const{Cmin:t,Cmax:n,H:i,delta:a}=function(e){const[A,t,n]=Object.values(e).map((e=>e/255)),i=Math.max(A,t,n),a=Math.min(A,t,n),r=i-a;return{Cmin:a,Cmax:i,H:0===r?0:i===A?(t-n)/r%6:i===t?(n-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(n+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$c(60*i),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function u$8(e){const{h:A,s:t,l:n,a:i}=e,a=n/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=i?i:1}}function l$5(e){const[A,t,n,i]=Object.values(e).map((e=>parseInt(e,16)));return{r:A,g:t,b:n,a:i?i/255:1}}const c$a=/^#?([\da-f])([\da-f])([\da-f])([\da-f])?$|^#?([\da-f]{2})([\da-f]{2})([\da-f]{2})?([\da-f]{2})?$/gi,f$3=/hsla?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function d$2({h:e,s:A,l:t,a:n}){return[u$8({h:a$c(e),s:s$a(0,A,100),l:s$a(0,t,100),a:i$a(n)}),"hsl"]}const g$2=/rgba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b$5({r:e,g:A,b:t,a:n}){return[{r:s$a(0,e,255),g:s$a(0,A,255),b:s$a(0,t,255),a:i$a(n)},"rgb"]}var p$3,v$2,m$1=function(e,A,t,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof A?e!==A||!i:!A.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,t):i?i.value=t:A.set(e,t),t},y$1=function(e,A,t,n){if("a"===t&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof A?e!==A||!n:!A.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?n:"a"===t?n.call(e):n?n.value:A.get(e)};class w$1{constructor(e){var A,t;p$3.set(this,{r:0,g:0,b:0,a:1}),v$2.set(this,"rgb");const n=w$1.Parsers.map((A=>A(e))).find((e=>"invalid"!==e[1]));n?(A=this,t=this,[{set value(e){m$1(A,p$3,e,"f")}}.value,{set value(e){m$1(t,v$2,e,"f")}}.value]=n):m$1(this,v$2,"invalid","f")}get red(){return y$1(this,p$3,"f").r}get blue(){return y$1(this,p$3,"f").b}get green(){return y$1(this,p$3,"f").g}get alpha(){return y$1(this,p$3,"f").a}get hue(){return h$4(y$1(this,p$3,"f")).h}get saturation(){return h$4(y$1(this,p$3,"f")).s}get lightness(){return h$4(y$1(this,p$3,"f")).l}get format(){return y$1(this,v$2,"f")}isValid(){return"invalid"!==y$1(this,v$2,"f")}rgba(){return y$1(this,p$3,"f")}hsla(){return h$4(y$1(this,p$3,"f"))}hexa({round:e=!1}={}){return function(e,A=!1){let{r:t,g:n,b:i,a:a}=e;a&&(a*=255),A&&([t,n,i,a]=[t,n,i,a].map((e=>e&&Math.round(e))));const[r,s,o,l]=[t,n,i,null!=a?a:255].map((e=>e.toString(16).padStart(2,"0").toUpperCase()));return{r:r,g:s,b:o,a:l}}(y$1(this,p$3,"f"),e)}stringRGB({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(y$1(this,p$3,"f")).map(((e,t)=>n$c(e,A[t])));return e?`rgba(${t}, ${n}, ${i}, ${a})`:`rgb(${t}, ${n}, ${i})`}stringHEX({alpha:e=!0}={}){const[A,t,n,i]=Object.values(this.hexa({round:!0}));return`#${A}${t}${n}${e?i:""}`}stringHSL({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.hsla()).map(((e,t)=>n$c(e,A[t])));return e?`hsla(${t}, ${n}%, ${i}%, ${a})`:`hsl(${t}, ${n}%, ${i}%)`}hueTo(e){var A;const{h:t,s:n,l:i,a:a}=this.hsla(),r="number"==typeof e?a$c(e):Number(null!==(A=e$d[e].match(/\d{1,3}/))&&void 0!==A?A:t);return m$1(this,p$3,u$8({h:r,s:n,l:i,a:a}),"f"),this}hueBy(e){const{h:A,s:t,l:n,a:i}=this.hsla();return m$1(this,p$3,u$8({h:a$c(A+e),s:t,l:n,a:i}),"f"),this}saturationTo(e){const{h:A,l:t,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,e,100),l:t,a:n}),"f"),this}saturateBy(e){const{h:A,s:t,l:n,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,t+e,100),l:n,a:i}),"f"),this}desaturateBy(e){return this.saturateBy(-1*e)}lightnessTo(e){const{h:A,s:t,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,e,100),a:n}),"f"),this}lighterBy(e){const{h:A,s:t,l:n,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,n+e,100),a:i}),"f"),this}darkerBy(e){return this.lighterBy(-1*e)}alphaTo(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,e,1)}),"f"),this}alphaBy(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,y$1(this,p$3,"f").a+e,1)}),"f"),this}invert({alpha:e=!1}={}){const{r:A,g:t,b:n,a:i}=y$1(this,p$3,"f");return m$1(this,p$3,{r:255-A,g:255-t,b:255-n,a:e?1-i:i},"f"),this}grayscale(){return this.desaturateBy(100)}rotate(e){return this.hueBy(e)}}function $(){return new w$1({r:o$b(255),g:o$b(255),b:o$b(255),a:Math.random()})}function x$1(e){(e=e.filter(((e,A,t)=>t.indexOf(e)===A))).forEach((e=>e(w$1)))}p$3=new WeakMap,v$2=new WeakMap,w$1.Parsers=[function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n&&"number"==typeof A}(e))return b$5(e);if("string"==typeof e){g$2.lastIndex=0;const A=g$2.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return b$5({r:e,g:t,b:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n&&"string"==typeof A}(e))return[l$5(e),"hex"];if("string"==typeof e){c$a.lastIndex=0;const A=c$a.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map((e=>1===e.length?e.repeat(2):e));return[l$5({r:e,g:t,b:n,a:null!=i?i:"FF"}),"hex"]}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,l:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return d$2(e);if("string"==typeof e){f$3.lastIndex=0;const A=f$3.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return d$2({h:e,s:t,l:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}];const j$1=e=>new w$1(e);r$d.QA;var O$1=r$d.ZP,B=r$d.qt;r$d.MX;var e$c={d:(e,A)=>{for(var t in A)e$c.o(A,t)&&!e$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$b={};function t$b(e){const A=e%360;return A<0?A+360:A}e$c.d(a$b,{Z:()=>n$b});const n$b=e=>{e.prototype.harmony=function({type:A="analogous",effect:t="tones",amount:n=5}={}){const{h:i,s:a,l:r,a:s}=this.hsla();switch("monochromatic"===A&&(o=n,n=Math.max(2,Math.min(o,10))),A){case"analogous":return[-30,0,30].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"complementary":return[0,180].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"split-complementary":return[0,150,210].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"double-split-complementary":return[-30,0,30,150,210].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"triad":return[0,120,240].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"rectangle":return[0,60,180,240].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"square":return[0,90,180,270].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"monochromatic":{const A="tones"===t?a:r;let o=("tints"===t?100-A:A)/n;o="tints"===t?o:-1*o;const l=[A];for(let e=0;enew e({h:i,s:A,l:r,a:s}))):l.map((A=>new e({h:i,s:a,l:A,a:s})))}}var o}};var r$c=a$b.Z,a$a={d:(e,A)=>{for(var t in A)a$a.o(A,t)&&!a$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},t$a={};a$a.d(t$a,{Z:()=>k});const e$b=6/29,n$a=Math.pow(e$b,3),c$9=Math.pow(29/3,3),r$b={x:.96422,y:1,z:.82521};function u$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$9(e,A,t){return Math.max(e,Math.min(A,t))}function o$a(e){const A=e%360;return A<0?A+360:A}function l$4(e){const[A,t,n]=Object.values(e).map((e=>e/255)),i=Math.max(A,t,n),a=Math.min(A,t,n),r=i-a;return{Cmin:a,Cmax:i,H:0===r?0:i===A?(t-n)/r%6:i===t?(n-A)/r+2:(A-t)/r+4,delta:r}}function b$4(e){var A;const{Cmin:t,Cmax:n,H:i,delta:a}=l$4(e),r=(n+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:o$a(60*i),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function h$3(e){var A;const{Cmax:t,H:n,delta:i}=l$4(e),a=0===i?0:i/t;return{h:o$a(60*n),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}function v$1(e){const{h:A,a:t}=b$4(e),{r:n,g:i,b:a}=e;return{h:A,w:Math.min(n,i,a)/2.55,b:100*(1-Math.max(n,i,a)/255),a:t}}function i$9(e){const[A,t,n]=u$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=u$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}function m(e){const A=Object.values(i$9(e)).map(((e,A)=>e/(100*Object.values(r$b)[A]))).map((e=>e>n$a?Math.cbrt(e):(c$9*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function p$2(e){const{l:A,a:t,b:n}=m(e),i=180*Math.atan2(n,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(n,2)),h:o$a(i),a:e.a}}function f$2(e){const[A,t,n]=Object.values(i$9(e)).map((e=>e/100)),i=t/r$b.y,a=A&&t&&n?A+15*t+3*n:19,r=4*A/a,s=9*t/a,o=r$b.x+15*r$b.y+3*r$b.z,l=4*r$b.x/o,c=9*r$b.y/o;let d=i>n$a?116*Math.cbrt(i)-16:c$9*i,h=13*d*(r-l),u=13*d*(s-c);return d===Number(-0)&&(d=0),h===Number(-0)&&(h=0),u===Number(-0)&&(u=0),{l:d,u:h,v:u,a:e.a}}function M(e){const{x:A,y:t,z:n}=i$9(e),[i,a,r]=u$7([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,n]);return{u:i,v:a,w:r,a:e.a}}function w(e){let{r:A,g:t,b:n}=e;const i=Math.min(A,t,n);[A,t,n]=[A,t,n].map((e=>e-i));const a=Math.max(A,t,n);let r=Math.min(A,t);A-=r,t-=r,n&&t&&(n/=2,t/=2),r+=t,n+=t;const s=Math.max(A,r,n);if(s){const e=a/s;[A,r,n]=[A,r,n].map((A=>A*e))}return[A,r,n]=[A,r,n].map((e=>e+i)),{r:A,y:r,b:n,a:e.a}}function O(e){const{r:A,g:t,b:n,a:i}=e,a=1-Math.max(A,t,n)/255,[r,s,o]=1===a?[0,0,0]:[A,t,n].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:i}}function j(e){const{h:A,s:t,v:n,a:i}=e,a=n/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=i?i:1}}function x(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=u$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=u$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return s$9(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}function y(e){const{l:A,a:t,b:n}=e,i=(A+16)/116,a=i+t/500,r=i-n/200,s=Object.values(r$b),[o,l,c]=[a,i,r].map(((e,A)=>(e>e$b?Math.pow(e,3):3*Math.pow(e$b,2)*(e-4/29))*s[A]*100));return x({x:o,y:l,z:c,a:e.alpha})}const k=e=>{e.prototype.mix=function({color:A="#fff",ratio:t=.5,colorspace:n="luv"}={}){const i=this.rgba(),a=(A instanceof e?A:new e(A)).rgba();let r,s;switch(t=s$9(0,t,1),n){case"hsl":r=Object.values(b$4(i)),s=Object.values(b$4(a));break;case"hsv":r=Object.values(h$3(i)),s=Object.values(h$3(a));break;case"hwb":r=Object.values(v$1(i)),s=Object.values(v$1(a));break;case"lab":r=Object.values(m(i)),s=Object.values(m(a));break;case"lch":r=Object.values(p$2(i)),s=Object.values(p$2(a));break;case"luv":r=Object.values(f$2(i)),s=Object.values(f$2(a));break;case"ryb":r=Object.values(w(i)),s=Object.values(w(a));break;case"uvw":r=Object.values(M(i)),s=Object.values(M(a));break;case"xyz":r=Object.values(i$9(i)),s=Object.values(i$9(a));break;case"cmyk":r=Object.values(O(i)),s=Object.values(O(a));break;default:r=Object.values(i),s=Object.values(a)}const[o,l,c,d,h]=r.map(((e,A)=>r[A]*(1-t)+s[A]*t));switch(n){case"hsl":return new e(function(e){const{h:A,s:t,l:n,a:i}=e,a=n/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=i?i:1}}({h:o,s:l,l:c,a:d}));case"hsv":return new e(j({h:o,s:l,v:c,a:d}));case"hwb":return new e(function(e){const{h:A,b:t,w:n,a:i}=e;return j({h:A,s:100===t?0:100-n/(100-t)*100,v:100-t,a:i})}({h:o,w:l,b:c,a:d}));case"lab":return new e(y({l:o,a:l,b:c,alpha:d}));case"lch":return new e(function(e){const{l:A,c:t,h:n}=e;return y({l:A,a:t*Math.cos(n*Math.PI/180),b:t*Math.sin(n*Math.PI/180),alpha:e.a})}({l:o,c:l,h:c,a:d}));case"luv":return new e(function(e){const{l:A,u:t,v:n}=e,i=A>c$9*n$a?Math.pow((A+16)/116,3):A/c$9,a=r$b.x+15*r$b.y+3*r$b.z,r=(52*A/(t&&A?t+13*A*(4*r$b.x/a):1)-1)/3,s=-5*i,o=i*(39*A/(n&&A?n+13*A*(9*r$b.y/a):1)-5),l=r===-1/3?o-s:(o-s)/(r- -1/3);return x({x:100*l,y:100*i,z:100*(r*l+s),a:e.a})}({l:o,u:l,v:c,a:d}));case"ryb":return new e(function(e){let{r:A,y:t,b:n}=e;const i=Math.min(A,t,n);[A,t,n]=[A,t,n].map((e=>e-i));const a=Math.max(A,t,n);let r=Math.min(t,n);t-=r,n-=r,n&&r&&(n*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,n);if(s){const e=a/s;[A,r,n]=[A,r,n].map((A=>A*e))}return[A,r,n]=[A,r,n].map((e=>e+i)),{r:A,g:r,b:n,a:e.a}}({r:o,y:l,b:c,a:d}));case"uvw":return new e(function(e){const{u:A,v:t,w:n}=e,[i,a,r]=u$7([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,n]);return x({x:i,y:a,z:r,a:e.a})}({u:o,v:l,w:c,a:d}));case"xyz":return new e(x({x:o,y:l,z:c,a:d}));case"cmyk":return new e(function(e){const{c:A,m:t,y:n,k:i,a:a}=e,[r,s,o]=[A,t,n].map((e=>255*(1-e/100)*(1-i/100)));return{r:r,g:s,b:o,a:a}}({c:o,m:l,y:c,k:d,a:h}));default:return new e({r:o,g:l,b:c,a:d})}}};var z=t$a.Z,r$a={d:(e,A)=>{for(var t in A)r$a.o(A,t)&&!r$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},b$3={};r$a.d(b$3,{Z:()=>n$9});const g$1=["rgb(0,0,0)","rgb(0,0,51)","rgb(0,0,102)","rgb(0,0,153)","rgb(0,0,204)","rgb(0,0,255)","rgb(0,51,0)","rgb(0,51,51)","rgb(0,51,102)","rgb(0,51,153)","rgb(0,51,204)","rgb(0,51,255)","rgb(0,102,0)","rgb(0,102,51)","rgb(0,102,102)","rgb(0,102,153)","rgb(0,102,204)","rgb(0,102,255)","rgb(0,153,0)","rgb(0,153,51)","rgb(0,153,102)","rgb(0,153,153)","rgb(0,153,204)","rgb(0,153,255)","rgb(0,204,0)","rgb(0,204,51)","rgb(0,204,102)","rgb(0,204,153)","rgb(0,204,204)","rgb(0,204,255)","rgb(0,255,0)","rgb(0,255,51)","rgb(0,255,102)","rgb(0,255,153)","rgb(0,255,204)","rgb(0,255,255)","rgb(51,0,0)","rgb(51,0,51)","rgb(51,0,102)","rgb(51,0,153)","rgb(51,0,204)","rgb(51,0,255)","rgb(51,51,0)","rgb(51,51,51)","rgb(51,51,102)","rgb(51,51,153)","rgb(51,51,204)","rgb(51,51,255)","rgb(51,102,0)","rgb(51,102,51)","rgb(51,102,102)","rgb(51,102,153)","rgb(51,102,204)","rgb(51,102,255)","rgb(51,153,0)","rgb(51,153,51)","rgb(51,153,102)","rgb(51,153,153)","rgb(51,153,204)","rgb(51,153,255)","rgb(51,204,0)","rgb(51,204,51)","rgb(51,204,102)","rgb(51,204,153)","rgb(51,204,204)","rgb(51,204,255)","rgb(51,255,0)","rgb(51,255,51)","rgb(51,255,102)","rgb(51,255,153)","rgb(51,255,204)","rgb(51,255,255)","rgb(102,0,0)","rgb(102,0,51)","rgb(102,0,102)","rgb(102,0,153)","rgb(102,0,204)","rgb(102,0,255)","rgb(102,51,0)","rgb(102,51,51)","rgb(102,51,102)","rgb(102,51,153)","rgb(102,51,204)","rgb(102,51,255)","rgb(102,102,0)","rgb(102,102,51)","rgb(102,102,102)","rgb(102,102,153)","rgb(102,102,204)","rgb(102,102,255)","rgb(102,153,0)","rgb(102,153,51)","rgb(102,153,102)","rgb(102,153,153)","rgb(102,153,204)","rgb(102,153,255)","rgb(102,204,0)","rgb(102,204,51)","rgb(102,204,102)","rgb(102,204,153)","rgb(102,204,204)","rgb(102,204,255)","rgb(102,255,0)","rgb(102,255,51)","rgb(102,255,102)","rgb(102,255,153)","rgb(102,255,204)","rgb(102,255,255)","rgb(153,0,0)","rgb(153,0,51)","rgb(153,0,102)","rgb(153,0,153)","rgb(153,0,204)","rgb(153,0,255)","rgb(153,51,0)","rgb(153,51,51)","rgb(153,51,102)","rgb(153,51,153)","rgb(153,51,204)","rgb(153,51,255)","rgb(153,102,0)","rgb(153,102,51)","rgb(153,102,102)","rgb(153,102,153)","rgb(153,102,204)","rgb(153,102,255)","rgb(153,153,0)","rgb(153,153,51)","rgb(153,153,102)","rgb(153,153,153)","rgb(153,153,204)","rgb(153,153,255)","rgb(153,204,0)","rgb(153,204,51)","rgb(153,204,102)","rgb(153,204,153)","rgb(153,204,204)","rgb(153,204,255)","rgb(153,255,0)","rgb(153,255,51)","rgb(153,255,102)","rgb(153,255,153)","rgb(153,255,204)","rgb(153,255,255)","rgb(204,0,0)","rgb(204,0,51)","rgb(204,0,102)","rgb(204,0,153)","rgb(204,0,204)","rgb(204,0,255)","rgb(204,51,0)","rgb(204,51,51)","rgb(204,51,102)","rgb(204,51,153)","rgb(204,51,204)","rgb(204,51,255)","rgb(204,102,0)","rgb(204,102,51)","rgb(204,102,102)","rgb(204,102,153)","rgb(204,102,204)","rgb(204,102,255)","rgb(204,153,0)","rgb(204,153,51)","rgb(204,153,102)","rgb(204,153,153)","rgb(204,153,204)","rgb(204,153,255)","rgb(204,204,0)","rgb(204,204,51)","rgb(204,204,102)","rgb(204,204,153)","rgb(204,204,204)","rgb(204,204,255)","rgb(204,255,0)","rgb(204,255,51)","rgb(204,255,102)","rgb(204,255,153)","rgb(204,255,204)","rgb(204,255,255)","rgb(255,0,0)","rgb(255,0,51)","rgb(255,0,102)","rgb(255,0,153)","rgb(255,0,204)","rgb(255,0,255)","rgb(255,51,0)","rgb(255,51,51)","rgb(255,51,102)","rgb(255,51,153)","rgb(255,51,204)","rgb(255,51,255)","rgb(255,102,0)","rgb(255,102,51)","rgb(255,102,102)","rgb(255,102,153)","rgb(255,102,204)","rgb(255,102,255)","rgb(255,153,0)","rgb(255,153,51)","rgb(255,153,102)","rgb(255,153,153)","rgb(255,153,204)","rgb(255,153,255)","rgb(255,204,0)","rgb(255,204,51)","rgb(255,204,102)","rgb(255,204,153)","rgb(255,204,204)","rgb(255,204,255)","rgb(255,255,0)","rgb(255,255,51)","rgb(255,255,102)","rgb(255,255,153)","rgb(255,255,204)","rgb(255,255,255)"];function t$9(e){return(e/=255)<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function o$9(e,A=[0,0,0,1]){var t,n;return null!==(n=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==n?n:A}const n$9=e=>{e.prototype.brightness=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:n,b:i}=this.rgba(),a=+((.299*t+.587*n+.114*i)/255).toFixed(e);return A?100*a:a},e.prototype.luminance=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:n,b:i}=this.rgba(),a=+(.2126*t$9(t)+.7152*t$9(n)+.0722*t$9(i)).toFixed(e);return A?100*a:a},e.prototype.contrast=function({bgColor:A="#fff",precision:t=4,ratio:n=!1}={}){const i=this.luminance(),a=(A instanceof e?A:new e(A)).luminance(),r=((Math.max(i,a)+.05)/(Math.min(i,a)+.05)).toFixed(t);return n?r+":1":+r},e.prototype.readableOn=function({bgColor:e="#fff",size:A="body",level:t="minimum"}={}){const n=this.contrast({bgColor:e});return"body"===A&&"enhanced"===t?n>=7:"large"===A&&"minimum"===t?n>=3:n>=4.5},e.prototype.equalTo=function(A="#fff"){const t=Object.values(this.rgba()),n=Object.values((A instanceof e?A:new e(A)).rgba());return t.toString()===n.toString()},e.prototype.isLight=function(){return this.brightness()>=.5},e.prototype.isDark=function(){return!this.isLight()},e.prototype.isCool=function(){const{h:e}=this.hsla();return 75<=e&&e<255},e.prototype.isWarm=function(){return!this.isCool()},e.prototype.isTinted=function(){return this.hsla().l>50},e.prototype.isShaded=function(){return this.hsla().l<50},e.prototype.isToned=function(){return this.hsla().s<100},e.prototype.isPureHue=function({reason:e=!0}={}){return this.isTinted()?!!e&&{pure:!1,reason:"tinted"}:this.isShaded()?!!e&&{pure:!1,reason:"shaded"}:this.isToned()?!!e&&{pure:!1,reason:"toned"}:!e||{pure:!0,reason:"N/A"}},e.prototype.closestCool=function(){const{h:e}=this.hsla();return this.isCool()?this:this.hueTo(e<75?75:254)},e.prototype.closestWarm=function(){const{h:e}=this.hsla();return this.isWarm()?this:this.hueTo(e<165?74:255)},e.prototype.closestPureHue=function(){const{h:A,a:t}=this.hsla(),{r:n,g:i,b:a,a:r}=function(e){const{h:A,s:t,l:n,a:i}=e,a=n/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=i?i:1}}({h:A,s:100,l:50,a:t});return new e({r:n,g:i,b:a,a:r})},e.prototype.closestWebSafe=function(){const{r:A,g:t,b:n,a:i}=this.rgba();let[a,r,s]=new Array(3).fill(0),o=Number.POSITIVE_INFINITY,l={r:A,g:t,b:n,a:i};for(let e=0;e{for(var t in A)r$9.o(A,t)&&!r$9.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},g={};r$9.d(g,{Z:()=>a$9});const e$9={maroon:"rgb(128,0,0)","dark red":"rgb(139,0,0)",brown:"rgb(165,42,42)",firebrick:"rgb(178,34,34)",crimson:"rgb(220,20,60)",red:"rgb(255,0,0)",tomato:"rgb(255,99,71)",coral:"rgb(255,127,80)","indian red":"rgb(205,92,92)","light coral":"rgb(240,128,128)","dark salmon":"rgb(233,150,122)",salmon:"rgb(250,128,114)","light salmon":"rgb(255,160,122)","orange red":"rgb(255,69,0)","dark orange":"rgb(255,140,0)",orange:"rgb(255,165,0)",gold:"rgb(255,215,0)","dark golden rod":"rgb(184,134,11)","golden rod":"rgb(218,165,32)","pale golden rod":"rgb(238,232,170)","dark khaki":"rgb(189,183,107)",khaki:"rgb(240,230,140)",olive:"rgb(128,128,0)",yellow:"rgb(255,255,0)","yellow green":"rgb(154,205,50)","dark olive green":"rgb(85,107,47)","olive drab":"rgb(107,142,35)","lawn green":"rgb(124,252,0)","chart reuse":"rgb(127,255,0)","green yellow":"rgb(173,255,47)","dark green":"rgb(0,100,0)",green:"rgb(0,128,0)","forest green":"rgb(34,139,34)",lime:"rgb(0,255,0)","lime green":"rgb(50,205,50)","light green":"rgb(144,238,144)","pale green":"rgb(152,251,152)","dark sea green":"rgb(143,188,143)","medium spring green":"rgb(0,250,154)","spring green":"rgb(0,255,127)","sea green":"rgb(46,139,87)","medium aqua marine":"rgb(102,205,170)","medium sea green":"rgb(60,179,113)","light sea green":"rgb(32,178,170)","dark slate gray":"rgb(47,79,79)",teal:"rgb(0,128,128)","dark cyan":"rgb(0,139,139)",cyan:"rgb(0,255,255)",aqua:"rgb(0,255,255)","light cyan":"rgb(224,255,255)","dark turquoise":"rgb(0,206,209)",turquoise:"rgb(64,224,208)","medium turquoise":"rgb(72,209,204)","pale turquoise":"rgb(175,238,238)","aqua marine":"rgb(127,255,212)","powder blue":"rgb(176,224,230)","cadet blue":"rgb(95,158,160)","steel blue":"rgb(70,130,180)","corn flower blue":"rgb(100,149,237)","deep sky blue":"rgb(0,191,255)","dodger blue":"rgb(30,144,255)","light blue":"rgb(173,216,230)","sky blue":"rgb(135,206,235)","light sky blue":"rgb(135,206,250)","midnight blue":"rgb(25,25,112)",navy:"rgb(0,0,128)","dark blue":"rgb(0,0,139)","medium blue":"rgb(0,0,205)",blue:"rgb(0,0,255)","royal blue":"rgb(65,105,225)","blue violet":"rgb(138,43,226)",indigo:"rgb(75,0,130)","dark slate blue":"rgb(72,61,139)","slate blue":"rgb(106,90,205)","medium slate blue":"rgb(123,104,238)","medium purple":"rgb(147,112,219)","dark magenta":"rgb(139,0,139)","dark violet":"rgb(148,0,211)","dark orchid":"rgb(153,50,204)","medium orchid":"rgb(186,85,211)",purple:"rgb(128,0,128)",thistle:"rgb(216,191,216)",plum:"rgb(221,160,221)",violet:"rgb(238,130,238)",magenta:"rgb(255,0,255)",fuchsia:"rgb(255,0,255)",orchid:"rgb(218,112,214)","medium violet red":"rgb(199,21,133)","pale violet red":"rgb(219,112,147)","deep pink":"rgb(255,20,147)","hot pink":"rgb(255,105,180)","light pink":"rgb(255,182,193)",pink:"rgb(255,192,203)","antique white":"rgb(250,235,215)",beige:"rgb(245,245,220)",bisque:"rgb(255,228,196)","blanched almond":"rgb(255,235,205)",wheat:"rgb(245,222,179)","corn silk":"rgb(255,248,220)","lemon chiffon":"rgb(255,250,205)","light golden rod yellow":"rgb(250,250,210)","light yellow":"rgb(255,255,224)","saddle brown":"rgb(139,69,19)",sienna:"rgb(160,82,45)",chocolate:"rgb(210,105,30)",peru:"rgb(205,133,63)","sandy brown":"rgb(244,164,96)","burly wood":"rgb(222,184,135)",tan:"rgb(210,180,140)","rosy brown":"rgb(188,143,143)",moccasin:"rgb(255,228,181)","navajo white":"rgb(255,222,173)","peach puff":"rgb(255,218,185)","misty rose":"rgb(255,228,225)","lavender blush":"rgb(255,240,245)",linen:"rgb(250,240,230)","old lace":"rgb(253,245,230)","papaya whip":"rgb(255,239,213)","sea shell":"rgb(255,245,238)","mint cream":"rgb(245,255,250)","slate gray":"rgb(112,128,144)","light slate gray":"rgb(119,136,153)","light steel blue":"rgb(176,196,222)",lavender:"rgb(230,230,250)","floral white":"rgb(255,250,240)","alice blue":"rgb(240,248,255)","ghost white":"rgb(248,248,255)",honeydew:"rgb(240,255,240)",ivory:"rgb(255,255,240)",azure:"rgb(240,255,255)",snow:"rgb(255,250,250)",black:"rgb(0,0,0)","dim gray":"rgb(105,105,105)","dim grey":"rgb(105,105,105)",gray:"rgb(128,128,128)",grey:"rgb(128,128,128)","dark gray":"rgb(169,169,169)","dark grey":"rgb(169,169,169)",silver:"rgb(192,192,192)","light gray":"rgb(211,211,211)","light grey":"rgb(211,211,211)",gainsboro:"rgb(220,220,220)",gainsborough:"rgb(220,220,220)","white smoke":"rgb(245,245,245)",white:"rgb(255,255,255)",transparent:"rgba(0,0,0,0)"};function b$2(e,A=[0,0,0,1]){var t,n;return null!==(n=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==n?n:A}const a$9=e=>{e.prototype.name=function({exact:e=!0}={}){const{r:A,g:t,b:n,a:i}=this.rgba();if(0===i)return"transparent";const[a,r]=[Object.keys(e$9),Object.values(e$9)];let s;if(e){const e=this.stringRGB({alpha:!1}).replace(/\s/g,"");s=a.find((A=>e$9[A]===e))}else{let e=Number.POSITIVE_INFINITY;for(let i=0;i{for(var t in A)t$8.o(A,t)&&!t$8.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$8={};t$8.d(a$8,{Z:()=>d$1});const n$8=6/29,r$8=Math.pow(n$8,3),o$8=Math.pow(29/3,3),e$8={x:.96422,y:1,z:.82521};function c$8(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$8(e,A,t){return Math.max(e,Math.min(A,t))}function u$6(e){const A=e%360;return A<0?A+360:A}function i$8(e){const{l:A,a:t,b:n}=function(e){const A=Object.values(function(e){const[A,t,n]=c$8([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=c$8([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(e$8)[A]))).map((e=>e>r$8?Math.cbrt(e):(o$8*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}(e),i=180*Math.atan2(n,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(n,2)),h:u$6(i),a:e.a}}function h$2(e){const{l:A,c:t,h:n}=e;return function(e){const{l:A,a:t,b:n}=e,i=(A+16)/116,a=i+t/500,r=i-n/200,s=Object.values(e$8),[o,l,c]=[a,i,r].map(((e,A)=>(e>n$8?Math.pow(e,3):3*Math.pow(n$8,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=c$8([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=c$8([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return s$8(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}({l:A,a:t*Math.cos(n*Math.PI/180),b:t*Math.sin(n*Math.PI/180),alpha:e.a})}const l$2=/lcha?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function p$1({l:e,c:A,h:t,a:n}){return[h$2({l:s$8(0,e,100),c:s$8(0,A,230),h:u$6(t),a:(i=n,void 0!==i?s$8(0,i,1):1)}),"lch"];var i}function f$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,c:t,h:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return p$1(e);if("string"==typeof e){l$2.lastIndex=0;const A=l$2.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?1:1===A?2.3:2===A?3.59:.01):+e));return p$1({l:e,c:t,h:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d$1=e=>{e.prototype.lcha=function(){return i$8(this.rgba())},e.prototype.stringLCH=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.lcha()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`lcha(${t}%, ${n}, ${i}, ${a})`:`lch(${t}%, ${n}, ${i})`},e.Parsers.push(f$1)};var b$1=a$8.Z,t$7={d:(e,A)=>{for(var t in A)t$7.o(A,t)&&!t$7.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$7={};t$7.d(n$7,{Z:()=>l$1});const r$7=Math.pow(6/29,3),e$7=Math.pow(29/3,3);function o$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function a$7(e,A,t){return Math.max(e,Math.min(A,t))}function u$5(e){const{l:A,u:t,v:n}=e,i=A>e$7*r$7?Math.pow((A+16)/116,3):A/e$7,a=(52*A/(t&&A?t+13*A*.20916005282038627:1)-1)/3,r=-5*i,s=i*(39*A/(n&&A?n+13*A*(9/18.43985):1)-5),o=a===-1/3?s-r:(s-r)/(a- -1/3);return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=o$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=o$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return a$7(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}({x:100*o,y:100*i,z:100*(a*o+r),a:e.a})}const c$7=/color\s*\(\s*luva?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$7({l:e,u:A,v:t,a:n}){return[u$5({l:a$7(0,e,100),u:a$7(-100,A,100),v:a$7(-100,t,100),a:(i=n,void 0!==i?a$7(0,i,1):1)}),"luv"];var i}function i$7(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,u:t,v:n}=e;return void 0!==A&&void 0!==t&&null!=n}(e))return s$7(e);if("string"==typeof e){c$7.lastIndex=0;const A=c$7.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return s$7({l:e,u:t,v:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const l$1=e=>{e.prototype.luva=function(){return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=o$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=o$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(e)).map((e=>e/100)),i=t/1,a=A&&t&&n?A+15*t+3*n:19,r=4*A/a,s=9*t/a;let o=i>r$7?116*Math.cbrt(i)-16:e$7*i,l=13*o*(r-.20916005282038627),c=13*o*(s-.48807338454488514);return o===Number(-0)&&(o=0),l===Number(-0)&&(l=0),c===Number(-0)&&(c=0),{l:o,u:l,v:c,a:e.a}}(this.rgba())},e.prototype.stringLUV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.luva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(luva ${t}%, ${n}%, ${i}%, ${a})`:`color(luv ${t}%, ${n}%, ${i}%)`},e.Parsers.push(i$7)};var v=n$7.Z,t$6={d:(e,A)=>{for(var t in A)t$6.o(A,t)&&!t$6.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$6={};t$6.d(a$6,{Z:()=>d});const n$6=6/29,r$6=Math.pow(n$6,3),e$6=Math.pow(29/3,3),o$6={x:.96422,y:1,z:.82521};function c$6(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$6(e,A,t){return Math.max(e,Math.min(A,t))}function u$4(e){return void 0!==e?s$6(0,e,1):1}function i$6(e){const A=Object.values(function(e){const[A,t,n]=c$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=c$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(o$6)[A]))).map((e=>e>r$6?Math.cbrt(e):(e$6*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function l(e){const{l:A,a:t,b:n}=e,i=(A+16)/116,a=i+t/500,r=i-n/200,s=Object.values(o$6),[o,l,c]=[a,i,r].map(((e,A)=>(e>n$6?Math.pow(e,3):3*Math.pow(n$6,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=c$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=c$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return s$6(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}const p=/laba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b({l:e,a:A,b:t,alpha:n}){return[l({l:s$6(0,e,100),a:s$6(-160,A,160),b:s$6(-160,t,160),alpha:u$4(n)}),"lab"]}function f(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,a:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return b(e);if("string"==typeof e){p.lastIndex=0;const A=p.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return b({l:e,a:t,b:n,alpha:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d=e=>{e.prototype.laba=function(){return i$6(this.rgba())},e.prototype.stringLAB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.laba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`laba(${t}%, ${n}, ${i}, ${a})`:`lab(${t}%, ${n}, ${i})`},e.Parsers.push(f)};var h$1=a$6.Z,t$5={d:(e,A)=>{for(var t in A)t$5.o(A,t)&&!t$5.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$5={};function r$5(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$5(e,A,t){return Math.max(e,Math.min(A,t))}function e$5(e){const{u:A,v:t,w:n}=e,[i,a,r]=r$5([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,n]);return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=r$5([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=r$5([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return o$5(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}({x:i,y:a,z:r,a:e.a})}t$5.d(n$5,{Z:()=>s$5});const a$5=/color\s*\(\s*uvwa?\s*(\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function u$3({u:e,v:A,w:t,a:n}){return[e$5({u:o$5(0,e,200/3*.96422),v:o$5(0,A,100),w:o$5(-48.211,t,191.2605),a:(i=n,void 0!==i?o$5(0,i,1):1)}),"uvw"];var i}function c$5(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{u:A,v:t,w:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return u$3(e);if("string"==typeof e){a$5.lastIndex=0;const A=a$5.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return u$3({u:e,v:t,w:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const s$5=e=>{e.prototype.uvwa=function(){return function(e){const{x:A,y:t,z:n}=function(e){const[A,t,n]=r$5([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=r$5([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(e),[i,a,r]=r$5([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,n]);return{u:i,v:a,w:r,a:e.a}}(this.rgba())},e.prototype.stringUVW=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.uvwa()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(uvwa ${t}, ${n}, ${i}, ${a})`:`color(uvw ${t}, ${n}, ${i})`},e.Parsers.push(c$5)};var i$5=n$5.Z,t$4={d:(e,A)=>{for(var t in A)t$4.o(A,t)&&!t$4.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$4={};function r$4(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$4(e,A,t){return Math.max(e,Math.min(A,t))}function e$4(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=r$4([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=r$4([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return o$4(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}t$4.d(n$4,{Z:()=>u$2});const a$4=/color\s*\(\s*xyza?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$4({x:e,y:A,z:t,a:n}){return[e$4({x:o$4(0,e,96.422),y:o$4(0,A,100),z:o$4(0,t,82.521),a:(i=n,void 0!==i?o$4(0,i,1):1)}),"xyz"];var i}function c$4(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{x:A,y:t,z:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return s$4(e);if("string"==typeof e){a$4.lastIndex=0;const A=a$4.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return s$4({x:e,y:t,z:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$2=e=>{e.prototype.xyza=function(){return function(e){const[A,t,n]=r$4([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=r$4([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(this.rgba())},e.prototype.stringXYZ=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.xyza()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(xyza ${t}, ${n}, ${i}, ${a})`:`color(xyz ${t}, ${n}, ${i})`},e.Parsers.push(c$4)};var i$4=n$4.Z,t$3={d:(e,A)=>{for(var t in A)t$3.o(A,t)&&!t$3.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$3={};function r$3(e,A,t){return Math.max(e,Math.min(A,t))}function a$3(e){const A=e%360;return A<0?A+360:A}function o$3(e){const{h:A,a:t}=function(e){var A;const{Cmin:t,Cmax:n,H:i,delta:a}=function(e){const[A,t,n]=Object.values(e).map((e=>e/255)),i=Math.max(A,t,n),a=Math.min(A,t,n),r=i-a;return{Cmin:a,Cmax:i,H:0===r?0:i===A?(t-n)/r%6:i===t?(n-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(n+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$3(60*i),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}(e),{r:n,g:i,b:a}=e;return{h:A,w:Math.min(n,i,a)/2.55,b:100*(1-Math.max(n,i,a)/255),a:t}}function e$3(e){const{h:A,b:t,w:n,a:i}=e;return function(e){const{h:A,s:t,v:n,a:i}=e,a=n/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=i?i:1}}({h:A,s:100===t?0:100-n/(100-t)*100,v:100-t,a:i})}t$3.d(n$3,{Z:()=>u$1});const s$3=/hwba?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function i$3({h:e,w:A,b:t,a:n}){return[e$3({h:a$3(e),w:r$3(0,A,100),b:r$3(0,t,100),a:(i=n,void 0!==i?r$3(0,i,1):1)}),"hwb"];var i}function c$3(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,w:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return i$3(e);if("string"==typeof e){s$3.lastIndex=0;const A=s$3.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return i$3({h:e,w:t,b:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$1=e=>{e.prototype.hwba=function(){return o$3(this.rgba())},e.prototype.stringHWB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.hwba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hwba(${a$3(t)}, ${n}%, ${i}%, ${a})`:`hwb(${a$3(t)}, ${n}%, ${i}%)`},e.Parsers.push(c$3)};var h=n$3.Z,t$2={d:(e,A)=>{for(var t in A)t$2.o(A,t)&&!t$2.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$2={};function r$2(e,A,t){return Math.max(e,Math.min(A,t))}function s$2(e){const A=e%360;return A<0?A+360:A}function e$2(e){const{h:A,s:t,v:n,a:i}=e,a=n/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=i?i:1}}t$2.d(n$2,{Z:()=>c$2});const a$2=/hsva?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o$2({h:e,s:A,v:t,a:n}){return[e$2({h:s$2(e),s:r$2(0,A,100),v:r$2(0,t,100),a:(i=n,void 0!==i?r$2(0,i,1):1)}),"hsv"];var i}function i$2(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,v:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return o$2(e);if("string"==typeof e){a$2.lastIndex=0;const A=a$2.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return o$2({h:e,s:t,v:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const c$2=e=>{e.prototype.hsva=function(){return function(e){var A;const{Cmax:t,H:n,delta:i}=function(e){const[A,t,n]=Object.values(e).map((e=>e/255)),i=Math.max(A,t,n),a=Math.min(A,t,n),r=i-a;return{Cmin:a,Cmax:i,H:0===r?0:i===A?(t-n)/r%6:i===t?(n-A)/r+2:(A-t)/r+4,delta:r}}(e),a=0===i?0:i/t;return{h:s$2(60*n),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}(this.rgba())},e.prototype.stringHSV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.hsva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hsva(${s$2(t)}, ${n}%, ${i}%, ${a})`:`hsv(${s$2(t)}, ${n}%, ${i}%)`},e.Parsers.push(i$2)};var u=n$2.Z,t$1={d:(e,A)=>{for(var t in A)t$1.o(A,t)&&!t$1.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$1={};function n$1(e,A,t){return Math.max(e,Math.min(A,t))}function o$1(e){let{r:A,y:t,b:n}=e;const i=Math.min(A,t,n);[A,t,n]=[A,t,n].map((e=>e-i));const a=Math.max(A,t,n);let r=Math.min(t,n);t-=r,n-=r,n&&r&&(n*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,n);if(s){const e=a/s;[A,r,n]=[A,r,n].map((A=>A*e))}return[A,r,n]=[A,r,n].map((e=>e+i)),{r:A,g:r,b:n,a:e.a}}t$1.d(r$1,{Z:()=>i$1});const a$1=/color\s*\(\s*ryba?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function e$1({r:e,y:A,b:t,a:n}){return[o$1({r:n$1(0,e,255),y:n$1(0,A,255),b:n$1(0,t,255),a:(i=n,void 0!==i?n$1(0,i,1):1)}),"ryb"];var i}function s$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,y:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return e$1(e);if("string"==typeof e){a$1.lastIndex=0;const A=a$1.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return e$1({r:e,y:t,b:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i$1=e=>{e.prototype.ryba=function(){return function(e){let{r:A,g:t,b:n}=e;const i=Math.min(A,t,n);[A,t,n]=[A,t,n].map((e=>e-i));const a=Math.max(A,t,n);let r=Math.min(A,t);A-=r,t-=r,n&&t&&(n/=2,t/=2),r+=t,n+=t;const s=Math.max(A,r,n);if(s){const e=a/s;[A,r,n]=[A,r,n].map((A=>A*e))}return[A,r,n]=[A,r,n].map((e=>e+i)),{r:A,y:r,b:n,a:e.a}}(this.rgba())},e.prototype.stringRYB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.ryba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(ryba ${t}, ${n}, ${i}, ${a})`:`color(ryb ${t}, ${n}, ${i})`},e.Parsers.push(s$1)};var c$1=r$1.Z,t={d:(e,A)=>{for(var n in A)t.o(A,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:A[n]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n={};function e(e,A,t){return Math.max(e,Math.min(A,t))}function r(e){const{c:A,m:t,y:n,k:i,a:a}=e,[r,s,o]=[A,t,n].map((e=>255*(1-e/100)*(1-i/100)));return{r:r,g:s,b:o,a:a}}t.d(n,{Z:()=>i});const c=/device-cmyka?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?),?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o({c:A,m:t,y:n,k:i,a:a}){return[r({c:e(0,A,100),m:e(0,t,100),y:e(0,n,100),k:e(0,i,100),a:(s=a,void 0!==s?e(0,s,1):1)}),"cmyk"];var s}function a(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{c:A,m:t,y:n,k:i}=e;return void 0!==A&&void 0!==t&&void 0!==n&&void 0!==i}(e))return o(e);if("string"==typeof e){c.lastIndex=0;const A=c.exec(e);if(A){const[e,t,n,i,a]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<4?1:.01):+e));return o({c:e,m:t,y:n,k:i,a:a})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i=e=>{e.prototype.cmyka=function(){return function(e){const{r:A,g:t,b:n,a:i}=e,a=1-Math.max(A,t,n)/255,[r,s,o]=1===a?[0,0,0]:[A,t,n].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:i}}(this.rgba())},e.prototype.stringCMYK=function({alpha:e=!0,precision:A=[0,0,0,0,1]}={}){const[t,n,i,a,r]=Object.values(this.cmyka()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`device-cmyk(${t}, ${n}, ${i}, ${a}, ${r})`:`device-cmyk(${t}, ${n}, ${i}, ${a})`},e.Parsers.push(a)};var s=n.Z;class ExcalidrawScene{constructor(e=[]){this.type="excalidraw",this.version=2,this.source="https://excalidraw.com",this.elements=[],this.elements=e}toExJSON(){return Object.assign(Object.assign({},this),{elements:this.elements.map((e=>Object.assign({},e)))})}}var ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array;function create$1(){var e=new ARRAY_TYPE(16);return ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function clone(e){var A=new ARRAY_TYPE(16);return A[0]=e[0],A[1]=e[1],A[2]=e[2],A[3]=e[3],A[4]=e[4],A[5]=e[5],A[6]=e[6],A[7]=e[7],A[8]=e[8],A[9]=e[9],A[10]=e[10],A[11]=e[11],A[12]=e[12],A[13]=e[13],A[14]=e[14],A[15]=e[15],A}function fromValues$1(e,A,t,n,i,a,r,s,o,l,c,d,h,u,g,p){var w=new ARRAY_TYPE(16);return w[0]=e,w[1]=A,w[2]=t,w[3]=n,w[4]=i,w[5]=a,w[6]=r,w[7]=s,w[8]=o,w[9]=l,w[10]=c,w[11]=d,w[12]=h,w[13]=u,w[14]=g,w[15]=p,w}function multiply(e,A,t){var n=A[0],i=A[1],a=A[2],r=A[3],s=A[4],o=A[5],l=A[6],c=A[7],d=A[8],h=A[9],u=A[10],g=A[11],p=A[12],w=A[13],m=A[14],f=A[15],B=t[0],E=t[1],b=t[2],C=t[3];return e[0]=B*n+E*s+b*d+C*p,e[1]=B*i+E*o+b*h+C*w,e[2]=B*a+E*l+b*u+C*m,e[3]=B*r+E*c+b*g+C*f,B=t[4],E=t[5],b=t[6],C=t[7],e[4]=B*n+E*s+b*d+C*p,e[5]=B*i+E*o+b*h+C*w,e[6]=B*a+E*l+b*u+C*m,e[7]=B*r+E*c+b*g+C*f,B=t[8],E=t[9],b=t[10],C=t[11],e[8]=B*n+E*s+b*d+C*p,e[9]=B*i+E*o+b*h+C*w,e[10]=B*a+E*l+b*u+C*m,e[11]=B*r+E*c+b*g+C*f,B=t[12],E=t[13],b=t[14],C=t[15],e[12]=B*n+E*s+b*d+C*p,e[13]=B*i+E*o+b*h+C*w,e[14]=B*a+E*l+b*u+C*m,e[15]=B*r+E*c+b*g+C*f,e}function create(){var e=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function fromValues(e,A,t){var n=new ARRAY_TYPE(3);return n[0]=e,n[1]=A,n[2]=t,n}function transformMat4(e,A,t){var n=A[0],i=A[1],a=A[2],r=t[3]*n+t[7]*i+t[11]*a+t[15];return r=r||1,e[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/r,e[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/r,e[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/r,e}Math.hypot||(Math.hypot=function(){for(var e=0,A=arguments.length;A--;)e+=arguments[A]*arguments[A];return Math.sqrt(e)}),create();const random=new Random(Date.now()),randomInteger=()=>Math.floor(random.next()*2**31),randomId=()=>nanoid$1();function dimensionsFromPoints(e){const A=e.map((([e])=>e)),t=e.map((([,e])=>e)),n=Math.min(...A),i=Math.min(...t);return[Math.max(...A)-n,Math.max(...t)-i]}function getWindingOrder(e){return e.reduce(((e,[A,t],n,i)=>{const a=i[n+1];return((a?a[0]:0)-A)*((a?a[1]:0)+t)+e}),0)>0?"clockwise":"counterclockwise"}var chroma$1={exports:{}}; +EXPR:/(!)?(\[\[([^|\]]+)\|?([^\]]+)?]]|\[([^\]]*)]\(([^)]*)\))(\{(\d+)\})?/g,getRes:e=>e.matchAll(REGEX_LINK.EXPR),isTransclusion:e=>!!e.value[1],getLink:e=>e.value[3]?e.value[3]:e.value[6],isWikiLink:e=>!!e.value[3],getAliasOrLink:e=>REGEX_LINK.isWikiLink(e)?e.value[4]?e.value[4]:e.value[3]:e.value[5]?e.value[5]:e.value[6],getWrapLength:(e,A)=>{const t=parseInt(e.value[8]);return isNaN(t)?A>0?A:null:t}},DRAWING_REG=/\n# Drawing\n[^`]*(```json\n)([\s\S]*?)```\n/gm,DRAWING_REG_FALLBACK=/\n# Drawing\n(```json\n)?(.*)(```)?(%%)?/gm,DRAWING_COMPRESSED_REG=/(\n# Drawing\n[^`]*(?:```compressed\-json\n))([\s\S]*?)(```\n)/gm,DRAWING_COMPRESSED_REG_FALLBACK=/(\n# Drawing\n(?:```compressed\-json\n)?)(.*)((```)?(%%)?)/gm,REG_LINKINDEX_HYPERLINK=/^\w+:\/\//,isCompressedMD=e=>null!==e.match(/```compressed\-json\n/gm),getDecompressedScene=e=>{let A,t=e.matchAll(DRAWING_COMPRESSED_REG);return A=t.next(),A.done&&(t=e.matchAll(DRAWING_COMPRESSED_REG_FALLBACK),A=t.next()),A.value&&A.value.length>1?[decompress(A.value[2]),A]:[null,A]},changeThemeOfExcalidrawMD=e=>{const A=isCompressedMD(e);let t=A?getDecompressedScene(e)[0]:e;return t?(isObsidianThemeDark?1===(t.match(/"theme"\s*:\s*"light"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"light"\s*,/,'"theme": "dark",')):1===(t.match(/"theme"\s*:\s*"dark"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"dark"\s*,/,'"theme": "light",')),A?e.replace(DRAWING_COMPRESSED_REG,`$1${compress(t)}$3`):t):e};function getJSON(e){let A,t;if(isCompressedMD(e)){const[A,t]=getDecompressedScene(e);return A?{scene:A.substring(0,A.lastIndexOf("}")+1),pos:t.value.index}:{scene:e,pos:t.value?t.value.index:0}}if(A=e.matchAll(DRAWING_REG),t=A.next(),t.done&&(A=e.matchAll(DRAWING_REG_FALLBACK),t=A.next()),t.value&&t.value.length>1){const e=t.value[2];return{scene:e.substr(0,e.lastIndexOf("}")+1),pos:t.value.index}}return{scene:e,pos:t.value?t.value.index:0}}function getMarkdownDrawingSection(e,A){return A?`%%\n# Drawing\n\`\`\`compressed-json\n${compress(e)}\n\`\`\`\n%%`:`%%\n# Drawing\n\`\`\`json\n${e}\n\`\`\`\n%%`}const estimateMaxLineLen=(e,A)=>{if(!A||!e)return null;if(e===A)return null;let t=0;const n=e.split("\n");if(1===n.length)return null;for(const e of n){const A=e.trim();A.length>t&&(t=A.length)}return t},wrap=(e,A)=>A?wrapTextAtCharLength(e,A,!1,0):e;class ExcalidrawData{constructor(e){this.plugin=e,this.textElements=null,this.elementLinks=null,this.scene=null,this.deletedElements=[],this.file=null,this.autoexportPreference=AutoexportPreference.inherit,this.textMode=TextMode.raw,this.loaded=!1,this.files=null,this.equations=null,this.compatibilityMode=!1,this.selectedElementIds={},this.disableCompression=!1,this.app=e.app,this.files=new Map,this.equations=new Map}initializeNonInitializedFields(){var e,A;if(!this.scene||!this.scene.elements)return;const t=this.scene.elements;for(const n of t){if(n.boundElements){const e=new Map;n.boundElements.forEach((A=>{e.set(A.id,A.type)}));const A=Array.from(e,(([e,A])=>({id:e,type:A})));A.length!==n.boundElements.length&&(n.boundElements=A)}n.boundElementIds&&(n.boundElements||(n.boundElements=[]),n.boundElements=n.boundElements.concat(n.boundElementIds.map((e=>({type:"arrow",id:e})))),delete n.boundElementIds),"text"!==n.type||n.containerId||(n.containerId=null),null===n.x&&(n.x=0),null===n.y&&(n.y=0),null===(null===(e=n.startBinding)||void 0===e?void 0:e.focus)&&(n.startBinding.focus=0),null===(null===(A=n.endBinding)||void 0===A?void 0:A.focus)&&(n.endBinding.focus=0),null===n.fontSize&&(n.fontSize=20)}try{t.filter((e=>"text"===e.type&&e.containerId&&t.some((A=>A.id===e.containerId&&A.boundElements.length>0&&A.boundElements.some((A=>"text"===A.type&&A.id!==e.id&&A.id.length>8)))))).forEach((e=>{try{const A=t.filter((A=>A.id===e.containerId))[0],n=A.boundElements.filter((e=>!("text"===e.type&&!t.some((A=>A.id===e.id)))));A.boundElements=[{id:e.id,type:"text"}].concat(n)}catch(e){}})),t.filter((e=>e.boundElements&&e.boundElements.length>0)).forEach((e=>{const A=e.boundElements.filter((e=>t.some((A=>A.id===e.id))));A.length!==e.boundElements.length&&(e.boundElements=A)})),t.filter((e=>"text"===e.type&&e.containerId&&!t.some((A=>A.id===e.containerId)))).forEach((e=>{e.containerId=null}))}catch(e){}}async loadData(e,A,t){if(!A)return!1;if(this.loaded=!1,this.selectedElementIds={},this.textElements=new Map,this.elementLinks=new Map,this.file!=A&&(this.files.clear(),this.equations.clear()),this.file=A,this.compatibilityMode=!1,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.setAutoexportPreferences(),this.scene=null,this.plugin.settings.syncExcalidraw){const e=`${A.path.substring(0,A.path.lastIndexOf(".md"))}.excalidraw`,t=this.app.vault.getAbstractFileByPath(e);if(t&&t instanceof obsidian_module.TFile&&t.stat.mtime>A.stat.mtime){const e=await this.app.vault.read(t);this.scene=JSON.parse(e)}}let n=null;n=(()=>{const A=getJSON(e);if(-1===A.pos)throw new Error("Excalidraw JSON not found in the file");return this.scene||(this.scene=JSON_parse(A.scene)),A})(),this.deletedElements=this.scene.elements.filter((e=>e.isDeleted)),this.scene.elements=this.scene.elements.filter((e=>!e.isDeleted)),this.scene.files||(this.scene.files={}),hasExportTheme(this.plugin,this.file)?this.scene.appState.theme=getExportTheme(this.plugin,this.file,"light"):this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.initializeNonInitializedFields();let i=(e=e.substring(0,n.pos)).search(/(^%%\n)?# Text Elements\n/m);if(-1===i)return await this.setTextMode(t,!1),this.loaded=!0,!0;i+=e.match(/((^%%\n)?# Text Elements\n)/m)[0].length,e=e.substring(i),i=0;const a=" ^12345678\n\n".length;let r,s=e.matchAll(/\s\^(.{8})[\n]+/g);for(;!(r=s.next()).done;){let A=e.substring(i,r.value.index);const t=r.value[1],n=this.scene.elements.filter((e=>e.id===t))[0];if(n)if("text"!==n.type)n.link!==A&&(n.link=A,n.version++,n.versionNonce++),this.elementLinks.set(t,A);else{const e=estimateMaxLineLen(n.text,n.originalText),i=A.matchAll(/^%%\*\*\*>>>text element-link:(\[\[[^<*\]]*]])<<<\*\*\*%%/gm).next();i.done||(A=A.replace(/^%%\*\*\*>>>text element-link:\[\[[^<*\]]*]]<<<\*\*\*%%/gm,""),n.link=i.value[1]);const a=await this.parse(A);this.textElements.set(t,{raw:A,parsed:a.parsed,wrapAt:e}),a.link&&(n.link=a.link),!n||n.rawText&&""!==n.rawText||(n.rawText=A)}i=r.value.index+a}for(s=(e=e.substring(e.indexOf("# Embedded files\n")+"# Embedded files\n".length)).matchAll(/([\w\d]*):\s*\[\[([^\]]*)]]\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,this.file.path,r.value[2]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*\$\$(.*)(\$\$\s*\n)/gm);!(r=s.next()).done;)this.setEquation(r.value[1],{latex:r.value[2],isLoaded:!1});return this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(t,!0),this.loaded=!0,!0}async loadLegacyData(e,A){return!!A&&(this.loaded=!1,this.selectedElementIds={},this.compatibilityMode=!0,this.file=A,this.textElements=new Map,this.elementLinks=new Map,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.scene=JSON.parse(e),this.scene.files||(this.scene.files={}),this.initializeNonInitializedFields(),this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.files.clear(),this.equations.clear(),this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(TextMode.raw,!0),this.loaded=!0,!0)}async setTextMode(e,A=!1){this.scene&&(this.textMode=e,await this.updateSceneTextElements(A))}updateTextElement(e,A,t,n=!1,i){if(n||A!=e.text){const n=_measureText(A,e.fontSize,e.fontFamily);e.text=A,e.originalText=t,e.containerId&&"arrow"!==i||(e.width=n.w),e.height=n.h,e.baseline=n.baseline}}async updateSceneTextElements(e=!1){var A,t,n,i;const a=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));for(const A of a){const a=getContainerElement(A,this.scene),r=null!==(n=null!==(t=await this.getText(A.id))&&void 0!==t?t:A.originalText)&&void 0!==n?n:A.text,s=null===(i=this.textElements.get(A.id))||void 0===i?void 0:i.wrapAt;this.updateTextElement(A,s?wrapText(r,getFontString({fontSize:A.fontSize,fontFamily:A.fontFamily}),getMaxContainerWidth(a)):r,r,e,null==a?void 0:a.type)}}async getText(e){const A=this.textElements.get(e);return A?this.textMode===TextMode.parsed?(A.parsed||this.textElements.set(e,{raw:A.raw,parsed:(await this.parse(A.raw)).parsed,wrapAt:A.wrapAt}),A.parsed):A.raw:null}findNewElementLinksInScene(){var e;let A=!1;const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.link&&e.link.startsWith("[[")&&!this.elementLinks.has(e.id)));if(0===t.length)return A;let n,i=JSON.stringify(this.scene);for(const e of t)n=e.id,e.id.length>8&&(A=!0,n=nanoid(),i=i.replaceAll(e.id,n)),this.elementLinks.set(n,e.link);return this.scene=JSON.parse(i),A}findNewTextElementsInScene(e={}){var A;this.selectedElementIds=e;const t=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));let n,i=JSON.stringify(this.scene),a=!1;for(const e of t)if(n=e.id,e.id.length>8){if(a=!0,n=nanoid(),this.selectedElementIds[e.id]&&(delete this.selectedElementIds[e.id],this.selectedElementIds[n]=!0),i=i.replaceAll(e.id,n),this.textElements.has(e.id)){const A=this.textElements.get(e.id);this.textElements.set(n,{raw:A.raw,parsed:A.parsed,wrapAt:A.wrapAt}),this.textElements.delete(e.id)}if(!this.textElements.has(n)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(n,{raw:A,parsed:null,wrapAt:t}),this.parseasync(n,A,t)}}else if(!this.textElements.has(e.id)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(n,{raw:A,parsed:null,wrapAt:t}),this.parseasync(n,A,t)}return a&&(this.scene=JSON.parse(i)),a}updateElementLinksFromScene(){var e;for(const A of this.elementLinks.keys()){const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.id===A&&e.link&&e.link.startsWith("[[")));0===t.length?this.elementLinks.delete(A):this.elementLinks.set(A,t[0].link)}}async updateTextElementsFromScene(){var e,A,t;for(const n of this.textElements.keys()){const i=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"===e.type&&e.id===n));if(0===i.length)this.textElements.delete(n);else{const e=await this.getText(n),a=this.scene.prevTextMode===TextMode.parsed?i[0].rawText:null!==(A=i[0].originalText)&&void 0!==A?A:i[0].text;if(e!==(null!==(t=i[0].originalText)&&void 0!==t?t:i[0].text)){const e=estimateMaxLineLen(i[0].text,i[0].originalText);this.textElements.set(n,{raw:a,parsed:(await this.parse(a)).parsed,wrapAt:e})}}}}async parseasync(e,A,t){this.textElements.set(e,{raw:A,parsed:(await this.parse(A)).parsed,wrapAt:t})}parseLinks(e,A,t){return e.substring(A,t.value.index)+(this.showLinkBrackets?"[[":"")+REGEX_LINK.getAliasOrLink(t)+(this.showLinkBrackets?"]]":"")}async getTransclusion(e){const A=getLinkParts(e,this.file),t=this.app.metadataCache.getFirstLinkpathDest(A.path,this.file.path);return await getTransclusion(A,this.app,t,this.plugin.settings.pageTransclusionCharLimit)}async parse(e){e=this.parseCheckbox(e);let A="",t=null,n=0;const i=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=i.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}if(REGEX_LINK.isTransclusion(a)){let t=this.parseCheckbox((await this.getTransclusion(REGEX_LINK.getLink(a))).contents).replaceAll(/%%[^%]*%%/gm,"");this.plugin.settings.removeTransclusionQuoteSigns&&(t=t.replaceAll(/\n\s*>\s?/gm,"\n")),A+=e.substring(n,a.value.index)+wrapTextAtCharLength(t,REGEX_LINK.getWrapLength(a,this.plugin.settings.wordWrappingDefault),this.plugin.settings.forceWrap)}else{const t=this.parseLinks(e,n,a);t&&(A+=t,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0))}n=a.value.index+a.value[0].length}return A+=e.substring(n,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),{parsed:A,link:t}}parseCheckbox(e){return this.plugin.settings.parseTODO?e.replaceAll(/^- \[\s] /g,`${this.plugin.settings.todo} `).replaceAll(/\n- \[\s] /g,`\n${this.plugin.settings.todo} `).replaceAll(/^- \[[^\s]] /g,`${this.plugin.settings.done} `).replaceAll(/\n- \[[^\s]] /g,`\n${this.plugin.settings.done} `):e}quickParse(e){if((e=>{const A=REGEX_LINK.getRes(e);let t;for(;!(t=A.next()).done;)if(REGEX_LINK.isTransclusion(t))return!0;return!1})(e))return[null,null];e=this.parseCheckbox(e);let A="",t=null,n=0;const i=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=i.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}const i=this.parseLinks(e,n,a);i&&(A+=i,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0)),n=a.value.index+a.value[0].length}return A+=e.substring(n,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),[A,t]}generateMD(e=[]){let A="# Text Elements\n";for(const e of this.textElements.keys()){const t=this.scene.elements.filter((A=>A.id===e));let n=this.textElements.get(e).raw;t&&1===t.length&&t[0].link&&t[0].rawText===t[0].originalText&&t[0].link.match(/^\[\[[^\]]*]]$/g)&&(n=`%%***>>>text element-link:${t[0].link}<<<***%%`+n),A+=`${n} ^${e}\n\n`}for(const e of this.elementLinks.keys())A+=`${this.elementLinks.get(e)} ^${e}\n\n`;if(A+=this.equations.size>0||this.files.size>0?"\n# Embedded files\n":"",this.equations.size>0)for(const e of this.equations.keys())A+=`${e}: $$${this.equations.get(e).latex}$$\n`;if(this.files.size>0)for(const e of this.files.keys()){const t=/(^[^#\|]*)/,n=this.files.get(e);A+=`${e}: [[${n.file?n.linkParts.original.replace(t,app.metadataCache.fileToLinktext(n.file,this.file.path)):n.linkParts.original}]]\n`}return A+=this.equations.size>0||this.files.size>0?"\n":"",A+getMarkdownDrawingSection(JSON.stringify({type:this.scene.type,version:this.scene.version,source:this.scene.source,elements:this.scene.elements.concat(e),appState:this.scene.appState,files:this.scene.files},null,"\t"),!this.disableCompression&&this.plugin.settings.compress)}async syncFiles(){var e;let A=!1;const t=this.scene,n=t.elements.filter((e=>"image"===e.type)).map((e=>e.fileId));if(this.files.forEach(((e,t)=>{n.contains(t)||(this.files.delete(t),A=!0)})),this.equations.forEach(((e,t)=>{n.contains(t)||(this.equations.delete(t),A=!0)})),!t.files||0===Object.keys(t.files).length)return!1;const i=new Set;n.forEach((e=>{if(i.has(e)){const n=this.getFile(e),a=this.getEquation(e);if(n&&n.file&&("md"!==n.file.extension||this.plugin.isExcalidrawFile(n.file)))return;const r=fileid();t.elements.filter((A=>A.fileId===e))[0].fileId=r,A=!0,i.add(r),n&&this.setFile(r,new EmbeddedFile(this.plugin,this.file.path,n.linkParts.original)),a&&this.setEquation(r,{latex:a.latex,isLoaded:!1})}i.add(e)}));for(const n of Object.keys(t.files))if(!this.hasFile(n)&&!this.hasEquation(n)){A=!0;let i=`Pasted Image ${window.moment().format("YYYYMMDDHHmmss_SSS")}`;const a=t.files[n].mimeType;switch(a){case"image/png":default:i+=".png";break;case"image/jpeg":i+=".jpg";break;case"image/svg+xml":i+=".svg";break;case"image/gif":i+=".gif"}const r=(await getAttachmentsFolderAndFilePath(this.app,this.file.path,i)).filepath,s=t.files[n].dataURL;await this.app.vault.createBinary(r,getBinaryFileFromDataURL(s));const o=new EmbeddedFile(this.plugin,this.file.path,r);o.setImage(s,a,{height:0,width:0},"dark"===(null===(e=t.appState)||void 0===e?void 0:e.theme),"image/svg+xml"===a),this.setFile(n,o)}return A}async syncElements(e,A){this.scene=e;let t=!1;return this.compatibilityMode||(t=await this.syncFiles(),this.scene.files={}),this.updateElementLinksFromScene(),t=t||this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene(),await this.updateTextElementsFromScene(),t||this.findNewTextElementsInScene(A)}async updateScene(e){this.scene=JSON_parse(e),this.updateElementLinksFromScene();const A=this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene();return await this.updateTextElementsFromScene(),!(!A&&!this.findNewTextElementsInScene()||(await this.updateSceneTextElements(),0))}getRawText(e){var A;return null===(A=this.textElements.get(e))||void 0===A?void 0:A.raw}getParsedText(e){const A=this.textElements.get(e);return A?[wrap(A.parsed,A.wrapAt),A.parsed,null]:[null,null,null]}setTextElement(e,A,t,n){const i=estimateMaxLineLen(A,t),[a,r]=this.quickParse(t);return a?(this.textElements.set(e,{raw:t,parsed:a,wrapAt:i}),[wrap(a,i),a,r]):(this.parse(t).then((A=>{const a=A.parsed;this.textElements.set(e,{raw:t,parsed:a,wrapAt:i}),a&&n(wrap(a,i),a)})),[null,null,null])}async addTextElement(e,A,t){let n=estimateMaxLineLen(A,t);this.textElements.has(e)&&(n=this.textElements.get(e).wrapAt);const i=await this.parse(t);return this.textElements.set(e,{raw:t,parsed:i.parsed,wrapAt:n}),[wrap(i.parsed,n),i.parsed,i.link]}deleteTextElement(e){this.textElements.delete(e)}getOpenMode(){const e=this.app.metadataCache.getFileCache(this.file);let A=this.plugin.settings.defaultMode;switch((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-default-mode"]&&(A=e.frontmatter["excalidraw-default-mode"]),A){case"zen":return{viewModeEnabled:!1,zenModeEnabled:!0};case"view":return{viewModeEnabled:!0,zenModeEnabled:!1};default:return{viewModeEnabled:!1,zenModeEnabled:!1}}}getLinkOpacity(){const e=this.app.metadataCache.getFileCache(this.file);let A=this.plugin.settings.linkOpacity;return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-linkbutton-opacity"]&&(A=e.frontmatter["excalidraw-linkbutton-opacity"]),A}getOnLoadScript(){const e=this.app.metadataCache.getFileCache(this.file);return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-onload-script"]?e.frontmatter["excalidraw-onload-script"]:null}setLinkPrefix(){const e=this.linkPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-prefix"]?this.linkPrefix=A.frontmatter["excalidraw-link-prefix"]:this.linkPrefix=this.plugin.settings.linkPrefix,e!=this.linkPrefix}setUrlPrefix(){const e=this.urlPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-url-prefix"]?this.urlPrefix=A.frontmatter["excalidraw-url-prefix"]:this.urlPrefix=this.plugin.settings.urlPrefix,e!=this.urlPrefix}setAutoexportPreferences(){const e=this.app.metadataCache.getFileCache(this.file);if((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-autoexport"])switch(e.frontmatter["excalidraw-autoexport"].toLowerCase()){case"none":this.autoexportPreference=AutoexportPreference.none;break;case"both":this.autoexportPreference=AutoexportPreference.both;break;case"png":this.autoexportPreference=AutoexportPreference.png;break;case"svg":this.autoexportPreference=AutoexportPreference.svg;break;default:this.autoexportPreference=AutoexportPreference.inherit}else this.autoexportPreference=AutoexportPreference.inherit}setShowLinkBrackets(){const e=this.showLinkBrackets,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-brackets"]?this.showLinkBrackets=0!=A.frontmatter["excalidraw-link-brackets"]:this.showLinkBrackets=this.plugin.settings.showLinkBrackets,e!=this.showLinkBrackets}setFile(e,A){if(!A)return;if(this.files.set(e,A),!A.file)return;const t=A.linkParts.original.split("#");this.plugin.filesMaster.set(e,{path:A.file.path+(A.shouldScale()?"":"|100%"),blockrefData:1===t.length?null:t[1],hasSVGwithBitmap:A.isSVGwithBitmap})}getFiles(){return Object.values(this.files)}getFile(e){let A=this.files.get(e);if(A)return A;const t=this.plugin.filesMaster.get(e);return t?(A=new EmbeddedFile(this.plugin,this.file.path,t.blockrefData?t.path+"#"+t.blockrefData:t.path),this.files.set(e,A),A):A}getFileEntries(){return this.files.entries()}deleteFile(e){this.files.delete(e)}hasFile(e){if(this.files.has(e))return!0;if(this.plugin.filesMaster.has(e)){const A=this.plugin.filesMaster.get(e),t=A.path.split("|")[0].split("#")[0];if(!this.app.vault.getAbstractFileByPath(t))return this.plugin.filesMaster.delete(e),!0;const n=A.path.endsWith("100%"),i=new EmbeddedFile(this.plugin,this.file.path,(A.blockrefData?t+"#"+A.blockrefData:t)+(n?"|100%":""));return this.files.set(e,i),!0}return!1}setEquation(e,A){this.equations.set(e,{latex:A.latex,isLoaded:A.isLoaded}),this.plugin.equationsMaster.set(e,A.latex)}getEquation(e){let A=this.equations.get(e);if(A)return A;const t=this.plugin.equationsMaster.get(e);return t?(this.equations.set(e,{latex:t,isLoaded:!1}),{latex:t,isLoaded:!1}):A}getEquationEntries(){return this.equations.entries()}deleteEquation(e){this.equations.delete(e)}hasEquation(e){return!!this.equations.has(e)||!!this.plugin.equationsMaster.has(e)&&(this.equations.set(e,{latex:this.plugin.equationsMaster.get(e),isLoaded:!1}),!0)}}const getTransclusion=async(e,A,t,n)=>{var i,a,r,s,o,l,c,d,h;if(!e.path)return{contents:e.original.trim(),lineNum:0};if(!(t&&t instanceof obsidian_module.TFile))return{contents:e.original.trim(),lineNum:0};const u=await A.vault.read(t);if(!e.ref)return n?{contents:u.substring(0,n).trim(),lineNum:0}:{contents:u.trim(),lineNum:0};const g=(await A.metadataCache.blockCache.getForFile({isCancelled:()=>!1},t)).blocks.filter((e=>"comment"!=e.node.type));if(!g)return{contents:e.original.trim(),lineNum:0};if(e.isBlockRef){let A=null===(i=g.filter((A=>A.node.id==e.ref))[0])||void 0===i?void 0:i.node;if(!A)return{contents:e.original.trim(),lineNum:0};["blockquote"].includes(A.type)&&(A=A.children[0]);const t=A.position.start.offset,n=A.position.start.line,a=A.position.end.offset;return{contents:u.substring(t,a).replaceAll(/ \^\S*$|^\^\S*$/gm,"").trim(),lineNum:n}}const p=g.filter((e=>0===e.display.search(/^#+\s/)));let w=null,m=0,f=null,B=1;for(let A=0;AB;)e++;return e===p.length&&p[e-1].node.depth>B?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(w).trim(),lineNum:m}:(f=p[e].node.position.start.offset-1,{leadingHashes:"#".repeat(B)+" ",contents:u.substring(w,f).trim(),lineNum:m})}const t=p[A].node.children[0],n=null===(r=null===(a=p[A].node.data)||void 0===a?void 0:a.hProperties)||void 0===r?void 0:r.dataHeading,i=null==t?void 0:t.children;!w&&((null===(s=null==t?void 0:t.value)||void 0===s?void 0:s.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null===(o=null==t?void 0:t.title)||void 0===o?void 0:o.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null==n?void 0:n.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||i&&(null===(c=null===(l=i[0])||void 0===l?void 0:l.value)||void 0===c?void 0:c.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref)&&(w=null===(d=p[A].node.children[0])||void 0===d?void 0:d.position.start.offset,B=p[A].node.depth,m=null===(h=p[A].node.children[0])||void 0===h?void 0:h.position.start.line)}return w?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(w).trim(),lineNum:m}:{contents:e.original.trim(),lineNum:0}};class Prompt extends obsidian_module.Modal{constructor(e,A,t,n,i){super(e),this.prompt_text=A,this.default_value=t,this.placeholder=n,this.prompt_desc=i}onOpen(){this.titleEl.setText(this.prompt_text),this.createForm()}onClose(){this.contentEl.empty()}createForm(){var e;let A=this.contentEl.createDiv();A.addClass("excalidraw-prompt-div"),this.prompt_desc&&(A=A.createDiv(),A.style.width="100%",A.createEl("p").innerHTML=this.prompt_desc);const t=A.createEl("form");t.addClass("excalidraw-prompt-form"),t.type="submit",t.onsubmit=e=>{e.preventDefault(),this.resolve(this.promptEl.value),this.close()},this.promptEl=t.createEl("input"),this.promptEl.type="text",this.promptEl.placeholder=this.placeholder,this.promptEl.value=null!==(e=this.default_value)&&void 0!==e?e:"",this.promptEl.addClass("excalidraw-prompt-input"),this.promptEl.select()}async openAndGetValue(e){this.resolve=e,this.open()}}class GenericInputPrompt extends obsidian_module.Modal{constructor(e,A,t,n,i){super(e),this.header=A,this.didSubmit=!1,this.submitClickCallback=()=>this.submit(),this.cancelClickCallback=()=>this.cancel(),this.submitEnterCallback=e=>{"Enter"===e.key&&(e.preventDefault(),this.submit())},this.placeholder=t,this.input=n,this.buttons=i,this.waitForClose=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.display(),this.open()}static Prompt(e,A,t,n,i){return new GenericInputPrompt(e,A,t,n,i).waitForClose}display(){this.contentEl.empty(),this.titleEl.textContent=this.header;const e=this.contentEl.createDiv();this.inputComponent=this.createInputField(e,this.placeholder,this.input),this.createButtonBar(e)}createInputField(e,A,t){const n=new obsidian_module.TextComponent(e);return n.inputEl.style.width="100%",n.setPlaceholder(null!=A?A:"").setValue(null!=t?t:"").onChange((e=>this.input=e)).inputEl.addEventListener("keydown",this.submitEnterCallback),n}createButton(e,A,t){const n=new obsidian_module.ButtonComponent(e);return n.setButtonText(A).onClick(t),n}createButtonBar(e){const A=e.createDiv();if(this.buttons&&this.buttons.length>0){let e=null;for(const t of this.buttons){const n=new obsidian_module.ButtonComponent(A);n.setButtonText(t.caption).onClick((e=>{const A=t.action(this.input);A&&(this.input=A),this.submit()})),e=null!=e?e:n}e&&(e.setCta().buttonEl.style.marginRight="0")}else this.createButton(A,"Ok",this.submitClickCallback).setCta().buttonEl.style.marginRight="0";this.createButton(A,"Cancel",this.cancelClickCallback),A.style.display="flex",A.style.flexDirection="row-reverse",A.style.justifyContent="flex-start",A.style.marginTop="1rem"}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}resolveInput(){this.didSubmit?this.resolvePromise(this.input):this.rejectPromise("No input given.")}removeInputListener(){var e,A;null===(A=null===(e=this.inputComponent)||void 0===e?void 0:e.inputEl)||void 0===A||A.removeEventListener("keydown",this.submitEnterCallback)}onOpen(){super.onOpen(),this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.select()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListener()}}class GenericSuggester extends obsidian_module.FuzzySuggestModal{constructor(e,A,t,n,i){var a;super(e),this.displayItems=A,this.items=t,this.hint=n,this.instructions=i,this.limit=20,this.setPlaceholder(null!==(a=this.hint)&&void 0!==a?a:""),i&&this.setInstructions(this.instructions),this.promise=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.open()}static Suggest(e,A,t,n,i){return new GenericSuggester(e,A,t,n,i).promise}getItemText(e){return this.displayItems[this.items.indexOf(e)]}getItems(){return this.items}selectSuggestion(e,A){this.resolved=!0,super.selectSuggestion(e,A)}onChooseItem(e){this.resolved=!0,this.resolvePromise(e)}onClose(){super.onClose(),this.resolved||this.rejectPromise(this.inputEl.value)}}class NewFileActions extends obsidian_module.Modal{constructor(e,A,t,n,i){super(e.app),this.plugin=e,this.path=A,this.newPane=t,this.newWindow=n,this.view=i}onOpen(){this.createForm()}async onClose(){}openFile(e){e&&(this.newWindow?app.workspace.openPopoutLeaf():this.newPane?getNewOrAdjacentLeaf(this.plugin,this.view.leaf):this.view.leaf).openFile(e,{active:!0})}createForm(){this.titleEl.setText("New File"),this.contentEl.createDiv({cls:"excalidraw-prompt-center",text:"File does not exist. Do you want to create it?"}),this.contentEl.createDiv({cls:"excalidraw-prompt-center filepath",text:this.path}),this.contentEl.createDiv({cls:"excalidraw-prompt-center"},(e=>{e.style.textAlign="right";const A=()=>this.path&&""!==this.path?!!this.view.file||(new obsidian_module.Notice("Unknown error. It seems as if your drawing was closed or the drawing file is missing"),!1):(new obsidian_module.Notice("Error: Filename for new file may not be empty"),!1),t=async e=>{if(!this.path.includes("/")){const e=new RegExp(`${this.view.file.name}$`,"g");this.path=this.view.file.path.replace(e,this.path)}return this.path.match(/\.md$/)||(this.path=`${this.path}.md`),checkAndCreateFolder(splitFolderAndFilename(this.path).folderpath),await this.app.vault.create(this.path,e)};e.createEl("button",{text:"Create Markdown"}).onclick=async()=>{if(!A)return;const e=await t("");this.openFile(e),this.close()},e.createEl("button",{text:"Create Excalidraw"}).onclick=async()=>{if(!A)return;const e=await t(await this.plugin.getBlankDrawing());await sleep$1(200),this.openFile(e),this.close()},e.createEl("button",{text:"Never Mind"}).onclick=()=>{this.close()}}))}}class ScriptEngine{constructor(e){this.plugin=e,this.scriptIconMap={},this.loadScripts(),this.registerEventHandlers()}registerEventHandlers(){const e=e=>{if(!e.endsWith(".svg"))return;const A=app.vault.getAbstractFileByPath(getIMGFilename(e,"md"));A&&A instanceof obsidian_module.TFile&&(this.unloadScript(this.getScriptName(A),A.path),this.loadScript(A))};this.plugin.registerEvent(app.vault.on("delete",(async A=>{A instanceof obsidian_module.TFile&&A.path.startsWith(this.scriptPath)&&(this.unloadScript(this.getScriptName(A),A.path),e(A.path))}))),this.plugin.registerEvent(app.vault.on("create",(async A=>{A instanceof obsidian_module.TFile&&A.path.startsWith(this.scriptPath)&&(this.loadScript(A),e(A.path))}))),this.plugin.registerEvent(app.vault.on("rename",(async(A,t)=>{if(!(A instanceof obsidian_module.TFile))return;const n=t.startsWith(this.scriptPath),i=A.path.startsWith(this.scriptPath);n&&(this.unloadScript(this.getScriptName(t),t),e(t)),i&&(this.loadScript(A),e(A.path))})))}updateScriptPath(){this.scriptPath!==this.plugin.settings.scriptFolderPath&&(this.scriptPath&&this.unloadScripts(),this.loadScripts())}getListofScripts(){if(this.scriptPath=this.plugin.settings.scriptFolderPath,app.vault.getAbstractFileByPath(this.scriptPath))return app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)&&"md"===e.extension));this.scriptPath=null}loadScripts(){var e;null===(e=this.getListofScripts())||void 0===e||e.forEach((e=>this.loadScript(e)))}getScriptName(e){let A="",t="";e instanceof obsidian_module.TFile?(A=e.basename,t=e.path):(A=splitFolderAndFilename(e).basename,t=e);const n=t.split(`${this.scriptPath}/`)[1],i=n.lastIndexOf("/");return i>-1?n.substring(0,i+1)+A:A}async addScriptIconToMap(e,A){const t=getIMGFilename(e,"svg"),n=app.vault.getAbstractFileByPath(t),i=n&&n instanceof obsidian_module.TFile?await app.vault.read(n):null;this.scriptIconMap=Object.assign({},this.scriptIconMap),this.scriptIconMap[e]={name:A,svgString:i},this.updateToolPannels()}loadScript(e){if("md"!==e.extension)return;const A=this.getScriptName(e);this.addScriptIconToMap(e.path,A),this.plugin.addCommand({id:A,name:`(Script) ${A}`,checkCallback:t=>{if(t)return Boolean(app.workspace.getActiveViewOfType(ExcalidrawView));const n=app.workspace.getActiveViewOfType(ExcalidrawView);return!!n&&((async()=>{const t=await app.vault.read(e);t&&this.executeScript(n,t,A)})(),!0)}})}unloadScripts(){const e=app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)));e.forEach((e=>{this.unloadScript(this.getScriptName(e),e.path)}))}unloadScript(e,A){if(!A.endsWith(".md"))return;delete this.scriptIconMap[A],this.scriptIconMap=Object.assign({},this.scriptIconMap),this.updateToolPannels();const t=`${PLUGIN_ID}:${e}`;app.commands.commands[t]&&delete app.commands.commands[t]}async executeScript(e,A,t){if(!e||!A||!t)return;this.plugin.ea.reset(),this.plugin.ea.setView(e),this.plugin.ea.activeScript=t;const n=Object.getPrototypeOf((async()=>{})).constructor;let i=null;return i=await new n("ea","utils",A)(this.plugin.ea,{inputPrompt:(e,A,t,n)=>ScriptEngine.inputPrompt(app,e,A,t,n),suggester:(e,A,t,n)=>ScriptEngine.suggester(app,e,A,t,n)}),this.plugin.ea.activeScript=null,i}updateToolPannels(){app.workspace.getLeavesOfType("excalidraw").forEach((e=>{var A,t;null===(t=null===(A=e.view.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.updateScriptIconMap(this.scriptIconMap)}))}static async inputPrompt(e,A,t,n,i){try{return await GenericInputPrompt.Prompt(e,A,t,n,i)}catch(e){return}}static async suggester(e,A,t,n,i){try{return await GenericSuggester.Suggest(e,A,t,n,i)}catch(e){return}}}var t$c={d:(e,A)=>{for(var t in A)t$c.o(A,t)&&!t$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$d={};t$c.d(r$d,{QA:()=>w$1,ZP:()=>j$1,qt:()=>x$1,MX:()=>$});const e$d={red:"hsl(0, 100%, 50%)",orange:"hsl(30, 100%, 50%)",yellow:"hsl(60, 100%, 50%)","lime green":"hsl(90, 100%, 50%)",green:"hsl(120, 100%, 50%)","blue green":"hsl(150, 100%, 50%)",cyan:"hsl(180, 100%, 50%)","sky blue":"hsl(210, 100%, 50%)",blue:"hsl(240, 100%, 50%)",purple:"hsl(270, 100%, 50%)",magenta:"hsl(300, 100%, 50%)",pink:"hsl(330, 100%, 50%)"};function s$a(e,A,t){return Math.max(e,Math.min(A,t))}function n$c(e,A){return+e.toFixed(A>=0?A:0)}function a$c(e){const A=e%360;return A<0?A+360:A}function i$a(e){return void 0!==e?s$a(0,e,1):1}function o$b(e){return Math.floor(Math.random()*e)}function h$4(e){var A;const{Cmin:t,Cmax:n,H:i,delta:a}=function(e){const[A,t,n]=Object.values(e).map((e=>e/255)),i=Math.max(A,t,n),a=Math.min(A,t,n),r=i-a;return{Cmin:a,Cmax:i,H:0===r?0:i===A?(t-n)/r%6:i===t?(n-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(n+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$c(60*i),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function u$8(e){const{h:A,s:t,l:n,a:i}=e,a=n/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=i?i:1}}function l$5(e){const[A,t,n,i]=Object.values(e).map((e=>parseInt(e,16)));return{r:A,g:t,b:n,a:i?i/255:1}}const c$a=/^#?([\da-f])([\da-f])([\da-f])([\da-f])?$|^#?([\da-f]{2})([\da-f]{2})([\da-f]{2})?([\da-f]{2})?$/gi,f$3=/hsla?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function d$2({h:e,s:A,l:t,a:n}){return[u$8({h:a$c(e),s:s$a(0,A,100),l:s$a(0,t,100),a:i$a(n)}),"hsl"]}const g$2=/rgba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b$5({r:e,g:A,b:t,a:n}){return[{r:s$a(0,e,255),g:s$a(0,A,255),b:s$a(0,t,255),a:i$a(n)},"rgb"]}var p$3,v$2,m$1=function(e,A,t,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof A?e!==A||!i:!A.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,t):i?i.value=t:A.set(e,t),t},y$1=function(e,A,t,n){if("a"===t&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof A?e!==A||!n:!A.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?n:"a"===t?n.call(e):n?n.value:A.get(e)};class w$1{constructor(e){var A,t;p$3.set(this,{r:0,g:0,b:0,a:1}),v$2.set(this,"rgb");const n=w$1.Parsers.map((A=>A(e))).find((e=>"invalid"!==e[1]));n?(A=this,t=this,[{set value(e){m$1(A,p$3,e,"f")}}.value,{set value(e){m$1(t,v$2,e,"f")}}.value]=n):m$1(this,v$2,"invalid","f")}get red(){return y$1(this,p$3,"f").r}get blue(){return y$1(this,p$3,"f").b}get green(){return y$1(this,p$3,"f").g}get alpha(){return y$1(this,p$3,"f").a}get hue(){return h$4(y$1(this,p$3,"f")).h}get saturation(){return h$4(y$1(this,p$3,"f")).s}get lightness(){return h$4(y$1(this,p$3,"f")).l}get format(){return y$1(this,v$2,"f")}isValid(){return"invalid"!==y$1(this,v$2,"f")}rgba(){return y$1(this,p$3,"f")}hsla(){return h$4(y$1(this,p$3,"f"))}hexa({round:e=!1}={}){return function(e,A=!1){let{r:t,g:n,b:i,a:a}=e;a&&(a*=255),A&&([t,n,i,a]=[t,n,i,a].map((e=>e&&Math.round(e))));const[r,s,o,l]=[t,n,i,null!=a?a:255].map((e=>e.toString(16).padStart(2,"0").toUpperCase()));return{r:r,g:s,b:o,a:l}}(y$1(this,p$3,"f"),e)}stringRGB({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(y$1(this,p$3,"f")).map(((e,t)=>n$c(e,A[t])));return e?`rgba(${t}, ${n}, ${i}, ${a})`:`rgb(${t}, ${n}, ${i})`}stringHEX({alpha:e=!0}={}){const[A,t,n,i]=Object.values(this.hexa({round:!0}));return`#${A}${t}${n}${e?i:""}`}stringHSL({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.hsla()).map(((e,t)=>n$c(e,A[t])));return e?`hsla(${t}, ${n}%, ${i}%, ${a})`:`hsl(${t}, ${n}%, ${i}%)`}hueTo(e){var A;const{h:t,s:n,l:i,a:a}=this.hsla(),r="number"==typeof e?a$c(e):Number(null!==(A=e$d[e].match(/\d{1,3}/))&&void 0!==A?A:t);return m$1(this,p$3,u$8({h:r,s:n,l:i,a:a}),"f"),this}hueBy(e){const{h:A,s:t,l:n,a:i}=this.hsla();return m$1(this,p$3,u$8({h:a$c(A+e),s:t,l:n,a:i}),"f"),this}saturationTo(e){const{h:A,l:t,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,e,100),l:t,a:n}),"f"),this}saturateBy(e){const{h:A,s:t,l:n,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,t+e,100),l:n,a:i}),"f"),this}desaturateBy(e){return this.saturateBy(-1*e)}lightnessTo(e){const{h:A,s:t,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,e,100),a:n}),"f"),this}lighterBy(e){const{h:A,s:t,l:n,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,n+e,100),a:i}),"f"),this}darkerBy(e){return this.lighterBy(-1*e)}alphaTo(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,e,1)}),"f"),this}alphaBy(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,y$1(this,p$3,"f").a+e,1)}),"f"),this}invert({alpha:e=!1}={}){const{r:A,g:t,b:n,a:i}=y$1(this,p$3,"f");return m$1(this,p$3,{r:255-A,g:255-t,b:255-n,a:e?1-i:i},"f"),this}grayscale(){return this.desaturateBy(100)}rotate(e){return this.hueBy(e)}}function $(){return new w$1({r:o$b(255),g:o$b(255),b:o$b(255),a:Math.random()})}function x$1(e){(e=e.filter(((e,A,t)=>t.indexOf(e)===A))).forEach((e=>e(w$1)))}p$3=new WeakMap,v$2=new WeakMap,w$1.Parsers=[function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n&&"number"==typeof A}(e))return b$5(e);if("string"==typeof e){g$2.lastIndex=0;const A=g$2.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return b$5({r:e,g:t,b:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n&&"string"==typeof A}(e))return[l$5(e),"hex"];if("string"==typeof e){c$a.lastIndex=0;const A=c$a.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map((e=>1===e.length?e.repeat(2):e));return[l$5({r:e,g:t,b:n,a:null!=i?i:"FF"}),"hex"]}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,l:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return d$2(e);if("string"==typeof e){f$3.lastIndex=0;const A=f$3.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return d$2({h:e,s:t,l:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}];const j$1=e=>new w$1(e);r$d.QA;var O$1=r$d.ZP,B=r$d.qt;r$d.MX;var e$c={d:(e,A)=>{for(var t in A)e$c.o(A,t)&&!e$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$b={};function t$b(e){const A=e%360;return A<0?A+360:A}e$c.d(a$b,{Z:()=>n$b});const n$b=e=>{e.prototype.harmony=function({type:A="analogous",effect:t="tones",amount:n=5}={}){const{h:i,s:a,l:r,a:s}=this.hsla();switch("monochromatic"===A&&(o=n,n=Math.max(2,Math.min(o,10))),A){case"analogous":return[-30,0,30].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"complementary":return[0,180].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"split-complementary":return[0,150,210].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"double-split-complementary":return[-30,0,30,150,210].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"triad":return[0,120,240].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"rectangle":return[0,60,180,240].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"square":return[0,90,180,270].map((A=>new e({h:t$b(i+A),s:a,l:r,a:s})));case"monochromatic":{const A="tones"===t?a:r;let o=("tints"===t?100-A:A)/n;o="tints"===t?o:-1*o;const l=[A];for(let e=0;enew e({h:i,s:A,l:r,a:s}))):l.map((A=>new e({h:i,s:a,l:A,a:s})))}}var o}};var r$c=a$b.Z,a$a={d:(e,A)=>{for(var t in A)a$a.o(A,t)&&!a$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},t$a={};a$a.d(t$a,{Z:()=>k});const e$b=6/29,n$a=Math.pow(e$b,3),c$9=Math.pow(29/3,3),r$b={x:.96422,y:1,z:.82521};function u$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$9(e,A,t){return Math.max(e,Math.min(A,t))}function o$a(e){const A=e%360;return A<0?A+360:A}function l$4(e){const[A,t,n]=Object.values(e).map((e=>e/255)),i=Math.max(A,t,n),a=Math.min(A,t,n),r=i-a;return{Cmin:a,Cmax:i,H:0===r?0:i===A?(t-n)/r%6:i===t?(n-A)/r+2:(A-t)/r+4,delta:r}}function b$4(e){var A;const{Cmin:t,Cmax:n,H:i,delta:a}=l$4(e),r=(n+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:o$a(60*i),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function h$3(e){var A;const{Cmax:t,H:n,delta:i}=l$4(e),a=0===i?0:i/t;return{h:o$a(60*n),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}function v$1(e){const{h:A,a:t}=b$4(e),{r:n,g:i,b:a}=e;return{h:A,w:Math.min(n,i,a)/2.55,b:100*(1-Math.max(n,i,a)/255),a:t}}function i$9(e){const[A,t,n]=u$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=u$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}function m(e){const A=Object.values(i$9(e)).map(((e,A)=>e/(100*Object.values(r$b)[A]))).map((e=>e>n$a?Math.cbrt(e):(c$9*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function p$2(e){const{l:A,a:t,b:n}=m(e),i=180*Math.atan2(n,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(n,2)),h:o$a(i),a:e.a}}function f$2(e){const[A,t,n]=Object.values(i$9(e)).map((e=>e/100)),i=t/r$b.y,a=A&&t&&n?A+15*t+3*n:19,r=4*A/a,s=9*t/a,o=r$b.x+15*r$b.y+3*r$b.z,l=4*r$b.x/o,c=9*r$b.y/o;let d=i>n$a?116*Math.cbrt(i)-16:c$9*i,h=13*d*(r-l),u=13*d*(s-c);return d===Number(-0)&&(d=0),h===Number(-0)&&(h=0),u===Number(-0)&&(u=0),{l:d,u:h,v:u,a:e.a}}function M(e){const{x:A,y:t,z:n}=i$9(e),[i,a,r]=u$7([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,n]);return{u:i,v:a,w:r,a:e.a}}function w(e){let{r:A,g:t,b:n}=e;const i=Math.min(A,t,n);[A,t,n]=[A,t,n].map((e=>e-i));const a=Math.max(A,t,n);let r=Math.min(A,t);A-=r,t-=r,n&&t&&(n/=2,t/=2),r+=t,n+=t;const s=Math.max(A,r,n);if(s){const e=a/s;[A,r,n]=[A,r,n].map((A=>A*e))}return[A,r,n]=[A,r,n].map((e=>e+i)),{r:A,y:r,b:n,a:e.a}}function O(e){const{r:A,g:t,b:n,a:i}=e,a=1-Math.max(A,t,n)/255,[r,s,o]=1===a?[0,0,0]:[A,t,n].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:i}}function j(e){const{h:A,s:t,v:n,a:i}=e,a=n/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=i?i:1}}function x(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=u$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=u$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return s$9(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}function y(e){const{l:A,a:t,b:n}=e,i=(A+16)/116,a=i+t/500,r=i-n/200,s=Object.values(r$b),[o,l,c]=[a,i,r].map(((e,A)=>(e>e$b?Math.pow(e,3):3*Math.pow(e$b,2)*(e-4/29))*s[A]*100));return x({x:o,y:l,z:c,a:e.alpha})}const k=e=>{e.prototype.mix=function({color:A="#fff",ratio:t=.5,colorspace:n="luv"}={}){const i=this.rgba(),a=(A instanceof e?A:new e(A)).rgba();let r,s;switch(t=s$9(0,t,1),n){case"hsl":r=Object.values(b$4(i)),s=Object.values(b$4(a));break;case"hsv":r=Object.values(h$3(i)),s=Object.values(h$3(a));break;case"hwb":r=Object.values(v$1(i)),s=Object.values(v$1(a));break;case"lab":r=Object.values(m(i)),s=Object.values(m(a));break;case"lch":r=Object.values(p$2(i)),s=Object.values(p$2(a));break;case"luv":r=Object.values(f$2(i)),s=Object.values(f$2(a));break;case"ryb":r=Object.values(w(i)),s=Object.values(w(a));break;case"uvw":r=Object.values(M(i)),s=Object.values(M(a));break;case"xyz":r=Object.values(i$9(i)),s=Object.values(i$9(a));break;case"cmyk":r=Object.values(O(i)),s=Object.values(O(a));break;default:r=Object.values(i),s=Object.values(a)}const[o,l,c,d,h]=r.map(((e,A)=>r[A]*(1-t)+s[A]*t));switch(n){case"hsl":return new e(function(e){const{h:A,s:t,l:n,a:i}=e,a=n/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=i?i:1}}({h:o,s:l,l:c,a:d}));case"hsv":return new e(j({h:o,s:l,v:c,a:d}));case"hwb":return new e(function(e){const{h:A,b:t,w:n,a:i}=e;return j({h:A,s:100===t?0:100-n/(100-t)*100,v:100-t,a:i})}({h:o,w:l,b:c,a:d}));case"lab":return new e(y({l:o,a:l,b:c,alpha:d}));case"lch":return new e(function(e){const{l:A,c:t,h:n}=e;return y({l:A,a:t*Math.cos(n*Math.PI/180),b:t*Math.sin(n*Math.PI/180),alpha:e.a})}({l:o,c:l,h:c,a:d}));case"luv":return new e(function(e){const{l:A,u:t,v:n}=e,i=A>c$9*n$a?Math.pow((A+16)/116,3):A/c$9,a=r$b.x+15*r$b.y+3*r$b.z,r=(52*A/(t&&A?t+13*A*(4*r$b.x/a):1)-1)/3,s=-5*i,o=i*(39*A/(n&&A?n+13*A*(9*r$b.y/a):1)-5),l=r===-1/3?o-s:(o-s)/(r- -1/3);return x({x:100*l,y:100*i,z:100*(r*l+s),a:e.a})}({l:o,u:l,v:c,a:d}));case"ryb":return new e(function(e){let{r:A,y:t,b:n}=e;const i=Math.min(A,t,n);[A,t,n]=[A,t,n].map((e=>e-i));const a=Math.max(A,t,n);let r=Math.min(t,n);t-=r,n-=r,n&&r&&(n*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,n);if(s){const e=a/s;[A,r,n]=[A,r,n].map((A=>A*e))}return[A,r,n]=[A,r,n].map((e=>e+i)),{r:A,g:r,b:n,a:e.a}}({r:o,y:l,b:c,a:d}));case"uvw":return new e(function(e){const{u:A,v:t,w:n}=e,[i,a,r]=u$7([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,n]);return x({x:i,y:a,z:r,a:e.a})}({u:o,v:l,w:c,a:d}));case"xyz":return new e(x({x:o,y:l,z:c,a:d}));case"cmyk":return new e(function(e){const{c:A,m:t,y:n,k:i,a:a}=e,[r,s,o]=[A,t,n].map((e=>255*(1-e/100)*(1-i/100)));return{r:r,g:s,b:o,a:a}}({c:o,m:l,y:c,k:d,a:h}));default:return new e({r:o,g:l,b:c,a:d})}}};var z=t$a.Z,r$a={d:(e,A)=>{for(var t in A)r$a.o(A,t)&&!r$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},b$3={};r$a.d(b$3,{Z:()=>n$9});const g$1=["rgb(0,0,0)","rgb(0,0,51)","rgb(0,0,102)","rgb(0,0,153)","rgb(0,0,204)","rgb(0,0,255)","rgb(0,51,0)","rgb(0,51,51)","rgb(0,51,102)","rgb(0,51,153)","rgb(0,51,204)","rgb(0,51,255)","rgb(0,102,0)","rgb(0,102,51)","rgb(0,102,102)","rgb(0,102,153)","rgb(0,102,204)","rgb(0,102,255)","rgb(0,153,0)","rgb(0,153,51)","rgb(0,153,102)","rgb(0,153,153)","rgb(0,153,204)","rgb(0,153,255)","rgb(0,204,0)","rgb(0,204,51)","rgb(0,204,102)","rgb(0,204,153)","rgb(0,204,204)","rgb(0,204,255)","rgb(0,255,0)","rgb(0,255,51)","rgb(0,255,102)","rgb(0,255,153)","rgb(0,255,204)","rgb(0,255,255)","rgb(51,0,0)","rgb(51,0,51)","rgb(51,0,102)","rgb(51,0,153)","rgb(51,0,204)","rgb(51,0,255)","rgb(51,51,0)","rgb(51,51,51)","rgb(51,51,102)","rgb(51,51,153)","rgb(51,51,204)","rgb(51,51,255)","rgb(51,102,0)","rgb(51,102,51)","rgb(51,102,102)","rgb(51,102,153)","rgb(51,102,204)","rgb(51,102,255)","rgb(51,153,0)","rgb(51,153,51)","rgb(51,153,102)","rgb(51,153,153)","rgb(51,153,204)","rgb(51,153,255)","rgb(51,204,0)","rgb(51,204,51)","rgb(51,204,102)","rgb(51,204,153)","rgb(51,204,204)","rgb(51,204,255)","rgb(51,255,0)","rgb(51,255,51)","rgb(51,255,102)","rgb(51,255,153)","rgb(51,255,204)","rgb(51,255,255)","rgb(102,0,0)","rgb(102,0,51)","rgb(102,0,102)","rgb(102,0,153)","rgb(102,0,204)","rgb(102,0,255)","rgb(102,51,0)","rgb(102,51,51)","rgb(102,51,102)","rgb(102,51,153)","rgb(102,51,204)","rgb(102,51,255)","rgb(102,102,0)","rgb(102,102,51)","rgb(102,102,102)","rgb(102,102,153)","rgb(102,102,204)","rgb(102,102,255)","rgb(102,153,0)","rgb(102,153,51)","rgb(102,153,102)","rgb(102,153,153)","rgb(102,153,204)","rgb(102,153,255)","rgb(102,204,0)","rgb(102,204,51)","rgb(102,204,102)","rgb(102,204,153)","rgb(102,204,204)","rgb(102,204,255)","rgb(102,255,0)","rgb(102,255,51)","rgb(102,255,102)","rgb(102,255,153)","rgb(102,255,204)","rgb(102,255,255)","rgb(153,0,0)","rgb(153,0,51)","rgb(153,0,102)","rgb(153,0,153)","rgb(153,0,204)","rgb(153,0,255)","rgb(153,51,0)","rgb(153,51,51)","rgb(153,51,102)","rgb(153,51,153)","rgb(153,51,204)","rgb(153,51,255)","rgb(153,102,0)","rgb(153,102,51)","rgb(153,102,102)","rgb(153,102,153)","rgb(153,102,204)","rgb(153,102,255)","rgb(153,153,0)","rgb(153,153,51)","rgb(153,153,102)","rgb(153,153,153)","rgb(153,153,204)","rgb(153,153,255)","rgb(153,204,0)","rgb(153,204,51)","rgb(153,204,102)","rgb(153,204,153)","rgb(153,204,204)","rgb(153,204,255)","rgb(153,255,0)","rgb(153,255,51)","rgb(153,255,102)","rgb(153,255,153)","rgb(153,255,204)","rgb(153,255,255)","rgb(204,0,0)","rgb(204,0,51)","rgb(204,0,102)","rgb(204,0,153)","rgb(204,0,204)","rgb(204,0,255)","rgb(204,51,0)","rgb(204,51,51)","rgb(204,51,102)","rgb(204,51,153)","rgb(204,51,204)","rgb(204,51,255)","rgb(204,102,0)","rgb(204,102,51)","rgb(204,102,102)","rgb(204,102,153)","rgb(204,102,204)","rgb(204,102,255)","rgb(204,153,0)","rgb(204,153,51)","rgb(204,153,102)","rgb(204,153,153)","rgb(204,153,204)","rgb(204,153,255)","rgb(204,204,0)","rgb(204,204,51)","rgb(204,204,102)","rgb(204,204,153)","rgb(204,204,204)","rgb(204,204,255)","rgb(204,255,0)","rgb(204,255,51)","rgb(204,255,102)","rgb(204,255,153)","rgb(204,255,204)","rgb(204,255,255)","rgb(255,0,0)","rgb(255,0,51)","rgb(255,0,102)","rgb(255,0,153)","rgb(255,0,204)","rgb(255,0,255)","rgb(255,51,0)","rgb(255,51,51)","rgb(255,51,102)","rgb(255,51,153)","rgb(255,51,204)","rgb(255,51,255)","rgb(255,102,0)","rgb(255,102,51)","rgb(255,102,102)","rgb(255,102,153)","rgb(255,102,204)","rgb(255,102,255)","rgb(255,153,0)","rgb(255,153,51)","rgb(255,153,102)","rgb(255,153,153)","rgb(255,153,204)","rgb(255,153,255)","rgb(255,204,0)","rgb(255,204,51)","rgb(255,204,102)","rgb(255,204,153)","rgb(255,204,204)","rgb(255,204,255)","rgb(255,255,0)","rgb(255,255,51)","rgb(255,255,102)","rgb(255,255,153)","rgb(255,255,204)","rgb(255,255,255)"];function t$9(e){return(e/=255)<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function o$9(e,A=[0,0,0,1]){var t,n;return null!==(n=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==n?n:A}const n$9=e=>{e.prototype.brightness=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:n,b:i}=this.rgba(),a=+((.299*t+.587*n+.114*i)/255).toFixed(e);return A?100*a:a},e.prototype.luminance=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:n,b:i}=this.rgba(),a=+(.2126*t$9(t)+.7152*t$9(n)+.0722*t$9(i)).toFixed(e);return A?100*a:a},e.prototype.contrast=function({bgColor:A="#fff",precision:t=4,ratio:n=!1}={}){const i=this.luminance(),a=(A instanceof e?A:new e(A)).luminance(),r=((Math.max(i,a)+.05)/(Math.min(i,a)+.05)).toFixed(t);return n?r+":1":+r},e.prototype.readableOn=function({bgColor:e="#fff",size:A="body",level:t="minimum"}={}){const n=this.contrast({bgColor:e});return"body"===A&&"enhanced"===t?n>=7:"large"===A&&"minimum"===t?n>=3:n>=4.5},e.prototype.equalTo=function(A="#fff"){const t=Object.values(this.rgba()),n=Object.values((A instanceof e?A:new e(A)).rgba());return t.toString()===n.toString()},e.prototype.isLight=function(){return this.brightness()>=.5},e.prototype.isDark=function(){return!this.isLight()},e.prototype.isCool=function(){const{h:e}=this.hsla();return 75<=e&&e<255},e.prototype.isWarm=function(){return!this.isCool()},e.prototype.isTinted=function(){return this.hsla().l>50},e.prototype.isShaded=function(){return this.hsla().l<50},e.prototype.isToned=function(){return this.hsla().s<100},e.prototype.isPureHue=function({reason:e=!0}={}){return this.isTinted()?!!e&&{pure:!1,reason:"tinted"}:this.isShaded()?!!e&&{pure:!1,reason:"shaded"}:this.isToned()?!!e&&{pure:!1,reason:"toned"}:!e||{pure:!0,reason:"N/A"}},e.prototype.closestCool=function(){const{h:e}=this.hsla();return this.isCool()?this:this.hueTo(e<75?75:254)},e.prototype.closestWarm=function(){const{h:e}=this.hsla();return this.isWarm()?this:this.hueTo(e<165?74:255)},e.prototype.closestPureHue=function(){const{h:A,a:t}=this.hsla(),{r:n,g:i,b:a,a:r}=function(e){const{h:A,s:t,l:n,a:i}=e,a=n/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=i?i:1}}({h:A,s:100,l:50,a:t});return new e({r:n,g:i,b:a,a:r})},e.prototype.closestWebSafe=function(){const{r:A,g:t,b:n,a:i}=this.rgba();let[a,r,s]=new Array(3).fill(0),o=Number.POSITIVE_INFINITY,l={r:A,g:t,b:n,a:i};for(let e=0;e{for(var t in A)r$9.o(A,t)&&!r$9.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},g={};r$9.d(g,{Z:()=>a$9});const e$9={maroon:"rgb(128,0,0)","dark red":"rgb(139,0,0)",brown:"rgb(165,42,42)",firebrick:"rgb(178,34,34)",crimson:"rgb(220,20,60)",red:"rgb(255,0,0)",tomato:"rgb(255,99,71)",coral:"rgb(255,127,80)","indian red":"rgb(205,92,92)","light coral":"rgb(240,128,128)","dark salmon":"rgb(233,150,122)",salmon:"rgb(250,128,114)","light salmon":"rgb(255,160,122)","orange red":"rgb(255,69,0)","dark orange":"rgb(255,140,0)",orange:"rgb(255,165,0)",gold:"rgb(255,215,0)","dark golden rod":"rgb(184,134,11)","golden rod":"rgb(218,165,32)","pale golden rod":"rgb(238,232,170)","dark khaki":"rgb(189,183,107)",khaki:"rgb(240,230,140)",olive:"rgb(128,128,0)",yellow:"rgb(255,255,0)","yellow green":"rgb(154,205,50)","dark olive green":"rgb(85,107,47)","olive drab":"rgb(107,142,35)","lawn green":"rgb(124,252,0)","chart reuse":"rgb(127,255,0)","green yellow":"rgb(173,255,47)","dark green":"rgb(0,100,0)",green:"rgb(0,128,0)","forest green":"rgb(34,139,34)",lime:"rgb(0,255,0)","lime green":"rgb(50,205,50)","light green":"rgb(144,238,144)","pale green":"rgb(152,251,152)","dark sea green":"rgb(143,188,143)","medium spring green":"rgb(0,250,154)","spring green":"rgb(0,255,127)","sea green":"rgb(46,139,87)","medium aqua marine":"rgb(102,205,170)","medium sea green":"rgb(60,179,113)","light sea green":"rgb(32,178,170)","dark slate gray":"rgb(47,79,79)",teal:"rgb(0,128,128)","dark cyan":"rgb(0,139,139)",cyan:"rgb(0,255,255)",aqua:"rgb(0,255,255)","light cyan":"rgb(224,255,255)","dark turquoise":"rgb(0,206,209)",turquoise:"rgb(64,224,208)","medium turquoise":"rgb(72,209,204)","pale turquoise":"rgb(175,238,238)","aqua marine":"rgb(127,255,212)","powder blue":"rgb(176,224,230)","cadet blue":"rgb(95,158,160)","steel blue":"rgb(70,130,180)","corn flower blue":"rgb(100,149,237)","deep sky blue":"rgb(0,191,255)","dodger blue":"rgb(30,144,255)","light blue":"rgb(173,216,230)","sky blue":"rgb(135,206,235)","light sky blue":"rgb(135,206,250)","midnight blue":"rgb(25,25,112)",navy:"rgb(0,0,128)","dark blue":"rgb(0,0,139)","medium blue":"rgb(0,0,205)",blue:"rgb(0,0,255)","royal blue":"rgb(65,105,225)","blue violet":"rgb(138,43,226)",indigo:"rgb(75,0,130)","dark slate blue":"rgb(72,61,139)","slate blue":"rgb(106,90,205)","medium slate blue":"rgb(123,104,238)","medium purple":"rgb(147,112,219)","dark magenta":"rgb(139,0,139)","dark violet":"rgb(148,0,211)","dark orchid":"rgb(153,50,204)","medium orchid":"rgb(186,85,211)",purple:"rgb(128,0,128)",thistle:"rgb(216,191,216)",plum:"rgb(221,160,221)",violet:"rgb(238,130,238)",magenta:"rgb(255,0,255)",fuchsia:"rgb(255,0,255)",orchid:"rgb(218,112,214)","medium violet red":"rgb(199,21,133)","pale violet red":"rgb(219,112,147)","deep pink":"rgb(255,20,147)","hot pink":"rgb(255,105,180)","light pink":"rgb(255,182,193)",pink:"rgb(255,192,203)","antique white":"rgb(250,235,215)",beige:"rgb(245,245,220)",bisque:"rgb(255,228,196)","blanched almond":"rgb(255,235,205)",wheat:"rgb(245,222,179)","corn silk":"rgb(255,248,220)","lemon chiffon":"rgb(255,250,205)","light golden rod yellow":"rgb(250,250,210)","light yellow":"rgb(255,255,224)","saddle brown":"rgb(139,69,19)",sienna:"rgb(160,82,45)",chocolate:"rgb(210,105,30)",peru:"rgb(205,133,63)","sandy brown":"rgb(244,164,96)","burly wood":"rgb(222,184,135)",tan:"rgb(210,180,140)","rosy brown":"rgb(188,143,143)",moccasin:"rgb(255,228,181)","navajo white":"rgb(255,222,173)","peach puff":"rgb(255,218,185)","misty rose":"rgb(255,228,225)","lavender blush":"rgb(255,240,245)",linen:"rgb(250,240,230)","old lace":"rgb(253,245,230)","papaya whip":"rgb(255,239,213)","sea shell":"rgb(255,245,238)","mint cream":"rgb(245,255,250)","slate gray":"rgb(112,128,144)","light slate gray":"rgb(119,136,153)","light steel blue":"rgb(176,196,222)",lavender:"rgb(230,230,250)","floral white":"rgb(255,250,240)","alice blue":"rgb(240,248,255)","ghost white":"rgb(248,248,255)",honeydew:"rgb(240,255,240)",ivory:"rgb(255,255,240)",azure:"rgb(240,255,255)",snow:"rgb(255,250,250)",black:"rgb(0,0,0)","dim gray":"rgb(105,105,105)","dim grey":"rgb(105,105,105)",gray:"rgb(128,128,128)",grey:"rgb(128,128,128)","dark gray":"rgb(169,169,169)","dark grey":"rgb(169,169,169)",silver:"rgb(192,192,192)","light gray":"rgb(211,211,211)","light grey":"rgb(211,211,211)",gainsboro:"rgb(220,220,220)",gainsborough:"rgb(220,220,220)","white smoke":"rgb(245,245,245)",white:"rgb(255,255,255)",transparent:"rgba(0,0,0,0)"};function b$2(e,A=[0,0,0,1]){var t,n;return null!==(n=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==n?n:A}const a$9=e=>{e.prototype.name=function({exact:e=!0}={}){const{r:A,g:t,b:n,a:i}=this.rgba();if(0===i)return"transparent";const[a,r]=[Object.keys(e$9),Object.values(e$9)];let s;if(e){const e=this.stringRGB({alpha:!1}).replace(/\s/g,"");s=a.find((A=>e$9[A]===e))}else{let e=Number.POSITIVE_INFINITY;for(let i=0;i{for(var t in A)t$8.o(A,t)&&!t$8.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$8={};t$8.d(a$8,{Z:()=>d$1});const n$8=6/29,r$8=Math.pow(n$8,3),o$8=Math.pow(29/3,3),e$8={x:.96422,y:1,z:.82521};function c$8(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$8(e,A,t){return Math.max(e,Math.min(A,t))}function u$6(e){const A=e%360;return A<0?A+360:A}function i$8(e){const{l:A,a:t,b:n}=function(e){const A=Object.values(function(e){const[A,t,n]=c$8([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=c$8([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(e$8)[A]))).map((e=>e>r$8?Math.cbrt(e):(o$8*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}(e),i=180*Math.atan2(n,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(n,2)),h:u$6(i),a:e.a}}function h$2(e){const{l:A,c:t,h:n}=e;return function(e){const{l:A,a:t,b:n}=e,i=(A+16)/116,a=i+t/500,r=i-n/200,s=Object.values(e$8),[o,l,c]=[a,i,r].map(((e,A)=>(e>n$8?Math.pow(e,3):3*Math.pow(n$8,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=c$8([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=c$8([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return s$8(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}({l:A,a:t*Math.cos(n*Math.PI/180),b:t*Math.sin(n*Math.PI/180),alpha:e.a})}const l$2=/lcha?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function p$1({l:e,c:A,h:t,a:n}){return[h$2({l:s$8(0,e,100),c:s$8(0,A,230),h:u$6(t),a:(i=n,void 0!==i?s$8(0,i,1):1)}),"lch"];var i}function f$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,c:t,h:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return p$1(e);if("string"==typeof e){l$2.lastIndex=0;const A=l$2.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?1:1===A?2.3:2===A?3.59:.01):+e));return p$1({l:e,c:t,h:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d$1=e=>{e.prototype.lcha=function(){return i$8(this.rgba())},e.prototype.stringLCH=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.lcha()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`lcha(${t}%, ${n}, ${i}, ${a})`:`lch(${t}%, ${n}, ${i})`},e.Parsers.push(f$1)};var b$1=a$8.Z,t$7={d:(e,A)=>{for(var t in A)t$7.o(A,t)&&!t$7.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$7={};t$7.d(n$7,{Z:()=>l$1});const r$7=Math.pow(6/29,3),e$7=Math.pow(29/3,3);function o$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function a$7(e,A,t){return Math.max(e,Math.min(A,t))}function u$5(e){const{l:A,u:t,v:n}=e,i=A>e$7*r$7?Math.pow((A+16)/116,3):A/e$7,a=(52*A/(t&&A?t+13*A*.20916005282038627:1)-1)/3,r=-5*i,s=i*(39*A/(n&&A?n+13*A*(9/18.43985):1)-5),o=a===-1/3?s-r:(s-r)/(a- -1/3);return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=o$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=o$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return a$7(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}({x:100*o,y:100*i,z:100*(a*o+r),a:e.a})}const c$7=/color\s*\(\s*luva?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$7({l:e,u:A,v:t,a:n}){return[u$5({l:a$7(0,e,100),u:a$7(-100,A,100),v:a$7(-100,t,100),a:(i=n,void 0!==i?a$7(0,i,1):1)}),"luv"];var i}function i$7(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,u:t,v:n}=e;return void 0!==A&&void 0!==t&&null!=n}(e))return s$7(e);if("string"==typeof e){c$7.lastIndex=0;const A=c$7.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return s$7({l:e,u:t,v:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const l$1=e=>{e.prototype.luva=function(){return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=o$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=o$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(e)).map((e=>e/100)),i=t/1,a=A&&t&&n?A+15*t+3*n:19,r=4*A/a,s=9*t/a;let o=i>r$7?116*Math.cbrt(i)-16:e$7*i,l=13*o*(r-.20916005282038627),c=13*o*(s-.48807338454488514);return o===Number(-0)&&(o=0),l===Number(-0)&&(l=0),c===Number(-0)&&(c=0),{l:o,u:l,v:c,a:e.a}}(this.rgba())},e.prototype.stringLUV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.luva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(luva ${t}%, ${n}%, ${i}%, ${a})`:`color(luv ${t}%, ${n}%, ${i}%)`},e.Parsers.push(i$7)};var v=n$7.Z,t$6={d:(e,A)=>{for(var t in A)t$6.o(A,t)&&!t$6.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$6={};t$6.d(a$6,{Z:()=>d});const n$6=6/29,r$6=Math.pow(n$6,3),e$6=Math.pow(29/3,3),o$6={x:.96422,y:1,z:.82521};function c$6(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$6(e,A,t){return Math.max(e,Math.min(A,t))}function u$4(e){return void 0!==e?s$6(0,e,1):1}function i$6(e){const A=Object.values(function(e){const[A,t,n]=c$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=c$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(o$6)[A]))).map((e=>e>r$6?Math.cbrt(e):(e$6*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function l(e){const{l:A,a:t,b:n}=e,i=(A+16)/116,a=i+t/500,r=i-n/200,s=Object.values(o$6),[o,l,c]=[a,i,r].map(((e,A)=>(e>n$6?Math.pow(e,3):3*Math.pow(n$6,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=c$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=c$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return s$6(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}const p=/laba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b({l:e,a:A,b:t,alpha:n}){return[l({l:s$6(0,e,100),a:s$6(-160,A,160),b:s$6(-160,t,160),alpha:u$4(n)}),"lab"]}function f(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,a:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return b(e);if("string"==typeof e){p.lastIndex=0;const A=p.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return b({l:e,a:t,b:n,alpha:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d=e=>{e.prototype.laba=function(){return i$6(this.rgba())},e.prototype.stringLAB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.laba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`laba(${t}%, ${n}, ${i}, ${a})`:`lab(${t}%, ${n}, ${i})`},e.Parsers.push(f)};var h$1=a$6.Z,t$5={d:(e,A)=>{for(var t in A)t$5.o(A,t)&&!t$5.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$5={};function r$5(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$5(e,A,t){return Math.max(e,Math.min(A,t))}function e$5(e){const{u:A,v:t,w:n}=e,[i,a,r]=r$5([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,n]);return function(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=r$5([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=r$5([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return o$5(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}({x:i,y:a,z:r,a:e.a})}t$5.d(n$5,{Z:()=>s$5});const a$5=/color\s*\(\s*uvwa?\s*(\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function u$3({u:e,v:A,w:t,a:n}){return[e$5({u:o$5(0,e,200/3*.96422),v:o$5(0,A,100),w:o$5(-48.211,t,191.2605),a:(i=n,void 0!==i?o$5(0,i,1):1)}),"uvw"];var i}function c$5(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{u:A,v:t,w:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return u$3(e);if("string"==typeof e){a$5.lastIndex=0;const A=a$5.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return u$3({u:e,v:t,w:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const s$5=e=>{e.prototype.uvwa=function(){return function(e){const{x:A,y:t,z:n}=function(e){const[A,t,n]=r$5([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=r$5([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(e),[i,a,r]=r$5([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,n]);return{u:i,v:a,w:r,a:e.a}}(this.rgba())},e.prototype.stringUVW=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.uvwa()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(uvwa ${t}, ${n}, ${i}, ${a})`:`color(uvw ${t}, ${n}, ${i})`},e.Parsers.push(c$5)};var i$5=n$5.Z,t$4={d:(e,A)=>{for(var t in A)t$4.o(A,t)&&!t$4.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$4={};function r$4(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$4(e,A,t){return Math.max(e,Math.min(A,t))}function e$4(e){const[A,t,n]=Object.values(function(e){const[A,t,n]=r$4([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}(e)).map((e=>e/100)),[i,a,r]=r$4([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,n]).map((e=>{return o$4(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:i,g:a,b:r,a:e.a}}t$4.d(n$4,{Z:()=>u$2});const a$4=/color\s*\(\s*xyza?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$4({x:e,y:A,z:t,a:n}){return[e$4({x:o$4(0,e,96.422),y:o$4(0,A,100),z:o$4(0,t,82.521),a:(i=n,void 0!==i?o$4(0,i,1):1)}),"xyz"];var i}function c$4(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{x:A,y:t,z:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return s$4(e);if("string"==typeof e){a$4.lastIndex=0;const A=a$4.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return s$4({x:e,y:t,z:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$2=e=>{e.prototype.xyza=function(){return function(e){const[A,t,n]=r$4([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,n]=r$4([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:n,a:e.a}}({x:A,y:t,z:n,a:e.a})}(this.rgba())},e.prototype.stringXYZ=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.xyza()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(xyza ${t}, ${n}, ${i}, ${a})`:`color(xyz ${t}, ${n}, ${i})`},e.Parsers.push(c$4)};var i$4=n$4.Z,t$3={d:(e,A)=>{for(var t in A)t$3.o(A,t)&&!t$3.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$3={};function r$3(e,A,t){return Math.max(e,Math.min(A,t))}function a$3(e){const A=e%360;return A<0?A+360:A}function o$3(e){const{h:A,a:t}=function(e){var A;const{Cmin:t,Cmax:n,H:i,delta:a}=function(e){const[A,t,n]=Object.values(e).map((e=>e/255)),i=Math.max(A,t,n),a=Math.min(A,t,n),r=i-a;return{Cmin:a,Cmax:i,H:0===r?0:i===A?(t-n)/r%6:i===t?(n-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(n+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$3(60*i),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}(e),{r:n,g:i,b:a}=e;return{h:A,w:Math.min(n,i,a)/2.55,b:100*(1-Math.max(n,i,a)/255),a:t}}function e$3(e){const{h:A,b:t,w:n,a:i}=e;return function(e){const{h:A,s:t,v:n,a:i}=e,a=n/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=i?i:1}}({h:A,s:100===t?0:100-n/(100-t)*100,v:100-t,a:i})}t$3.d(n$3,{Z:()=>u$1});const s$3=/hwba?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function i$3({h:e,w:A,b:t,a:n}){return[e$3({h:a$3(e),w:r$3(0,A,100),b:r$3(0,t,100),a:(i=n,void 0!==i?r$3(0,i,1):1)}),"hwb"];var i}function c$3(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,w:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return i$3(e);if("string"==typeof e){s$3.lastIndex=0;const A=s$3.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return i$3({h:e,w:t,b:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$1=e=>{e.prototype.hwba=function(){return o$3(this.rgba())},e.prototype.stringHWB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.hwba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hwba(${a$3(t)}, ${n}%, ${i}%, ${a})`:`hwb(${a$3(t)}, ${n}%, ${i}%)`},e.Parsers.push(c$3)};var h=n$3.Z,t$2={d:(e,A)=>{for(var t in A)t$2.o(A,t)&&!t$2.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$2={};function r$2(e,A,t){return Math.max(e,Math.min(A,t))}function s$2(e){const A=e%360;return A<0?A+360:A}function e$2(e){const{h:A,s:t,v:n,a:i}=e,a=n/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=i?i:1}}t$2.d(n$2,{Z:()=>c$2});const a$2=/hsva?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o$2({h:e,s:A,v:t,a:n}){return[e$2({h:s$2(e),s:r$2(0,A,100),v:r$2(0,t,100),a:(i=n,void 0!==i?r$2(0,i,1):1)}),"hsv"];var i}function i$2(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,v:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return o$2(e);if("string"==typeof e){a$2.lastIndex=0;const A=a$2.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return o$2({h:e,s:t,v:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const c$2=e=>{e.prototype.hsva=function(){return function(e){var A;const{Cmax:t,H:n,delta:i}=function(e){const[A,t,n]=Object.values(e).map((e=>e/255)),i=Math.max(A,t,n),a=Math.min(A,t,n),r=i-a;return{Cmin:a,Cmax:i,H:0===r?0:i===A?(t-n)/r%6:i===t?(n-A)/r+2:(A-t)/r+4,delta:r}}(e),a=0===i?0:i/t;return{h:s$2(60*n),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}(this.rgba())},e.prototype.stringHSV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.hsva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hsva(${s$2(t)}, ${n}%, ${i}%, ${a})`:`hsv(${s$2(t)}, ${n}%, ${i}%)`},e.Parsers.push(i$2)};var u=n$2.Z,t$1={d:(e,A)=>{for(var t in A)t$1.o(A,t)&&!t$1.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$1={};function n$1(e,A,t){return Math.max(e,Math.min(A,t))}function o$1(e){let{r:A,y:t,b:n}=e;const i=Math.min(A,t,n);[A,t,n]=[A,t,n].map((e=>e-i));const a=Math.max(A,t,n);let r=Math.min(t,n);t-=r,n-=r,n&&r&&(n*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,n);if(s){const e=a/s;[A,r,n]=[A,r,n].map((A=>A*e))}return[A,r,n]=[A,r,n].map((e=>e+i)),{r:A,g:r,b:n,a:e.a}}t$1.d(r$1,{Z:()=>i$1});const a$1=/color\s*\(\s*ryba?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function e$1({r:e,y:A,b:t,a:n}){return[o$1({r:n$1(0,e,255),y:n$1(0,A,255),b:n$1(0,t,255),a:(i=n,void 0!==i?n$1(0,i,1):1)}),"ryb"];var i}function s$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,y:t,b:n}=e;return void 0!==A&&void 0!==t&&void 0!==n}(e))return e$1(e);if("string"==typeof e){a$1.lastIndex=0;const A=a$1.exec(e);if(A){const[e,t,n,i]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return e$1({r:e,y:t,b:n,a:i})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i$1=e=>{e.prototype.ryba=function(){return function(e){let{r:A,g:t,b:n}=e;const i=Math.min(A,t,n);[A,t,n]=[A,t,n].map((e=>e-i));const a=Math.max(A,t,n);let r=Math.min(A,t);A-=r,t-=r,n&&t&&(n/=2,t/=2),r+=t,n+=t;const s=Math.max(A,r,n);if(s){const e=a/s;[A,r,n]=[A,r,n].map((A=>A*e))}return[A,r,n]=[A,r,n].map((e=>e+i)),{r:A,y:r,b:n,a:e.a}}(this.rgba())},e.prototype.stringRYB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,n,i,a]=Object.values(this.ryba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(ryba ${t}, ${n}, ${i}, ${a})`:`color(ryb ${t}, ${n}, ${i})`},e.Parsers.push(s$1)};var c$1=r$1.Z,t={d:(e,A)=>{for(var n in A)t.o(A,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:A[n]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n={};function e(e,A,t){return Math.max(e,Math.min(A,t))}function r(e){const{c:A,m:t,y:n,k:i,a:a}=e,[r,s,o]=[A,t,n].map((e=>255*(1-e/100)*(1-i/100)));return{r:r,g:s,b:o,a:a}}t.d(n,{Z:()=>i});const c=/device-cmyka?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?),?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o({c:A,m:t,y:n,k:i,a:a}){return[r({c:e(0,A,100),m:e(0,t,100),y:e(0,n,100),k:e(0,i,100),a:(s=a,void 0!==s?e(0,s,1):1)}),"cmyk"];var s}function a(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{c:A,m:t,y:n,k:i}=e;return void 0!==A&&void 0!==t&&void 0!==n&&void 0!==i}(e))return o(e);if("string"==typeof e){c.lastIndex=0;const A=c.exec(e);if(A){const[e,t,n,i,a]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<4?1:.01):+e));return o({c:e,m:t,y:n,k:i,a:a})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i=e=>{e.prototype.cmyka=function(){return function(e){const{r:A,g:t,b:n,a:i}=e,a=1-Math.max(A,t,n)/255,[r,s,o]=1===a?[0,0,0]:[A,t,n].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:i}}(this.rgba())},e.prototype.stringCMYK=function({alpha:e=!0,precision:A=[0,0,0,0,1]}={}){const[t,n,i,a,r]=Object.values(this.cmyka()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`device-cmyk(${t}, ${n}, ${i}, ${a}, ${r})`:`device-cmyk(${t}, ${n}, ${i}, ${a})`},e.Parsers.push(a)};var s=n.Z;class ExcalidrawScene{constructor(e=[]){this.type="excalidraw",this.version=2,this.source="https://excalidraw.com",this.elements=[],this.elements=e}toExJSON(){return Object.assign(Object.assign({},this),{elements:this.elements.map((e=>Object.assign({},e)))})}}var ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array;function create$1(){var e=new ARRAY_TYPE(16);return ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function clone(e){var A=new ARRAY_TYPE(16);return A[0]=e[0],A[1]=e[1],A[2]=e[2],A[3]=e[3],A[4]=e[4],A[5]=e[5],A[6]=e[6],A[7]=e[7],A[8]=e[8],A[9]=e[9],A[10]=e[10],A[11]=e[11],A[12]=e[12],A[13]=e[13],A[14]=e[14],A[15]=e[15],A}function fromValues$1(e,A,t,n,i,a,r,s,o,l,c,d,h,u,g,p){var w=new ARRAY_TYPE(16);return w[0]=e,w[1]=A,w[2]=t,w[3]=n,w[4]=i,w[5]=a,w[6]=r,w[7]=s,w[8]=o,w[9]=l,w[10]=c,w[11]=d,w[12]=h,w[13]=u,w[14]=g,w[15]=p,w}function multiply(e,A,t){var n=A[0],i=A[1],a=A[2],r=A[3],s=A[4],o=A[5],l=A[6],c=A[7],d=A[8],h=A[9],u=A[10],g=A[11],p=A[12],w=A[13],m=A[14],f=A[15],B=t[0],E=t[1],b=t[2],C=t[3];return e[0]=B*n+E*s+b*d+C*p,e[1]=B*i+E*o+b*h+C*w,e[2]=B*a+E*l+b*u+C*m,e[3]=B*r+E*c+b*g+C*f,B=t[4],E=t[5],b=t[6],C=t[7],e[4]=B*n+E*s+b*d+C*p,e[5]=B*i+E*o+b*h+C*w,e[6]=B*a+E*l+b*u+C*m,e[7]=B*r+E*c+b*g+C*f,B=t[8],E=t[9],b=t[10],C=t[11],e[8]=B*n+E*s+b*d+C*p,e[9]=B*i+E*o+b*h+C*w,e[10]=B*a+E*l+b*u+C*m,e[11]=B*r+E*c+b*g+C*f,B=t[12],E=t[13],b=t[14],C=t[15],e[12]=B*n+E*s+b*d+C*p,e[13]=B*i+E*o+b*h+C*w,e[14]=B*a+E*l+b*u+C*m,e[15]=B*r+E*c+b*g+C*f,e}function create(){var e=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function fromValues(e,A,t){var n=new ARRAY_TYPE(3);return n[0]=e,n[1]=A,n[2]=t,n}function transformMat4(e,A,t){var n=A[0],i=A[1],a=A[2],r=t[3]*n+t[7]*i+t[11]*a+t[15];return r=r||1,e[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/r,e[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/r,e[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/r,e}Math.hypot||(Math.hypot=function(){for(var e=0,A=arguments.length;A--;)e+=arguments[A]*arguments[A];return Math.sqrt(e)}),create();const random=new Random(Date.now()),randomInteger=()=>Math.floor(random.next()*2**31),randomId=()=>nanoid$1();function dimensionsFromPoints(e){const A=e.map((([e])=>e)),t=e.map((([,e])=>e)),n=Math.min(...A),i=Math.min(...t);return[Math.max(...A)-n,Math.max(...t)-i]}function getWindingOrder(e){return e.reduce(((e,[A,t],n,i)=>{const a=i[n+1];return((a?a[0]:0)-A)*((a?a[1]:0)+t)+e}),0)>0?"clockwise":"counterclockwise"}var chroma$1={exports:{}}; /** * chroma.js - JavaScript library for color conversions * @@ -77,6 +77,6 @@ EXPR:/(!)?(\[\[([^|\]]+)\|?([^\]]+)?]]|\[([^\]]*)]\(([^)]*)\))(\{(\d+)\})?/g,get * http://www.w3.org/TR/css3-color/#svg-color * * @preserve - */chroma$1.exports=function(){for(var e=function(e,A,t){return void 0===A&&(A=0),void 0===t&&(t=1),et?t:e},A=e,t={},n=0,i=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];n255)&&(e._clipped=!0),e[t]=A(e[t],0,255)):3===t&&(e[t]=A(e[t],0,1));return e},limit:e,type:r,unpack:function(e,A){return void 0===A&&(A=null),e.length>=3?Array.prototype.slice.call(e):"object"==s(e[0])&&A?A.split("").filter((function(A){return void 0!==e[0][A]})).map((function(A){return e[0][A]})):e[0]},last:function(e){if(e.length<2)return null;var A=e.length-1;return"string"==o(e[A])?e[A].toLowerCase():null},PI:l,TWOPI:2*l,PITHIRD:l/3,DEG2RAD:l/180,RAD2DEG:180/l},d={format:{},autodetect:[]},h=c.last,u=c.clip_rgb,g=c.type,p=d,w=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=this;if("object"===g(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];var n=h(e),i=!1;if(!n){i=!0,p.sorted||(p.autodetect=p.autodetect.sort((function(e,A){return A.p-e.p})),p.sorted=!0);for(var a=0,r=p.autodetect;a4?e[4]:1;return 1===a?[0,0,0,r]:[t>=1?0:255*(1-t)*(1-a),n>=1?0:255*(1-n)*(1-a),i>=1?0:255*(1-i)*(1-a),r]},F=B,x=m,Q=d,U=c.unpack,S=c.type,T=C;x.prototype.cmyk=function(){return T(this._rgb)},F.cmyk=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(x,[null].concat(e,["cmyk"])))},Q.format.cmyk=y,Q.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=U(e,"cmyk"),"array"===S(e)&&4===e.length)return"cmyk"}});var I=c.unpack,k=c.last,M=function(e){return Math.round(100*e)/100},L=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=I(e,"hsla"),n=k(e)||"lsa";return t[0]=M(t[0]||0),t[1]=M(100*t[1])+"%",t[2]=M(100*t[2])+"%","hsla"===n||t.length>3&&t[3]<1?(t[3]=t.length>3?t[3]:1,n="hsla"):t.length=3,n+"("+t.join(",")+")"},O=c.unpack,N=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=O(e,"rgba"))[0],n=e[1],i=e[2];t/=255,n/=255,i/=255;var a,r,s=Math.min(t,n,i),o=Math.max(t,n,i),l=(o+s)/2;return o===s?(a=0,r=Number.NaN):a=l<.5?(o-s)/(o+s):(o-s)/(2-o-s),t==o?r=(n-i)/(o-s):n==o?r=2+(i-t)/(o-s):i==o&&(r=4+(t-n)/(o-s)),(r*=60)<0&&(r+=360),e.length>3&&void 0!==e[3]?[r,a,l,e[3]]:[r,a,l]},H=c.unpack,D=c.last,R=L,P=N,V=Math.round,K=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=H(e,"rgba"),n=D(e)||"rgb";return"hsl"==n.substr(0,3)?R(P(t),n):(t[0]=V(t[0]),t[1]=V(t[1]),t[2]=V(t[2]),("rgba"===n||t.length>3&&t[3]<1)&&(t[3]=t.length>3?t[3]:1,n="rgba"),n+"("+t.slice(0,"rgb"===n?3:4).join(",")+")")},G=c.unpack,W=Math.round,z=function(){for(var e,A=[],t=arguments.length;t--;)A[t]=arguments[t];var n,i,a,r=(A=G(A,"hsl"))[0],s=A[1],o=A[2];if(0===s)n=i=a=255*o;else{var l=[0,0,0],c=[0,0,0],d=o<.5?o*(1+s):o+s-o*s,h=2*o-d,u=r/360;l[0]=u+1/3,l[1]=u,l[2]=u-1/3;for(var g=0;g<3;g++)l[g]<0&&(l[g]+=1),l[g]>1&&(l[g]-=1),6*l[g]<1?c[g]=h+6*(d-h)*l[g]:2*l[g]<1?c[g]=d:3*l[g]<2?c[g]=h+(d-h)*(2/3-l[g])*6:c[g]=h;n=(e=[W(255*c[0]),W(255*c[1]),W(255*c[2])])[0],i=e[1],a=e[2]}return A.length>3?[n,i,a,A[3]]:[n,i,a,1]},X=z,Y=d,j=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,J=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Z=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,q=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,_=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,$=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ee=Math.round,Ae=function(e){var A;if(e=e.toLowerCase().trim(),Y.format.named)try{return Y.format.named(e)}catch(e){}if(A=e.match(j)){for(var t=A.slice(1,4),n=0;n<3;n++)t[n]=+t[n];return t[3]=1,t}if(A=e.match(J)){for(var i=A.slice(1,5),a=0;a<4;a++)i[a]=+i[a];return i}if(A=e.match(Z)){for(var r=A.slice(1,4),s=0;s<3;s++)r[s]=ee(2.55*r[s]);return r[3]=1,r}if(A=e.match(q)){for(var o=A.slice(1,5),l=0;l<3;l++)o[l]=ee(2.55*o[l]);return o[3]=+o[3],o}if(A=e.match(_)){var c=A.slice(1,4);c[1]*=.01,c[2]*=.01;var d=X(c);return d[3]=1,d}if(A=e.match($)){var h=A.slice(1,4);h[1]*=.01,h[2]*=.01;var u=X(h);return u[3]=+A[4],u}};Ae.test=function(e){return j.test(e)||J.test(e)||Z.test(e)||q.test(e)||_.test(e)||$.test(e)};var te=B,ne=m,ie=d,ae=c.type,re=K,se=Ae;ne.prototype.css=function(e){return re(this._rgb,e)},te.css=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ne,[null].concat(e,["css"])))},ie.format.css=se,ie.autodetect.push({p:5,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===ae(e)&&se.test(e))return"css"}});var oe=m,le=B,ce=c.unpack;d.format.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=ce(e,"rgba");return t[0]*=255,t[1]*=255,t[2]*=255,t},le.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(oe,[null].concat(e,["gl"])))},oe.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]};var de=c.unpack,he=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n=de(e,"rgb"),i=n[0],a=n[1],r=n[2],s=Math.min(i,a,r),o=Math.max(i,a,r),l=o-s,c=100*l/255,d=s/(255-l)*100;return 0===l?t=Number.NaN:(i===o&&(t=(a-r)/l),a===o&&(t=2+(r-i)/l),r===o&&(t=4+(i-a)/l),(t*=60)<0&&(t+=360)),[t,c,d]},ue=c.unpack,ge=Math.floor,pe=function(){for(var e,A,t,n,i,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=ue(r,"hcg"))[0],h=r[1],u=r[2];u*=255;var g=255*h;if(0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var p=ge(d/=60),w=d-p,m=u*(1-h),f=m+g*(1-w),B=m+g*w,E=m+g;switch(p){case 0:o=(e=[E,B,m])[0],l=e[1],c=e[2];break;case 1:o=(A=[f,E,m])[0],l=A[1],c=A[2];break;case 2:o=(t=[m,E,B])[0],l=t[1],c=t[2];break;case 3:o=(n=[m,f,E])[0],l=n[1],c=n[2];break;case 4:o=(i=[B,m,E])[0],l=i[1],c=i[2];break;case 5:o=(a=[E,m,f])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},we=c.unpack,me=c.type,fe=B,Be=m,Ee=d,be=he;Be.prototype.hcg=function(){return be(this._rgb)},fe.hcg=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Be,[null].concat(e,["hcg"])))},Ee.format.hcg=pe,Ee.autodetect.push({p:1,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=we(e,"hcg"),"array"===me(e)&&3===e.length)return"hcg"}});var Ce=c.unpack,ve=c.last,ye=Math.round,Fe=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Ce(e,"rgba"),n=t[0],i=t[1],a=t[2],r=t[3],s=ve(e)||"auto";void 0===r&&(r=1),"auto"===s&&(s=r<1?"rgba":"rgb");var o="000000"+((n=ye(n))<<16|(i=ye(i))<<8|(a=ye(a))).toString(16);o=o.substr(o.length-6);var l="0"+ye(255*r).toString(16);switch(l=l.substr(l.length-2),s.toLowerCase()){case"rgba":return"#"+o+l;case"argb":return"#"+l+o;default:return"#"+o}},xe=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Qe=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Ue=function(e){if(e.match(xe)){4!==e.length&&7!==e.length||(e=e.substr(1)),3===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var A=parseInt(e,16);return[A>>16,A>>8&255,255&A,1]}if(e.match(Qe)){5!==e.length&&9!==e.length||(e=e.substr(1)),4===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);var t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100]}throw new Error("unknown hex color: "+e)},Se=B,Te=m,Ie=c.type,ke=d,Me=Fe;Te.prototype.hex=function(e){return Me(this._rgb,e)},Se.hex=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Te,[null].concat(e,["hex"])))},ke.format.hex=Ue,ke.autodetect.push({p:4,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===Ie(e)&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return"hex"}});var Le=c.unpack,Oe=c.TWOPI,Ne=Math.min,He=Math.sqrt,De=Math.acos,Re=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n=Le(e,"rgb"),i=n[0],a=n[1],r=n[2],s=Ne(i/=255,a/=255,r/=255),o=(i+a+r)/3,l=o>0?1-s/o:0;return 0===l?t=NaN:(t=(i-a+(i-r))/2,t/=He((i-a)*(i-a)+(i-r)*(a-r)),t=De(t),r>a&&(t=Oe-t),t/=Oe),[360*t,l,o]},Pe=c.unpack,Ve=c.limit,Ke=c.TWOPI,Ge=c.PITHIRD,We=Math.cos,ze=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n,i,a=(e=Pe(e,"hsi"))[0],r=e[1],s=e[2];return isNaN(a)&&(a=0),isNaN(r)&&(r=0),a>360&&(a-=360),a<0&&(a+=360),(a/=360)<1/3?n=1-((i=(1-r)/3)+(t=(1+r*We(Ke*a)/We(Ge-Ke*a))/3)):a<2/3?i=1-((t=(1-r)/3)+(n=(1+r*We(Ke*(a-=1/3))/We(Ge-Ke*a))/3)):t=1-((n=(1-r)/3)+(i=(1+r*We(Ke*(a-=2/3))/We(Ge-Ke*a))/3)),[255*(t=Ve(s*t*3)),255*(n=Ve(s*n*3)),255*(i=Ve(s*i*3)),e.length>3?e[3]:1]},Xe=c.unpack,Ye=c.type,je=B,Je=m,Ze=d,qe=Re;Je.prototype.hsi=function(){return qe(this._rgb)},je.hsi=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Je,[null].concat(e,["hsi"])))},Ze.format.hsi=ze,Ze.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=Xe(e,"hsi"),"array"===Ye(e)&&3===e.length)return"hsi"}});var _e=c.unpack,$e=c.type,eA=B,AA=m,tA=d,nA=N;AA.prototype.hsl=function(){return nA(this._rgb)},eA.hsl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(AA,[null].concat(e,["hsl"])))},tA.format.hsl=z,tA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_e(e,"hsl"),"array"===$e(e)&&3===e.length)return"hsl"}});var iA=c.unpack,aA=Math.min,rA=Math.max,sA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n,i,a=(e=iA(e,"rgb"))[0],r=e[1],s=e[2],o=aA(a,r,s),l=rA(a,r,s),c=l-o;return i=l/255,0===l?(t=Number.NaN,n=0):(n=c/l,a===l&&(t=(r-s)/c),r===l&&(t=2+(s-a)/c),s===l&&(t=4+(a-r)/c),(t*=60)<0&&(t+=360)),[t,n,i]},oA=c.unpack,lA=Math.floor,cA=function(){for(var e,A,t,n,i,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=oA(r,"hsv"))[0],h=r[1],u=r[2];if(u*=255,0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var g=lA(d/=60),p=d-g,w=u*(1-h),m=u*(1-h*p),f=u*(1-h*(1-p));switch(g){case 0:o=(e=[u,f,w])[0],l=e[1],c=e[2];break;case 1:o=(A=[m,u,w])[0],l=A[1],c=A[2];break;case 2:o=(t=[w,u,f])[0],l=t[1],c=t[2];break;case 3:o=(n=[w,m,u])[0],l=n[1],c=n[2];break;case 4:o=(i=[f,w,u])[0],l=i[1],c=i[2];break;case 5:o=(a=[u,w,m])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},dA=c.unpack,hA=c.type,uA=B,gA=m,pA=d,wA=sA;gA.prototype.hsv=function(){return wA(this._rgb)},uA.hsv=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(gA,[null].concat(e,["hsv"])))},pA.format.hsv=cA,pA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=dA(e,"hsv"),"array"===hA(e)&&3===e.length)return"hsv"}});var mA={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},fA=mA,BA=c.unpack,EA=Math.pow,bA=function(e){return(e/=255)<=.04045?e/12.92:EA((e+.055)/1.055,2.4)},CA=function(e){return e>fA.t3?EA(e,1/3):e/fA.t2+fA.t0},vA=function(e,A,t){return e=bA(e),A=bA(A),t=bA(t),[CA((.4124564*e+.3575761*A+.1804375*t)/fA.Xn),CA((.2126729*e+.7151522*A+.072175*t)/fA.Yn),CA((.0193339*e+.119192*A+.9503041*t)/fA.Zn)]},yA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=BA(e,"rgb"),n=t[0],i=t[1],a=t[2],r=vA(n,i,a),s=r[0],o=r[1],l=116*o-16;return[l<0?0:l,500*(s-o),200*(o-r[2])]},FA=mA,xA=c.unpack,QA=Math.pow,UA=function(e){return 255*(e<=.00304?12.92*e:1.055*QA(e,1/2.4)-.055)},SA=function(e){return e>FA.t1?e*e*e:FA.t2*(e-FA.t0)},TA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n,i,a=(e=xA(e,"lab"))[0],r=e[1],s=e[2];return n=(a+16)/116,t=isNaN(r)?n:n+r/500,i=isNaN(s)?n:n-s/200,n=FA.Yn*SA(n),t=FA.Xn*SA(t),i=FA.Zn*SA(i),[UA(3.2404542*t-1.5371385*n-.4985314*i),UA(-.969266*t+1.8760108*n+.041556*i),UA(.0556434*t-.2040259*n+1.0572252*i),e.length>3?e[3]:1]},IA=c.unpack,kA=c.type,MA=B,LA=m,OA=d,NA=yA;LA.prototype.lab=function(){return NA(this._rgb)},MA.lab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(LA,[null].concat(e,["lab"])))},OA.format.lab=TA,OA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=IA(e,"lab"),"array"===kA(e)&&3===e.length)return"lab"}});var HA=c.unpack,DA=c.RAD2DEG,RA=Math.sqrt,PA=Math.atan2,VA=Math.round,KA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=HA(e,"lab"),n=t[0],i=t[1],a=t[2],r=RA(i*i+a*a),s=(PA(a,i)*DA+360)%360;return 0===VA(1e4*r)&&(s=Number.NaN),[n,r,s]},GA=c.unpack,WA=yA,zA=KA,XA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=GA(e,"rgb"),n=t[0],i=t[1],a=t[2],r=WA(n,i,a),s=r[0],o=r[1],l=r[2];return zA(s,o,l)},YA=c.unpack,jA=c.DEG2RAD,JA=Math.sin,ZA=Math.cos,qA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=YA(e,"lch"),n=t[0],i=t[1],a=t[2];return isNaN(a)&&(a=0),[n,ZA(a*=jA)*i,JA(a)*i]},_A=c.unpack,$A=qA,et=TA,At=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=_A(e,"lch"))[0],n=e[1],i=e[2],a=$A(t,n,i),r=a[0],s=a[1],o=a[2],l=et(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},tt=c.unpack,nt=At,it=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=tt(e,"hcl").reverse();return nt.apply(void 0,t)},at=c.unpack,rt=c.type,st=B,ot=m,lt=d,ct=XA;ot.prototype.lch=function(){return ct(this._rgb)},ot.prototype.hcl=function(){return ct(this._rgb).reverse()},st.lch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["lch"])))},st.hcl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["hcl"])))},lt.format.lch=At,lt.format.hcl=it,["lch","hcl"].forEach((function(e){return lt.autodetect.push({p:2,test:function(){for(var A=[],t=arguments.length;t--;)A[t]=arguments[t];if(A=at(A,e),"array"===rt(A)&&3===A.length)return e}})}));var dt={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},ht=d,ut=c.type,gt=dt,pt=Ue,wt=Fe;m.prototype.name=function(){for(var e=wt(this._rgb,"rgb"),A=0,t=Object.keys(gt);A0;)A[t]=arguments[t+1];if(!A.length&&"string"===ut(e)&>[e.toLowerCase()])return"named"}});var mt=c.unpack,ft=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=mt(e,"rgb");return(t[0]<<16)+(t[1]<<8)+t[2]},Bt=c.type,Et=function(e){if("number"==Bt(e)&&e>=0&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)},bt=B,Ct=m,vt=d,yt=c.type,Ft=ft;Ct.prototype.num=function(){return Ft(this._rgb)},bt.num=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ct,[null].concat(e,["num"])))},vt.format.num=Et,vt.autodetect.push({p:5,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(1===e.length&&"number"===yt(e[0])&&e[0]>=0&&e[0]<=16777215)return"num"}});var xt=B,Qt=m,Ut=d,St=c.unpack,Tt=c.type,It=Math.round;Qt.prototype.rgb=function(e){return void 0===e&&(e=!0),!1===e?this._rgb.slice(0,3):this._rgb.slice(0,3).map(It)},Qt.prototype.rgba=function(e){return void 0===e&&(e=!0),this._rgb.slice(0,4).map((function(A,t){return t<3?!1===e?A:It(A):A}))},xt.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Qt,[null].concat(e,["rgb"])))},Ut.format.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=St(e,"rgba");return void 0===t[3]&&(t[3]=1),t},Ut.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=St(e,"rgba"),"array"===Tt(e)&&(3===e.length||4===e.length&&"number"==Tt(e[3])&&e[3]>=0&&e[3]<=1))return"rgb"}});var kt=Math.log,Mt=function(e){var A,t,n,i=e/100;return i<66?(A=255,t=i<6?0:-155.25485562709179-.44596950469579133*(t=i-2)+104.49216199393888*kt(t),n=i<20?0:.8274096064007395*(n=i-10)-254.76935184120902+115.67994401066147*kt(n)):(A=351.97690566805693+.114206453784165*(A=i-55)-40.25366309332127*kt(A),t=325.4494125711974+.07943456536662342*(t=i-50)-28.0852963507957*kt(t),n=255),[A,t,n,1]},Lt=Mt,Ot=c.unpack,Nt=Math.round,Ht=B,Dt=m,Rt=d,Pt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];for(var t,n=Ot(e,"rgb"),i=n[0],a=n[2],r=1e3,s=4e4,o=.4;s-r>o;){var l=Lt(t=.5*(s+r));l[2]/l[0]>=a/i?s=t:r=t}return Nt(t)};Dt.prototype.temp=Dt.prototype.kelvin=Dt.prototype.temperature=function(){return Pt(this._rgb)},Ht.temp=Ht.kelvin=Ht.temperature=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Dt,[null].concat(e,["temp"])))},Rt.format.temp=Rt.format.kelvin=Rt.format.temperature=Mt;var Vt=c.unpack,Kt=Math.cbrt,Gt=Math.pow,Wt=Math.sign,zt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Vt(e,"rgb"),n=t[0],i=t[1],a=t[2],r=[Xt(n/255),Xt(i/255),Xt(a/255)],s=r[0],o=r[1],l=r[2],c=Kt(.4122214708*s+.5363325363*o+.0514459929*l),d=Kt(.2119034982*s+.6806995451*o+.1073969566*l),h=Kt(.0883024619*s+.2817188376*o+.6299787005*l);return[.2104542553*c+.793617785*d-.0040720468*h,1.9779984951*c-2.428592205*d+.4505937099*h,.0259040371*c+.7827717662*d-.808675766*h]};function Xt(e){var A=Math.abs(e);return A<.04045?e/12.92:(Wt(e)||1)*Gt((A+.055)/1.055,2.4)}var Yt=c.unpack,jt=Math.pow,Jt=Math.sign,Zt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=Yt(e,"lab"))[0],n=e[1],i=e[2],a=jt(t+.3963377774*n+.2158037573*i,3),r=jt(t-.1055613458*n-.0638541728*i,3),s=jt(t-.0894841775*n-1.291485548*i,3);return[255*qt(4.0767416621*a-3.3077115913*r+.2309699292*s),255*qt(-1.2684380046*a+2.6097574011*r-.3413193965*s),255*qt(-.0041960863*a-.7034186147*r+1.707614701*s),e.length>3?e[3]:1]};function qt(e){var A=Math.abs(e);return A>.0031308?(Jt(e)||1)*(1.055*jt(A,1/2.4)-.055):12.92*e}var _t=c.unpack,$t=c.type,en=B,An=m,tn=d,nn=zt;An.prototype.oklab=function(){return nn(this._rgb)},en.oklab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(An,[null].concat(e,["oklab"])))},tn.format.oklab=Zt,tn.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_t(e,"oklab"),"array"===$t(e)&&3===e.length)return"oklab"}});var an=c.unpack,rn=zt,sn=KA,on=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=an(e,"rgb"),n=t[0],i=t[1],a=t[2],r=rn(n,i,a),s=r[0],o=r[1],l=r[2];return sn(s,o,l)},ln=c.unpack,cn=qA,dn=Zt,hn=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=ln(e,"lch"))[0],n=e[1],i=e[2],a=cn(t,n,i),r=a[0],s=a[1],o=a[2],l=dn(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},un=c.unpack,gn=c.type,pn=B,wn=m,mn=d,fn=on;wn.prototype.oklch=function(){return fn(this._rgb)},pn.oklch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(wn,[null].concat(e,["oklch"])))},mn.format.oklch=hn,mn.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=un(e,"oklch"),"array"===gn(e)&&3===e.length)return"oklch"}});var Bn=m,En=c.type;Bn.prototype.alpha=function(e,A){return void 0===A&&(A=!1),void 0!==e&&"number"===En(e)?A?(this._rgb[3]=e,this):new Bn([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},m.prototype.clipped=function(){return this._rgb._clipped||!1};var bn=m,Cn=mA;bn.prototype.darken=function(e){void 0===e&&(e=1);var A=this.lab();return A[0]-=Cn.Kn*e,new bn(A,"lab").alpha(this.alpha(),!0)},bn.prototype.brighten=function(e){return void 0===e&&(e=1),this.darken(-e)},bn.prototype.darker=bn.prototype.darken,bn.prototype.brighter=bn.prototype.brighten,m.prototype.get=function(e){var A=e.split("."),t=A[0],n=A[1],i=this[t]();if(n){var a=t.indexOf(n)-("ok"===t.substr(0,2)?2:0);if(a>-1)return i[a];throw new Error("unknown channel "+n+" in mode "+t)}return i};var vn=m,yn=c.type,Fn=Math.pow;vn.prototype.luminance=function(e){if(void 0!==e&&"number"===yn(e)){if(0===e)return new vn([0,0,0,this._rgb[3]],"rgb");if(1===e)return new vn([255,255,255,this._rgb[3]],"rgb");var A=this.luminance(),t=20,n=function(A,i){var a=A.interpolate(i,.5,"rgb"),r=a.luminance();return Math.abs(e-r)<1e-7||!t--?a:r>e?n(A,a):n(a,i)},i=(A>e?n(new vn([0,0,0]),this):n(this,new vn([255,255,255]))).rgb();return new vn(i.concat([this._rgb[3]]))}return xn.apply(void 0,this._rgb.slice(0,3))};var xn=function(e,A,t){return.2126*(e=Qn(e))+.7152*(A=Qn(A))+.0722*Qn(t)},Qn=function(e){return(e/=255)<=.03928?e/12.92:Fn((e+.055)/1.055,2.4)},Un={},Sn=m,Tn=c.type,In=Un,kn=function(e,A,t){void 0===t&&(t=.5);for(var n=[],i=arguments.length-3;i-- >0;)n[i]=arguments[i+3];var a=n[0]||"lrgb";if(In[a]||n.length||(a=Object.keys(In)[0]),!In[a])throw new Error("interpolation mode "+a+" is not defined");return"object"!==Tn(e)&&(e=new Sn(e)),"object"!==Tn(A)&&(A=new Sn(A)),In[a](e,A,t).alpha(e.alpha()+t*(A.alpha()-e.alpha()))},Mn=m,Ln=kn;Mn.prototype.mix=Mn.prototype.interpolate=function(e,A){void 0===A&&(A=.5);for(var t=[],n=arguments.length-2;n-- >0;)t[n]=arguments[n+2];return Ln.apply(void 0,[this,e,A].concat(t))};var On=m;On.prototype.premultiply=function(e){void 0===e&&(e=!1);var A=this._rgb,t=A[3];return e?(this._rgb=[A[0]*t,A[1]*t,A[2]*t,t],this):new On([A[0]*t,A[1]*t,A[2]*t,t],"rgb")};var Nn=m,Hn=mA;Nn.prototype.saturate=function(e){void 0===e&&(e=1);var A=this.lch();return A[1]+=Hn.Kn*e,A[1]<0&&(A[1]=0),new Nn(A,"lch").alpha(this.alpha(),!0)},Nn.prototype.desaturate=function(e){return void 0===e&&(e=1),this.saturate(-e)};var Dn=m,Rn=c.type;Dn.prototype.set=function(e,A,t){void 0===t&&(t=!1);var n=e.split("."),i=n[0],a=n[1],r=this[i]();if(a){var s=i.indexOf(a)-("ok"===i.substr(0,2)?2:0);if(s>-1){if("string"==Rn(A))switch(A.charAt(0)){case"+":case"-":r[s]+=+A;break;case"*":r[s]*=+A.substr(1);break;case"/":r[s]/=+A.substr(1);break;default:r[s]=+A}else{if("number"!==Rn(A))throw new Error("unsupported value for Color.set");r[s]=A}var o=new Dn(r,i);return t?(this._rgb=o._rgb,this):o}throw new Error("unknown channel "+a+" in mode "+i)}return r};var Pn=m;Un.rgb=function(e,A,t){var n=e._rgb,i=A._rgb;return new Pn(n[0]+t*(i[0]-n[0]),n[1]+t*(i[1]-n[1]),n[2]+t*(i[2]-n[2]),"rgb")};var Vn=m,Kn=Math.sqrt,Gn=Math.pow;Un.lrgb=function(e,A,t){var n=e._rgb,i=n[0],a=n[1],r=n[2],s=A._rgb,o=s[0],l=s[1],c=s[2];return new Vn(Kn(Gn(i,2)*(1-t)+Gn(o,2)*t),Kn(Gn(a,2)*(1-t)+Gn(l,2)*t),Kn(Gn(r,2)*(1-t)+Gn(c,2)*t),"rgb")};var Wn=m;Un.lab=function(e,A,t){var n=e.lab(),i=A.lab();return new Wn(n[0]+t*(i[0]-n[0]),n[1]+t*(i[1]-n[1]),n[2]+t*(i[2]-n[2]),"lab")};var zn=m,Xn=function(e,A,t,n){var i,a,r,s,o,l,c,d,h,u,g,p,w;return"hsl"===n?(r=e.hsl(),s=A.hsl()):"hsv"===n?(r=e.hsv(),s=A.hsv()):"hcg"===n?(r=e.hcg(),s=A.hcg()):"hsi"===n?(r=e.hsi(),s=A.hsi()):"lch"===n||"hcl"===n?(n="hcl",r=e.hcl(),s=A.hcl()):"oklch"===n&&(r=e.oklch().reverse(),s=A.oklch().reverse()),"h"!==n.substr(0,1)&&"oklch"!==n||(o=(i=r)[0],c=i[1],h=i[2],l=(a=s)[0],d=a[1],u=a[2]),isNaN(o)||isNaN(l)?isNaN(o)?isNaN(l)?p=Number.NaN:(p=l,1!=h&&0!=h||"hsv"==n||(g=d)):(p=o,1!=u&&0!=u||"hsv"==n||(g=c)):p=o+t*(l>o&&l-o>180?l-(o+360):l180?l+360-o:l-o),void 0===g&&(g=c+t*(d-c)),w=h+t*(u-h),new zn("oklch"===n?[w,g,p]:[p,g,w],n)},Yn=Xn,jn=function(e,A,t){return Yn(e,A,t,"lch")};Un.lch=jn,Un.hcl=jn;var Jn=m;Un.num=function(e,A,t){var n=e.num(),i=A.num();return new Jn(n+t*(i-n),"num")};var Zn=Xn;Un.hcg=function(e,A,t){return Zn(e,A,t,"hcg")};var qn=Xn;Un.hsi=function(e,A,t){return qn(e,A,t,"hsi")};var _n=Xn;Un.hsl=function(e,A,t){return _n(e,A,t,"hsl")};var $n=Xn;Un.hsv=function(e,A,t){return $n(e,A,t,"hsv")};var ei=m;Un.oklab=function(e,A,t){var n=e.oklab(),i=A.oklab();return new ei(n[0]+t*(i[0]-n[0]),n[1]+t*(i[1]-n[1]),n[2]+t*(i[2]-n[2]),"oklab")};var Ai=Xn;Un.oklch=function(e,A,t){return Ai(e,A,t,"oklch")};var ti=m,ni=c.clip_rgb,ii=Math.pow,ai=Math.sqrt,ri=Math.PI,si=Math.cos,oi=Math.sin,li=Math.atan2,ci=function(e,A){for(var t=e.length,n=[0,0,0,0],i=0;i.9999999&&(n[3]=1),new ti(ni(n))},di=B,hi=c.type,ui=Math.pow,gi=function(e){var A="rgb",t=di("#ccc"),n=0,i=[0,1],a=[],r=[0,0],s=!1,o=[],l=!1,c=0,d=1,h=!1,u={},g=!0,p=1,w=function(e){if((e=e||["#fff","#000"])&&"string"===hi(e)&&di.brewer&&di.brewer[e.toLowerCase()]&&(e=di.brewer[e.toLowerCase()]),"array"===hi(e)){1===e.length&&(e=[e[0],e[0]]),e=e.slice(0);for(var A=0;A2?function(e){if(null!=s){for(var A=s.length-1,t=0;t=s[t];)t++;return t-1}return 0}(e)/(s.length-2):d!==c?(e-c)/(d-c):1,l=f(l),n||(l=m(l)),1!==p&&(l=ui(l,p)),l=r[0]+l*(1-r[0]-r[1]),l=Math.min(1,Math.max(0,l));var h=Math.floor(1e4*l);if(g&&u[h])i=u[h];else{if("array"===hi(o))for(var w=0;w=B&&w===a.length-1){i=o[w];break}if(l>B&&l2){var l=e.map((function(A,t){return t/(e.length-1)})),h=e.map((function(e){return(e-c)/(d-c)}));h.every((function(e,A){return l[A]===e}))||(f=function(e){if(e<=0||e>=1)return e;for(var A=0;e>=h[A+1];)A++;var t=(e-h[A])/(h[A+1]-h[A]);return l[A]+t*(l[A+1]-l[A])})}}return i=[c,d],b},b.mode=function(e){return arguments.length?(A=e,E(),b):A},b.range=function(e,A){return w(e),b},b.out=function(e){return l=e,b},b.spread=function(e){return arguments.length?(n=e,b):n},b.correctLightness=function(e){return null==e&&(e=!0),h=e,E(),m=h?function(e){for(var A=B(0,!0).lab()[0],t=B(1,!0).lab()[0],n=A>t,i=B(e,!0).lab()[0],a=A+(t-A)*e,r=i-a,s=0,o=1,l=20;Math.abs(r)>.01&&l-- >0;)n&&(r*=-1),r<0?(s=e,e+=.5*(o-e)):(o=e,e+=.5*(s-e)),r=(i=B(e,!0).lab()[0])-a;return e}:function(e){return e},b},b.padding=function(e){return null!=e?("number"===hi(e)&&(e=[e,e]),r=e,b):r},b.colors=function(A,t){arguments.length<2&&(t="hex");var n=[];if(0===arguments.length)n=o.slice(0);else if(1===A)n=[b(.5)];else if(A>1){var a=i[0],r=i[1]-a;n=pi(0,A,!1).map((function(e){return b(a+e/(A-1)*r)}))}else{e=[];var l=[];if(s&&s.length>2)for(var c=1,d=s.length,h=1<=d;h?cd;h?c++:c--)l.push(.5*(s[c-1]+s[c]));else l=i;n=l.map((function(e){return b(e)}))}return di[t]&&(n=n.map((function(e){return e[t]()}))),n},b.cache=function(e){return null!=e?(g=e,b):g},b.gamma=function(e){return null!=e?(p=e,b):p},b.nodata=function(e){return null!=e?(t=di(e),b):t},b};function pi(e,A,t){for(var n=[],i=ea;i?r++:r--)n.push(r);return n}var wi=m,mi=gi,fi=B,Bi=function(e,A,t){if(!Bi[t])throw new Error("unknown blend mode "+t);return Bi[t](e,A)},Ei=function(e){return function(A,t){var n=fi(t).rgb(),i=fi(A).rgb();return fi.rgb(e(n,i))}},bi=function(e){return function(A,t){var n=[];return n[0]=e(A[0],t[0]),n[1]=e(A[1],t[1]),n[2]=e(A[2],t[2]),n}};Bi.normal=Ei(bi((function(e){return e}))),Bi.multiply=Ei(bi((function(e,A){return e*A/255}))),Bi.screen=Ei(bi((function(e,A){return 255*(1-(1-e/255)*(1-A/255))}))),Bi.overlay=Ei(bi((function(e,A){return A<128?2*e*A/255:255*(1-2*(1-e/255)*(1-A/255))}))),Bi.darken=Ei(bi((function(e,A){return e>A?A:e}))),Bi.lighten=Ei(bi((function(e,A){return e>A?e:A}))),Bi.dodge=Ei(bi((function(e,A){return 255===e||(e=A/255*255/(1-e/255))>255?255:e}))),Bi.burn=Ei(bi((function(e,A){return 255*(1-(1-A/255)/(e/255))})));for(var Ci=Bi,vi=c.type,yi=c.clip_rgb,Fi=c.TWOPI,xi=Math.pow,Qi=Math.sin,Ui=Math.cos,Si=B,Ti=m,Ii=Math.floor,ki=Math.random,Mi=r,Li=Math.log,Oi=Math.pow,Ni=Math.floor,Hi=Math.abs,Di=function(e,A){void 0===A&&(A=null);var t={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===Mi(e)&&(e=Object.values(e)),e.forEach((function(e){A&&"object"===Mi(e)&&(e=e[A]),null==e||isNaN(e)||(t.values.push(e),t.sum+=e,et.max&&(t.max=e),t.count+=1)})),t.domain=[t.min,t.max],t.limits=function(e,A){return Ri(t,e,A)},t},Ri=function(e,A,t){void 0===A&&(A="equal"),void 0===t&&(t=7),"array"==Mi(e)&&(e=Di(e));var n=e.min,i=e.max,a=e.values.sort((function(e,A){return e-A}));if(1===t)return[n,i];var r=[];if("c"===A.substr(0,1)&&(r.push(n),r.push(i)),"e"===A.substr(0,1)){r.push(n);for(var s=1;s 0");var o=Math.LOG10E*Li(n),l=Math.LOG10E*Li(i);r.push(n);for(var c=1;c200&&(B=!1)}for(var O={},N=0;N=360;)g-=360;r[u]=g}else r[u]=r[u]/s[u];return h/=n,new ti(r,A).alpha(h>.99999?1:h,!0)},la.bezier=function(e){var A=function(e){var A,t,n,i,a,r,s;if(e=e.map((function(e){return new wi(e)})),2===e.length)A=e.map((function(e){return e.lab()})),a=A[0],r=A[1],i=function(e){var A=[0,1,2].map((function(A){return a[A]+e*(r[A]-a[A])}));return new wi(A,"lab")};else if(3===e.length)t=e.map((function(e){return e.lab()})),a=t[0],r=t[1],s=t[2],i=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*a[A]+2*(1-e)*e*r[A]+e*e*s[A]}));return new wi(A,"lab")};else if(4===e.length){var o;n=e.map((function(e){return e.lab()})),a=n[0],r=n[1],s=n[2],o=n[3],i=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*(1-e)*a[A]+3*(1-e)*(1-e)*e*r[A]+3*(1-e)*e*e*s[A]+e*e*e*o[A]}));return new wi(A,"lab")}}else{if(!(e.length>=5))throw new RangeError("No point in running bezier with only one color.");var l,c,d;l=e.map((function(e){return e.lab()})),d=e.length-1,c=function(e){for(var A=[1,1],t=1;tn?(t+.05)/(n+.05):(n+.05)/(t+.05)},la.deltaE=function(e,A,t,n,i){void 0===t&&(t=1),void 0===n&&(n=1),void 0===i&&(i=1);var a=function(e){return 360*e/(2*_i)},r=function(e){return 2*_i*e/360};e=new Ki(e),A=new Ki(A);var s=Array.from(e.lab()),o=s[0],l=s[1],c=s[2],d=Array.from(A.lab()),h=d[0],u=d[1],g=d[2],p=(o+h)/2,w=(Gi(Wi(l,2)+Wi(c,2))+Gi(Wi(u,2)+Wi(g,2)))/2,m=.5*(1-Gi(Wi(w,7)/(Wi(w,7)+Wi(25,7)))),f=l*(1+m),B=u*(1+m),E=Gi(Wi(f,2)+Wi(c,2)),b=Gi(Wi(B,2)+Wi(g,2)),C=(E+b)/2,v=a(Yi(c,f)),y=a(Yi(g,B)),F=v>=0?v:v+360,x=y>=0?y:y+360,Q=ji(F-x)>180?(F+x+360)/2:(F+x)/2,U=1-.17*Ji(r(Q-30))+.24*Ji(r(2*Q))+.32*Ji(r(3*Q+6))-.2*Ji(r(4*Q-63)),S=x-F;S=ji(S)<=180?S:x<=F?S+360:S-360,S=2*Gi(E*b)*Zi(r(S)/2);var T=h-o,I=b-E,k=1+.015*Wi(p-50,2)/Gi(20+Wi(p-50,2)),M=1+.045*C,L=1+.015*C*U,O=30*qi(-Wi((Q-275)/25,2)),N=-2*Gi(Wi(C,7)/(Wi(C,7)+Wi(25,7)))*Zi(2*r(O)),H=Gi(Wi(T/(t*k),2)+Wi(I/(n*M),2)+Wi(S/(i*L),2)+N*(I/(n*M))*(S/(i*L)));return Xi(0,zi(100,H))},la.distance=function(e,A,t){void 0===t&&(t="lab"),e=new $i(e),A=new $i(A);var n=e.get(t),i=A.get(t),a=0;for(var r in n){var s=(n[r]||0)-(i[r]||0);a+=s*s}return Math.sqrt(a)},la.limits=Pi.limits,la.valid=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];try{return new(Function.prototype.bind.apply(ea,[null].concat(e))),!0}catch(e){return!1}},la.scales=na,la.colors=dt,la.brewer=oa,la}();var chroma=chroma$1.exports;function hexWithAlpha(e,A){return chroma(e).alpha(A).css()}function has(e,A){return e.hasAttribute(A)}function get(e,A,t){return e.getAttribute(A)||t||""}function getNum(e,A,t){const n=Number(get(e,A));return NaN===n?t||0:n}const attrHandlers={stroke:({el:e,exVals:A})=>{const t=get(e,"stroke");A.strokeColor=has(e,"stroke-opacity")?hexWithAlpha(t,getNum(e,"stroke-opacity")):t},"stroke-opacity":({el:e,exVals:A})=>{A.strokeColor=hexWithAlpha(get(e,"stroke","#000000"),getNum(e,"stroke-opacity"))},"stroke-width":({el:e,exVals:A})=>{A.strokeWidth=getNum(e,"stroke-width")},fill:({el:e,exVals:A})=>{const t=get(e,"fill");A.backgroundColor="none"===t?"#00000000":t},"fill-opacity":({el:e,exVals:A})=>{A.backgroundColor=hexWithAlpha(get(e,"fill","#000000"),getNum(e,"fill-opacity"))},opacity:({el:e,exVals:A})=>{A.opacity=getNum(e,"opacity",100)}};function presAttrsToElementValues(e){return[...e.attributes].reduce(((A,t)=>{const n=t.name;return Object.keys(attrHandlers).includes(n)&&attrHandlers[n]({el:e,exVals:A}),A}),{})}function filterAttrsToElementValues(e){const A={};return has(e,"x")&&(A.x=getNum(e,"x")),has(e,"y")&&(A.y=getNum(e,"y")),has(e,"width")&&(A.width=getNum(e,"width")),has(e,"height")&&(A.height=getNum(e,"height")),A}function pointsAttrToPoints(e){let A=[];return has(e,"points")&&(A=get(e,"points").split(" ").map((e=>e.split(",").map(parseFloat)))),A}function getGroupAttrs(e){return e.reduce(((e,{element:A})=>{const t=presAttrsToElementValues(A);return Object.assign(Object.assign({},e),t)}),{})}class Group{constructor(e){this.id=randomId(),this.element=e}}function createExElement(){return{id:randomId(),x:0,y:0,strokeColor:"#000000",backgroundColor:"#000000",fillStyle:"solid",strokeWidth:1,strokeStyle:"solid",strokeSharpness:"sharp",roughness:0,opacity:100,width:0,height:0,angle:0,seed:Math.floor(random.next()*2**31),version:0,versionNonce:0,isDeleted:!1,groupIds:[],boundElementIds:null}}function createExRect(){return Object.assign(Object.assign({},createExElement()),{type:"rectangle"})}function createExLine(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}function createExEllipse(){return Object.assign(Object.assign({},createExElement()),{type:"ellipse"})}function createExDraw(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}const transformFunctions={matrix:"matrix",matrix3d:"matrix3d",perspective:"perspective",rotate:"rotate",rotate3d:"rotate3d",rotateX:"rotateX",rotateY:"rotateY",rotateZ:"rotateZ",scale:"scale",scale3d:"scale3d",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",skew:"skew",skewX:"skewX",skewY:"skewY",translate:"translate",translate3d:"translate3d",translateX:"translateX",translateY:"translateY",translateZ:"translateZ"},transformFunctionsArr=Object.keys(transformFunctions),defaultUnits={matrix:"",matrix3d:"",perspective:"perspective",rotate:"deg",rotate3d:"deg",rotateX:"deg",rotateY:"deg",rotateZ:"deg",scale:"",scale3d:"",scaleX:"",scaleY:"",scaleZ:"",skew:"skew",skewX:"deg",skewY:"deg",translate:"px",translate3d:"px",translateX:"px",translateY:"px",translateZ:"px"},svgTransformToCSSTransform=e=>{const A=e.match(/(\w+)\(([^)]*)\)/g);if(!A)return"";const t=A.map((e=>{const A=e.split("(")[0];if(!A)throw new Error("Unable to find transform name");if(!transformFunctionsArr.includes(A))throw new Error(`transform function name "${A}" is not valid`);const t=e.match(/([-+]?[0-9]*\.?[0-9]+)([a-z])*/g);if(!t)return{type:A,values:[]};let n=t.map((e=>{const[t,n]=e.matchAll(/([-+]?[0-9]*\.?[0-9]+)|([a-z])*/g);return{unit:n[0]||defaultUnits[A],value:t[0]}}));return n&&"rotate"===A&&(null==n?void 0:n.length)>1&&(n=[n[0]]),{type:A,values:n}}));return t.map((({type:e,values:A})=>`${e}(${A.map((({unit:e,value:A})=>`${A}${e}`)).join(", ")})`)).join(" ")};function getElementMatrix(e){if(e.hasAttribute("transform")){const A=new DOMMatrix(svgTransformToCSSTransform(e.getAttribute("transform")||""));return multiply(create$1(),create$1(),A.toFloat32Array())}return create$1()}function getTransformMatrix(e,A){return A.map((({element:e})=>getElementMatrix(e))).concat([getElementMatrix(e)]).reduce(((e,A)=>multiply(e,e,A)),create$1())}function transformPoints(e,A){return e.map((([e,t])=>{const[n,i]=transformMat4(create(),fromValues(e,t,1),A);return[n,i]}))}function distance(e,A){return Math.sqrt(distanceSq(e,A))}function distanceSq(e,A){return Math.pow(e[0]-A[0],2)+Math.pow(e[1]-A[1],2)}function distanceToSegmentSq(e,A,t){const n=distanceSq(A,t);if(0===n)return distanceSq(e,A);let i=((e[0]-A[0])*(t[0]-A[0])+(e[1]-A[1])*(t[1]-A[1]))/n;return i=Math.max(0,Math.min(1,i)),distanceSq(e,lerp(A,t,i))}function lerp(e,A,t){return[e[0]+(A[0]-e[0])*t,e[1]+(A[1]-e[1])*t]}function flatness(e,A){const t=e[A+0],n=e[A+1],i=e[A+2],a=e[A+3];let r=3*n[0]-2*t[0]-a[0];r*=r;let s=3*n[1]-2*t[1]-a[1];s*=s;let o=3*i[0]-2*a[0]-t[0];o*=o;let l=3*i[1]-2*a[1]-t[1];return l*=l,r1&&i.push(t):i.push(t),i.push(e[A+3])}else{const n=.5,a=e[A+0],r=e[A+1],s=e[A+2],o=e[A+3],l=lerp(a,r,n),c=lerp(r,s,n),d=lerp(s,o,n),h=lerp(l,c,n),u=lerp(c,d,n),g=lerp(h,u,n);getPointsOnBezierCurveWithSplitting([a,l,h,g],0,t,i),getPointsOnBezierCurveWithSplitting([g,u,d,o],0,t,i)}return i}function simplify(e,A){return simplifyPoints(e,0,e.length,A)}function simplifyPoints(e,A,t,n,i){const a=i||[],r=e[A],s=e[t-1];let o=0,l=1;for(let n=A+1;no&&(o=A,l=n)}return Math.sqrt(o)>n?(simplifyPoints(e,A,l+1,n,a),simplifyPoints(e,l,t,n,a)):(a.length||a.push(r),a.push(s)),a}function pointsOnBezierCurves(e,A=.15,t){const n=[],i=(e.length-1)/3;for(let t=0;t0?simplifyPoints(n,0,n.length,t):n}const COMMAND=0,NUMBER=1,EOD=2,PARAMS={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function tokenize(e){const A=new Array;for(;""!==e;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))A[A.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];A[A.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length)}return A[A.length]={type:2,text:""},A}function isType(e,A){return e.type===A}function parsePath(e){const A=[],t=tokenize(e);let n="BOD",i=0,a=t[i];for(;!isType(a,2);){let r=0;const s=[];if("BOD"===n){if("M"!==a.text&&"m"!==a.text)return parsePath("M0,0"+e);i++,r=PARAMS[a.text],n=a.text}else isType(a,1)?r=PARAMS[n]:(i++,r=PARAMS[a.text],n=a.text);if(!(i+rn%2?e+t:e+A));a.push({key:"C",data:e}),A=e[4],t=e[5];break}case"Q":a.push({key:"Q",data:[...s]}),A=s[2],t=s[3];break;case"q":{const e=s.map(((e,n)=>n%2?e+t:e+A));a.push({key:"Q",data:e}),A=e[2],t=e[3];break}case"A":a.push({key:"A",data:[...s]}),A=s[5],t=s[6];break;case"a":A+=s[5],t+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],A,t]});break;case"H":a.push({key:"H",data:[...s]}),A=s[0];break;case"h":A+=s[0],a.push({key:"H",data:[A]});break;case"V":a.push({key:"V",data:[...s]}),t=s[0];break;case"v":t+=s[0],a.push({key:"V",data:[t]});break;case"S":a.push({key:"S",data:[...s]}),A=s[2],t=s[3];break;case"s":{const e=s.map(((e,n)=>n%2?e+t:e+A));a.push({key:"S",data:e}),A=e[2],t=e[3];break}case"T":a.push({key:"T",data:[...s]}),A=s[0],t=s[1];break;case"t":A+=s[0],t+=s[1],a.push({key:"T",data:[A,t]});break;case"Z":case"z":a.push({key:"Z",data:[]}),A=n,t=i}return a}function normalize(e){const A=[];let t="",n=0,i=0,a=0,r=0,s=0,o=0;for(const{key:l,data:c}of e){switch(l){case"M":A.push({key:"M",data:[...c]}),[n,i]=c,[a,r]=c;break;case"C":A.push({key:"C",data:[...c]}),n=c[4],i=c[5],s=c[2],o=c[3];break;case"L":A.push({key:"L",data:[...c]}),[n,i]=c;break;case"H":n=c[0],A.push({key:"L",data:[n,i]});break;case"V":i=c[0],A.push({key:"L",data:[n,i]});break;case"S":{let e=0,a=0;"C"===t||"S"===t?(e=n+(n-s),a=i+(i-o)):(e=n,a=i),A.push({key:"C",data:[e,a,...c]}),s=c[0],o=c[1],n=c[2],i=c[3];break}case"T":{const[e,a]=c;let r=0,l=0;"Q"===t||"T"===t?(r=n+(n-s),l=i+(i-o)):(r=n,l=i);const d=n+2*(r-n)/3,h=i+2*(l-i)/3,u=e+2*(r-e)/3,g=a+2*(l-a)/3;A.push({key:"C",data:[d,h,u,g,e,a]}),s=r,o=l,n=e,i=a;break}case"Q":{const[e,t,a,r]=c,l=n+2*(e-n)/3,d=i+2*(t-i)/3,h=a+2*(e-a)/3,u=r+2*(t-r)/3;A.push({key:"C",data:[l,d,h,u,a,r]}),s=e,o=t,n=a,i=r;break}case"A":{const e=Math.abs(c[0]),t=Math.abs(c[1]),a=c[2],r=c[3],s=c[4],o=c[5],l=c[6];0===e||0===t?(A.push({key:"C",data:[n,i,o,l,o,l]}),n=o,i=l):n===o&&i===l||(arcToCubicCurves(n,i,o,l,e,t,a,r,s).forEach((function(e){A.push({key:"C",data:e})})),n=o,i=l);break}case"Z":A.push({key:"Z",data:[]}),n=a,i=r}t=l}return A}function degToRad(e){return Math.PI*e/180}function rotate(e,A,t){return[e*Math.cos(t)-A*Math.sin(t),e*Math.sin(t)+A*Math.cos(t)]}function arcToCubicCurves(e,A,t,n,i,a,r,s,o,l){const c=degToRad(r);let d=[],h=0,u=0,g=0,p=0;if(l)[h,u,g,p]=l;else{[e,A]=rotate(e,A,-c),[t,n]=rotate(t,n,-c);const r=(e-t)/2,l=(A-n)/2;let d=r*r/(i*i)+l*l/(a*a);d>1&&(d=Math.sqrt(d),i*=d,a*=d);const w=i*i,m=a*a,f=w*m-w*l*l-m*r*r,B=w*l*l+m*r*r,E=(s===o?-1:1)*Math.sqrt(Math.abs(f/B));g=E*i*l/a+(e+t)/2,p=E*-a*r/i+(A+n)/2,h=Math.asin(parseFloat(((A-p)/a).toFixed(9))),u=Math.asin(parseFloat(((n-p)/a).toFixed(9))),eu&&(h-=2*Math.PI),!o&&u>h&&(u-=2*Math.PI)}let w=u-h;if(Math.abs(w)>120*Math.PI/180){const e=u,A=t,s=n;u=o&&u>h?h+120*Math.PI/180*1:h+120*Math.PI/180*-1,d=arcToCubicCurves(t=g+i*Math.cos(u),n=p+a*Math.sin(u),A,s,i,a,r,0,o,[u,e,g,p])}w=u-h;const m=Math.cos(h),f=Math.sin(h),B=Math.cos(u),E=Math.sin(u),b=Math.tan(w/4),C=4/3*i*b,v=4/3*a*b,y=[e,A],F=[e+C*f,A-v*m],x=[t+C*E,n-v*B],Q=[t,n];if(F[0]=2*y[0]-F[0],F[1]=2*y[1]-F[1],l)return[F,x,Q].concat(d);{d=[F,x,Q].concat(d);const e=[];for(let A=0;A{s.length>=4&&a.push(...pointsOnBezierCurves(s,A)),s=[]},l=()=>{o(),a.length&&(i.push(a),a=[])};for(const{key:e,data:A}of n)switch(e){case"M":l(),r=[A[0],A[1]],a.push(r);break;case"L":o(),a.push([A[0],A[1]]);break;case"C":if(!s.length){const e=a.length?a[a.length-1]:r;s.push([e[0],e[1]])}s.push([A[0],A[1]]),s.push([A[2],A[3]]),s.push([A[4],A[5]]);break;case"Z":o(),a.push([r[0],r[1]])}if(l(),!t)return i;const c=[];for(const e of i){const A=simplify(e,t);A.length&&c.push(A)}return c}const SUPPORTED_TAGS=["svg","path","g","use","circle","ellipse","rect","polyline","polygon"],nodeValidator=e=>SUPPORTED_TAGS.includes(e.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;function createTreeWalker(e){return document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:nodeValidator})}const presAttrs=(e,A)=>Object.assign(Object.assign(Object.assign({},getGroupAttrs(A)),presAttrsToElementValues(e)),filterAttrsToElementValues(e)),skippedUseAttrs=["id"],allwaysPassedUseAttrs=["x","y","width","height","href","xlink:href"],getDefElWithCorrectAttrs=(e,A)=>[...A.attributes].reduce(((t,n)=>(skippedUseAttrs.includes(n.value)||e.hasAttribute(n.name)&&!allwaysPassedUseAttrs.includes(n.name)||t.setAttribute(n.name,A.getAttribute(n.name)||""),t)),e.cloneNode()),walkers={svg:e=>{walk(e,e.tw.nextNode())},g:e=>{const A=Object.assign(Object.assign({},e),{tw:createTreeWalker(e.tw.currentNode),groups:[...e.groups,new Group(e.tw.currentNode)]});walk(A,A.tw.nextNode()),walk(e,e.tw.nextSibling())},use:e=>{const{root:A,tw:t,scene:n}=e,i=t.currentNode,a=i.getAttribute("href")||i.getAttribute("xlink:href");if(!a)throw new Error("unable to get id of use element");const r=A.querySelector(a);if(!r)throw new Error(`unable to find def element with id: ${a}`);const s=new ExcalidrawScene,o=getDefElWithCorrectAttrs(r,i);walk(Object.assign(Object.assign({},e),{scene:s,tw:createTreeWalker(o)}),o);const l=s.elements.pop();l&&n.elements.push(l),walk(e,e.tw.nextNode())},circle:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getNum(i,"r",0),r=2*a,s=getNum(i,"x",0)+getNum(i,"cx",0)-a,o=getNum(i,"y",0)+getNum(i,"cy",0)-a,l=getTransformMatrix(i,n),c=fromValues$1(r,0,0,0,0,r,0,0,0,0,1,0,s,o,0,1),d=multiply(create$1(),l,c),h=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(i,n)),{x:d[12],y:d[13],width:d[0],height:d[5],groupIds:n.map((e=>e.id))});t.elements.push(h),walk(e,A.nextNode())},ellipse:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getNum(i,"rx",0),r=getNum(i,"ry",0),s=getNum(i,"cx",0),o=getNum(i,"cy",0),l=getNum(i,"x",0)+s-a,c=getNum(i,"y",0)+o-r,d=2*a,h=2*r,u=getTransformMatrix(i,n),g=fromValues$1(d,0,0,0,0,h,0,0,0,0,1,0,l,c,0,1),p=multiply(create$1(),u,g),w=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(i,n)),{x:p[12],y:p[13],width:p[0],height:p[5],groupIds:n.map((e=>e.id))});t.elements.push(w),walk(e,A.nextNode())},line:e=>{walk(e,e.tw.nextNode())},polygon:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=transformPoints(pointsAttrToPoints(i),getTransformMatrix(i,n)),r=a[0][0],s=a[0][1],o=a.map((([e,A])=>[e-r,A-s])),[l,c]=dimensionsFromPoints(o),d=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(n)),presAttrsToElementValues(i)),{points:o.concat([[0,0]]),x:r,y:s,width:l,height:c});t.elements.push(d),walk(e,e.tw.nextNode())},polyline:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getTransformMatrix(i,n),r=transformPoints(pointsAttrToPoints(i),a),s=r[0][0],o=r[0][1],l=r.map((([e,A])=>[e-s,A-o])),[c,d]=dimensionsFromPoints(l),h=has(i,"fill"),u=get(i,"fill"),g=!h||h&&"none"!==u,p=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(n)),presAttrsToElementValues(i)),{points:l.concat(g?[[0,0]]:[]),x:s,y:o,width:c,height:d});t.elements.push(p),walk(e,e.tw.nextNode())},rect:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getNum(i,"x",0),r=getNum(i,"y",0),s=getNum(i,"width",0),o=getNum(i,"height",0),l=getTransformMatrix(i,n),c=fromValues$1(s,0,0,0,0,o,0,0,0,0,1,0,a,r,0,1),d=multiply(create$1(),l,c),h=i.hasAttribute("rx")||i.hasAttribute("ry"),u=Object.assign(Object.assign(Object.assign({},createExRect()),presAttrs(i,n)),{x:d[12],y:d[13],width:d[0],height:d[5],strokeSharpness:h?"round":"sharp"});t.elements.push(u),walk(e,e.tw.nextNode())},path:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getTransformMatrix(i,n),r=pointsOnPath(get(i,"d")),s=get(i,"fill","black"),o=get(i,"fill-rule","nonzero");let l=[],c=randomId();switch(o){case"nonzero":let e="clockwise";l=r.map(((A,t)=>{const r=transformPoints(A,clone(a)),o=r[0][0],l=r[0][1],[d,h]=dimensionsFromPoints(r),u=r.map((([e,A])=>[e-o,A-l])),g=getWindingOrder(u);0===t&&(e=g,c=randomId());let p=s;return e!==g&&(p="#FFFFFF"),Object.assign(Object.assign(Object.assign(Object.assign({},createExDraw()),{strokeWidth:0,strokeColor:"#00000000"}),presAttrs(i,n)),{points:u,backgroundColor:p,width:d,height:h,x:o+getNum(i,"x",0),y:l+getNum(i,"y",0),groupIds:[c]})}));break;case"evenodd":l=r.map(((e,A)=>{const t=transformPoints(e,clone(a)),r=t[0][0],s=t[0][1],[o,l]=dimensionsFromPoints(t),d=t.map((([e,A])=>[e-r,A-s]));return 0===A&&(c=randomId()),Object.assign(Object.assign(Object.assign({},createExDraw()),presAttrs(i,n)),{points:d,width:o,height:l,x:r+getNum(i,"x",0),y:s+getNum(i,"y",0)})}))}t.elements=t.elements.concat(l),walk(e,A.nextNode())}};function walk(e,A){if(!A)return;const t=A.nodeName;walkers[t]&&walkers[t](e)}const svgToExcalidraw=e=>{const A=(new DOMParser).parseFromString(e,"image/svg+xml"),t=A.querySelectorAll("parsererror"),n=t.length>0;let i=null;if(n)console.error("There were errors while parsing the given SVG: ",[...t].map((e=>e.innerHTML)));else{const e=createTreeWalker(A),t=new ExcalidrawScene;walk({tw:e,scene:t,groups:[],root:A},e.nextNode()),i=t.elements}return{hasErrors:n,errors:n?t:null,content:i}};B([r$c,z,e$a,l$3,b$1,v,h$1,i$5,i$4,h,u,c$1,s]);const{determineFocusDistance:determineFocusDistance,intersectElementWithLine:intersectElementWithLine,getCommonBoundingBox:getCommonBoundingBox,getMaximumGroups:getMaximumGroups,measureText:measureText}=excalidrawLib,GAP=4;class ExcalidrawAutomate{constructor(e,A){this.targetView=null,this.mostRecentMarkdownSVG=null,this.onViewUnloadHook=null,this.onViewModeChangeHook=null,this.onLinkHoverHook=null,this.onLinkClickHook=null,this.onDropHook=null,this.onCanvasColorChangeHook=null,this.activeScript=null,this.plugin=e,this.reset(),this.targetView=A}getAPI(e){return new ExcalidrawAutomate(this.plugin,e)}setFillStyle(e){switch(e){case 0:return this.style.fillStyle="hachure","hachure";case 1:return this.style.fillStyle="cross-hatch","cross-hatch";default:return this.style.fillStyle="solid","solid"}}setStrokeStyle(e){switch(e){case 0:return this.style.strokeStyle="solid","solid";case 1:return this.style.strokeStyle="dashed","dashed";default:return this.style.strokeStyle="dotted","dotted"}}setStrokeSharpness(e){return 0===e?(this.style.strokeSharpness="round","round"):(this.style.strokeSharpness="sharp","sharp")}setFontFamily(e){switch(e){case 1:return this.style.fontFamily=4,getFontFamily(4);case 2:return this.style.fontFamily=2,getFontFamily(2);case 3:return this.style.fontFamily=3,getFontFamily(3);default:return this.style.fontFamily=1,getFontFamily(1)}}setTheme(e){return 0===e?(this.canvas.theme="light","light"):(this.canvas.theme="dark","dark")}addToGroup(e){const A=nanoid();return e.forEach((e=>{var t,n;null===(n=null===(t=this.elementsDict[e])||void 0===t?void 0:t.groupIds)||void 0===n||n.push(A)})),A}async toClipboard(e){const A=e?await getTemplate(this.plugin,e,!1,new EmbeddedFilesLoader(this.plugin),0):null;let t=A?A.elements:[];t=t.concat(this.getElements()),navigator.clipboard.writeText(JSON.stringify({type:"excalidraw/clipboard",elements:t}))}getElements(){const e=[],A=Object.keys(this.elementsDict);for(let t=0;t{const e=this.getElements().filter((e=>"text"===e.type));let A="# Text Elements\n";return e.forEach((e=>{var t,n;A+=`${null!==(t=e.rawText)&&void 0!==t?t:null!==(n=e.originalText)&&void 0!==n?n:e.text} ^${e.id}\n\n`})),this.getElements().filter((e=>"text"!==e.type&&e.link)).forEach((e=>{A+=`${e.link} ^${e.id}\n\n`})),A+=Object.keys(this.imagesDict).length>0?"\n# Embedded files\n":"",Object.keys(this.imagesDict).forEach((e=>{const t=this.imagesDict[e];t.latex?A+=`${e}: $$${t.latex}$$\n`:A+=`${e}: [[${t.file}]]\n`})),A})()+getMarkdownDrawingSection(JSON.stringify(V,null,"\t"),this.plugin.settings.compress))}async createSVG(e,A=!1,t,n,i,a){return i||(i=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),i&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),n||(n=new EmbeddedFilesLoader(this.plugin,i?"dark"===i:void 0)),await createSVG(e,A,t,n,i,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}async createPNG(e,A=1,t,n,i,a){return i||(i=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),i&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),n||(n=new EmbeddedFilesLoader(this.plugin,i?"dark"===i:void 0)),await createPNG(e,A,t,n,i,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}wrapText(e,A){return wrapTextAtCharLength(e,A,this.plugin.settings.forceWrap)}boxedElement(e,A,t,n,i,a){return{id:e,type:A,x:t,y:n,width:i,height:a,angle:this.style.angle,strokeColor:this.style.strokeColor,backgroundColor:this.style.backgroundColor,fillStyle:this.style.fillStyle,strokeWidth:this.style.strokeWidth,strokeStyle:this.style.strokeStyle,roughness:this.style.roughness,opacity:this.style.opacity,strokeSharpness:this.style.strokeSharpness,seed:Math.floor(1e5*Math.random()),version:1,versionNonce:Math.floor(1e9*Math.random()),updated:Date.now(),isDeleted:!1,groupIds:[],boundElements:[],link:null,locked:!1}}addRect(e,A,t,n){const i=nanoid();return this.elementsDict[i]=this.boxedElement(i,"rectangle",e,A,t,n),i}addDiamond(e,A,t,n){const i=nanoid();return this.elementsDict[i]=this.boxedElement(i,"diamond",e,A,t,n),i}addEllipse(e,A,t,n){const i=nanoid();return this.elementsDict[i]=this.boxedElement(i,"ellipse",e,A,t,n),i}addBlob(e,A,t,n){const i=.5*n,a=.5*t,r=a/9,s=.8*i,o=[],l=(t,n)=>{const l=t+Math.random()*r-r/2;o.push([l+Math.random()*r-r/2+t%2*r/6+e,n*Math.sqrt(i*i*(1-l*l/(a*a)))+Math.random()*s-s/2+t%2*s/6+A])};let c;for(c=r/2-a;c<=a-r/2;c+=a/6)l(c,1);for(c=a-r/2;c>=r/2-a;c-=a/6)l(c,-1);o.push(o[0]);const d=this.addLine((e=>{const A=getLineBox(e),i=t/A.w,a=n/A.h;let r;for(r=0;r500){const e=500/Math.max(r.size.width,r.size.height);r.size.width=e*r.size.width,r.size.height=e*r.size.height}return this.elementsDict[i]=this.boxedElement(i,"image",e,A,r.size.width,r.size.height),this.elementsDict[i].fileId=s,this.elementsDict[i].scale=[1,1],i}async addLaTex(e,A,t){const n=nanoid(),i=await tex2dataURL(t,this.plugin);return i?(this.imagesDict[i.fileId]={mimeType:i.mimeType,id:i.fileId,dataURL:i.dataURL,created:i.created,file:null,hasSVGwithBitmap:!1,latex:t},this.elementsDict[n]=this.boxedElement(n,"image",e,A,i.size.width,i.size.height),this.elementsDict[n].fileId=i.fileId,this.elementsDict[n].scale=[1,1],n):null}connectObjects(e,A,t,n,i){if(!this.elementsDict[e]||!this.elementsDict[t])return;if(["line","arrow","freedraw"].includes(this.elementsDict[e].type)||["line","arrow","freedraw"].includes(this.elementsDict[t].type))return;const a=(null==i?void 0:i.padding)?i.padding:10,r=(null==i?void 0:i.numberOfPoints)?i.numberOfPoints:0,s=(e,A)=>{switch(e){case"bottom":return[(A.x+(A.x+A.width))/2,A.y+A.height+a];case"left":return[A.x-a,(A.y+(A.y+A.height))/2];case"right":return[A.x+A.width+a,(A.y+(A.y+A.height))/2];default:return[(A.x+(A.x+A.width))/2,A.y-a]}};let o,l,c,d;const h=this.elementsDict[e],u=this.elementsDict[t];if(!A||!n){const e=h.x+h.width/2,t=u.x+u.width/2,i=h.y+h.height/2,a=u.y+u.height/2;if(!A){const A=intersectElementWithLine(h,[t,a],[e,i],4);0===A.length?[o,l]=[e,i]:[o,l]=A[0]}if(!n){const A=intersectElementWithLine(u,[e,i],[t,a],4);0===A.length?[c,d]=[t,a]:[c,d]=A[0]}}A&&([o,l]=s(A,this.elementsDict[e])),n&&([c,d]=s(n,this.elementsDict[t]));const g=r+2,p=[];for(let e=0;eMath.PI/2&&(n-=Math.PI),this.style.angle=n;const a=this.addText(t.x+t.points[1][0]/2-i.width/2,t.y+t.points[1][1]/2-i.height,A);return this.style.angle=0,a}clear(){this.elementsDict={},this.imagesDict={}}reset(){this.clear(),this.activeScript=null,this.style={strokeColor:"#000000",backgroundColor:"transparent",angle:0,fillStyle:"hachure",strokeWidth:1,strokeStyle:"solid",roughness:1,opacity:100,strokeSharpness:"sharp",fontFamily:1,fontSize:20,textAlign:"left",verticalAlign:"top",startArrowHead:null,endArrowHead:"arrow"},this.canvas={theme:"light",viewBackgroundColor:"#FFFFFF",gridSize:0}}isExcalidrawFile(e){return this.plugin.isExcalidrawFile(e)}setView(e){if("active"==e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(!(e instanceof ExcalidrawView))return;this.targetView=e}if("first"==e){const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}return e instanceof ExcalidrawView&&(this.targetView=e),this.targetView}getExcalidrawAPI(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.excalidrawAPI:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getViewElements(){var e;if(!this.targetView||!(null===(e=this.targetView)||void 0===e?void 0:e._loaded))return errorMessage("targetView not set","getViewElements()"),[];const A=this.targetView.excalidrawAPI;return A?A.getSceneElements():[]}deleteViewElements(e){var A,t,n;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","deleteViewElements()"),!1;const i=null===(n=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawRef)||void 0===n?void 0:n.current;if(!i)return!1;const a=i.getSceneElements(),r=i.getAppState();return this.targetView.updateScene({elements:a.filter((A=>!e.includes(A))),appState:r,commitToHistory:!0}),!0}getViewSelectedElement(){const e=this.getViewSelectedElements();return e?e[0]:null}getViewSelectedElements(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.getViewSelectedElements():(errorMessage("targetView not set","getViewSelectedElements()"),[])}getViewFileForImageElement(e){var A,t,n,i;return this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&"image"===e.type?null===(i=null===(n=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawData)||void 0===n?void 0:n.getFile(e.fileId))||void 0===i?void 0:i.file:(errorMessage("Must provide an image element as input","getViewFileForImageElement()"),null):(errorMessage("targetView not set","getViewFileForImageElement()"),null)}copyViewElementsToEAforEditing(e){e.forEach((e=>{this.elementsDict[e.id]=cloneElement(e)}))}viewToggleFullScreen(e=!1){var A;if(app.isMobile)return void errorMessage("mobile not supported","viewToggleFullScreen()");if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");if(e){const e=this.getExcalidrawAPI();this.targetView.updateScene({appState:Object.assign({viewModeEnabled:!0},e.appState),commitToHistory:!1})}const t=this.targetView;t.isFullscreen()?t.exitFullscreen():t.gotoFullscreen()}connectObjectWithViewSelectedElement(e,A,t,n){const i=this.getViewSelectedElement();if(!i)return!1;const a=i.id;return this.elementsDict[a]=i,this.connectObjects(e,A,a,t,n),delete this.elementsDict[a],!0}async addElementsToView(e=!1,A=!0,t=!1){var n;if(!this.targetView||!(null===(n=this.targetView)||void 0===n?void 0:n._loaded))return errorMessage("targetView not set","addElementsToView()"),!1;const i=this.getElements();return await this.targetView.addElements(i,e,A,this.imagesDict,t)}registerThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}deregisterThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}getEmbeddedFilesLoader(e){return new EmbeddedFilesLoader(this.plugin,e)}getExportSettings(e,A){return{withBackground:e,withTheme:A}}getBoundingBox(e){const A=getCommonBoundingBox(e);return{topX:A.minX,topY:A.minY,width:A.maxX-A.minX,height:A.maxY-A.minY}}getMaximumGroups(e){return getMaximumGroups(e)}getLargestElement(e){if(!e||0===e.length)return null;let A=e[0];const t=e=>e.height*e.width;let n=t(e[0]);for(let i=1;in&&(n=a,A=e[i])}return A}getCommonGroupForElements(e){const A=e.map((e=>e.groupIds)).reduce(((e,A)=>A.filter((A=>e.includes(A)))));return A.length>0?A[0]:null}getElementsInTheSameGroupWithElement(e,A){if(!e||!A)return[];const t="text"===e.type&&e.containerId?A.filter((A=>A.id===e.containerId)):[];return 0===e.groupIds.length?1===t.length?[e,t[0]]:[e]:1===t.length?A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))||A===t[0])):A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))))}intersectElementWithLine(e,A,t,n){return intersectElementWithLine(e,A,t,n)}getScriptSettings(){var e;return this.activeScript?null!==(e=this.plugin.settings.scriptEngineSettings[this.activeScript])&&void 0!==e?e:{}:null}async setScriptSettings(e){if(!this.activeScript)return null;this.plugin.settings.scriptEngineSettings[this.activeScript]=e,await this.plugin.saveSettings()}openFileInNewOrAdjacentLeaf(e){if(!(e&&e instanceof obsidian.TFile))return null;if(!this.targetView)return null;const A=getNewOrAdjacentLeaf(this.plugin,this.targetView.leaf);return A.openFile(e,{active:!0}),A}measureText(e){var A,t;const n=_measureText(e,this.style.fontSize,this.style.fontFamily);return{width:null!==(A=n.w)&&void 0!==A?A:0,height:null!==(t=n.h)&&void 0!==t?t:0}}async getOriginalImageSize(e){var A;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","getOriginalImageSize()"),null;if(!e||"image"!==e.type)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const t=this.targetView.excalidrawData.getFile(e.fileId);if(!t)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const n="dark"===this.getExcalidrawAPI().getAppState().theme,i=t.getImage(n);return await getImageSize(i)}verifyMinimumPluginVersion(e){return PLUGIN_VERSION===e||isVersionNewerThanOther(PLUGIN_VERSION,e)}isExcalidrawView(e){return e instanceof ExcalidrawView}selectElementsInView(e){var A;this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&0!==e.length&&this.getExcalidrawAPI().selectElements(e):errorMessage("targetView not set","selectElementsInView()")}generateElementId(){return nanoid()}cloneElement(e){const A=JSON.parse(JSON.stringify(e));return A.id=nanoid(),A}moveViewElementToZIndex(e,A){var t;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return void errorMessage("targetView not set","moveViewElementToZIndex()");const n=this.getExcalidrawAPI(),i=this.getViewElements(),a=i.filter((A=>A.id===e));if(0===a.length)return void errorMessage(`Element (id: ${e}) not found`,"moveViewElementToZIndex");if(A>=i.length)return void n.bringToFront(a);if(A<0)return void n.sendToBack(a);const r=i.indexOf(a[0]);i.splice(A,0,i.splice(r,1)[0]),this.targetView.updateScene({elements:i,commitToHistory:!0})}hexStringToRgb(e){const A=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return[parseInt(A[1],16),parseInt(A[2],16),parseInt(A[3],16)]}rgbToHexString(e){return O$1({r:e[0],g:e[1],b:e[2]}).stringHEX({alpha:!1})}hslToRgb(e){const A=O$1({h:e[0],s:e[1],l:e[2]});return[A.red,A.green,A.blue]}rgbToHsl(e){const A=O$1({r:e[0],g:e[1],b:e[2]});return[A.hue,A.saturation,A.lightness]}colorNameToHex(e){return COLOR_NAMES.has(e.toLowerCase().trim())?COLOR_NAMES.get(e.toLowerCase().trim()):e.trim()}getCM(e){if(e)return"string"==typeof e&&(e=this.colorNameToHex(e)),O$1(e);log("Creates a CM object. Visit https://github.com/lbragile/ColorMaster for documentation.")}importSVG(e){const A=svgToExcalidraw(e);return A.hasErrors?(new obsidian.Notice(`There were errors while parsing the given SVG:\n${[...A.errors].map((e=>e.innerHTML))}`),!1):(this.copyViewElementsToEAforEditing(A.content),!0)}}async function initExcalidrawAutomate(e){await initFonts();const A=new ExcalidrawAutomate(e);return window.ExcalidrawAutomate=A,A}function destroyExcalidrawAutomate(){delete window.ExcalidrawAutomate}function normalizeLinePoints(e){const A=[],[t,n]=e[0];for(let i=0;i-1||A.search("excalidraw-plugin: locked\n")>-1;await a.loadData(A,l,o?TextMode.parsed:TextMode.raw);let d=A.search("# Text Elements\n");-1==d&&(d=A.search("# Drawing\n"));let h=a.scene;t&&await n.loadSceneFiles(a,(e=>{if(e&&0!==e.length){for(const A of e)A.hasSVGwithBitmap&&(c=!0),a.scene.files[A.id]={mimeType:A.mimeType,id:A.id,dataURL:A.dataURL,created:A.created};h=scaleLoadedImage(a.scene,e).scene}}),i);let u=h.elements;if(s.hasGroupref){const A=s.hasSectionref?getTextElementsMatchingQuery(h.elements,["# "+s.sectionref],!0):h.elements.filter((e=>e.id===s.blockref));A.length>0&&(u=e.ea.getElementsInTheSameGroupWithElement(A[0],h.elements))}return s.hasTaskbone&&(u=u.filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!e.isExcalidrawFile(null===(t=a.getFile(A.fileId))||void 0===t?void 0:t.file)}))),{elements:u,appState:h.appState,frontmatter:A.substring(0,d),files:h.files,hasSVGwithBitmap:c}}return{elements:[],appState:{},frontmatter:null,files:[],hasSVGwithBitmap:c}}async function createPNG(e,A=1,t,n,i,a,r,s=[],o,l,c,d){var h,u,g,p,w,m,f;n||(n=new EmbeddedFilesLoader(o)),c=null!=c?c:o.settings.exportPaddingSVG;const B=e?await getTemplate(o,e,!0,n,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s);const b=null!=d?d:{};return(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e})),await getPNG({type:"excalidraw",version:2,source:"https://excalidraw.com",elements:E,appState:{theme:null!==(g=null!=i?i:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(w=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==w?w:r},files:b},{withBackground:null!==(m=null==t?void 0:t.withBackground)&&void 0!==m?m:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c,A)}async function createSVG(e,A=!1,t,n,i,a,r,s=[],o,l,c,d){var h,u,g,p,w,m,f;n||(n=new EmbeddedFilesLoader(o));const B=e?await getTemplate(o,e,!0,n,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s),c=null!=c?c:o.settings.exportPaddingSVG;const b=null!=d?d:{};(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e}));const C=await getSVG({type:"excalidraw",version:2,source:"https://excalidraw.com",elements:E,appState:{theme:null!==(g=null!=i?i:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(w=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==w?w:r},files:b},{withBackground:null!==(m=null==t?void 0:t.withBackground)&&void 0!==m?m:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c),v=getEmbeddedFilenameParts(e);if(!v.hasGroupref&&(v.hasBlockref||v.hasSectionref)){let e=v.hasSectionref?getTextElementsMatchingQuery(E,["# "+v.sectionref],!0):E.filter((e=>e.id===v.blockref));if(e.length>0){const A=e[0].containerId;A&&(e=e.concat(E.filter((e=>e.id===A))));const t=o.ea.getBoundingBox(e),n=o.ea.getBoundingBox(E);C.viewBox.baseVal.x=t.topX-n.topX,C.viewBox.baseVal.y=t.topY-n.topY,C.viewBox.baseVal.width=t.width+2*c,C.viewBox.baseVal.height=t.height+2*c}}return(null==B?void 0:B.hasSVGwithBitmap)&&C.setAttribute("hasbitmap","true"),A?embedFontsInSVG(C,o):C}function estimateLineBound(e){let A=1/0,t=1/0,n=-1/0,i=-1/0;for(const[a,r]of e)A=Math.min(A,a),t=Math.min(t,r),n=Math.max(n,a),i=Math.max(i,r);return[A,t,n,i]}function estimateBounds(e){const A=getCommonBoundingBox(e);return[A.minX,A.minY,A.maxX,A.maxY]}function repositionElementsToCursor(e,A,t=!1){const[n,i,a,r]=estimateBounds(e);let[s,o]=[0,0];return[s,o]=t?[A.x-(n+a)/2,A.y-(i+r)/2]:[A.x-n,A.y-i],e.forEach((e=>{e.x=e.x+s,e.y=e.y+o})),e}function errorMessage(e,A){switch(e){case"targetView not set":errorlog({where:"ExcalidrawAutomate",source:A,message:"targetView not set, or no longer active. Use setView before calling this function"});break;case"mobile not supported":errorlog({where:"ExcalidrawAutomate",source:A,message:"this function is not avalable on Obsidian Mobile"});break;default:errorlog({where:"ExcalidrawAutomate",source:A,message:"unknown error"})}}const insertLaTeXToView=e=>{const A=e.plugin.app,t=e.plugin.ea;new Prompt(A,t$d("ENTER_LATEX"),"","\\color{red}\\oint_S {E_n dA = \\frac{1}{{\\varepsilon _0 }}} Q_{inside}").openAndGetValue((async A=>{A&&(t.reset(),await t.addLaTex(0,0,A),t.setView(e),t.addElementsToView(!0,!1,!0))}))},search=async e=>{const A=e.plugin.ea;A.reset(),A.setView(e);const t=A.getViewElements().filter((e=>"text"===e.type));if(0===t.length)return;let n=await ScriptEngine.inputPrompt(e.plugin.app,"Search for","use quotation marks for exact match","");if(!n)return;const i=n.matchAll(/"(.*?)"/g);let a,r=[];for(;!(a=i.next()).done;)r.push(a.value[1]);n=n.replaceAll(/"(.*?)"/g,""),r=r.concat(n.split(" ").filter((e=>0!==e.length))),A.targetView.selectElementsMatchingQuery(t,r)},getTextElementsMatchingQuery=(e,A,t=!1)=>e&&0!==e.length&&A&&0!==A.length?e.filter((e=>"text"===e.type&&A.some((A=>{if(t){const t=e.rawText.toLowerCase().split("\n")[0].trim().match(/^#*(# .*)/);return!(!t||2!==t.length)&&t[1]===A.toLowerCase()}return e.rawText.toLowerCase().replaceAll("\n"," ").trim().match(A.toLowerCase())})))):[],cloneElement=e=>Object.assign(Object.assign({},e),{version:e.version+1,updated:Date.now(),versionNonce:Math.floor(1e9*Math.random())}),URL$1="https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/index-new.md";class ScriptInstallPrompt extends obsidian.Modal{constructor(e){super(e.app),this.plugin=e}async onOpen(){this.contentEl.classList.add("excalidraw-scriptengine-install"),this.containerEl.classList.add("excalidraw-scriptengine-install");try{const e=await obsidian.request({url:URL$1});if(!e)return new obsidian.Notice("Error opening the Excalidraw Script Store page. Please double check that you can access the website. I've logged the link in developer console (press CTRL+SHIFT+i)",5e3),log(URL$1),void this.close();await obsidian.MarkdownRenderer.renderMarkdown(e,this.contentEl,"",this.plugin),this.contentEl.querySelectorAll("h1[data-heading],h2[data-heading],h3[data-heading]").forEach((e=>{e.setAttribute("id",e.getAttribute("data-heading"))})),this.contentEl.querySelectorAll("a.internal-link").forEach((e=>{e.removeAttribute("target")}))}catch(e){errorlog({where:"ScriptInstallPrompt.onOpen",error:e}),new obsidian.Notice("Could not open ScriptEngine repository"),this.close()}}onClose(){this.contentEl.empty()}}function toVal(e){var A,t,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(A=0;AReact__namespace.createElement("label",{className:clsx("ToolIcon ToolIcon_type_floating","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{this.toolsRef.current.setTheme(A.theme),this.toolsRef.current.toggleVisibility(A.zenModeEnabled||e)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 166 267"},React__namespace.createElement("path",{fill:"transparent",d:"M0 0h165.742v267.245H0z"}),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#bd7efc",strokeWidth:"0",d:"M55.5 96.49 39.92 57.05 111.28 10l4.58 36.54L55.5 95.65"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M55.5 96.49c-5.79-14.66-11.59-29.33-15.58-39.44M55.5 96.49c-3.79-9.59-7.58-19.18-15.58-39.44m0 0C60.13 43.72 80.34 30.4 111.28 10M39.92 57.05C60.82 43.27 81.73 29.49 111.28 10m0 0c.97 7.72 1.94 15.45 4.58 36.54M111.28 10c1.14 9.12 2.29 18.24 4.58 36.54m0 0C95.41 63.18 74.96 79.82 55.5 95.65m60.36-49.11C102.78 57.18 89.71 67.82 55.5 95.65m0 0v.84m0-.84v.84"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#e2c4ff",strokeWidth:"0",d:"m111.234 10.06 44.51 42.07-40.66-5.08-3.85-36.99"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 10.06c11.83 11.18 23.65 22.36 44.51 42.07m-44.51-42.07 44.51 42.07m0 0c-13.07-1.63-26.13-3.27-40.66-5.08m40.66 5.08c-11.33-1.41-22.67-2.83-40.66-5.08m0 0c-1.17-11.29-2.35-22.58-3.85-36.99m3.85 36.99c-1.47-14.17-2.95-28.33-3.85-36.99m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#2f005e",strokeWidth:"0",d:"m10 127.778 45.77-32.99-15.57-38.08-30.2 71.07"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M10 127.778c16.85-12.14 33.7-24.29 45.77-32.99M10 127.778c16.59-11.95 33.17-23.91 45.77-32.99m0 0c-6.14-15.02-12.29-30.05-15.57-38.08m15.57 38.08c-4.08-9.98-8.16-19.96-15.57-38.08m0 0c-11.16 26.27-22.33 52.54-30.2 71.07m30.2-71.07c-10.12 23.81-20.23 47.61-30.2 71.07m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#410380",strokeWidth:"0",d:"m40.208 235.61 15.76-140.4-45.92 32.92 30.16 107.48"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.208 235.61c3.7-33.01 7.41-66.02 15.76-140.4m-15.76 140.4c3.38-30.16 6.77-60.32 15.76-140.4m0 0c-10.83 7.76-21.66 15.53-45.92 32.92m45.92-32.92c-11.69 8.38-23.37 16.75-45.92 32.92m0 0c6.84 24.4 13.69 48.8 30.16 107.48m-30.16-107.48c6.67 23.77 13.33 47.53 30.16 107.48m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#943feb",strokeWidth:"0",d:"m111.234 240.434-12.47 16.67-42.36-161.87 58.81-48.3 40.46 5.25-44.44 188.25"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 240.434c-3.79 5.06-7.57 10.12-12.47 16.67m12.47-16.67c-4.43 5.93-8.87 11.85-12.47 16.67m0 0c-16.8-64.17-33.59-128.35-42.36-161.87m42.36 161.87c-9.74-37.2-19.47-74.41-42.36-161.87m0 0c15.03-12.35 30.07-24.7 58.81-48.3m-58.81 48.3c22.49-18.47 44.97-36.94 58.81-48.3m0 0c9.48 1.23 18.95 2.46 40.46 5.25m-40.46-5.25c13.01 1.69 26.02 3.38 40.46 5.25m0 0c-10.95 46.41-21.91 92.82-44.44 188.25m44.44-188.25c-12.2 51.71-24.41 103.42-44.44 188.25m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#6212b3",strokeWidth:"0",d:"m40.379 235.667 15.9-140.21 42.43 161.79-58.33-21.58"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.379 235.667c4.83-42.62 9.67-85.25 15.9-140.21m-15.9 140.21c5.84-51.52 11.69-103.03 15.9-140.21m0 0c10.98 41.87 21.96 83.74 42.43 161.79m-42.43-161.79c13.28 50.63 26.56 101.25 42.43 161.79m0 0c-11.8-4.37-23.6-8.74-58.33-21.58m58.33 21.58c-21.73-8.04-43.47-16.08-58.33-21.58m0 0s0 0 0 0m0 0s0 0 0 0"}))))),this.plugin=e,this.toolsRef=A}}class ActionButton extends React__namespace.Component{constructor(e){super(e),this.toastMessageTimeout=0,this.state={visible:!0}}render(){return React__namespace.createElement("button",{style:{},className:"ToolIcon_type_button ToolIcon_size_small ToolIcon_type_button--show ToolIcon",title:this.props.title,onClick:e=>{this.toastMessageTimeout&&(window.clearTimeout(this.toastMessageTimeout),this.toastMessageTimeout=0),this.props.action(e)},onPointerDown:()=>{this.toastMessageTimeout=window.setTimeout((()=>{var e;return null===(e=this.props.view.excalidrawAPI)||void 0===e?void 0:e.setToast({message:this.props.title})}),300)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},this.props.icon))}}const ICONS={exportLibrary:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 200 190",fill:"var(--icon-fill-color)"},React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M50 10h20v20H50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M50 10h20m-20 0h20m0 0v20m0-20v20m0 0H50m20 0H50m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M90 10h20v20H90"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M90 10h20m-20 0h20m0 0v20m0-20v20m0 0H90m20 0H90m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M130 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M130 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M170 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M170 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M70 50h60v80h20l-50 50-50-50h20V50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M70 50h60m-60 0h60m0 0v80m0-80v80m0 0h20m-20 0h20m0 0-50 50m50-50-50 50m0 0-50-50m50 50-50-50m0 0h20m-20 0h20m0 0V50m0 80V50m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M10 10h20v20H10"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M10 10h20m-20 0h20m0 0v20m0-20v20m0 0H10m20 0H10m0 0V10m0 20V10"}))),insertImage:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"})),insertMD:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"})),insertLaTeX:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"})),insertLink:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"})),exportSVG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"S")),exportPNG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"P")),exportExcalidraw:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",strokeWidth:"2"},React__namespace.createElement("g",{transform:"translate(30,5)"},React__namespace.createElement("path",{d:"M14.45 1.715c-2.723 2.148-6.915 5.797-10.223 8.93l-2.61 2.445.477 3.207c.258 1.75.738 5.176 1.031 7.582.332 2.406.66 4.668.773 4.996.145.438 0 .656-.406.656-.699 0-.734-.183 1.176 5.832.7 2.297 1.363 4.414 1.434 4.633.074.254.367.363.699.254.332-.145.515-.438.406-.691-.113-.293.074-.586.367-.696.403-.144.367-.437-.258-1.492-.992-1.64-3.53-15.64-3.675-20.164-.11-3.207-.11-3.242 1.25-5.066 1.324-1.786 4.375-4.485 9.078-7.91 1.324-.985 2.648-2.079 3.015-2.446.551-.656.809-.472 5.442 4.414 2.683 2.805 5.664 5.688 6.617 6.414l1.766 1.313-1.36 2.844c-.734 1.53-3.715 7.437-6.656 13.054-6.137 11.813-4.887 10.68-12.02 10.79l-4.632.038-1.547 1.75c-1.617 1.86-1.836 2.551-1.063 3.72.293.398.512 1.054.512 1.456 0 .656.258.766 1.73.84.918.035 1.762.145 1.875.254.11.11.258 2.371.368 5.031l.144 4.813-2.46 5.25C1.616 72.516 0 76.527 0 77.84c0 .691.148 1.273.293 1.273.367 0 .367-.035 15.332-30.988 6.95-14.363 13.531-27.89 14.633-30.113 1.101-2.227 2.094-4.266 2.168-4.559.074-.328-2.461-2.844-6.508-6.379C22.281 3.864 19.082.95 18.785.621c-.844-1.023-2.094-.695-4.336 1.094zM15.7 43.64c-1.692 3.246-1.766 3.28-6.4 3.5-4.081.218-4.152.183-4.152-.582 0-.438-.148-1.024-.332-1.313-.222-.328-.074-.914.442-1.715l.808-1.238h3.676c2.024-.04 4.34-.184 5.149-.328.808-.149 1.507-.219 1.578-.184.074.035-.293.875-.77 1.86zm-3.09 5.832c-.294.765-1.067 2.37-1.692 3.574-1.027 2.043-1.137 2.113-1.395 1.277-.148-.511-.257-2.008-.296-3.355-.036-2.66-.11-2.625 2.98-2.809l.992-.035zm0 0"}),React__namespace.createElement("path",{d:"M15.55 10.39c-.66.473-.843.95-.843 2.153 0 1.422.11 1.64 1.102 2.039.992.402 1.25.367 2.39-.398 1.508-1.024 1.543-1.278.442-2.918-.957-1.422-1.914-1.676-3.09-.875zm2.098 1.313c.586 1.02.22 1.785-.882 1.785-.993 0-1.434-.984-.883-1.968.441-.801 1.285-.727 1.765.183zm0 0M38.602 18.594c0 .183-.22.363-.477.363-.219 0-.844 1.023-1.324 2.262-1.469 3.793-16.176 32.629-16.211 31.718 0-.472-.223-.8-.59-.8-.516 0-.59.289-.367 1.71.219 1.641.074 2.008-5.149 12.071-2.941 5.723-6.101 11.703-7.02 13.305-.956 1.68-1.69 3.5-1.765 4.265-.11 1.313.035 1.496 3.235 4.23 1.84 1.606 4.191 3.61 5.222 4.52 4.63 4.196 6.801 5.871 7.387 5.762.883-.145 14.523-14.328 14.559-15.129 0-.367-.66-5.906-1.47-12.324-1.398-10.938-2.722-23.734-2.573-24.973.109-.765-.442-4.633-.844-6.308-.332-1.313-.184-1.86 2.46-7.84 1.544-3.535 3.567-7.875 4.45-9.625.844-1.75 1.582-3.281 1.582-3.39 0-.11-.258-.18-.55-.18-.298 0-.555.144-.555.363zm-8.454 27.234c.403 2.55 1.211 8.676 1.801 13.598 1.14 9.043 2.461 19.07 2.832 21.62.219 1.278.07 1.532-2.316 4.157-4.156 4.629-8.567 9.188-10.074 10.356l-1.399 1.093-7.168-6.636c-6.617-6.051-7.168-6.672-6.765-7.403.222-.398 2.097-3.789 4.156-7.508 2.058-3.718 4.777-8.68 6.027-11.011 1.29-2.371 2.465-4.41 2.684-4.52.258-.148.332 3.535.258 11.375-.149 11.703-.11 11.739 1.066 11.485.148 0 .258-5.907.258-13.09V56.293l3.86-7.656c2.132-4.23 3.898-7.621 3.972-7.586.07.039.441 2.187.808 4.777zm0 0"}))),search:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M500.3 443.7l-119.7-119.7c27.22-40.41 40.65-90.9 33.46-144.7C401.8 87.79 326.8 13.32 235.2 1.723C99.01-15.51-15.51 99.01 1.724 235.2c11.6 91.64 86.08 166.7 177.6 178.9c53.8 7.189 104.3-6.236 144.7-33.46l119.7 119.7c15.62 15.62 40.95 15.62 56.57 0C515.9 484.7 515.9 459.3 500.3 443.7zM79.1 208c0-70.58 57.42-128 128-128s128 57.42 128 128c0 70.58-57.42 128-128 128S79.1 278.6 79.1 208z"})),ocr:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"m6 18 6-12 6 12"}),React__namespace.createElement("path",{d:"M8 14h8"}),React__namespace.createElement("path",{d:"M3 7V5a2 2 0 0 1 2-2h2"}),React__namespace.createElement("path",{d:"M17 3h2a2 2 0 0 1 2 2v2"}),React__namespace.createElement("path",{d:"M21 17v2a2 2 0 0 1-2 2h-2"}),React__namespace.createElement("path",{d:"M7 21H5a2 2 0 0 1-2-2v-2"})),scriptEngine:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"4"},React__namespace.createElement("g",{transform:"translate(-8,-8)"},React__namespace.createElement("path",{d:"M24.318 37.983c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749m.126-.104c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749",fill:"none",strokeWidth:"2"}),React__namespace.createElement("path",{d:"M81.235 56.502a23.3 23.3 0 0 1-1.46 8.068 20.785 20.785 0 0 1-1.762 3.72 24.068 24.068 0 0 1-5.337 6.26 22.575 22.575 0 0 1-3.449 2.358 23.726 23.726 0 0 1-7.803 2.803 24.719 24.719 0 0 1-8.333 0 24.102 24.102 0 0 1-4.028-1.074 23.71 23.71 0 0 1-3.776-1.729 23.259 23.259 0 0 1-6.369-5.265 23.775 23.775 0 0 1-2.416-3.353 24.935 24.935 0 0 1-1.762-3.72 23.765 23.765 0 0 1-1.083-3.981 23.454 23.454 0 0 1 0-8.173c.252-1.336.604-2.698 1.083-3.956a24.935 24.935 0 0 1 1.762-3.72 22.587 22.587 0 0 1 2.416-3.378c.881-1.048 1.888-2.017 2.946-2.908a24.38 24.38 0 0 1 3.423-2.357 23.71 23.71 0 0 1 3.776-1.73 21.74 21.74 0 0 1 4.028-1.047 23.437 23.437 0 0 1 8.333 0 24.282 24.282 0 0 1 7.803 2.777 26.198 26.198 0 0 1 3.45 2.357 24.62 24.62 0 0 1 5.336 6.287 20.785 20.785 0 0 1 1.762 3.72 21.32 21.32 0 0 1 1.083 3.955c.251 1.336.302 3.405.377 4.086.05.681.05-.68 0 0",fill:"none"}),React__namespace.createElement("path",{d:"M69.404 56.633c-6.596-3.3-13.216-6.6-19.51-9.744m19.51 9.744c-6.747-3.379-13.493-6.758-19.51-9.744m0 0v19.489m0-19.49v19.49m0 0c4.355-2.148 8.71-4.322 19.51-9.745m-19.51 9.745c3.978-1.965 7.93-3.956 19.51-9.745m0 0h0m0 0h0"}))),openLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),openLinkProperties:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8",fill:"var(--icon-fill-color)"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),switchToMarkdown:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",strokeWidth:"10",fill:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"})),gotoFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 32H32C14.31 32 0 46.31 0 64v96c0 17.69 14.31 32 32 32s32-14.31 32-32V96h64c17.69 0 32-14.31 32-32S145.7 32 128 32zM416 32h-96c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32V64C448 46.31 433.7 32 416 32zM128 416H64v-64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96c0 17.69 14.31 32 32 32h96c17.69 0 32-14.31 32-32S145.7 416 128 416zM416 320c-17.69 0-32 14.31-32 32v64h-64c-17.69 0-32 14.31-32 32s14.31 32 32 32h96c17.69 0 32-14.31 32-32v-96C448 334.3 433.7 320 416 320z"})),exitFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 320H32c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32v-96C160 334.3 145.7 320 128 320zM416 320h-96c-17.69 0-32 14.31-32 32v96c0 17.69 14.31 32 32 32s32-14.31 32-32v-64h64c17.69 0 32-14.31 32-32S433.7 320 416 320zM320 192h96c17.69 0 32-14.31 32-32s-14.31-32-32-32h-64V64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96C288 177.7 302.3 192 320 192zM128 32C110.3 32 96 46.31 96 64v64H32C14.31 128 0 142.3 0 160s14.31 32 32 32h96c17.69 0 32-14.31 32-32V64C160 46.31 145.7 32 128 32z"})),releaseNotes:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M0 219.2v212.5c0 14.25 11.62 26.25 26.5 27C75.32 461.2 180.2 471.3 240 511.9V245.2C181.4 205.5 79.99 194.8 29.84 192C13.59 191.1 0 203.6 0 219.2zM482.2 192c-50.09 2.848-151.3 13.47-209.1 53.09C272.1 245.2 272 245.3 272 245.5v266.5c60.04-40.39 164.7-50.76 213.5-53.28C500.4 457.9 512 445.9 512 431.7V219.2C512 203.6 498.4 191.1 482.2 192zM352 96c0-53-43-96-96-96S160 43 160 96s43 96 96 96S352 149 352 96z"})),rawMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 60"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"4",d:"M20 10H10m10 0H10m0 0v40m0-40v40m0 0h10m-10 0h10M40 10H30m10 0H30m0 0v40m0-40v40m0 0h10m-10 0h10M60 10h10m-10 0h10m0 0v40m0-40v40m0 0H60m10 0H60M80 10h10m-10 0h10m0 0v40m0-40v40m0 0H80m10 0H80"})),parsedMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M574.1 280.4l-45.38-181.8c-5.875-23.63-21.62-44-43-55.75c-21.5-11.75-46.1-14.13-70.25-6.375l-15.25 5.125c-8.375 2.75-12.87 11.88-10 20.25l5 15.13c2.75 8.375 11.88 12.88 20.25 10.13l13.12-4.375c10.88-3.625 23-3.625 33.25 1.75c10.25 5.375 17.5 14.5 20.38 25.75l38.38 153.9c-22.12-6.875-49.75-12.5-81.13-12.5c-34.88 0-73.1 7-114.9 26.75H251.4C210.5 258.6 171.4 251.6 136.5 251.6c-31.38 0-59 5.625-81.12 12.5l38.38-153.9c2.875-11.25 10.12-20.38 20.5-25.75C124.4 79.12 136.5 79.12 147.4 82.74l13.12 4.375c8.375 2.75 17.5-1.75 20.25-10.13l5-15.13C188.6 53.49 184.1 44.37 175.6 41.62l-15.25-5.125c-23.13-7.75-48.75-5.375-70.13 6.375c-21.37 11.75-37.12 32.13-43 55.75L1.875 280.4C.6251 285.4 .0001 290.6 .0001 295.9v70.25C.0001 428.1 51.63 480 115.3 480h37.13c60.25 0 110.4-46 114.9-105.4l2.875-38.63h35.75l2.875 38.63C313.3 433.1 363.4 480 423.6 480h37.13c63.62 0 115.2-51 115.2-113.9V295.9C576 290.6 575.4 285.5 574.1 280.4zM203.4 369.7c-2 26-24.38 46.25-51 46.25H115.2C87 415.1 64 393.6 64 366.1v-37.5c18.12-6.5 43.38-13 72.62-13c23.88 0 47.25 4.375 69.88 13L203.4 369.7zM512 366.1c0 27.5-23 49.88-51.25 49.88h-37.13c-26.62 0-49-20.25-51-46.25l-3.125-41.13c22.62-8.625 46.13-13 70-13c29 0 54.38 6.5 72.5 13V366.1z"})),convertFile:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:"0 110 700 340",xmlns:"http://www.w3.org/2000/svg",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"m593.95 239.4v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4688-1.457-3.1875-2.6445-5.0742-3.5h-1.5742c-1.4727-0.49219-3.0039-0.78516-4.5508-0.875h-124.25c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v87.5h-70v-105.88-1.0508c-0.089844-1.5469-0.38281-3.0781-0.875-4.5508v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4727-1.457-3.1914-2.6445-5.0742-3.5h-1.5742c-1.7031-0.875-3.5352-1.4688-5.4258-1.75h-123.55c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v245c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-52.5h70v122.5c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-192.5-1.0508c-0.14453-1.5547-0.5-3.0859-1.0508-4.5508zm-313.95 110.6h-140v-210h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v87.5h-52.5c-6.2539 0-12.031 3.3359-15.156 8.75s-3.125 12.086 0 17.5 8.9023 8.75 15.156 8.75h52.5zm140 70v-105h27.824l-5.0742 5.0742c-3.7031 3.1719-5.9141 7.7461-6.1055 12.617-0.1875 4.8711 1.668 9.6016 5.1133 13.051 3.4492 3.4453 8.1797 5.3008 13.051 5.1133 4.8711-0.19141 9.4453-2.4023 12.617-6.1055l35-35c3.2578-3.2773 5.0898-7.7148 5.0898-12.336 0-4.625-1.832-9.0586-5.0898-12.34l-35-35c-4.5078-3.8555-10.66-5.1719-16.348-3.4883-5.6875 1.6797-10.137 6.1289-11.816 11.816-1.6836 5.6914-0.37109 11.844 3.4883 16.348l5.0742 5.0742h-27.824v-69.824h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v157.5z"})),cog:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z"})),trayMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M618.1 97.67c-13.02-4.375-27.45 .1562-35.72 11.16L464 266.7l-118.4-157.8c-8.266-11.03-22.64-15.56-35.72-11.16C296.8 102 288 114.2 288 128v256c0 17.69 14.33 32 32 32s32-14.31 32-32v-160l86.41 115.2c12.06 16.12 39.13 16.12 51.19 0L576 224v160c0 17.69 14.33 32 32 32s32-14.31 32-32v-256C640 114.2 631.2 102 618.1 97.67zM224 96.01H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h64v223.1c0 17.69 14.33 31.99 32 31.99s32-14.3 32-31.99V160h64c17.67 0 32-14.31 32-32S241.7 96.01 224 96.01z"})),copyElementLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 260 260","aria-hidden":"true",focusable:"false",role:"img"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"8",d:"M10 10h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0V10m0 40V10M210 10h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0V10m0 40V10M210 210h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0v-40m0 40v-40M10 210h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0v-40m0 40v-40M30 210V50m0 160V50M50 30h160M50 30h160M230 50v160m0-160v160M50 230h160m-160 0h160"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M110 90c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10m0-80c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10M150 90c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10m0-80c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M89.868 130.198c13.36-.03 66.78-.17 80.13-.2m-80.13.2c13.36-.03 66.78-.17 80.13-.2"})),importSVG:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 526 526"},React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"m133.462 71 .33-6.54.97-6.34 1.58-6.13 2.16-5.88 2.69-5.6 3.21-5.27 3.69-4.93 4.13-4.55 4.55-4.13 4.93-3.69 5.27-3.21 5.6-2.69 5.88-2.16 6.13-1.58 6.34-.97 6.54-.33h160v128l.16 3.28.49 3.18.79 3.07 1.07 2.94 1.35 2.8 1.6 2.63 1.84 2.47 2.06 2.27 2.27 2.06 2.47 1.84 2.63 1.6 2.8 1.35 2.94 1.07 3.07.79 3.18.49 3.28.16h128v288l-.33 6.54-.97 6.34-1.58 6.13-2.16 5.88-2.69 5.6-3.21 5.27-3.69 4.93-4.13 4.55-4.55 4.13-4.93 3.69-5.27 3.21-5.6 2.69-5.88 2.16-6.13 1.58-6.34.97-6.54.33h-256l-6.54-.33-6.34-.97-6.13-1.58-5.88-2.16-5.6-2.69-5.27-3.21-4.93-3.69-4.55-4.13-4.13-4.55-3.69-4.93-3.21-5.27-2.69-5.6-2.16-5.88-1.58-6.13-.97-6.34-.33-6.54V343h174.1l-39 39-1.65 1.83-1.43 1.94-1.22 2.05-.99 2.13-.77 2.2-.55 2.25-.33 2.29-.11 2.3.11 2.3.33 2.28.55 2.24.77 2.19.99 2.12 1.22 2.04 1.43 1.93 1.65 1.81 1.83 1.64 1.94 1.42 2.05 1.2 2.13.99 2.2.76 2.25.56 2.29.33 2.3.11 2.3-.1 2.28-.33 2.24-.54 2.19-.77 2.12-.98 2.04-1.21 1.93-1.43 1.81-1.65 80-80 1.65-1.83 1.43-1.94 1.22-2.05.99-2.13.77-2.2.55-2.25.33-2.29.11-2.3-.11-2.3-.33-2.28-.55-2.24-.77-2.19-.99-2.12-1.22-2.04-1.43-1.93-1.65-1.81-80-80-1.83-1.65-1.94-1.43-2.05-1.22-2.13-.99-2.2-.77-2.25-.55-2.29-.33-2.3-.11-2.3.11-2.28.33-2.24.55-2.19.77-2.12.99-2.04 1.22-1.93 1.43-1.81 1.65-1.64 1.83-1.42 1.94-1.2 2.05-.99 2.13-.76 2.2-.56 2.25-.33 2.29-.11 2.3.1 2.3.33 2.28.54 2.24.77 2.19.98 2.12 1.21 2.04 1.43 1.93 1.65 1.81 39 39h-174.1V71"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M133.462 71s0 0 0 0m0 0s0 0 0 0m0 0 .33-6.54m-.33 6.54c.13-2.57.26-5.13.33-6.54m0 0c.36-2.33.72-4.67.97-6.34m-.97 6.34c.35-2.26.69-4.53.97-6.34m0 0c.51-1.99 1.03-3.98 1.58-6.13m-1.58 6.13c.4-1.56.81-3.12 1.58-6.13m0 0c.81-2.22 1.62-4.43 2.16-5.88m-2.16 5.88c.45-1.22.9-2.44 2.16-5.88m0 0c.72-1.51 1.45-3.01 2.69-5.6m-2.69 5.6c.69-1.45 1.39-2.9 2.69-5.6m0 0c.93-1.52 1.86-3.05 3.21-5.27m-3.21 5.27c.97-1.59 1.94-3.18 3.21-5.27m0 0c.86-1.15 1.71-2.29 3.69-4.93m-3.69 4.93c.78-1.04 1.56-2.08 3.69-4.93m0 0c1.53-1.69 3.07-3.38 4.13-4.55m-4.13 4.55c1.54-1.69 3.07-3.38 4.13-4.55m0 0c1.03-.93 2.06-1.87 4.55-4.13m-4.55 4.13c.98-.89 1.97-1.78 4.55-4.13m0 0c1.64-1.23 3.28-2.46 4.93-3.69m-4.93 3.69c1.72-1.29 3.45-2.58 4.93-3.69m0 0c1.11-.68 2.23-1.35 5.27-3.21m-5.27 3.21c1.5-.91 3.01-1.83 5.27-3.21m0 0c1.87-.89 3.73-1.79 5.6-2.69m-5.6 2.69c2.09-1 4.17-2.01 5.6-2.69m0 0c1.72-.64 3.44-1.27 5.88-2.16m-5.88 2.16c1.94-.72 3.89-1.43 5.88-2.16m0 0c2.3-.59 4.6-1.19 6.13-1.58m-6.13 1.58c2.32-.6 4.65-1.2 6.13-1.58m0 0c2.06-.31 4.12-.63 6.34-.97m-6.34.97c2.34-.36 4.69-.72 6.34-.97m0 0c2.05-.1 4.09-.21 6.54-.33m-6.54.33c2.06-.1 4.12-.21 6.54-.33m0 0h160m-160 0h160m0 0v128m0-128v128m0 0s0 0 0 0m0 0s0 0 0 0m0 0 .16 3.28m-.16-3.28c.06 1.16.12 2.32.16 3.28m0 0c.13.82.26 1.64.49 3.18m-.49-3.18c.18 1.13.35 2.26.49 3.18m0 0c.24.95.49 1.91.79 3.07m-.79-3.07c.28 1.1.56 2.2.79 3.07m0 0c.39 1.06.78 2.13 1.07 2.94m-1.07-2.94c.42 1.15.84 2.3 1.07 2.94m0 0c.38.79.76 1.57 1.35 2.8m-1.35-2.8c.4.82.79 1.64 1.35 2.8m0 0c.45.75.91 1.5 1.6 2.63m-1.6-2.63c.4.65.8 1.31 1.6 2.63m0 0c.56.76 1.13 1.52 1.84 2.47m-1.84-2.47c.58.79 1.17 1.57 1.84 2.47m0 0c.75.82 1.5 1.65 2.06 2.27m-2.06-2.27c.75.82 1.5 1.65 2.06 2.27m0 0c.74.66 1.47 1.33 2.27 2.06m-2.27-2.06c.89.81 1.78 1.61 2.27 2.06m0 0c.69.51 1.37 1.02 2.47 1.84m-2.47-1.84c.68.5 1.35 1.01 2.47 1.84m0 0c.81.49 1.62.99 2.63 1.6m-2.63-1.6c.74.45 1.47.9 2.63 1.6m0 0c.72.35 1.43.69 2.8 1.35m-2.8-1.35c.61.3 1.22.59 2.8 1.35m0 0c.85.31 1.69.62 2.94 1.07m-2.94-1.07c1.03.38 2.07.75 2.94 1.07m0 0c.83.22 1.67.43 3.07.79m-3.07-.79 3.07.79m0 0c1.07.16 2.14.33 3.18.49m-3.18-.49c1.2.18 2.39.36 3.18.49m0 0 3.28.16m-3.28-.16c.97.04 1.93.09 3.28.16m0 0h128m-128 0h128m0 0v288m0-288v288m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.1 2.02-.2 4.04-.33 6.54m.33-6.54c-.13 2.52-.26 5.05-.33 6.54m0 0c-.33 2.14-.66 4.29-.97 6.34m.97-6.34c-.32 2.06-.63 4.12-.97 6.34m0 0c-.59 2.28-1.17 4.55-1.58 6.13m1.58-6.13c-.53 2.07-1.07 4.14-1.58 6.13m0 0c-.73 1.99-1.46 3.97-2.16 5.88m2.16-5.88c-.72 1.97-1.44 3.94-2.16 5.88m0 0c-.94 1.97-1.89 3.93-2.69 5.6m2.69-5.6c-.91 1.89-1.82 3.77-2.69 5.6m0 0c-.89 1.46-1.78 2.92-3.21 5.27m3.21-5.27c-.65 1.05-1.29 2.11-3.21 5.27m0 0c-1.13 1.51-2.25 3.01-3.69 4.93m3.69-4.93c-1.29 1.72-2.58 3.44-3.69 4.93m0 0c-1.29 1.42-2.58 2.84-4.13 4.55m4.13-4.55-4.13 4.55m0 0-4.55 4.13m4.55-4.13-4.55 4.13m0 0c-1.2.9-2.41 1.8-4.93 3.69m4.93-3.69-4.93 3.69m0 0c-1.56.95-3.13 1.9-5.27 3.21m5.27-3.21c-1.99 1.21-3.98 2.42-5.27 3.21m0 0c-1.8.86-3.6 1.73-5.6 2.69m5.6-2.69c-1.34.64-2.67 1.28-5.6 2.69m0 0c-2.24.82-4.48 1.65-5.88 2.16m5.88-2.16c-1.38.51-2.77 1.02-5.88 2.16m0 0c-1.46.38-2.93.76-6.13 1.58m6.13-1.58c-1.54.4-3.09.79-6.13 1.58m0 0c-2.12.32-4.24.65-6.34.97m6.34-.97c-2.47.38-4.94.75-6.34.97m0 0c-2.23.11-4.46.22-6.54.33m6.54-.33c-1.97.1-3.93.2-6.54.33m0 0h-256m256 0h-256m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-2.33-.12-4.66-.24-6.54-.33m6.54.33c-1.33-.07-2.65-.13-6.54-.33m0 0c-1.88-.29-3.77-.58-6.34-.97m6.34.97c-2.07-.32-4.14-.63-6.34-.97m0 0c-1.52-.39-3.04-.79-6.13-1.58m6.13 1.58c-2.02-.52-4.04-1.04-6.13-1.58m0 0c-1.6-.59-3.19-1.17-5.88-2.16m5.88 2.16c-1.9-.7-3.8-1.39-5.88-2.16m0 0c-1.41-.68-2.82-1.36-5.6-2.69m5.6 2.69c-1.6-.77-3.2-1.54-5.6-2.69m0 0c-1.4-.86-2.81-1.71-5.27-3.21m5.27 3.21c-2.08-1.27-4.17-2.54-5.27-3.21m0 0c-1.72-1.29-3.43-2.57-4.93-3.69m4.93 3.69c-1.79-1.34-3.57-2.67-4.93-3.69m0 0c-1.18-1.07-2.36-2.15-4.55-4.13m4.55 4.13c-1.64-1.49-3.27-2.97-4.55-4.13m0 0c-1.07-1.19-2.15-2.37-4.13-4.55m4.13 4.55c-1.46-1.61-2.93-3.23-4.13-4.55m0 0-3.69-4.93m3.69 4.93c-.88-1.17-1.76-2.35-3.69-4.93m0 0c-.83-1.37-1.67-2.75-3.21-5.27m3.21 5.27c-1.15-1.89-2.3-3.79-3.21-5.27m0 0c-1.03-2.14-2.05-4.27-2.69-5.6m2.69 5.6c-.68-1.43-1.37-2.85-2.69-5.6m0 0c-.8-2.17-1.59-4.34-2.16-5.88m2.16 5.88c-.82-2.22-1.63-4.44-2.16-5.88m0 0c-.47-1.82-.94-3.64-1.58-6.13m1.58 6.13c-.37-1.44-.74-2.88-1.58-6.13m0 0-.97-6.34m.97 6.34c-.3-1.98-.61-3.97-.97-6.34m0 0c-.13-2.54-.26-5.07-.33-6.54m.33 6.54-.33-6.54m0 0V343m0 112V343m0 0h174.1m-174.1 0h174.1m0 0-39 39m39-39-39 39m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.65.72-1.3 1.44-1.65 1.83m1.65-1.83c-.34.38-.68.76-1.65 1.83m0 0c-.35.47-.7.95-1.43 1.94m1.43-1.94c-.38.5-.75 1.01-1.43 1.94m0 0c-.32.54-.64 1.08-1.22 2.05m1.22-2.05c-.38.64-.76 1.28-1.22 2.05m0 0c-.2.45-.41.89-.99 2.13m.99-2.13c-.38.82-.76 1.64-.99 2.13m0 0c-.18.53-.36 1.05-.77 2.2m.77-2.2c-.3.88-.61 1.75-.77 2.2m0 0c-.15.61-.3 1.22-.55 2.25m.55-2.25c-.16.68-.33 1.35-.55 2.25m0 0-.33 2.29m.33-2.29c-.13.9-.26 1.79-.33 2.29m0 0-.11 2.3m.11-2.3c-.03.59-.06 1.19-.11 2.3m0 0c.03.54.05 1.08.11 2.3m-.11-2.3c.03.72.07 1.44.11 2.3m0 0c.1.71.21 1.43.33 2.28m-.33-2.28c.1.71.21 1.42.33 2.28m0 0c.22.88.44 1.77.55 2.24m-.55-2.24c.16.66.33 1.32.55 2.24m0 0c.26.72.51 1.45.77 2.19m-.77-2.19c.25.69.49 1.39.77 2.19m0 0c.33.7.65 1.4.99 2.12m-.99-2.12c.37.79.74 1.57.99 2.12m0 0c.38.63.75 1.25 1.22 2.04m-1.22-2.04c.4.67.8 1.35 1.22 2.04m0 0c.38.52.77 1.05 1.43 1.93m-1.43-1.93c.38.52.77 1.05 1.43 1.93m0 0c.46.5.91 1 1.65 1.81m-1.65-1.81c.35.39.7.77 1.65 1.81m0 0c.37.33.75.67 1.83 1.64m-1.83-1.64c.43.39.87.78 1.83 1.64m0 0c.62.45 1.25.91 1.94 1.42m-1.94-1.42c.45.32.9.65 1.94 1.42m0 0c.53.3 1.05.61 2.05 1.2m-2.05-1.2c.43.25.86.5 2.05 1.2m0 0c.78.36 1.56.72 2.13.99m-2.13-.99c.54.25 1.08.5 2.13.99m0 0c.67.23 1.33.46 2.2.76m-2.2-.76c.51.17 1.03.35 2.2.76m0 0c.87.22 1.73.43 2.25.56m-2.25-.56c.79.2 1.57.39 2.25.56m0 0 2.29.33m-2.29-.33c.58.08 1.16.16 2.29.33m0 0c.91.04 1.82.09 2.3.11m-2.3-.11c.89.04 1.79.09 2.3.11m0 0c.48-.02.96-.04 2.3-.1m-2.3.1c.73-.03 1.47-.06 2.3-.1m0 0c.61-.09 1.22-.18 2.28-.33m-2.28.33c.58-.09 1.17-.17 2.28-.33m0 0c.79-.19 1.59-.38 2.24-.54m-2.24.54c.88-.21 1.75-.42 2.24-.54m0 0c.7-.25 1.4-.49 2.19-.77m-2.19.77c.5-.18 1.01-.35 2.19-.77m0 0c.56-.26 1.13-.52 2.12-.98m-2.12.98c.69-.31 1.37-.63 2.12-.98m0 0c.63-.37 1.25-.74 2.04-1.21m-2.04 1.21c.8-.48 1.6-.95 2.04-1.21m0 0c.67-.5 1.34-.99 1.93-1.43m-1.93 1.43c.52-.39 1.05-.78 1.93-1.43m0 0c.43-.39.87-.79 1.81-1.65m-1.81 1.65c.42-.38.83-.76 1.81-1.65m0 0 80-80m-80 80 80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c.33-.37.67-.74 1.65-1.83m-1.65 1.83c.63-.7 1.27-1.4 1.65-1.83m0 0c.3-.4.59-.79 1.43-1.94m-1.43 1.94c.42-.57.84-1.13 1.43-1.94m0 0c.4-.68.8-1.35 1.22-2.05m-1.22 2.05c.47-.79.93-1.57 1.22-2.05m0 0c.28-.62.57-1.23.99-2.13m-.99 2.13c.3-.65.6-1.31.99-2.13m0 0c.26-.74.51-1.47.77-2.2m-.77 2.2.77-2.2m0 0 .55-2.25m-.55 2.25c.2-.84.41-1.68.55-2.25m0 0 .33-2.29m-.33 2.29c.11-.75.21-1.49.33-2.29m0 0c.03-.54.05-1.08.11-2.3m-.11 2.3c.04-.91.09-1.81.11-2.3m0 0c-.03-.7-.07-1.41-.11-2.3m.11 2.3c-.04-.75-.07-1.49-.11-2.3m0 0c-.08-.52-.15-1.04-.33-2.28m.33 2.28c-.09-.63-.18-1.26-.33-2.28m0 0-.55-2.24m.55 2.24c-.19-.79-.39-1.58-.55-2.24m0 0-.77-2.19m.77 2.19c-.25-.72-.51-1.44-.77-2.19m0 0c-.23-.5-.46-.99-.99-2.12m.99 2.12c-.39-.83-.78-1.66-.99-2.12m0 0c-.42-.7-.83-1.39-1.22-2.04m1.22 2.04c-.32-.53-.64-1.06-1.22-2.04m0 0c-.47-.64-.95-1.28-1.43-1.93m1.43 1.93c-.47-.63-.94-1.27-1.43-1.93m0 0c-.44-.49-.89-.98-1.65-1.81m1.65 1.81c-.64-.7-1.28-1.4-1.65-1.81m0 0-80-80m80 80-80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.72-.65-1.44-1.3-1.83-1.65m1.83 1.65c-.68-.62-1.37-1.23-1.83-1.65m0 0c-.51-.38-1.02-.75-1.94-1.43m1.94 1.43c-.58-.43-1.17-.87-1.94-1.43m0 0c-.73-.43-1.45-.86-2.05-1.22m2.05 1.22c-.77-.45-1.53-.9-2.05-1.22m0 0c-.46-.21-.93-.43-2.13-.99m2.13.99-2.13-.99m0 0c-.83-.29-1.65-.57-2.2-.77m2.2.77c-.56-.19-1.12-.39-2.2-.77m0 0c-.65-.16-1.29-.31-2.25-.55m2.25.55c-.57-.14-1.13-.27-2.25-.55m0 0c-.74-.11-1.48-.21-2.29-.33m2.29.33c-.51-.07-1.02-.15-2.29-.33m0 0c-.77-.04-1.54-.07-2.3-.11m2.3.11c-.88-.04-1.76-.08-2.3-.11m0 0c-.49.02-.98.05-2.3.11m2.3-.11c-.88.04-1.77.09-2.3.11m0 0c-.62.09-1.23.18-2.28.33m2.28-.33c-.6.09-1.2.17-2.28.33m0 0c-.45.11-.91.22-2.24.55m2.24-.55c-.79.2-1.58.39-2.24.55m0 0c-.56.2-1.12.4-2.19.77m2.19-.77c-.51.18-1.01.36-2.19.77m0 0c-.85.4-1.7.8-2.12.99m2.12-.99c-.51.24-1.02.48-2.12.99m0 0c-.6.36-1.2.71-2.04 1.22m2.04-1.22c-.46.27-.91.55-2.04 1.22m0 0c-.49.36-.99.73-1.93 1.43m1.93-1.43-1.93 1.43m0 0c-.42.38-.85.77-1.81 1.65m1.81-1.65c-.69.63-1.39 1.27-1.81 1.65m0 0-1.64 1.83m1.64-1.83c-.54.6-1.08 1.21-1.64 1.83m0 0c-.53.73-1.07 1.47-1.42 1.94m1.42-1.94c-.36.5-.73 1-1.42 1.94m0 0c-.35.61-.7 1.21-1.2 2.05m1.2-2.05c-.33.58-.67 1.15-1.2 2.05m0 0c-.26.57-.53 1.15-.99 2.13m.99-2.13c-.39.85-.78 1.69-.99 2.13m0 0c-.24.7-.48 1.4-.76 2.2m.76-2.2c-.17.51-.35 1.01-.76 2.2m0 0c-.17.68-.33 1.35-.56 2.25m.56-2.25c-.2.79-.39 1.57-.56 2.25m0 0c-.09.65-.18 1.29-.33 2.29m.33-2.29c-.06.48-.13.95-.33 2.29m0 0c-.03.71-.07 1.43-.11 2.3m.11-2.3-.11 2.3m0 0c.04.86.08 1.73.1 2.3m-.1-2.3c.03.8.07 1.6.1 2.3m0 0c.13.88.25 1.76.33 2.28m-.33-2.28c.11.73.21 1.47.33 2.28m0 0c.18.74.36 1.49.54 2.24m-.54-2.24c.15.64.31 1.28.54 2.24m0 0c.2.57.4 1.15.77 2.19m-.77-2.19c.21.58.41 1.17.77 2.19m0 0c.23.5.46 1.01.98 2.12m-.98-2.12c.35.76.71 1.53.98 2.12m0 0c.38.64.76 1.29 1.21 2.04m-1.21-2.04 1.21 2.04m0 0c.45.6.89 1.21 1.43 1.93m-1.43-1.93c.3.4.6.81 1.43 1.93m0 0 1.65 1.81m-1.65-1.81c.47.52.94 1.03 1.65 1.81m0 0 39 39m-39-39 39 39m0 0h-174.1m174.1 0h-174.1m0 0V71m0 223.9V71m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"18",d:"M135 343.068H31m104 0H31m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.74-.04-1.48-.07-2.46-.12m2.46.12c-.77-.04-1.54-.08-2.46-.12m0 0c-.87-.14-1.75-.27-2.39-.37m2.39.37c-.55-.09-1.1-.17-2.39-.37m0 0c-.87-.22-1.74-.44-2.3-.59m2.3.59c-.62-.15-1.24-.31-2.3-.59m0 0c-.82-.29-1.64-.59-2.21-.8m2.21.8c-.52-.18-1.03-.37-2.21-.8m0 0c-.55-.26-1.09-.52-2.1-1.01m2.1 1.01c-.64-.31-1.28-.61-2.1-1.01m0 0c-.74-.45-1.48-.89-1.98-1.2m1.98 1.2c-.42-.25-.84-.51-1.98-1.2m0 0c-.7-.52-1.41-1.05-1.84-1.38m1.84 1.38c-.37-.28-.75-.56-1.84-1.38m0 0c-.4-.36-.8-.71-1.71-1.54m1.71 1.54c-.35-.31-.7-.63-1.71-1.54m0 0c-.43-.47-.85-.95-1.54-1.71m1.54 1.71c-.61-.68-1.23-1.36-1.54-1.71m0 0c-.29-.38-.58-.76-1.38-1.84m1.38 1.84c-.54-.71-1.08-1.43-1.38-1.84m0 0c-.46-.76-.92-1.52-1.2-1.98m1.2 1.98c-.45-.74-.89-1.47-1.2-1.98m0 0c-.37-.77-.74-1.53-1.01-2.1m1.01 2.1c-.3-.62-.6-1.25-1.01-2.1m0 0c-.2-.54-.39-1.07-.8-2.21m.8 2.21c-.2-.54-.4-1.09-.8-2.21m0 0c-.22-.85-.44-1.71-.59-2.3m.59 2.3c-.12-.46-.24-.92-.59-2.3m0 0c-.11-.72-.22-1.43-.37-2.39m.37 2.39c-.08-.48-.15-.96-.37-2.39m0 0c-.03-.74-.07-1.48-.12-2.46m.12 2.46c-.04-.79-.08-1.59-.12-2.46m0 0c.04-.74.07-1.49.12-2.46m-.12 2.46.12-2.46m0 0c.08-.53.16-1.07.37-2.39m-.37 2.39c.09-.56.17-1.12.37-2.39m0 0c.17-.69.35-1.38.59-2.3m-.59 2.3c.15-.61.31-1.23.59-2.3m0 0c.17-.48.34-.96.8-2.21m-.8 2.21c.2-.55.4-1.1.8-2.21m0 0c.25-.52.49-1.03 1.01-2.1m-1.01 2.1c.36-.76.73-1.52 1.01-2.1m0 0c.43-.72.87-1.44 1.2-1.98m-1.2 1.98c.27-.45.55-.91 1.2-1.98m0 0c.54-.73 1.09-1.47 1.38-1.84m-1.38 1.84c.4-.54.81-1.09 1.38-1.84m0 0c.53-.59 1.07-1.18 1.54-1.71m-1.54 1.71c.59-.66 1.19-1.32 1.54-1.71m0 0c.54-.49 1.08-.97 1.71-1.54m-1.71 1.54c.48-.43.95-.86 1.71-1.54m0 0c.46-.35.92-.7 1.84-1.38m-1.84 1.38c.5-.38 1.01-.76 1.84-1.38m0 0c.52-.32 1.04-.63 1.98-1.2m-1.98 1.2c.72-.44 1.44-.88 1.98-1.2m0 0 2.1-1.01m-2.1 1.01c.84-.4 1.67-.81 2.1-1.01m0 0c.45-.17.91-.33 2.21-.8m-2.21.8c.56-.21 1.12-.41 2.21-.8m0 0c.89-.23 1.79-.46 2.3-.59m-2.3.59c.48-.13.95-.25 2.3-.59m0 0c.51-.08 1.02-.16 2.39-.37m-2.39.37 2.39-.37m0 0c.52-.02 1.03-.05 2.46-.12m-2.46.12c.74-.03 1.48-.07 2.46-.12m0 0 103.34-.27m-103.34.27c30.04-.08 60.08-.16 103.34-.27"}),React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"M517.462 135h-128V7l128 128"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M517.462 135h-128m128 0h-128m0 0V7m0 128V7m0 0 128 128m-128-128 128 128m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})))},saveIcon=e=>React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:e?"var(--color-accent)":"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),React__namespace.createElement("polyline",{points:"17 21 17 13 7 13 7 21"}),React__namespace.createElement("polyline",{points:"7 3 7 8 15 8"})),stringToSVG=e=>(e=e.replace(/stroke\s*=\s*['"][^"']*['"]/g,"").replace(/width\s*=\s*['"][^"']*['"]/g,"").replace(/height\s*=\s*['"][^"']*['"]/g,"").replace("
\n\n
\n',RELEASE_NOTES={Intro:'After each update you\'ll be prompted with the release notes. You can disable this in plugin settings.\n\nI develop this plugin as a hobby, spending my free time doing this. If you find it valuable, then please say THANK YOU or...\n\n
\n',"1.8.0":'\n
\n\n
\n\n## New\n- Optical Character Recognition (OCR). Introducing the MVP (minimum viable product) release of the integration of [Taskbone](https://taskbone.com) OCR into Excalidraw. See the new scan button on the Obsidian tools panel.\n- New and improved full-screen mode\n - Activate using the Obsidian tools panel, the Obsidian Command Palette, or the Alt+F11 shortcut\n - The ESC key no longer closes full-screen\n - Full-screen mode works properly on iOS as well\n- Improved Icon visibility on the Obsidian tools panel\n- Added 3 additional buttons to the tools panel\n - Force save\n - Open link (useful on Mobile devices). In the case of LaTeX equations, the button opens the equation properties.\n - Open the link in a new pane. In the case of embedded markdown documents, the button opens the embed properties.\n\n## Fixed\n- The [deconstruct selected elements into a new drawing](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Deconstruct%20selected%20elements%20into%20new%20drawing.md) script now also correctly decomposes transcluded text elements.\n',"1.7.30":"\nFix:\n- Forcing the embedded image to always scale to 100% (a feature introduced in [1.7.26](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.7.26)) scaled the embedded excalidraw drawings incorrectly on devices with a pixel ratio of 2 or 3 (e.g. iPads). This is now fixed, however, this fix might retrospectively impact drawings that use this feature. Sorry for that.\n","1.7.29":"\n- This is a big update that accommodates the **UI redesign** on Excalidraw.com [#5780](https://github.com/excalidraw/excalidraw/pull/5780). The change on the surface may seem superficial, however, I had to tweak a number of things to make it work in Obsidian. I hope I found everything that broke and fixed it, if not, I'll try to fix it quickly...\n- This update also comes with changes under the hood that **fix issues with Excalidraw Automate** - paving the way for further scripts, plus some smaller bug fixes.\n- I **reworked text wrapping**. In some cases, text wrapping in SVG exports looked different compared to how the text looked in Excalidraw. This should now be fixed.\n- If you are using the **Experimental Dynamic Styling** of the Excalidraw Toolbar, then I recommend updating your styling script following base on [this](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n","1.7.27":'## New\n- Import SVG drawing as an Excalidraw object. [#679](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/679)\n\n
\n\n
\n\n## Fixed\n- Large drawings freeze on the iPad when opening the file. I implemented a workaround whereby Excalidraw will avoid zoom-to-fit drawings with over 1000 elements. [#863](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/863)\n- Reintroduced copy/paste to the context menu\n',"1.7.26":'## Fixed\n- Transcluded block with a parent bullet does not embed sub-bullet [#853](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/853)\n- Transcluded text will now exclude ^block-references at end of lines\n- Phantom duplicates of the drawing appear when "zoom to fit" results in a zoom value below 10% and there are many objects on the canvas [#850](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/850)\n- CTRL+Wheel will increase/decrease zoom in steps of 5% matching the behavior of the "+" & "-" zoom buttons.\n- Latest updates from Excalidarw.com\n - Freedraw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)\n - Multiple elements resizing regressions [#5586](https://github.com/excalidraw/excalidraw/pull/5586)\n\n## New - power user features\n- Force the embedded image to always scale to 100%. Note: this is a very niche feature with a very particular behavior that I built primarily for myself (even more so than other features in Excalidraw Obsidian - also built primarily for myself 😉)... This will reset your embedded image to 100% size every time you open the Excalidraw drawing, or in case you have embedded an Excalidraw drawing on your canvas inserted using this function, every time you update the embedded drawing, it will be scaled back to 100% size. This means that even if you resize the image on the drawing, it will reset to 100% the next time you open the file or you modify the original embedded object. This feature is useful when you decompose a drawing into separate Excalidraw files, but when combined onto a single canvas you want the individual pieces to maintain their actual sizes. I use this feature to construct Book-on-a-Page summaries from atomic drawings.\n- I added an action to the command palette to temporarily disable/enable Excalidraw autosave. When autosave is disabled, Excalidraw will still save your drawing when changing to another Obsidian window, but it will not save every 10 seconds. On a mobile device (but also on a desktop) this can lead to data loss if you terminate Obsidian abruptly (i.e. swipe the application away, or close Obsidian without first closing the drawing). Use this feature if you find Excalidraw laggy.',"1.7.25":`## Fixed\n- Tool buttons did not "stick" the first time you clicked them.\n- Tray (in tray mode) was higher when the help button was visible. The tray in tablet mode was too large and the help button was missing.\n- ExcalidrawAutomate ${String.fromCharCode(96)}getCM(color:TInput): ColorMaster;${String.fromCharCode(96)} function will now properly convert valid [css color names](https://www.w3schools.com/colors/colors_names.asp) to ColorMaster objects.\n- The downloaded script icons in the Excalidraw-Obsidian menu were not always correct\n- The obsidian mobile navigation bar at the bottom overlapped with Excalidraw\n\n## New\n- Created ExcalidrawAutomate hook for styling script when the canvas color changes. See sample [onCanvasColorChangeHook](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c) implementation following the link.\n\n
\n\n
\n\n${String.fromCharCode(96,96,96)}typescript\n /**\n * If set, this callback is triggered whenever the active canvas color changes\n */\n onCanvasColorChangeHook: (\n ea: ExcalidrawAutomate,\n view: ExcalidrawView, //the Excalidraw view \n color: string,\n ) => void = null;\n${String.fromCharCode(96,96,96)}\n`,"1.7.24":`\n# New and improved\n- **Updated Chinese translation**. Thanks, @tswwe!\n- **Improved update for TextElement links**: Until now, when you attached a link to a file to a TextElement using the "Create Link" command, this link did not get updated when the file was renamed or moved. Only links created as markdown links in the TextElement text were updated. Now both approaches work. Keep in mind however, that if you have a link in the TextElemenet text, it will override the link attached to the text element using the create link command. [#566](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/566)\n- **Transclusion filters markdown comments**: Text transclusion in a TextElement using the ${String.fromCharCode(96)}![[file]]${String.fromCharCode(96)} or ${String.fromCharCode(96)}![[file#section]]${String.fromCharCode(96)} format did not filter out markdown comments in the file placed ${String.fromCharCode(96)}%% inside a comment block %%${String.fromCharCode(96)}. Now they do.\n- **Remove leading '>' from trancluded quotes**: Added a new option in settings under **Links and Transclusion** to remove the leading ${String.fromCharCode(96)}> ${String.fromCharCode(96)} characters from quotes you transclude as a text element in your drawing. \n![image](https://user-images.githubusercontent.com/14358394/194755306-6e7bf5f3-4228-44a1-9363-c3241b34865e.png)\n- **Added support for ${String.fromCharCode(96)}webp${String.fromCharCode(96)}, ${String.fromCharCode(96)}bmp${String.fromCharCode(96)}, and ${String.fromCharCode(96)}ico${String.fromCharCode(96)} images**. This extends the already supported formats (${String.fromCharCode(96)}jpg${String.fromCharCode(96)}, ${String.fromCharCode(96)}gif${String.fromCharCode(96)}, ${String.fromCharCode(96)}png${String.fromCharCode(96)}, ${String.fromCharCode(96)}svg${String.fromCharCode(96)}).\n- **Added command palette action to reset images to original size**. Select a single image or embedded Excalidraw drawing on your canvas and choose ${String.fromCharCode(96)}Set selected image element size to 100% of original${String.fromCharCode(96)} from the command palette. This function is especially helpful when you combine atomic drawings on a single canvas, keeping each atomic piece in its original excalidraw file (i.e. the way I create [book on a page summaries](https://www.youtube.com/playlist?list=PL6mqgtMZ4NP1-mbCYc3T7mr-unmsIXpEG))\n- The ${String.fromCharCode(96)}async getOriginalImageSize(imageElement: ExcalidrawImageElement): Promise<{width: number; height: number}>${String.fromCharCode(96)} function is also avaiable via ExcalidrawAutomate. You may use this function to resize images to custom scales (e.g. 50% size, or to fit a certain bounding rectangle).\n\n# Fixed\n- **Upgraded perfect freehand package to resolve unwanted dots on end of lines** [#5727](https://github.com/excalidraw/excalidraw/pull/5727)\n- **Pinch zoom in View mode opens images** resulting in a very annoying behavior [#837](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/837)\n- **Embedded files** such as transcluded markdown documents and images **did not honor the Obsidian "New Link Format" setting** (shortest path, relative path, absolute path). [#829](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/829)\n- **Fixed error with dataview queries involving Excalidraw files**: In case you created a task on an Excalidraw canvas (${String.fromCharCode(96)}docA.md${String.fromCharCode(96)}) by typing ${String.fromCharCode(96)}- [ ] Task [[owner]] #tag${String.fromCharCode(96)}, and then you created a Dataview tasklist in another document (${String.fromCharCode(96)}docB.md${String.fromCharCode(96)}) such that the query criteria matched the task in ${String.fromCharCode(96)}docA.md${String.fromCharCode(96)}, then the task from ${String.fromCharCode(96)}docA.md${String.fromCharCode(96)} only appeared as an empty line when viewing ${String.fromCharCode(96)}docB.md${String.fromCharCode(96)}. If you now embedded ${String.fromCharCode(96)}docB.md${String.fromCharCode(96)} into a third markdown document (${String.fromCharCode(96)}docC.md${String.fromCharCode(96)}), then instead of the contents of ${String.fromCharCode(96)}docB.md${String.fromCharCode(96)} Obsidian rendered ${String.fromCharCode(96)}docA.md${String.fromCharCode(96)}. [#835](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/835)\n`,"1.7.22":"\n# Fixed\n- Text size in sticky notes increased when opening the drawing and when editing a sticky note [#824](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/824)\n- ToDo rendering did not work properly when there were parsed links in the text\n- Horizontal text alignment in sticky notes did not honor text alignment setting when resizing text. The text was always aligned center even when text alignment was left or right. [#5720](https://github.com/excalidraw/excalidraw/issues/5720)\n","1.7.21":`\n# New from Excalidraw.com\n- Image-mirroring in export preview and in exported SVG [#5700](https://github.com/excalidraw/excalidraw/pull/5700), [#811](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/811), [#617](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/617)\n\n# New \n- Ctrl+s will force-save your drawing and update all your transclusions\n- Added setting to parse ${String.fromCharCode(96)}- [ ] ${String.fromCharCode(96)} and ${String.fromCharCode(96)}- [x] ${String.fromCharCode(96)} todo items. Parsing is disabled by default. This feature can be found under "Links and Transclusions" in Plugin Settings. [#819](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/819)\n\n![image](https://user-images.githubusercontent.com/14358394/192145020-94bdd115-d24f-47c7-86fe-1417c53980c4.png)\n\n\n\n\n- Added new scripts to the script library\n - [Rename Image](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Rename%20Image.md)\n - [Text Arch](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Text%20Arch.md)\n\n\n\n\n# Fixed\n- Fixed toast message to display script name on press and hold on mobile and iPad.\n- Fixed save error when the embedded image file is not found (i.e. it was moved, renamed, or deleted)\n\n`,"1.7.20":'\n# New from Excalidraw.com\n- support segment midpoints in line editor [#5641](https://github.com/excalidraw/excalidraw/pull/5641)\n
\n\n
\n\n# Fixed\n- When editing a line or arrow and selecting a tool on the toolbar, the tool jumps back to the selection tool and you need to click again to select the tool [#5703](https://github.com/excalidraw/excalidraw/issues/5703)\n- Minor improvement of autosave, hopefully decreasing occasional lagging\n',"1.7.19":`\n# QoL improvements\n- Reintroduced the help button. I also added the help button to the Tray (in Tray Mode) and moved help to the canvas action panel (in non-TrayMode) because in Obsidian 0.16.0 the status bar hides the help icon.\n- Resetting the canvas with the "Reset Canvas" button will now preserve your custom color palette.\n- I updated the [Set background color of unlclosed line object](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Set%20background%20color%20of%20unclosed%20line%20object%20by%20adding%20a%20shadow%20clone.md) script. The script will now add background color to open freedraw objects as well. You no longer need to convert freedraw objects to lines before setting the background color. Check the Script Engine library to download the update.\n\n# New in Excalidraw Automate\n- I added the [ColorMaster](https://github.com/lbragile/ColorMaster#readme) library to ExcalidrawAutomate. You can get a CM object by calling ${String.fromCharCode(96)}ExcalidrawAutomate.getCM()${String.fromCharCode(96)}. Color master introduces many new ways to manipulate colors from script. I will publish scripts that make use of this new functionality including supporting videos on my YouTube channel in the coming days.\n`,"1.7.18":"\n## Critical fix\n- duplicating text elements, adding text elements from the library, and pasting excalidraw text elements results in a corrupted file!!","1.7.17":`\n## Fixed\n- Block transclusions sometimes got lost when switching between RAW mode and PREVIEW mode. [#769](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/769)\n\n## New\n- Added feature to disable "new Excalidraw version" notification [#770](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/770)\n- Added option to export both light- and dark-themed images at the same time. If this is enabled Excalidraw will create two files "filename.dark.png" and "filename.light.png" (or .svg depending on your other settings). See practical use case here: [Aadam's Notes](https://notes.aadam.dev/SBYNtPHqsTW9Ck1Kuoxsu/)\n- Added custom export padding for PNG images. Use the frontmatter key ${String.fromCharCode(96)}excalidraw-export-padding${String.fromCharCode(96)} to set the padding at a file level, or set padding for all your files in plugin settings. The new feature replaces the old "SVG Padding" option and applies to both SVG and PNG exports.\n\n## ExcalidrawAutomate\n- Added ${String.fromCharCode(96)}padding${String.fromCharCode(96)} to the createPNG function call.\n${String.fromCharCode(96,96,96)}typescript\nasync createPNG(\n templatePath?: string,\n scale: number = 1,\n exportSettings?: ExportSettings,\n loader?: EmbeddedFilesLoader,\n theme?: string,\n padding?: number,\n)\n${String.fromCharCode(96,96,96)}\n`,"1.7.16":"\n## Fixed\n- Excalidraw canvas is empty after saving the drawing and re-opening it at a later time. If you accidentally paste Excalidraw elements from the clipboard as the contents of a text element, in certain situations this can corrupt the Excalidraw file and as a result, Excalidraw will load an empty-looking drawing the next time. Changing to markdown view, these files can be repaired, however, to avoid accidental data loss, I have prevented pasting of excalidraw clipboard contents as text elements. [#768](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/768)\n\n## New\n- Add zoom % display in tray-mode [737](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/737)\n","1.7.15":"\n## Fixed\n- Canvas turns white when adding point for curved line [#760](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/760), [#738](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/738), [#5602](https://github.com/excalidraw/excalidraw/issues/5602)\n","1.7.14":`\n
\n\n
\n\n## New\n- The ${String.fromCharCode(96)}Copy markdown link for selected element to clipboard${String.fromCharCode(96)} action in the Obsidian menu is now more intelligent. If multiple elements are selected it will copy the Element Reference for the largest element. \n- When referencing an element in a link pointing to an Excalidraw file using the elementId or the section header as the block reference e.g. ${String.fromCharCode(96)}[[file#^elementID]]${String.fromCharCode(96)}, you can now add the ${String.fromCharCode(96)}group=${String.fromCharCode(96)} prefix, e.g. ${String.fromCharCode(96)}[[file#^group=elementID]]${String.fromCharCode(96)} and the ${String.fromCharCode(96)}area=${String.fromCharCode(96)} prefix, e.g. ${String.fromCharCode(96)}[[file#area=Section heading]]${String.fromCharCode(96)}.\n - If the ${String.fromCharCode(96)}group=${String.fromCharCode(96)} prefix is found, Excalidraw will select the group of elements in the same group as the element referenced by the elementID or heading section.\n - If the ${String.fromCharCode(96)}area=${String.fromCharCode(96)} prefix is found, excalidraw will insert a cutout of the image around the referenced element.\n - The ${String.fromCharCode(96)}area=${String.fromCharCode(96)} selector is not supported when embedding Excalidraw as PNG into your markdown documents.\n- I added "Toggle left-handed mode" to the Command Palette. The action is only visible if tray-mode is enabled. It will move the tray from left to right and back. [749](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/749)\n\n## Fixed\n- Zooming with CTRL+Wheel will no longer trigger hover preview.\n- When editing text in a text element CTRL+C will not launch the hover preview in case the mouse pointer is over the text element being edited. Hover preview will only show if the element is not in editing mode.\n- ExcalidrawAutomate did not reliably save changes. This caused issues for example in the "Add link to an existing file and open" script. [#747](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/747)\n- Create a new folder not working when clicking on a link in Erxcalidraw that points to a file that is in a folder that does not yet exist. [741](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/741)\n- Downgraded to React 17 due to various stability issues, including [#738](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/738) and [#747](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/747)\n\n## New in Excalidraw Automate\n- I added two new Excalidraw Automate functions\n${String.fromCharCode(96,96,96)}typescript\n/**\n * Gets the groupId for the group that contains all the elements, or null if such a group does not exist\n * @param elements \n * @returns null or the groupId\n*/\ngetCommonGroupForElements(elements: ExcalidrawElement[]): string;\n\n/**\n * Gets all the elements from elements[] that share one or more groupIds with element.\n * @param element \n * @param elements - typically all the non-deleted elements in the scene \n * @returns \n*/\ngetElementsInTheSameGroupWithElement(element: ExcalidrawElement, elements: ExcalidrawElement[]): ExcalidrawElement[];\n${String.fromCharCode(96,96,96)}`,"1.7.13":`\n## Fix from Excalidraw.com\n- Resize multiple elements from center ([#5560](https://github.com/excalidraw/excalidraw/pull/5560))\n\n## Obsidian 0.16.0 compatibility (getting ready, because 0.16.0 will be available to insiders soon)\n- ${String.fromCharCode(96)}Install or update Excalidraw Scripts${String.fromCharCode(96)} was only available via the page header button. Because the page header is hidden by default, the install script action is now available through the pane menu and through the command palette as well.\n- ${String.fromCharCode(96)}Open selected text as link${String.fromCharCode(96)} page header button is now also available via the pane menu\n- ${String.fromCharCode(96)}Open in Adjacent Pane${String.fromCharCode(96)} and ${String.fromCharCode(96)}Open in Main Workspace${String.fromCharCode(96)} Excalidraw plugin settings is fixed\n`,"1.7.12":`\n## New from Excalidraw.com:\n- Showing a mid-point for lines and arrows. By touching the mid-point you can easily add an additional point to a two-point line. This is especially helpful when working on a tablet with touch input. ([#5534](https://github.com/excalidraw/excalidraw/pull/5534))\n- Lock angle when editing a line or an arrow with SHIFT pressed. Pressing SHIFT will restrict the edited point to snap to certain discrete angles. ([#5527](https://github.com/excalidraw/excalidraw/pull/5527))\n\n## Fixed:\n- Clicking Obsidian search-results pointing to an element on the canvas works again ([#734](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/734))\n- The feature to allow resizing and rotation of lines and arrows consisting of 3 or more points by showing the bounding box when selected is back ([#5554](https://github.com/excalidraw/excalidraw/pull/5554))\n\n## New\n- You can now use the following frontmatter key to allow/prevent automatic export of PNG/SVG images at a file level. This frontmatter will override export settings for the given file. ([#732](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/732)\n${String.fromCharCode(96)}excalidraw-autoexport: none|both|svg|png${String.fromCharCode(96)}\n`,"1.7.11":`\n## Fixed\n- Markdown files embed into the Excalidraw canvas crashed when the embedded markdown file included a nested Markdown embed with a block reference (i.e. the markdown document you are dropping into Excalidraw included a quote you referenced from another file using a ${String.fromCharCode(96)}[[other-file#^blockref]]${String.fromCharCode(96)} block or section reference. \n- Horizontal flipping of arrows and lines broke in 1.7.10. ([#726](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/726))\n`,"1.7.10":'\n## New from Excalidraw.com\n- Improved handling of arrows and lines. ([#5501](https://github.com/excalidraw/excalidraw/pull/5501))\n\n## Fixed\n- When opening a document in view-mode or zen-mode the panel buttons no longer flash up for a moment before switching to the desired mode. ([#479](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/479))\n- The "blinding white screen" no longer flashes up while loading the scene if the scene is dark ([#241](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/241))\n\n## Under the hood\n- Finalized migration to React 18 (no longer showing an error about React 17 compatibility mode in console log)\n',"1.7.9":'\n## New features and fixes from Excalidraw.com:\n- The right-click context menu is now scrollable on smaller screens ([#4030](https://github.com/excalidraw/excalidraw/pull/4030), [#5520](https://github.com/excalidraw/excalidraw/pull/5520))\n- Holding down the shift key while rotating an object will rotate it at discrete angles. Rotation is continuous without the SHIFT key. ([#5500](https://github.com/excalidraw/excalidraw/pull/5500))\n- Improved cursor alignment when resizing an element proportionally (maintain aspect ratio) by holding SHIFT during resizing. ([#5513](https://github.com/excalidraw/excalidraw/pull/5515))\n- Improved freedraw performance during editing (now has proper canvas caching), and no more blurry freedraw shapes when exporting on a higher scale. ([#5481](https://github.com/excalidraw/excalidraw/pull/5481))\n- Sidebar stencil library now correctly scrolls vertically ([#5459](https://github.com/excalidraw/excalidraw/pull/5459))\n\n## New in Obsidian:\n- Fullscreen mode on iPad. When there are multiple work panes open, clicking the fullscreen action in the Excalidraw Obsidian menu will hide the other work panes and make Excalidraw fullscreen.\n\n## Fixes in Obsidian:\n- Drag&Drop an image from a web browser into Excalidraw ([#697](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/697))\n- On Obsidian Mobile 1.3.0, when the drawing included an embedded image, switching from markdown-view to Excalidraw-view caused the drawing to disappear (it had to be recovered from backup or synchronization history). ([#715](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/715))\n- When working on a mobile device (tablet and phone) and using two work panes (one for drawing and the other for editing a markdown document) if you switched focus from the drawing to the markdown document auto-zoom changed the zoom level of the drawing. ([#723](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/723)), ([#705](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/705))\n- Actions on the Command Palette to create a new drawing in a new pane or reusing an existing adjacent pane; on the main workspace or in the Hover Editor or Popout window, were not working well. See related settings in plugin settings under "Links and transclusions" ([#718](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/718))\n- There was a problem with links with section references when the header contained space characters ([#704](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/704))\n- I added additional controls to avoid the fantom warnings about a problem with saving the Excalidraw file. Hopefully, from now on, you\'ll see this error less frequently ([#701](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/701))\n',"1.7.8":'\n# Optimized for Obsidian 0.15.5\n- I reworked how the plugin treats the "More options" menu because the old approach was interfering with Obsidian\n- Did thorough testing of handling of work panes on link click. There are two settings (open in the adjacent pane, and open in the main workspace), and three broad scenarios (Excalidraw in a work pane in the main Obsidian window, Excalidraw in a hover editor, and Excalidraw in an Obsidian popout window). All should work correctly now.\n',"1.7.7":`\n# New\n- Optimized for Obsidian 0.15.4\n- On a desktop, you can now use the META key when clicking on a link and it will open the link in a new popout Window.\n- ([#685](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/685)) Markdown embeds will now display correctly in Excalidraw even if they include photos and recursive markdown embeds. Unfortunately due to the limitations of Safari the inversion of colors on iPads in dark mode will not work well.\nSee an 18 second long demo video [here](https://user-images.githubusercontent.com/14358394/177213263-2a7ef1ca-0614-4190-8955-e830ca6b424b.mp4).\n\n\n# Fixed\n- ([#683](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/683)) Copy/Paste Markdown embeds to create another instance of the embed, thus you can reference different sections of the document in your drawing (something I broke in 1.7.6)\n- ([#684](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/684)) Transclusions incorrectly did not pick up subsections of a section. To understand this change, imagine for example the following document:\n${String.fromCharCode(96,96,96)}markdown\n# A\nabc\n# B\nxyz\n## b1\n123\n## b2\n456\n# C\n${String.fromCharCode(96,96,96)}\nWhen you transclude ${String.fromCharCode(96)}![[document#B]]${String.fromCharCode(96)} you expect the following result\n${String.fromCharCode(96,96,96)}markdown\nB\nxyz\n\nb1\n123\n\nb2\n456\n${String.fromCharCode(96,96,96)}\nUntil this fix you only got\n${String.fromCharCode(96,96,96)}markdown\nB\nxyz\n${String.fromCharCode(96,96,96)}`,"1.7.6":`\nThis release is the same as 1.7.5 except for two minor fixes\n- a fix for ExcaliBrain, becuase 1.7.5 broke ExcaliBrain.\n- I left out the release note from 1.7.5.\n\n# New\n- Deployed sidebar for libraries panel from excalidraw.com ([#5274](https://github.com/excalidraw/excalidraw/pull/5274)). You can dock the library to the right side depending on the screen real estate available (i.e. does not work on mobiles).\n\n# Fixed\n- When copying 2 identical images from one drawing to another, the second image got corrupted in the process ([#672]https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/672)).\n- When making a copy of an equation in a drawing and then without first closing/opening the file, immediately copying the new equation to another drawing, the equation did not get displayed until the file was closed and reopened.\n- Copying a markdown embed from one drawing to another, in the destination the markdown embed appeared without the section/block reference and without the width & height (i.e. these settings had to be done again)\n- Improved the parsing of section references in embeds. When you had ${String.fromCharCode(96)}&${String.fromCharCode(96)} in the section name in a markdown file, when embedding that markdown document into Excalidraw, the section reference did not work as expected ([#681 ](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/681)).\n- Improved the logic for autosave to better detect changes to the document, and to reduce too frequent export of ${String.fromCharCode(96)}.png${String.fromCharCode(96)} and/or ${String.fromCharCode(96)}.svg${String.fromCharCode(96)} files, when auto export is enabled in plugin settings.\n`,"1.7.5":`\n# New\n- Deployed sidebar for libraries panel from excalidraw.com ([#5274](https://github.com/excalidraw/excalidraw/pull/5274)). You can dock the library to the right side depending on the screen real estate available (i.e. does not work on mobiles).\n\n# Fixed\n- When copying 2 identical images from one drawing to another, the second image got corrupted in the process ([#672]https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/672)).\n- When making a copy of an equation in a drawing and then without first closing/opening the file, immediately copying the new equation to another drawing, the equation did not get displayed until the file was closed and reopened.\n- Copying a markdown embed from one drawing to another, in the destination the markdown embed appeared without the section/block reference and without the width & height (i.e. these settings had to be done again)\n- Improved the parsing of section references in embeds. When you had ${String.fromCharCode(96)}&${String.fromCharCode(96)} in the section name in a markdown file, when embedding that markdown document into Excalidraw, the section reference did not work as expected ([#681 ](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/681)).\n- Improved the logic for autosave to better detect changes to the document, and to reduce too frequent export of ${String.fromCharCode(96)}.png${String.fromCharCode(96)} and/or ${String.fromCharCode(96)}.svg${String.fromCharCode(96)} files, when auto export is enabled in plugin settings.\n`,"1.7.4":"\n- Obsidian 0.15.3 support dragging and dropping work panes between Obsidian windows.\n- Addressed Obsidian changes affecting the more-options menu.\n- Addressed incompatibility with Obsidian Mobile 1.2.2.\n","1.7.3":"\nObsidian 0.15.3 support for dragging and dropping work panes between Obsidian windows.\n","1.7.2":"\nDue to some of the changes to the code, I highly recommend restarting Obsidian after installing this update to Excalidraw.\n\n# Fixed\n- Stability improvements\n- Opening links in new panes and creating new drawings from the file explorer works properly again\n\n# New feature\n- Two new command palette actions:\n - Create a new drawing - IN A POPOUT WINDOW\n - Create a new drawing - IN A POPOUT WINDOW - and embed into active document\n![image|600](https://user-images.githubusercontent.com/14358394/175137800-88789f5d-f8e8-4371-a356-84f443aa6a50.png)\n- Added setting to prefer opening the link in the popout window or in the main workspace.\n![image|800](https://user-images.githubusercontent.com/14358394/175076326-1c8eee53-e512-4025-aedb-07881a732c69.png)\n","1.7.1":"\nSupport for Obsidian 0.15.0 popout windows. While there are no new features (apart from the popout window support) under the hood there were some major changes required to make this happen.\n","1.7.0":"\nThis is the first test version of Excalidraw Obsidian supporting Obsidian 0.15.0 popout windows. The current technical solution is not really sustainable, it's more of a working concept. I don't expect any real big issues with this version - on the contrary, this works much better with Obsidian 0.15.0 popout windows, but some of the features aren't working as expected in the Obsidian popouts yet. Also as a consequence of Obsidian 0.15.0 compatibility, multiple hover previews are no longer supported.\n","1.6.34":"\nWith 0.15.1 Obsidian is implementing some exciting, but significant changes to how windows are managed. I need to make some heavy/invasive changes to Excalidraw to adapt. The next version of the Excalidraw Plugin will require Obsidian 0.15.1 or newer. If you are not signed up for Obsidian Insider Builds, you will need to wait few weeks until the new Obsidian version will be made public.\n\n# Fixed\n- Error saving when the attachments folder exists but with a different letter case (i.e. ATTACHMENTS instead of attachments) [658](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/658). I added more error tolerance. As a general rule, however, I recommend treating file paths as case-sensitive as some platforms like iOS or LINUX have case-sensitive filenames, and synchronizing your Vault to these platforms will cause you headaches in the future.\n- Text detached from the container if you immediately clicked the text-align buttons on the properties pane while still editing the text in the container for the very first time. [#657](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/657).\n- Can't add text to the second container if the first container has text and the second container is centered around the first one. [#5300](https://github.com/excalidraw/excalidraw/issues/5300)\n","1.6.33":`\n# Fixed\n- Under some special circumstances when you embedded a drawing (guest) into another drawing (host), the host did not update when you modified the guest, until you closed Excalidraw completely and reopened the host. [#637](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/637)\n\n# New\n- ExcalidrawAutomate ${String.fromCharCode(96)}addLabelToLine${String.fromCharCode(96)} adds a text label to a line or arrow. Currently this function only works with simple straight 2-point (start & end) lines.\n${String.fromCharCode(96,96,96)}typescript\naddLabelToLine(lineId: string, label: string): string\n${String.fromCharCode(96,96,96)}\n- ExcalidrawAutomate ${String.fromCharCode(96)}ConnectObjects${String.fromCharCode(96)} now returns the ID of the arrow that was created.`,"1.6.32":"\n## Fixed\n- Filenames of embedded images and markdown documents did not get updated if the drawing was open in a work-pane while you changed the filename of the embedded file (image or markdown document) [632](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/632).\n- When you created a new text element and immediately dragged it, sometimes autosave interrupted the drag action and Excalidraw dropped the element you were dragging [630](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/630)\n- In some edge cases when you had the drawing open on your desktop and you also opened the same image on your tablet, Sync seemed to work in the background but the changes did not appear on the desktop until you closed and opened the drawing again. [629](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/629)\n- LaTeX support: Excalidraw must download a javascript library from one of the hosting sites for MathJax tex2svg. It seems that some people do not have access to the URL recommended in the first place by [MathJax](https://docs.mathjax.org/en/latest/web/start.html). If LaTeX formulas do not render correctly in Excalidraw, try changing the source server under Compatibility Settings in Excalidraw Plugin Settings. [628](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/628)","1.6.31":"\nMinor update:\n\n## Fixes\n- Color picker hotkeys were not working. They are working again [627](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/627)\n- I updated MathJax (LaTeX) to the newest (3.2.1) release.","1.6.30":"\n## Fixed\n- The load stencil library button stopped working after 1.6.29 due to an error in the core Excalidraw package. It is now fixed. [#625](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/625).\n- On iPad (probably other Obsidian mobile devices as well) after opening the command palette the positioning of the pointer was off. From now on, the pointer is automatically re-calibrated every 5 seconds.\n- I improved shared-vault collaboration sync. If the open file has not been saved for the last 5 minutes (i.e. you are not working on the drawing actively), and a newer remote version of the file is received via sync, then the remote file will simply overwrite the local file (i.e. the behavior of Excalidraw Obsidian prior to implementing Shared (Multiplayer) Vault Synchronization support in 1.6.29). This solution will support active collaboration when parties participating are actively editing the drawing, but also caters to the scenario when you open a drawing on one device (e.g. your desktop) and once you are finished editing you do not close the drawing, but simply put your PC to sleep... then later you edit the same drawing on your tablet. When you turn your desktop PC on the next time, the changes you've made on your tablet will be synchronized by Obsidian sync. In this case the changes from your tablet should be honored. If you have not edited the open drawing for more then 5 minutes (like in this scenario) there is no value in running the file comparison between the local version and the received one. This approach reduces the probability of running into sync conflicts.","1.6.29":"\n## New\n- I implemented sync support inspired by the new [Obsidian Multiplayer Sync](https://youtu.be/ZyCPhbd51eo) feature (available in insider build v0.14.10). \n - To manage expectations, this is not real-time collaboration like on Excalidraw.com. Synchronization is delayed by the frequency of the autosave timer (every 10 secs) and the speed of Obsidian sync. Also if a file has conflicting versions, Obsidian sync may delay the delivery of the changed file.\n - Even if you are not using multiplayer Obsidian Vaults, you may benefit from the improved synchronization, for example when using the freedraw tool on your tablet or phone, and in parallel editing the same drawing (e.g. typing text) on your desktop. I frequently do this in a mind-mapping scenario.\n - If the same Excalidraw sketch is open on multiple devices then Excalidraw will try to merge changes into the open drawing, thus parallel modifications on different devices are possible. If the same element is edited by multiple parties at the same time, then the foreign (received) version will be honored and the local changes lost. \n\n## Fixed:\n- Default embed width setting stopped working. [#622](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/622)\n- The link tooltip gets stuck on screen after Excalidraw closes [#621](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/621)\n- Layout error when using the Workspaces core plugin. [#28](https://github.com/zsviczian/excalibrain/issues/28)","1.6.28":'\n## New\n- When dropping a link from a DataView query into Excalidraw the link will honor your "New link format" preferences in Obsidian. It will add the "shortest path when possible", if that is your setting. If the link includes a block or section reference, then the link will automatically include an alias, such that only the filename is displayed (shortest path possible allowing) [#610](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/610)\n- If Excalidraw is in a Hover Editor and you open a link in another pane by CTRL+SHIFT+Click then the new page will open in the main workspace, and not in a split pane in the hover editor.\n\n## Fixed\n- New text elements get de-selected after auto-save [#609](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/609)\n- Update opacity of bound text when the opacity of the container is updated [#5142](https://github.com/excalidraw/excalidraw/pull/5142)\n- ExcalidrawAutomate: openFileInNewOrAdjacentLeaf() function. This also caused an error when clicking a link in Excalidraw in a hover window, when there were no leaves in the main workspace view.',"1.6.27":"\n## New Features\n- While these new features are benefitial for all Excalidraw Automation projects, the current changes are mainly in support of the [ExcaliBrain](https://youtu.be/O2s-h5VKCas) integration. See detailed [Release Notes](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.27) on GitHub.\n","1.6.26":`\n## Fixed\n- Dragging multiple files onto the canvas will now correctly [#589](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/589)\n - add multiple links\n - or if you hold the CTRL/(SHIFT on Mac) while dropping the files, then adding multiple images\n- Dropped images and links were not selectable with the selection tool until the file was saved. This is now fixed.\n- Display the linked block/section on link-hover instead of the full page. [#597](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/597)\n- Hover preview without CTRL/CMD works again. Requires configuration in plugin settings. [#595](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/595)\n- If you embed the same markdown document into a drawing multiple times, you can now display different sections of the document in each embedded object. [#601](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/601).\n- If you make a copy of an equation and edit this copy, the original equation will remain unchanged [#593](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/593)\n\n## New Features\n- When you drag files from Dataview-results onto the canvas the obsidian:// urls will be converted into wiki links.[#599](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/599)\n- I added one more frontmatter key: ${String.fromCharCode(96)}excalidraw-linkbutton-opacity: ${String.fromCharCode(96)} This sets the opacity of the blue link-button in the top right corner of the element, overriding the respective setting in plugin settings. Valid values are numbers between 0 and 1, where 0 means the button is fully transparent.\n\n## New Excalidraw Automate Features\n- As part of building the new [ExcaliBrain](https://youtu.be/O2s-h5VKCas) plugin, I've added a number of integration features. See the GitHub [Release Notes](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.26) for details.\n`,"1.6.25":`\n## Fixed\n- Pinch-zoom in view mode was broken ([#5001](https://github.com/excalidraw/excalidraw/pull/5001))\n- The add image button on iPad was not working ([#5038](https://github.com/excalidraw/excalidraw/pull/5038) & [#584](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/584))\n\n## New Features\n- If Excalidraw is open in a [hover-editor](https://github.com/nothingislost/obsidian-hover-editor) when opening a link in a new pane Excalidraw will now open the link in the main workspace and not by splitting the view inside the hover-editor. \n- Excalidraw ScriptEngine settings\n - Script Engine settings now render HTML descriptions\n - If the ${String.fromCharCode(96)}height${String.fromCharCode(96)} property of a text setting is set, the corresponding text input field will be rendered as a textArea with the specified height.\n`,"1.6.24":"\n## Fixed\n- Link fixes:\n - Shift+Click on an element link (i.e. a link attached to a rectangle, ellipse, etc) did not open the link in a new leaf.\n - Clicking a link and opening it in a new leaf will now make the new leaf active and focused after the click.\n- Pointer calibration:\n - Opening an Excalidraw drawing with the [hover-editor](https://github.com/nothingislost/obsidian-hover-editor) and dragging the editor to another location corrupted the calibration of the pointer in Excalidraw. Similarly, when rearranging workspace panes by dragging, Excalidraw lost pointer calibration.\n\n## New Features\n### From Excalidraw.com\n- Element locking: The lock and unlock action is in the context menu.\n\n### Plugin\n- Any element that has a link, ctrl/cmd+clicking anywhere on the object will trigger the link action. You no longer have to go to the link icon. ([#541](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/541#issuecomment-1075578365))\n","1.6.23":`\n## Fixed:\n- I have received some user feedback about cases where the text separated from the sticky note. This version comes with a cleanup algorithm that will try to automatically resolve these issues.\n- Autosave did not notice changes in a very obscure case, when you opened a drawing, resized an element, and without deselecting the element you immediately closed the drawing. ([565](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/565))\n- CTRL+Enter to create a task did not work in hover-editor when opened from Excalidraw. Now it does! Thanks @pjeby! ([567](https://github.com/zsviczian/obsidian-excalidraw-plugin/pull/567))\n\n## New Features\n- If you have the [Obsidian-Latex](https://github.com/xldenis/obsidian-latex) plugin installed, from now Excalidraw will also process the ${String.fromCharCode(96)}preambles.sty${String.fromCharCode(96)} file. ( [563](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/563))\n- I added a new setting ${String.fromCharCode(96)}Embed & Export >> If found, use the already exported image for preview${String.fromCharCode(96)}. This setting works in conjunction with the ${String.fromCharCode(96)}Auto-export SVG/PNG${String.fromCharCode(96)} settings. If an exported image that matches the file name of the drawing is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See release notes for a [demo video](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.22).\n`,"1.6.22":'\n## Fixed:\n- "Create a new drawing - IN THE CURRENT ACTIVE PANE - and embed into active document" did not work as intended when an Excalidraw pane was already open. [#559](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/559)\n- [Obsidian-hover-editor](https://github.com/nothingislost/obsidian-hover-editor) related improvements [#555](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/555):\n - hovering triggered many hover preview windows in quick succession, and in some cases raised dozens of errors in the Developer Console\n - hover-editors were not visible in Excalidraw fullscreen mode\n\n## Minor new features:\n- Activating the eraser with key "e" will toggle the active tool and back. So for example if you are drawing a freedraw shape, you can press "e" to delete a few strokes, then press "e" again to continue drawing. On desktop PCs many styluses allow you to configure the pen button to trigger keypress "e". \n- New setting to enable penMode by default.\n- I increased the file size limit for images you paste into Excalidraw from 2MB to 20MB. You should however avoid very large images as they will impact the overall performance of the canvas. ([#557](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/557))\n',"1.6.21":`\nBefore I move on to implementing further features, I spent this week with further stabilizing and debugging the plugin. Hopefully this will result in a smoother, better experince for you all.\n\n## Fixed\n- Links in drawings (e.g. text elements or embedded images) were sometimes not updating when the source file was moved or renamed in your Vault. The issue happend when you had the drawing and the linked file open in panes next to each other. This has led to broken links. ([#546](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/546))\n- To remove complexity and potential error, I have hidden the autosave settings. From now, autosave is now always enabled. Excalidraw will attempt to save your drawing every 10 seconds, or if you are actively engaged in drawing a shape at that very moment (e.g. you are busy with a freedraw line), then autosave will save the drawing at the earliest next opportunity. I imlemented further triggers to save the drawing when there are changes in the drawing and you click outside the drawing canvas. There was a rare error involving text elements, that when happened blocked saving of the file. This error is now properly handeled. Also from now, you will receive a warning message if for any reason save encountered problems. \n- If you have two heading sections in your drawing, e.g. ${String.fromCharCode(96)}# Section abc${String.fromCharCode(96)} and ${String.fromCharCode(96)}# Section abc def${String.fromCharCode(96)}, then referencing ${String.fromCharCode(96)}[[#Section abc]]${String.fromCharCode(96)} in a link will highlight both text elements when clicking the link. These section references now work as expected. ([#530](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/530))`,"1.6.20":`\n
\n\n
\n\n## Fixed\n- ${String.fromCharCode(96)}ExcalidrawAutomate.create()${String.fromCharCode(96)} threw an error [539](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/539)\n\n## New Features\n### From excalidraw.com\n- Bind/unbind text to/from container [4935](https://github.com/excalidraw/excalidraw/pull/4935)\n\n### Plugin\nFrontmatter tags to customize image export at a file level [519](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/519). If these keys are present they will override the default excalidraw embed and export settings.\n- ${String.fromCharCode(96)}excalidraw-export-transparent: true${String.fromCharCode(96)}\n - true == Transparent / false == with background. \n- ${String.fromCharCode(96)}excalidraw-export-dark${String.fromCharCode(96)}\n - true == Dark mode / false == light mode.\n- ${String.fromCharCode(96)}excalidraw-export-svgpadding${String.fromCharCode(96)}\n - This only affects export to SVG. Specify the export padding for the image\n- ${String.fromCharCode(96)}excalidraw-export-pngscale${String.fromCharCode(96)}\n - This only affects export to PNG. Specify the export scale for the image. The typical range is between 0.5 and 5, but you can experiment with other values as well.\n`,"1.6.19":"\nThis is a minor update fixing left-handed mode on iOS, and deploying improvements to the new Excalidraw Eraser.\n","1.6.18":`\n
\n\n
\n\n## Fixed\n- Modifying properties of a text element in tray mode. [496](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/496)\n- Friendly page aliases with iframely should work more reliably now.\n- I further improved resilience of loading from a damaged Excalidraw.md file.\n\n## New Features\n### From excalidraw.com\n- Added Eraser [4887](https://github.com/excalidraw/excalidraw/pull/4887)\n\n### Plugin\n- New setting for default transcluded-text line-wrap length. This is the default value for "wrapAt" in ${String.fromCharCode(96)}![[file#^block]]{wrapAt}${String.fromCharCode(96)}. Wrapping text using this feature will insert linebreaks in the transcluded text. An alternative approach is to transclude text inside sticky notes, in which case Excalidraw will automatically take care of text wrapping depending on the sticky note's width. [228](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/228)\n- New command palette action to toggle fullscreen mode, so you can assign a hotkey.\n- I added basic support for left-handed users. Enable it in plugin settings under the "Display" section. Currently, only affects the position of the tray in tray-mode. [510](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/510)\n- More flexible filename settings. ⚠ Due to the change, current settings may behave slightly differently compared to before. ⚠ [470](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/470)\n`,"1.6.17":`\n
\n\n
\n\n## Fixed\n- Freedraw shape's background color was missing in the SVG export. [#443](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/443)\n- In rare cases, when you only changed the background color of the drawing or edited the dimensions of an embedded markdown document, or changed an existing LaTeX formula, and then moved to another document in the vault, these changes did not get saved. [#503](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/503)\n- I resolved an Excalidraw Automate glitch with word wrapping in containers. EA generated containers with fixed line breaks. The same error also affected the conversion of drawings from the "legacy" Excalidraw.com file format.\n- When you allow/disable autosave in settings, this change will immediately take effect for all open Excalidraw workspace leaves. Until now autosave was activated only after you closed and reopened the Excalidraw view. [#502](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/502)\n- When you create a text element containing a ${String.fromCharCode(96,96,96)}[[markdown link]]${String.fromCharCode(96,96,96)} in raw mode, the new link was parsed nonetheless, and sometimes the link disappeared, leaving only the parsed text without the actual link. Creating links in raw-mode now works correctly.\n\n## New Features\n- The most recent 5 custom colors from the canvas are now added as color options to the element stroke and element background palette. [#4843](https://github.com/excalidraw/excalidraw/pull/4843)\n- Vertical text alignment for text in sticky notes [#4852](https://github.com/excalidraw/excalidraw/pull/4852)\n- Markdown embeds into Excalidraw now receive default styling, including that of tables, blockquotes, and code blocks. I also added a new setting and corresponding frontmatter-key to set the border-color for the embedded markdown document. You can override plugin settings at the document level by adding ${String.fromCharCode(96,96,96)}excalidraw-border-color: steelblue${String.fromCharCode(96,96,96)} to the markdown document you want to embed into your drawing. Valid values are css-color-name|#HEXcolor|any-other-html-standard-format.\n- In Obsidian search, when the text you were searching for is found in an Excalidraw document, clicking the link in search-results will open the drawing with the matching text element selected and zoomed.\n- Excalidraw now supports linking to text elements on the canvas and linking to non-text objects. \n1) You can reference text headings just the same as markdown headings in a document\ni.e. you have a text element that includes a valid markdown heading:\n${String.fromCharCode(96,96,96)}markdown\n# My Heading\ndetails...\n${String.fromCharCode(96,96,96)}\nor \n${String.fromCharCode(96,96,96)}markdown\ntext element text\n# my reference\n${String.fromCharCode(96,96,96)}\nYou can reference these like this respectively: ${String.fromCharCode(96,96,96)}[[#My Heading|display alias]]${String.fromCharCode(96,96,96)} and ${String.fromCharCode(96,96,96)}[[#my reference|alias]]${String.fromCharCode(96,96,96)}\n\n![image](https://user-images.githubusercontent.com/14358394/156890231-5a23bcb3-40a4-4ad7-b366-74c328620159.png)\n\n2) You can also reference element ids similar to block references\n- Links take this form ${String.fromCharCode(96,96,96)}[[#^elementID|alias]]${String.fromCharCode(96,96,96)}\n- Linking is supported by a new action on the Obsidian Tools Panel\n![image](https://user-images.githubusercontent.com/14358394/156894011-6442c3d6-aaff-43a8-bd77-513e450484ba.png)\n\n[Release Notes on GitHub](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.17)\n`,"1.6.16":'\n
\n\n
\n\n\n## Fixed\n- CMD+Drag from the Obsidian File Manager does not work on Mac. You can now use SHIFT+Drag to embed an image or markdown document into a scene. ([#468](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/468))\n- Excalidraw Compressed JSON is now cut to smaller chunks (64 characters per paragraph, instead of the earlier 1024 characters). This should address search performance issues. ([#484](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/484))\n\n## New Features\n- I added the Obsidian Tools Panel\n - Click the Obsidian button to access the panel.\n - The tools panel contains key plugin commands and user / downloaded Excalidraw scripts.\n - Drag the panel with the handle at the top. Single click on the top to collapse the panel.\n - On Mobile press and hold the drag handle before dragging, to avoid activating the Obsidian slide in menus.\n - On Mobile long touch individual buttons on the panel to access tooltips.\n - Reinstall Excalidraw scripts to get the icons.\n- If you hold down SHIFT while resizing a sticky note, the text size will scale instead of text wrapping. ([Excalidraw tweet](https://twitter.com/aakansha1216/status/1496116528890417155?s=20&t=taXjA6I9Nd0T-C0wYBsG5g))\n- SVG export now includes links ([#4791](https://github.com/excalidraw/excalidraw/pull/4791))\n- Added full screen mode for Obsidian Mobile\n- Release notes\n - disable popup in settings\n - access release notes via the command palette, or the button on the tools panel\n\n[Release Notes on GitHub](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.16)\n\n[![support-membership](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/support-tiers.jpg)](https://ko-fi.com/zsolt)\n'};class ReleaseNotes extends obsidian.Modal{constructor(e,A,t){super(e),this.plugin=A,this.version=t}onOpen(){var e;this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText(`Welcome to Excalidraw ${null!==(e=this.version)&&void 0!==e?e:""}`),this.createForm()}async onClose(){this.contentEl.empty(),await this.plugin.loadSettings(),this.plugin.settings.previousRelease=PLUGIN_VERSION,await this.plugin.saveSettings()}async createForm(){let e=this.plugin.settings.previousRelease;e=this.version===e?"0.0.0":e;const A=this.version?Object.keys(RELEASE_NOTES).filter((A=>"Intro"===A||isVersionNewerThanOther(A,e))).map((e=>`${"Intro"===e?"":`# ${e}\n`}${RELEASE_NOTES[e]}`)).slice(0,10).join("\n\n---\n"):FIRST_RUN;await obsidian.MarkdownRenderer.renderMarkdown(A,this.contentEl,"",this.plugin),this.contentEl.createEl("p",{text:""},(e=>{e.style.textAlign="right",e.createEl("button",{text:"Close"}).onclick=()=>this.close()}))}}const TOOLS_PANEL_WIDTH=228;class ToolsPanel extends React__namespace.Component{constructor(e){super(e),this.pos1=0,this.pos2=0,this.pos3=0,this.pos4=0,this.penDownX=0,this.penDownY=0,this.previousWidth=0,this.previousHeight=0,this.onRightEdge=!1,this.onBottomEdge=!1;const A=e.view.plugin.getPackage(e.view.ownerWindow).react;this.containerRef=A.createRef(),this.state={visible:e.visible,top:50,left:200,theme:"dark",excalidrawViewMode:!1,minimized:!1,isDirty:!1,isFullscreen:!1,isPreviewMode:!0,scriptIconMap:{}}}updateScriptIconMap(e){this.setState((()=>({scriptIconMap:e})))}setPreviewMode(e){this.setState((()=>({isPreviewMode:e})))}setFullscreen(e){this.setState((()=>({isFullscreen:e})))}setDirty(e){this.setState((()=>({isDirty:e})))}setExcalidrawViewMode(e){this.setState((()=>({excalidrawViewMode:e})))}toggleVisibility(e){this.setTopCenter(e),this.setState((e=>({visible:!e.visible})))}setTheme(e){this.setState((A=>({theme:e})))}setTopCenter(e){this.setState((()=>({left:(this.containerRef.current.clientWidth-228-(e?0:232))/2+this.containerRef.current.parentElement.offsetLeft+(e?0:232),top:64+this.containerRef.current.parentElement.offsetTop})))}updatePosition(e=0,A=0){this.setState((()=>{const{offsetTop:t,offsetLeft:n,clientWidth:i,clientHeight:a}=this.containerRef.current.firstElementChild,r=t-e,s=n-A,{clientWidth:o,clientHeight:l,offsetTop:c,offsetLeft:d}=this.containerRef.current.parentElement;return this.previousHeight=l,this.previousWidth=o,this.onBottomEdge=r>=l-a+c,this.onRightEdge=s>=o-i+d,{top:r{e.preventDefault(),Math.abs(this.penDownX-this.pos3)>5||Math.abs(this.penDownY-this.pos4)>5||this.setState((e=>({minimized:!e.minimized})))},onPointerDown:e=>{const A=e=>{e.preventDefault(),this.pos1=this.pos3-e.clientX,this.pos2=this.pos4-e.clientY,this.pos3=e.clientX,this.pos4=e.clientY,this.updatePosition(this.pos2,this.pos1)},t=()=>{var e,n;null===(e=this.props.view.ownerDocument)||void 0===e||e.removeEventListener("pointerup",t),null===(n=this.props.view.ownerDocument)||void 0===n||n.removeEventListener("pointermove",A)};e.preventDefault(),this.penDownX=this.pos3=e.clientX,this.penDownY=this.pos4=e.clientY,this.props.view.ownerDocument.addEventListener("pointerup",t),this.props.view.ownerDocument.addEventListener("pointermove",A)}},React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 228 26"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M40,7 h148 M40,13 h148 M40,19 h148"}))),React__namespace.createElement("div",{className:"Island App-menu__left scrollbar",style:{maxHeight:"350px",width:"initial","--padding":2,display:this.state.minimized?"none":"block"}},React__namespace.createElement("div",{className:"panelColumn"},React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Utility actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"scriptEngine",title:t$d("INSTALL_SCRIPT_BUTTON"),action:()=>{new ScriptInstallPrompt(this.props.view.plugin).open()},icon:ICONS.scriptEngine,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"release-notes",title:t$d("READ_RELEASE_NOTES"),action:()=>{new ReleaseNotes(this.props.view.app,this.props.view.plugin,PLUGIN_VERSION).open()},icon:ICONS.releaseNotes,view:this.props.view}),null===this.state.isPreviewMode?React__namespace.createElement(ActionButton,{key:"convert",title:t$d("CONVERT_FILE"),action:()=>{this.props.view.convertExcalidrawToMD()},icon:ICONS.convertFile,view:this.props.view}):React__namespace.createElement(ActionButton,{key:"viewmode",title:this.state.isPreviewMode?t$d("PARSED"):t$d("RAW"),action:()=>{this.state.isPreviewMode?this.props.view.changeTextMode(TextMode.raw):this.props.view.changeTextMode(TextMode.parsed)},icon:this.state.isPreviewMode?ICONS.rawMode:ICONS.parsedMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"tray-mode",title:t$d("TRAY_MODE"),action:()=>{this.props.view.toggleTrayMode()},icon:ICONS.trayMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"fullscreen",title:this.state.isFullscreen?t$d("EXIT_FULLSCREEN"):t$d("GOTO_FULLSCREEN"),action:()=>{this.state.isFullscreen?this.props.view.exitFullscreen():this.props.view.gotoFullscreen()},icon:this.state.isFullscreen?ICONS.exitFullScreen:ICONS.gotoFullScreen,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"search",title:t$d("SEARCH"),action:()=>{search(this.props.view)},icon:ICONS.search,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"ocr",title:t$d("RUN_OCR"),action:e=>{this.props.view.plugin.settings.taskboneEnabled?this.props.view.plugin.taskbone.getTextForView(this.props.view,e[CTRL_OR_CMD]):new obsidian.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3)},icon:ICONS.ocr,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLink",title:t$d("OPEN_LINK_CLICK"),action:()=>{const e=new MouseEvent("click",{ctrlKey:!0,metaKey:!1,shiftKey:!1,altKey:!1});this.props.view.handleLinkClick(this.props.view,e)},icon:ICONS.openLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLinkProperties",title:t$d("OPEN_LINK_PROPS"),action:()=>{const e=new MouseEvent("click",{ctrlKey:!0,metaKey:!1,shiftKey:!0,altKey:!0});this.props.view.handleLinkClick(this.props.view,e)},icon:ICONS.openLinkProperties,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"save",title:t$d("FORCE_SAVE"),action:()=>{this.props.view.forceSave()},icon:(e=this.state.isDirty,React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:e?"var(--color-accent)":"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),React__namespace.createElement("polyline",{points:"17 21 17 13 7 13 7 21"}),React__namespace.createElement("polyline",{points:"7 3 7 8 15 8"}))),view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Export actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"lib",title:t$d("DOWNLOAD_LIBRARY"),action:()=>{this.props.view.plugin.exportLibrary()},icon:ICONS.exportLibrary,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"svg",title:t$d("EXPORT_SVG"),action:()=>{this.props.view.saveSVG(),new obsidian.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"svg")}`)},icon:ICONS.exportSVG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"png",title:t$d("EXPORT_PNG"),action:()=>{this.props.view.savePNG(),new obsidian.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"png")}`)},icon:ICONS.exportPNG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"excalidraw",title:t$d("EXPORT_EXCALIDRAW"),action:()=>{this.props.view.exportExcalidraw()},icon:ICONS.exportExcalidraw,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"md",title:t$d("OPEN_AS_MD"),action:()=>{this.props.view.openAsMarkdown()},icon:ICONS.switchToMarkdown,view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Insert actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"image",title:t$d("INSERT_IMAGE"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertImageDialog.start(this.props.view)},icon:ICONS.insertImage,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"insertMD",title:t$d("INSERT_MD"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertMDDialog.start(this.props.view)},icon:ICONS.insertMD,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"latex",title:t$d("INSERT_LATEX"),action:()=>{this.props.centerPointer(),insertLaTeXToView(this.props.view)},icon:ICONS.insertLaTeX,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link",title:t$d("INSERT_LINK"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertLinkDialog.start(this.props.view.file.path,this.props.view.addText)},icon:ICONS.insertLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link-to-element",title:t$d("INSERT_LINK_TO_ELEMENT"),action:e=>{this.props.view.copyLinkToSelectedElementToClipboard(e[CTRL_OR_CMD]?"group=":e.shiftKey?"area=":"")},icon:ICONS.copyElementLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"import-svg",title:t$d("IMPORT_SVG"),action:e=>{this.props.view.plugin.importSVGDialog.start(this.props.view)},icon:ICONS.importSVG,view:this.props.view}))),this.renderScriptButtons(!1),this.renderScriptButtons(!0)))));var e}renderScriptButtons(e){if(0===Object.keys(this.state.scriptIconMap).length)return"";const A=`${this.props.view.plugin.settings.scriptFolderPath}/Downloaded/`,t=t=>e?t.startsWith(A):!t.startsWith(A);return 0===Object.keys(this.state.scriptIconMap).filter((e=>t(e))).length?"":React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,e?"Downloaded":"User"," Scripts"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},Object.keys(this.state.scriptIconMap).filter((e=>t(e))).sort().map((A=>{return React__namespace.createElement(ActionButton,{key:A,title:e?this.state.scriptIconMap[A].name.replace("Downloaded/",""):this.state.scriptIconMap[A].name,action:async()=>{const e=this.props.view.app.vault.getAbstractFileByPath(A);e&&e instanceof obsidian.TFile&&this.props.view.plugin.scriptEngine.executeScript(this.props.view,await this.props.view.plugin.app.vault.read(e),this.props.view.plugin.scriptEngine.getScriptName(e))},icon:this.state.scriptIconMap[A].svgString?(t=this.state.scriptIconMap[A].svgString,t=t.replace(/stroke\s*=\s*['"][^"']*['"]/g,"").replace(/width\s*=\s*['"][^"']*['"]/g,"").replace(/height\s*=\s*['"][^"']*['"]/g,"").replace("A.filter((A=>{if(t&&A.type!==t)return!1;const[n,i,a,r]=rotatedDimensions(A);return n<=e.x&&n+a>=e.x&&i<=e.y&&i+r>=e.y})),getTextElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return{id:null,text:null};const n=getElementsAtPointer(e,t.getSceneElements(),"text");if(0==n.length)return{id:null,text:null};if(1===n.length)return{id:n[0].id,text:n[0].text};const i=n.filter((e=>{const t=A.textMode===TextMode.parsed?A.excalidrawData.getRawText(e.id):e.text;return!!t&&(!!t.match(REG_LINKINDEX_HYPERLINK)||!!REGEX_LINK.getRes(t).next().value)}));return 0==i.length?{id:n[0].id,text:n[0].text}:{id:i[0].id,text:i[0].text}},getImageElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const n=getElementsAtPointer(e,t.getSceneElements(),"image");return 0===n.length?{id:null,fileId:null}:n.length>=1?{id:n[0].id,fileId:n[0].fileId}:void 0},getElementWithLinkAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const n=getElementsAtPointer(e,t.getSceneElements()).filter((e=>e.link));return 0===n.length?{id:null,text:null}:n.length>=1?{id:n[0].id,text:n[0].link}:void 0};class MenuLinks{constructor(e,A){this.render=(e,A)=>React__namespace.createElement("div",null,"Hello"),this.plugin=e,this.ref=A}}var TextMode;!function(e){e.parsed="parsed",e.raw="raw"}(TextMode||(TextMode={}));const HIDE="excalidraw-hidden",SHOW="excalidraw-visible",addFiles=async(e,A,t)=>{if(!e||0===e.length||!A)return;const n=A.excalidrawAPI;if(!n)return;if(e=e.filter((e=>e&&e.size&&e.size.height>0&&e.size.width>0)),0===e.length)return;const i=scaleLoadedImage(A.getScene(),e);void 0===t&&(t=i.scene.appState.theme),i.dirty&&await A.updateScene({elements:i.scene.elements,appState:i.scene.appState,commitToHistory:!1});for(const n of e)if(A.excalidrawData.hasFile(n.id)&&A.excalidrawData.getFile(n.id).setImage(n.dataURL,n.mimeType,n.size,t,n.hasSVGwithBitmap),A.excalidrawData.hasEquation(n.id)){const e=A.excalidrawData.getEquation(n.id).latex;A.excalidrawData.setEquation(n.id,{latex:e,isLoaded:!0})}n.addFiles(e)},warningUnknowSeriousError=()=>{new obsidian.Notice("WARNING: Excalidraw ran into an unknown problem!\n\nThere is a risk that your most recent changes cannot be saved.\n\nTo be on the safe side...\n1) Please select your drawing using CTRL/CMD+A and make a copy with CTRL/CMD+C.\n2) Then create an empty drawing in a new pane by CTRL/CMD+clicking the Excalidraw ribbon button,\n3) and paste your work to the new document with CTRL/CMD+V.",6e4)};class ExcalidrawView extends obsidian.TextFileView{constructor(e,A){super(e),this.getScene=null,this.addElements=null,this.getSelectedTextElement=null,this.getSelectedImageElement=null,this.getSelectedElementWithLink=null,this.addText=null,this.refresh=null,this.excalidrawRef=null,this.excalidrawAPI=null,this.excalidrawWrapperRef=null,this.toolsPanelRef=null,this.linksAlwaysOpenInANewPane=!1,this.lastSaveTimestamp=0,this.metaKeyDown=!1,this.ctrlKeyDown=!1,this.shiftKeyDown=!1,this.altKeyDown=!1,this.semaphores={viewunload:!1,scriptsReady:!1,justLoaded:!1,preventAutozoom:!1,autosaving:!1,dirty:null,preventReload:!1,isEditingText:!1,saving:!1,forceSaving:!1,hoverSleep:!1,wheelTimeout:null},this.autosaveTimer=null,this.textMode=TextMode.raw,this.compatibilityMode=!1,this.isEditingTextResetTimer=null,this.id=this.leaf.id,this.getHookServer=()=>{var e;return null!==(e=this.hookServer)&&void 0!==e?e:this.plugin.ea},this.preventReloadResetTimer=null,this.fullscreenModalObserver=null,this.hiddenMobileLeaves=[],this.offsetLeft=0,this.offsetTop=0,this.blockTextModeChange=!1,this.isLoaded=!1,this.activeLoader=null,this.nextLoader=null,this.initialContainerSizeUpdate=!1,this.previousSceneVersion=0,this.previousBackgroundColor="",this.plugin=A,this.excalidrawData=new ExcalidrawData(A),this.hookServer=A.ea}setHookServer(e){this.hookServer=e||this.plugin.ea}preventAutozoom(){this.semaphores.preventAutozoom=!0,setTimeout((()=>this.semaphores.preventAutozoom=!1),1500)}saveExcalidraw(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=`${this.file.path.substring(0,this.file.path.lastIndexOf(".md"))}.excalidraw`,t=app.vault.getAbstractFileByPath(obsidian.normalizePath(A));t&&t instanceof obsidian.TFile?app.vault.modify(t,JSON.stringify(e,null,"\t")):app.vault.create(A,JSON.stringify(e,null,"\t"))}async exportExcalidraw(){this.getScene&&this.file&&(app.isMobile?new Prompt(app,"Please provide filename",this.file.basename,"filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidraw`;const A=splitFolderAndFilename(this.file.path).folderpath;await checkAndCreateFolder(A);const t=getNewUniqueFilepath(app.vault,e,A);app.vault.create(t,JSON.stringify(this.getScene(),null,"\t")),new obsidian.Notice(`Exported to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.getScene(),null,"\t")),`${this.file.basename}.excalidraw`))}async svg(e,A){const t={withBackground:getWithBackground(this.plugin,this.file),withTheme:!0};return await getSVG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:getExportTheme(this.plugin,this.file,e.appState.theme)})}),t,getExportPadding(this.plugin,this.file))}async saveSVG(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=async(A,t)=>{const n=app.vault.getAbstractFileByPath(obsidian.normalizePath(A)),i=await this.svg(e,t);if(!i)return;const a=(new XMLSerializer).serializeToString(embedFontsInSVG(i,this.plugin));n&&n instanceof obsidian.TFile?await app.vault.modify(n,a):await app.vault.create(A,a)};this.plugin.settings.autoExportLightAndDark?(await A(getIMGFilename(this.file.path,"dark.svg"),"dark"),await A(getIMGFilename(this.file.path,"light.svg"),"light")):await A(getIMGFilename(this.file.path,"svg"))}async png(e,A){const t={withBackground:getWithBackground(this.plugin,this.file),withTheme:!0};return await getPNG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:getExportTheme(this.plugin,this.file,e.appState.theme)})}),t,getExportPadding(this.plugin,this.file),getPNGScale(this.plugin,this.file))}async savePNG(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=async(A,t)=>{const n=app.vault.getAbstractFileByPath(obsidian.normalizePath(A)),i=await this.png(e,t);i&&(n&&n instanceof obsidian.TFile?await app.vault.modifyBinary(n,await i.arrayBuffer()):await app.vault.createBinary(A,await i.arrayBuffer()))};this.plugin.settings.autoExportLightAndDark?(await A(getIMGFilename(this.file.path,"dark.png"),"dark"),await A(getIMGFilename(this.file.path,"light.png"),"light")):await A(getIMGFilename(this.file.path,"png"))}async save(e=!0,A=!1){if(!this.isLoaded)return;if(this.semaphores.saving)return;this.semaphores.saving=!0;let t=!1;if(this.getScene&&this.excalidrawAPI&&this.isLoaded&&this.file&&app.vault.getAbstractFileByPath(this.file.path)){try{const n=Boolean(null!==this.semaphores.dirty&&this.semaphores.dirty||this.semaphores.autosaving||A),i=this.getScene();if(this.compatibilityMode?await this.excalidrawData.syncElements(i):await this.excalidrawData.syncElements(i,this.excalidrawAPI.getAppState().selectedElementIds)&&await this.loadDrawing(!1,this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted))),n&&(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=e,await super.save(),t=this.lastSaveTimestamp===this.file.stat.mtime&&!e&&A,this.lastSaveTimestamp=this.file.stat.mtime,this.clearDirty(),e)){const e=this;this.preventReloadResetTimer=setTimeout((()=>e.semaphores.preventReload=!1),2e3)}if(!t&&!this.semaphores.autosaving&&!this.semaphores.viewunload){const e=this.excalidrawData.autoexportPreference;(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportSVG||e===AutoexportPreference.both||e===AutoexportPreference.svg)&&this.saveSVG(),(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportPNG||e===AutoexportPreference.both||e===AutoexportPreference.png)&&this.savePNG(),!this.compatibilityMode&&this.plugin.settings.autoexportExcalidraw&&this.saveExcalidraw()}}catch(e){errorlog({where:"ExcalidrawView.save",fn:this.save,error:e}),warningUnknowSeriousError()}this.semaphores.saving=!1,t&&this.reload(!0,this.file)}else this.semaphores.saving=!1}getViewData(){if(!this.getScene)return this.data;if(!this.excalidrawData.loaded)return this.data;const e=this.getScene();if(!this.compatibilityMode){let e=this.data.search(/(^%%\n)?# Text Elements\n/m);if(-1==e&&(e=this.data.search(/(%%\n)?# Drawing\n/)),-1==e)return this.data;let A=this.data.substring(0,e).replace(/excalidraw-plugin:\s.*\n/,"excalidraw-plugin: "+(this.textMode===TextMode.raw?"raw\n":"parsed\n"));const t=/(^---[\w\W]*?---\n)(!\[\[.*?]]\n(%%\n)?)/m;A.match(t)&&(A=A.replace(t,"$1")),this.excalidrawData.disableCompression||(this.excalidrawData.disableCompression=this.isEditedAsMarkdownInOtherView());const n=A+this.excalidrawData.generateMD(this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted)));return this.excalidrawData.disableCompression=!1,n}return this.compatibilityMode?JSON.stringify(e,null,"\t"):this.data}restoreMobileLeaves(){this.hiddenMobileLeaves.length>0&&(this.hiddenMobileLeaves.forEach((e=>{e[0].containerEl.style.display=e[1]})),this.hiddenMobileLeaves=[])}gotoFullscreen(){this.plugin.leafChangeTimeout&&(clearTimeout(this.plugin.leafChangeTimeout),this.plugin.leafChangeTimeout=null),this.excalidrawWrapperRef&&(this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!0),(e=>{for(;e&&!e.hasClass("workspace-split");)e.addClass(SHOW),e=e.parentElement;e&&e.addClass(SHOW);const A=this.ownerDocument;A.body.querySelectorAll(`div.workspace-split:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelector(`div.workspace-leaf-content.${SHOW} > .view-header`).addClass(HIDE),A.body.querySelectorAll(`div.workspace-tab-container.${SHOW} > div.workspace-leaf:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-tabs.${SHOW} > div.workspace-tab-header-container`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-split.${SHOW} > div.workspace-tabs:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.workspace-ribbon").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.mobile-navbar").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.status-bar").forEach((e=>e.addClass(HIDE)))})(this.contentEl))}isFullscreen(){return Boolean(document.body.querySelector(".excalidraw-hidden"))}exitFullscreen(){this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!1);const e=this.ownerDocument;e.querySelectorAll(".excalidraw-hidden").forEach((e=>e.removeClass(HIDE))),e.querySelectorAll(".excalidraw-visible").forEach((e=>e.removeClass(SHOW)))}async handleLinkClick(e,A){var t,n,i,a;const r=this.ownerDocument.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");r&&this.ownerDocument.body.removeChild(r);const s=this.getSelectedTextElement(),o=(null==s?void 0:s.id)?null:this.getSelectedImageElement(),l=(null==o?void 0:o.id)||(null==s?void 0:s.id)?null:this.getSelectedElementWithLink();let c=null,d=null,h=null;if((null==s?void 0:s.id)||(null==l?void 0:l.id)){if(h=null!==(t=null==l?void 0:l.text)&&void 0!==t?t:this.textMode===TextMode.parsed?this.excalidrawData.getRawText(s.id):s.text,!h)return;if(h=h.replaceAll("\n",""),this.getHookServer().onLinkClickHook){const e=null!==(n=s.id)&&void 0!==n?n:l.id,t=this.excalidrawAPI.getSceneElements().filter((A=>A.id===e))[0];try{if(!this.getHookServer().onLinkClickHook(t,h,A,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.handleLinkClick selectedText.id!==null",fn:this.getHookServer().onLinkClickHook,error:e})}}if(h.match(REG_LINKINDEX_HYPERLINK))return void window.open(h,"_blank");const i=REGEX_LINK.getRes(h).next();if(!i.value){const e=h.matchAll(/#([\p{Letter}\p{Emoji_Presentation}\p{Number}\/_-]+)/gu).next();if(!e.value||e.value.length<2)return;const A=app.workspace.getLeavesOfType("search");if(0==A.length)return;return A[0].view.setQuery(`tag:${e.value[1]}`),app.workspace.revealLeaf(A[0]),void(this.isFullscreen()&&this.exitFullscreen())}if(h=REGEX_LINK.getLink(i),h.match(REG_LINKINDEX_HYPERLINK))return void window.open(h,"_blank");if(h.search("#")>-1){const e=getLinkParts(h,this.file);d=`#${e.isBlockRef?"^":""}${e.ref}`,h=e.path}if(h.match(REG_LINKINDEX_INVALIDCHARS))return void new obsidian.Notice(t$d("FILENAME_INVALID_CHARS"),4e3);c=e.app.metadataCache.getFirstLinkpathDest(h,e.file.path)}if(null==o?void 0:o.id){if(this.excalidrawData.hasEquation(o.fileId)){const e=this.excalidrawData.getEquation(o.fileId).latex;return void new Prompt(app,t$d("ENTER_LATEX"),e,"").openAndGetValue((async A=>{A&&A!==e&&(this.excalidrawData.setEquation(o.fileId,{latex:A,isLoaded:!1}),await this.save(!1),await updateEquation(A,o.fileId,this,addFiles,this.plugin),this.setDirty(1))}))}if(await this.save(!1),this.excalidrawData.hasFile(o.fileId)){if(A.altKey){const e=this.excalidrawData.getFile(o.fileId);if("md"===e.file.extension&&!this.plugin.isExcalidrawFile(e.file))return void new Prompt(app,"Customize the link",e.linkParts.original,"","Do not add [[square brackets]] around the filename!
Follow this format when editing your link:
filename#^blockref|WIDTHxMAXHEIGHT").openAndGetValue((async A=>{A&&e.linkParts.original!==A&&(e.resetImage(this.file.path,A),await this.save(!1),await this.loadSceneFiles(),this.setDirty(2))}))}h=this.excalidrawData.getFile(o.fileId).file.path,c=this.excalidrawData.getFile(o.fileId).file}}if(h){if(this.getHookServer().onLinkClickHook){const e=null!==(a=null!==(i=o.id)&&void 0!==i?i:s.id)&&void 0!==a?a:l.id,t=this.excalidrawAPI.getSceneElements().filter((A=>A.id===e))[0];try{if(!this.getHookServer().onLinkClickHook(t,h,A,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.handleLinkClick selectedText.id===null",fn:this.getHookServer().onLinkClickHook,error:e})}}try{if(A.shiftKey&&this.isFullscreen()&&this.exitFullscreen(),!c)return void new NewFileActions(this.plugin,h,A.shiftKey,!app.isMobile&&A.metaKey,e).open();const t=!app.isMobile&&(A.metaKey&&this.linksAlwaysOpenInANewPane||A.metaKey)?app.workspace.openPopoutLeaf():A.shiftKey||this.linksAlwaysOpenInANewPane?getNewOrAdjacentLeaf(this.plugin,e.leaf):e.leaf;await t.openFile(c,d?{active:!1,eState:{subpath:d}}:void 0)}catch(e){new obsidian.Notice(e,4e3)}}else new obsidian.Notice(t$d("LINK_BUTTON_CLICK_NO_TEXT"),2e4)}onResize(){var e,A;if(this.plugin.leafChangeTimeout)return;const t=this.excalidrawAPI;this.plugin.settings.zoomToFitOnResize&&this.excalidrawRef&&!this.semaphores.isEditingText&&t&&"text"!==(null===(A=null===(e=t.getAppState())||void 0===e?void 0:e.editingElement)||void 0===A?void 0:A.type)&&this.zoomToFit(!1)}getSceneVersion(e){return this.excalidrawGetSceneVersion||(this.excalidrawGetSceneVersion=this.plugin.getPackage(this.ownerWindow).excalidrawLib.getSceneVersion),this.excalidrawGetSceneVersion(e.filter((e=>!e.isDeleted)))}async forceSave(e=!1){this.semaphores.autosaving||this.semaphores.saving?e||new obsidian.Notice("Force Save aborted because saving is in progress)"):(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=!1,this.semaphores.forceSaving=!0,await this.save(!1,!0),this.plugin.triggerEmbedUpdates(),this.loadSceneFiles(),this.semaphores.forceSaving=!1,e||new obsidian.Notice("Save successful",1e3))}onload(){const e=Boolean(void 0===this.containerEl.onWindowMigrated);app.isMobile||e||this.containerEl.onWindowMigrated((()=>this.leaf.rebuildView()));const A=app.isMobile?document:this.containerEl.ownerDocument;this.ownerDocument=A,this.ownerWindow=this.ownerDocument.defaultView,this.plugin.getPackage(this.ownerWindow),this.semaphores.scriptsReady=!0,this.wheelEvent=e=>{this.semaphores.wheelTimeout&&clearTimeout(this.semaphores.wheelTimeout),this.semaphores.hoverSleep&&this.clearHoverPreview&&this.clearHoverPreview(),this.semaphores.wheelTimeout=setTimeout((()=>{clearTimeout(this.semaphores.wheelTimeout),this.semaphores.wheelTimeout=null}),1e3)},this.containerEl.addEventListener("wheel",this.wheelEvent,{passive:!1}),this.addAction("ScriptEngine",t$d("INSTALL_SCRIPT_BUTTON"),(()=>{new ScriptInstallPrompt(this.plugin).open()})),this.diskIcon=this.addAction("save",t$d("FORCE_SAVE"),(async()=>this.forceSave())),this.textIsRaw_Element=this.addAction("presentation",t$d("RAW"),(()=>this.changeTextMode(TextMode.parsed))),this.textIsParsed_Element=this.addAction("quote-glyph",t$d("PARSED"),(()=>this.changeTextMode(TextMode.raw))),this.linkAction_Element=this.addAction("link",t$d("OPEN_LINK"),(e=>this.handleLinkClick(this,e))),app.isMobile||this.addAction("fullscreen","Press ESC to exit fullscreen mode",(()=>this.gotoFullscreen()));const t=this;app.workspace.onLayoutReady((async()=>{t.contentEl.addClass("excalidraw-view"),await t.addSlidingPanesListner(),t.addParentMoveObserver(),t.onKeyUp=e=>{t.ctrlKeyDown=e[CTRL_OR_CMD],t.shiftKeyDown=e.shiftKey,t.altKeyDown=e.altKey,t.metaKeyDown=e.metaKey},t.onKeyDown=e=>{this.ctrlKeyDown=e[CTRL_OR_CMD],this.shiftKeyDown=e.shiftKey,this.altKeyDown=e.altKey,this.metaKeyDown=e.metaKey},t.ownerWindow.addEventListener("keydown",t.onKeyDown,!1),t.ownerWindow.addEventListener("keyup",t.onKeyUp,!1)})),this.setupAutosaveTimer(),super.onload()}async addSlidingPanesListner(){const e=this;this.slidingPanesListner=()=>{e.refresh&&e.refresh()};let A=app.workspace.rootSplit;for(;!A;)await sleep(50),A=app.workspace.rootSplit;A.containerEl.addEventListener("scroll",this.slidingPanesListner)}removeSlidingPanesListner(){var e;this.slidingPanesListner&&(null===(e=app.workspace.rootSplit.containerEl)||void 0===e||e.removeEventListener("scroll",this.slidingPanesListner))}addParentMoveObserver(){var e;const A=null!==(e=getParentOfClass(this.containerEl,"popover"))&&void 0!==e?e:getParentOfClass(this.containerEl,"workspace-leaf");if(!A)return;const t=A.classList.contains("popover");this.offsetLeft=A.offsetLeft,this.offsetTop=A.offsetTop;const n=this;this.parentMoveObserver=new MutationObserver((async e=>{const A=e[0].target;if(!(A instanceof HTMLElement))return;const{offsetLeft:t,offsetTop:i}=A;t===n.offsetLeft&&i==n.offsetTop||(n.refresh&&n.refresh(),n.offsetLeft=t,n.offsetTop=i)})),this.parentMoveObserver.observe(A,{attributeOldValue:!0,attributeFilter:t?["data-x","data-y"]:["class","style"]})}removeParentMoveObserver(){this.parentMoveObserver&&this.parentMoveObserver.disconnect()}setTheme(e){const A=this.excalidrawAPI;if(!this.excalidrawRef||!A)return;if(this.file&&hasExportTheme(this.plugin,this.file))return;const t=A.getAppState();this.excalidrawData.scene.theme=e,this.updateScene({appState:Object.assign(Object.assign({},t),{theme:e}),commitToHistory:!1})}async changeTextMode(e,A=!0){if(this.compatibilityMode)return;if(this.blockTextModeChange)return;this.blockTextModeChange=!0,this.textMode=e,e===TextMode.parsed?(this.textIsRaw_Element.hide(),this.textIsParsed_Element.show()):(this.textIsRaw_Element.show(),this.textIsParsed_Element.hide()),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setPreviewMode(e===TextMode.parsed);const t=this.excalidrawAPI;t&&A&&(await this.save(),this.preventAutozoom(),await this.excalidrawData.loadData(this.data,this.file,this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(!1),t.history.clear()),this.prevTextMode=this.textMode,this.blockTextModeChange=!1}setupAutosaveTimer(){const e=async()=>{var A;if(!this.isLoaded)return void(this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval));const t=this.excalidrawAPI;if(!t)return void warningUnknowSeriousError();const n=t.getAppState(),i=null!==n.editingElement;if(this.refresh(),!this.semaphores.dirty||this.semaphores.dirty!=(null===(A=this.file)||void 0===A?void 0:A.path)||!this.plugin.settings.autosave||this.semaphores.forceSaving||this.semaphores.autosaving||i||null!==n.draggingElement)this.autosaveTimer=setTimeout(e,this.plugin.activeExcalidrawView===this&&this.semaphores.dirty&&this.plugin.settings.autosave?1e3:this.plugin.settings.autosaveInterval);else{if(this.autosaveTimer=null,this.excalidrawRef){this.semaphores.autosaving=!0;const e=this;this.save().then((()=>e.semaphores.autosaving=!1))}this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}};this.autosaveTimer&&(clearTimeout(this.autosaveTimer),this.autosaveTimer=null),this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}onunload(){var e,A,t,n,i,a;if(this.restoreMobileLeaves(),this.semaphores.viewunload=!0,null===(e=this.ownerWindow)||void 0===e||e.removeEventListener("keydown",this.onKeyDown,!1),null===(A=this.ownerWindow)||void 0===A||A.removeEventListener("keyup",this.onKeyUp,!1),this.containerEl.removeEventListener("wheel",this.wheelEvent,!1),this.getHookServer().onViewUnloadHook)try{this.getHookServer().onViewUnloadHook(this)}catch(e){errorlog({where:"ExcalidrawView.onunload",fn:this.getHookServer().onViewUnloadHook,error:e})}const r=null===(n=null===(t=this.containerEl)||void 0===t?void 0:t.ownerDocument)||void 0===n?void 0:n.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");r&&(null===(a=null===(i=this.containerEl)||void 0===i?void 0:i.ownerDocument)||void 0===a||a.body.removeChild(r)),this.removeParentMoveObserver(),this.removeSlidingPanesListner(),this.autosaveTimer&&(clearInterval(this.autosaveTimer),this.autosaveTimer=null),this.fullscreenModalObserver&&(this.fullscreenModalObserver.disconnect(),this.fullscreenModalObserver=null)}async reload(e=!1,A){if(this.semaphores.preventReload)return void(this.semaphores.preventReload=!1);if(this.semaphores.saving)return;if(this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),this.compatibilityMode)return void this.clearDirty();const t=this.excalidrawAPI;if(!this.excalidrawRef||!this.file||!t)return;const n=A&&A===this.file;n&&(this.data=await app.vault.read(A),this.preventAutozoom()),e?await this.excalidrawData.loadData(this.data,this.file,this.textMode):await this.excalidrawData.setTextMode(this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(n),this.clearDirty()}async zoomToElementId(e,A){let t=0;for(;!this.excalidrawAPI&&t++<100;)await sleep(50);const n=this.excalidrawAPI;if(!n)return;const i=n.getSceneElements();let a=i.filter((A=>A.id===e));if(0!==a.length){if(A){const e=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],i);e.length>0&&(a=e)}this.preventAutozoom(),this.zoomToElements(!n.getAppState().viewModeEnabled,a)}}setEphemeralState(e){if(!e)return;const A=this;let t=null;e.match&&e.match.content&&e.match.matches&&1===e.match.matches.length&&2===e.match.matches[0].length&&(t=[e.match.content.substring(e.match.matches[0][0],e.match.matches[0][1])]);const n=getEmbeddedFilenameParts(e.subpath);n.hasBlockref&&setTimeout((()=>A.zoomToElementId(n.blockref,n.hasGroupref)),300),n.hasSectionref?t=[`# ${n.sectionref}`]:e.line&&e.line>0&&(t=[this.data.split("\n")[e.line-1]]),t&&setTimeout((async()=>{let e=0;for(;!A.excalidrawAPI&&e++<100;)await sleep(50);const i=A.excalidrawAPI;if(!i)return;const a=i.getSceneElements();A.selectElementsMatchingQuery(a,t,!i.getAppState().viewModeEnabled,n.hasSectionref,n.hasGroupref)}),300),super.setEphemeralState(e)}clear(){const e=this.excalidrawAPI;this.excalidrawRef&&e&&(this.activeLoader&&(this.activeLoader.terminate=!0,this.activeLoader=null),this.nextLoader=null,e.resetScene(),e.history.clear(),this.previousSceneVersion=0)}async setViewData(e,A=!1){this.plugin.settings.showNewVersionNotification&&checkExcalidrawVersion(app),this.isLoaded=!1,A&&this.clear(),this.lastSaveTimestamp=this.file.stat.mtime,e=this.data=e.replaceAll("\r\n","\n").replaceAll("\r","\n"),app.workspace.onLayoutReady((async()=>{if(this.compatibilityMode="excalidraw"===this.file.extension,await this.plugin.loadSettings(),this.compatibilityMode)this.textIsRaw_Element.hide(),this.textIsParsed_Element.hide(),this.linkAction_Element.hide(),this.textMode=TextMode.raw,await this.excalidrawData.loadLegacyData(e,this.file),this.plugin.settings.compatibilityMode||new obsidian.Notice(t$d("COMPATIBILITY_MODE"),4e3),this.excalidrawData.disableCompression=!0;else{this.linkAction_Element.show(),this.excalidrawData.disableCompression=!1;const A=getTextMode(e);this.changeTextMode(A,!1);try{if(!await this.excalidrawData.loadData(e,this.file,this.textMode))return}catch(e){return errorlog({where:"ExcalidrawView.setViewData",error:e}),new obsidian.Notice(`Error loading drawing:\n${e.message}${"Cannot read property 'index' of undefined"===e.message?"\n'# Drawing' section is likely missing":""}\n\nTry manually fixing the file or restoring an earlier version from sync history.`,1e4),void this.setMarkdownView()}}await this.loadDrawing(!0);const A=this.excalidrawData.getOnLoadScript();if(A){const e=this,t=this.file.basename+"-onlaod-script",n=()=>{e.excalidrawAPI?e.plugin.scriptEngine.executeScript(e,A,t):setTimeout(n,200)};n()}this.isLoaded=!0}))}async loadSceneFiles(){if(!this.excalidrawAPI)return;const e=new EmbeddedFilesLoader(this.plugin),A=e=>{this.nextLoader=null,this.activeLoader=e,e.loadSceneFiles(this.excalidrawData,((e,t)=>{e&&(addFiles(e,this,t),this.activeLoader=null,this.nextLoader?A(this.nextLoader):this.excalidrawData.getFiles().some((e=>{if(e&&!e.file&&e.attemptCounter<30){const e=this,A=this.file.path;return setTimeout((async()=>{e&&e.excalidrawAPI&&A===e.file.path&&e.loadSceneFiles()}),2e3),!0}return!1})))}),0)};this.activeLoader?this.nextLoader=e:A(e)}async synchronizeWithData(e){let A=0;for(;this.semaphores.saving&&A++<30;)await sleep(100);if(A>=30)return void errorlog({where:"ExcalidrawView.synchronizeWithData",message:`Aborting sync with received file (${this.file.path}) because semaphores.saving remained true for ower 3 seconds`,fn:this.synchronizeWithData});this.semaphores.saving=!0;let t=!1;try{const A=e.deletedElements.map((e=>e.id)),n=this.excalidrawAPI.getSceneElements().filter((e=>!A.contains(e.id))),i=n.map((e=>e.id)),a=A=>{switch(A.type){case"text":this.excalidrawData.textElements.set(A.id,e.textElements.get(A.id));break;case"image":e.getFile(A.fileId)?(this.excalidrawData.setFile(A.fileId,e.getFile(A.fileId)),t=!0):e.getEquation(A.fileId)&&(this.excalidrawData.setEquation(A.fileId,e.getEquation(A.fileId)),t=!0)}e.elementLinks.has(A.id)&&this.excalidrawData.elementLinks.set(A.id,e.elementLinks.get(A.id))};e.scene.elements.forEach(((A,r,s)=>{const o=n.filter((e=>e.id===A.id))[0];if(o&&(o.versione.view.file===this.file)).length>0}setDirty(e){var A,t;this.semaphores.dirty=null===(A=this.file)||void 0===A?void 0:A.path,this.diskIcon.querySelector("svg").addClass("excalidraw-dirty"),(null===(t=this.toolsPanelRef)||void 0===t?void 0:t.current)&&this.toolsPanelRef.current.setDirty(!0),app.isMobile||obsidian.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="var(--color-accent)")}clearDirty(){var e;const A=this.excalidrawAPI;if(!A)return;this.semaphores.dirty=null,(null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current)&&this.toolsPanelRef.current.setDirty(!1);const t=A.getSceneElements();t&&(this.previousSceneVersion=this.getSceneVersion(t)),this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),app.isMobile||obsidian.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="")}initializeToolsIconPanelAfterLoading(){var e;const A=this.excalidrawAPI;if(!A)return;const t=A.getAppState(),n=null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current;n&&(n.setTheme(t.theme),n.setExcalidrawViewMode(t.viewModeEnabled),n.setPreviewMode(this.compatibilityMode?null:this.textMode===TextMode.parsed),n.updateScriptIconMap(this.plugin.scriptEngine.scriptIconMap))}canAcceptExtension(e){return"excalidraw"===e}getDisplayText(){return this.file?this.file.basename:t$d("NOFILE")}getViewType(){return"excalidraw"}getIcon(){return ICON_NAME}setMarkdownView(){this.plugin.excalidrawFileModes[this.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)}async openAsMarkdown(){!0===this.plugin.settings.compress&&(this.excalidrawData.disableCompression=!0,await this.save(!0,!0)),this.setMarkdownView()}async convertExcalidrawToMD(){await this.save(),this.plugin.openDrawing(await this.plugin.convertSingleExcalidrawToMD(this.file),"active-pane",!0)}onPaneMenu(e,A){this.excalidrawAPI&&this.getViewSelectedElements().some((e=>"text"===e.type))&&e.addItem((e=>{e.setTitle(t$d("OPEN_LINK")).setIcon("external-link").setSection("pane").onClick((e=>{this.handleLinkClick(this,e)}))})),this.compatibilityMode?e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE")).onClick((()=>this.convertExcalidrawToMD())).setSection("pane")})):e.addItem((e=>{e.setTitle(t$d("OPEN_AS_MD")).setIcon("document").onClick((()=>{this.openAsMarkdown()})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("EXPORT_EXCALIDRAW")).setIcon(ICON_NAME).onClick((async()=>{this.exportExcalidraw()})).setSection("pane")})),e.addItem((e=>{e.setTitle(t$d("SAVE_AS_PNG")).setIcon("save-png").setSection("pane").onClick((async e=>{if(this.getScene&&this.file)if(e[CTRL_OR_CMD]){const e=await this.png(this.getScene());if(!e)return;const A=new FileReader;A.readAsDataURL(e);const t=this;A.onloadend=function(){download(null,A.result,`${t.file.basename}.png`)}}else this.savePNG()})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("SAVE_AS_SVG")).setIcon("save-svg").setSection("pane").onClick((async e=>{if(this.getScene&&this.file){if(e[CTRL_OR_CMD]){let e=await this.svg(this.getScene());return e?(e=embedFontsInSVG(e,this.plugin),void download(null,svgToBase64(e.outerHTML),`${this.file.basename}.svg`)):null}this.saveSVG()}}))})).addItem((e=>{e.setTitle(t$d("INSTALL_SCRIPT_BUTTON")).setIcon("ScriptEngine").setSection("pane").onClick((()=>{new ScriptInstallPrompt(this.plugin).open()}))})),super.onPaneMenu(e,A)}async getLibrary(){var e;const A=this.plugin.getStencilLibrary();return(null==A?void 0:A.library)?A.library:null!==(e=null==A?void 0:A.libraryItems)&&void 0!==e?e:[]}async instantiateExcalidraw(e){for(;!this.semaphores.scriptsReady;)await sleep(50);const A=this.plugin.getPackage(this.ownerWindow).react,t=this.plugin.getPackage(this.ownerWindow).reactDOM;this.clearDirty();const n=A.createElement((()=>{let t={x:0,y:0};const n=A.useRef(null),i=A.useRef(null),a=A.useRef(null),[r,s]=A.useState({width:void 0,height:void 0});let o=null,l=null,c=null,d=Date.now(),h=!1;this.toolsPanelRef=i,this.obsidianMenu=new ObsidianMenu(this.plugin,i),this.menuLinks=new MenuLinks(this.plugin,a);const u=()=>{let e,A;const t=new Promise(((t,n)=>{e=t,A=n}));return t.resolve=e,t.reject=A,t},g=A.useMemo((()=>({current:{readyPromise:u()}})),[]);A.useEffect((()=>{g.current.readyPromise.then((e=>{var A;this.excalidrawAPI=e,e.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.loadSceneFiles(),this.updateContainerSize(null,!0),null===(A=this.excalidrawWrapperRef.current.firstElementChild)||void 0===A||A.focus(),this.initializeToolsIconPanelAfterLoading()}))}),[g]),this.excalidrawRef=g,this.excalidrawWrapperRef=n,A.useEffect((()=>{s({width:this.contentEl.clientWidth,height:this.contentEl.clientHeight});const e=()=>{try{s({width:this.contentEl.clientWidth,height:this.contentEl.clientHeight}),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.updatePosition(),this.ownerDocument!==document&&this.refresh()}catch(e){errorlog({where:"Excalidraw React-Wrapper, onResize",error:e})}};return this.ownerWindow.addEventListener("resize",e),()=>{var A;return null===(A=this.ownerWindow)||void 0===A?void 0:A.removeEventListener("resize",e)}}),[n]),this.getSelectedTextElement=()=>{var e;const A=this.excalidrawAPI;if(!(null==g?void 0:g.current)||!A)return{id:null,text:null};if(A.getAppState().viewModeEnabled){if(o){const e=o;return o=null,e}return{id:null,text:null}}const t=A.getSceneElements().filter((e=>e.id===Object.keys(A.getAppState().selectedElementIds)[0]));if(0===t.length)return{id:null,text:null};if("text"===t[0].type)return{id:t[0].id,text:t[0].text};if("image"===t[0].type)return{id:null,text:null};const n=null===(e=t[0].boundElements)||void 0===e?void 0:e.filter((e=>"text"===e.type));if((null==n?void 0:n.length)>0){const e=A.getSceneElements().filter((e=>e.id===n[0].id));if(e.length>0)return{id:e[0].id,text:e[0].text}}if(0===t[0].groupIds.length)return{id:null,text:null};const i=t[0].groupIds[0],a=A.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(i)})).filter((e=>"text"===e.type));return 0===a.length?{id:null,text:null}:{id:t[0].id,text:t[0].text}},this.getSelectedImageElement=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,fileId:null};if(e.getAppState().viewModeEnabled){if(l){const e=l;return l=null,e}return{id:null,fileId:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,fileId:null};if("image"==A[0].type)return{id:A[0].id,fileId:A[0].fileId};if("text"===A[0].type)return{id:null,fileId:null};if(0===A[0].groupIds.length)return{id:null,fileId:null};const t=A[0].groupIds[0],n=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>"image"==e.type));return 0===n.length?{id:null,fileId:null}:{id:n[0].id,fileId:n[0].fileId}},this.getSelectedElementWithLink=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,text:null};if(e.getAppState().viewModeEnabled){if(c){const e=c;return c=null,e}return{id:null,text:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,text:null};if(A[0].link)return{id:A[0].id,text:A[0].link};if(0===A[0].groupIds.length)return{id:null,text:null};const t=A[0].groupIds[0],n=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>e.link));return 0===n.length?{id:null,text:null}:{id:n[0].id,text:n[0].link}},this.addText=async(e,A,n=!0)=>{var i,a,r,s,o;const l=this.excalidrawAPI;if(!(null==g?void 0:g.current)||!l)return;const c=l.getAppState(),d=this.plugin.ea;d.reset(),d.style.strokeColor=null!==(i=c.currentItemStrokeColor)&&void 0!==i?i:"black",d.style.opacity=null!==(a=c.currentItemOpacity)&&void 0!==a?a:1,d.style.fontFamily=null!==(r=null!=A?A:c.currentItemFontFamily)&&void 0!==r?r:1,d.style.fontSize=null!==(s=c.currentItemFontSize)&&void 0!==s?s:20,d.style.textAlign=null!==(o=c.currentItemTextAlign)&&void 0!==o?o:"left";const h=d.addText(t.x,t.y,e);return await this.addElements(d.getElements(),!1,n),h},this.addElements=async(e,A=!1,n=!1,i,a=!1)=>{const r=this.excalidrawAPI;if(!(null==g?void 0:g.current)||!r)return!1;const s=e.filter((e=>"text"==e.type));for(let e=0;ee.id)),l=r.getSceneElements(),c=[];for(let A=0;Ae.id===t))[0],c.push(t))}const d=a?l.concat(e.filter((e=>!c.includes(e.id)))):e.filter((e=>!c.includes(e.id))).concat(l);if(await this.updateScene({elements:d,commitToHistory:!0},!0,!0),i&&Object.keys(i).length>0){const e=[];Object.keys(i).forEach((A=>{if(e.push({mimeType:i[A].mimeType,id:i[A].id,dataURL:i[A].dataURL,created:i[A].created}),i[A].file){const e=new EmbeddedFile(this.plugin,this.file.path,i[A].file),t=r.getAppState();e.setImage(i[A].dataURL,i[A].mimeType,i[A].size,"dark"===t.theme,i[A].hasSVGwithBitmap),this.excalidrawData.setFile(i[A].id,e)}i[A].latex&&this.excalidrawData.setEquation(i[A].id,{latex:i[A].latex,isLoaded:!0})})),r.addFiles(e)}return n?await this.save(!1):this.setDirty(5),!0},this.getScene=()=>{const e=this.excalidrawAPI;if(!(null==g?void 0:g.current)||!e)return null;const A=e.getSceneElements(),t=e.getAppState(),n=e.getFiles();if(n){const e=A.filter((e=>"image"===e.type)).map((e=>e.fileId)),t=Object.keys(n).filter((A=>!e.contains(A)));t.forEach((e=>delete n[e]))}return{type:"excalidraw",version:2,source:"https://excalidraw.com",elements:A,appState:{theme:t.theme,viewBackgroundColor:t.viewBackgroundColor,currentItemStrokeColor:t.currentItemStrokeColor,currentItemBackgroundColor:t.currentItemBackgroundColor,currentItemFillStyle:t.currentItemFillStyle,currentItemStrokeWidth:t.currentItemStrokeWidth,currentItemStrokeStyle:t.currentItemStrokeStyle,currentItemRoughness:t.currentItemRoughness,currentItemOpacity:t.currentItemOpacity,currentItemFontFamily:t.currentItemFontFamily,currentItemFontSize:t.currentItemFontSize,currentItemTextAlign:t.currentItemTextAlign,currentItemStrokeSharpness:t.currentItemStrokeSharpness,currentItemStartArrowhead:t.currentItemStartArrowhead,currentItemEndArrowhead:t.currentItemEndArrowhead,currentItemLinearStrokeSharpness:t.currentItemLinearStrokeSharpness,gridSize:t.gridSize,colorPalette:t.colorPalette},prevTextMode:this.prevTextMode,files:n}},this.refresh=()=>{if(0===this.contentEl.clientWidth||0===this.contentEl.clientHeight)return;const e=this.excalidrawAPI;(null==g?void 0:g.current)&&e&&e.refresh()};let p={x:0,y:0},w=null;this.clearHoverPreview=()=>{if(w){const e=new MouseEvent("click",{view:this.ownerWindow,bubbles:!0,cancelable:!0});w.dispatchEvent(e),w=null}};const m=e=>{var A,t,n,i,a;const r=null===(A=app.dragManager.draggable)||void 0===A?void 0:A.files;return r&&r[0]==this.file&&(r.shift(),app.dragManager.draggable.title=`${r.length} files`),["file","files"].includes(null===(t=app.dragManager.draggable)||void 0===t?void 0:t.type)?"link":(null===(n=e.types)||void 0===n?void 0:n.includes("text/html"))||(null===(i=e.types)||void 0===i?void 0:i.includes("text/plain"))||(null===(a=e.types)||void 0===a?void 0:a.includes("Files"))?"copy":void 0};let f=!1;const B=()=>{if(o=getTextElementAtPointer(t,this),o&&o.id){const e=new MouseEvent("click",{ctrlKey:!0,metaKey:this.metaKeyDown,shiftKey:this.shiftKeyDown,altKey:this.altKeyDown});return this.handleLinkClick(this,e),void(o=null)}if(l=getImageElementAtPointer(t,this),l&&l.id){const e=new MouseEvent("click",{ctrlKey:!0,metaKey:this.metaKeyDown,shiftKey:this.shiftKeyDown,altKey:this.altKeyDown});return this.handleLinkClick(this,e),void(l=null)}if(c=getElementWithLinkAtPointer(t,this),c&&c.id){const e=new MouseEvent("click",{ctrlKey:!0,metaKey:this.metaKeyDown,shiftKey:this.shiftKeyDown,altKey:this.altKeyDown});return this.handleLinkClick(this,e),void(c=null)}};let E=null;const b=(e,A)=>{var n,i;if(!E)return;if(null===(i=null===(n=this.excalidrawAPI)||void 0===n?void 0:n.getAppState())||void 0===i?void 0:i.editingElement)return;if(this.semaphores.wheelTimeout)return;if(!e){if(!t)return;e="";const n=getTextElementAtPointer(t,this);if(n&&n.text){A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===n.id))[0];const t=this.textMode===TextMode.parsed?this.excalidrawData.getRawText(n.id):n.text;if(!t)return;if(t.match(REG_LINKINDEX_HYPERLINK))return;const i=REGEX_LINK.getRes(t).next();if(!i.value)return;if((e=REGEX_LINK.getLink(i)).match(REG_LINKINDEX_HYPERLINK))return}else{const n=getImageElementAtPointer(t,this);if(A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===n.id))[0],!n||!n.fileId)return;if(!this.excalidrawData.hasFile(n.fileId))return;const i=this.excalidrawData.getFile(n.fileId),a=i.linkParts.ref?`#${i.linkParts.isBlockRef?"^":""}${i.linkParts.ref}`:"";e=this.excalidrawData.getFile(n.fileId).file.path+a}}if(this.getHookServer().onLinkHoverHook)try{if(!this.getHookServer().onLinkHoverHook(A,e,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.showHoverPreview",fn:this.getHookServer().onLinkHoverHook,error:e})}if(this.semaphores.hoverSleep)return;const a=app.metadataCache.getFirstLinkpathDest(e.split("#")[0],this.file.path);if(!a)return;if(this.ownerDocument.querySelector(`div.popover-title[data-path="${a.path}"]`))return;this.semaphores.hoverSleep=!0;const r=this;if(setTimeout((()=>r.semaphores.hoverSleep=!1),500),this.plugin.hover.linkText=e,this.plugin.hover.sourcePath=this.file.path,w=this.contentEl,app.workspace.trigger("hover-link",{event:E,source:"excalidraw",hoverParent:w,targetEl:w,linktext:this.plugin.hover.linkText,sourcePath:this.plugin.hover.sourcePath}),p=t,this.isFullscreen()){const e=this;setTimeout((()=>{var A,t,n,i;const r=null!==(i=null===(n=null===(t=null===(A=this.ownerDocument.querySelector(`div.popover-title[data-path="${a.path}"]`))||void 0===A?void 0:A.parentElement)||void 0===t?void 0:t.parentElement)||void 0===n?void 0:n.parentElement)&&void 0!==i?i:this.ownerDocument.body.querySelector("div.popover");r&&e.contentEl.append(r)}),400)}},{Excalidraw:C}=this.plugin.getPackage(this.ownerWindow).excalidrawLib,v=A.createElement("div",{className:"excalidraw-wrapper",ref:n,key:"abc",tabIndex:0,onKeyDown:e=>{e.target!==v.ref.current&&(this.isFullscreen()&&e.keyCode===KEYCODE.ESC&&this.exitFullscreen(),!e[CTRL_OR_CMD]||e.shiftKey||e.altKey||b())},onPointerDown:e=>{(e[CTRL_OR_CMD]||e.metaKey)&&(this.plugin.settings.allowCtrlClick||e.metaKey)&&setTimeout((()=>{(this.getSelectedTextElement().id||this.getSelectedImageElement().id||this.getSelectedElementWithLink().id)&&this.handleLinkClick(this,e)}))},onMouseMove:e=>{E=e.nativeEvent},onMouseOver:()=>{this.clearHoverPreview()},onDragOver:e=>{const A=m(e.dataTransfer);if(A)return e.dataTransfer.dropEffect=A,e.preventDefault(),!1},onDragLeave:()=>{}},A.createElement(C,{ref:g,width:r.width,height:r.height,UIOptions:{canvasActions:{loadScene:!1,saveScene:!1,saveAsScene:!1,export:!1,saveAsImage:!1,saveToActiveFile:!1}},initState:null==e?void 0:e.appState,initialData:e,detectScroll:!0,onPointerUpdate:e=>{if(t=e.pointer,w&&(Math.abs(p.x-e.pointer.x)>50||Math.abs(p.y-e.pointer.y)>50)&&this.clearHoverPreview(),f){if(!h&&"down"===e.button){if(h=!0,this.ctrlKeyDown||this.metaKeyDown)return void B();const e=Date.now();return e-d<600&&e-d>40&&B(),void(d=e)}"up"===e.button&&(h=!1),(this.ctrlKeyDown||this.excalidrawAPI.getAppState().isViewModeEnabled&&this.plugin.settings.hoverPreviewWithoutCTRL)&&b()}},libraryReturnUrl:"app://obsidian.md",autoFocus:!0,hideWelcomeScreen:!0,renderMenuLinks:null,onChange:(e,A)=>{const t=()=>{this.plugin.ea.onCanvasColorChangeHook&&this.plugin.ea.onCanvasColorChangeHook(this.plugin.ea,this,A.viewBackgroundColor)};if(f=A.viewModeEnabled,this.semaphores.justLoaded)return this.semaphores.justLoaded=!1,this.semaphores.preventAutozoom||this.zoomToFit(!1,!0),this.previousSceneVersion=this.getSceneVersion(e),this.previousBackgroundColor=A.viewBackgroundColor,void t();if(!this.semaphores.dirty&&null===A.editingElement&&null===A.editingLinearElement){const n=this.getSceneVersion(e);((n>0||0===n&&e.length>0)&&n!==this.previousSceneVersion||A.viewBackgroundColor!==this.previousBackgroundColor)&&(this.previousSceneVersion=n,this.previousBackgroundColor=A.viewBackgroundColor,this.setDirty(6),t())}},onLibraryChange:e=>{(async()=>{const A={type:"excalidrawlib",version:2,source:"https://excalidraw.com",libraryItems:e};this.plugin.setStencilLibrary(A),await this.plugin.saveSettings()})()},renderTopRightUI:this.obsidianMenu.renderButton,onPaste:e=>{if(e.elements){const e=this;setTimeout((()=>e.save(!1)),300)}return!0},onThemeChange:async e=>{var A;this.excalidrawData.scene.appState.theme=e,this.loadSceneFiles(),null===(A=null==i?void 0:i.current)||void 0===A||A.setTheme(e)},ownerDocument:this.ownerDocument,ownerWindow:this.ownerWindow,onDrop:e=>{const A=this.excalidrawAPI;if(!A)return!1;const n=A.getAppState();t=viewportCoordsToSceneCoords({clientX:e.clientX,clientY:e.clientY},n);const i=app.dragManager.draggable,a=(A,n,a)=>{if(!this.getHookServer().onDropHook)return!1;try{return this.getHookServer().onDropHook({ea:this.getHookServer(),event:e,draggable:i,type:A,payload:{files:n,text:a},excalidrawFile:this.file,view:this,pointerPosition:t})}catch(e){return new obsidian.Notice("on drop hook error. See console log for details"),errorlog({where:"ExcalidrawView.onDrop",error:e}),!1}};switch(e[CTRL_OR_CMD]=e.shiftKey||e[CTRL_OR_CMD],null==i?void 0:i.type){case"file":if(!a("file",[i.file],null)){if(i.file.path.match(REG_LINKINDEX_INVALIDCHARS))return new obsidian.Notice(t$d("FILENAME_INVALID_CHARS"),4e3),!1;if(e[CTRL_OR_CMD]&&(IMAGE_TYPES.contains(i.file.extension)||"md"===i.file.extension)){const n=this.plugin.ea;return n.reset(),n.setView(this),(async()=>{n.canvas.theme=A.getAppState().theme,await n.addImage(t.x,t.y,i.file,!e.altKey),n.addElementsToView(!1,!1,!0)})(),!1}this.addText(`[[${app.metadataCache.fileToLinktext(i.file,this.file.path,!0)}]]`)}return!1;case"files":return a("file",i.files,null)||(async()=>{if(e[CTRL_OR_CMD]){const n=this.plugin.ea;n.reset(),n.setView(this),n.canvas.theme=A.getAppState().theme;let a=0;for(const A of i.files)(IMAGE_TYPES.contains(A.extension)||"md"===A.extension)&&(await n.addImage(t.x+50*a,t.y+50*a,A,!e.altKey),a++,await n.addElementsToView(!1,!1,!0))}else{for(const e of i.files)await this.addText(`[[${app.metadataCache.fileToLinktext(e,this.file.path,!0)}]]`,void 0,!1),t.y+=2*n.currentItemFontSize;this.save(!1)}})(),!1}if(e.dataTransfer.types.includes("Files")){if(e.dataTransfer.types.includes("text/plain")){const A=e.dataTransfer.getData("text");if(A&&a("text",null,A))return!1}return!0}if(e.dataTransfer.types.includes("text/plain")){const A=e.dataTransfer.getData("text");if(!A)return!0;if(!a("text",null,A)){if(this.plugin.settings.iframelyAllowed&&A.match(/^https?:\/\/\S*$/))return(async()=>{var e;const t=await this.addText(A),n=`http://iframely.server.crestify.com/iframely?url=${A}`,i=JSON.parse(await obsidian.request({url:n}));if(!i||i.error||!(null===(e=i.meta)||void 0===e?void 0:e.title))return!1;const a=this.plugin.ea;a.reset(),a.setView(this);const r=a.getViewElements().filter((e=>e.id===t));1===r.length&&(r[0].text=r[0].originalText=r[0].rawText=`[${i.meta.title}](${A})`,a.copyViewElementsToEAforEditing(r),a.addElementsToView(!1,!1,!1))})(),!1;if(A.startsWith("obsidian://open?vault=")){const t=e.dataTransfer.getData("text/html");if(t){const e=t.match(/href="app:\/\/obsidian\.md\/(.*?)"/);if(2===e.length){const A=decodeURIComponent(e[1]).split("#"),t=app.vault.getAbstractFileByPath(A[0]);if(t&&t instanceof obsidian.TFile){const e=app.metadataCache.fileToLinktext(t,this.file.path);return void this.addText(`[[${e+(A.length>1?"#"+A[1]+"|"+e:"")}]]`)}return this.addText(`[[${decodeURIComponent(e[1])}]]`),!1}}const n=A.split("file=");if(2===n.length)return this.addText(`[[${decodeURIComponent(n[1])}]]`),!1}this.addText(A.replace(/(!\[\[.*#[^\]]*\]\])/g,"$1{40}"))}return!1}return!a("unknown",null,null)},onBeforeTextEdit:e=>{var A;if(clearTimeout(this.isEditingTextResetTimer),this.isEditingTextResetTimer=null,this.semaphores.isEditingText=!0,this.compatibilityMode)return null!==(A=e.originalText)&&void 0!==A?A:e.text;return this.excalidrawData.getRawText(e.id)||e.rawText},onBeforeTextSubmit:(e,A,t,n)=>{const i=this.excalidrawAPI;if(!i)return[null,null,null];const a="PASTING EXCALIDRAW ELEMENTS AS A TEXT ELEMENT IS NOT ALLOWED";if(A.startsWith('{"type":"excalidraw/clipboard","elements":[{"'))return setTimeout((async()=>{const A=this.excalidrawAPI.getSceneElements(),t=A.filter((A=>A.id===e.id));if(1===t.length){const e=cloneElement(t[0]);e.rawText=a,A[A.indexOf(t[0])]=e,this.excalidrawData.setTextElement(e.id,a,a,(()=>{})),await this.updateScene({elements:A}),i.history.clear()}})),[a,a,null];if(this.semaphores.isEditingText=!0,this.isEditingTextResetTimer=setTimeout((()=>{this.semaphores.isEditingText=!1,this.isEditingTextResetTimer=null}),1500),n)return this.excalidrawData.deleteTextElement(e.id),this.setDirty(7),[null,null,null];const r=e.containerId;if(A!==e.text||t!==e.originalText||!this.excalidrawData.getRawText(e.id)){this.setDirty(8);const[n,a,s]=this.excalidrawData.setTextElement(e.id,A,t,(async(A,t)=>{if(this.textMode===TextMode.raw)return;const n=this.excalidrawAPI.getSceneElements(),a=n.filter((A=>A.id===e.id));if(1===a.length){const e=cloneElement(a[0]);this.excalidrawData.updateTextElement(e,A,t,!0),n[n.indexOf(a[0])]=e,await this.updateScene({elements:n}),e.containerId&&this.updateContainerSize(e.containerId)}i.history.clear()}));return n?(r&&this.updateContainerSize(r,!0),this.textMode===TextMode.raw?[A,t,s]:A===n?s?[n,a,s]:[null,null,null]:(i.history.clear(),[n,a,s])):[null,null,null]}return r&&this.updateContainerSize(r,!0),this.textMode===TextMode.parsed?this.excalidrawData.getParsedText(e.id):[null,null,null]},onLinkOpen:async(e,A)=>{var t;if(A.preventDefault(),!e)return;const n=e.link;if(!n||""===n)return;const i=this.ownerDocument.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");i&&this.ownerDocument.body.removeChild(i);const a=null===(t=null==A?void 0:A.detail)||void 0===t?void 0:t.nativeEvent;if(this.getHookServer().onLinkClickHook)try{if(!this.getHookServer().onLinkClickHook(e,e.link,a,this,this.getHookServer()))return}catch(A){errorlog({where:"ExcalidrawView.onLinkOpen",fn:this.getHookServer().onLinkClickHook,error:A})}n.startsWith("md://")||n.startsWith("[[")?(async()=>{const e=n.match(/(md:\/\/)?\[\[(?.*?)\]\]/);if(!e)return;let A=e.groups.link,t=null;if(A.search("#")>-1){const e=getLinkParts(A,this.file);t=`#${e.isBlockRef?"^":""}${e.ref}`,A=e.path}if(A.match(REG_LINKINDEX_INVALIDCHARS))return void new obsidian.Notice(t$d("FILENAME_INVALID_CHARS"),4e3);const i=app.metadataCache.getFirstLinkpathDest(A,this.file.path),r=a.shiftKey||a[CTRL_OR_CMD]||this.linksAlwaysOpenInANewPane||a.metaKey;if(r&&this.isFullscreen()&&this.exitFullscreen(),i)if(i===this.file){if(t)return void this.setEphemeralState({subpath:t});this.zoomToFit(!1)}else try{const e=r?a.metaKey&&!app.isMobile?app.workspace.openPopoutLeaf():getNewOrAdjacentLeaf(this.plugin,this.leaf):this.leaf;await e.openFile(i,t?{active:!1,eState:{subpath:t}}:{active:!1})}catch(e){new obsidian.Notice(e,4e3)}else new NewFileActions(this.plugin,A,r,!app.isMobile&&a.metaKey,this).open()})():window.open(n)},onLinkHover:(e,A)=>{if(e&&(this.plugin.settings.hoverPreviewWithoutCTRL||A[CTRL_OR_CMD])){E=A,E.ctrlKey=!0;const t=e.link;if(!t||""===t)return;if(t.startsWith("md://")||t.startsWith("[[")){const A=t.match(/(md:\/\/)?\[\[(?.*?)\]\]/);if(!A)return;let n=A.groups.link;b(n,e)}}},onViewModeChange:e=>{var A,t;if(null===(t=null===(A=this.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.setExcalidrawViewMode(e),this.getHookServer().onViewModeChangeHook)try{this.getHookServer().onViewModeChangeHook(e,this,this.getHookServer())}catch(e){errorlog({where:"ExcalidrawView.onViewModeChange",fn:this.getHookServer().onViewModeChangeHook,error:e})}}}),A.createElement(ToolsPanel,{ref:i,visible:!1,view:this,centerPointer:()=>{const e=this.excalidrawAPI;if(!g||!g.current||!e)return;const A=e.getAppState(),{width:n,height:i}=A;t=viewportCoordsToSceneCoords({clientX:n/2,clientY:i/2},A)}})),y=A.useRef(new ResizeObserver((e=>{if(!i||!i.current)return;const{width:A,height:t}=e[0].contentRect,n=i.current.onRightEdge?i.current.previousWidth-A:0,a=i.current.onBottomEdge?i.current.previousHeight-t:0;i.current.updatePosition(a,n)})));return A.useEffect((()=>((null==i?void 0:i.current)&&y.current.observe(i.current.containerRef.current),()=>{y.current.unobserve(i.current.containerRef.current)})),[i,y]),A.createElement(A.Fragment,null,v)}));t.render(n,this.contentEl,(()=>{}))}updateContainerSize(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const n=()=>{const A=e?t.getSceneElements().filter((A=>A.id===e)):t.getSceneElements().filter((e=>{var A;return null===(A=e.boundElements)||void 0===A?void 0:A.map((e=>e.type)).includes("text")}));A.length>0&&(this.initialContainerSizeUpdate&&(this.semaphores.justLoaded=!0),t.updateContainerSize(A)),this.initialContainerSizeUpdate=!1};A?setTimeout((()=>n()),50):n()}zoomToFit(e=!0,A=!1){const t=this.excalidrawAPI;if(!t||!this.excalidrawRef||this.semaphores.isEditingText)return;const n=this.plugin.settings.zoomToFitMaxLevel,i=t.getSceneElements().filter((e=>e.width<1e4&&e.height<1e4));app.isMobile&&i.length>1e3||i.length>2500?A&&t.scrollToContent():e?setTimeout((()=>t.zoomToFit(i,n,this.isFullscreen()?0:.05)),100):t.zoomToFit(i,n,this.isFullscreen()?0:.05)}async toggleTrayMode(){const e=this.excalidrawAPI;if(!e)return!1;const A=e.getAppState();e.updateScene({appState:{trayModeEnabled:!A.trayModeEnabled}}),await this.plugin.loadSettings(),this.plugin.settings.defaultTrayMode=!A.trayModeEnabled,this.plugin.saveSettings()}selectElementsMatchingQuery(e,A,t=!0,n=!1,i=!1){let a=getTextElementsMatchingQuery(e.filter((e=>"text"===e.type)),A,n);if(0!==a.length){if(i){const A=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],e);A.length>0&&(a=A)}this.zoomToElements(t,a)}else new obsidian.Notice("I could not find a matching text element")}zoomToElements(e,A){const t=this.excalidrawAPI;if(!t)return;const n=this.plugin.settings.zoomToFitMaxLevel;this.ownerWindow,e&&t.selectElements(A),t.zoomToFit(A,n,.05)}getViewSelectedElements(){var e;const A=this.excalidrawAPI;if(!A)return[];const t=null===(e=A.getAppState())||void 0===e?void 0:e.selectedElementIds;if(!t)return[];const n=Object.keys(t);if(!n)return[];const i=A.getSceneElements().filter((e=>n.includes(e.id))),a=i.filter((e=>e.boundElements&&e.boundElements.filter((e=>"text"===e.type)).length>0)).map((e=>e.boundElements.filter((e=>"text"===e.type)).map((e=>e.id))[0])),r=i.map((e=>e.id)).concat(a);return A.getSceneElements().filter((e=>r.contains(e.id)))}async copyLinkToSelectedElementToClipboard(e){const A=this.getViewSelectedElements();if(A.length<1)return void new obsidian.Notice(t$d("INSERT_LINK_TO_ELEMENT_ERROR"));let t;if(2===A.length){const e=A.filter((e=>"text"===e.type));1===e.length&&e[0].containerId&&1===A.filter((e=>e.boundElements.some((e=>"text"===e.type)))).length&&(t=e[0].id)}t||(t=1===A.length?A[0].id:this.plugin.ea.getLargestElement(A).id);const n=await ScriptEngine.inputPrompt(app,"Set link alias","Leave empty if you do not want to set an alias","");navigator.clipboard.writeText(`[[${this.file.path}#^${e}${t}${n?`|${n}`:""}]]`),new obsidian.Notice(t$d("INSERT_LINK_TO_ELEMENT_READY"))}async updateScene(e,A=!1,t=!1){const n=this.excalidrawAPI;if(!n)return;const i=e.elements&&A;i&&(e.elements=n.restore(e).elements);try{n.updateScene(e)}catch(A){if(errorlog({where:"ExcalidrawView.updateScene 1st attempt",fn:this.updateScene,error:A,scene:e,willDoSecondAttempt:!i}),i)warningUnknowSeriousError();else try{e.elements=n.restore(e).elements,n.updateScene(e)}catch(A){errorlog({where:"ExcalidrawView.updateScene 2nd attempt",fn:this.updateScene,error:A,scene:e}),warningUnknowSeriousError()}}}}function getTextMode(e){return e.search("excalidraw-plugin: parsed\n")>-1||e.search("excalidraw-plugin: locked\n")>-1?TextMode.parsed:TextMode.raw}const DEFAULT_SETTINGS={folder:"Excalidraw",embedUseExcalidrawFolder:!1,templateFilePath:"Excalidraw/Template.excalidraw",scriptFolderPath:"Excalidraw/Scripts",compress:!1,autosave:!0,autosaveInterval:15e3,drawingFilenamePrefix:"Drawing ",drawingEmbedPrefixWithFilename:!0,drawingFilnameEmbedPostfix:" ",drawingFilenameDateTime:"YYYY-MM-DD HH.mm.ss",useExcalidrawExtension:!0,displaySVGInPreview:!0,displayExportedImageIfAvailable:!1,previewMatchObsidianTheme:!1,width:"400",isLeftHanded:!1,matchTheme:!1,matchThemeAlways:!1,matchThemeTrigger:!1,defaultMode:"normal",defaultPenMode:"never",zoomToFitOnResize:!0,zoomToFitMaxLevel:2,linkPrefix:"📍",urlPrefix:"🌐",parseTODO:!1,todo:"☐",done:"🗹",hoverPreviewWithoutCTRL:!1,linkOpacity:1,openInAdjacentPane:!1,openInMainWorkspace:!0,showLinkBrackets:!0,allowCtrlClick:!0,forceWrap:!1,pageTransclusionCharLimit:200,wordWrappingDefault:0,removeTransclusionQuoteSigns:!0,iframelyAllowed:!0,pngExportScale:1,exportWithTheme:!0,exportWithBackground:!0,exportPaddingSVG:10,keepInSync:!1,autoexportSVG:!1,autoexportPNG:!1,autoExportLightAndDark:!1,autoexportExcalidraw:!1,embedType:"excalidraw",embedWikiLink:!0,syncExcalidraw:!1,experimentalFileType:!1,experimentalFileTag:"✏️",experimentalLivePreview:!0,experimentalEnableFourthFont:!1,experimantalFourthFont:"Virgil",fieldSuggester:!0,compatibilityMode:!1,drawingOpenCount:0,library:"deprecated",library2:{type:"excalidrawlib",version:2,source:"https://excalidraw.com",libraryItems:[]},imageElementNotice:!0,mdSVGwidth:500,mdSVGmaxHeight:800,mdFont:"Virgil",mdFontColor:"Black",mdBorderColor:"Black",mdCSS:"",scriptEngineSettings:{},defaultTrayMode:!1,previousRelease:"0.0.0",showReleaseNotes:!0,showNewVersionNotification:!0,mathjaxSourceURL:"https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js",taskboneEnabled:!1,taskboneAPIkey:""};class ExcalidrawSettingTab extends obsidian.PluginSettingTab{constructor(e,A){super(e,A),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1,this.reloadMathJax=!1,this.plugin=A}applySettingsUpdate(e=!1){e&&(this.requestReloadDrawings=!0)}async hide(){if(this.plugin.settings.scriptFolderPath=obsidian.normalizePath(this.plugin.settings.scriptFolderPath),"/"!==this.plugin.settings.scriptFolderPath&&""!==this.plugin.settings.scriptFolderPath||(this.plugin.settings.scriptFolderPath="Excalidraw/Scripts"),this.plugin.saveSettings(),this.requestReloadDrawings){const e=app.workspace.getLeavesOfType("excalidraw");for(const A of e)A.view instanceof ExcalidrawView&&(await A.view.save(!1),await A.view.reload(!0));this.requestEmbedUpdate=!0}this.requestEmbedUpdate&&this.plugin.triggerEmbedUpdates(),this.plugin.scriptEngine.updateScriptPath(),this.reloadMathJax&&this.plugin.loadMathJax()}async display(){var e;await this.plugin.loadSettings(),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1;const{containerEl:A}=this;this.containerEl.empty();const t=A.createDiv("coffee");t.addClass("ex-coffee-div"),t.createEl("a",{href:"https://ko-fi.com/zsolt"}).createEl("img",{attr:{src:"https://cdn.ko-fi.com/cdn/kofi3.png?v=3"}}).height=45,new obsidian.Setting(A).setName(t$d("RELEASE_NOTES_NAME")).setDesc(fragWithHTML(t$d("RELEASE_NOTES_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showReleaseNotes).onChange((async e=>{this.plugin.settings.showReleaseNotes=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("NEWVERSION_NOTIFICATION_NAME")).setDesc(fragWithHTML(t$d("NEWVERSION_NOTIFICATION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showNewVersionNotification).onChange((async e=>{this.plugin.settings.showNewVersionNotification=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FOLDER_NAME")).setDesc(fragWithHTML(t$d("FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw").setValue(this.plugin.settings.folder).onChange((async e=>{this.plugin.settings.folder=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FOLDER_EMBED_NAME")).setDesc(fragWithHTML(t$d("FOLDER_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedUseExcalidrawFolder).onChange((async e=>{this.plugin.settings.embedUseExcalidrawFolder=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("TEMPLATE_NAME")).setDesc(fragWithHTML(t$d("TEMPLATE_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Template").setValue(this.plugin.settings.templateFilePath).onChange((async e=>{this.plugin.settings.templateFilePath=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("SCRIPT_FOLDER_NAME")).setDesc(fragWithHTML(t$d("SCRIPT_FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Scripts").setValue(this.plugin.settings.scriptFolderPath).onChange((async e=>{this.plugin.settings.scriptFolderPath=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("COMPRESS_NAME")).setDesc(fragWithHTML(t$d("COMPRESS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compress).onChange((async e=>{this.plugin.settings.compress=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("FILENAME_HEAD")}),A.createDiv("",(e=>{e.innerHTML=t$d("FILENAME_DESC")}));const n=()=>`${t$d("FILENAME_SAMPLE")}${getDrawingFilename(this.plugin.settings)}
${t$d("FILENAME_EMBED_SAMPLE")}${getEmbedFilename("{NOTE_NAME}",this.plugin.settings)}`,i=A.createEl("p",{text:""});let a,r,s,o,l,c,d;i.innerHTML=n(),new obsidian.Setting(A).setName(t$d("FILENAME_PREFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_DESC"))).addText((e=>e.setPlaceholder("Drawing ").setValue(this.plugin.settings.drawingFilenamePrefix).onChange((async A=>{this.plugin.settings.drawingFilenamePrefix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenamePrefix),i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FILENAME_PREFIX_EMBED_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.drawingEmbedPrefixWithFilename).onChange((async e=>{this.plugin.settings.drawingEmbedPrefixWithFilename=e,i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FILENAME_POSTFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_POSTFIX_DESC"))).addText((e=>e.setPlaceholder("").setValue(this.plugin.settings.drawingFilnameEmbedPostfix).onChange((async A=>{this.plugin.settings.drawingFilnameEmbedPostfix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilnameEmbedPostfix),i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FILENAME_DATE_NAME")).setDesc(fragWithHTML(t$d("FILENAME_DATE_DESC"))).addText((e=>e.setPlaceholder("YYYY-MM-DD HH.mm.ss").setValue(this.plugin.settings.drawingFilenameDateTime).onChange((async A=>{this.plugin.settings.drawingFilenameDateTime=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenameDateTime),i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FILENAME_EXCALIDRAW_EXTENSION_NAME")).setDesc(fragWithHTML(t$d("FILENAME_EXCALIDRAW_EXTENSION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.useExcalidrawExtension).onChange((async e=>{this.plugin.settings.useExcalidrawExtension=e,i.innerHTML=n(),this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("DISPLAY_HEAD")}),new obsidian.Setting(A).setName(t$d("LEFTHANDED_MODE_NAME")).setDesc(fragWithHTML(t$d("LEFTHANDED_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.isLeftHanded).onChange((async e=>{this.plugin.settings.isLeftHanded=e,setLeftHandedMode(e),setTimeout((()=>setLeftHandedMode(e))),this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("MATCH_THEME_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchTheme).onChange((async e=>{this.plugin.settings.matchTheme=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("MATCH_THEME_ALWAYS_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_ALWAYS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeAlways).onChange((async e=>{this.plugin.settings.matchThemeAlways=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("MATCH_THEME_TRIGGER_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_TRIGGER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeTrigger).onChange((async e=>{this.plugin.settings.matchThemeTrigger=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("DEFAULT_OPEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_OPEN_MODE_DESC"))).addDropdown((e=>e.addOption("normal","Normal Mode").addOption("zen","Zen Mode").addOption("view","View Mode").setValue(this.plugin.settings.defaultMode).onChange((async e=>{this.plugin.settings.defaultMode=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("DEFAULT_PEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PEN_MODE_DESC"))).addDropdown((e=>e.addOption("never","Never").addOption("mobile","On Obsidian Mobile").addOption("always","Always").setValue(this.plugin.settings.defaultPenMode).onChange((async e=>{this.plugin.settings.defaultPenMode=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("ZOOM_TO_FIT_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnResize).onChange((async e=>{this.plugin.settings.zoomToFitOnResize=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("ZOOM_TO_FIT_MAX_LEVEL_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_MAX_LEVEL_DESC"))).addSlider((e=>e.setLimits(.5,10,.5).setValue(this.plugin.settings.zoomToFitMaxLevel).onChange((async e=>{a.innerText=` ${e.toString()}`,this.plugin.settings.zoomToFitMaxLevel=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{a=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.zoomToFitMaxLevel.toString()}`})),this.containerEl.createEl("h1",{text:t$d("LINKS_HEAD")}),this.containerEl.createEl("span",void 0,(e=>e.innerHTML=t$d("LINKS_DESC"))),new obsidian.Setting(A).setName(t$d("ADJACENT_PANE_NAME")).setDesc(fragWithHTML(t$d("ADJACENT_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInAdjacentPane).onChange((async e=>{this.plugin.settings.openInAdjacentPane=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("MAINWORKSPACE_PANE_NAME")).setDesc(fragWithHTML(t$d("MAINWORKSPACE_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInMainWorkspace).onChange((async e=>{this.plugin.settings.openInMainWorkspace=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(fragWithHTML(t$d("LINK_BRACKETS_NAME"))).setDesc(fragWithHTML(t$d("LINK_BRACKETS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showLinkBrackets).onChange((e=>{this.plugin.settings.showLinkBrackets=e,this.applySettingsUpdate(!0)})))),new obsidian.Setting(A).setName(t$d("LINK_PREFIX_NAME")).setDesc(fragWithHTML(t$d("LINK_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.linkPrefix).onChange((e=>{this.plugin.settings.linkPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian.Setting(A).setName(t$d("URL_PREFIX_NAME")).setDesc(fragWithHTML(t$d("URL_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.urlPrefix).onChange((e=>{this.plugin.settings.urlPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian.Setting(A).setName(t$d("PARSE_TODO_NAME")).setDesc(fragWithHTML(t$d("PARSE_TODO_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.parseTODO).onChange((e=>{this.plugin.settings.parseTODO=e,r.setDisabled(!e),s.setDisabled(!e),this.applySettingsUpdate(!0)})))),new obsidian.Setting(A).setName(t$d("TODO_NAME")).setDesc(fragWithHTML(t$d("TODO_DESC"))).addText((e=>{r=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.todo).onChange((e=>{this.plugin.settings.todo=e,this.applySettingsUpdate(!0)}))})),r.setDisabled(!this.plugin.settings.parseTODO),new obsidian.Setting(A).setName(t$d("DONE_NAME")).setDesc(fragWithHTML(t$d("DONE_DESC"))).setDisabled(!this.plugin.settings.parseTODO).addText((e=>{s=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.done).onChange((e=>{this.plugin.settings.done=e,this.applySettingsUpdate(!0)}))})),s.setDisabled(!this.plugin.settings.parseTODO),new obsidian.Setting(A).setName(t$d("LINKOPACITY_NAME")).setDesc(fragWithHTML(t$d("LINKOPACITY_DESC"))).addSlider((e=>e.setLimits(0,1,.05).setValue(this.plugin.settings.linkOpacity).onChange((async e=>{o.innerText=` ${e.toString()}`,this.plugin.settings.linkOpacity=e,this.applySettingsUpdate(!0)})))).settingEl.createDiv("",(e=>{o=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.linkOpacity.toString()}`})),new obsidian.Setting(A).setName(t$d("HOVERPREVIEW_NAME")).setDesc(fragWithHTML(t$d("HOVERPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.hoverPreviewWithoutCTRL).onChange((async e=>{this.plugin.settings.hoverPreviewWithoutCTRL=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("LINK_CTRL_CLICK_NAME")).setDesc(fragWithHTML(t$d("LINK_CTRL_CLICK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowCtrlClick).onChange((async e=>{this.plugin.settings.allowCtrlClick=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("TRANSCLUSION_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_WRAP_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.forceWrap).onChange((async e=>{this.plugin.settings.forceWrap=e,this.applySettingsUpdate(!0)})))).descEl.innerHTML=`![[doc#^ref]]{number} ${t$d("TRANSCLUSION_WRAP_DESC")}`,new obsidian.Setting(A).setName(t$d("PAGE_TRANSCLUSION_CHARCOUNT_NAME")).setDesc(fragWithHTML(t$d("PAGE_TRANSCLUSION_CHARCOUNT_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.pageTransclusionCharLimit.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.pageTransclusionCharLimit=10,void this.applySettingsUpdate(!0);this.plugin.settings.pageTransclusionCharLimit=t,e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString()),this.applySettingsUpdate(!0)}})))),new obsidian.Setting(A).setName(t$d("TRANSCLUSION_DEFAULT_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_DEFAULT_WRAP_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.wordWrappingDefault.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.wordWrappingDefault.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.wordWrappingDefault=0,void this.applySettingsUpdate(!0);this.plugin.settings.wordWrappingDefault=t,e.setValue(this.plugin.settings.wordWrappingDefault.toString()),this.applySettingsUpdate(!0)}})))),new obsidian.Setting(A).setName(t$d("QUOTE_TRANSCLUSION_REMOVE_NAME")).setDesc(fragWithHTML(t$d("QUOTE_TRANSCLUSION_REMOVE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.removeTransclusionQuoteSigns).onChange((e=>{this.plugin.settings.removeTransclusionQuoteSigns=e,this.requestEmbedUpdate=!0,this.applySettingsUpdate(!0)})))),new obsidian.Setting(A).setName(t$d("GET_URL_TITLE_NAME")).setDesc(fragWithHTML(t$d("GET_URL_TITLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.iframelyAllowed).onChange((async e=>{this.plugin.settings.iframelyAllowed=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("MD_HEAD")}),this.containerEl.createEl("p",{text:t$d("MD_HEAD_DESC")}),new obsidian.Setting(A).setName(t$d("MD_TRANSCLUDE_WIDTH_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_WIDTH_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 500").setValue(this.plugin.settings.mdSVGwidth.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGwidth.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGwidth=500,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGwidth=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGwidth.toString()),this.applySettingsUpdate(!0)}})))),new obsidian.Setting(A).setName(t$d("MD_TRANSCLUDE_HEIGHT_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_HEIGHT_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 800").setValue(this.plugin.settings.mdSVGmaxHeight.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGmaxHeight.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGmaxHeight=800,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGmaxHeight=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGmaxHeight.toString()),this.applySettingsUpdate(!0)}})))),new obsidian.Setting(A).setName(t$d("MD_DEFAULT_FONT_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),e.addOption("Cascadia","Cascadia"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.mdFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFont=e,this.applySettingsUpdate(!0)}))})),new obsidian.Setting(A).setName(t$d("MD_DEFAULT_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdFontColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFontColor=e,this.applySettingsUpdate(!0)})))),new obsidian.Setting(A).setName(t$d("MD_DEFAULT_BORDER_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_BORDER_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdBorderColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdBorderColor=e,this.applySettingsUpdate(!0)})))),new obsidian.Setting(A).setName(t$d("MD_CSS_NAME")).setDesc(fragWithHTML(t$d("MD_CSS_DESC"))).addText((e=>e.setPlaceholder("filename of css file in vault").setValue(this.plugin.settings.mdCSS).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdCSS=e,this.applySettingsUpdate(!0)})))),this.containerEl.createEl("h1",{text:t$d("EMBED_HEAD")}),new obsidian.Setting(A).setName(t$d("EMBED_PREVIEW_SVG_NAME")).setDesc(fragWithHTML(t$d("EMBED_PREVIEW_SVG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displaySVGInPreview).onChange((async e=>{this.plugin.settings.displaySVGInPreview=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("EMBED_REUSE_EXPORTED_IMAGE_NAME")).setDesc(fragWithHTML(t$d("EMBED_REUSE_EXPORTED_IMAGE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displayExportedImageIfAvailable).onChange((async e=>{this.plugin.settings.displayExportedImageIfAvailable=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("PREVIEW_MATCH_OBSIDIAN_NAME")).setDesc(fragWithHTML(t$d("PREVIEW_MATCH_OBSIDIAN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.previewMatchObsidianTheme).onChange((async e=>{this.plugin.settings.previewMatchObsidianTheme=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("EMBED_WIDTH_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIDTH_DESC"))).addText((e=>e.setPlaceholder("400").setValue(this.plugin.settings.width).onChange((async e=>{this.plugin.settings.width=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian.Setting(A).setName(t$d("EMBED_TYPE_NAME")).setDesc(fragWithHTML(t$d("EMBED_TYPE_DESC"))).addDropdown((async e=>{l=e,l.addOption("excalidraw","excalidraw"),this.plugin.settings.autoexportPNG?l.addOption("PNG","PNG"):"PNG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),this.plugin.settings.autoexportSVG?l.addOption("SVG","SVG"):"SVG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),l.setValue(this.plugin.settings.embedType).onChange((async e=>{this.plugin.settings.embedType=e,this.applySettingsUpdate()}))})),new obsidian.Setting(A).setName(t$d("EMBED_WIKILINK_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIKILINK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedWikiLink).onChange((async e=>{this.plugin.settings.embedWikiLink=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("EXPORT_PNG_SCALE_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_SCALE_DESC"))).addSlider((e=>e.setLimits(1,5,.5).setValue(this.plugin.settings.pngExportScale).onChange((async e=>{c.innerText=` ${e.toString()}`,this.plugin.settings.pngExportScale=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{c=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.pngExportScale.toString()}`})),new obsidian.Setting(A).setName(t$d("EXPORT_BACKGROUND_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BACKGROUND_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithBackground).onChange((async e=>{this.plugin.settings.exportWithBackground=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian.Setting(A).setName(t$d("EXPORT_PADDING_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PADDING_DESC"))).addSlider((e=>e.setLimits(0,50,5).setValue(this.plugin.settings.exportPaddingSVG).onChange((async e=>{d.innerText=` ${e.toString()}`,this.plugin.settings.exportPaddingSVG=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{d=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.exportPaddingSVG.toString()}`})),new obsidian.Setting(A).setName(t$d("EXPORT_THEME_NAME")).setDesc(fragWithHTML(t$d("EXPORT_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithTheme).onChange((async e=>{this.plugin.settings.exportWithTheme=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),this.containerEl.createEl("h1",{text:t$d("EXPORT_HEAD")}),new obsidian.Setting(A).setName(t$d("EXPORT_SYNC_NAME")).setDesc(fragWithHTML(t$d("EXPORT_SYNC_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.keepInSync).onChange((async e=>{this.plugin.settings.keepInSync=e,this.applySettingsUpdate()}))));const h=e=>{let A=0;for(A=0;Ae.setValue(this.plugin.settings.autoexportSVG).onChange((async e=>{e?l.addOption("SVG","SVG"):("SVG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("SVG")),this.plugin.settings.autoexportSVG=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("EXPORT_PNG_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportPNG).onChange((async e=>{e?l.addOption("PNG","PNG"):("PNG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("PNG")),this.plugin.settings.autoexportPNG=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("EXPORT_BOTH_DARK_AND_LIGHT_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BOTH_DARK_AND_LIGHT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoExportLightAndDark).onChange((async e=>{this.plugin.settings.autoExportLightAndDark=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("COMPATIBILITY_HEAD")}),new obsidian.Setting(A).setName(t$d("COMPATIBILITY_MODE_NAME")).setDesc(fragWithHTML(t$d("COMPATIBILITY_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compatibilityMode).onChange((async e=>{this.plugin.settings.compatibilityMode=e,i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("EXPORT_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("EXPORT_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportExcalidraw).onChange((async e=>{this.plugin.settings.autoexportExcalidraw=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("SYNC_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("SYNC_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.syncExcalidraw).onChange((async e=>{this.plugin.settings.syncExcalidraw=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("MATHJAX_NAME")).setDesc(t$d("MATHJAX_DESC")).addDropdown((e=>{e.addOption("https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js","jsdelivr").addOption("https://unpkg.com/mathjax@3.2.1/es5/tex-svg.js","unpkg").addOption("https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.1/es5/tex-svg-full.min.js","cdnjs").setValue(this.plugin.settings.mathjaxSourceURL).onChange((e=>{this.plugin.settings.mathjaxSourceURL=e,this.reloadMathJax=!0,this.applySettingsUpdate()}))})),this.containerEl.createEl("h1",{text:t$d("EXPERIMENTAL_HEAD")}),this.containerEl.createEl("p",{text:t$d("EXPERIMENTAL_DESC")}),new obsidian.Setting(A).setName(t$d("FIELD_SUGGESTER_NAME")).setDesc(fragWithHTML(t$d("FIELD_SUGGESTER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.fieldSuggester).onChange((async e=>{this.plugin.settings.fieldSuggester=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FILETYPE_NAME")).setDesc(fragWithHTML(t$d("FILETYPE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalFileType).onChange((async e=>{this.plugin.settings.experimentalFileType=e,this.plugin.experimentalFileTypeDisplayToggle(e),this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FILETAG_NAME")).setDesc(fragWithHTML(t$d("FILETAG_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.experimentalFileTag).onChange((async e=>{this.plugin.settings.experimentalFileTag=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("LIVEPREVIEW_NAME")).setDesc(fragWithHTML(t$d("LIVEPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalLivePreview).onChange((async e=>{this.plugin.settings.experimentalLivePreview=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("ENABLE_FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("ENABLE_FOURTH_FONT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalEnableFourthFont).onChange((async e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimentalEnableFourthFont=e,this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("FOURTH_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.experimantalFourthFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimantalFourthFont=e,this.applySettingsUpdate(!0),this.plugin.initializeFourthFont()}))})),this.containerEl.createEl("h2",{text:t$d("TASKBONE_HEAD")}),this.containerEl.createEl("p",{text:t$d("TASKBONE_DESC")}),new obsidian.Setting(A).setName(t$d("TASKBONE_ENABLE_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_ENABLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.taskboneEnabled).onChange((async e=>{if(u.setDisabled(!e),this.plugin.settings.taskboneEnabled=e,""===this.plugin.settings.taskboneAPIkey){const e=await this.plugin.taskbone.initialize(!1);e&&u.setValue(e)}this.applySettingsUpdate()})))),new obsidian.Setting(A).setName(t$d("TASKBONE_APIKEY_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_APIKEY_DESC"))).addText((e=>{u=e,u.setValue(this.plugin.settings.taskboneAPIkey).onChange((async e=>{this.plugin.settings.taskboneAPIkey=e,this.applySettingsUpdate()})).setDisabled(!this.plugin.settings.taskboneEnabled)}));const g=null===(e=this.plugin.scriptEngine.getListofScripts())||void 0===e?void 0:e.map((e=>this.plugin.scriptEngine.getScriptName(e)));if(Object.keys(this.plugin.settings.scriptEngineSettings).length>0&&g){const e=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.height:null},t=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.value:t},n=(e,A,t)=>{"object"==typeof this.plugin.settings.scriptEngineSettings[e][A]?this.plugin.settings.scriptEngineSettings[e][A].value=t:this.plugin.settings.scriptEngineSettings[e][A]=t},i=(e,i,a)=>{new obsidian.Setting(A).setName(i).setDesc(fragWithHTML(null!=a?a:"")).addToggle((A=>A.setValue(t(e,i)).onChange((async A=>{n(e,i,A),this.applySettingsUpdate()}))))},a=(i,a,r,s)=>{s&&"[object Array]"===Object.prototype.toString.call(s)&&s.length>0?new obsidian.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addDropdown((e=>{s.forEach((A=>e.addOption(A.toString(),A.toString()))),e.setValue(t(i,a)).onChange((async e=>{n(i,a,e),this.applySettingsUpdate()}))})):e(i,a)?new obsidian.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addTextArea((A=>{A.inputEl.style.minHeight=e(i,a),A.inputEl.style.minWidth="400px",A.setValue(t(i,a)).onChange((async e=>{n(i,a,e),this.applySettingsUpdate()}))})):new obsidian.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addText((e=>e.setValue(t(i,a)).onChange((async e=>{n(i,a,e),this.applySettingsUpdate()}))))},r=(e,i,a)=>{new obsidian.Setting(A).setName(i).setDesc(fragWithHTML(null!=a?a:"")).addText((A=>A.setPlaceholder("Enter a number").setValue(t(e,i).toString()).onChange((async a=>{const r=parseFloat(a);isNaN(r)&&""!==a?A.setValue(t(e,i).toString()):(n(e,i,isNaN(r)?0:r),this.applySettingsUpdate())}))))};this.containerEl.createEl("h1",{text:t$d("SCRIPT_SETTINGS_HEAD")}),Object.keys(this.plugin.settings.scriptEngineSettings).filter((e=>g.contains(e))).forEach((e=>{const A=this.plugin.settings.scriptEngineSettings[e],t=Object.values(A);0===t.length||t.length>0&&0===t.map((e=>e.hidden?0:1)).reduce(((e,A)=>e+A))||(this.containerEl.createEl("h3",{text:e}),Object.keys(A).forEach((t=>{var n;const s=A[t];switch(typeof(null!==(n=s.value)&&void 0!==n?n:s)){case"boolean":s.hidden||i(e,t,s.description);break;case"string":s.hidden||a(e,t,s.description,s.valueset);break;case"number":s.hidden||r(e,t,s.description)}})))}))}}}var openDialogAction;!function(e){e[e.openFile=0]="openFile",e[e.insertLinkToDrawing=1]="insertLinkToDrawing"}(openDialogAction||(openDialogAction={}));class OpenFileDialog extends obsidian.FuzzySuggestModal{constructor(e,A){super(e),this.app=e,this.action=openDialogAction.openFile,this.plugin=A,this.onNewPane=!1,this.limit=20,this.setInstructions([{command:t$d("TYPE_FILENAME"),purpose:""}]),this.inputEl.onkeyup=e=>{"Enter"==e.key&&this.action==openDialogAction.openFile&&this.containerEl.innerText.includes(EMPTY_MESSAGE)&&(this.plugin.createAndOpenDrawing(`${this.plugin.settings.folder}/${this.inputEl.value}.excalidraw.md`,this.onNewPane?"new-pane":"active-pane"),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){switch(this.action){case openDialogAction.openFile:this.plugin.openDrawing(e,this.onNewPane?"new-pane":"active-pane",!0);break;case openDialogAction.insertLinkToDrawing:this.plugin.embedDrawing(e)}}start(e,A){switch(this.action=e,this.onNewPane=A,e){case openDialogAction.openFile:this.emptyStateText=EMPTY_MESSAGE,this.setPlaceholder(t$d("SELECT_FILE_OR_TYPE_NEW"));break;case openDialogAction.insertLinkToDrawing:this.emptyStateText=t$d("NO_MATCH"),this.setPlaceholder(t$d("SELECT_TO_EMBED"))}this.open()}}class InsertLinkDialog extends obsidian.FuzzySuggestModal{constructor(e){super(e),this.app=e,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_FILE_TO_LINK")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return this.app.metadataCache.getLinkSuggestions().filter((e=>!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path+(e.alias?`|${e.alias}`:"")}onChooseItem(e){let A=e.path;e.file&&(A=this.app.metadataCache.fileToLinktext(e.file,this.drawingPath,!0)),this.addText(`[[${A+(e.alias?`|${e.alias}`:"")}]]`)}start(e,A){this.addText=A,this.drawingPath=e,this.open()}}class InsertImageDialog extends obsidian.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE_WITH_OPTION_TO_SCALE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH"),this.inputEl.onkeyup=e=>{"Enter"===e.key&&e.altKey&&this.chooser.values&&(this.onChooseItem(this.chooser.values[this.chooser.selectedItem].item,new KeyboardEvent("keypress",{altKey:!0})),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>(IMAGE_TYPES.contains(e.extension)||this.plugin.isExcalidrawFile(e))&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}onChooseItem(e,A){const t=this.plugin.ea;t.reset(),t.setView(this.view),t.canvas.theme=this.view.excalidrawAPI.getAppState().theme,(async()=>{await t.addImage(0,0,e,!A.altKey),t.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}class ImportSVGDialog extends obsidian.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"svg"===e.extension&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}async onChooseItem(e,A){if(!e)return;const t=this.plugin.ea;t.reset(),t.setView(this.view);const n=await app.vault.read(e);n&&""!==n&&(t.importSVG(n),t.addElementsToView(!0,!0,!0))}start(e){this.view=e,this.open()}}class InsertMDDialog extends obsidian.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_MD")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"md"===e.extension&&!this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){const A=this.plugin.ea;A.reset(),A.setView(this.view),(async()=>{await A.addImage(0,0,e),A.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}function around(e,A){const t=Object.keys(A).map((t=>around1(e,t,A[t])));return 1===t.length?t[0]:function(){t.forEach((e=>e()))}}function around1(e,A,t){const n=e[A],i=e.hasOwnProperty(A);let a=t(n);return n&&Object.setPrototypeOf(a,n),Object.setPrototypeOf(r,a),e[A]=r,s;function r(...t){return a===n&&e[A]===r&&s(),a.apply(this,t)}function s(){e[A]===r&&(i?e[A]=n:delete e[A]),a!==n&&(a=n,Object.setPrototypeOf(r,n||Function))}}let plugin,vault,metadataCache;const getDefaultWidth=e=>{const A=parseInt(e.settings.width);return isNaN(A)||0===A||null===A?"400":e.settings.width},initializeMarkdownPostProcessor=e=>{plugin=e,vault=e.app.vault,metadataCache=e.app.metadataCache},getIMG=async e=>{var A;let t=e.file;if(!e.file){const n=vault.getAbstractFileByPath(null===(A=e.fname)||void 0===A?void 0:A.split("#")[0]);if(!(n&&n instanceof obsidian.TFile))return null;t=n}const n=getEmbeddedFilenameParts(e.fname);e.style=e.style.replaceAll(" ","-");const i=hasExportTheme(plugin,t)?getExportTheme(plugin,t,"light"):void 0,a={withBackground:getWithBackground(plugin,t),withTheme:!!i||plugin.settings.exportWithTheme},r=createEl("img");let s=`max-width:${e.fwidth}px; width:100%;`;e.fheight&&(s+=`height:${e.fheight}px;`),r.setAttribute("style",s),r.addClass(e.style);const o=null!=i?i:plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":plugin.settings.exportWithTheme?void 0:"light";o&&(a.withTheme=!0);const l=new EmbeddedFilesLoader(plugin,o?"dark"===o:void 0);if(!plugin.settings.displaySVGInPreview){const A=parseInt(e.fwidth),i=A>=2400?5:A>=1800?4:A>=1200?3:A>=600?2:1,s=n.hasGroupref?void 0:await getQuickImagePreview(plugin,t.path,"png"),c=null!=s?s:await createPNG(n.hasGroupref?n.filepath+n.linkpartReference:t.path,i,a,l,o,null,null,[],plugin,0);return c?(r.src=URL.createObjectURL(c),r):null}if(!n.hasBlockref&&!n.hasSectionref){const e=await getQuickImagePreview(plugin,t.path,"svg");if(e)return r.setAttribute("src",svgToBase64(e)),r}const c=(await createSVG(n.hasGroupref||n.hasBlockref||n.hasSectionref?n.filepath+n.linkpartReference:t.path,!0,a,l,o,null,null,[],plugin,0,getExportPadding(plugin,t))).outerHTML;let d=null;const h=document.createElement("div");h.innerHTML=c;const u=h.firstChild;return u instanceof SVGSVGElement&&(d=u),d?(d=embedFontsInSVG(d,plugin),d.removeAttribute("width"),d.removeAttribute("height"),r.setAttribute("src",svgToBase64(d.outerHTML)),r):null},createImageDiv=async e=>{const A=await getIMG(e);return createDiv(e.style,(t=>{t.append(A),t.setAttribute("src",e.fname),e.fwidth&&t.setAttribute("w",e.fwidth),e.fheight&&t.setAttribute("h",e.fheight),t.onClickEvent((e=>{if(e.target instanceof Element&&"img"!=e.target.tagName.toLowerCase())return;const A=t.getAttribute("src");if(A){const t=A.match(/([^#]*)(.*)/);if(!t)return;plugin.openDrawing(vault.getAbstractFileByPath(t[1]),e[CTRL_OR_CMD]?"new-pane":e.metaKey&&!app.isMobile?"popout-window":"active-pane",!0,t[2])}})),t.addEventListener(RERENDER_EVENT,(async e=>{e.stopPropagation(),t.empty();const A=await getIMG({fname:t.getAttribute("src"),fwidth:t.getAttribute("w"),fheight:t.getAttribute("h"),style:t.getAttribute("class")});t.append(A)}))}))},processReadingMode=async(e,A)=>{var t;for(const n of e){const e=null===(t=n.getAttribute("src"))||void 0===t?void 0:t.split("#")[0];if(!e)continue;const i=metadataCache.getFirstLinkpathDest(e,A.sourcePath);if(i&&i instanceof obsidian.TFile&&plugin.isExcalidrawFile(i)){if(isTextOnlyEmbed(n))continue;n.parentElement.replaceChild(await processInternalEmbed(n,i),n)}}},processInternalEmbed=async(e,A)=>{const t={fname:"",fheight:"",fwidth:"",style:""},n=e.getAttribute("src");if(!n)return;t.fwidth=e.getAttribute("width")?e.getAttribute("width"):getDefaultWidth(plugin),t.fheight=e.getAttribute("height");let i=e.getAttribute("alt");t.style="excalidraw-svg",processAltText(n.split("#")[0],i,t);const a=getEmbeddedFilenameParts(n);return t.fname=(null==A?void 0:A.path)+(a.hasBlockref||a.hasSectionref?a.linkpartReference:""),t.file=A,await createImageDiv(t)},processAltText=(e,A,t)=>{var n,i;if(A&&!A.startsWith(e)){const a=A.match(/[^\|\d]*\|?((\d*%?)x?(\d*%?))?\|?(.*)/);t.fwidth=null!==(n=a[2])&&void 0!==n?n:t.fwidth,t.fheight=null!==(i=a[3])&&void 0!==i?i:t.fheight,a[4]&&!a[4].startsWith(e)&&(t.style=`excalidraw-svg-${a[4]}`),a[4]&&""!==a[4]||a[2]&&""!==a[2]||!a[0]||""===a[0]||(t.style=`excalidraw-svg-${a[0]}`)}},isTextOnlyEmbed=e=>{const A=e.getAttribute("src");if(!A)return!0;const t=getEmbeddedFilenameParts(A);return!(t.hasArearef||t.hasGroupref)&&(t.hasBlockref||t.hasSectionref)},tmpObsidianWYSIWYG=async(e,A)=>{const t=app.vault.getAbstractFileByPath(A.sourcePath);t instanceof obsidian.TFile&&plugin.isExcalidrawFile(t)&&(A.remainingNestLevel<4||setTimeout((async()=>{let n=0;for(;!e.parentElement&&n++<=50;)await sleep(50);if(!e.parentElement)return;let i=e;for(;!i.hasClass("dataview")&&!i.hasClass("cm-preview-code-block")&&!i.hasClass("cm-embed-block")&&!i.hasClass("internal-embed")&&i.parentElement;)i=i.parentElement;if(i.hasClass("dataview")||i.hasClass("cm-preview-code-block")||i.hasClass("cm-embed-block"))return;const a={fname:A.sourcePath,fheight:"",fwidth:getDefaultWidth(plugin),style:"excalidraw-svg"};if(a.file=t,!i.hasClass("internal-embed")){e.empty();const A=e.parentElement;if(!A.hasClass("markdown-preview-section"))return;if(A.hasAttribute("ready"))return void A.removeChild(e);A.setAttribute("ready","");const t=await createImageDiv(a);return void e.appendChild(t)}if(isTextOnlyEmbed(i))return;if(e.empty(),i.hasAttribute("ready"))return;i.setAttribute("ready",""),i.empty();const r=await processInternalEmbed(i,t);i.appendChild(r);let s=null;const o=new MutationObserver((e=>{var A;["alt","width","height"].contains(null===(A=e[0])||void 0===A?void 0:A.attributeName)&&(s&&clearTimeout(s),s=setTimeout((async()=>{s=null,i.empty();const e=await processInternalEmbed(i,t);i.appendChild(e)}),500))}));o.observe(i,{attributes:!0})})))},markdownPostProcessor=async(e,A)=>{var t;const n=e.querySelectorAll(".internal-embed");0!==n.length?Boolean(null===(t=A.frontmatter)||void 0===t?void 0:t.hasOwnProperty("excalidraw-plugin"))?e.style.display="none":await processReadingMode(n,A):tmpObsidianWYSIWYG(e,A)},hoverEvent=e=>{e.linktext?(plugin.hover.linkText=e.linktext,plugin.hover.sourcePath=e.sourcePath):plugin.hover.linkText=null},observer=new MutationObserver((async e=>{if(0==e.length)return;if(!plugin.hover.linkText)return;const A=metadataCache.getFirstLinkpathDest(plugin.hover.linkText,plugin.hover.sourcePath?plugin.hover.sourcePath:"");if(!A)return;if(!(A instanceof obsidian.TFile))return;if("excalidraw"!==A.extension)return;const t=getIMGFilename(A.path,"svg"),n=vault.getAbstractFileByPath(t);if(n&&n instanceof obsidian.TFile)return;const i=getIMGFilename(A.path,"png"),a=vault.getAbstractFileByPath(i);if(a&&a instanceof obsidian.TFile)return;if(!plugin.hover.linkText)return;if(1!=e.length)return;if(1!=e[0].addedNodes.length)return;if("popover hover-popover file-embed is-loaded"!=!e[0].addedNodes[0].classNames)return;const r=e[0].addedNodes[0];r.empty();const s=await getIMG({file:A,fname:A.path,fwidth:"300",fheight:null,style:"excalidraw-svg"}),o=createDiv("",(async e=>{e.appendChild(s),e.setAttribute("src",A.path),e.onClickEvent((A=>{A.stopImmediatePropagation();const t=e.getAttribute("src");t&&plugin.openDrawing(vault.getAbstractFileByPath(t),A[CTRL_OR_CMD]?"new-pane":A.metaKey&&!app.isMobile?"popout-window":"active-pane")}))}));r.appendChild(o)})),EXCALIDRAW_AUTOMATE_INFO=[{field:"plugin",code:null,desc:"The ExcalidrawPlugin object",after:""},{field:"elementsDict",code:null,desc:"The {} dictionary object, contains the ExcalidrawElements currently edited in Automate indexed by el.id",after:'[""]'},{field:"imagesDict",code:null,desc:"the images files including DataURL, indexed by fileId",after:'[""]'},{field:"style.strokeColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.backgroundColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.angle",code:"[number]",desc:"Rotation of the object in radian",after:""},{field:"style.fillStyle",code:"[string]",desc:"'hachure' | 'cross-hatch' | 'solid'",after:""},{field:"style.strokeWidth",code:"[number]",desc:null,after:""},{field:"style.strokeStyle",code:"[string]",desc:"'solid' | 'dashed' | 'dotted'",after:""},{field:"style.roughness",code:"[number]",desc:"0:Architect\n1:Artist\n2:Cartoonist",after:""},{field:"style.opacity",code:"[number]",desc:"100: Fully opaque\n0: Fully transparent",after:""},{field:"style.strokeSharpness",code:"[string]",desc:"'round' | 'sharp'",after:""},{field:"style.fontFamily",code:"[number]",desc:"1: Virgil, 2:Helvetica, 3:Cascadia, 4:LocalFont",after:""},{field:"style.fontSize",code:"[number]",desc:null,after:""},{field:"style.textAlign",code:"[string]",desc:"'left' | 'right' | 'center'",after:""},{field:"style.verticalAlign",code:"[string]",desc:"For future use, has no effect currently; 'top' | 'bottom' | 'middle'",after:""},{field:"style.startArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"style.endArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"canvas.theme",code:"[string]",desc:"'dark' | 'light'",after:""},{field:"canvas.viewBackgroundColor",code:"[string]",desc:"A valid css color.\nSee W3 School Colors for more.",after:""},{field:"canvas.gridSize",code:"[number]",desc:null,after:""},{field:"addToGroup",code:"addToGroup(objectIds: []): string;",desc:null,after:""},{field:"toCliboard",code:"toClipboard(templatePath?: string): void;",desc:"Copies current elements using template to clipboard, ready to be pasted into an excalidraw canvas",after:""},{field:"getElements",code:"getElements(): ExcalidrawElement[];",desc:"Get all elements from ExcalidrawAutomate elementsDict",after:""},{field:"getElement",code:"getElement(id: string): ExcalidrawElement;",desc:"Get single element from ExcalidrawAutomate elementsDict",after:""},{field:"create",code:'create(params?: {filename?: string, foldername?: string, templatePath?: string, onNewPane?: boolean, frontmatterKeys?: { "excalidraw-plugin"?: "raw" | "parsed", "excalidraw-link-prefix"?: string, "excalidraw-link-brackets"?: boolean, "excalidraw-url-prefix"?: string,},}): Promise;',desc:"Create a drawing and save it to filename.\nIf filename is null: default filename as defined in Excalidraw settings.\nIf folder is null: default folder as defined in Excalidraw settings\n",after:""},{field:"createSVG",code:"createSVG(templatePath?: string, embedFont?: boolean, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"createPNG",code:"createPNG(templatePath?: string, scale?: number, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"wrapText",code:"wrapText(text: string, lineLen: number): string;",desc:null,after:""},{field:"addRect",code:"addRect(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addDiamond",code:"addDiamond(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addEllipse",code:"addEllipse(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addBlob",code:"addBlob(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addText",code:'addText(topX: number, topY: number, text: string, formatting?: {wrapAt?: number; width?: number; height?: number; textAlign?: string; box?: boolean | "box" | "blob" | "ellipse" | "diamond"; boxPadding?: number;}, id?: string,): string;',desc:"If box is !null, then text will be boxed\nThe function returns the id of the TextElement. If the text element is boxed i.e. it is a sticky note, then the id of the container object",after:""},{field:"addLine",code:"addLine(points: [[x: number, y: number]]): string;",desc:null,after:""},{field:"addArrow",code:"addArrow(points: [[x: number, y: number]], formatting?: { startArrowHead?: string; endArrowHead?: string; startObjectId?: string; endObjectId?: string;},): string;",desc:null,after:""},{field:"addImage",code:"addImage(topX: number, topY: number, imageFile: TFile, scale: boolean): Promise;",desc:"set scale to false if you want to embed the image at 100% of its original size. Default is true which will insert a scaled image",after:""},{field:"addLaTex",code:"addLaTex(topX: number, topY: number, tex: string): Promise;",desc:null,after:""},{field:"connectObjects",code:"connectObjects(objectA: string, connectionA: ConnectionPoint, objectB: string, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): string;",desc:'type ConnectionPoint = "top" | "bottom" | "left" | "right" | null\nWhen null is passed as ConnectionPoint then Excalidraw will automatically decide\nnumberOfPoints is the number of points on the line. Default is 0 i.e. line will only have a start and end point.\nArrowHead: "triangle"|"dot"|"arrow"|"bar"|null',after:""},{field:"addLabelToLine",code:"addLabelToLine(lineId: string, label: string): string;",desc:"Adds a text label to a line or arrow. Currently only works with a simple straight 2-point (start & end) line",after:""},{field:"clear",code:"clear(): void;",desc:"Clears elementsDict and imagesDict only",after:""},{field:"reset",code:"reset(): void;",desc:"clear() + reset all style values to default",after:""},{field:"isExcalidrawFile",code:"isExcalidrawFile(f: TFile): boolean;",desc:"Returns true if MD file is an Excalidraw file",after:""},{field:"targetView",code:"targetView: ExcalidrawView;",desc:"The Obsidian view currently edited",after:""},{field:"setView",code:'setView(view: ExcalidrawView | "first" | "active"): ExcalidrawView;',desc:null,after:""},{field:"getExcalidrawAPI",code:"getExcalidrawAPI(): any;",desc:"Excalidraw API",after:""},{field:"getViewElements",code:"getViewElements(): ExcalidrawElement[];",desc:"Get elements in View",after:""},{field:"deleteViewElements",code:"deleteViewElements(el: ExcalidrawElement[]): boolean;",desc:null,after:""},{field:"getViewSelectedElement",code:"getViewSelectedElement(): ExcalidrawElement;",desc:"Get the selected element in the view, if more are selected, get the first",after:""},{field:"getViewSelectedElements",code:"getViewSelectedElements(): ExcalidrawElement[];",desc:null,after:""},{field:"getViewFileForImageElement",code:"getViewFileForImageElement(el: ExcalidrawElement): TFile | null;",desc:"Returns the TFile file handle for the image element",after:""},{field:"copyViewElementsToEAforEditing",code:"copyViewElementsToEAforEditing(elements: ExcalidrawElement[]): void;",desc:"Copies elements from view to elementsDict for editing",after:""},{field:"viewToggleFullScreen",code:"viewToggleFullScreen(forceViewMode?: boolean): void;",desc:null,after:""},{field:"connectObjectWithViewSelectedElement",code:"connectObjectWithViewSelectedElement(objectA: string, connectionA: ConnectionPoint, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): boolean;",desc:"Connect an object to the selected element in the view\nSee tooltip for connectObjects for details",after:""},{field:"addElementsToView",code:"addElementsToView(repositionToCursor?: boolean, save?: boolean, newElementsOnTop?: boolean,): Promise;",desc:"Adds elements from elementsDict to the current view\nrepositionToCursor: default is false\nsave: default is true\nnewElementsOnTop: default is false, i.e. the new elements get to the bottom of the stack\nnewElementsOnTop controls whether elements created with ExcalidrawAutomate are added at the bottom of the stack or the top of the stack of elements already in the view\nNote that elements copied to the view with copyViewElementsToEAforEditing retain their position in the stack of elements in the view even if modified using EA",after:""},{field:"onDropHook",code:'onDropHook(data: {ea: ExcalidrawAutomate, event: React.DragEvent, draggable: any, type: "file" | "text" | "unknown", payload: {files: TFile[], text: string,}, excalidrawFile: TFile, view: ExcalidrawView, pointerPosition: { x: number, y: number},}): boolean;',desc:"If set Excalidraw will call this function onDrop events.\nA return of true will stop the default onDrop processing in Excalidraw.\n\ndraggable is the Obsidian draggable object\nfiles is the array of dropped files\nexcalidrawFile is the file receiving the drop event\nview is the excalidraw view receiving the drop.\npointerPosition is the pointer position on canvas at the time of drop.",after:""},{field:"mostRecentMarkdownSVG",code:"mostRecentMarkdownSVG: SVGSVGElement;",desc:"Markdown renderer will drop a copy of the most recent SVG here for debugging purposes",after:""},{field:"getEmbeddedFilesLoader",code:"getEmbeddedFilesLoader(isDark?: boolean): EmbeddedFilesLoader;",desc:"Utility function to generate EmbeddedFilesLoader object",after:""},{field:"getExportSettings",code:"getExportSettings(withBackground: boolean, withTheme: boolean,): ExportSettings;",desc:"Utility function to generate ExportSettings object",after:""},{field:"getBoundingBox",code:"getBoundingBox(elements: ExcalidrawElement[]): {topX: number, topY: number, width: number, height: number,};",desc:"Gets the bounding box of elements. The bounding box is the box encapsulating all of the elements completely.",after:""},{field:"getMaximumGroups",code:"getMaximumGroups(elements: ExcalidrawElement[]): ExcalidrawElement[][];",desc:"Elements grouped by the highest level groups",after:""},{field:"getLargestElement",code:"getLargestElement(elements: ExcalidrawElement[]): ExcalidrawElement;",desc:"Gets the largest element from a group. useful when a text element is grouped with a box, and you want to connect an arrow to the box",after:""},{field:"intersectElementWithLine",code:"intersectElementWithLine(element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number,): Point[];",desc:"If gap is given, the element is inflated by this value.\nReturns 2 or 0 intersection points between line going through `a` and `b` and the `element`, in ascending order of distance from `a`.",after:""},{field:"getCommonGroupForElements",code:"getCommonGroupForElements(elements: ExcalidrawElement[]): string;",desc:"Gets the groupId for the group that contains all the elements, or null if such a group does not exist",after:""},{field:"getElementsInTheSameGroupWithElement",code:"getElementsInTheSameGroupWithElement(element: ExcalidrawElement, elements: ExcalidrawElement[]): ExcalidrawElement[];",desc:"Gets all the elements from elements[] that share one or more groupIds with element.",after:""},{field:"activeScript",code:"activeScript: string;",desc:"Mandatory to set before calling the get and set ScriptSettings functions. Set automatically by the ScriptEngine\nSee for more details: Script Engine Help",after:""},{field:"getScriptSettings",code:"getScriptSettings(): {};",desc:"Returns script settings. Saves settings in plugin settings, under the activeScript key. See for more details: Script Engine Help",after:""},{field:"setScriptSettings",code:"setScriptSettings(settings: any): Promise;",desc:"Sets script settings.\nSee for more details: Script Engine Help",after:""},{field:"openFileInNewOrAdjacentLeaf",code:"openFileInNewOrAdjacentLeaf(file: TFile): WorkspaceLeaf;",desc:"Open a file in a new workspaceleaf or reuse an existing adjacent leaf depending on Excalidraw Plugin Settings",after:""},{field:"measureText",code:"measureText(text: string): { width: number; height: number };",desc:"Measures text size based on current style settings",after:""},{field:"verifyMinimumPluginVersion",code:"verifyMinimumPluginVersion(requiredVersion: string): boolean;",desc:'Returns true if plugin version is >= than required\nrecommended use:\nif(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.20")) {new Notice("message");return;}',after:""},{field:"selectElementsInView",code:"selectElementsInView(elements: ExcalidrawElement[]):void;",desc:"Elements provided will be set as selected in the targetView.",after:""},{field:"generateElementId",code:"generateElementId(): string;",desc:"Returns an 8 character long random id",after:""},{field:"cloneElement",code:"cloneElement(element: ExcalidrawElement): ExcalidrawElement;",desc:"Returns a clone of the element with a new element id",after:""},{field:"moveViewElementToZIndex",code:"moveViewElementToZIndex(elementId:number, newZIndex:number): void;",desc:"Moves the element to a specific position in the z-index",after:""},{field:"hexStringToRgb",code:"hexStringToRgb(color: string):number[];",desc:"Converts a HEX color to an RGB number array. #FF0000 to [255,0,0]",after:""},{field:"rgbToHexString",code:"rgbToHexString(color: number[]):string;",desc:"Converts an RGB number array to a HEX string. [255,0,0] to #FF0000",after:""},{field:"hslToRgb",code:"hslToRgb(color: number[]):number[];",desc:"Converts an HSL number array to an RGB number array. [0,100,50] to [255,0,0]",after:""},{field:"rgbToHsl",code:"rgbToHsl(color:number[]):number[];",desc:"Converts an RGB number array to an HSL number array. [255,0,0] to [0,100,50]",after:""},{field:"colorNameToHex",code:"colorNameToHex(color:string):string;",desc:"Converts a CSS color name to its HEX color equivalent. 'White' to #FFFFFF",after:""}],EXCALIDRAW_SCRIPTENGINE_INFO=[{field:"inputPrompt",code:"inputPrompt: (header: string, placeholder?: string, value?: string, buttons?: [{caption:string, action:Function}]);",desc:"Opens a prompt that asks for an input.\nReturns a string with the input.\nYou need to await the result of inputPrompt.\nbuttons.action(input: string) => string\nThe button action function will receive the actual input string. If action returns null, input will be unchanged. If action returns a string, input will receive that value when the promise is resolved. example:\nlet fileType = '';\nconst filename = await utils.inputPrompt (\n 'Filename',\n '',\n '',\n, [\n {\n caption: 'Markdown',\n action: ()=>{fileType='md';return;}\n },\n {\n caption: 'Excalidraw',\n action: ()=>{fileType='ex';return;}\n }\n ]\n);",after:""},{field:"suggester",code:"suggester: (displayItems: string[], items: any[], hint?: string, instructions?:Instruction[]);",desc:"Opens a suggester. Displays the displayItems and returns the corresponding item from items[]\nYou need to await the result of suggester.\nIf the user cancels (ESC), suggester will return undefined\nHint and instructions are optional\n\ninterface Instruction {command: string;purpose: string;}",after:""}],FRONTMATTER_KEYS_INFO=[{field:"plugin",code:null,desc:"Denotes an excalidraw file. If key is not present, the file will not be recognized as an Excalidarw file. Valid values are 'parsed' and 'raw'",after:": parsed"},{field:"link-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid internal link. Set to empty string if you do not want to show a prefix",after:': "📍"'},{field:"url-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid external link. Set to empty string if you do not want to show a prefix",after:': "🌐"'},{field:"link-brackets",code:null,desc:"Set to true, if you want to display [[square brackets]] around the links in Text Elements",after:": true"},{field:"default-mode",code:null,desc:"Specifies how Excalidraw should open by default. Valid values are: view|zen",after:": view"},{field:"linkbutton-opacity",code:null,desc:"The opacity of the blue link button in the top right of the element overriding the respective setting in plugin settings. Valid values are between 0 and 1, where 0 means the button is transparent.",after:": 0.5"},{field:"onload-script",code:null,desc:"The value of this field will be executed as javascript code using the Script Engine environment. Use this to initiate custom actions or logic when loading your drawing.",after:': "new Notice(`Hello World!\\n\\nFile: ${ea.targetView.file.basename}`);"'},{field:"font",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: Virgil|Cascadia|font_file_name.extension",after:": Virgil"},{field:"font-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"border-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"css",code:null,desc:'This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this front matter keys to your markdown document. Valid values are: "css-filename|css snippet"',after:': ""'},{field:"export-transparent",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Transparent / false == with background",after:": true"},{field:"export-dark",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Dark mode / false == light mode",after:": true"},{field:"export-padding",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects both SVG and PNG export. Specify the export padding for the image.",after:": 5"},{field:"export-pngscale",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects export to PNG. Specify the export scale for the image. The typical range is between 0.5 and 5, but you can experiment with other values as well.",after:": 1"},{field:"autoexport",code:null,desc:"Override autoexport settings for this file. Valid values are\nnone\nboth\npng\nsvg",after:": png"}];class FieldSuggester extends obsidian.EditorSuggest{constructor(e){super(e.app),this.getSuggestions=e=>{const A=e.query.toLowerCase();return("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).map((e=>e.field)).filter((e=>e.toLowerCase().includes(A)))},this.plugin=e}onTrigger(e,A,t){var n,i,a,r,s;if(this.plugin.settings.fieldSuggester){const t=A.getLine(e.line).substring(0,e.ch),o=null!==(r=null!==(i=null===(n=t.match(/^excalidraw-(.*)$/))||void 0===n?void 0:n[1])&&void 0!==i?i:null===(a=t.match(/(^ea|\Wea)\.([\w\.]*)$/))||void 0===a?void 0:a[2])&&void 0!==r?r:null===(s=t.match(/(^utils|\Wutils)\.([\w\.]*)$/))||void 0===s?void 0:s[2];if(void 0!==o)return this.suggestType=t.match(/^excalidraw-(.*)$/)?"excalidraw":t.match(/(^ea|\Wea)\.([\w\.]*)$/)?"ea":"utils",this.latestTriggerInfo={end:e,start:{ch:e.ch-o.length,line:e.line},query:o},this.latestTriggerInfo}return null}renderSuggestion(e,A){const t=e.replace("ea"===this.suggestType?"ea.":"utils"===this.suggestType?"utils.":"excalidraw-",""),n=("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).find((A=>A.field===e));A.createEl("b",{text:t}),A.createEl("br"),n.code&&A.createEl("code",{text:n.code}),n.desc&&A.createDiv("div",(e=>e.innerHTML=n.desc))}selectSuggestion(e){var A;const{context:t}=this;if(t){const n="ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO,i=`${e}${null===(A=n.find((A=>A.field===e)))||void 0===A?void 0:A.after}`;if(t.editor.replaceRange(i,this.latestTriggerInfo.start,this.latestTriggerInfo.end),this.latestTriggerInfo.start.ch===this.latestTriggerInfo.end.ch){const e=this.latestTriggerInfo.end;e.ch+=i.length,t.editor.setCursor(e)}}}}class FrontmatterEditor{constructor(e){this.initialized=!1,this.dataWOfrontmatter=e;const A=(e=e.replaceAll("\r\n","\n").replaceAll("\r","\n")).split(/^---(?:.|\n)*(?:^---\n)/gm);2===A.length&&(this.dataWOfrontmatter=A[1],this.frontmatterStr=e.match(/^---((?:.|\n)*)(?:^---\n)/gm)[0].replaceAll(/(^---\n|^\n)/gm,"").trim()+"\n",this.initialized=!0)}hasKey(e){if(!this.initialized)return!1;const A=new RegExp(`^${e}:`,"gm");return Boolean(this.frontmatterStr.match(A))}setKey(e,A){if(this.initialized)if(A=A.replaceAll("\r\n","\n").replaceAll("\r","\n").replaceAll(":",";").trim().split("\n").join(" "),this.hasKey(e)){const t=new RegExp(`^${e}:.*\\n(?:\\s\\s.*\\n)*`,"gm");this.frontmatterStr=this.frontmatterStr.split(t).join("\n").trim()+`\n${e}: ${A}`}else this.frontmatterStr=this.frontmatterStr.trim()+`\n${e}: ${A}`}get data(){return this.initialized?["---",this.frontmatterStr,"---",this.dataWOfrontmatter].join("\n"):this.dataWOfrontmatter}}const TASKBONE_URL="https://api.taskbone.com/",TASKBONE_OCR_FN="execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb";class Taskbone{constructor(e){this.plugin=e}get apiKey(){return this.plugin.settings.taskboneAPIkey}async initialize(e=!0){var A;if(""!==this.plugin.settings.taskboneAPIkey)return;const t=await obsidian.requestUrl({url:`${TASKBONE_URL}users/excalidraw-obsidian/identities`,method:"post",contentType:"application/json",throw:!1});if(!t)return;const n=null===(A=t.json)||void 0===A?void 0:A.apiKey;return n&&"string"==typeof n&&(e&&await this.plugin.loadSettings(),this.plugin.settings.taskboneAPIkey=n,e&&await this.plugin.saveSettings()),n}async getTextForView(e,A){await e.forceSave(!0);const t=e.excalidrawAPI.getSceneElements().filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!this.plugin.isExcalidrawFile(null===(t=e.excalidrawData.getFile(A.fileId))||void 0===t?void 0:t.file)}));if(0===t.length)return void new obsidian.Notice("Aborting OCR because there are no image or freedraw elements on the canvas.",4e3);const n=new FrontmatterEditor(e.data);if(n.hasKey("taskbone-ocr")&&!A)return void new obsidian.Notice("The drawing has already been processed, you will find the result in the frontmatter in markdown view mode. If you ran the command from the Obsidian Panel in Excalidraw then you can CTRL(CMD)+click the command to force the rescaning.",4e3);const i=this.plugin.ea.getBoundingBox(t),a=i.width*i.height,r=Math.sqrt(36e4/a),s=Math.sqrt(a/16e6),o=r>1?r:s>1?1/s:1,l=new EmbeddedFilesLoader(this.plugin,!1),c=await createPNG(e.file.path+"#^taskbone",o,{withBackground:!0,withTheme:!0},l,"light",null,null,[],this.plugin,0),d=await this.getTextForImage(c);d&&(n.setKey("taskbone-ocr",d),e.data=n.data,e.save(!1),window.navigator.clipboard.writeText(d),new obsidian.Notice("I placed the recognized in the drawing's frontmatter and onto the system clipboard."))}async getTextForImage(e){""===this.apiKey&&await this.initialize();const A={records:[{image:await this.blobToBase64(e)}]},t=await obsidian.requestUrl({url:"https://api.taskbone.com/execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb",method:"post",contentType:"application/json",body:JSON.stringify(A),headers:{authorization:`Bearer ${this.apiKey}`},throw:!1}),n=null==t?void 0:t.json;return n&&200===t.status?n.records[0].text:(new obsidian.Notice("Something went wrong while processing your request. Please check developer console for more information"),void log(t))}async blobToBase64(e){const A=await e.arrayBuffer(),t=new Uint8Array(A);for(var n="",i=t.byteLength,a=0;anew ExcalidrawView(e,this))),this.registerExtensions(["excalidraw"],"excalidraw"),this.addMarkdownPostProcessor(),this.registerInstallCodeblockProcessor(),this.addThemeObserver(),this.experimentalFileTypeDisplayToggle(this.settings.experimentalFileType),this.registerCommands(),this.registerEventListeners(),this.initializeFourthFont(),this.registerEditorSuggest(new FieldSuggester(this)),this.registerMonkeyPatches(),this.settings.showReleaseNotes){const e="0.0.0"===this.settings.previousRelease;isVersionNewerThanOther(PLUGIN_VERSION,this.settings.previousRelease)&&new ReleaseNotes(this.app,this,e?null:PLUGIN_VERSION).open()}this.switchToExcalidarwAfterLoad(),this.loadMathJax();const e=this;this.app.workspace.onLayoutReady((()=>{this.scriptEngine=new ScriptEngine(e)})),this.taskbone=new Taskbone(this)}initializeFourthFont(){this.app.workspace.onLayoutReady((async()=>{const e=await getFontDataURL(this.app,this.settings.experimantalFourthFont,"","LocalFont"),A=""===e.dataURL?VIRGIL_DATAURL:e.dataURL;this.fourthFontDef=e.fontDef;const t=new Set;app.workspace.iterateAllLeaves((e=>{const n=app.isMobile?document:e.view.containerEl.ownerDocument;if(!n)return;if(t.has(n))return;t.add(n);const i=n.createElement("style");i.id="local-font-stylesheet",i.textContent=`\n @font-face {\n font-family: 'LocalFont';\n src: url("${A}");\n font-display: swap;\n }\n `;const a=n.getElementById(i.id);n.head.appendChild(i),a&&n.head.removeChild(a),n.fonts.load("20px LocalFont")}))}))}loadMathJax(){const e=this;this.app.workspace.onLayoutReady((async()=>{await obsidian.loadMathJax();try{e.mathjaxDiv&&(document.body.removeChild(e.mathjaxDiv),e.mathjax=null,e.mathjaxLoaderFinished=!1),e.mathjaxDiv=document.body.createDiv(),e.mathjaxDiv.title="Excalidraw MathJax Support",e.mathjaxDiv.style.display="none";const A=e.mathjaxDiv.createEl("iframe");A.title="Excalidraw MathJax Support";const t=A.contentWindow.document,n=t.createElement("script");n.type="text/javascript",n.onload=()=>{const t=A.contentWindow;t.MathJax.startup.pagePromise.then((async()=>{const A=app.vault.getAbstractFileByPath("preamble.sty"),n=A&&A instanceof obsidian.TFile?await app.vault.read(A):null;try{n&&await t.MathJax.tex2svg(n)}catch(A){errorlog({where:e.loadMathJax,description:"Unexpected error while loading preamble.sty",error:A})}e.mathjax=t.MathJax,e.mathjaxLoaderFinished=!0}))},n.src=e.settings.mathjaxSourceURL,t.head.appendChild(n)}catch(A){new obsidian.Notice("Excalidraw: Error initializing LaTeX support"),e.mathjaxLoaderFinished=!0}}))}switchToExcalidarwAfterLoad(){const e=this;this.app.workspace.onLayoutReady((()=>{let A;for(A of app.workspace.getLeavesOfType("markdown"))A.view instanceof obsidian.MarkdownView&&e.isExcalidrawFile(A.view.file)&&(e.excalidrawFileModes[A.id||A.view.file.path]="excalidraw",e.setExcalidrawView(A))}))}forceSaveActiveView(e){if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.forceSave(),!0)}registerInstallCodeblockProcessor(){const e=async(e,A)=>{let t=null;try{const e=A.parentElement.querySelector(`a[href="#${A.previousElementSibling.getAttribute("data-heading")}"]`);e.style.paddingRight="10px",t=e.parentElement.createEl("button",null,(e=>{e.setText(t$d("UPDATE_SCRIPT")),e.addClass("mod-cta"),e.style.backgroundColor="var(--interactive-success)",e.style.display="none"}))}catch(A){errorlog({where:"this.registerInstallCodeblockProcessor",source:e,error:A})}e=e.trim(),A.createEl("button",null,(async A=>{const n=e=>{switch(t&&(t.style.display="none"),e){case"CHECKING":A.setText(t$d("CHECKING_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"INSTALL":A.setText(t$d("INSTALL_SCRIPT")),A.style.backgroundColor="var(--interactive-accent)";break;case"UPTODATE":A.setText(t$d("UPTODATE_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"UPDATE":A.setText(t$d("UPDATE_SCRIPT")),A.style.backgroundColor="var(--interactive-success)",t&&(t.style.display=null);break;case"ERROR":A.setText(t$d("UNABLETOCHECK_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)"}};A.addClass("mod-cta");let i=e;try{i=decodeURI(e)}catch(A){errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",source:e,error:A})}const a=i.substring(i.lastIndexOf("/")+1),r=`${this.settings.scriptFolderPath}/Downloaded`,s=`${r}/${a}`,o=getIMGFilename(s,"svg");let l=this.app.vault.getAbstractFileByPath(s),c=this.app.vault.getAbstractFileByPath(o);if(n(l?"CHECKING":"INSTALL"),A.onclick=async()=>{const A=async(e,A,t)=>{const n=await obsidian.request({url:e});return!n||n.startsWith("404: Not Found")?null:(A?await this.app.vault.modify(A,n):(await checkAndCreateFolder(r),A=await this.app.vault.create(t,n)),A)};try{if(l=await A(e,l,s),!l)throw n("ERROR"),"File not found";c=await A(getIMGFilename(e,"svg"),c,o),n("UPTODATE"),new obsidian.Notice(`Installed: ${l.basename}`)}catch(e){new obsidian.Notice(`Error installing script: ${a}`),errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",error:e})}},t&&(t.onclick=A.onclick),!(l&&l instanceof obsidian.TFile))return;const d=new Map;JSON.parse(await obsidian.request({url:"https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/directory-info.json"})).forEach((e=>d.set(e.fname,e.mtime)));const h=(e,A)=>{if(0===d.size||!d.has(e))return"ERROR";const t=d.get(e);return!A||t>A.stat.mtime?"UPDATE":"UPTODATE"},u=h(a,l),g=h(getIMGFilename(a,"svg"),c&&c instanceof obsidian.TFile?c:null);n("UPTODATE"===u&&"UPTODATE"===g||"UPTODATE"===u&&"ERROR"===g?"UPTODATE":"ERROR"===u?"ERROR":"UPDATE"===u||"UPDATE"===g?"UPDATE":"UPTODATE")}))};this.registerMarkdownCodeBlockProcessor(SCRIPT_INSTALL_CODEBLOCK,(async(A,t)=>{t.addEventListener(RERENDER_EVENT,(async n=>{n.stopPropagation(),t.empty(),e(A,t)})),e(A,t)}))}addMarkdownPostProcessor(){initializeMarkdownPostProcessor(this),this.registerMarkdownPostProcessor(markdownPostProcessor),this.registerEvent(this.app.workspace.on("hover-link",hoverEvent)),this.observer=observer,this.observer.observe(document,{childList:!0,subtree:!0})}addThemeObserver(){this.themeObserver=new MutationObserver((async e=>{var A,t,n,i,a,r,s,o;if(!this.settings.matchThemeTrigger)return;if((null===(A=e[0])||void 0===A?void 0:A.oldValue)===(null===(n=null===(t=e[0])||void 0===t?void 0:t.target)||void 0===n?void 0:n.getAttribute("class")))return;if((null===(a=null===(i=e[0])||void 0===i?void 0:i.oldValue)||void 0===a?void 0:a.includes("theme-dark"))===(null===(o=null===(s=null===(r=e[0])||void 0===r?void 0:r.target)||void 0===s?void 0:s.classList)||void 0===o?void 0:o.contains("theme-dark")))return;const l=isObsidianThemeDark()?"dark":"light";this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{const A=e.view;A.file&&A.excalidrawRef&&A.setTheme(l)}))})),this.themeObserver.observe(document.body,{attributeOldValue:!0,attributeFilter:["class"]})}experimentalFileTypeDisplayToggle(e){e?this.experimentalFileTypeDisplay():(this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.fileExplorerObserver=null)}experimentalFileTypeDisplay(){const e=e=>{if(1!=e.childElementCount)return;const A=e.getAttribute("data-path");if(!A)return;const t=this.app.vault.getAbstractFileByPath(A);t&&t instanceof obsidian.TFile&&this.isExcalidrawFile(t)&&e.insertBefore(createDiv({cls:"nav-file-tag",text:this.settings.experimentalFileTag}),e.firstChild)};this.fileExplorerObserver=new MutationObserver((A=>{const t=A.filter((e=>e.addedNodes.length>0));t.forEach((A=>{A.addedNodes.forEach((A=>{A instanceof Element&&A.querySelectorAll(".nav-file-title").forEach(e)}))}))}));const A=this;this.app.workspace.onLayoutReady((()=>{document.querySelectorAll(".nav-file-title").forEach(e),A.fileExplorerObserver.observe(document.querySelector(".workspace"),{childList:!0,subtree:!0})}))}registerCommands(){this.openDialog=new OpenFileDialog(this.app,this),this.insertLinkDialog=new InsertLinkDialog(this.app),this.insertImageDialog=new InsertImageDialog(this),this.importSVGDialog=new ImportSVGDialog(this),this.insertMDDialog=new InsertMDDialog(this),this.addRibbonIcon(ICON_NAME,t$d("CREATE_NEW"),(async e=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),e[CTRL_OR_CMD]?"new-pane":"active-pane")})),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{e.addItem((e=>{e.setTitle(t$d("CREATE_NEW")).setIcon(ICON_NAME).onClick((()=>{let e=A.path;A instanceof obsidian.TFile&&(e=obsidian.normalizePath(A.path.substr(0,A.path.lastIndexOf(A.name)))),this.createAndOpenDrawing(getDrawingFilename(this.settings),"active-pane",e)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_KEEP_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!1,!1)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_REPLACE_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!0,!0)}))}))}))),this.addCommand({id:"excalidraw-disable-autosave",name:t$d("TEMPORARY_DISABLE_AUTOSAVE"),checkCallback:e=>!!this.settings.autosave&&(e||(this.settings.autosave=!1),!0)}),this.addCommand({id:"excalidraw-enable-autosave",name:t$d("TEMPORARY_ENABLE_AUTOSAVE"),checkCallback:e=>!this.settings.autosave&&(e||(this.settings.autosave=!0),!0)}),this.addCommand({id:"excalidraw-download-lib",name:t$d("DOWNLOAD_LIBRARY"),callback:this.exportLibrary}),this.addCommand({id:"excalidraw-open",name:t$d("OPEN_EXISTING_NEW_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!0)}}),this.addCommand({id:"excalidraw-open-on-current",name:t$d("OPEN_EXISTING_ACTIVE_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!1)}}),this.addCommand({id:"excalidraw-insert-transclusion",name:t$d("TRANSCLUDE"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(obsidian.MarkdownView)):(this.openDialog.start(openDialogAction.insertLinkToDrawing,!1),!0)}),this.addCommand({id:"excalidraw-insert-last-active-transclusion",name:t$d("TRANSCLUDE_MOST_RECENT"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(obsidian.MarkdownView))&&null!=this.lastActiveExcalidrawFilePath;const A=this.app.vault.getAbstractFileByPath(this.lastActiveExcalidrawFilePath);return A instanceof obsidian.TFile&&(this.embedDrawing(A),!0)}}),this.addCommand({id:"excalidraw-autocreate",name:t$d("NEW_IN_NEW_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-pane")}}),this.addCommand({id:"excalidraw-autocreate-on-current",name:t$d("NEW_IN_ACTIVE_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"active-pane")}}),this.addCommand({id:"excalidraw-autocreate-popout",name:t$d("NEW_IN_POPOUT_WINDOW"),checkCallback:e=>{if(e)return!app.isMobile;this.createAndOpenDrawing(getDrawingFilename(this.settings),"popout-window")}});const e=async e=>{const A=this.app.workspace.getActiveViewOfType(obsidian.MarkdownView);if(!A)return;const t=getEmbedFilename(A.file.basename,this.settings),n=this.settings.embedUseExcalidrawFolder?null:(await getAttachmentsFolderAndFilePath(this.app,A.file.path,t)).folder,i=await this.createDrawing(t,n);await this.embedDrawing(i),this.openDrawing(i,e,!0)};this.addCommand({id:"excalidraw-autocreate-and-embed",name:t$d("NEW_IN_NEW_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian.MarkdownView)):(e("new-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-on-current",name:t$d("NEW_IN_ACTIVE_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian.MarkdownView)):(e("active-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-popout",name:t$d("NEW_IN_POPOUT_WINDOW_EMBED"),checkCallback:A=>A?!app.isMobile&&Boolean(this.app.workspace.getActiveViewOfType(obsidian.MarkdownView)):(e("popout-window"),!0)}),this.addCommand({id:"export-svg",name:t$d("EXPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.saveSVG(),!0)}}),this.addCommand({id:"run-ocr",name:t$d("RUN_OCR"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return e?Boolean(A):!!A&&(this.settings.taskboneEnabled?(this.taskbone.getTextForView(A,!1),!0):(new obsidian.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3),!0))}}),this.addCommand({id:"search-text",name:t$d("SEARCH"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(search(A),!0)}}),this.addCommand({id:"fullscreen",name:t$d("TOGGLE_FULLSCREEN"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.isFullscreen()?A.exitFullscreen():A.gotoFullscreen(),!0)}}),this.addCommand({id:"export-png",name:t$d("EXPORT_PNG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.savePNG(),!0)}}),this.forceSaveCommand=this.addCommand({id:"save",hotkeys:[{modifiers:["Ctrl"],key:"s"}],name:t$d("FORCE_SAVE"),checkCallback:e=>this.forceSaveActiveView(e)}),this.addCommand({id:"toggle-lock",hotkeys:[{modifiers:["Ctrl","Shift"],key:"e"}],name:t$d("TOGGLE_LOCK"),checkCallback:e=>{if(e)return!!Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))&&!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode;const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||A.compatibilityMode||(A.changeTextMode(A.textMode===TextMode.parsed?TextMode.raw:TextMode.parsed),0))}}),this.addCommand({id:"scriptengine-store",name:t$d("INSTALL_SCRIPT_BUTTON"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ScriptInstallPrompt(this).open(),!0)}),this.addCommand({id:"delete-file",name:t$d("DELETE_FILE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(A){this.ea.reset(),this.ea.setView(A);const e=this.ea.getViewSelectedElement();if("image"!==e.type)return new obsidian.Notice("Please select an image or embedded markdown document",4e3),!0;const t=this.ea.getViewFileForImageElement(e);return t?(this.app.vault.delete(t),this.ea.deleteViewElements([e]),!0):(new obsidian.Notice("Please select an image or embedded markdown document",4e3),!0)}return!1}}),this.addCommand({id:"insert-link",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertLinkDialog.start(A.file.path,A.addText),!0)}}),this.addCommand({id:"insert-link-to-element",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK_TO_ELEMENT_NORMAL"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard(""),!0)}}),this.addCommand({id:"insert-link-to-element-group",name:t$d("INSERT_LINK_TO_ELEMENT_GROUP"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("group="),!0)}}),this.addCommand({id:"insert-link-to-element-area",name:t$d("INSERT_LINK_TO_ELEMENT_AREA"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("area="),!0)}}),this.addCommand({id:"toggle-lefthanded-mode",name:t$d("TOGGLE_LEFTHANDED_MODE"),checkCallback:e=>{if(e){if(this.app.workspace.getActiveViewOfType(ExcalidrawView)){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView),A=null==e?void 0:e.excalidrawAPI;return!!A&&!!A.getAppState().trayModeEnabled}return!1}return this.app.workspace.getActiveViewOfType(ExcalidrawView),(async()=>{const e=this.settings.isLeftHanded;await this.loadSettings({applyLefthandedMode:!1}),this.settings.isLeftHanded=!e,this.saveSettings(),setLeftHandedMode(!e),setTimeout((()=>setLeftHandedMode(!e)))})(),!0}}),this.addCommand({id:"reset-image-to-100",name:t$d("RESET_IMG_TO_100"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!A)return!1;if(!A.excalidrawAPI)return!1;const t=A.getViewSelectedElements().filter((e=>"image"===e.type));if(1!==t.length)return e||new obsidian.Notice("Select a single image element and try again"),!1;const n=t[0];return A.excalidrawData.getFile(n.fileId)?!!e||void(async()=>{const e=new ExcalidrawAutomate(this,A),i=await e.getOriginalImageSize(n);if(i){e.copyViewElementsToEAforEditing(t);const A=e.getElement(n.id);A.width=i.width,A.height=i.height,e.addElementsToView(!1,!1,!1)}})():(e||new obsidian.Notice("Select a single image element and try again"),!1)}}),this.addCommand({id:"insert-image",name:t$d("INSERT_IMAGE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertImageDialog.start(A),!0)}}),this.addCommand({id:"import-svg",name:t$d("IMPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.importSVGDialog.start(A),!0)}}),this.addCommand({id:"release-notes",name:t$d("READ_RELEASE_NOTES"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ReleaseNotes(this.app,this,PLUGIN_VERSION).open(),!0)}),this.addCommand({id:"tray-mode",name:t$d("TRAY_MODE"),checkCallback:e=>{if(e){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!e||!e.excalidrawRef)return!1;const A=e.excalidrawAPI.getAppState();return!A.zenModeEnabled&&!A.viewModeEnabled}const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||!A.excalidrawAPI||(A.toggleTrayMode(),0))}}),this.addCommand({id:"insert-md",name:t$d("INSERT_MD"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertMDDialog.start(A),!0)}}),this.addCommand({id:"insert-LaTeX-symbol",name:t$d("INSERT_LATEX"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(insertLaTeXToView(A),!0)}}),this.addCommand({id:"toggle-excalidraw-view",name:t$d("TOGGLE_MODE"),checkCallback:e=>{const A=this.app.workspace.getActiveFile();if(!A)return!1;const t=this.isExcalidrawFile(A);if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))?!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode:t;const n=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(n){const e=n.leaf;return this.excalidrawFileModes[e.id||A.path]="markdown",void this.setMarkdownView(e)}const i=this.app.workspace.getActiveViewOfType(obsidian.MarkdownView);if(i&&t){const e=i.leaf;return this.excalidrawFileModes[e.id||A.path]="excalidraw",void this.setExcalidrawView(e)}}}),this.addCommand({id:"convert-to-excalidraw",name:t$d("CONVERT_NOTE_TO_EXCALIDRAW"),checkCallback:e=>{const A=this.app.workspace.getActiveFile(),t=this.app.workspace.getActiveViewOfType(obsidian.MarkdownView);if(!A||!t)return!1;const n=0===A.stat.size;if(e)return n;n&&(async()=>{await this.app.vault.modify(A,await this.getBlankDrawing()),this.setExcalidrawView(t.leaf)})()}}),this.addCommand({id:"convert-excalidraw",name:t$d("CONVERT_EXCALIDRAW"),checkCallback:e=>{if(e){const e=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));return e.length>0}return this.convertExcalidrawToMD(),!0}})}async convertSingleExcalidrawToMD(e,A=!1,t=!1){const n=await this.app.vault.read(e),i=e.name.substring(0,e.name.lastIndexOf(".excalidraw"))+(A?".md":".excalidraw.md"),a=getNewUniqueFilepath(this.app.vault,i,obsidian.normalizePath(e.path.substring(0,e.path.lastIndexOf(e.name))));log(a);const r=await this.app.vault.create(a,FRONTMATTER+await this.exportSceneToMD(n));return this.settings.keepInSync&&EXPORT_TYPES.forEach((A=>{const t=e.path.substring(0,e.path.lastIndexOf(".excalidraw"))+A,n=this.app.vault.getAbstractFileByPath(obsidian.normalizePath(t));if(n&&n instanceof obsidian.TFile){const e=a.substring(0,a.lastIndexOf(".md"))+A;this.app.fileManager.renameFile(n,e)}})),t||this.app.vault.delete(e),r}async convertExcalidrawToMD(e=!1,A=!1){const t=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));for(const n of t)this.convertSingleExcalidrawToMD(n,e,A);new obsidian.Notice(`Converted ${t.length} files.`)}registerMonkeyPatches(){this.registerEvent(app.workspace.on("editor-menu",((e,A,t)=>{if(!(t&&t instanceof obsidian.MarkdownView))return;const n=t.file,i=t.leaf;if(!t.file)return;const a=this.app.metadataCache.getFileCache(n);(null==a?void 0:a.frontmatter)&&a.frontmatter[FRONTMATTER_KEY]&&e.addItem((e=>e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("excalidraw").onClick((()=>{this.excalidrawFileModes[i.id||n.path]="excalidraw",this.setExcalidrawView(i)}))))}))),this.registerEvent(app.workspace.on("file-menu",((e,A,t,n)=>{if(!(n&&n.view instanceof obsidian.MarkdownView))return;if(!(A instanceof obsidian.TFile))return;const i=this.app.metadataCache.getFileCache(A);(null==i?void 0:i.frontmatter)&&i.frontmatter[FRONTMATTER_KEY]&&(e.addItem((e=>{e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("pane").onClick((()=>{this.excalidrawFileModes[n.id||A.path]="excalidraw",this.setExcalidrawView(n)}))})),e.items.unshift(e.items.pop()))})));const e=this;this.register(around(obsidian.WorkspaceLeaf.prototype,{detach:A=>function(){var t;const n=null===(t=this.view)||void 0===t?void 0:t.getState();return(null==n?void 0:n.file)&&e.excalidrawFileModes[this.id||n.file]&&delete e.excalidrawFileModes[this.id||n.file],A.apply(this)},setViewState:A=>function(t,...n){var i;if(e._loaded&&"markdown"===t.type&&(null===(i=t.state)||void 0===i?void 0:i.file)&&"markdown"!==e.excalidrawFileModes[this.id||t.state.file]){const i=app.metadataCache.getCache(t.state.file);if((null==i?void 0:i.frontmatter)&&i.frontmatter[FRONTMATTER_KEY]){const i=Object.assign(Object.assign({},t),{type:"excalidraw"});return e.excalidrawFileModes[t.state.file]="excalidraw",A.apply(this,[i,...n])}}return A.apply(this,[t,...n])}}))}registerEventListeners(){const e=this;this.app.workspace.onLayoutReady((async()=>{e.registerEvent(app.vault.on("rename",(async(A,t)=>{A instanceof obsidian.TFile&&e.isExcalidrawFile(A)&&e.settings.keepInSync&&[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const n=getIMGFilename(t,e),i=app.vault.getAbstractFileByPath(obsidian.normalizePath(n));if(i&&i instanceof obsidian.TFile){const t=getIMGFilename(A.path,e);await app.fileManager.renameFile(i,t)}}))}))),e.registerEvent(app.vault.on("modify",(async A=>{app.workspace.getLeavesOfType("excalidraw").forEach((async t=>{const n=t.view;if(n.file&&(n.file.path===A.path||"excalidraw"===A.extension&&`${A.path.substring(0,A.path.lastIndexOf(".excalidraw"))}.md`===n.file.path)){if(n.semaphores.preventReload)return void(n.semaphores.preventReload=!1);if(n.lastSaveTimestamp+3e5{if(!(A instanceof obsidian.TFile))return;const t=this.excalidrawFiles.has(A);if(this.updateFileCache(A,void 0,!0),!t)return;const n=app.workspace.getLeavesOfType("excalidraw");for(let e=0;e{[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const t=getIMGFilename(A.path,e),n=app.vault.getAbstractFileByPath(obsidian.normalizePath(t));n&&n instanceof obsidian.TFile&&await app.vault.delete(n)}))}),500)}))),e.registerEvent(app.workspace.on("active-leaf-change",(async A=>{var t;e.leafChangeTimeout&&clearTimeout(e.leafChangeTimeout),e.leafChangeTimeout=setTimeout((()=>{e.leafChangeTimeout=null}),1e3);const n=e.activeExcalidrawView,i=A.view instanceof ExcalidrawView?A.view:null; + */chroma$1.exports=function(){for(var e=function(e,A,t){return void 0===A&&(A=0),void 0===t&&(t=1),et?t:e},A=e,t={},n=0,i=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];n255)&&(e._clipped=!0),e[t]=A(e[t],0,255)):3===t&&(e[t]=A(e[t],0,1));return e},limit:e,type:r,unpack:function(e,A){return void 0===A&&(A=null),e.length>=3?Array.prototype.slice.call(e):"object"==s(e[0])&&A?A.split("").filter((function(A){return void 0!==e[0][A]})).map((function(A){return e[0][A]})):e[0]},last:function(e){if(e.length<2)return null;var A=e.length-1;return"string"==o(e[A])?e[A].toLowerCase():null},PI:l,TWOPI:2*l,PITHIRD:l/3,DEG2RAD:l/180,RAD2DEG:180/l},d={format:{},autodetect:[]},h=c.last,u=c.clip_rgb,g=c.type,p=d,w=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=this;if("object"===g(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];var n=h(e),i=!1;if(!n){i=!0,p.sorted||(p.autodetect=p.autodetect.sort((function(e,A){return A.p-e.p})),p.sorted=!0);for(var a=0,r=p.autodetect;a4?e[4]:1;return 1===a?[0,0,0,r]:[t>=1?0:255*(1-t)*(1-a),n>=1?0:255*(1-n)*(1-a),i>=1?0:255*(1-i)*(1-a),r]},F=B,x=m,Q=d,S=c.unpack,T=c.type,U=C;x.prototype.cmyk=function(){return U(this._rgb)},F.cmyk=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(x,[null].concat(e,["cmyk"])))},Q.format.cmyk=y,Q.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=S(e,"cmyk"),"array"===T(e)&&4===e.length)return"cmyk"}});var I=c.unpack,k=c.last,M=function(e){return Math.round(100*e)/100},L=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=I(e,"hsla"),n=k(e)||"lsa";return t[0]=M(t[0]||0),t[1]=M(100*t[1])+"%",t[2]=M(100*t[2])+"%","hsla"===n||t.length>3&&t[3]<1?(t[3]=t.length>3?t[3]:1,n="hsla"):t.length=3,n+"("+t.join(",")+")"},O=c.unpack,N=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=O(e,"rgba"))[0],n=e[1],i=e[2];t/=255,n/=255,i/=255;var a,r,s=Math.min(t,n,i),o=Math.max(t,n,i),l=(o+s)/2;return o===s?(a=0,r=Number.NaN):a=l<.5?(o-s)/(o+s):(o-s)/(2-o-s),t==o?r=(n-i)/(o-s):n==o?r=2+(i-t)/(o-s):i==o&&(r=4+(t-n)/(o-s)),(r*=60)<0&&(r+=360),e.length>3&&void 0!==e[3]?[r,a,l,e[3]]:[r,a,l]},H=c.unpack,D=c.last,R=L,P=N,V=Math.round,K=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=H(e,"rgba"),n=D(e)||"rgb";return"hsl"==n.substr(0,3)?R(P(t),n):(t[0]=V(t[0]),t[1]=V(t[1]),t[2]=V(t[2]),("rgba"===n||t.length>3&&t[3]<1)&&(t[3]=t.length>3?t[3]:1,n="rgba"),n+"("+t.slice(0,"rgb"===n?3:4).join(",")+")")},G=c.unpack,W=Math.round,z=function(){for(var e,A=[],t=arguments.length;t--;)A[t]=arguments[t];var n,i,a,r=(A=G(A,"hsl"))[0],s=A[1],o=A[2];if(0===s)n=i=a=255*o;else{var l=[0,0,0],c=[0,0,0],d=o<.5?o*(1+s):o+s-o*s,h=2*o-d,u=r/360;l[0]=u+1/3,l[1]=u,l[2]=u-1/3;for(var g=0;g<3;g++)l[g]<0&&(l[g]+=1),l[g]>1&&(l[g]-=1),6*l[g]<1?c[g]=h+6*(d-h)*l[g]:2*l[g]<1?c[g]=d:3*l[g]<2?c[g]=h+(d-h)*(2/3-l[g])*6:c[g]=h;n=(e=[W(255*c[0]),W(255*c[1]),W(255*c[2])])[0],i=e[1],a=e[2]}return A.length>3?[n,i,a,A[3]]:[n,i,a,1]},X=z,Y=d,j=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,J=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Z=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,q=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,_=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,$=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ee=Math.round,Ae=function(e){var A;if(e=e.toLowerCase().trim(),Y.format.named)try{return Y.format.named(e)}catch(e){}if(A=e.match(j)){for(var t=A.slice(1,4),n=0;n<3;n++)t[n]=+t[n];return t[3]=1,t}if(A=e.match(J)){for(var i=A.slice(1,5),a=0;a<4;a++)i[a]=+i[a];return i}if(A=e.match(Z)){for(var r=A.slice(1,4),s=0;s<3;s++)r[s]=ee(2.55*r[s]);return r[3]=1,r}if(A=e.match(q)){for(var o=A.slice(1,5),l=0;l<3;l++)o[l]=ee(2.55*o[l]);return o[3]=+o[3],o}if(A=e.match(_)){var c=A.slice(1,4);c[1]*=.01,c[2]*=.01;var d=X(c);return d[3]=1,d}if(A=e.match($)){var h=A.slice(1,4);h[1]*=.01,h[2]*=.01;var u=X(h);return u[3]=+A[4],u}};Ae.test=function(e){return j.test(e)||J.test(e)||Z.test(e)||q.test(e)||_.test(e)||$.test(e)};var te=B,ne=m,ie=d,ae=c.type,re=K,se=Ae;ne.prototype.css=function(e){return re(this._rgb,e)},te.css=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ne,[null].concat(e,["css"])))},ie.format.css=se,ie.autodetect.push({p:5,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===ae(e)&&se.test(e))return"css"}});var oe=m,le=B,ce=c.unpack;d.format.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=ce(e,"rgba");return t[0]*=255,t[1]*=255,t[2]*=255,t},le.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(oe,[null].concat(e,["gl"])))},oe.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]};var de=c.unpack,he=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n=de(e,"rgb"),i=n[0],a=n[1],r=n[2],s=Math.min(i,a,r),o=Math.max(i,a,r),l=o-s,c=100*l/255,d=s/(255-l)*100;return 0===l?t=Number.NaN:(i===o&&(t=(a-r)/l),a===o&&(t=2+(r-i)/l),r===o&&(t=4+(i-a)/l),(t*=60)<0&&(t+=360)),[t,c,d]},ue=c.unpack,ge=Math.floor,pe=function(){for(var e,A,t,n,i,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=ue(r,"hcg"))[0],h=r[1],u=r[2];u*=255;var g=255*h;if(0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var p=ge(d/=60),w=d-p,m=u*(1-h),f=m+g*(1-w),B=m+g*w,E=m+g;switch(p){case 0:o=(e=[E,B,m])[0],l=e[1],c=e[2];break;case 1:o=(A=[f,E,m])[0],l=A[1],c=A[2];break;case 2:o=(t=[m,E,B])[0],l=t[1],c=t[2];break;case 3:o=(n=[m,f,E])[0],l=n[1],c=n[2];break;case 4:o=(i=[B,m,E])[0],l=i[1],c=i[2];break;case 5:o=(a=[E,m,f])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},we=c.unpack,me=c.type,fe=B,Be=m,Ee=d,be=he;Be.prototype.hcg=function(){return be(this._rgb)},fe.hcg=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Be,[null].concat(e,["hcg"])))},Ee.format.hcg=pe,Ee.autodetect.push({p:1,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=we(e,"hcg"),"array"===me(e)&&3===e.length)return"hcg"}});var Ce=c.unpack,ve=c.last,ye=Math.round,Fe=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Ce(e,"rgba"),n=t[0],i=t[1],a=t[2],r=t[3],s=ve(e)||"auto";void 0===r&&(r=1),"auto"===s&&(s=r<1?"rgba":"rgb");var o="000000"+((n=ye(n))<<16|(i=ye(i))<<8|(a=ye(a))).toString(16);o=o.substr(o.length-6);var l="0"+ye(255*r).toString(16);switch(l=l.substr(l.length-2),s.toLowerCase()){case"rgba":return"#"+o+l;case"argb":return"#"+l+o;default:return"#"+o}},xe=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Qe=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Se=function(e){if(e.match(xe)){4!==e.length&&7!==e.length||(e=e.substr(1)),3===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var A=parseInt(e,16);return[A>>16,A>>8&255,255&A,1]}if(e.match(Qe)){5!==e.length&&9!==e.length||(e=e.substr(1)),4===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);var t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100]}throw new Error("unknown hex color: "+e)},Te=B,Ue=m,Ie=c.type,ke=d,Me=Fe;Ue.prototype.hex=function(e){return Me(this._rgb,e)},Te.hex=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ue,[null].concat(e,["hex"])))},ke.format.hex=Se,ke.autodetect.push({p:4,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===Ie(e)&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return"hex"}});var Le=c.unpack,Oe=c.TWOPI,Ne=Math.min,He=Math.sqrt,De=Math.acos,Re=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n=Le(e,"rgb"),i=n[0],a=n[1],r=n[2],s=Ne(i/=255,a/=255,r/=255),o=(i+a+r)/3,l=o>0?1-s/o:0;return 0===l?t=NaN:(t=(i-a+(i-r))/2,t/=He((i-a)*(i-a)+(i-r)*(a-r)),t=De(t),r>a&&(t=Oe-t),t/=Oe),[360*t,l,o]},Pe=c.unpack,Ve=c.limit,Ke=c.TWOPI,Ge=c.PITHIRD,We=Math.cos,ze=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n,i,a=(e=Pe(e,"hsi"))[0],r=e[1],s=e[2];return isNaN(a)&&(a=0),isNaN(r)&&(r=0),a>360&&(a-=360),a<0&&(a+=360),(a/=360)<1/3?n=1-((i=(1-r)/3)+(t=(1+r*We(Ke*a)/We(Ge-Ke*a))/3)):a<2/3?i=1-((t=(1-r)/3)+(n=(1+r*We(Ke*(a-=1/3))/We(Ge-Ke*a))/3)):t=1-((n=(1-r)/3)+(i=(1+r*We(Ke*(a-=2/3))/We(Ge-Ke*a))/3)),[255*(t=Ve(s*t*3)),255*(n=Ve(s*n*3)),255*(i=Ve(s*i*3)),e.length>3?e[3]:1]},Xe=c.unpack,Ye=c.type,je=B,Je=m,Ze=d,qe=Re;Je.prototype.hsi=function(){return qe(this._rgb)},je.hsi=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Je,[null].concat(e,["hsi"])))},Ze.format.hsi=ze,Ze.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=Xe(e,"hsi"),"array"===Ye(e)&&3===e.length)return"hsi"}});var _e=c.unpack,$e=c.type,eA=B,AA=m,tA=d,nA=N;AA.prototype.hsl=function(){return nA(this._rgb)},eA.hsl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(AA,[null].concat(e,["hsl"])))},tA.format.hsl=z,tA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_e(e,"hsl"),"array"===$e(e)&&3===e.length)return"hsl"}});var iA=c.unpack,aA=Math.min,rA=Math.max,sA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n,i,a=(e=iA(e,"rgb"))[0],r=e[1],s=e[2],o=aA(a,r,s),l=rA(a,r,s),c=l-o;return i=l/255,0===l?(t=Number.NaN,n=0):(n=c/l,a===l&&(t=(r-s)/c),r===l&&(t=2+(s-a)/c),s===l&&(t=4+(a-r)/c),(t*=60)<0&&(t+=360)),[t,n,i]},oA=c.unpack,lA=Math.floor,cA=function(){for(var e,A,t,n,i,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=oA(r,"hsv"))[0],h=r[1],u=r[2];if(u*=255,0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var g=lA(d/=60),p=d-g,w=u*(1-h),m=u*(1-h*p),f=u*(1-h*(1-p));switch(g){case 0:o=(e=[u,f,w])[0],l=e[1],c=e[2];break;case 1:o=(A=[m,u,w])[0],l=A[1],c=A[2];break;case 2:o=(t=[w,u,f])[0],l=t[1],c=t[2];break;case 3:o=(n=[w,m,u])[0],l=n[1],c=n[2];break;case 4:o=(i=[f,w,u])[0],l=i[1],c=i[2];break;case 5:o=(a=[u,w,m])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},dA=c.unpack,hA=c.type,uA=B,gA=m,pA=d,wA=sA;gA.prototype.hsv=function(){return wA(this._rgb)},uA.hsv=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(gA,[null].concat(e,["hsv"])))},pA.format.hsv=cA,pA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=dA(e,"hsv"),"array"===hA(e)&&3===e.length)return"hsv"}});var mA={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},fA=mA,BA=c.unpack,EA=Math.pow,bA=function(e){return(e/=255)<=.04045?e/12.92:EA((e+.055)/1.055,2.4)},CA=function(e){return e>fA.t3?EA(e,1/3):e/fA.t2+fA.t0},vA=function(e,A,t){return e=bA(e),A=bA(A),t=bA(t),[CA((.4124564*e+.3575761*A+.1804375*t)/fA.Xn),CA((.2126729*e+.7151522*A+.072175*t)/fA.Yn),CA((.0193339*e+.119192*A+.9503041*t)/fA.Zn)]},yA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=BA(e,"rgb"),n=t[0],i=t[1],a=t[2],r=vA(n,i,a),s=r[0],o=r[1],l=116*o-16;return[l<0?0:l,500*(s-o),200*(o-r[2])]},FA=mA,xA=c.unpack,QA=Math.pow,SA=function(e){return 255*(e<=.00304?12.92*e:1.055*QA(e,1/2.4)-.055)},TA=function(e){return e>FA.t1?e*e*e:FA.t2*(e-FA.t0)},UA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,n,i,a=(e=xA(e,"lab"))[0],r=e[1],s=e[2];return n=(a+16)/116,t=isNaN(r)?n:n+r/500,i=isNaN(s)?n:n-s/200,n=FA.Yn*TA(n),t=FA.Xn*TA(t),i=FA.Zn*TA(i),[SA(3.2404542*t-1.5371385*n-.4985314*i),SA(-.969266*t+1.8760108*n+.041556*i),SA(.0556434*t-.2040259*n+1.0572252*i),e.length>3?e[3]:1]},IA=c.unpack,kA=c.type,MA=B,LA=m,OA=d,NA=yA;LA.prototype.lab=function(){return NA(this._rgb)},MA.lab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(LA,[null].concat(e,["lab"])))},OA.format.lab=UA,OA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=IA(e,"lab"),"array"===kA(e)&&3===e.length)return"lab"}});var HA=c.unpack,DA=c.RAD2DEG,RA=Math.sqrt,PA=Math.atan2,VA=Math.round,KA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=HA(e,"lab"),n=t[0],i=t[1],a=t[2],r=RA(i*i+a*a),s=(PA(a,i)*DA+360)%360;return 0===VA(1e4*r)&&(s=Number.NaN),[n,r,s]},GA=c.unpack,WA=yA,zA=KA,XA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=GA(e,"rgb"),n=t[0],i=t[1],a=t[2],r=WA(n,i,a),s=r[0],o=r[1],l=r[2];return zA(s,o,l)},YA=c.unpack,jA=c.DEG2RAD,JA=Math.sin,ZA=Math.cos,qA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=YA(e,"lch"),n=t[0],i=t[1],a=t[2];return isNaN(a)&&(a=0),[n,ZA(a*=jA)*i,JA(a)*i]},_A=c.unpack,$A=qA,et=UA,At=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=_A(e,"lch"))[0],n=e[1],i=e[2],a=$A(t,n,i),r=a[0],s=a[1],o=a[2],l=et(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},tt=c.unpack,nt=At,it=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=tt(e,"hcl").reverse();return nt.apply(void 0,t)},at=c.unpack,rt=c.type,st=B,ot=m,lt=d,ct=XA;ot.prototype.lch=function(){return ct(this._rgb)},ot.prototype.hcl=function(){return ct(this._rgb).reverse()},st.lch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["lch"])))},st.hcl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["hcl"])))},lt.format.lch=At,lt.format.hcl=it,["lch","hcl"].forEach((function(e){return lt.autodetect.push({p:2,test:function(){for(var A=[],t=arguments.length;t--;)A[t]=arguments[t];if(A=at(A,e),"array"===rt(A)&&3===A.length)return e}})}));var dt={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},ht=d,ut=c.type,gt=dt,pt=Se,wt=Fe;m.prototype.name=function(){for(var e=wt(this._rgb,"rgb"),A=0,t=Object.keys(gt);A0;)A[t]=arguments[t+1];if(!A.length&&"string"===ut(e)&>[e.toLowerCase()])return"named"}});var mt=c.unpack,ft=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=mt(e,"rgb");return(t[0]<<16)+(t[1]<<8)+t[2]},Bt=c.type,Et=function(e){if("number"==Bt(e)&&e>=0&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)},bt=B,Ct=m,vt=d,yt=c.type,Ft=ft;Ct.prototype.num=function(){return Ft(this._rgb)},bt.num=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ct,[null].concat(e,["num"])))},vt.format.num=Et,vt.autodetect.push({p:5,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(1===e.length&&"number"===yt(e[0])&&e[0]>=0&&e[0]<=16777215)return"num"}});var xt=B,Qt=m,St=d,Tt=c.unpack,Ut=c.type,It=Math.round;Qt.prototype.rgb=function(e){return void 0===e&&(e=!0),!1===e?this._rgb.slice(0,3):this._rgb.slice(0,3).map(It)},Qt.prototype.rgba=function(e){return void 0===e&&(e=!0),this._rgb.slice(0,4).map((function(A,t){return t<3?!1===e?A:It(A):A}))},xt.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Qt,[null].concat(e,["rgb"])))},St.format.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Tt(e,"rgba");return void 0===t[3]&&(t[3]=1),t},St.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=Tt(e,"rgba"),"array"===Ut(e)&&(3===e.length||4===e.length&&"number"==Ut(e[3])&&e[3]>=0&&e[3]<=1))return"rgb"}});var kt=Math.log,Mt=function(e){var A,t,n,i=e/100;return i<66?(A=255,t=i<6?0:-155.25485562709179-.44596950469579133*(t=i-2)+104.49216199393888*kt(t),n=i<20?0:.8274096064007395*(n=i-10)-254.76935184120902+115.67994401066147*kt(n)):(A=351.97690566805693+.114206453784165*(A=i-55)-40.25366309332127*kt(A),t=325.4494125711974+.07943456536662342*(t=i-50)-28.0852963507957*kt(t),n=255),[A,t,n,1]},Lt=Mt,Ot=c.unpack,Nt=Math.round,Ht=B,Dt=m,Rt=d,Pt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];for(var t,n=Ot(e,"rgb"),i=n[0],a=n[2],r=1e3,s=4e4,o=.4;s-r>o;){var l=Lt(t=.5*(s+r));l[2]/l[0]>=a/i?s=t:r=t}return Nt(t)};Dt.prototype.temp=Dt.prototype.kelvin=Dt.prototype.temperature=function(){return Pt(this._rgb)},Ht.temp=Ht.kelvin=Ht.temperature=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Dt,[null].concat(e,["temp"])))},Rt.format.temp=Rt.format.kelvin=Rt.format.temperature=Mt;var Vt=c.unpack,Kt=Math.cbrt,Gt=Math.pow,Wt=Math.sign,zt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Vt(e,"rgb"),n=t[0],i=t[1],a=t[2],r=[Xt(n/255),Xt(i/255),Xt(a/255)],s=r[0],o=r[1],l=r[2],c=Kt(.4122214708*s+.5363325363*o+.0514459929*l),d=Kt(.2119034982*s+.6806995451*o+.1073969566*l),h=Kt(.0883024619*s+.2817188376*o+.6299787005*l);return[.2104542553*c+.793617785*d-.0040720468*h,1.9779984951*c-2.428592205*d+.4505937099*h,.0259040371*c+.7827717662*d-.808675766*h]};function Xt(e){var A=Math.abs(e);return A<.04045?e/12.92:(Wt(e)||1)*Gt((A+.055)/1.055,2.4)}var Yt=c.unpack,jt=Math.pow,Jt=Math.sign,Zt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=Yt(e,"lab"))[0],n=e[1],i=e[2],a=jt(t+.3963377774*n+.2158037573*i,3),r=jt(t-.1055613458*n-.0638541728*i,3),s=jt(t-.0894841775*n-1.291485548*i,3);return[255*qt(4.0767416621*a-3.3077115913*r+.2309699292*s),255*qt(-1.2684380046*a+2.6097574011*r-.3413193965*s),255*qt(-.0041960863*a-.7034186147*r+1.707614701*s),e.length>3?e[3]:1]};function qt(e){var A=Math.abs(e);return A>.0031308?(Jt(e)||1)*(1.055*jt(A,1/2.4)-.055):12.92*e}var _t=c.unpack,$t=c.type,en=B,An=m,tn=d,nn=zt;An.prototype.oklab=function(){return nn(this._rgb)},en.oklab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(An,[null].concat(e,["oklab"])))},tn.format.oklab=Zt,tn.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_t(e,"oklab"),"array"===$t(e)&&3===e.length)return"oklab"}});var an=c.unpack,rn=zt,sn=KA,on=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=an(e,"rgb"),n=t[0],i=t[1],a=t[2],r=rn(n,i,a),s=r[0],o=r[1],l=r[2];return sn(s,o,l)},ln=c.unpack,cn=qA,dn=Zt,hn=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=ln(e,"lch"))[0],n=e[1],i=e[2],a=cn(t,n,i),r=a[0],s=a[1],o=a[2],l=dn(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},un=c.unpack,gn=c.type,pn=B,wn=m,mn=d,fn=on;wn.prototype.oklch=function(){return fn(this._rgb)},pn.oklch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(wn,[null].concat(e,["oklch"])))},mn.format.oklch=hn,mn.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=un(e,"oklch"),"array"===gn(e)&&3===e.length)return"oklch"}});var Bn=m,En=c.type;Bn.prototype.alpha=function(e,A){return void 0===A&&(A=!1),void 0!==e&&"number"===En(e)?A?(this._rgb[3]=e,this):new Bn([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},m.prototype.clipped=function(){return this._rgb._clipped||!1};var bn=m,Cn=mA;bn.prototype.darken=function(e){void 0===e&&(e=1);var A=this.lab();return A[0]-=Cn.Kn*e,new bn(A,"lab").alpha(this.alpha(),!0)},bn.prototype.brighten=function(e){return void 0===e&&(e=1),this.darken(-e)},bn.prototype.darker=bn.prototype.darken,bn.prototype.brighter=bn.prototype.brighten,m.prototype.get=function(e){var A=e.split("."),t=A[0],n=A[1],i=this[t]();if(n){var a=t.indexOf(n)-("ok"===t.substr(0,2)?2:0);if(a>-1)return i[a];throw new Error("unknown channel "+n+" in mode "+t)}return i};var vn=m,yn=c.type,Fn=Math.pow;vn.prototype.luminance=function(e){if(void 0!==e&&"number"===yn(e)){if(0===e)return new vn([0,0,0,this._rgb[3]],"rgb");if(1===e)return new vn([255,255,255,this._rgb[3]],"rgb");var A=this.luminance(),t=20,n=function(A,i){var a=A.interpolate(i,.5,"rgb"),r=a.luminance();return Math.abs(e-r)<1e-7||!t--?a:r>e?n(A,a):n(a,i)},i=(A>e?n(new vn([0,0,0]),this):n(this,new vn([255,255,255]))).rgb();return new vn(i.concat([this._rgb[3]]))}return xn.apply(void 0,this._rgb.slice(0,3))};var xn=function(e,A,t){return.2126*(e=Qn(e))+.7152*(A=Qn(A))+.0722*Qn(t)},Qn=function(e){return(e/=255)<=.03928?e/12.92:Fn((e+.055)/1.055,2.4)},Sn={},Tn=m,Un=c.type,In=Sn,kn=function(e,A,t){void 0===t&&(t=.5);for(var n=[],i=arguments.length-3;i-- >0;)n[i]=arguments[i+3];var a=n[0]||"lrgb";if(In[a]||n.length||(a=Object.keys(In)[0]),!In[a])throw new Error("interpolation mode "+a+" is not defined");return"object"!==Un(e)&&(e=new Tn(e)),"object"!==Un(A)&&(A=new Tn(A)),In[a](e,A,t).alpha(e.alpha()+t*(A.alpha()-e.alpha()))},Mn=m,Ln=kn;Mn.prototype.mix=Mn.prototype.interpolate=function(e,A){void 0===A&&(A=.5);for(var t=[],n=arguments.length-2;n-- >0;)t[n]=arguments[n+2];return Ln.apply(void 0,[this,e,A].concat(t))};var On=m;On.prototype.premultiply=function(e){void 0===e&&(e=!1);var A=this._rgb,t=A[3];return e?(this._rgb=[A[0]*t,A[1]*t,A[2]*t,t],this):new On([A[0]*t,A[1]*t,A[2]*t,t],"rgb")};var Nn=m,Hn=mA;Nn.prototype.saturate=function(e){void 0===e&&(e=1);var A=this.lch();return A[1]+=Hn.Kn*e,A[1]<0&&(A[1]=0),new Nn(A,"lch").alpha(this.alpha(),!0)},Nn.prototype.desaturate=function(e){return void 0===e&&(e=1),this.saturate(-e)};var Dn=m,Rn=c.type;Dn.prototype.set=function(e,A,t){void 0===t&&(t=!1);var n=e.split("."),i=n[0],a=n[1],r=this[i]();if(a){var s=i.indexOf(a)-("ok"===i.substr(0,2)?2:0);if(s>-1){if("string"==Rn(A))switch(A.charAt(0)){case"+":case"-":r[s]+=+A;break;case"*":r[s]*=+A.substr(1);break;case"/":r[s]/=+A.substr(1);break;default:r[s]=+A}else{if("number"!==Rn(A))throw new Error("unsupported value for Color.set");r[s]=A}var o=new Dn(r,i);return t?(this._rgb=o._rgb,this):o}throw new Error("unknown channel "+a+" in mode "+i)}return r};var Pn=m;Sn.rgb=function(e,A,t){var n=e._rgb,i=A._rgb;return new Pn(n[0]+t*(i[0]-n[0]),n[1]+t*(i[1]-n[1]),n[2]+t*(i[2]-n[2]),"rgb")};var Vn=m,Kn=Math.sqrt,Gn=Math.pow;Sn.lrgb=function(e,A,t){var n=e._rgb,i=n[0],a=n[1],r=n[2],s=A._rgb,o=s[0],l=s[1],c=s[2];return new Vn(Kn(Gn(i,2)*(1-t)+Gn(o,2)*t),Kn(Gn(a,2)*(1-t)+Gn(l,2)*t),Kn(Gn(r,2)*(1-t)+Gn(c,2)*t),"rgb")};var Wn=m;Sn.lab=function(e,A,t){var n=e.lab(),i=A.lab();return new Wn(n[0]+t*(i[0]-n[0]),n[1]+t*(i[1]-n[1]),n[2]+t*(i[2]-n[2]),"lab")};var zn=m,Xn=function(e,A,t,n){var i,a,r,s,o,l,c,d,h,u,g,p,w;return"hsl"===n?(r=e.hsl(),s=A.hsl()):"hsv"===n?(r=e.hsv(),s=A.hsv()):"hcg"===n?(r=e.hcg(),s=A.hcg()):"hsi"===n?(r=e.hsi(),s=A.hsi()):"lch"===n||"hcl"===n?(n="hcl",r=e.hcl(),s=A.hcl()):"oklch"===n&&(r=e.oklch().reverse(),s=A.oklch().reverse()),"h"!==n.substr(0,1)&&"oklch"!==n||(o=(i=r)[0],c=i[1],h=i[2],l=(a=s)[0],d=a[1],u=a[2]),isNaN(o)||isNaN(l)?isNaN(o)?isNaN(l)?p=Number.NaN:(p=l,1!=h&&0!=h||"hsv"==n||(g=d)):(p=o,1!=u&&0!=u||"hsv"==n||(g=c)):p=o+t*(l>o&&l-o>180?l-(o+360):l180?l+360-o:l-o),void 0===g&&(g=c+t*(d-c)),w=h+t*(u-h),new zn("oklch"===n?[w,g,p]:[p,g,w],n)},Yn=Xn,jn=function(e,A,t){return Yn(e,A,t,"lch")};Sn.lch=jn,Sn.hcl=jn;var Jn=m;Sn.num=function(e,A,t){var n=e.num(),i=A.num();return new Jn(n+t*(i-n),"num")};var Zn=Xn;Sn.hcg=function(e,A,t){return Zn(e,A,t,"hcg")};var qn=Xn;Sn.hsi=function(e,A,t){return qn(e,A,t,"hsi")};var _n=Xn;Sn.hsl=function(e,A,t){return _n(e,A,t,"hsl")};var $n=Xn;Sn.hsv=function(e,A,t){return $n(e,A,t,"hsv")};var ei=m;Sn.oklab=function(e,A,t){var n=e.oklab(),i=A.oklab();return new ei(n[0]+t*(i[0]-n[0]),n[1]+t*(i[1]-n[1]),n[2]+t*(i[2]-n[2]),"oklab")};var Ai=Xn;Sn.oklch=function(e,A,t){return Ai(e,A,t,"oklch")};var ti=m,ni=c.clip_rgb,ii=Math.pow,ai=Math.sqrt,ri=Math.PI,si=Math.cos,oi=Math.sin,li=Math.atan2,ci=function(e,A){for(var t=e.length,n=[0,0,0,0],i=0;i.9999999&&(n[3]=1),new ti(ni(n))},di=B,hi=c.type,ui=Math.pow,gi=function(e){var A="rgb",t=di("#ccc"),n=0,i=[0,1],a=[],r=[0,0],s=!1,o=[],l=!1,c=0,d=1,h=!1,u={},g=!0,p=1,w=function(e){if((e=e||["#fff","#000"])&&"string"===hi(e)&&di.brewer&&di.brewer[e.toLowerCase()]&&(e=di.brewer[e.toLowerCase()]),"array"===hi(e)){1===e.length&&(e=[e[0],e[0]]),e=e.slice(0);for(var A=0;A2?function(e){if(null!=s){for(var A=s.length-1,t=0;t=s[t];)t++;return t-1}return 0}(e)/(s.length-2):d!==c?(e-c)/(d-c):1,l=f(l),n||(l=m(l)),1!==p&&(l=ui(l,p)),l=r[0]+l*(1-r[0]-r[1]),l=Math.min(1,Math.max(0,l));var h=Math.floor(1e4*l);if(g&&u[h])i=u[h];else{if("array"===hi(o))for(var w=0;w=B&&w===a.length-1){i=o[w];break}if(l>B&&l2){var l=e.map((function(A,t){return t/(e.length-1)})),h=e.map((function(e){return(e-c)/(d-c)}));h.every((function(e,A){return l[A]===e}))||(f=function(e){if(e<=0||e>=1)return e;for(var A=0;e>=h[A+1];)A++;var t=(e-h[A])/(h[A+1]-h[A]);return l[A]+t*(l[A+1]-l[A])})}}return i=[c,d],b},b.mode=function(e){return arguments.length?(A=e,E(),b):A},b.range=function(e,A){return w(e),b},b.out=function(e){return l=e,b},b.spread=function(e){return arguments.length?(n=e,b):n},b.correctLightness=function(e){return null==e&&(e=!0),h=e,E(),m=h?function(e){for(var A=B(0,!0).lab()[0],t=B(1,!0).lab()[0],n=A>t,i=B(e,!0).lab()[0],a=A+(t-A)*e,r=i-a,s=0,o=1,l=20;Math.abs(r)>.01&&l-- >0;)n&&(r*=-1),r<0?(s=e,e+=.5*(o-e)):(o=e,e+=.5*(s-e)),r=(i=B(e,!0).lab()[0])-a;return e}:function(e){return e},b},b.padding=function(e){return null!=e?("number"===hi(e)&&(e=[e,e]),r=e,b):r},b.colors=function(A,t){arguments.length<2&&(t="hex");var n=[];if(0===arguments.length)n=o.slice(0);else if(1===A)n=[b(.5)];else if(A>1){var a=i[0],r=i[1]-a;n=pi(0,A,!1).map((function(e){return b(a+e/(A-1)*r)}))}else{e=[];var l=[];if(s&&s.length>2)for(var c=1,d=s.length,h=1<=d;h?cd;h?c++:c--)l.push(.5*(s[c-1]+s[c]));else l=i;n=l.map((function(e){return b(e)}))}return di[t]&&(n=n.map((function(e){return e[t]()}))),n},b.cache=function(e){return null!=e?(g=e,b):g},b.gamma=function(e){return null!=e?(p=e,b):p},b.nodata=function(e){return null!=e?(t=di(e),b):t},b};function pi(e,A,t){for(var n=[],i=ea;i?r++:r--)n.push(r);return n}var wi=m,mi=gi,fi=B,Bi=function(e,A,t){if(!Bi[t])throw new Error("unknown blend mode "+t);return Bi[t](e,A)},Ei=function(e){return function(A,t){var n=fi(t).rgb(),i=fi(A).rgb();return fi.rgb(e(n,i))}},bi=function(e){return function(A,t){var n=[];return n[0]=e(A[0],t[0]),n[1]=e(A[1],t[1]),n[2]=e(A[2],t[2]),n}};Bi.normal=Ei(bi((function(e){return e}))),Bi.multiply=Ei(bi((function(e,A){return e*A/255}))),Bi.screen=Ei(bi((function(e,A){return 255*(1-(1-e/255)*(1-A/255))}))),Bi.overlay=Ei(bi((function(e,A){return A<128?2*e*A/255:255*(1-2*(1-e/255)*(1-A/255))}))),Bi.darken=Ei(bi((function(e,A){return e>A?A:e}))),Bi.lighten=Ei(bi((function(e,A){return e>A?e:A}))),Bi.dodge=Ei(bi((function(e,A){return 255===e||(e=A/255*255/(1-e/255))>255?255:e}))),Bi.burn=Ei(bi((function(e,A){return 255*(1-(1-A/255)/(e/255))})));for(var Ci=Bi,vi=c.type,yi=c.clip_rgb,Fi=c.TWOPI,xi=Math.pow,Qi=Math.sin,Si=Math.cos,Ti=B,Ui=m,Ii=Math.floor,ki=Math.random,Mi=r,Li=Math.log,Oi=Math.pow,Ni=Math.floor,Hi=Math.abs,Di=function(e,A){void 0===A&&(A=null);var t={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===Mi(e)&&(e=Object.values(e)),e.forEach((function(e){A&&"object"===Mi(e)&&(e=e[A]),null==e||isNaN(e)||(t.values.push(e),t.sum+=e,et.max&&(t.max=e),t.count+=1)})),t.domain=[t.min,t.max],t.limits=function(e,A){return Ri(t,e,A)},t},Ri=function(e,A,t){void 0===A&&(A="equal"),void 0===t&&(t=7),"array"==Mi(e)&&(e=Di(e));var n=e.min,i=e.max,a=e.values.sort((function(e,A){return e-A}));if(1===t)return[n,i];var r=[];if("c"===A.substr(0,1)&&(r.push(n),r.push(i)),"e"===A.substr(0,1)){r.push(n);for(var s=1;s 0");var o=Math.LOG10E*Li(n),l=Math.LOG10E*Li(i);r.push(n);for(var c=1;c200&&(B=!1)}for(var O={},N=0;N=360;)g-=360;r[u]=g}else r[u]=r[u]/s[u];return h/=n,new ti(r,A).alpha(h>.99999?1:h,!0)},la.bezier=function(e){var A=function(e){var A,t,n,i,a,r,s;if(e=e.map((function(e){return new wi(e)})),2===e.length)A=e.map((function(e){return e.lab()})),a=A[0],r=A[1],i=function(e){var A=[0,1,2].map((function(A){return a[A]+e*(r[A]-a[A])}));return new wi(A,"lab")};else if(3===e.length)t=e.map((function(e){return e.lab()})),a=t[0],r=t[1],s=t[2],i=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*a[A]+2*(1-e)*e*r[A]+e*e*s[A]}));return new wi(A,"lab")};else if(4===e.length){var o;n=e.map((function(e){return e.lab()})),a=n[0],r=n[1],s=n[2],o=n[3],i=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*(1-e)*a[A]+3*(1-e)*(1-e)*e*r[A]+3*(1-e)*e*e*s[A]+e*e*e*o[A]}));return new wi(A,"lab")}}else{if(!(e.length>=5))throw new RangeError("No point in running bezier with only one color.");var l,c,d;l=e.map((function(e){return e.lab()})),d=e.length-1,c=function(e){for(var A=[1,1],t=1;tn?(t+.05)/(n+.05):(n+.05)/(t+.05)},la.deltaE=function(e,A,t,n,i){void 0===t&&(t=1),void 0===n&&(n=1),void 0===i&&(i=1);var a=function(e){return 360*e/(2*_i)},r=function(e){return 2*_i*e/360};e=new Ki(e),A=new Ki(A);var s=Array.from(e.lab()),o=s[0],l=s[1],c=s[2],d=Array.from(A.lab()),h=d[0],u=d[1],g=d[2],p=(o+h)/2,w=(Gi(Wi(l,2)+Wi(c,2))+Gi(Wi(u,2)+Wi(g,2)))/2,m=.5*(1-Gi(Wi(w,7)/(Wi(w,7)+Wi(25,7)))),f=l*(1+m),B=u*(1+m),E=Gi(Wi(f,2)+Wi(c,2)),b=Gi(Wi(B,2)+Wi(g,2)),C=(E+b)/2,v=a(Yi(c,f)),y=a(Yi(g,B)),F=v>=0?v:v+360,x=y>=0?y:y+360,Q=ji(F-x)>180?(F+x+360)/2:(F+x)/2,S=1-.17*Ji(r(Q-30))+.24*Ji(r(2*Q))+.32*Ji(r(3*Q+6))-.2*Ji(r(4*Q-63)),T=x-F;T=ji(T)<=180?T:x<=F?T+360:T-360,T=2*Gi(E*b)*Zi(r(T)/2);var U=h-o,I=b-E,k=1+.015*Wi(p-50,2)/Gi(20+Wi(p-50,2)),M=1+.045*C,L=1+.015*C*S,O=30*qi(-Wi((Q-275)/25,2)),N=-2*Gi(Wi(C,7)/(Wi(C,7)+Wi(25,7)))*Zi(2*r(O)),H=Gi(Wi(U/(t*k),2)+Wi(I/(n*M),2)+Wi(T/(i*L),2)+N*(I/(n*M))*(T/(i*L)));return Xi(0,zi(100,H))},la.distance=function(e,A,t){void 0===t&&(t="lab"),e=new $i(e),A=new $i(A);var n=e.get(t),i=A.get(t),a=0;for(var r in n){var s=(n[r]||0)-(i[r]||0);a+=s*s}return Math.sqrt(a)},la.limits=Pi.limits,la.valid=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];try{return new(Function.prototype.bind.apply(ea,[null].concat(e))),!0}catch(e){return!1}},la.scales=na,la.colors=dt,la.brewer=oa,la}();var chroma=chroma$1.exports;function hexWithAlpha(e,A){return chroma(e).alpha(A).css()}function has(e,A){return e.hasAttribute(A)}function get(e,A,t){return e.getAttribute(A)||t||""}function getNum(e,A,t){const n=Number(get(e,A));return NaN===n?t||0:n}const attrHandlers={stroke:({el:e,exVals:A})=>{const t=get(e,"stroke");A.strokeColor=has(e,"stroke-opacity")?hexWithAlpha(t,getNum(e,"stroke-opacity")):t},"stroke-opacity":({el:e,exVals:A})=>{A.strokeColor=hexWithAlpha(get(e,"stroke","#000000"),getNum(e,"stroke-opacity"))},"stroke-width":({el:e,exVals:A})=>{A.strokeWidth=getNum(e,"stroke-width")},fill:({el:e,exVals:A})=>{const t=get(e,"fill");A.backgroundColor="none"===t?"#00000000":t},"fill-opacity":({el:e,exVals:A})=>{A.backgroundColor=hexWithAlpha(get(e,"fill","#000000"),getNum(e,"fill-opacity"))},opacity:({el:e,exVals:A})=>{A.opacity=getNum(e,"opacity",100)}};function presAttrsToElementValues(e){return[...e.attributes].reduce(((A,t)=>{const n=t.name;return Object.keys(attrHandlers).includes(n)&&attrHandlers[n]({el:e,exVals:A}),A}),{})}function filterAttrsToElementValues(e){const A={};return has(e,"x")&&(A.x=getNum(e,"x")),has(e,"y")&&(A.y=getNum(e,"y")),has(e,"width")&&(A.width=getNum(e,"width")),has(e,"height")&&(A.height=getNum(e,"height")),A}function pointsAttrToPoints(e){let A=[];return has(e,"points")&&(A=get(e,"points").split(" ").map((e=>e.split(",").map(parseFloat)))),A}function getGroupAttrs(e){return e.reduce(((e,{element:A})=>{const t=presAttrsToElementValues(A);return Object.assign(Object.assign({},e),t)}),{})}class Group{constructor(e){this.id=randomId(),this.element=e}}function createExElement(){return{id:randomId(),x:0,y:0,strokeColor:"#000000",backgroundColor:"#000000",fillStyle:"solid",strokeWidth:1,strokeStyle:"solid",strokeSharpness:"sharp",roughness:0,opacity:100,width:0,height:0,angle:0,seed:Math.floor(random.next()*2**31),version:0,versionNonce:0,isDeleted:!1,groupIds:[],boundElementIds:null}}function createExRect(){return Object.assign(Object.assign({},createExElement()),{type:"rectangle"})}function createExLine(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}function createExEllipse(){return Object.assign(Object.assign({},createExElement()),{type:"ellipse"})}function createExDraw(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}const transformFunctions={matrix:"matrix",matrix3d:"matrix3d",perspective:"perspective",rotate:"rotate",rotate3d:"rotate3d",rotateX:"rotateX",rotateY:"rotateY",rotateZ:"rotateZ",scale:"scale",scale3d:"scale3d",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",skew:"skew",skewX:"skewX",skewY:"skewY",translate:"translate",translate3d:"translate3d",translateX:"translateX",translateY:"translateY",translateZ:"translateZ"},transformFunctionsArr=Object.keys(transformFunctions),defaultUnits={matrix:"",matrix3d:"",perspective:"perspective",rotate:"deg",rotate3d:"deg",rotateX:"deg",rotateY:"deg",rotateZ:"deg",scale:"",scale3d:"",scaleX:"",scaleY:"",scaleZ:"",skew:"skew",skewX:"deg",skewY:"deg",translate:"px",translate3d:"px",translateX:"px",translateY:"px",translateZ:"px"},svgTransformToCSSTransform=e=>{const A=e.match(/(\w+)\(([^)]*)\)/g);if(!A)return"";const t=A.map((e=>{const A=e.split("(")[0];if(!A)throw new Error("Unable to find transform name");if(!transformFunctionsArr.includes(A))throw new Error(`transform function name "${A}" is not valid`);const t=e.match(/([-+]?[0-9]*\.?[0-9]+)([a-z])*/g);if(!t)return{type:A,values:[]};let n=t.map((e=>{const[t,n]=e.matchAll(/([-+]?[0-9]*\.?[0-9]+)|([a-z])*/g);return{unit:n[0]||defaultUnits[A],value:t[0]}}));return n&&"rotate"===A&&(null==n?void 0:n.length)>1&&(n=[n[0]]),{type:A,values:n}}));return t.map((({type:e,values:A})=>`${e}(${A.map((({unit:e,value:A})=>`${A}${e}`)).join(", ")})`)).join(" ")};function getElementMatrix(e){if(e.hasAttribute("transform")){const A=new DOMMatrix(svgTransformToCSSTransform(e.getAttribute("transform")||""));return multiply(create$1(),create$1(),A.toFloat32Array())}return create$1()}function getTransformMatrix(e,A){return A.map((({element:e})=>getElementMatrix(e))).concat([getElementMatrix(e)]).reduce(((e,A)=>multiply(e,e,A)),create$1())}function transformPoints(e,A){return e.map((([e,t])=>{const[n,i]=transformMat4(create(),fromValues(e,t,1),A);return[n,i]}))}function distance(e,A){return Math.sqrt(distanceSq(e,A))}function distanceSq(e,A){return Math.pow(e[0]-A[0],2)+Math.pow(e[1]-A[1],2)}function distanceToSegmentSq(e,A,t){const n=distanceSq(A,t);if(0===n)return distanceSq(e,A);let i=((e[0]-A[0])*(t[0]-A[0])+(e[1]-A[1])*(t[1]-A[1]))/n;return i=Math.max(0,Math.min(1,i)),distanceSq(e,lerp(A,t,i))}function lerp(e,A,t){return[e[0]+(A[0]-e[0])*t,e[1]+(A[1]-e[1])*t]}function flatness(e,A){const t=e[A+0],n=e[A+1],i=e[A+2],a=e[A+3];let r=3*n[0]-2*t[0]-a[0];r*=r;let s=3*n[1]-2*t[1]-a[1];s*=s;let o=3*i[0]-2*a[0]-t[0];o*=o;let l=3*i[1]-2*a[1]-t[1];return l*=l,r1&&i.push(t):i.push(t),i.push(e[A+3])}else{const n=.5,a=e[A+0],r=e[A+1],s=e[A+2],o=e[A+3],l=lerp(a,r,n),c=lerp(r,s,n),d=lerp(s,o,n),h=lerp(l,c,n),u=lerp(c,d,n),g=lerp(h,u,n);getPointsOnBezierCurveWithSplitting([a,l,h,g],0,t,i),getPointsOnBezierCurveWithSplitting([g,u,d,o],0,t,i)}return i}function simplify(e,A){return simplifyPoints(e,0,e.length,A)}function simplifyPoints(e,A,t,n,i){const a=i||[],r=e[A],s=e[t-1];let o=0,l=1;for(let n=A+1;no&&(o=A,l=n)}return Math.sqrt(o)>n?(simplifyPoints(e,A,l+1,n,a),simplifyPoints(e,l,t,n,a)):(a.length||a.push(r),a.push(s)),a}function pointsOnBezierCurves(e,A=.15,t){const n=[],i=(e.length-1)/3;for(let t=0;t0?simplifyPoints(n,0,n.length,t):n}const COMMAND=0,NUMBER=1,EOD=2,PARAMS={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function tokenize(e){const A=new Array;for(;""!==e;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))A[A.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];A[A.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length)}return A[A.length]={type:2,text:""},A}function isType(e,A){return e.type===A}function parsePath(e){const A=[],t=tokenize(e);let n="BOD",i=0,a=t[i];for(;!isType(a,2);){let r=0;const s=[];if("BOD"===n){if("M"!==a.text&&"m"!==a.text)return parsePath("M0,0"+e);i++,r=PARAMS[a.text],n=a.text}else isType(a,1)?r=PARAMS[n]:(i++,r=PARAMS[a.text],n=a.text);if(!(i+rn%2?e+t:e+A));a.push({key:"C",data:e}),A=e[4],t=e[5];break}case"Q":a.push({key:"Q",data:[...s]}),A=s[2],t=s[3];break;case"q":{const e=s.map(((e,n)=>n%2?e+t:e+A));a.push({key:"Q",data:e}),A=e[2],t=e[3];break}case"A":a.push({key:"A",data:[...s]}),A=s[5],t=s[6];break;case"a":A+=s[5],t+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],A,t]});break;case"H":a.push({key:"H",data:[...s]}),A=s[0];break;case"h":A+=s[0],a.push({key:"H",data:[A]});break;case"V":a.push({key:"V",data:[...s]}),t=s[0];break;case"v":t+=s[0],a.push({key:"V",data:[t]});break;case"S":a.push({key:"S",data:[...s]}),A=s[2],t=s[3];break;case"s":{const e=s.map(((e,n)=>n%2?e+t:e+A));a.push({key:"S",data:e}),A=e[2],t=e[3];break}case"T":a.push({key:"T",data:[...s]}),A=s[0],t=s[1];break;case"t":A+=s[0],t+=s[1],a.push({key:"T",data:[A,t]});break;case"Z":case"z":a.push({key:"Z",data:[]}),A=n,t=i}return a}function normalize(e){const A=[];let t="",n=0,i=0,a=0,r=0,s=0,o=0;for(const{key:l,data:c}of e){switch(l){case"M":A.push({key:"M",data:[...c]}),[n,i]=c,[a,r]=c;break;case"C":A.push({key:"C",data:[...c]}),n=c[4],i=c[5],s=c[2],o=c[3];break;case"L":A.push({key:"L",data:[...c]}),[n,i]=c;break;case"H":n=c[0],A.push({key:"L",data:[n,i]});break;case"V":i=c[0],A.push({key:"L",data:[n,i]});break;case"S":{let e=0,a=0;"C"===t||"S"===t?(e=n+(n-s),a=i+(i-o)):(e=n,a=i),A.push({key:"C",data:[e,a,...c]}),s=c[0],o=c[1],n=c[2],i=c[3];break}case"T":{const[e,a]=c;let r=0,l=0;"Q"===t||"T"===t?(r=n+(n-s),l=i+(i-o)):(r=n,l=i);const d=n+2*(r-n)/3,h=i+2*(l-i)/3,u=e+2*(r-e)/3,g=a+2*(l-a)/3;A.push({key:"C",data:[d,h,u,g,e,a]}),s=r,o=l,n=e,i=a;break}case"Q":{const[e,t,a,r]=c,l=n+2*(e-n)/3,d=i+2*(t-i)/3,h=a+2*(e-a)/3,u=r+2*(t-r)/3;A.push({key:"C",data:[l,d,h,u,a,r]}),s=e,o=t,n=a,i=r;break}case"A":{const e=Math.abs(c[0]),t=Math.abs(c[1]),a=c[2],r=c[3],s=c[4],o=c[5],l=c[6];0===e||0===t?(A.push({key:"C",data:[n,i,o,l,o,l]}),n=o,i=l):n===o&&i===l||(arcToCubicCurves(n,i,o,l,e,t,a,r,s).forEach((function(e){A.push({key:"C",data:e})})),n=o,i=l);break}case"Z":A.push({key:"Z",data:[]}),n=a,i=r}t=l}return A}function degToRad(e){return Math.PI*e/180}function rotate(e,A,t){return[e*Math.cos(t)-A*Math.sin(t),e*Math.sin(t)+A*Math.cos(t)]}function arcToCubicCurves(e,A,t,n,i,a,r,s,o,l){const c=degToRad(r);let d=[],h=0,u=0,g=0,p=0;if(l)[h,u,g,p]=l;else{[e,A]=rotate(e,A,-c),[t,n]=rotate(t,n,-c);const r=(e-t)/2,l=(A-n)/2;let d=r*r/(i*i)+l*l/(a*a);d>1&&(d=Math.sqrt(d),i*=d,a*=d);const w=i*i,m=a*a,f=w*m-w*l*l-m*r*r,B=w*l*l+m*r*r,E=(s===o?-1:1)*Math.sqrt(Math.abs(f/B));g=E*i*l/a+(e+t)/2,p=E*-a*r/i+(A+n)/2,h=Math.asin(parseFloat(((A-p)/a).toFixed(9))),u=Math.asin(parseFloat(((n-p)/a).toFixed(9))),eu&&(h-=2*Math.PI),!o&&u>h&&(u-=2*Math.PI)}let w=u-h;if(Math.abs(w)>120*Math.PI/180){const e=u,A=t,s=n;u=o&&u>h?h+120*Math.PI/180*1:h+120*Math.PI/180*-1,d=arcToCubicCurves(t=g+i*Math.cos(u),n=p+a*Math.sin(u),A,s,i,a,r,0,o,[u,e,g,p])}w=u-h;const m=Math.cos(h),f=Math.sin(h),B=Math.cos(u),E=Math.sin(u),b=Math.tan(w/4),C=4/3*i*b,v=4/3*a*b,y=[e,A],F=[e+C*f,A-v*m],x=[t+C*E,n-v*B],Q=[t,n];if(F[0]=2*y[0]-F[0],F[1]=2*y[1]-F[1],l)return[F,x,Q].concat(d);{d=[F,x,Q].concat(d);const e=[];for(let A=0;A{s.length>=4&&a.push(...pointsOnBezierCurves(s,A)),s=[]},l=()=>{o(),a.length&&(i.push(a),a=[])};for(const{key:e,data:A}of n)switch(e){case"M":l(),r=[A[0],A[1]],a.push(r);break;case"L":o(),a.push([A[0],A[1]]);break;case"C":if(!s.length){const e=a.length?a[a.length-1]:r;s.push([e[0],e[1]])}s.push([A[0],A[1]]),s.push([A[2],A[3]]),s.push([A[4],A[5]]);break;case"Z":o(),a.push([r[0],r[1]])}if(l(),!t)return i;const c=[];for(const e of i){const A=simplify(e,t);A.length&&c.push(A)}return c}const SUPPORTED_TAGS=["svg","path","g","use","circle","ellipse","rect","polyline","polygon"],nodeValidator=e=>SUPPORTED_TAGS.includes(e.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;function createTreeWalker(e){return document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:nodeValidator})}const presAttrs=(e,A)=>Object.assign(Object.assign(Object.assign({},getGroupAttrs(A)),presAttrsToElementValues(e)),filterAttrsToElementValues(e)),skippedUseAttrs=["id"],allwaysPassedUseAttrs=["x","y","width","height","href","xlink:href"],getDefElWithCorrectAttrs=(e,A)=>[...A.attributes].reduce(((t,n)=>(skippedUseAttrs.includes(n.value)||e.hasAttribute(n.name)&&!allwaysPassedUseAttrs.includes(n.name)||t.setAttribute(n.name,A.getAttribute(n.name)||""),t)),e.cloneNode()),walkers={svg:e=>{walk(e,e.tw.nextNode())},g:e=>{const A=Object.assign(Object.assign({},e),{tw:createTreeWalker(e.tw.currentNode),groups:[...e.groups,new Group(e.tw.currentNode)]});walk(A,A.tw.nextNode()),walk(e,e.tw.nextSibling())},use:e=>{const{root:A,tw:t,scene:n}=e,i=t.currentNode,a=i.getAttribute("href")||i.getAttribute("xlink:href");if(!a)throw new Error("unable to get id of use element");const r=A.querySelector(a);if(!r)throw new Error(`unable to find def element with id: ${a}`);const s=new ExcalidrawScene,o=getDefElWithCorrectAttrs(r,i);walk(Object.assign(Object.assign({},e),{scene:s,tw:createTreeWalker(o)}),o);const l=s.elements.pop();l&&n.elements.push(l),walk(e,e.tw.nextNode())},circle:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getNum(i,"r",0),r=2*a,s=getNum(i,"x",0)+getNum(i,"cx",0)-a,o=getNum(i,"y",0)+getNum(i,"cy",0)-a,l=getTransformMatrix(i,n),c=fromValues$1(r,0,0,0,0,r,0,0,0,0,1,0,s,o,0,1),d=multiply(create$1(),l,c),h=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(i,n)),{x:d[12],y:d[13],width:d[0],height:d[5],groupIds:n.map((e=>e.id))});t.elements.push(h),walk(e,A.nextNode())},ellipse:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getNum(i,"rx",0),r=getNum(i,"ry",0),s=getNum(i,"cx",0),o=getNum(i,"cy",0),l=getNum(i,"x",0)+s-a,c=getNum(i,"y",0)+o-r,d=2*a,h=2*r,u=getTransformMatrix(i,n),g=fromValues$1(d,0,0,0,0,h,0,0,0,0,1,0,l,c,0,1),p=multiply(create$1(),u,g),w=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(i,n)),{x:p[12],y:p[13],width:p[0],height:p[5],groupIds:n.map((e=>e.id))});t.elements.push(w),walk(e,A.nextNode())},line:e=>{walk(e,e.tw.nextNode())},polygon:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=transformPoints(pointsAttrToPoints(i),getTransformMatrix(i,n)),r=a[0][0],s=a[0][1],o=a.map((([e,A])=>[e-r,A-s])),[l,c]=dimensionsFromPoints(o),d=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(n)),presAttrsToElementValues(i)),{points:o.concat([[0,0]]),x:r,y:s,width:l,height:c});t.elements.push(d),walk(e,e.tw.nextNode())},polyline:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getTransformMatrix(i,n),r=transformPoints(pointsAttrToPoints(i),a),s=r[0][0],o=r[0][1],l=r.map((([e,A])=>[e-s,A-o])),[c,d]=dimensionsFromPoints(l),h=has(i,"fill"),u=get(i,"fill"),g=!h||h&&"none"!==u,p=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(n)),presAttrsToElementValues(i)),{points:l.concat(g?[[0,0]]:[]),x:s,y:o,width:c,height:d});t.elements.push(p),walk(e,e.tw.nextNode())},rect:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getNum(i,"x",0),r=getNum(i,"y",0),s=getNum(i,"width",0),o=getNum(i,"height",0),l=getTransformMatrix(i,n),c=fromValues$1(s,0,0,0,0,o,0,0,0,0,1,0,a,r,0,1),d=multiply(create$1(),l,c),h=i.hasAttribute("rx")||i.hasAttribute("ry"),u=Object.assign(Object.assign(Object.assign({},createExRect()),presAttrs(i,n)),{x:d[12],y:d[13],width:d[0],height:d[5],strokeSharpness:h?"round":"sharp"});t.elements.push(u),walk(e,e.tw.nextNode())},path:e=>{const{tw:A,scene:t,groups:n}=e,i=A.currentNode,a=getTransformMatrix(i,n),r=pointsOnPath(get(i,"d")),s=get(i,"fill","black"),o=get(i,"fill-rule","nonzero");let l=[],c=randomId();switch(o){case"nonzero":let e="clockwise";l=r.map(((A,t)=>{const r=transformPoints(A,clone(a)),o=r[0][0],l=r[0][1],[d,h]=dimensionsFromPoints(r),u=r.map((([e,A])=>[e-o,A-l])),g=getWindingOrder(u);0===t&&(e=g,c=randomId());let p=s;return e!==g&&(p="#FFFFFF"),Object.assign(Object.assign(Object.assign(Object.assign({},createExDraw()),{strokeWidth:0,strokeColor:"#00000000"}),presAttrs(i,n)),{points:u,backgroundColor:p,width:d,height:h,x:o+getNum(i,"x",0),y:l+getNum(i,"y",0),groupIds:[c]})}));break;case"evenodd":l=r.map(((e,A)=>{const t=transformPoints(e,clone(a)),r=t[0][0],s=t[0][1],[o,l]=dimensionsFromPoints(t),d=t.map((([e,A])=>[e-r,A-s]));return 0===A&&(c=randomId()),Object.assign(Object.assign(Object.assign({},createExDraw()),presAttrs(i,n)),{points:d,width:o,height:l,x:r+getNum(i,"x",0),y:s+getNum(i,"y",0)})}))}t.elements=t.elements.concat(l),walk(e,A.nextNode())}};function walk(e,A){if(!A)return;const t=A.nodeName;walkers[t]&&walkers[t](e)}const svgToExcalidraw=e=>{const A=(new DOMParser).parseFromString(e,"image/svg+xml"),t=A.querySelectorAll("parsererror"),n=t.length>0;let i=null;if(n)console.error("There were errors while parsing the given SVG: ",[...t].map((e=>e.innerHTML)));else{const e=createTreeWalker(A),t=new ExcalidrawScene;walk({tw:e,scene:t,groups:[],root:A},e.nextNode()),i=t.elements}return{hasErrors:n,errors:n?t:null,content:i}};B([r$c,z,e$a,l$3,b$1,v,h$1,i$5,i$4,h,u,c$1,s]);const{determineFocusDistance:determineFocusDistance,intersectElementWithLine:intersectElementWithLine,getCommonBoundingBox:getCommonBoundingBox,getMaximumGroups:getMaximumGroups,measureText:measureText}=excalidrawLib,GAP=4;class ExcalidrawAutomate{constructor(e,A){this.targetView=null,this.mostRecentMarkdownSVG=null,this.onViewUnloadHook=null,this.onViewModeChangeHook=null,this.onLinkHoverHook=null,this.onLinkClickHook=null,this.onDropHook=null,this.onCanvasColorChangeHook=null,this.activeScript=null,this.plugin=e,this.reset(),this.targetView=A}get obsidian(){return obsidian_module__namespace}getAPI(e){return new ExcalidrawAutomate(this.plugin,e)}setFillStyle(e){switch(e){case 0:return this.style.fillStyle="hachure","hachure";case 1:return this.style.fillStyle="cross-hatch","cross-hatch";default:return this.style.fillStyle="solid","solid"}}setStrokeStyle(e){switch(e){case 0:return this.style.strokeStyle="solid","solid";case 1:return this.style.strokeStyle="dashed","dashed";default:return this.style.strokeStyle="dotted","dotted"}}setStrokeSharpness(e){return 0===e?(this.style.strokeSharpness="round","round"):(this.style.strokeSharpness="sharp","sharp")}setFontFamily(e){switch(e){case 1:return this.style.fontFamily=4,getFontFamily(4);case 2:return this.style.fontFamily=2,getFontFamily(2);case 3:return this.style.fontFamily=3,getFontFamily(3);default:return this.style.fontFamily=1,getFontFamily(1)}}setTheme(e){return 0===e?(this.canvas.theme="light","light"):(this.canvas.theme="dark","dark")}addToGroup(e){const A=nanoid();return e.forEach((e=>{var t,n;null===(n=null===(t=this.elementsDict[e])||void 0===t?void 0:t.groupIds)||void 0===n||n.push(A)})),A}async toClipboard(e){const A=e?await getTemplate(this.plugin,e,!1,new EmbeddedFilesLoader(this.plugin),0):null;let t=A?A.elements:[];t=t.concat(this.getElements()),navigator.clipboard.writeText(JSON.stringify({type:"excalidraw/clipboard",elements:t}))}getElements(){const e=[],A=Object.keys(this.elementsDict);for(let t=0;t{const e=this.getElements().filter((e=>"text"===e.type));let A="# Text Elements\n";return e.forEach((e=>{var t,n;A+=`${null!==(t=e.rawText)&&void 0!==t?t:null!==(n=e.originalText)&&void 0!==n?n:e.text} ^${e.id}\n\n`})),this.getElements().filter((e=>"text"!==e.type&&e.link)).forEach((e=>{A+=`${e.link} ^${e.id}\n\n`})),A+=Object.keys(this.imagesDict).length>0?"\n# Embedded files\n":"",Object.keys(this.imagesDict).forEach((e=>{const t=this.imagesDict[e];t.latex?A+=`${e}: $$${t.latex}$$\n`:A+=`${e}: [[${t.file}]]\n`})),A})()+getMarkdownDrawingSection(JSON.stringify(V,null,"\t"),this.plugin.settings.compress))}async createSVG(e,A=!1,t,n,i,a){return i||(i=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),i&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),n||(n=new EmbeddedFilesLoader(this.plugin,i?"dark"===i:void 0)),await createSVG(e,A,t,n,i,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}async createPNG(e,A=1,t,n,i,a){return i||(i=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),i&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),n||(n=new EmbeddedFilesLoader(this.plugin,i?"dark"===i:void 0)),await createPNG(e,A,t,n,i,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}wrapText(e,A){return wrapTextAtCharLength(e,A,this.plugin.settings.forceWrap)}boxedElement(e,A,t,n,i,a){return{id:e,type:A,x:t,y:n,width:i,height:a,angle:this.style.angle,strokeColor:this.style.strokeColor,backgroundColor:this.style.backgroundColor,fillStyle:this.style.fillStyle,strokeWidth:this.style.strokeWidth,strokeStyle:this.style.strokeStyle,roughness:this.style.roughness,opacity:this.style.opacity,strokeSharpness:this.style.strokeSharpness,seed:Math.floor(1e5*Math.random()),version:1,versionNonce:Math.floor(1e9*Math.random()),updated:Date.now(),isDeleted:!1,groupIds:[],boundElements:[],link:null,locked:!1}}addRect(e,A,t,n){const i=nanoid();return this.elementsDict[i]=this.boxedElement(i,"rectangle",e,A,t,n),i}addDiamond(e,A,t,n){const i=nanoid();return this.elementsDict[i]=this.boxedElement(i,"diamond",e,A,t,n),i}addEllipse(e,A,t,n){const i=nanoid();return this.elementsDict[i]=this.boxedElement(i,"ellipse",e,A,t,n),i}addBlob(e,A,t,n){const i=.5*n,a=.5*t,r=a/9,s=.8*i,o=[],l=(t,n)=>{const l=t+Math.random()*r-r/2;o.push([l+Math.random()*r-r/2+t%2*r/6+e,n*Math.sqrt(i*i*(1-l*l/(a*a)))+Math.random()*s-s/2+t%2*s/6+A])};let c;for(c=r/2-a;c<=a-r/2;c+=a/6)l(c,1);for(c=a-r/2;c>=r/2-a;c-=a/6)l(c,-1);o.push(o[0]);const d=this.addLine((e=>{const A=getLineBox(e),i=t/A.w,a=n/A.h;let r;for(r=0;r500){const e=500/Math.max(r.size.width,r.size.height);r.size.width=e*r.size.width,r.size.height=e*r.size.height}return this.elementsDict[i]=this.boxedElement(i,"image",e,A,r.size.width,r.size.height),this.elementsDict[i].fileId=s,this.elementsDict[i].scale=[1,1],i}async addLaTex(e,A,t){const n=nanoid(),i=await tex2dataURL(t,this.plugin);return i?(this.imagesDict[i.fileId]={mimeType:i.mimeType,id:i.fileId,dataURL:i.dataURL,created:i.created,file:null,hasSVGwithBitmap:!1,latex:t},this.elementsDict[n]=this.boxedElement(n,"image",e,A,i.size.width,i.size.height),this.elementsDict[n].fileId=i.fileId,this.elementsDict[n].scale=[1,1],n):null}connectObjects(e,A,t,n,i){if(!this.elementsDict[e]||!this.elementsDict[t])return;if(["line","arrow","freedraw"].includes(this.elementsDict[e].type)||["line","arrow","freedraw"].includes(this.elementsDict[t].type))return;const a=(null==i?void 0:i.padding)?i.padding:10,r=(null==i?void 0:i.numberOfPoints)?i.numberOfPoints:0,s=(e,A)=>{switch(e){case"bottom":return[(A.x+(A.x+A.width))/2,A.y+A.height+a];case"left":return[A.x-a,(A.y+(A.y+A.height))/2];case"right":return[A.x+A.width+a,(A.y+(A.y+A.height))/2];default:return[(A.x+(A.x+A.width))/2,A.y-a]}};let o,l,c,d;const h=this.elementsDict[e],u=this.elementsDict[t];if(!A||!n){const e=h.x+h.width/2,t=u.x+u.width/2,i=h.y+h.height/2,a=u.y+u.height/2;if(!A){const A=intersectElementWithLine(h,[t,a],[e,i],4);0===A.length?[o,l]=[e,i]:[o,l]=A[0]}if(!n){const A=intersectElementWithLine(u,[e,i],[t,a],4);0===A.length?[c,d]=[t,a]:[c,d]=A[0]}}A&&([o,l]=s(A,this.elementsDict[e])),n&&([c,d]=s(n,this.elementsDict[t]));const g=r+2,p=[];for(let e=0;eMath.PI/2&&(n-=Math.PI),this.style.angle=n;const a=this.addText(t.x+t.points[1][0]/2-i.width/2,t.y+t.points[1][1]/2-i.height,A);return this.style.angle=0,a}clear(){this.elementsDict={},this.imagesDict={}}reset(){this.clear(),this.activeScript=null,this.style={strokeColor:"#000000",backgroundColor:"transparent",angle:0,fillStyle:"hachure",strokeWidth:1,strokeStyle:"solid",roughness:1,opacity:100,strokeSharpness:"sharp",fontFamily:1,fontSize:20,textAlign:"left",verticalAlign:"top",startArrowHead:null,endArrowHead:"arrow"},this.canvas={theme:"light",viewBackgroundColor:"#FFFFFF",gridSize:0}}isExcalidrawFile(e){return this.plugin.isExcalidrawFile(e)}setView(e){if(!e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(e instanceof ExcalidrawView)this.targetView=e;else{const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}}if("active"==e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(!(e instanceof ExcalidrawView))return;this.targetView=e}if("first"==e){const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}return e instanceof ExcalidrawView&&(this.targetView=e),this.targetView}getExcalidrawAPI(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.excalidrawAPI:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getViewElements(){var e;if(!this.targetView||!(null===(e=this.targetView)||void 0===e?void 0:e._loaded))return errorMessage("targetView not set","getViewElements()"),[];const A=this.targetView.excalidrawAPI;return A?A.getSceneElements():[]}deleteViewElements(e){var A,t,n;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","deleteViewElements()"),!1;const i=null===(n=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawRef)||void 0===n?void 0:n.current;if(!i)return!1;const a=i.getSceneElements(),r=i.getAppState();return this.targetView.updateScene({elements:a.filter((A=>!e.includes(A))),appState:r,commitToHistory:!0}),!0}getViewSelectedElement(){const e=this.getViewSelectedElements();return e?e[0]:null}getViewSelectedElements(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.getViewSelectedElements():(errorMessage("targetView not set","getViewSelectedElements()"),[])}getViewFileForImageElement(e){var A,t,n,i;return this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&"image"===e.type?null===(i=null===(n=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawData)||void 0===n?void 0:n.getFile(e.fileId))||void 0===i?void 0:i.file:(errorMessage("Must provide an image element as input","getViewFileForImageElement()"),null):(errorMessage("targetView not set","getViewFileForImageElement()"),null)}copyViewElementsToEAforEditing(e){e.forEach((e=>{this.elementsDict[e.id]=cloneElement(e)}))}setViewModeEnabled(e){var A,t,n;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const i=this.targetView;i.updateScene({appState:{viewModeEnabled:e}}),null===(n=null===(t=i.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===n||n.setExcalidrawViewMode(e)}viewUpdateScene(e,A=!1){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?this.targetView.updateScene(e,A):errorMessage("targetView not set","viewToggleFullScreen()")}viewZoomToElements(e,A){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?this.targetView.zoomToElements(e,A):errorMessage("targetView not set","viewToggleFullScreen()")}viewToggleFullScreen(e=!1){var A,t,n;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const i=this.targetView,a=i.isFullscreen();e&&(i.updateScene({appState:{viewModeEnabled:!a},commitToHistory:!1}),null===(n=null===(t=this.targetView.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===n||n.setExcalidrawViewMode(!a)),a?i.exitFullscreen():i.gotoFullscreen()}connectObjectWithViewSelectedElement(e,A,t,n){const i=this.getViewSelectedElement();if(!i)return!1;const a=i.id;return this.elementsDict[a]=i,this.connectObjects(e,A,a,t,n),delete this.elementsDict[a],!0}async addElementsToView(e=!1,A=!0,t=!1){var n;if(!this.targetView||!(null===(n=this.targetView)||void 0===n?void 0:n._loaded))return errorMessage("targetView not set","addElementsToView()"),!1;const i=this.getElements();return await this.targetView.addElements(i,e,A,this.imagesDict,t)}registerThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}deregisterThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}getEmbeddedFilesLoader(e){return new EmbeddedFilesLoader(this.plugin,e)}getExportSettings(e,A){return{withBackground:e,withTheme:A}}getBoundingBox(e){const A=getCommonBoundingBox(e);return{topX:A.minX,topY:A.minY,width:A.maxX-A.minX,height:A.maxY-A.minY}}getMaximumGroups(e){return getMaximumGroups(e)}getLargestElement(e){if(!e||0===e.length)return null;let A=e[0];const t=e=>e.height*e.width;let n=t(e[0]);for(let i=1;in&&(n=a,A=e[i])}return A}getCommonGroupForElements(e){const A=e.map((e=>e.groupIds)).reduce(((e,A)=>A.filter((A=>e.includes(A)))));return A.length>0?A[0]:null}getElementsInTheSameGroupWithElement(e,A){if(!e||!A)return[];const t="text"===e.type&&e.containerId?A.filter((A=>A.id===e.containerId)):[];return 0===e.groupIds.length?1===t.length?[e,t[0]]:[e]:1===t.length?A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))||A===t[0])):A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))))}intersectElementWithLine(e,A,t,n){return intersectElementWithLine(e,A,t,n)}getScriptSettings(){var e;return this.activeScript?null!==(e=this.plugin.settings.scriptEngineSettings[this.activeScript])&&void 0!==e?e:{}:null}async setScriptSettings(e){if(!this.activeScript)return null;this.plugin.settings.scriptEngineSettings[this.activeScript]=e,await this.plugin.saveSettings()}openFileInNewOrAdjacentLeaf(e){if(!(e&&e instanceof obsidian_module.TFile))return null;if(!this.targetView)return null;const A=getNewOrAdjacentLeaf(this.plugin,this.targetView.leaf);return A.openFile(e,{active:!0}),A}measureText(e){var A,t;const n=_measureText(e,this.style.fontSize,this.style.fontFamily);return{width:null!==(A=n.w)&&void 0!==A?A:0,height:null!==(t=n.h)&&void 0!==t?t:0}}async getOriginalImageSize(e){var A;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","getOriginalImageSize()"),null;if(!e||"image"!==e.type)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const t=this.targetView.excalidrawData.getFile(e.fileId);if(!t)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const n="dark"===this.getExcalidrawAPI().getAppState().theme,i=t.getImage(n);return await getImageSize(i)}verifyMinimumPluginVersion(e){return PLUGIN_VERSION===e||isVersionNewerThanOther(PLUGIN_VERSION,e)}isExcalidrawView(e){return e instanceof ExcalidrawView}selectElementsInView(e){var A;this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&0!==e.length&&this.getExcalidrawAPI().selectElements(e):errorMessage("targetView not set","selectElementsInView()")}generateElementId(){return nanoid()}cloneElement(e){const A=JSON.parse(JSON.stringify(e));return A.id=nanoid(),A}moveViewElementToZIndex(e,A){var t;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return void errorMessage("targetView not set","moveViewElementToZIndex()");const n=this.getExcalidrawAPI(),i=this.getViewElements(),a=i.filter((A=>A.id===e));if(0===a.length)return void errorMessage(`Element (id: ${e}) not found`,"moveViewElementToZIndex");if(A>=i.length)return void n.bringToFront(a);if(A<0)return void n.sendToBack(a);const r=i.indexOf(a[0]);i.splice(A,0,i.splice(r,1)[0]),this.targetView.updateScene({elements:i,commitToHistory:!0})}hexStringToRgb(e){const A=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return[parseInt(A[1],16),parseInt(A[2],16),parseInt(A[3],16)]}rgbToHexString(e){return O$1({r:e[0],g:e[1],b:e[2]}).stringHEX({alpha:!1})}hslToRgb(e){const A=O$1({h:e[0],s:e[1],l:e[2]});return[A.red,A.green,A.blue]}rgbToHsl(e){const A=O$1({r:e[0],g:e[1],b:e[2]});return[A.hue,A.saturation,A.lightness]}colorNameToHex(e){return COLOR_NAMES.has(e.toLowerCase().trim())?COLOR_NAMES.get(e.toLowerCase().trim()):e.trim()}getCM(e){if(e)return"string"==typeof e&&(e=this.colorNameToHex(e)),O$1(e);log("Creates a CM object. Visit https://github.com/lbragile/ColorMaster for documentation.")}importSVG(e){const A=svgToExcalidraw(e);return A.hasErrors?(new obsidian_module.Notice(`There were errors while parsing the given SVG:\n${[...A.errors].map((e=>e.innerHTML))}`),!1):(this.copyViewElementsToEAforEditing(A.content),!0)}}async function initExcalidrawAutomate(e){await initFonts();const A=new ExcalidrawAutomate(e);return window.ExcalidrawAutomate=A,A}function destroyExcalidrawAutomate(){delete window.ExcalidrawAutomate}function normalizeLinePoints(e){const A=[],[t,n]=e[0];for(let i=0;i-1||A.search("excalidraw-plugin: locked\n")>-1;await a.loadData(A,l,o?TextMode.parsed:TextMode.raw);let d=A.search("# Text Elements\n");-1==d&&(d=A.search("# Drawing\n"));let h=a.scene;t&&await n.loadSceneFiles(a,(e=>{if(e&&0!==e.length){for(const A of e)A.hasSVGwithBitmap&&(c=!0),a.scene.files[A.id]={mimeType:A.mimeType,id:A.id,dataURL:A.dataURL,created:A.created};h=scaleLoadedImage(a.scene,e).scene}}),i);let u=h.elements;if(s.hasGroupref){const A=s.hasSectionref?getTextElementsMatchingQuery(h.elements,["# "+s.sectionref],!0):h.elements.filter((e=>e.id===s.blockref));A.length>0&&(u=e.ea.getElementsInTheSameGroupWithElement(A[0],h.elements))}return s.hasTaskbone&&(u=u.filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!e.isExcalidrawFile(null===(t=a.getFile(A.fileId))||void 0===t?void 0:t.file)}))),{elements:u,appState:h.appState,frontmatter:A.substring(0,d),files:h.files,hasSVGwithBitmap:c}}return{elements:[],appState:{},frontmatter:null,files:[],hasSVGwithBitmap:c}}async function createPNG(e,A=1,t,n,i,a,r,s=[],o,l,c,d){var h,u,g,p,w,m,f;n||(n=new EmbeddedFilesLoader(o)),c=null!=c?c:o.settings.exportPaddingSVG;const B=e?await getTemplate(o,e,!0,n,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s);const b=null!=d?d:{};return(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e})),await getPNG({type:"excalidraw",version:2,source:"https://excalidraw.com",elements:E,appState:{theme:null!==(g=null!=i?i:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(w=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==w?w:r},files:b},{withBackground:null!==(m=null==t?void 0:t.withBackground)&&void 0!==m?m:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c,A)}async function createSVG(e,A=!1,t,n,i,a,r,s=[],o,l,c,d){var h,u,g,p,w,m,f;n||(n=new EmbeddedFilesLoader(o));const B=e?await getTemplate(o,e,!0,n,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s),c=null!=c?c:o.settings.exportPaddingSVG;const b=null!=d?d:{};(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e}));const C=await getSVG({type:"excalidraw",version:2,source:"https://excalidraw.com",elements:E,appState:{theme:null!==(g=null!=i?i:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(w=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==w?w:r},files:b},{withBackground:null!==(m=null==t?void 0:t.withBackground)&&void 0!==m?m:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c),v=getEmbeddedFilenameParts(e);if(!v.hasGroupref&&(v.hasBlockref||v.hasSectionref)){let e=v.hasSectionref?getTextElementsMatchingQuery(E,["# "+v.sectionref],!0):E.filter((e=>e.id===v.blockref));if(e.length>0){const A=e[0].containerId;A&&(e=e.concat(E.filter((e=>e.id===A))));const t=o.ea.getBoundingBox(e),n=o.ea.getBoundingBox(E);C.viewBox.baseVal.x=t.topX-n.topX,C.viewBox.baseVal.y=t.topY-n.topY,C.viewBox.baseVal.width=t.width+2*c,C.viewBox.baseVal.height=t.height+2*c}}return(null==B?void 0:B.hasSVGwithBitmap)&&C.setAttribute("hasbitmap","true"),A?embedFontsInSVG(C,o):C}function estimateLineBound(e){let A=1/0,t=1/0,n=-1/0,i=-1/0;for(const[a,r]of e)A=Math.min(A,a),t=Math.min(t,r),n=Math.max(n,a),i=Math.max(i,r);return[A,t,n,i]}function estimateBounds(e){const A=getCommonBoundingBox(e);return[A.minX,A.minY,A.maxX,A.maxY]}function repositionElementsToCursor(e,A,t=!1){const[n,i,a,r]=estimateBounds(e);let[s,o]=[0,0];return[s,o]=t?[A.x-(n+a)/2,A.y-(i+r)/2]:[A.x-n,A.y-i],e.forEach((e=>{e.x=e.x+s,e.y=e.y+o})),e}function errorMessage(e,A){switch(e){case"targetView not set":errorlog({where:"ExcalidrawAutomate",source:A,message:"targetView not set, or no longer active. Use setView before calling this function"});break;case"mobile not supported":errorlog({where:"ExcalidrawAutomate",source:A,message:"this function is not avalable on Obsidian Mobile"});break;default:errorlog({where:"ExcalidrawAutomate",source:A,message:"unknown error"})}}const insertLaTeXToView=e=>{const A=e.plugin.app,t=e.plugin.ea;new Prompt(A,t$d("ENTER_LATEX"),"","\\color{red}\\oint_S {E_n dA = \\frac{1}{{\\varepsilon _0 }}} Q_{inside}").openAndGetValue((async A=>{A&&(t.reset(),await t.addLaTex(0,0,A),t.setView(e),t.addElementsToView(!0,!1,!0))}))},search=async e=>{const A=e.plugin.ea;A.reset(),A.setView(e);const t=A.getViewElements().filter((e=>"text"===e.type));if(0===t.length)return;let n=await ScriptEngine.inputPrompt(e.plugin.app,"Search for","use quotation marks for exact match","");if(!n)return;const i=n.matchAll(/"(.*?)"/g);let a,r=[];for(;!(a=i.next()).done;)r.push(a.value[1]);n=n.replaceAll(/"(.*?)"/g,""),r=r.concat(n.split(" ").filter((e=>0!==e.length))),A.targetView.selectElementsMatchingQuery(t,r)},getTextElementsMatchingQuery=(e,A,t=!1)=>e&&0!==e.length&&A&&0!==A.length?e.filter((e=>"text"===e.type&&A.some((A=>{if(t){const t=e.rawText.toLowerCase().split("\n")[0].trim().match(/^#*(# .*)/);return!(!t||2!==t.length)&&t[1]===A.toLowerCase()}return e.rawText.toLowerCase().replaceAll("\n"," ").trim().match(A.toLowerCase())})))):[],cloneElement=e=>Object.assign(Object.assign({},e),{version:e.version+1,updated:Date.now(),versionNonce:Math.floor(1e9*Math.random())}),URL$1="https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/index-new.md";class ScriptInstallPrompt extends obsidian_module.Modal{constructor(e){super(e.app),this.plugin=e}async onOpen(){this.contentEl.classList.add("excalidraw-scriptengine-install"),this.containerEl.classList.add("excalidraw-scriptengine-install");try{const e=await obsidian_module.request({url:URL$1});if(!e)return new obsidian_module.Notice("Error opening the Excalidraw Script Store page. Please double check that you can access the website. I've logged the link in developer console (press CTRL+SHIFT+i)",5e3),log(URL$1),void this.close();await obsidian_module.MarkdownRenderer.renderMarkdown(e,this.contentEl,"",this.plugin),this.contentEl.querySelectorAll("h1[data-heading],h2[data-heading],h3[data-heading]").forEach((e=>{e.setAttribute("id",e.getAttribute("data-heading"))})),this.contentEl.querySelectorAll("a.internal-link").forEach((e=>{e.removeAttribute("target")}))}catch(e){errorlog({where:"ScriptInstallPrompt.onOpen",error:e}),new obsidian_module.Notice("Could not open ScriptEngine repository"),this.close()}}onClose(){this.contentEl.empty()}}function toVal(e){var A,t,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(A=0;AReact__namespace.createElement("label",{className:clsx("ToolIcon ToolIcon_type_floating","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{this.toolsRef.current.setTheme(A.theme),this.toolsRef.current.toggleVisibility(A.zenModeEnabled||e)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 166 267"},React__namespace.createElement("path",{fill:"transparent",d:"M0 0h165.742v267.245H0z"}),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#bd7efc",strokeWidth:"0",d:"M55.5 96.49 39.92 57.05 111.28 10l4.58 36.54L55.5 95.65"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M55.5 96.49c-5.79-14.66-11.59-29.33-15.58-39.44M55.5 96.49c-3.79-9.59-7.58-19.18-15.58-39.44m0 0C60.13 43.72 80.34 30.4 111.28 10M39.92 57.05C60.82 43.27 81.73 29.49 111.28 10m0 0c.97 7.72 1.94 15.45 4.58 36.54M111.28 10c1.14 9.12 2.29 18.24 4.58 36.54m0 0C95.41 63.18 74.96 79.82 55.5 95.65m60.36-49.11C102.78 57.18 89.71 67.82 55.5 95.65m0 0v.84m0-.84v.84"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#e2c4ff",strokeWidth:"0",d:"m111.234 10.06 44.51 42.07-40.66-5.08-3.85-36.99"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 10.06c11.83 11.18 23.65 22.36 44.51 42.07m-44.51-42.07 44.51 42.07m0 0c-13.07-1.63-26.13-3.27-40.66-5.08m40.66 5.08c-11.33-1.41-22.67-2.83-40.66-5.08m0 0c-1.17-11.29-2.35-22.58-3.85-36.99m3.85 36.99c-1.47-14.17-2.95-28.33-3.85-36.99m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#2f005e",strokeWidth:"0",d:"m10 127.778 45.77-32.99-15.57-38.08-30.2 71.07"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M10 127.778c16.85-12.14 33.7-24.29 45.77-32.99M10 127.778c16.59-11.95 33.17-23.91 45.77-32.99m0 0c-6.14-15.02-12.29-30.05-15.57-38.08m15.57 38.08c-4.08-9.98-8.16-19.96-15.57-38.08m0 0c-11.16 26.27-22.33 52.54-30.2 71.07m30.2-71.07c-10.12 23.81-20.23 47.61-30.2 71.07m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#410380",strokeWidth:"0",d:"m40.208 235.61 15.76-140.4-45.92 32.92 30.16 107.48"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.208 235.61c3.7-33.01 7.41-66.02 15.76-140.4m-15.76 140.4c3.38-30.16 6.77-60.32 15.76-140.4m0 0c-10.83 7.76-21.66 15.53-45.92 32.92m45.92-32.92c-11.69 8.38-23.37 16.75-45.92 32.92m0 0c6.84 24.4 13.69 48.8 30.16 107.48m-30.16-107.48c6.67 23.77 13.33 47.53 30.16 107.48m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#943feb",strokeWidth:"0",d:"m111.234 240.434-12.47 16.67-42.36-161.87 58.81-48.3 40.46 5.25-44.44 188.25"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 240.434c-3.79 5.06-7.57 10.12-12.47 16.67m12.47-16.67c-4.43 5.93-8.87 11.85-12.47 16.67m0 0c-16.8-64.17-33.59-128.35-42.36-161.87m42.36 161.87c-9.74-37.2-19.47-74.41-42.36-161.87m0 0c15.03-12.35 30.07-24.7 58.81-48.3m-58.81 48.3c22.49-18.47 44.97-36.94 58.81-48.3m0 0c9.48 1.23 18.95 2.46 40.46 5.25m-40.46-5.25c13.01 1.69 26.02 3.38 40.46 5.25m0 0c-10.95 46.41-21.91 92.82-44.44 188.25m44.44-188.25c-12.2 51.71-24.41 103.42-44.44 188.25m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#6212b3",strokeWidth:"0",d:"m40.379 235.667 15.9-140.21 42.43 161.79-58.33-21.58"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.379 235.667c4.83-42.62 9.67-85.25 15.9-140.21m-15.9 140.21c5.84-51.52 11.69-103.03 15.9-140.21m0 0c10.98 41.87 21.96 83.74 42.43 161.79m-42.43-161.79c13.28 50.63 26.56 101.25 42.43 161.79m0 0c-11.8-4.37-23.6-8.74-58.33-21.58m58.33 21.58c-21.73-8.04-43.47-16.08-58.33-21.58m0 0s0 0 0 0m0 0s0 0 0 0"}))))),this.plugin=e,this.toolsRef=A}}class ActionButton extends React__namespace.Component{constructor(e){super(e),this.toastMessageTimeout=0,this.state={visible:!0}}render(){return React__namespace.createElement("button",{style:{},className:"ToolIcon_type_button ToolIcon_size_small ToolIcon_type_button--show ToolIcon",title:this.props.title,onClick:e=>{this.toastMessageTimeout&&(window.clearTimeout(this.toastMessageTimeout),this.toastMessageTimeout=0),this.props.action(e)},onPointerDown:()=>{this.toastMessageTimeout=window.setTimeout((()=>{var e;return null===(e=this.props.view.excalidrawAPI)||void 0===e?void 0:e.setToast({message:this.props.title})}),300)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},this.props.icon))}}const ICONS={exportLibrary:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 200 190",fill:"var(--icon-fill-color)"},React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M50 10h20v20H50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M50 10h20m-20 0h20m0 0v20m0-20v20m0 0H50m20 0H50m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M90 10h20v20H90"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M90 10h20m-20 0h20m0 0v20m0-20v20m0 0H90m20 0H90m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M130 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M130 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M170 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M170 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M70 50h60v80h20l-50 50-50-50h20V50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M70 50h60m-60 0h60m0 0v80m0-80v80m0 0h20m-20 0h20m0 0-50 50m50-50-50 50m0 0-50-50m50 50-50-50m0 0h20m-20 0h20m0 0V50m0 80V50m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M10 10h20v20H10"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M10 10h20m-20 0h20m0 0v20m0-20v20m0 0H10m20 0H10m0 0V10m0 20V10"}))),insertImage:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"})),insertMD:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"})),insertLaTeX:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"})),insertLink:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"})),exportSVG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"S")),exportPNG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"P")),exportExcalidraw:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",strokeWidth:"2"},React__namespace.createElement("g",{transform:"translate(30,5)"},React__namespace.createElement("path",{d:"M14.45 1.715c-2.723 2.148-6.915 5.797-10.223 8.93l-2.61 2.445.477 3.207c.258 1.75.738 5.176 1.031 7.582.332 2.406.66 4.668.773 4.996.145.438 0 .656-.406.656-.699 0-.734-.183 1.176 5.832.7 2.297 1.363 4.414 1.434 4.633.074.254.367.363.699.254.332-.145.515-.438.406-.691-.113-.293.074-.586.367-.696.403-.144.367-.437-.258-1.492-.992-1.64-3.53-15.64-3.675-20.164-.11-3.207-.11-3.242 1.25-5.066 1.324-1.786 4.375-4.485 9.078-7.91 1.324-.985 2.648-2.079 3.015-2.446.551-.656.809-.472 5.442 4.414 2.683 2.805 5.664 5.688 6.617 6.414l1.766 1.313-1.36 2.844c-.734 1.53-3.715 7.437-6.656 13.054-6.137 11.813-4.887 10.68-12.02 10.79l-4.632.038-1.547 1.75c-1.617 1.86-1.836 2.551-1.063 3.72.293.398.512 1.054.512 1.456 0 .656.258.766 1.73.84.918.035 1.762.145 1.875.254.11.11.258 2.371.368 5.031l.144 4.813-2.46 5.25C1.616 72.516 0 76.527 0 77.84c0 .691.148 1.273.293 1.273.367 0 .367-.035 15.332-30.988 6.95-14.363 13.531-27.89 14.633-30.113 1.101-2.227 2.094-4.266 2.168-4.559.074-.328-2.461-2.844-6.508-6.379C22.281 3.864 19.082.95 18.785.621c-.844-1.023-2.094-.695-4.336 1.094zM15.7 43.64c-1.692 3.246-1.766 3.28-6.4 3.5-4.081.218-4.152.183-4.152-.582 0-.438-.148-1.024-.332-1.313-.222-.328-.074-.914.442-1.715l.808-1.238h3.676c2.024-.04 4.34-.184 5.149-.328.808-.149 1.507-.219 1.578-.184.074.035-.293.875-.77 1.86zm-3.09 5.832c-.294.765-1.067 2.37-1.692 3.574-1.027 2.043-1.137 2.113-1.395 1.277-.148-.511-.257-2.008-.296-3.355-.036-2.66-.11-2.625 2.98-2.809l.992-.035zm0 0"}),React__namespace.createElement("path",{d:"M15.55 10.39c-.66.473-.843.95-.843 2.153 0 1.422.11 1.64 1.102 2.039.992.402 1.25.367 2.39-.398 1.508-1.024 1.543-1.278.442-2.918-.957-1.422-1.914-1.676-3.09-.875zm2.098 1.313c.586 1.02.22 1.785-.882 1.785-.993 0-1.434-.984-.883-1.968.441-.801 1.285-.727 1.765.183zm0 0M38.602 18.594c0 .183-.22.363-.477.363-.219 0-.844 1.023-1.324 2.262-1.469 3.793-16.176 32.629-16.211 31.718 0-.472-.223-.8-.59-.8-.516 0-.59.289-.367 1.71.219 1.641.074 2.008-5.149 12.071-2.941 5.723-6.101 11.703-7.02 13.305-.956 1.68-1.69 3.5-1.765 4.265-.11 1.313.035 1.496 3.235 4.23 1.84 1.606 4.191 3.61 5.222 4.52 4.63 4.196 6.801 5.871 7.387 5.762.883-.145 14.523-14.328 14.559-15.129 0-.367-.66-5.906-1.47-12.324-1.398-10.938-2.722-23.734-2.573-24.973.109-.765-.442-4.633-.844-6.308-.332-1.313-.184-1.86 2.46-7.84 1.544-3.535 3.567-7.875 4.45-9.625.844-1.75 1.582-3.281 1.582-3.39 0-.11-.258-.18-.55-.18-.298 0-.555.144-.555.363zm-8.454 27.234c.403 2.55 1.211 8.676 1.801 13.598 1.14 9.043 2.461 19.07 2.832 21.62.219 1.278.07 1.532-2.316 4.157-4.156 4.629-8.567 9.188-10.074 10.356l-1.399 1.093-7.168-6.636c-6.617-6.051-7.168-6.672-6.765-7.403.222-.398 2.097-3.789 4.156-7.508 2.058-3.718 4.777-8.68 6.027-11.011 1.29-2.371 2.465-4.41 2.684-4.52.258-.148.332 3.535.258 11.375-.149 11.703-.11 11.739 1.066 11.485.148 0 .258-5.907.258-13.09V56.293l3.86-7.656c2.132-4.23 3.898-7.621 3.972-7.586.07.039.441 2.187.808 4.777zm0 0"}))),search:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M500.3 443.7l-119.7-119.7c27.22-40.41 40.65-90.9 33.46-144.7C401.8 87.79 326.8 13.32 235.2 1.723C99.01-15.51-15.51 99.01 1.724 235.2c11.6 91.64 86.08 166.7 177.6 178.9c53.8 7.189 104.3-6.236 144.7-33.46l119.7 119.7c15.62 15.62 40.95 15.62 56.57 0C515.9 484.7 515.9 459.3 500.3 443.7zM79.1 208c0-70.58 57.42-128 128-128s128 57.42 128 128c0 70.58-57.42 128-128 128S79.1 278.6 79.1 208z"})),ocr:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"m6 18 6-12 6 12"}),React__namespace.createElement("path",{d:"M8 14h8"}),React__namespace.createElement("path",{d:"M3 7V5a2 2 0 0 1 2-2h2"}),React__namespace.createElement("path",{d:"M17 3h2a2 2 0 0 1 2 2v2"}),React__namespace.createElement("path",{d:"M21 17v2a2 2 0 0 1-2 2h-2"}),React__namespace.createElement("path",{d:"M7 21H5a2 2 0 0 1-2-2v-2"})),scriptEngine:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"4"},React__namespace.createElement("g",{transform:"translate(-8,-8)"},React__namespace.createElement("path",{d:"M24.318 37.983c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749m.126-.104c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749",fill:"none",strokeWidth:"2"}),React__namespace.createElement("path",{d:"M81.235 56.502a23.3 23.3 0 0 1-1.46 8.068 20.785 20.785 0 0 1-1.762 3.72 24.068 24.068 0 0 1-5.337 6.26 22.575 22.575 0 0 1-3.449 2.358 23.726 23.726 0 0 1-7.803 2.803 24.719 24.719 0 0 1-8.333 0 24.102 24.102 0 0 1-4.028-1.074 23.71 23.71 0 0 1-3.776-1.729 23.259 23.259 0 0 1-6.369-5.265 23.775 23.775 0 0 1-2.416-3.353 24.935 24.935 0 0 1-1.762-3.72 23.765 23.765 0 0 1-1.083-3.981 23.454 23.454 0 0 1 0-8.173c.252-1.336.604-2.698 1.083-3.956a24.935 24.935 0 0 1 1.762-3.72 22.587 22.587 0 0 1 2.416-3.378c.881-1.048 1.888-2.017 2.946-2.908a24.38 24.38 0 0 1 3.423-2.357 23.71 23.71 0 0 1 3.776-1.73 21.74 21.74 0 0 1 4.028-1.047 23.437 23.437 0 0 1 8.333 0 24.282 24.282 0 0 1 7.803 2.777 26.198 26.198 0 0 1 3.45 2.357 24.62 24.62 0 0 1 5.336 6.287 20.785 20.785 0 0 1 1.762 3.72 21.32 21.32 0 0 1 1.083 3.955c.251 1.336.302 3.405.377 4.086.05.681.05-.68 0 0",fill:"none"}),React__namespace.createElement("path",{d:"M69.404 56.633c-6.596-3.3-13.216-6.6-19.51-9.744m19.51 9.744c-6.747-3.379-13.493-6.758-19.51-9.744m0 0v19.489m0-19.49v19.49m0 0c4.355-2.148 8.71-4.322 19.51-9.745m-19.51 9.745c3.978-1.965 7.93-3.956 19.51-9.745m0 0h0m0 0h0"}))),openLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),openLinkProperties:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8",fill:"var(--icon-fill-color)"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),switchToMarkdown:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",strokeWidth:"10",fill:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"})),gotoFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 32H32C14.31 32 0 46.31 0 64v96c0 17.69 14.31 32 32 32s32-14.31 32-32V96h64c17.69 0 32-14.31 32-32S145.7 32 128 32zM416 32h-96c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32V64C448 46.31 433.7 32 416 32zM128 416H64v-64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96c0 17.69 14.31 32 32 32h96c17.69 0 32-14.31 32-32S145.7 416 128 416zM416 320c-17.69 0-32 14.31-32 32v64h-64c-17.69 0-32 14.31-32 32s14.31 32 32 32h96c17.69 0 32-14.31 32-32v-96C448 334.3 433.7 320 416 320z"})),exitFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 320H32c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32v-96C160 334.3 145.7 320 128 320zM416 320h-96c-17.69 0-32 14.31-32 32v96c0 17.69 14.31 32 32 32s32-14.31 32-32v-64h64c17.69 0 32-14.31 32-32S433.7 320 416 320zM320 192h96c17.69 0 32-14.31 32-32s-14.31-32-32-32h-64V64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96C288 177.7 302.3 192 320 192zM128 32C110.3 32 96 46.31 96 64v64H32C14.31 128 0 142.3 0 160s14.31 32 32 32h96c17.69 0 32-14.31 32-32V64C160 46.31 145.7 32 128 32z"})),releaseNotes:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M0 219.2v212.5c0 14.25 11.62 26.25 26.5 27C75.32 461.2 180.2 471.3 240 511.9V245.2C181.4 205.5 79.99 194.8 29.84 192C13.59 191.1 0 203.6 0 219.2zM482.2 192c-50.09 2.848-151.3 13.47-209.1 53.09C272.1 245.2 272 245.3 272 245.5v266.5c60.04-40.39 164.7-50.76 213.5-53.28C500.4 457.9 512 445.9 512 431.7V219.2C512 203.6 498.4 191.1 482.2 192zM352 96c0-53-43-96-96-96S160 43 160 96s43 96 96 96S352 149 352 96z"})),rawMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 60"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"4",d:"M20 10H10m10 0H10m0 0v40m0-40v40m0 0h10m-10 0h10M40 10H30m10 0H30m0 0v40m0-40v40m0 0h10m-10 0h10M60 10h10m-10 0h10m0 0v40m0-40v40m0 0H60m10 0H60M80 10h10m-10 0h10m0 0v40m0-40v40m0 0H80m10 0H80"})),parsedMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M574.1 280.4l-45.38-181.8c-5.875-23.63-21.62-44-43-55.75c-21.5-11.75-46.1-14.13-70.25-6.375l-15.25 5.125c-8.375 2.75-12.87 11.88-10 20.25l5 15.13c2.75 8.375 11.88 12.88 20.25 10.13l13.12-4.375c10.88-3.625 23-3.625 33.25 1.75c10.25 5.375 17.5 14.5 20.38 25.75l38.38 153.9c-22.12-6.875-49.75-12.5-81.13-12.5c-34.88 0-73.1 7-114.9 26.75H251.4C210.5 258.6 171.4 251.6 136.5 251.6c-31.38 0-59 5.625-81.12 12.5l38.38-153.9c2.875-11.25 10.12-20.38 20.5-25.75C124.4 79.12 136.5 79.12 147.4 82.74l13.12 4.375c8.375 2.75 17.5-1.75 20.25-10.13l5-15.13C188.6 53.49 184.1 44.37 175.6 41.62l-15.25-5.125c-23.13-7.75-48.75-5.375-70.13 6.375c-21.37 11.75-37.12 32.13-43 55.75L1.875 280.4C.6251 285.4 .0001 290.6 .0001 295.9v70.25C.0001 428.1 51.63 480 115.3 480h37.13c60.25 0 110.4-46 114.9-105.4l2.875-38.63h35.75l2.875 38.63C313.3 433.1 363.4 480 423.6 480h37.13c63.62 0 115.2-51 115.2-113.9V295.9C576 290.6 575.4 285.5 574.1 280.4zM203.4 369.7c-2 26-24.38 46.25-51 46.25H115.2C87 415.1 64 393.6 64 366.1v-37.5c18.12-6.5 43.38-13 72.62-13c23.88 0 47.25 4.375 69.88 13L203.4 369.7zM512 366.1c0 27.5-23 49.88-51.25 49.88h-37.13c-26.62 0-49-20.25-51-46.25l-3.125-41.13c22.62-8.625 46.13-13 70-13c29 0 54.38 6.5 72.5 13V366.1z"})),convertFile:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:"0 110 700 340",xmlns:"http://www.w3.org/2000/svg",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"m593.95 239.4v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4688-1.457-3.1875-2.6445-5.0742-3.5h-1.5742c-1.4727-0.49219-3.0039-0.78516-4.5508-0.875h-124.25c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v87.5h-70v-105.88-1.0508c-0.089844-1.5469-0.38281-3.0781-0.875-4.5508v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4727-1.457-3.1914-2.6445-5.0742-3.5h-1.5742c-1.7031-0.875-3.5352-1.4688-5.4258-1.75h-123.55c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v245c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-52.5h70v122.5c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-192.5-1.0508c-0.14453-1.5547-0.5-3.0859-1.0508-4.5508zm-313.95 110.6h-140v-210h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v87.5h-52.5c-6.2539 0-12.031 3.3359-15.156 8.75s-3.125 12.086 0 17.5 8.9023 8.75 15.156 8.75h52.5zm140 70v-105h27.824l-5.0742 5.0742c-3.7031 3.1719-5.9141 7.7461-6.1055 12.617-0.1875 4.8711 1.668 9.6016 5.1133 13.051 3.4492 3.4453 8.1797 5.3008 13.051 5.1133 4.8711-0.19141 9.4453-2.4023 12.617-6.1055l35-35c3.2578-3.2773 5.0898-7.7148 5.0898-12.336 0-4.625-1.832-9.0586-5.0898-12.34l-35-35c-4.5078-3.8555-10.66-5.1719-16.348-3.4883-5.6875 1.6797-10.137 6.1289-11.816 11.816-1.6836 5.6914-0.37109 11.844 3.4883 16.348l5.0742 5.0742h-27.824v-69.824h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v157.5z"})),cog:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z"})),trayMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M618.1 97.67c-13.02-4.375-27.45 .1562-35.72 11.16L464 266.7l-118.4-157.8c-8.266-11.03-22.64-15.56-35.72-11.16C296.8 102 288 114.2 288 128v256c0 17.69 14.33 32 32 32s32-14.31 32-32v-160l86.41 115.2c12.06 16.12 39.13 16.12 51.19 0L576 224v160c0 17.69 14.33 32 32 32s32-14.31 32-32v-256C640 114.2 631.2 102 618.1 97.67zM224 96.01H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h64v223.1c0 17.69 14.33 31.99 32 31.99s32-14.3 32-31.99V160h64c17.67 0 32-14.31 32-32S241.7 96.01 224 96.01z"})),copyElementLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 260 260","aria-hidden":"true",focusable:"false",role:"img"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"8",d:"M10 10h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0V10m0 40V10M210 10h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0V10m0 40V10M210 210h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0v-40m0 40v-40M10 210h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0v-40m0 40v-40M30 210V50m0 160V50M50 30h160M50 30h160M230 50v160m0-160v160M50 230h160m-160 0h160"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M110 90c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10m0-80c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10M150 90c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10m0-80c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M89.868 130.198c13.36-.03 66.78-.17 80.13-.2m-80.13.2c13.36-.03 66.78-.17 80.13-.2"})),importSVG:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 526 526"},React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"m133.462 71 .33-6.54.97-6.34 1.58-6.13 2.16-5.88 2.69-5.6 3.21-5.27 3.69-4.93 4.13-4.55 4.55-4.13 4.93-3.69 5.27-3.21 5.6-2.69 5.88-2.16 6.13-1.58 6.34-.97 6.54-.33h160v128l.16 3.28.49 3.18.79 3.07 1.07 2.94 1.35 2.8 1.6 2.63 1.84 2.47 2.06 2.27 2.27 2.06 2.47 1.84 2.63 1.6 2.8 1.35 2.94 1.07 3.07.79 3.18.49 3.28.16h128v288l-.33 6.54-.97 6.34-1.58 6.13-2.16 5.88-2.69 5.6-3.21 5.27-3.69 4.93-4.13 4.55-4.55 4.13-4.93 3.69-5.27 3.21-5.6 2.69-5.88 2.16-6.13 1.58-6.34.97-6.54.33h-256l-6.54-.33-6.34-.97-6.13-1.58-5.88-2.16-5.6-2.69-5.27-3.21-4.93-3.69-4.55-4.13-4.13-4.55-3.69-4.93-3.21-5.27-2.69-5.6-2.16-5.88-1.58-6.13-.97-6.34-.33-6.54V343h174.1l-39 39-1.65 1.83-1.43 1.94-1.22 2.05-.99 2.13-.77 2.2-.55 2.25-.33 2.29-.11 2.3.11 2.3.33 2.28.55 2.24.77 2.19.99 2.12 1.22 2.04 1.43 1.93 1.65 1.81 1.83 1.64 1.94 1.42 2.05 1.2 2.13.99 2.2.76 2.25.56 2.29.33 2.3.11 2.3-.1 2.28-.33 2.24-.54 2.19-.77 2.12-.98 2.04-1.21 1.93-1.43 1.81-1.65 80-80 1.65-1.83 1.43-1.94 1.22-2.05.99-2.13.77-2.2.55-2.25.33-2.29.11-2.3-.11-2.3-.33-2.28-.55-2.24-.77-2.19-.99-2.12-1.22-2.04-1.43-1.93-1.65-1.81-80-80-1.83-1.65-1.94-1.43-2.05-1.22-2.13-.99-2.2-.77-2.25-.55-2.29-.33-2.3-.11-2.3.11-2.28.33-2.24.55-2.19.77-2.12.99-2.04 1.22-1.93 1.43-1.81 1.65-1.64 1.83-1.42 1.94-1.2 2.05-.99 2.13-.76 2.2-.56 2.25-.33 2.29-.11 2.3.1 2.3.33 2.28.54 2.24.77 2.19.98 2.12 1.21 2.04 1.43 1.93 1.65 1.81 39 39h-174.1V71"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M133.462 71s0 0 0 0m0 0s0 0 0 0m0 0 .33-6.54m-.33 6.54c.13-2.57.26-5.13.33-6.54m0 0c.36-2.33.72-4.67.97-6.34m-.97 6.34c.35-2.26.69-4.53.97-6.34m0 0c.51-1.99 1.03-3.98 1.58-6.13m-1.58 6.13c.4-1.56.81-3.12 1.58-6.13m0 0c.81-2.22 1.62-4.43 2.16-5.88m-2.16 5.88c.45-1.22.9-2.44 2.16-5.88m0 0c.72-1.51 1.45-3.01 2.69-5.6m-2.69 5.6c.69-1.45 1.39-2.9 2.69-5.6m0 0c.93-1.52 1.86-3.05 3.21-5.27m-3.21 5.27c.97-1.59 1.94-3.18 3.21-5.27m0 0c.86-1.15 1.71-2.29 3.69-4.93m-3.69 4.93c.78-1.04 1.56-2.08 3.69-4.93m0 0c1.53-1.69 3.07-3.38 4.13-4.55m-4.13 4.55c1.54-1.69 3.07-3.38 4.13-4.55m0 0c1.03-.93 2.06-1.87 4.55-4.13m-4.55 4.13c.98-.89 1.97-1.78 4.55-4.13m0 0c1.64-1.23 3.28-2.46 4.93-3.69m-4.93 3.69c1.72-1.29 3.45-2.58 4.93-3.69m0 0c1.11-.68 2.23-1.35 5.27-3.21m-5.27 3.21c1.5-.91 3.01-1.83 5.27-3.21m0 0c1.87-.89 3.73-1.79 5.6-2.69m-5.6 2.69c2.09-1 4.17-2.01 5.6-2.69m0 0c1.72-.64 3.44-1.27 5.88-2.16m-5.88 2.16c1.94-.72 3.89-1.43 5.88-2.16m0 0c2.3-.59 4.6-1.19 6.13-1.58m-6.13 1.58c2.32-.6 4.65-1.2 6.13-1.58m0 0c2.06-.31 4.12-.63 6.34-.97m-6.34.97c2.34-.36 4.69-.72 6.34-.97m0 0c2.05-.1 4.09-.21 6.54-.33m-6.54.33c2.06-.1 4.12-.21 6.54-.33m0 0h160m-160 0h160m0 0v128m0-128v128m0 0s0 0 0 0m0 0s0 0 0 0m0 0 .16 3.28m-.16-3.28c.06 1.16.12 2.32.16 3.28m0 0c.13.82.26 1.64.49 3.18m-.49-3.18c.18 1.13.35 2.26.49 3.18m0 0c.24.95.49 1.91.79 3.07m-.79-3.07c.28 1.1.56 2.2.79 3.07m0 0c.39 1.06.78 2.13 1.07 2.94m-1.07-2.94c.42 1.15.84 2.3 1.07 2.94m0 0c.38.79.76 1.57 1.35 2.8m-1.35-2.8c.4.82.79 1.64 1.35 2.8m0 0c.45.75.91 1.5 1.6 2.63m-1.6-2.63c.4.65.8 1.31 1.6 2.63m0 0c.56.76 1.13 1.52 1.84 2.47m-1.84-2.47c.58.79 1.17 1.57 1.84 2.47m0 0c.75.82 1.5 1.65 2.06 2.27m-2.06-2.27c.75.82 1.5 1.65 2.06 2.27m0 0c.74.66 1.47 1.33 2.27 2.06m-2.27-2.06c.89.81 1.78 1.61 2.27 2.06m0 0c.69.51 1.37 1.02 2.47 1.84m-2.47-1.84c.68.5 1.35 1.01 2.47 1.84m0 0c.81.49 1.62.99 2.63 1.6m-2.63-1.6c.74.45 1.47.9 2.63 1.6m0 0c.72.35 1.43.69 2.8 1.35m-2.8-1.35c.61.3 1.22.59 2.8 1.35m0 0c.85.31 1.69.62 2.94 1.07m-2.94-1.07c1.03.38 2.07.75 2.94 1.07m0 0c.83.22 1.67.43 3.07.79m-3.07-.79 3.07.79m0 0c1.07.16 2.14.33 3.18.49m-3.18-.49c1.2.18 2.39.36 3.18.49m0 0 3.28.16m-3.28-.16c.97.04 1.93.09 3.28.16m0 0h128m-128 0h128m0 0v288m0-288v288m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.1 2.02-.2 4.04-.33 6.54m.33-6.54c-.13 2.52-.26 5.05-.33 6.54m0 0c-.33 2.14-.66 4.29-.97 6.34m.97-6.34c-.32 2.06-.63 4.12-.97 6.34m0 0c-.59 2.28-1.17 4.55-1.58 6.13m1.58-6.13c-.53 2.07-1.07 4.14-1.58 6.13m0 0c-.73 1.99-1.46 3.97-2.16 5.88m2.16-5.88c-.72 1.97-1.44 3.94-2.16 5.88m0 0c-.94 1.97-1.89 3.93-2.69 5.6m2.69-5.6c-.91 1.89-1.82 3.77-2.69 5.6m0 0c-.89 1.46-1.78 2.92-3.21 5.27m3.21-5.27c-.65 1.05-1.29 2.11-3.21 5.27m0 0c-1.13 1.51-2.25 3.01-3.69 4.93m3.69-4.93c-1.29 1.72-2.58 3.44-3.69 4.93m0 0c-1.29 1.42-2.58 2.84-4.13 4.55m4.13-4.55-4.13 4.55m0 0-4.55 4.13m4.55-4.13-4.55 4.13m0 0c-1.2.9-2.41 1.8-4.93 3.69m4.93-3.69-4.93 3.69m0 0c-1.56.95-3.13 1.9-5.27 3.21m5.27-3.21c-1.99 1.21-3.98 2.42-5.27 3.21m0 0c-1.8.86-3.6 1.73-5.6 2.69m5.6-2.69c-1.34.64-2.67 1.28-5.6 2.69m0 0c-2.24.82-4.48 1.65-5.88 2.16m5.88-2.16c-1.38.51-2.77 1.02-5.88 2.16m0 0c-1.46.38-2.93.76-6.13 1.58m6.13-1.58c-1.54.4-3.09.79-6.13 1.58m0 0c-2.12.32-4.24.65-6.34.97m6.34-.97c-2.47.38-4.94.75-6.34.97m0 0c-2.23.11-4.46.22-6.54.33m6.54-.33c-1.97.1-3.93.2-6.54.33m0 0h-256m256 0h-256m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-2.33-.12-4.66-.24-6.54-.33m6.54.33c-1.33-.07-2.65-.13-6.54-.33m0 0c-1.88-.29-3.77-.58-6.34-.97m6.34.97c-2.07-.32-4.14-.63-6.34-.97m0 0c-1.52-.39-3.04-.79-6.13-1.58m6.13 1.58c-2.02-.52-4.04-1.04-6.13-1.58m0 0c-1.6-.59-3.19-1.17-5.88-2.16m5.88 2.16c-1.9-.7-3.8-1.39-5.88-2.16m0 0c-1.41-.68-2.82-1.36-5.6-2.69m5.6 2.69c-1.6-.77-3.2-1.54-5.6-2.69m0 0c-1.4-.86-2.81-1.71-5.27-3.21m5.27 3.21c-2.08-1.27-4.17-2.54-5.27-3.21m0 0c-1.72-1.29-3.43-2.57-4.93-3.69m4.93 3.69c-1.79-1.34-3.57-2.67-4.93-3.69m0 0c-1.18-1.07-2.36-2.15-4.55-4.13m4.55 4.13c-1.64-1.49-3.27-2.97-4.55-4.13m0 0c-1.07-1.19-2.15-2.37-4.13-4.55m4.13 4.55c-1.46-1.61-2.93-3.23-4.13-4.55m0 0-3.69-4.93m3.69 4.93c-.88-1.17-1.76-2.35-3.69-4.93m0 0c-.83-1.37-1.67-2.75-3.21-5.27m3.21 5.27c-1.15-1.89-2.3-3.79-3.21-5.27m0 0c-1.03-2.14-2.05-4.27-2.69-5.6m2.69 5.6c-.68-1.43-1.37-2.85-2.69-5.6m0 0c-.8-2.17-1.59-4.34-2.16-5.88m2.16 5.88c-.82-2.22-1.63-4.44-2.16-5.88m0 0c-.47-1.82-.94-3.64-1.58-6.13m1.58 6.13c-.37-1.44-.74-2.88-1.58-6.13m0 0-.97-6.34m.97 6.34c-.3-1.98-.61-3.97-.97-6.34m0 0c-.13-2.54-.26-5.07-.33-6.54m.33 6.54-.33-6.54m0 0V343m0 112V343m0 0h174.1m-174.1 0h174.1m0 0-39 39m39-39-39 39m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.65.72-1.3 1.44-1.65 1.83m1.65-1.83c-.34.38-.68.76-1.65 1.83m0 0c-.35.47-.7.95-1.43 1.94m1.43-1.94c-.38.5-.75 1.01-1.43 1.94m0 0c-.32.54-.64 1.08-1.22 2.05m1.22-2.05c-.38.64-.76 1.28-1.22 2.05m0 0c-.2.45-.41.89-.99 2.13m.99-2.13c-.38.82-.76 1.64-.99 2.13m0 0c-.18.53-.36 1.05-.77 2.2m.77-2.2c-.3.88-.61 1.75-.77 2.2m0 0c-.15.61-.3 1.22-.55 2.25m.55-2.25c-.16.68-.33 1.35-.55 2.25m0 0-.33 2.29m.33-2.29c-.13.9-.26 1.79-.33 2.29m0 0-.11 2.3m.11-2.3c-.03.59-.06 1.19-.11 2.3m0 0c.03.54.05 1.08.11 2.3m-.11-2.3c.03.72.07 1.44.11 2.3m0 0c.1.71.21 1.43.33 2.28m-.33-2.28c.1.71.21 1.42.33 2.28m0 0c.22.88.44 1.77.55 2.24m-.55-2.24c.16.66.33 1.32.55 2.24m0 0c.26.72.51 1.45.77 2.19m-.77-2.19c.25.69.49 1.39.77 2.19m0 0c.33.7.65 1.4.99 2.12m-.99-2.12c.37.79.74 1.57.99 2.12m0 0c.38.63.75 1.25 1.22 2.04m-1.22-2.04c.4.67.8 1.35 1.22 2.04m0 0c.38.52.77 1.05 1.43 1.93m-1.43-1.93c.38.52.77 1.05 1.43 1.93m0 0c.46.5.91 1 1.65 1.81m-1.65-1.81c.35.39.7.77 1.65 1.81m0 0c.37.33.75.67 1.83 1.64m-1.83-1.64c.43.39.87.78 1.83 1.64m0 0c.62.45 1.25.91 1.94 1.42m-1.94-1.42c.45.32.9.65 1.94 1.42m0 0c.53.3 1.05.61 2.05 1.2m-2.05-1.2c.43.25.86.5 2.05 1.2m0 0c.78.36 1.56.72 2.13.99m-2.13-.99c.54.25 1.08.5 2.13.99m0 0c.67.23 1.33.46 2.2.76m-2.2-.76c.51.17 1.03.35 2.2.76m0 0c.87.22 1.73.43 2.25.56m-2.25-.56c.79.2 1.57.39 2.25.56m0 0 2.29.33m-2.29-.33c.58.08 1.16.16 2.29.33m0 0c.91.04 1.82.09 2.3.11m-2.3-.11c.89.04 1.79.09 2.3.11m0 0c.48-.02.96-.04 2.3-.1m-2.3.1c.73-.03 1.47-.06 2.3-.1m0 0c.61-.09 1.22-.18 2.28-.33m-2.28.33c.58-.09 1.17-.17 2.28-.33m0 0c.79-.19 1.59-.38 2.24-.54m-2.24.54c.88-.21 1.75-.42 2.24-.54m0 0c.7-.25 1.4-.49 2.19-.77m-2.19.77c.5-.18 1.01-.35 2.19-.77m0 0c.56-.26 1.13-.52 2.12-.98m-2.12.98c.69-.31 1.37-.63 2.12-.98m0 0c.63-.37 1.25-.74 2.04-1.21m-2.04 1.21c.8-.48 1.6-.95 2.04-1.21m0 0c.67-.5 1.34-.99 1.93-1.43m-1.93 1.43c.52-.39 1.05-.78 1.93-1.43m0 0c.43-.39.87-.79 1.81-1.65m-1.81 1.65c.42-.38.83-.76 1.81-1.65m0 0 80-80m-80 80 80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c.33-.37.67-.74 1.65-1.83m-1.65 1.83c.63-.7 1.27-1.4 1.65-1.83m0 0c.3-.4.59-.79 1.43-1.94m-1.43 1.94c.42-.57.84-1.13 1.43-1.94m0 0c.4-.68.8-1.35 1.22-2.05m-1.22 2.05c.47-.79.93-1.57 1.22-2.05m0 0c.28-.62.57-1.23.99-2.13m-.99 2.13c.3-.65.6-1.31.99-2.13m0 0c.26-.74.51-1.47.77-2.2m-.77 2.2.77-2.2m0 0 .55-2.25m-.55 2.25c.2-.84.41-1.68.55-2.25m0 0 .33-2.29m-.33 2.29c.11-.75.21-1.49.33-2.29m0 0c.03-.54.05-1.08.11-2.3m-.11 2.3c.04-.91.09-1.81.11-2.3m0 0c-.03-.7-.07-1.41-.11-2.3m.11 2.3c-.04-.75-.07-1.49-.11-2.3m0 0c-.08-.52-.15-1.04-.33-2.28m.33 2.28c-.09-.63-.18-1.26-.33-2.28m0 0-.55-2.24m.55 2.24c-.19-.79-.39-1.58-.55-2.24m0 0-.77-2.19m.77 2.19c-.25-.72-.51-1.44-.77-2.19m0 0c-.23-.5-.46-.99-.99-2.12m.99 2.12c-.39-.83-.78-1.66-.99-2.12m0 0c-.42-.7-.83-1.39-1.22-2.04m1.22 2.04c-.32-.53-.64-1.06-1.22-2.04m0 0c-.47-.64-.95-1.28-1.43-1.93m1.43 1.93c-.47-.63-.94-1.27-1.43-1.93m0 0c-.44-.49-.89-.98-1.65-1.81m1.65 1.81c-.64-.7-1.28-1.4-1.65-1.81m0 0-80-80m80 80-80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.72-.65-1.44-1.3-1.83-1.65m1.83 1.65c-.68-.62-1.37-1.23-1.83-1.65m0 0c-.51-.38-1.02-.75-1.94-1.43m1.94 1.43c-.58-.43-1.17-.87-1.94-1.43m0 0c-.73-.43-1.45-.86-2.05-1.22m2.05 1.22c-.77-.45-1.53-.9-2.05-1.22m0 0c-.46-.21-.93-.43-2.13-.99m2.13.99-2.13-.99m0 0c-.83-.29-1.65-.57-2.2-.77m2.2.77c-.56-.19-1.12-.39-2.2-.77m0 0c-.65-.16-1.29-.31-2.25-.55m2.25.55c-.57-.14-1.13-.27-2.25-.55m0 0c-.74-.11-1.48-.21-2.29-.33m2.29.33c-.51-.07-1.02-.15-2.29-.33m0 0c-.77-.04-1.54-.07-2.3-.11m2.3.11c-.88-.04-1.76-.08-2.3-.11m0 0c-.49.02-.98.05-2.3.11m2.3-.11c-.88.04-1.77.09-2.3.11m0 0c-.62.09-1.23.18-2.28.33m2.28-.33c-.6.09-1.2.17-2.28.33m0 0c-.45.11-.91.22-2.24.55m2.24-.55c-.79.2-1.58.39-2.24.55m0 0c-.56.2-1.12.4-2.19.77m2.19-.77c-.51.18-1.01.36-2.19.77m0 0c-.85.4-1.7.8-2.12.99m2.12-.99c-.51.24-1.02.48-2.12.99m0 0c-.6.36-1.2.71-2.04 1.22m2.04-1.22c-.46.27-.91.55-2.04 1.22m0 0c-.49.36-.99.73-1.93 1.43m1.93-1.43-1.93 1.43m0 0c-.42.38-.85.77-1.81 1.65m1.81-1.65c-.69.63-1.39 1.27-1.81 1.65m0 0-1.64 1.83m1.64-1.83c-.54.6-1.08 1.21-1.64 1.83m0 0c-.53.73-1.07 1.47-1.42 1.94m1.42-1.94c-.36.5-.73 1-1.42 1.94m0 0c-.35.61-.7 1.21-1.2 2.05m1.2-2.05c-.33.58-.67 1.15-1.2 2.05m0 0c-.26.57-.53 1.15-.99 2.13m.99-2.13c-.39.85-.78 1.69-.99 2.13m0 0c-.24.7-.48 1.4-.76 2.2m.76-2.2c-.17.51-.35 1.01-.76 2.2m0 0c-.17.68-.33 1.35-.56 2.25m.56-2.25c-.2.79-.39 1.57-.56 2.25m0 0c-.09.65-.18 1.29-.33 2.29m.33-2.29c-.06.48-.13.95-.33 2.29m0 0c-.03.71-.07 1.43-.11 2.3m.11-2.3-.11 2.3m0 0c.04.86.08 1.73.1 2.3m-.1-2.3c.03.8.07 1.6.1 2.3m0 0c.13.88.25 1.76.33 2.28m-.33-2.28c.11.73.21 1.47.33 2.28m0 0c.18.74.36 1.49.54 2.24m-.54-2.24c.15.64.31 1.28.54 2.24m0 0c.2.57.4 1.15.77 2.19m-.77-2.19c.21.58.41 1.17.77 2.19m0 0c.23.5.46 1.01.98 2.12m-.98-2.12c.35.76.71 1.53.98 2.12m0 0c.38.64.76 1.29 1.21 2.04m-1.21-2.04 1.21 2.04m0 0c.45.6.89 1.21 1.43 1.93m-1.43-1.93c.3.4.6.81 1.43 1.93m0 0 1.65 1.81m-1.65-1.81c.47.52.94 1.03 1.65 1.81m0 0 39 39m-39-39 39 39m0 0h-174.1m174.1 0h-174.1m0 0V71m0 223.9V71m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"18",d:"M135 343.068H31m104 0H31m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.74-.04-1.48-.07-2.46-.12m2.46.12c-.77-.04-1.54-.08-2.46-.12m0 0c-.87-.14-1.75-.27-2.39-.37m2.39.37c-.55-.09-1.1-.17-2.39-.37m0 0c-.87-.22-1.74-.44-2.3-.59m2.3.59c-.62-.15-1.24-.31-2.3-.59m0 0c-.82-.29-1.64-.59-2.21-.8m2.21.8c-.52-.18-1.03-.37-2.21-.8m0 0c-.55-.26-1.09-.52-2.1-1.01m2.1 1.01c-.64-.31-1.28-.61-2.1-1.01m0 0c-.74-.45-1.48-.89-1.98-1.2m1.98 1.2c-.42-.25-.84-.51-1.98-1.2m0 0c-.7-.52-1.41-1.05-1.84-1.38m1.84 1.38c-.37-.28-.75-.56-1.84-1.38m0 0c-.4-.36-.8-.71-1.71-1.54m1.71 1.54c-.35-.31-.7-.63-1.71-1.54m0 0c-.43-.47-.85-.95-1.54-1.71m1.54 1.71c-.61-.68-1.23-1.36-1.54-1.71m0 0c-.29-.38-.58-.76-1.38-1.84m1.38 1.84c-.54-.71-1.08-1.43-1.38-1.84m0 0c-.46-.76-.92-1.52-1.2-1.98m1.2 1.98c-.45-.74-.89-1.47-1.2-1.98m0 0c-.37-.77-.74-1.53-1.01-2.1m1.01 2.1c-.3-.62-.6-1.25-1.01-2.1m0 0c-.2-.54-.39-1.07-.8-2.21m.8 2.21c-.2-.54-.4-1.09-.8-2.21m0 0c-.22-.85-.44-1.71-.59-2.3m.59 2.3c-.12-.46-.24-.92-.59-2.3m0 0c-.11-.72-.22-1.43-.37-2.39m.37 2.39c-.08-.48-.15-.96-.37-2.39m0 0c-.03-.74-.07-1.48-.12-2.46m.12 2.46c-.04-.79-.08-1.59-.12-2.46m0 0c.04-.74.07-1.49.12-2.46m-.12 2.46.12-2.46m0 0c.08-.53.16-1.07.37-2.39m-.37 2.39c.09-.56.17-1.12.37-2.39m0 0c.17-.69.35-1.38.59-2.3m-.59 2.3c.15-.61.31-1.23.59-2.3m0 0c.17-.48.34-.96.8-2.21m-.8 2.21c.2-.55.4-1.1.8-2.21m0 0c.25-.52.49-1.03 1.01-2.1m-1.01 2.1c.36-.76.73-1.52 1.01-2.1m0 0c.43-.72.87-1.44 1.2-1.98m-1.2 1.98c.27-.45.55-.91 1.2-1.98m0 0c.54-.73 1.09-1.47 1.38-1.84m-1.38 1.84c.4-.54.81-1.09 1.38-1.84m0 0c.53-.59 1.07-1.18 1.54-1.71m-1.54 1.71c.59-.66 1.19-1.32 1.54-1.71m0 0c.54-.49 1.08-.97 1.71-1.54m-1.71 1.54c.48-.43.95-.86 1.71-1.54m0 0c.46-.35.92-.7 1.84-1.38m-1.84 1.38c.5-.38 1.01-.76 1.84-1.38m0 0c.52-.32 1.04-.63 1.98-1.2m-1.98 1.2c.72-.44 1.44-.88 1.98-1.2m0 0 2.1-1.01m-2.1 1.01c.84-.4 1.67-.81 2.1-1.01m0 0c.45-.17.91-.33 2.21-.8m-2.21.8c.56-.21 1.12-.41 2.21-.8m0 0c.89-.23 1.79-.46 2.3-.59m-2.3.59c.48-.13.95-.25 2.3-.59m0 0c.51-.08 1.02-.16 2.39-.37m-2.39.37 2.39-.37m0 0c.52-.02 1.03-.05 2.46-.12m-2.46.12c.74-.03 1.48-.07 2.46-.12m0 0 103.34-.27m-103.34.27c30.04-.08 60.08-.16 103.34-.27"}),React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"M517.462 135h-128V7l128 128"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M517.462 135h-128m128 0h-128m0 0V7m0 128V7m0 0 128 128m-128-128 128 128m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})))},saveIcon=e=>React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:e?"var(--color-accent)":"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),React__namespace.createElement("polyline",{points:"17 21 17 13 7 13 7 21"}),React__namespace.createElement("polyline",{points:"7 3 7 8 15 8"})),stringToSVG=e=>(e=e.replace(/stroke\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]width\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]height\s*=\s*['"][^"']*['"]/g,"").replace("
\n\n
\n',RELEASE_NOTES={Intro:'After each update you\'ll be prompted with the release notes. You can disable this in plugin settings.\n\nI develop this plugin as a hobby, spending my free time doing this. If you find it valuable, then please say THANK YOU or...\n\n
\n',"1.8.4":'\n## New from Excalidraw.com\n- Labels on Arrows!!! [#5723](https://github.com/excalidraw/excalidraw/pull/5723)\n - To add a label press "Enter" or "Double click" on the arrow\n - Use "Cmd/Ctrl+double click" to enter the line editor\n\n
\n\n
\n\n## New\n- **Changed behavior**: In the Obsidian markdown editor clicking an Excalidraw image will not open the image (to avoid accidentally opening the image on a tablet). To open a drawing for editing in Excalidraw double click or long-tap on it. [#920](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/920)\n\n## Fixed \n- Text stroke color is not honored when pasting a HEX color string to an Excalidraw canvas open in an Obsidian popout window [#921](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/921)\n- The new [multi-line >> multi-element paste behavior](https://github.com/excalidraw/excalidraw/pull/5786) introduced in the previous release did not work as expected in Obsidian. Now it does.\n',"1.8.2":`\nIntroducing the [Excalidraw Slideshow Script](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Slideshow.md) - available in the script store\n
\n\n
\n\n## Fixed\n- Obsidian tools panel gets misplaced after switching Obsidian workspace tabs\n\n## New in ExcalidrawAutomate\n- changed ${String.fromCharCode(96)}viewToggleFullScreen(forceViewMode: boolean = false): void${String.fromCharCode(96)}: the function will toggle view mode on when going to full screen and view mode off when terminating full screen.\n- new functions\n${String.fromCharCode(96,96,96)}typescript\nsetViewModeEnabled(enabled: boolean):void;\nviewUpdateScene(\n scene: {\n elements?: ExcalidrawElement[];\n appState?: AppState;\n files?: BinaryFileData;\n commitToHistory?: boolean;\n },\n restore: boolean = false,\n ):void;\nviewZoomToElements(\n selectElements: boolean,\n elements: ExcalidrawElement[]\n ):void;\n${String.fromCharCode(96,96,96)}\n\n`,"1.8.1":`\n## New and fixes from Excalidraw.com\n- New text paste behavior. Pasting multiline text will generate separate text elements unless you hold down the shift button while pasting [#5786](https://github.com/excalidraw/excalidraw/pull/5786)\n- line editor fixes [#5927](https://github.com/excalidraw/excalidraw/pull/5927)\n\n## Fixed\n- The Command Palette "Insert link" action now inserts the new link at the top drawing layer, not at the bottom.\n- Updated, hopefully, better organized, Plugin Readme.\n\n## New\n- Second attempt at moving to React 18. This upgrade is required to maintain alignment with the core Excalidraw product and to continue to benefit from Excalidraw.com enhancements.\n- Added options to Plugin Settings\n - to disable autozoom when loading a drawing for the first time [#907](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/907)\n - to modify autosave interval. You can now set an autosave interval for desktop and for mobile [#888](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/888)\n\n## New in ExcalidrawAutomate\n- Published the obsidian_module on the ExcalidrawAutomate object. ${String.fromCharCode(96)}ExcalidrawAutomate.obsidian${String.fromCharCode(96)}. Publishing this object will give script developers increased flexibility and control over script automation.\n`,"1.8.0":'\n
\n\n
\n\n## New\n- Optical Character Recognition (OCR). Introducing the MVP (minimum viable product) release of the integration of [Taskbone](https://taskbone.com) OCR into Excalidraw. See the new scan button on the Obsidian tools panel.\n- New and improved full-screen mode\n - Activate using the Obsidian tools panel, the Obsidian Command Palette, or the Alt+F11 shortcut\n - The ESC key no longer closes full-screen\n - Full-screen mode works properly on iOS as well\n- Improved Icon visibility on the Obsidian tools panel\n- Added 3 additional buttons to the tools panel\n - Force save\n - Open link (useful on Mobile devices). In the case of LaTeX equations, the button opens the equation properties.\n - Open the link in a new pane. In the case of embedded markdown documents, the button opens the embed properties.\n\n## Fixed\n- The [deconstruct selected elements into a new drawing](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Deconstruct%20selected%20elements%20into%20new%20drawing.md) script now also correctly decomposes transcluded text elements.\n',"1.7.30":"\nFix:\n- Forcing the embedded image to always scale to 100% (a feature introduced in [1.7.26](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.7.26)) scaled the embedded excalidraw drawings incorrectly on devices with a pixel ratio of 2 or 3 (e.g. iPads). This is now fixed, however, this fix might retrospectively impact drawings that use this feature. Sorry for that.\n","1.7.29":"\n- This is a big update that accommodates the **UI redesign** on Excalidraw.com [#5780](https://github.com/excalidraw/excalidraw/pull/5780). The change on the surface may seem superficial, however, I had to tweak a number of things to make it work in Obsidian. I hope I found everything that broke and fixed it, if not, I'll try to fix it quickly...\n- This update also comes with changes under the hood that **fix issues with Excalidraw Automate** - paving the way for further scripts, plus some smaller bug fixes.\n- I **reworked text wrapping**. In some cases, text wrapping in SVG exports looked different compared to how the text looked in Excalidraw. This should now be fixed.\n- If you are using the **Experimental Dynamic Styling** of the Excalidraw Toolbar, then I recommend updating your styling script following base on [this](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n","1.7.27":'## New\n- Import SVG drawing as an Excalidraw object. [#679](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/679)\n\n
\n\n
\n\n## Fixed\n- Large drawings freeze on the iPad when opening the file. I implemented a workaround whereby Excalidraw will avoid zoom-to-fit drawings with over 1000 elements. [#863](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/863)\n- Reintroduced copy/paste to the context menu\n',"1.7.26":'## Fixed\n- Transcluded block with a parent bullet does not embed sub-bullet [#853](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/853)\n- Transcluded text will now exclude ^block-references at end of lines\n- Phantom duplicates of the drawing appear when "zoom to fit" results in a zoom value below 10% and there are many objects on the canvas [#850](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/850)\n- CTRL+Wheel will increase/decrease zoom in steps of 5% matching the behavior of the "+" & "-" zoom buttons.\n- Latest updates from Excalidarw.com\n - Freedraw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)\n - Multiple elements resizing regressions [#5586](https://github.com/excalidraw/excalidraw/pull/5586)\n\n## New - power user features\n- Force the embedded image to always scale to 100%. Note: this is a very niche feature with a very particular behavior that I built primarily for myself (even more so than other features in Excalidraw Obsidian - also built primarily for myself 😉)... This will reset your embedded image to 100% size every time you open the Excalidraw drawing, or in case you have embedded an Excalidraw drawing on your canvas inserted using this function, every time you update the embedded drawing, it will be scaled back to 100% size. This means that even if you resize the image on the drawing, it will reset to 100% the next time you open the file or you modify the original embedded object. This feature is useful when you decompose a drawing into separate Excalidraw files, but when combined onto a single canvas you want the individual pieces to maintain their actual sizes. I use this feature to construct Book-on-a-Page summaries from atomic drawings.\n- I added an action to the command palette to temporarily disable/enable Excalidraw autosave. When autosave is disabled, Excalidraw will still save your drawing when changing to another Obsidian window, but it will not save every 10 seconds. On a mobile device (but also on a desktop) this can lead to data loss if you terminate Obsidian abruptly (i.e. swipe the application away, or close Obsidian without first closing the drawing). Use this feature if you find Excalidraw laggy.',"1.7.25":`## Fixed\n- Tool buttons did not "stick" the first time you clicked them.\n- Tray (in tray mode) was higher when the help button was visible. The tray in tablet mode was too large and the help button was missing.\n- ExcalidrawAutomate ${String.fromCharCode(96)}getCM(color:TInput): ColorMaster;${String.fromCharCode(96)} function will now properly convert valid [css color names](https://www.w3schools.com/colors/colors_names.asp) to ColorMaster objects.\n- The downloaded script icons in the Excalidraw-Obsidian menu were not always correct\n- The obsidian mobile navigation bar at the bottom overlapped with Excalidraw\n\n## New\n- Created ExcalidrawAutomate hook for styling script when the canvas color changes. See sample [onCanvasColorChangeHook](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c) implementation following the link.\n\n
\n\n
\n\n${String.fromCharCode(96,96,96)}typescript\n /**\n * If set, this callback is triggered whenever the active canvas color changes\n */\n onCanvasColorChangeHook: (\n ea: ExcalidrawAutomate,\n view: ExcalidrawView, //the Excalidraw view \n color: string,\n ) => void = null;\n${String.fromCharCode(96,96,96)}\n`,"1.7.24":`\n# New and improved\n- **Updated Chinese translation**. Thanks, @tswwe!\n- **Improved update for TextElement links**: Until now, when you attached a link to a file to a TextElement using the "Create Link" command, this link did not get updated when the file was renamed or moved. Only links created as markdown links in the TextElement text were updated. Now both approaches work. Keep in mind however, that if you have a link in the TextElemenet text, it will override the link attached to the text element using the create link command. [#566](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/566)\n- **Transclusion filters markdown comments**: Text transclusion in a TextElement using the ${String.fromCharCode(96)}![[file]]${String.fromCharCode(96)} or ${String.fromCharCode(96)}![[file#section]]${String.fromCharCode(96)} format did not filter out markdown comments in the file placed ${String.fromCharCode(96)}%% inside a comment block %%${String.fromCharCode(96)}. Now they do.\n- **Remove leading '>' from trancluded quotes**: Added a new option in settings under **Links and Transclusion** to remove the leading ${String.fromCharCode(96)}> ${String.fromCharCode(96)} characters from quotes you transclude as a text element in your drawing. \n![image](https://user-images.githubusercontent.com/14358394/194755306-6e7bf5f3-4228-44a1-9363-c3241b34865e.png)\n- **Added support for ${String.fromCharCode(96)}webp${String.fromCharCode(96)}, ${String.fromCharCode(96)}bmp${String.fromCharCode(96)}, and ${String.fromCharCode(96)}ico${String.fromCharCode(96)} images**. This extends the already supported formats (${String.fromCharCode(96)}jpg${String.fromCharCode(96)}, ${String.fromCharCode(96)}gif${String.fromCharCode(96)}, ${String.fromCharCode(96)}png${String.fromCharCode(96)}, ${String.fromCharCode(96)}svg${String.fromCharCode(96)}).\n- **Added command palette action to reset images to original size**. Select a single image or embedded Excalidraw drawing on your canvas and choose ${String.fromCharCode(96)}Set selected image element size to 100% of original${String.fromCharCode(96)} from the command palette. This function is especially helpful when you combine atomic drawings on a single canvas, keeping each atomic piece in its original excalidraw file (i.e. the way I create [book on a page summaries](https://www.youtube.com/playlist?list=PL6mqgtMZ4NP1-mbCYc3T7mr-unmsIXpEG))\n- The ${String.fromCharCode(96)}async getOriginalImageSize(imageElement: ExcalidrawImageElement): Promise<{width: number; height: number}>${String.fromCharCode(96)} function is also avaiable via ExcalidrawAutomate. You may use this function to resize images to custom scales (e.g. 50% size, or to fit a certain bounding rectangle).\n\n# Fixed\n- **Upgraded perfect freehand package to resolve unwanted dots on end of lines** [#5727](https://github.com/excalidraw/excalidraw/pull/5727)\n- **Pinch zoom in View mode opens images** resulting in a very annoying behavior [#837](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/837)\n- **Embedded files** such as transcluded markdown documents and images **did not honor the Obsidian "New Link Format" setting** (shortest path, relative path, absolute path). [#829](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/829)\n- **Fixed error with dataview queries involving Excalidraw files**: In case you created a task on an Excalidraw canvas (${String.fromCharCode(96)}docA.md${String.fromCharCode(96)}) by typing ${String.fromCharCode(96)}- [ ] Task [[owner]] #tag${String.fromCharCode(96)}, and then you created a Dataview tasklist in another document (${String.fromCharCode(96)}docB.md${String.fromCharCode(96)}) such that the query criteria matched the task in ${String.fromCharCode(96)}docA.md${String.fromCharCode(96)}, then the task from ${String.fromCharCode(96)}docA.md${String.fromCharCode(96)} only appeared as an empty line when viewing ${String.fromCharCode(96)}docB.md${String.fromCharCode(96)}. If you now embedded ${String.fromCharCode(96)}docB.md${String.fromCharCode(96)} into a third markdown document (${String.fromCharCode(96)}docC.md${String.fromCharCode(96)}), then instead of the contents of ${String.fromCharCode(96)}docB.md${String.fromCharCode(96)} Obsidian rendered ${String.fromCharCode(96)}docA.md${String.fromCharCode(96)}. [#835](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/835)\n`,"1.7.22":"\n# Fixed\n- Text size in sticky notes increased when opening the drawing and when editing a sticky note [#824](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/824)\n- ToDo rendering did not work properly when there were parsed links in the text\n- Horizontal text alignment in sticky notes did not honor text alignment setting when resizing text. The text was always aligned center even when text alignment was left or right. [#5720](https://github.com/excalidraw/excalidraw/issues/5720)\n","1.7.21":`\n# New from Excalidraw.com\n- Image-mirroring in export preview and in exported SVG [#5700](https://github.com/excalidraw/excalidraw/pull/5700), [#811](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/811), [#617](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/617)\n\n# New \n- Ctrl+s will force-save your drawing and update all your transclusions\n- Added setting to parse ${String.fromCharCode(96)}- [ ] ${String.fromCharCode(96)} and ${String.fromCharCode(96)}- [x] ${String.fromCharCode(96)} todo items. Parsing is disabled by default. This feature can be found under "Links and Transclusions" in Plugin Settings. [#819](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/819)\n\n![image](https://user-images.githubusercontent.com/14358394/192145020-94bdd115-d24f-47c7-86fe-1417c53980c4.png)\n\n\n\n\n- Added new scripts to the script library\n - [Rename Image](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Rename%20Image.md)\n - [Text Arch](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Text%20Arch.md)\n\n\n\n\n# Fixed\n- Fixed toast message to display script name on press and hold on mobile and iPad.\n- Fixed save error when the embedded image file is not found (i.e. it was moved, renamed, or deleted)\n\n`,"1.7.20":'\n# New from Excalidraw.com\n- support segment midpoints in line editor [#5641](https://github.com/excalidraw/excalidraw/pull/5641)\n
\n\n
\n\n# Fixed\n- When editing a line or arrow and selecting a tool on the toolbar, the tool jumps back to the selection tool and you need to click again to select the tool [#5703](https://github.com/excalidraw/excalidraw/issues/5703)\n- Minor improvement of autosave, hopefully decreasing occasional lagging\n',"1.7.19":`\n# QoL improvements\n- Reintroduced the help button. I also added the help button to the Tray (in Tray Mode) and moved help to the canvas action panel (in non-TrayMode) because in Obsidian 0.16.0 the status bar hides the help icon.\n- Resetting the canvas with the "Reset Canvas" button will now preserve your custom color palette.\n- I updated the [Set background color of unlclosed line object](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Set%20background%20color%20of%20unclosed%20line%20object%20by%20adding%20a%20shadow%20clone.md) script. The script will now add background color to open freedraw objects as well. You no longer need to convert freedraw objects to lines before setting the background color. Check the Script Engine library to download the update.\n\n# New in Excalidraw Automate\n- I added the [ColorMaster](https://github.com/lbragile/ColorMaster#readme) library to ExcalidrawAutomate. You can get a CM object by calling ${String.fromCharCode(96)}ExcalidrawAutomate.getCM()${String.fromCharCode(96)}. Color master introduces many new ways to manipulate colors from script. I will publish scripts that make use of this new functionality including supporting videos on my YouTube channel in the coming days.\n`,"1.7.18":"\n## Critical fix\n- duplicating text elements, adding text elements from the library, and pasting excalidraw text elements results in a corrupted file!!","1.7.17":`\n## Fixed\n- Block transclusions sometimes got lost when switching between RAW mode and PREVIEW mode. [#769](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/769)\n\n## New\n- Added feature to disable "new Excalidraw version" notification [#770](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/770)\n- Added option to export both light- and dark-themed images at the same time. If this is enabled Excalidraw will create two files "filename.dark.png" and "filename.light.png" (or .svg depending on your other settings). See practical use case here: [Aadam's Notes](https://notes.aadam.dev/SBYNtPHqsTW9Ck1Kuoxsu/)\n- Added custom export padding for PNG images. Use the frontmatter key ${String.fromCharCode(96)}excalidraw-export-padding${String.fromCharCode(96)} to set the padding at a file level, or set padding for all your files in plugin settings. The new feature replaces the old "SVG Padding" option and applies to both SVG and PNG exports.\n\n## ExcalidrawAutomate\n- Added ${String.fromCharCode(96)}padding${String.fromCharCode(96)} to the createPNG function call.\n${String.fromCharCode(96,96,96)}typescript\nasync createPNG(\n templatePath?: string,\n scale: number = 1,\n exportSettings?: ExportSettings,\n loader?: EmbeddedFilesLoader,\n theme?: string,\n padding?: number,\n)\n${String.fromCharCode(96,96,96)}\n`,"1.7.16":"\n## Fixed\n- Excalidraw canvas is empty after saving the drawing and re-opening it at a later time. If you accidentally paste Excalidraw elements from the clipboard as the contents of a text element, in certain situations this can corrupt the Excalidraw file and as a result, Excalidraw will load an empty-looking drawing the next time. Changing to markdown view, these files can be repaired, however, to avoid accidental data loss, I have prevented pasting of excalidraw clipboard contents as text elements. [#768](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/768)\n\n## New\n- Add zoom % display in tray-mode [737](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/737)\n","1.7.15":"\n## Fixed\n- Canvas turns white when adding point for curved line [#760](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/760), [#738](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/738), [#5602](https://github.com/excalidraw/excalidraw/issues/5602)\n","1.7.14":`\n
\n\n
\n\n## New\n- The ${String.fromCharCode(96)}Copy markdown link for selected element to clipboard${String.fromCharCode(96)} action in the Obsidian menu is now more intelligent. If multiple elements are selected it will copy the Element Reference for the largest element. \n- When referencing an element in a link pointing to an Excalidraw file using the elementId or the section header as the block reference e.g. ${String.fromCharCode(96)}[[file#^elementID]]${String.fromCharCode(96)}, you can now add the ${String.fromCharCode(96)}group=${String.fromCharCode(96)} prefix, e.g. ${String.fromCharCode(96)}[[file#^group=elementID]]${String.fromCharCode(96)} and the ${String.fromCharCode(96)}area=${String.fromCharCode(96)} prefix, e.g. ${String.fromCharCode(96)}[[file#area=Section heading]]${String.fromCharCode(96)}.\n - If the ${String.fromCharCode(96)}group=${String.fromCharCode(96)} prefix is found, Excalidraw will select the group of elements in the same group as the element referenced by the elementID or heading section.\n - If the ${String.fromCharCode(96)}area=${String.fromCharCode(96)} prefix is found, excalidraw will insert a cutout of the image around the referenced element.\n - The ${String.fromCharCode(96)}area=${String.fromCharCode(96)} selector is not supported when embedding Excalidraw as PNG into your markdown documents.\n- I added "Toggle left-handed mode" to the Command Palette. The action is only visible if tray-mode is enabled. It will move the tray from left to right and back. [749](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/749)\n\n## Fixed\n- Zooming with CTRL+Wheel will no longer trigger hover preview.\n- When editing text in a text element CTRL+C will not launch the hover preview in case the mouse pointer is over the text element being edited. Hover preview will only show if the element is not in editing mode.\n- ExcalidrawAutomate did not reliably save changes. This caused issues for example in the "Add link to an existing file and open" script. [#747](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/747)\n- Create a new folder not working when clicking on a link in Erxcalidraw that points to a file that is in a folder that does not yet exist. [741](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/741)\n- Downgraded to React 17 due to various stability issues, including [#738](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/738) and [#747](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/747)\n\n## New in Excalidraw Automate\n- I added two new Excalidraw Automate functions\n${String.fromCharCode(96,96,96)}typescript\n/**\n * Gets the groupId for the group that contains all the elements, or null if such a group does not exist\n * @param elements \n * @returns null or the groupId\n*/\ngetCommonGroupForElements(elements: ExcalidrawElement[]): string;\n\n/**\n * Gets all the elements from elements[] that share one or more groupIds with element.\n * @param element \n * @param elements - typically all the non-deleted elements in the scene \n * @returns \n*/\ngetElementsInTheSameGroupWithElement(element: ExcalidrawElement, elements: ExcalidrawElement[]): ExcalidrawElement[];\n${String.fromCharCode(96,96,96)}`,"1.7.13":`\n## Fix from Excalidraw.com\n- Resize multiple elements from center ([#5560](https://github.com/excalidraw/excalidraw/pull/5560))\n\n## Obsidian 0.16.0 compatibility (getting ready, because 0.16.0 will be available to insiders soon)\n- ${String.fromCharCode(96)}Install or update Excalidraw Scripts${String.fromCharCode(96)} was only available via the page header button. Because the page header is hidden by default, the install script action is now available through the pane menu and through the command palette as well.\n- ${String.fromCharCode(96)}Open selected text as link${String.fromCharCode(96)} page header button is now also available via the pane menu\n- ${String.fromCharCode(96)}Open in Adjacent Pane${String.fromCharCode(96)} and ${String.fromCharCode(96)}Open in Main Workspace${String.fromCharCode(96)} Excalidraw plugin settings is fixed\n`,"1.7.12":`\n## New from Excalidraw.com:\n- Showing a mid-point for lines and arrows. By touching the mid-point you can easily add an additional point to a two-point line. This is especially helpful when working on a tablet with touch input. ([#5534](https://github.com/excalidraw/excalidraw/pull/5534))\n- Lock angle when editing a line or an arrow with SHIFT pressed. Pressing SHIFT will restrict the edited point to snap to certain discrete angles. ([#5527](https://github.com/excalidraw/excalidraw/pull/5527))\n\n## Fixed:\n- Clicking Obsidian search-results pointing to an element on the canvas works again ([#734](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/734))\n- The feature to allow resizing and rotation of lines and arrows consisting of 3 or more points by showing the bounding box when selected is back ([#5554](https://github.com/excalidraw/excalidraw/pull/5554))\n\n## New\n- You can now use the following frontmatter key to allow/prevent automatic export of PNG/SVG images at a file level. This frontmatter will override export settings for the given file. ([#732](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/732)\n${String.fromCharCode(96)}excalidraw-autoexport: none|both|svg|png${String.fromCharCode(96)}\n`,"1.7.11":`\n## Fixed\n- Markdown files embed into the Excalidraw canvas crashed when the embedded markdown file included a nested Markdown embed with a block reference (i.e. the markdown document you are dropping into Excalidraw included a quote you referenced from another file using a ${String.fromCharCode(96)}[[other-file#^blockref]]${String.fromCharCode(96)} block or section reference. \n- Horizontal flipping of arrows and lines broke in 1.7.10. ([#726](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/726))\n`,"1.7.10":'\n## New from Excalidraw.com\n- Improved handling of arrows and lines. ([#5501](https://github.com/excalidraw/excalidraw/pull/5501))\n\n## Fixed\n- When opening a document in view-mode or zen-mode the panel buttons no longer flash up for a moment before switching to the desired mode. ([#479](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/479))\n- The "blinding white screen" no longer flashes up while loading the scene if the scene is dark ([#241](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/241))\n\n## Under the hood\n- Finalized migration to React 18 (no longer showing an error about React 17 compatibility mode in console log)\n',"1.7.9":'\n## New features and fixes from Excalidraw.com:\n- The right-click context menu is now scrollable on smaller screens ([#4030](https://github.com/excalidraw/excalidraw/pull/4030), [#5520](https://github.com/excalidraw/excalidraw/pull/5520))\n- Holding down the shift key while rotating an object will rotate it at discrete angles. Rotation is continuous without the SHIFT key. ([#5500](https://github.com/excalidraw/excalidraw/pull/5500))\n- Improved cursor alignment when resizing an element proportionally (maintain aspect ratio) by holding SHIFT during resizing. ([#5513](https://github.com/excalidraw/excalidraw/pull/5515))\n- Improved freedraw performance during editing (now has proper canvas caching), and no more blurry freedraw shapes when exporting on a higher scale. ([#5481](https://github.com/excalidraw/excalidraw/pull/5481))\n- Sidebar stencil library now correctly scrolls vertically ([#5459](https://github.com/excalidraw/excalidraw/pull/5459))\n\n## New in Obsidian:\n- Fullscreen mode on iPad. When there are multiple work panes open, clicking the fullscreen action in the Excalidraw Obsidian menu will hide the other work panes and make Excalidraw fullscreen.\n\n## Fixes in Obsidian:\n- Drag&Drop an image from a web browser into Excalidraw ([#697](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/697))\n- On Obsidian Mobile 1.3.0, when the drawing included an embedded image, switching from markdown-view to Excalidraw-view caused the drawing to disappear (it had to be recovered from backup or synchronization history). ([#715](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/715))\n- When working on a mobile device (tablet and phone) and using two work panes (one for drawing and the other for editing a markdown document) if you switched focus from the drawing to the markdown document auto-zoom changed the zoom level of the drawing. ([#723](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/723)), ([#705](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/705))\n- Actions on the Command Palette to create a new drawing in a new pane or reusing an existing adjacent pane; on the main workspace or in the Hover Editor or Popout window, were not working well. See related settings in plugin settings under "Links and transclusions" ([#718](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/718))\n- There was a problem with links with section references when the header contained space characters ([#704](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/704))\n- I added additional controls to avoid the fantom warnings about a problem with saving the Excalidraw file. Hopefully, from now on, you\'ll see this error less frequently ([#701](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/701))\n',"1.7.8":'\n# Optimized for Obsidian 0.15.5\n- I reworked how the plugin treats the "More options" menu because the old approach was interfering with Obsidian\n- Did thorough testing of handling of work panes on link click. There are two settings (open in the adjacent pane, and open in the main workspace), and three broad scenarios (Excalidraw in a work pane in the main Obsidian window, Excalidraw in a hover editor, and Excalidraw in an Obsidian popout window). All should work correctly now.\n',"1.7.7":`\n# New\n- Optimized for Obsidian 0.15.4\n- On a desktop, you can now use the META key when clicking on a link and it will open the link in a new popout Window.\n- ([#685](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/685)) Markdown embeds will now display correctly in Excalidraw even if they include photos and recursive markdown embeds. Unfortunately due to the limitations of Safari the inversion of colors on iPads in dark mode will not work well.\nSee an 18 second long demo video [here](https://user-images.githubusercontent.com/14358394/177213263-2a7ef1ca-0614-4190-8955-e830ca6b424b.mp4).\n\n\n# Fixed\n- ([#683](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/683)) Copy/Paste Markdown embeds to create another instance of the embed, thus you can reference different sections of the document in your drawing (something I broke in 1.7.6)\n- ([#684](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/684)) Transclusions incorrectly did not pick up subsections of a section. To understand this change, imagine for example the following document:\n${String.fromCharCode(96,96,96)}markdown\n# A\nabc\n# B\nxyz\n## b1\n123\n## b2\n456\n# C\n${String.fromCharCode(96,96,96)}\nWhen you transclude ${String.fromCharCode(96)}![[document#B]]${String.fromCharCode(96)} you expect the following result\n${String.fromCharCode(96,96,96)}markdown\nB\nxyz\n\nb1\n123\n\nb2\n456\n${String.fromCharCode(96,96,96)}\nUntil this fix you only got\n${String.fromCharCode(96,96,96)}markdown\nB\nxyz\n${String.fromCharCode(96,96,96)}`,"1.7.6":`\nThis release is the same as 1.7.5 except for two minor fixes\n- a fix for ExcaliBrain, becuase 1.7.5 broke ExcaliBrain.\n- I left out the release note from 1.7.5.\n\n# New\n- Deployed sidebar for libraries panel from excalidraw.com ([#5274](https://github.com/excalidraw/excalidraw/pull/5274)). You can dock the library to the right side depending on the screen real estate available (i.e. does not work on mobiles).\n\n# Fixed\n- When copying 2 identical images from one drawing to another, the second image got corrupted in the process ([#672]https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/672)).\n- When making a copy of an equation in a drawing and then without first closing/opening the file, immediately copying the new equation to another drawing, the equation did not get displayed until the file was closed and reopened.\n- Copying a markdown embed from one drawing to another, in the destination the markdown embed appeared without the section/block reference and without the width & height (i.e. these settings had to be done again)\n- Improved the parsing of section references in embeds. When you had ${String.fromCharCode(96)}&${String.fromCharCode(96)} in the section name in a markdown file, when embedding that markdown document into Excalidraw, the section reference did not work as expected ([#681 ](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/681)).\n- Improved the logic for autosave to better detect changes to the document, and to reduce too frequent export of ${String.fromCharCode(96)}.png${String.fromCharCode(96)} and/or ${String.fromCharCode(96)}.svg${String.fromCharCode(96)} files, when auto export is enabled in plugin settings.\n`,"1.7.5":`\n# New\n- Deployed sidebar for libraries panel from excalidraw.com ([#5274](https://github.com/excalidraw/excalidraw/pull/5274)). You can dock the library to the right side depending on the screen real estate available (i.e. does not work on mobiles).\n\n# Fixed\n- When copying 2 identical images from one drawing to another, the second image got corrupted in the process ([#672]https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/672)).\n- When making a copy of an equation in a drawing and then without first closing/opening the file, immediately copying the new equation to another drawing, the equation did not get displayed until the file was closed and reopened.\n- Copying a markdown embed from one drawing to another, in the destination the markdown embed appeared without the section/block reference and without the width & height (i.e. these settings had to be done again)\n- Improved the parsing of section references in embeds. When you had ${String.fromCharCode(96)}&${String.fromCharCode(96)} in the section name in a markdown file, when embedding that markdown document into Excalidraw, the section reference did not work as expected ([#681 ](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/681)).\n- Improved the logic for autosave to better detect changes to the document, and to reduce too frequent export of ${String.fromCharCode(96)}.png${String.fromCharCode(96)} and/or ${String.fromCharCode(96)}.svg${String.fromCharCode(96)} files, when auto export is enabled in plugin settings.\n`,"1.7.4":"\n- Obsidian 0.15.3 support dragging and dropping work panes between Obsidian windows.\n- Addressed Obsidian changes affecting the more-options menu.\n- Addressed incompatibility with Obsidian Mobile 1.2.2.\n","1.7.3":"\nObsidian 0.15.3 support for dragging and dropping work panes between Obsidian windows.\n","1.7.2":"\nDue to some of the changes to the code, I highly recommend restarting Obsidian after installing this update to Excalidraw.\n\n# Fixed\n- Stability improvements\n- Opening links in new panes and creating new drawings from the file explorer works properly again\n\n# New feature\n- Two new command palette actions:\n - Create a new drawing - IN A POPOUT WINDOW\n - Create a new drawing - IN A POPOUT WINDOW - and embed into active document\n![image|600](https://user-images.githubusercontent.com/14358394/175137800-88789f5d-f8e8-4371-a356-84f443aa6a50.png)\n- Added setting to prefer opening the link in the popout window or in the main workspace.\n![image|800](https://user-images.githubusercontent.com/14358394/175076326-1c8eee53-e512-4025-aedb-07881a732c69.png)\n","1.7.1":"\nSupport for Obsidian 0.15.0 popout windows. While there are no new features (apart from the popout window support) under the hood there were some major changes required to make this happen.\n","1.7.0":"\nThis is the first test version of Excalidraw Obsidian supporting Obsidian 0.15.0 popout windows. The current technical solution is not really sustainable, it's more of a working concept. I don't expect any real big issues with this version - on the contrary, this works much better with Obsidian 0.15.0 popout windows, but some of the features aren't working as expected in the Obsidian popouts yet. Also as a consequence of Obsidian 0.15.0 compatibility, multiple hover previews are no longer supported.\n","1.6.34":"\nWith 0.15.1 Obsidian is implementing some exciting, but significant changes to how windows are managed. I need to make some heavy/invasive changes to Excalidraw to adapt. The next version of the Excalidraw Plugin will require Obsidian 0.15.1 or newer. If you are not signed up for Obsidian Insider Builds, you will need to wait few weeks until the new Obsidian version will be made public.\n\n# Fixed\n- Error saving when the attachments folder exists but with a different letter case (i.e. ATTACHMENTS instead of attachments) [658](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/658). I added more error tolerance. As a general rule, however, I recommend treating file paths as case-sensitive as some platforms like iOS or LINUX have case-sensitive filenames, and synchronizing your Vault to these platforms will cause you headaches in the future.\n- Text detached from the container if you immediately clicked the text-align buttons on the properties pane while still editing the text in the container for the very first time. [#657](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/657).\n- Can't add text to the second container if the first container has text and the second container is centered around the first one. [#5300](https://github.com/excalidraw/excalidraw/issues/5300)\n","1.6.33":`\n# Fixed\n- Under some special circumstances when you embedded a drawing (guest) into another drawing (host), the host did not update when you modified the guest, until you closed Excalidraw completely and reopened the host. [#637](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/637)\n\n# New\n- ExcalidrawAutomate ${String.fromCharCode(96)}addLabelToLine${String.fromCharCode(96)} adds a text label to a line or arrow. Currently this function only works with simple straight 2-point (start & end) lines.\n${String.fromCharCode(96,96,96)}typescript\naddLabelToLine(lineId: string, label: string): string\n${String.fromCharCode(96,96,96)}\n- ExcalidrawAutomate ${String.fromCharCode(96)}ConnectObjects${String.fromCharCode(96)} now returns the ID of the arrow that was created.`,"1.6.32":"\n## Fixed\n- Filenames of embedded images and markdown documents did not get updated if the drawing was open in a work-pane while you changed the filename of the embedded file (image or markdown document) [632](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/632).\n- When you created a new text element and immediately dragged it, sometimes autosave interrupted the drag action and Excalidraw dropped the element you were dragging [630](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/630)\n- In some edge cases when you had the drawing open on your desktop and you also opened the same image on your tablet, Sync seemed to work in the background but the changes did not appear on the desktop until you closed and opened the drawing again. [629](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/629)\n- LaTeX support: Excalidraw must download a javascript library from one of the hosting sites for MathJax tex2svg. It seems that some people do not have access to the URL recommended in the first place by [MathJax](https://docs.mathjax.org/en/latest/web/start.html). If LaTeX formulas do not render correctly in Excalidraw, try changing the source server under Compatibility Settings in Excalidraw Plugin Settings. [628](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/628)","1.6.31":"\nMinor update:\n\n## Fixes\n- Color picker hotkeys were not working. They are working again [627](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/627)\n- I updated MathJax (LaTeX) to the newest (3.2.1) release.","1.6.30":"\n## Fixed\n- The load stencil library button stopped working after 1.6.29 due to an error in the core Excalidraw package. It is now fixed. [#625](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/625).\n- On iPad (probably other Obsidian mobile devices as well) after opening the command palette the positioning of the pointer was off. From now on, the pointer is automatically re-calibrated every 5 seconds.\n- I improved shared-vault collaboration sync. If the open file has not been saved for the last 5 minutes (i.e. you are not working on the drawing actively), and a newer remote version of the file is received via sync, then the remote file will simply overwrite the local file (i.e. the behavior of Excalidraw Obsidian prior to implementing Shared (Multiplayer) Vault Synchronization support in 1.6.29). This solution will support active collaboration when parties participating are actively editing the drawing, but also caters to the scenario when you open a drawing on one device (e.g. your desktop) and once you are finished editing you do not close the drawing, but simply put your PC to sleep... then later you edit the same drawing on your tablet. When you turn your desktop PC on the next time, the changes you've made on your tablet will be synchronized by Obsidian sync. In this case the changes from your tablet should be honored. If you have not edited the open drawing for more then 5 minutes (like in this scenario) there is no value in running the file comparison between the local version and the received one. This approach reduces the probability of running into sync conflicts.","1.6.29":"\n## New\n- I implemented sync support inspired by the new [Obsidian Multiplayer Sync](https://youtu.be/ZyCPhbd51eo) feature (available in insider build v0.14.10). \n - To manage expectations, this is not real-time collaboration like on Excalidraw.com. Synchronization is delayed by the frequency of the autosave timer (every 10 secs) and the speed of Obsidian sync. Also if a file has conflicting versions, Obsidian sync may delay the delivery of the changed file.\n - Even if you are not using multiplayer Obsidian Vaults, you may benefit from the improved synchronization, for example when using the freedraw tool on your tablet or phone, and in parallel editing the same drawing (e.g. typing text) on your desktop. I frequently do this in a mind-mapping scenario.\n - If the same Excalidraw sketch is open on multiple devices then Excalidraw will try to merge changes into the open drawing, thus parallel modifications on different devices are possible. If the same element is edited by multiple parties at the same time, then the foreign (received) version will be honored and the local changes lost. \n\n## Fixed:\n- Default embed width setting stopped working. [#622](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/622)\n- The link tooltip gets stuck on screen after Excalidraw closes [#621](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/621)\n- Layout error when using the Workspaces core plugin. [#28](https://github.com/zsviczian/excalibrain/issues/28)","1.6.28":'\n## New\n- When dropping a link from a DataView query into Excalidraw the link will honor your "New link format" preferences in Obsidian. It will add the "shortest path when possible", if that is your setting. If the link includes a block or section reference, then the link will automatically include an alias, such that only the filename is displayed (shortest path possible allowing) [#610](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/610)\n- If Excalidraw is in a Hover Editor and you open a link in another pane by CTRL+SHIFT+Click then the new page will open in the main workspace, and not in a split pane in the hover editor.\n\n## Fixed\n- New text elements get de-selected after auto-save [#609](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/609)\n- Update opacity of bound text when the opacity of the container is updated [#5142](https://github.com/excalidraw/excalidraw/pull/5142)\n- ExcalidrawAutomate: openFileInNewOrAdjacentLeaf() function. This also caused an error when clicking a link in Excalidraw in a hover window, when there were no leaves in the main workspace view.',"1.6.27":"\n## New Features\n- While these new features are benefitial for all Excalidraw Automation projects, the current changes are mainly in support of the [ExcaliBrain](https://youtu.be/O2s-h5VKCas) integration. See detailed [Release Notes](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.27) on GitHub.\n","1.6.26":`\n## Fixed\n- Dragging multiple files onto the canvas will now correctly [#589](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/589)\n - add multiple links\n - or if you hold the CTRL/(SHIFT on Mac) while dropping the files, then adding multiple images\n- Dropped images and links were not selectable with the selection tool until the file was saved. This is now fixed.\n- Display the linked block/section on link-hover instead of the full page. [#597](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/597)\n- Hover preview without CTRL/CMD works again. Requires configuration in plugin settings. [#595](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/595)\n- If you embed the same markdown document into a drawing multiple times, you can now display different sections of the document in each embedded object. [#601](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/601).\n- If you make a copy of an equation and edit this copy, the original equation will remain unchanged [#593](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/593)\n\n## New Features\n- When you drag files from Dataview-results onto the canvas the obsidian:// urls will be converted into wiki links.[#599](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/599)\n- I added one more frontmatter key: ${String.fromCharCode(96)}excalidraw-linkbutton-opacity: ${String.fromCharCode(96)} This sets the opacity of the blue link-button in the top right corner of the element, overriding the respective setting in plugin settings. Valid values are numbers between 0 and 1, where 0 means the button is fully transparent.\n\n## New Excalidraw Automate Features\n- As part of building the new [ExcaliBrain](https://youtu.be/O2s-h5VKCas) plugin, I've added a number of integration features. See the GitHub [Release Notes](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.26) for details.\n`,"1.6.25":`\n## Fixed\n- Pinch-zoom in view mode was broken ([#5001](https://github.com/excalidraw/excalidraw/pull/5001))\n- The add image button on iPad was not working ([#5038](https://github.com/excalidraw/excalidraw/pull/5038) & [#584](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/584))\n\n## New Features\n- If Excalidraw is open in a [hover-editor](https://github.com/nothingislost/obsidian-hover-editor) when opening a link in a new pane Excalidraw will now open the link in the main workspace and not by splitting the view inside the hover-editor. \n- Excalidraw ScriptEngine settings\n - Script Engine settings now render HTML descriptions\n - If the ${String.fromCharCode(96)}height${String.fromCharCode(96)} property of a text setting is set, the corresponding text input field will be rendered as a textArea with the specified height.\n`,"1.6.24":"\n## Fixed\n- Link fixes:\n - Shift+Click on an element link (i.e. a link attached to a rectangle, ellipse, etc) did not open the link in a new leaf.\n - Clicking a link and opening it in a new leaf will now make the new leaf active and focused after the click.\n- Pointer calibration:\n - Opening an Excalidraw drawing with the [hover-editor](https://github.com/nothingislost/obsidian-hover-editor) and dragging the editor to another location corrupted the calibration of the pointer in Excalidraw. Similarly, when rearranging workspace panes by dragging, Excalidraw lost pointer calibration.\n\n## New Features\n### From Excalidraw.com\n- Element locking: The lock and unlock action is in the context menu.\n\n### Plugin\n- Any element that has a link, ctrl/cmd+clicking anywhere on the object will trigger the link action. You no longer have to go to the link icon. ([#541](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/541#issuecomment-1075578365))\n","1.6.23":`\n## Fixed:\n- I have received some user feedback about cases where the text separated from the sticky note. This version comes with a cleanup algorithm that will try to automatically resolve these issues.\n- Autosave did not notice changes in a very obscure case, when you opened a drawing, resized an element, and without deselecting the element you immediately closed the drawing. ([565](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/565))\n- CTRL+Enter to create a task did not work in hover-editor when opened from Excalidraw. Now it does! Thanks @pjeby! ([567](https://github.com/zsviczian/obsidian-excalidraw-plugin/pull/567))\n\n## New Features\n- If you have the [Obsidian-Latex](https://github.com/xldenis/obsidian-latex) plugin installed, from now Excalidraw will also process the ${String.fromCharCode(96)}preambles.sty${String.fromCharCode(96)} file. ( [563](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/563))\n- I added a new setting ${String.fromCharCode(96)}Embed & Export >> If found, use the already exported image for preview${String.fromCharCode(96)}. This setting works in conjunction with the ${String.fromCharCode(96)}Auto-export SVG/PNG${String.fromCharCode(96)} settings. If an exported image that matches the file name of the drawing is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See release notes for a [demo video](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.22).\n`,"1.6.22":'\n## Fixed:\n- "Create a new drawing - IN THE CURRENT ACTIVE PANE - and embed into active document" did not work as intended when an Excalidraw pane was already open. [#559](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/559)\n- [Obsidian-hover-editor](https://github.com/nothingislost/obsidian-hover-editor) related improvements [#555](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/555):\n - hovering triggered many hover preview windows in quick succession, and in some cases raised dozens of errors in the Developer Console\n - hover-editors were not visible in Excalidraw fullscreen mode\n\n## Minor new features:\n- Activating the eraser with key "e" will toggle the active tool and back. So for example if you are drawing a freedraw shape, you can press "e" to delete a few strokes, then press "e" again to continue drawing. On desktop PCs many styluses allow you to configure the pen button to trigger keypress "e". \n- New setting to enable penMode by default.\n- I increased the file size limit for images you paste into Excalidraw from 2MB to 20MB. You should however avoid very large images as they will impact the overall performance of the canvas. ([#557](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/557))\n',"1.6.21":`\nBefore I move on to implementing further features, I spent this week with further stabilizing and debugging the plugin. Hopefully this will result in a smoother, better experince for you all.\n\n## Fixed\n- Links in drawings (e.g. text elements or embedded images) were sometimes not updating when the source file was moved or renamed in your Vault. The issue happend when you had the drawing and the linked file open in panes next to each other. This has led to broken links. ([#546](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/546))\n- To remove complexity and potential error, I have hidden the autosave settings. From now, autosave is now always enabled. Excalidraw will attempt to save your drawing every 10 seconds, or if you are actively engaged in drawing a shape at that very moment (e.g. you are busy with a freedraw line), then autosave will save the drawing at the earliest next opportunity. I imlemented further triggers to save the drawing when there are changes in the drawing and you click outside the drawing canvas. There was a rare error involving text elements, that when happened blocked saving of the file. This error is now properly handeled. Also from now, you will receive a warning message if for any reason save encountered problems. \n- If you have two heading sections in your drawing, e.g. ${String.fromCharCode(96)}# Section abc${String.fromCharCode(96)} and ${String.fromCharCode(96)}# Section abc def${String.fromCharCode(96)}, then referencing ${String.fromCharCode(96)}[[#Section abc]]${String.fromCharCode(96)} in a link will highlight both text elements when clicking the link. These section references now work as expected. ([#530](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/530))`,"1.6.20":`\n
\n\n
\n\n## Fixed\n- ${String.fromCharCode(96)}ExcalidrawAutomate.create()${String.fromCharCode(96)} threw an error [539](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/539)\n\n## New Features\n### From excalidraw.com\n- Bind/unbind text to/from container [4935](https://github.com/excalidraw/excalidraw/pull/4935)\n\n### Plugin\nFrontmatter tags to customize image export at a file level [519](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/519). If these keys are present they will override the default excalidraw embed and export settings.\n- ${String.fromCharCode(96)}excalidraw-export-transparent: true${String.fromCharCode(96)}\n - true == Transparent / false == with background. \n- ${String.fromCharCode(96)}excalidraw-export-dark${String.fromCharCode(96)}\n - true == Dark mode / false == light mode.\n- ${String.fromCharCode(96)}excalidraw-export-svgpadding${String.fromCharCode(96)}\n - This only affects export to SVG. Specify the export padding for the image\n- ${String.fromCharCode(96)}excalidraw-export-pngscale${String.fromCharCode(96)}\n - This only affects export to PNG. Specify the export scale for the image. The typical range is between 0.5 and 5, but you can experiment with other values as well.\n`,"1.6.19":"\nThis is a minor update fixing left-handed mode on iOS, and deploying improvements to the new Excalidraw Eraser.\n","1.6.18":`\n
\n\n
\n\n## Fixed\n- Modifying properties of a text element in tray mode. [496](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/496)\n- Friendly page aliases with iframely should work more reliably now.\n- I further improved resilience of loading from a damaged Excalidraw.md file.\n\n## New Features\n### From excalidraw.com\n- Added Eraser [4887](https://github.com/excalidraw/excalidraw/pull/4887)\n\n### Plugin\n- New setting for default transcluded-text line-wrap length. This is the default value for "wrapAt" in ${String.fromCharCode(96)}![[file#^block]]{wrapAt}${String.fromCharCode(96)}. Wrapping text using this feature will insert linebreaks in the transcluded text. An alternative approach is to transclude text inside sticky notes, in which case Excalidraw will automatically take care of text wrapping depending on the sticky note's width. [228](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/228)\n- New command palette action to toggle fullscreen mode, so you can assign a hotkey.\n- I added basic support for left-handed users. Enable it in plugin settings under the "Display" section. Currently, only affects the position of the tray in tray-mode. [510](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/510)\n- More flexible filename settings. ⚠ Due to the change, current settings may behave slightly differently compared to before. ⚠ [470](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/470)\n`,"1.6.17":`\n
\n\n
\n\n## Fixed\n- Freedraw shape's background color was missing in the SVG export. [#443](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/443)\n- In rare cases, when you only changed the background color of the drawing or edited the dimensions of an embedded markdown document, or changed an existing LaTeX formula, and then moved to another document in the vault, these changes did not get saved. [#503](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/503)\n- I resolved an Excalidraw Automate glitch with word wrapping in containers. EA generated containers with fixed line breaks. The same error also affected the conversion of drawings from the "legacy" Excalidraw.com file format.\n- When you allow/disable autosave in settings, this change will immediately take effect for all open Excalidraw workspace leaves. Until now autosave was activated only after you closed and reopened the Excalidraw view. [#502](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/502)\n- When you create a text element containing a ${String.fromCharCode(96,96,96)}[[markdown link]]${String.fromCharCode(96,96,96)} in raw mode, the new link was parsed nonetheless, and sometimes the link disappeared, leaving only the parsed text without the actual link. Creating links in raw-mode now works correctly.\n\n## New Features\n- The most recent 5 custom colors from the canvas are now added as color options to the element stroke and element background palette. [#4843](https://github.com/excalidraw/excalidraw/pull/4843)\n- Vertical text alignment for text in sticky notes [#4852](https://github.com/excalidraw/excalidraw/pull/4852)\n- Markdown embeds into Excalidraw now receive default styling, including that of tables, blockquotes, and code blocks. I also added a new setting and corresponding frontmatter-key to set the border-color for the embedded markdown document. You can override plugin settings at the document level by adding ${String.fromCharCode(96,96,96)}excalidraw-border-color: steelblue${String.fromCharCode(96,96,96)} to the markdown document you want to embed into your drawing. Valid values are css-color-name|#HEXcolor|any-other-html-standard-format.\n- In Obsidian search, when the text you were searching for is found in an Excalidraw document, clicking the link in search-results will open the drawing with the matching text element selected and zoomed.\n- Excalidraw now supports linking to text elements on the canvas and linking to non-text objects. \n1) You can reference text headings just the same as markdown headings in a document\ni.e. you have a text element that includes a valid markdown heading:\n${String.fromCharCode(96,96,96)}markdown\n# My Heading\ndetails...\n${String.fromCharCode(96,96,96)}\nor \n${String.fromCharCode(96,96,96)}markdown\ntext element text\n# my reference\n${String.fromCharCode(96,96,96)}\nYou can reference these like this respectively: ${String.fromCharCode(96,96,96)}[[#My Heading|display alias]]${String.fromCharCode(96,96,96)} and ${String.fromCharCode(96,96,96)}[[#my reference|alias]]${String.fromCharCode(96,96,96)}\n\n![image](https://user-images.githubusercontent.com/14358394/156890231-5a23bcb3-40a4-4ad7-b366-74c328620159.png)\n\n2) You can also reference element ids similar to block references\n- Links take this form ${String.fromCharCode(96,96,96)}[[#^elementID|alias]]${String.fromCharCode(96,96,96)}\n- Linking is supported by a new action on the Obsidian Tools Panel\n![image](https://user-images.githubusercontent.com/14358394/156894011-6442c3d6-aaff-43a8-bd77-513e450484ba.png)\n\n[Release Notes on GitHub](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.17)\n`,"1.6.16":'\n
\n\n
\n\n\n## Fixed\n- CMD+Drag from the Obsidian File Manager does not work on Mac. You can now use SHIFT+Drag to embed an image or markdown document into a scene. ([#468](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/468))\n- Excalidraw Compressed JSON is now cut to smaller chunks (64 characters per paragraph, instead of the earlier 1024 characters). This should address search performance issues. ([#484](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/484))\n\n## New Features\n- I added the Obsidian Tools Panel\n - Click the Obsidian button to access the panel.\n - The tools panel contains key plugin commands and user / downloaded Excalidraw scripts.\n - Drag the panel with the handle at the top. Single click on the top to collapse the panel.\n - On Mobile press and hold the drag handle before dragging, to avoid activating the Obsidian slide in menus.\n - On Mobile long touch individual buttons on the panel to access tooltips.\n - Reinstall Excalidraw scripts to get the icons.\n- If you hold down SHIFT while resizing a sticky note, the text size will scale instead of text wrapping. ([Excalidraw tweet](https://twitter.com/aakansha1216/status/1496116528890417155?s=20&t=taXjA6I9Nd0T-C0wYBsG5g))\n- SVG export now includes links ([#4791](https://github.com/excalidraw/excalidraw/pull/4791))\n- Added full screen mode for Obsidian Mobile\n- Release notes\n - disable popup in settings\n - access release notes via the command palette, or the button on the tools panel\n\n[Release Notes on GitHub](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.6.16)\n\n[![support-membership](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/support-tiers.jpg)](https://ko-fi.com/zsolt)\n'};class ReleaseNotes extends obsidian_module.Modal{constructor(e,A,t){super(e),this.plugin=A,this.version=t}onOpen(){var e;this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText(`Welcome to Excalidraw ${null!==(e=this.version)&&void 0!==e?e:""}`),this.createForm()}async onClose(){this.contentEl.empty(),await this.plugin.loadSettings(),this.plugin.settings.previousRelease=PLUGIN_VERSION,await this.plugin.saveSettings()}async createForm(){let e=this.plugin.settings.previousRelease;e=this.version===e?"0.0.0":e;const A=this.version?Object.keys(RELEASE_NOTES).filter((A=>"Intro"===A||isVersionNewerThanOther(A,e))).map((e=>`${"Intro"===e?"":`# ${e}\n`}${RELEASE_NOTES[e]}`)).slice(0,10).join("\n\n---\n"):FIRST_RUN;await obsidian_module.MarkdownRenderer.renderMarkdown(A,this.contentEl,"",this.plugin),this.contentEl.createEl("p",{text:""},(e=>{e.style.textAlign="right",e.createEl("button",{text:"Close"}).onclick=()=>this.close()}))}}const TOOLS_PANEL_WIDTH=228;class ToolsPanel extends React__namespace.Component{constructor(e){super(e),this.pos1=0,this.pos2=0,this.pos3=0,this.pos4=0,this.penDownX=0,this.penDownY=0,this.previousWidth=0,this.previousHeight=0,this.onRightEdge=!1,this.onBottomEdge=!1;const A=e.view.plugin.getPackage(e.view.ownerWindow).react;this.containerRef=A.createRef(),this.state={visible:e.visible,top:50,left:200,theme:"dark",excalidrawViewMode:!1,minimized:!1,isDirty:!1,isFullscreen:!1,isPreviewMode:!0,scriptIconMap:{}}}updateScriptIconMap(e){this.setState((()=>({scriptIconMap:e})))}setPreviewMode(e){this.setState((()=>({isPreviewMode:e})))}setFullscreen(e){this.setState((()=>({isFullscreen:e})))}setDirty(e){this.setState((()=>({isDirty:e})))}setExcalidrawViewMode(e){this.setState((()=>({excalidrawViewMode:e})))}toggleVisibility(e){this.setTopCenter(e),this.setState((e=>({visible:!e.visible})))}setTheme(e){this.setState((A=>({theme:e})))}setTopCenter(e){this.setState((()=>({left:(this.containerRef.current.clientWidth-228-(e?0:232))/2+this.containerRef.current.parentElement.offsetLeft+(e?0:232),top:64+this.containerRef.current.parentElement.offsetTop})))}updatePosition(e=0,A=0){this.setState((()=>{const{offsetTop:t,offsetLeft:n,clientWidth:i,clientHeight:a}=this.containerRef.current.firstElementChild,r=t-e,s=n-A,{clientWidth:o,clientHeight:l,offsetTop:c,offsetLeft:d}=this.containerRef.current.parentElement;return this.previousHeight=l,this.previousWidth=o,this.onBottomEdge=r>=l-a+c,this.onRightEdge=s>=o-i+d,{top:r{e.preventDefault(),Math.abs(this.penDownX-this.pos3)>5||Math.abs(this.penDownY-this.pos4)>5||this.setState((e=>({minimized:!e.minimized})))},onPointerDown:e=>{const A=e=>{e.preventDefault(),this.pos1=this.pos3-e.clientX,this.pos2=this.pos4-e.clientY,this.pos3=e.clientX,this.pos4=e.clientY,this.updatePosition(this.pos2,this.pos1)},t=()=>{var e,n;null===(e=this.props.view.ownerDocument)||void 0===e||e.removeEventListener("pointerup",t),null===(n=this.props.view.ownerDocument)||void 0===n||n.removeEventListener("pointermove",A)};e.preventDefault(),this.penDownX=this.pos3=e.clientX,this.penDownY=this.pos4=e.clientY,this.props.view.ownerDocument.addEventListener("pointerup",t),this.props.view.ownerDocument.addEventListener("pointermove",A)}},React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 228 26"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M40,7 h148 M40,13 h148 M40,19 h148"}))),React__namespace.createElement("div",{className:"Island App-menu__left scrollbar",style:{maxHeight:"350px",width:"initial","--padding":2,display:this.state.minimized?"none":"block"}},React__namespace.createElement("div",{className:"panelColumn"},React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Utility actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"scriptEngine",title:t$d("INSTALL_SCRIPT_BUTTON"),action:()=>{new ScriptInstallPrompt(this.props.view.plugin).open()},icon:ICONS.scriptEngine,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"release-notes",title:t$d("READ_RELEASE_NOTES"),action:()=>{new ReleaseNotes(this.props.view.app,this.props.view.plugin,PLUGIN_VERSION).open()},icon:ICONS.releaseNotes,view:this.props.view}),null===this.state.isPreviewMode?React__namespace.createElement(ActionButton,{key:"convert",title:t$d("CONVERT_FILE"),action:()=>{this.props.view.convertExcalidrawToMD()},icon:ICONS.convertFile,view:this.props.view}):React__namespace.createElement(ActionButton,{key:"viewmode",title:this.state.isPreviewMode?t$d("PARSED"):t$d("RAW"),action:()=>{this.state.isPreviewMode?this.props.view.changeTextMode(TextMode.raw):this.props.view.changeTextMode(TextMode.parsed)},icon:this.state.isPreviewMode?ICONS.rawMode:ICONS.parsedMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"tray-mode",title:t$d("TRAY_MODE"),action:()=>{this.props.view.toggleTrayMode()},icon:ICONS.trayMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"fullscreen",title:this.state.isFullscreen?t$d("EXIT_FULLSCREEN"):t$d("GOTO_FULLSCREEN"),action:()=>{this.state.isFullscreen?this.props.view.exitFullscreen():this.props.view.gotoFullscreen()},icon:this.state.isFullscreen?ICONS.exitFullScreen:ICONS.gotoFullScreen,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"search",title:t$d("SEARCH"),action:()=>{search(this.props.view)},icon:ICONS.search,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"ocr",title:t$d("RUN_OCR"),action:e=>{this.props.view.plugin.settings.taskboneEnabled?this.props.view.plugin.taskbone.getTextForView(this.props.view,e[CTRL_OR_CMD]):new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3)},icon:ICONS.ocr,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLink",title:t$d("OPEN_LINK_CLICK"),action:()=>{const e=new MouseEvent("click",{ctrlKey:!0,metaKey:!1,shiftKey:!1,altKey:!1});this.props.view.handleLinkClick(this.props.view,e)},icon:ICONS.openLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLinkProperties",title:t$d("OPEN_LINK_PROPS"),action:()=>{const e=new MouseEvent("click",{ctrlKey:!0,metaKey:!1,shiftKey:!0,altKey:!0});this.props.view.handleLinkClick(this.props.view,e)},icon:ICONS.openLinkProperties,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"save",title:t$d("FORCE_SAVE"),action:()=>{this.props.view.forceSave()},icon:(e=this.state.isDirty,React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:e?"var(--color-accent)":"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),React__namespace.createElement("polyline",{points:"17 21 17 13 7 13 7 21"}),React__namespace.createElement("polyline",{points:"7 3 7 8 15 8"}))),view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Export actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"lib",title:t$d("DOWNLOAD_LIBRARY"),action:()=>{this.props.view.plugin.exportLibrary()},icon:ICONS.exportLibrary,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"svg",title:t$d("EXPORT_SVG"),action:()=>{this.props.view.saveSVG(),new obsidian_module.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"svg")}`)},icon:ICONS.exportSVG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"png",title:t$d("EXPORT_PNG"),action:()=>{this.props.view.savePNG(),new obsidian_module.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"png")}`)},icon:ICONS.exportPNG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"excalidraw",title:t$d("EXPORT_EXCALIDRAW"),action:()=>{this.props.view.exportExcalidraw()},icon:ICONS.exportExcalidraw,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"md",title:t$d("OPEN_AS_MD"),action:()=>{this.props.view.openAsMarkdown()},icon:ICONS.switchToMarkdown,view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Insert actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"image",title:t$d("INSERT_IMAGE"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertImageDialog.start(this.props.view)},icon:ICONS.insertImage,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"insertMD",title:t$d("INSERT_MD"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertMDDialog.start(this.props.view)},icon:ICONS.insertMD,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"latex",title:t$d("INSERT_LATEX"),action:()=>{this.props.centerPointer(),insertLaTeXToView(this.props.view)},icon:ICONS.insertLaTeX,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link",title:t$d("INSERT_LINK"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertLinkDialog.start(this.props.view.file.path,this.props.view.addText)},icon:ICONS.insertLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link-to-element",title:t$d("INSERT_LINK_TO_ELEMENT"),action:e=>{this.props.view.copyLinkToSelectedElementToClipboard(e[CTRL_OR_CMD]?"group=":e.shiftKey?"area=":"")},icon:ICONS.copyElementLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"import-svg",title:t$d("IMPORT_SVG"),action:e=>{this.props.view.plugin.importSVGDialog.start(this.props.view)},icon:ICONS.importSVG,view:this.props.view}))),this.renderScriptButtons(!1),this.renderScriptButtons(!0)))));var e}renderScriptButtons(e){if(0===Object.keys(this.state.scriptIconMap).length)return"";const A=`${this.props.view.plugin.settings.scriptFolderPath}/Downloaded/`,t=t=>e?t.startsWith(A):!t.startsWith(A);return 0===Object.keys(this.state.scriptIconMap).filter((e=>t(e))).length?"":React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,e?"Downloaded":"User"," Scripts"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},Object.keys(this.state.scriptIconMap).filter((e=>t(e))).sort().map((A=>{return React__namespace.createElement(ActionButton,{key:A,title:e?this.state.scriptIconMap[A].name.replace("Downloaded/",""):this.state.scriptIconMap[A].name,action:async()=>{const e=this.props.view.app.vault.getAbstractFileByPath(A);e&&e instanceof obsidian_module.TFile&&this.props.view.plugin.scriptEngine.executeScript(this.props.view,await this.props.view.plugin.app.vault.read(e),this.props.view.plugin.scriptEngine.getScriptName(e))},icon:this.state.scriptIconMap[A].svgString?(t=this.state.scriptIconMap[A].svgString,t=t.replace(/stroke\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]width\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]height\s*=\s*['"][^"']*['"]/g,"").replace("A.filter((A=>{if(t&&A.type!==t)return!1;const[n,i,a,r]=rotatedDimensions(A);return n<=e.x&&n+a>=e.x&&i<=e.y&&i+r>=e.y})),getTextElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return{id:null,text:null};const n=getElementsAtPointer(e,t.getSceneElements(),"text");if(0==n.length)return{id:null,text:null};if(1===n.length)return{id:n[0].id,text:n[0].text};const i=n.filter((e=>{const t=A.textMode===TextMode.parsed?A.excalidrawData.getRawText(e.id):e.text;return!!t&&(!!t.match(REG_LINKINDEX_HYPERLINK)||!!REGEX_LINK.getRes(t).next().value)}));return 0==i.length?{id:n[0].id,text:n[0].text}:{id:i[0].id,text:i[0].text}},getImageElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const n=getElementsAtPointer(e,t.getSceneElements(),"image");return 0===n.length?{id:null,fileId:null}:n.length>=1?{id:n[0].id,fileId:n[0].fileId}:void 0},getElementWithLinkAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const n=getElementsAtPointer(e,t.getSceneElements()).filter((e=>e.link));return 0===n.length?{id:null,text:null}:n.length>=1?{id:n[0].id,text:n[0].link}:void 0};class MenuLinks{constructor(e,A){this.render=(e,A)=>React__namespace.createElement("div",null,"Hello"),this.plugin=e,this.ref=A}}var TextMode;!function(e){e.parsed="parsed",e.raw="raw"}(TextMode||(TextMode={}));const HIDE="excalidraw-hidden",SHOW="excalidraw-visible",addFiles=async(e,A,t)=>{if(!e||0===e.length||!A)return;const n=A.excalidrawAPI;if(!n)return;if(e=e.filter((e=>e&&e.size&&e.size.height>0&&e.size.width>0)),0===e.length)return;const i=scaleLoadedImage(A.getScene(),e);void 0===t&&(t=i.scene.appState.theme),i.dirty&&await A.updateScene({elements:i.scene.elements,appState:i.scene.appState,commitToHistory:!1});for(const n of e)if(A.excalidrawData.hasFile(n.id)&&A.excalidrawData.getFile(n.id).setImage(n.dataURL,n.mimeType,n.size,t,n.hasSVGwithBitmap),A.excalidrawData.hasEquation(n.id)){const e=A.excalidrawData.getEquation(n.id).latex;A.excalidrawData.setEquation(n.id,{latex:e,isLoaded:!0})}n.addFiles(e)},warningUnknowSeriousError=()=>{new obsidian_module.Notice("WARNING: Excalidraw ran into an unknown problem!\n\nThere is a risk that your most recent changes cannot be saved.\n\nTo be on the safe side...\n1) Please select your drawing using CTRL/CMD+A and make a copy with CTRL/CMD+C.\n2) Then create an empty drawing in a new pane by CTRL/CMD+clicking the Excalidraw ribbon button,\n3) and paste your work to the new document with CTRL/CMD+V.",6e4)};class ExcalidrawView extends obsidian_module.TextFileView{constructor(e,A){super(e),this.getScene=null,this.addElements=null,this.getSelectedTextElement=null,this.getSelectedImageElement=null,this.getSelectedElementWithLink=null,this.addText=null,this.refresh=null,this.excalidrawRef=null,this.excalidrawAPI=null,this.excalidrawWrapperRef=null,this.toolsPanelRef=null,this.linksAlwaysOpenInANewPane=!1,this.lastSaveTimestamp=0,this.metaKeyDown=!1,this.ctrlKeyDown=!1,this.shiftKeyDown=!1,this.altKeyDown=!1,this.semaphores={popoutUnload:!1,viewunload:!1,scriptsReady:!1,justLoaded:!1,preventAutozoom:!1,autosaving:!1,dirty:null,preventReload:!1,isEditingText:!1,saving:!1,forceSaving:!1,hoverSleep:!1,wheelTimeout:null},this.autosaveTimer=null,this.textMode=TextMode.raw,this.compatibilityMode=!1,this.isEditingTextResetTimer=null,this.id=this.leaf.id,this.getHookServer=()=>{var e;return null!==(e=this.hookServer)&&void 0!==e?e:this.plugin.ea},this.preventReloadResetTimer=null,this.hiddenMobileLeaves=[],this.offsetLeft=0,this.offsetTop=0,this.blockTextModeChange=!1,this.isLoaded=!1,this.activeLoader=null,this.nextLoader=null,this.initialContainerSizeUpdate=!1,this.previousSceneVersion=0,this.previousBackgroundColor="",this.plugin=A,this.excalidrawData=new ExcalidrawData(A),this.hookServer=A.ea}setHookServer(e){this.hookServer=e||this.plugin.ea}preventAutozoom(){this.semaphores.preventAutozoom=!0,setTimeout((()=>this.semaphores.preventAutozoom=!1),1500)}saveExcalidraw(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=`${this.file.path.substring(0,this.file.path.lastIndexOf(".md"))}.excalidraw`,t=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A));t&&t instanceof obsidian_module.TFile?app.vault.modify(t,JSON.stringify(e,null,"\t")):app.vault.create(A,JSON.stringify(e,null,"\t"))}async exportExcalidraw(){this.getScene&&this.file&&(app.isMobile?new Prompt(app,"Please provide filename",this.file.basename,"filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidraw`;const A=splitFolderAndFilename(this.file.path).folderpath;await checkAndCreateFolder(A);const t=getNewUniqueFilepath(app.vault,e,A);app.vault.create(t,JSON.stringify(this.getScene(),null,"\t")),new obsidian_module.Notice(`Exported to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.getScene(),null,"\t")),`${this.file.basename}.excalidraw`))}async svg(e,A){const t={withBackground:getWithBackground(this.plugin,this.file),withTheme:!0};return await getSVG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:getExportTheme(this.plugin,this.file,e.appState.theme)})}),t,getExportPadding(this.plugin,this.file))}async saveSVG(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=async(A,t)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A)),i=await this.svg(e,t);if(!i)return;const a=(new XMLSerializer).serializeToString(embedFontsInSVG(i,this.plugin));n&&n instanceof obsidian_module.TFile?await app.vault.modify(n,a):await app.vault.create(A,a)};this.plugin.settings.autoExportLightAndDark?(await A(getIMGFilename(this.file.path,"dark.svg"),"dark"),await A(getIMGFilename(this.file.path,"light.svg"),"light")):await A(getIMGFilename(this.file.path,"svg"))}async png(e,A){const t={withBackground:getWithBackground(this.plugin,this.file),withTheme:!0};return await getPNG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:getExportTheme(this.plugin,this.file,e.appState.theme)})}),t,getExportPadding(this.plugin,this.file),getPNGScale(this.plugin,this.file))}async savePNG(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=async(A,t)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A)),i=await this.png(e,t);i&&(n&&n instanceof obsidian_module.TFile?await app.vault.modifyBinary(n,await i.arrayBuffer()):await app.vault.createBinary(A,await i.arrayBuffer()))};this.plugin.settings.autoExportLightAndDark?(await A(getIMGFilename(this.file.path,"dark.png"),"dark"),await A(getIMGFilename(this.file.path,"light.png"),"light")):await A(getIMGFilename(this.file.path,"png"))}async save(e=!0,A=!1){if(!this.isLoaded)return;if(this.semaphores.saving)return;this.semaphores.saving=!0;let t=!1;if(this.getScene&&this.excalidrawAPI&&this.isLoaded&&this.file&&app.vault.getAbstractFileByPath(this.file.path)){try{const n=Boolean(null!==this.semaphores.dirty&&this.semaphores.dirty||this.semaphores.autosaving||A),i=this.getScene();if(this.compatibilityMode?await this.excalidrawData.syncElements(i):await this.excalidrawData.syncElements(i,this.excalidrawAPI.getAppState().selectedElementIds)&&!this.semaphores.popoutUnload&&await this.loadDrawing(!1,this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted))),n&&(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=e,await super.save(),t=this.lastSaveTimestamp===this.file.stat.mtime&&!e&&A,this.lastSaveTimestamp=this.file.stat.mtime,this.clearDirty(),e)){const e=this;this.preventReloadResetTimer=setTimeout((()=>e.semaphores.preventReload=!1),2e3)}if(!t&&!this.semaphores.autosaving&&!this.semaphores.viewunload){const e=this.excalidrawData.autoexportPreference;(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportSVG||e===AutoexportPreference.both||e===AutoexportPreference.svg)&&this.saveSVG(),(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportPNG||e===AutoexportPreference.both||e===AutoexportPreference.png)&&this.savePNG(),!this.compatibilityMode&&this.plugin.settings.autoexportExcalidraw&&this.saveExcalidraw()}}catch(e){errorlog({where:"ExcalidrawView.save",fn:this.save,error:e}),warningUnknowSeriousError()}this.semaphores.saving=!1,t&&this.reload(!0,this.file)}else this.semaphores.saving=!1}getViewData(){if(!this.getScene)return this.data;if(!this.excalidrawData.loaded)return this.data;const e=this.getScene();if(!this.compatibilityMode){let e=this.data.search(/(^%%\n)?# Text Elements\n/m);if(-1==e&&(e=this.data.search(/(%%\n)?# Drawing\n/)),-1==e)return this.data;let A=this.data.substring(0,e).replace(/excalidraw-plugin:\s.*\n/,"excalidraw-plugin: "+(this.textMode===TextMode.raw?"raw\n":"parsed\n"));const t=/(^---[\w\W]*?---\n)(!\[\[.*?]]\n(%%\n)?)/m;A.match(t)&&(A=A.replace(t,"$1")),this.excalidrawData.disableCompression||(this.excalidrawData.disableCompression=this.isEditedAsMarkdownInOtherView());const n=A+this.excalidrawData.generateMD(this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted)));return this.excalidrawData.disableCompression=!1,n}return this.compatibilityMode?JSON.stringify(e,null,"\t"):this.data}restoreMobileLeaves(){this.hiddenMobileLeaves.length>0&&(this.hiddenMobileLeaves.forEach((e=>{e[0].containerEl.style.display=e[1]})),this.hiddenMobileLeaves=[])}gotoFullscreen(){this.plugin.leafChangeTimeout&&(clearTimeout(this.plugin.leafChangeTimeout),this.plugin.leafChangeTimeout=null),this.excalidrawWrapperRef&&(this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!0),(e=>{for(;e&&!e.hasClass("workspace-split");)e.addClass(SHOW),e=e.parentElement;e&&e.addClass(SHOW);const A=this.ownerDocument;A.body.querySelectorAll(`div.workspace-split:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelector(`div.workspace-leaf-content.${SHOW} > .view-header`).addClass(HIDE),A.body.querySelectorAll(`div.workspace-tab-container.${SHOW} > div.workspace-leaf:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-tabs.${SHOW} > div.workspace-tab-header-container`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-split.${SHOW} > div.workspace-tabs:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.workspace-ribbon").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.mobile-navbar").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.status-bar").forEach((e=>e.addClass(HIDE)))})(this.contentEl))}isFullscreen(){return Boolean(document.body.querySelector(".excalidraw-hidden"))}exitFullscreen(){this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!1);const e=this.ownerDocument;e.querySelectorAll(".excalidraw-hidden").forEach((e=>e.removeClass(HIDE))),e.querySelectorAll(".excalidraw-visible").forEach((e=>e.removeClass(SHOW)))}async handleLinkClick(e,A){var t,n,i,a;const r=this.ownerDocument.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");r&&this.ownerDocument.body.removeChild(r);const s=this.getSelectedTextElement(),o=(null==s?void 0:s.id)?null:this.getSelectedImageElement(),l=(null==o?void 0:o.id)||(null==s?void 0:s.id)?null:this.getSelectedElementWithLink();let c=null,d=null,h=null;if((null==s?void 0:s.id)||(null==l?void 0:l.id)){if(h=null!==(t=null==l?void 0:l.text)&&void 0!==t?t:this.textMode===TextMode.parsed?this.excalidrawData.getRawText(s.id):s.text,!h)return;if(h=h.replaceAll("\n",""),this.getHookServer().onLinkClickHook){const e=null!==(n=s.id)&&void 0!==n?n:l.id,t=this.excalidrawAPI.getSceneElements().filter((A=>A.id===e))[0];try{if(!this.getHookServer().onLinkClickHook(t,h,A,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.handleLinkClick selectedText.id!==null",fn:this.getHookServer().onLinkClickHook,error:e})}}if(h.match(REG_LINKINDEX_HYPERLINK))return void window.open(h,"_blank");const i=REGEX_LINK.getRes(h).next();if(!i.value){const e=h.matchAll(/#([\p{Letter}\p{Emoji_Presentation}\p{Number}\/_-]+)/gu).next();if(!e.value||e.value.length<2)return;const A=app.workspace.getLeavesOfType("search");if(0==A.length)return;return A[0].view.setQuery(`tag:${e.value[1]}`),app.workspace.revealLeaf(A[0]),void(this.isFullscreen()&&this.exitFullscreen())}if(h=REGEX_LINK.getLink(i),h.match(REG_LINKINDEX_HYPERLINK))return void window.open(h,"_blank");if(h.search("#")>-1){const e=getLinkParts(h,this.file);d=`#${e.isBlockRef?"^":""}${e.ref}`,h=e.path}if(h.match(REG_LINKINDEX_INVALIDCHARS))return void new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3);c=e.app.metadataCache.getFirstLinkpathDest(h,e.file.path)}if(null==o?void 0:o.id){if(this.excalidrawData.hasEquation(o.fileId)){const e=this.excalidrawData.getEquation(o.fileId).latex;return void new Prompt(app,t$d("ENTER_LATEX"),e,"").openAndGetValue((async A=>{A&&A!==e&&(this.excalidrawData.setEquation(o.fileId,{latex:A,isLoaded:!1}),await this.save(!1),await updateEquation(A,o.fileId,this,addFiles,this.plugin),this.setDirty(1))}))}if(await this.save(!1),this.excalidrawData.hasFile(o.fileId)){if(A.altKey){const e=this.excalidrawData.getFile(o.fileId);if("md"===e.file.extension&&!this.plugin.isExcalidrawFile(e.file))return void new Prompt(app,"Customize the link",e.linkParts.original,"","Do not add [[square brackets]] around the filename!
Follow this format when editing your link:
filename#^blockref|WIDTHxMAXHEIGHT").openAndGetValue((async A=>{A&&e.linkParts.original!==A&&(e.resetImage(this.file.path,A),await this.save(!1),await this.loadSceneFiles(),this.setDirty(2))}))}h=this.excalidrawData.getFile(o.fileId).file.path,c=this.excalidrawData.getFile(o.fileId).file}}if(h){if(this.getHookServer().onLinkClickHook){const e=null!==(a=null!==(i=o.id)&&void 0!==i?i:s.id)&&void 0!==a?a:l.id,t=this.excalidrawAPI.getSceneElements().filter((A=>A.id===e))[0];try{if(!this.getHookServer().onLinkClickHook(t,h,A,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.handleLinkClick selectedText.id===null",fn:this.getHookServer().onLinkClickHook,error:e})}}try{if(A.shiftKey&&this.isFullscreen()&&this.exitFullscreen(),!c)return void new NewFileActions(this.plugin,h,A.shiftKey,!app.isMobile&&A.metaKey,e).open();const t=!app.isMobile&&(A.metaKey&&this.linksAlwaysOpenInANewPane||A.metaKey)?app.workspace.openPopoutLeaf():A.shiftKey||this.linksAlwaysOpenInANewPane?getNewOrAdjacentLeaf(this.plugin,e.leaf):e.leaf;await t.openFile(c,d?{active:!1,eState:{subpath:d}}:void 0)}catch(e){new obsidian_module.Notice(e,4e3)}}else new obsidian_module.Notice(t$d("LINK_BUTTON_CLICK_NO_TEXT"),2e4)}onResize(){var e,A;if(this.plugin.leafChangeTimeout)return;const t=this.excalidrawAPI;this.plugin.settings.zoomToFitOnResize&&this.excalidrawRef&&!this.semaphores.isEditingText&&t&&"text"!==(null===(A=null===(e=t.getAppState())||void 0===e?void 0:e.editingElement)||void 0===A?void 0:A.type)&&this.zoomToFit(!1)}getSceneVersion(e){return this.excalidrawGetSceneVersion||(this.excalidrawGetSceneVersion=this.plugin.getPackage(this.ownerWindow).excalidrawLib.getSceneVersion),this.excalidrawGetSceneVersion(e.filter((e=>!e.isDeleted)))}async forceSave(e=!1){this.semaphores.autosaving||this.semaphores.saving?e||new obsidian_module.Notice("Force Save aborted because saving is in progress)"):(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=!1,this.semaphores.forceSaving=!0,await this.save(!1,!0),this.plugin.triggerEmbedUpdates(),this.loadSceneFiles(),this.semaphores.forceSaving=!1,e||new obsidian_module.Notice("Save successful",1e3))}onload(){const e=Boolean(void 0===this.containerEl.onWindowMigrated);app.isMobile||e||this.containerEl.onWindowMigrated((()=>this.leaf.rebuildView()));const A=app.isMobile?document:this.containerEl.ownerDocument;this.ownerDocument=A,this.ownerWindow=this.ownerDocument.defaultView,this.plugin.getPackage(this.ownerWindow),this.semaphores.scriptsReady=!0,this.wheelEvent=e=>{this.semaphores.wheelTimeout&&clearTimeout(this.semaphores.wheelTimeout),this.semaphores.hoverSleep&&this.clearHoverPreview&&this.clearHoverPreview(),this.semaphores.wheelTimeout=setTimeout((()=>{clearTimeout(this.semaphores.wheelTimeout),this.semaphores.wheelTimeout=null}),1e3)},this.containerEl.addEventListener("wheel",this.wheelEvent,{passive:!1}),this.addAction("ScriptEngine",t$d("INSTALL_SCRIPT_BUTTON"),(()=>{new ScriptInstallPrompt(this.plugin).open()})),this.diskIcon=this.addAction("save",t$d("FORCE_SAVE"),(async()=>this.forceSave())),this.textIsRaw_Element=this.addAction("presentation",t$d("RAW"),(()=>this.changeTextMode(TextMode.parsed))),this.textIsParsed_Element=this.addAction("quote-glyph",t$d("PARSED"),(()=>this.changeTextMode(TextMode.raw))),this.linkAction_Element=this.addAction("link",t$d("OPEN_LINK"),(e=>this.handleLinkClick(this,e))),app.isMobile||this.addAction("fullscreen","Press ESC to exit fullscreen mode",(()=>this.gotoFullscreen()));const t=this;app.workspace.onLayoutReady((async()=>{t.contentEl.addClass("excalidraw-view"),await t.addSlidingPanesListner(),t.addParentMoveObserver(),t.onKeyUp=e=>{t.ctrlKeyDown=e[CTRL_OR_CMD],t.shiftKeyDown=e.shiftKey,t.altKeyDown=e.altKey,t.metaKeyDown=e.metaKey},t.onKeyDown=e=>{this.ctrlKeyDown=e[CTRL_OR_CMD],this.shiftKeyDown=e.shiftKey,this.altKeyDown=e.altKey,this.metaKeyDown=e.metaKey},t.ownerWindow.addEventListener("keydown",t.onKeyDown,!1),t.ownerWindow.addEventListener("keyup",t.onKeyUp,!1)})),this.setupAutosaveTimer(),super.onload()}async addSlidingPanesListner(){const e=this;this.slidingPanesListner=()=>{e.refresh&&e.refresh()};let A=app.workspace.rootSplit;for(;!A;)await sleep(50),A=app.workspace.rootSplit;A.containerEl.addEventListener("scroll",this.slidingPanesListner)}removeSlidingPanesListner(){var e;this.slidingPanesListner&&(null===(e=app.workspace.rootSplit.containerEl)||void 0===e||e.removeEventListener("scroll",this.slidingPanesListner))}addParentMoveObserver(){var e;const A=null!==(e=getParentOfClass(this.containerEl,"popover"))&&void 0!==e?e:getParentOfClass(this.containerEl,"workspace-leaf");if(!A)return;const t=A.classList.contains("popover");this.offsetLeft=A.offsetLeft,this.offsetTop=A.offsetTop;const n=this;this.parentMoveObserver=new MutationObserver((async e=>{const A=e[0].target;if(!(A instanceof HTMLElement))return;const{offsetLeft:t,offsetTop:i}=A;t===n.offsetLeft&&i==n.offsetTop||(n.refresh&&n.refresh(),n.offsetLeft=t,n.offsetTop=i)})),this.parentMoveObserver.observe(A,{attributeOldValue:!0,attributeFilter:t?["data-x","data-y"]:["class","style"]})}removeParentMoveObserver(){this.parentMoveObserver&&this.parentMoveObserver.disconnect()}setTheme(e){const A=this.excalidrawAPI;if(!this.excalidrawRef||!A)return;if(this.file&&hasExportTheme(this.plugin,this.file))return;const t=A.getAppState();this.excalidrawData.scene.theme=e,this.updateScene({appState:Object.assign(Object.assign({},t),{theme:e}),commitToHistory:!1})}async changeTextMode(e,A=!0){if(this.compatibilityMode)return;if(this.blockTextModeChange)return;this.blockTextModeChange=!0,this.textMode=e,e===TextMode.parsed?(this.textIsRaw_Element.hide(),this.textIsParsed_Element.show()):(this.textIsRaw_Element.show(),this.textIsParsed_Element.hide()),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setPreviewMode(e===TextMode.parsed);const t=this.excalidrawAPI;t&&A&&(await this.save(),this.preventAutozoom(),await this.excalidrawData.loadData(this.data,this.file,this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(!1),t.history.clear()),this.prevTextMode=this.textMode,this.blockTextModeChange=!1}setupAutosaveTimer(){const e=async()=>{var A;if(!this.isLoaded)return void(this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval));const t=this.excalidrawAPI;if(!t)return void warningUnknowSeriousError();const n=t.getAppState(),i=null!==n.editingElement;if(this.refresh(),!this.semaphores.dirty||this.semaphores.dirty!=(null===(A=this.file)||void 0===A?void 0:A.path)||!this.plugin.settings.autosave||this.semaphores.forceSaving||this.semaphores.autosaving||i||null!==n.draggingElement)this.autosaveTimer=setTimeout(e,this.plugin.activeExcalidrawView===this&&this.semaphores.dirty&&this.plugin.settings.autosave?1e3:this.plugin.settings.autosaveInterval);else{if(this.autosaveTimer=null,this.excalidrawRef){this.semaphores.autosaving=!0;const e=this;this.save().then((()=>e.semaphores.autosaving=!1))}this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}};this.autosaveTimer&&(clearTimeout(this.autosaveTimer),this.autosaveTimer=null),this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}onunload(){var e,A,t,n,i,a;if(this.restoreMobileLeaves(),this.semaphores.viewunload=!0,this.semaphores.popoutUnload=this.ownerDocument!==document&&0===this.ownerDocument.body.querySelectorAll(".workspace-tab-header").length,null===(e=this.ownerWindow)||void 0===e||e.removeEventListener("keydown",this.onKeyDown,!1),null===(A=this.ownerWindow)||void 0===A||A.removeEventListener("keyup",this.onKeyUp,!1),this.containerEl.removeEventListener("wheel",this.wheelEvent,!1),this.getHookServer().onViewUnloadHook)try{this.getHookServer().onViewUnloadHook(this)}catch(e){errorlog({where:"ExcalidrawView.onunload",fn:this.getHookServer().onViewUnloadHook,error:e})}const r=null===(n=null===(t=this.containerEl)||void 0===t?void 0:t.ownerDocument)||void 0===n?void 0:n.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");r&&(null===(a=null===(i=this.containerEl)||void 0===i?void 0:i.ownerDocument)||void 0===a||a.body.removeChild(r)),this.removeParentMoveObserver(),this.removeSlidingPanesListner(),this.autosaveTimer&&(clearInterval(this.autosaveTimer),this.autosaveTimer=null)}async reload(e=!1,A){if(this.semaphores.preventReload)return void(this.semaphores.preventReload=!1);if(this.semaphores.saving)return;if(this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),this.compatibilityMode)return void this.clearDirty();const t=this.excalidrawAPI;if(!this.excalidrawRef||!this.file||!t)return;const n=A&&A===this.file;n&&(this.data=await app.vault.read(A),this.preventAutozoom()),e?await this.excalidrawData.loadData(this.data,this.file,this.textMode):await this.excalidrawData.setTextMode(this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(n),this.clearDirty()}async zoomToElementId(e,A){let t=0;for(;!this.excalidrawAPI&&t++<100;)await sleep(50);const n=this.excalidrawAPI;if(!n)return;const i=n.getSceneElements();let a=i.filter((A=>A.id===e));if(0!==a.length){if(A){const e=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],i);e.length>0&&(a=e)}this.preventAutozoom(),this.zoomToElements(!n.getAppState().viewModeEnabled,a)}}setEphemeralState(e){if(!e)return;const A=this;let t=null;e.match&&e.match.content&&e.match.matches&&1===e.match.matches.length&&2===e.match.matches[0].length&&(t=[e.match.content.substring(e.match.matches[0][0],e.match.matches[0][1])]);const n=getEmbeddedFilenameParts(e.subpath);n.hasBlockref&&setTimeout((()=>A.zoomToElementId(n.blockref,n.hasGroupref)),300),n.hasSectionref?t=[`# ${n.sectionref}`]:e.line&&e.line>0&&(t=[this.data.split("\n")[e.line-1]]),t&&setTimeout((async()=>{let e=0;for(;!A.excalidrawAPI&&e++<100;)await sleep(50);const i=A.excalidrawAPI;if(!i)return;const a=i.getSceneElements();A.selectElementsMatchingQuery(a,t,!i.getAppState().viewModeEnabled,n.hasSectionref,n.hasGroupref)}),300),super.setEphemeralState(e)}clear(){const e=this.excalidrawAPI;this.excalidrawRef&&e&&(this.activeLoader&&(this.activeLoader.terminate=!0,this.activeLoader=null),this.nextLoader=null,e.resetScene(),e.history.clear(),this.previousSceneVersion=0)}async setViewData(e,A=!1){this.isLoaded=!1,this.file&&(this.plugin.settings.showNewVersionNotification&&checkExcalidrawVersion(app),A&&this.clear(),this.lastSaveTimestamp=this.file.stat.mtime,e=this.data=e.replaceAll("\r\n","\n").replaceAll("\r","\n"),app.workspace.onLayoutReady((async()=>{if(this.compatibilityMode="excalidraw"===this.file.extension,await this.plugin.loadSettings(),this.compatibilityMode)this.textIsRaw_Element.hide(),this.textIsParsed_Element.hide(),this.linkAction_Element.hide(),this.textMode=TextMode.raw,await this.excalidrawData.loadLegacyData(e,this.file),this.plugin.settings.compatibilityMode||new obsidian_module.Notice(t$d("COMPATIBILITY_MODE"),4e3),this.excalidrawData.disableCompression=!0;else{this.linkAction_Element.show(),this.excalidrawData.disableCompression=!1;const A=getTextMode(e);this.changeTextMode(A,!1);try{if(!await this.excalidrawData.loadData(e,this.file,this.textMode))return}catch(e){return errorlog({where:"ExcalidrawView.setViewData",error:e}),new obsidian_module.Notice(`Error loading drawing:\n${e.message}${"Cannot read property 'index' of undefined"===e.message?"\n'# Drawing' section is likely missing":""}\n\nTry manually fixing the file or restoring an earlier version from sync history.`,1e4),void this.setMarkdownView()}}await this.loadDrawing(!0);const A=this.excalidrawData.getOnLoadScript();if(A){const e=this,t=this.file.basename+"-onlaod-script",n=()=>{e.excalidrawAPI?e.plugin.scriptEngine.executeScript(e,A,t):setTimeout(n,200)};n()}this.isLoaded=!0})))}async loadSceneFiles(){if(!this.excalidrawAPI)return;const e=new EmbeddedFilesLoader(this.plugin),A=e=>{this.nextLoader=null,this.activeLoader=e,e.loadSceneFiles(this.excalidrawData,((e,t)=>{e&&(addFiles(e,this,t),this.activeLoader=null,this.nextLoader?A(this.nextLoader):this.excalidrawData.getFiles().some((e=>{if(e&&!e.file&&e.attemptCounter<30){const e=this,A=this.file.path;return setTimeout((async()=>{e&&e.excalidrawAPI&&A===e.file.path&&e.loadSceneFiles()}),2e3),!0}return!1})))}),0)};this.activeLoader?this.nextLoader=e:A(e)}async synchronizeWithData(e){let A=0;for(;this.semaphores.saving&&A++<30;)await sleep(100);if(A>=30)return void errorlog({where:"ExcalidrawView.synchronizeWithData",message:`Aborting sync with received file (${this.file.path}) because semaphores.saving remained true for ower 3 seconds`,fn:this.synchronizeWithData});this.semaphores.saving=!0;let t=!1;try{const A=e.deletedElements.map((e=>e.id)),n=this.excalidrawAPI.getSceneElements().filter((e=>!A.contains(e.id))),i=n.map((e=>e.id)),a=A=>{switch(A.type){case"text":this.excalidrawData.textElements.set(A.id,e.textElements.get(A.id));break;case"image":e.getFile(A.fileId)?(this.excalidrawData.setFile(A.fileId,e.getFile(A.fileId)),t=!0):e.getEquation(A.fileId)&&(this.excalidrawData.setEquation(A.fileId,e.getEquation(A.fileId)),t=!0)}e.elementLinks.has(A.id)&&this.excalidrawData.elementLinks.set(A.id,e.elementLinks.get(A.id))};e.scene.elements.forEach(((A,r,s)=>{const o=n.filter((e=>e.id===A.id))[0];if(o&&(o.versione.view.file===this.file)).length>0}setDirty(e){var A,t;this.semaphores.dirty=null===(A=this.file)||void 0===A?void 0:A.path,this.diskIcon.querySelector("svg").addClass("excalidraw-dirty"),!this.semaphores.viewunload&&(null===(t=this.toolsPanelRef)||void 0===t?void 0:t.current)&&this.toolsPanelRef.current.setDirty(!0),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="var(--color-accent)")}clearDirty(){var e;if(this.semaphores.viewunload)return;const A=this.excalidrawAPI;if(!A)return;this.semaphores.dirty=null,(null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current)&&this.toolsPanelRef.current.setDirty(!1);const t=A.getSceneElements();t&&(this.previousSceneVersion=this.getSceneVersion(t)),this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="")}initializeToolsIconPanelAfterLoading(){var e;if(this.semaphores.viewunload)return;const A=this.excalidrawAPI;if(!A)return;const t=A.getAppState(),n=null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current;n&&(n.setTheme(t.theme),n.setExcalidrawViewMode(t.viewModeEnabled),n.setPreviewMode(this.compatibilityMode?null:this.textMode===TextMode.parsed),n.updateScriptIconMap(this.plugin.scriptEngine.scriptIconMap))}canAcceptExtension(e){return"excalidraw"===e}getDisplayText(){return this.file?this.file.basename:t$d("NOFILE")}getViewType(){return"excalidraw"}getIcon(){return ICON_NAME}setMarkdownView(){this.plugin.excalidrawFileModes[this.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)}async openAsMarkdown(){!0===this.plugin.settings.compress&&(this.excalidrawData.disableCompression=!0,await this.save(!0,!0)),this.setMarkdownView()}async convertExcalidrawToMD(){await this.save(),this.plugin.openDrawing(await this.plugin.convertSingleExcalidrawToMD(this.file),"active-pane",!0)}onPaneMenu(e,A){this.excalidrawAPI&&this.getViewSelectedElements().some((e=>"text"===e.type))&&e.addItem((e=>{e.setTitle(t$d("OPEN_LINK")).setIcon("external-link").setSection("pane").onClick((e=>{this.handleLinkClick(this,e)}))})),this.compatibilityMode?e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE")).onClick((()=>this.convertExcalidrawToMD())).setSection("pane")})):e.addItem((e=>{e.setTitle(t$d("OPEN_AS_MD")).setIcon("document").onClick((()=>{this.openAsMarkdown()})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("EXPORT_EXCALIDRAW")).setIcon(ICON_NAME).onClick((async()=>{this.exportExcalidraw()})).setSection("pane")})),e.addItem((e=>{e.setTitle(t$d("SAVE_AS_PNG")).setIcon("save-png").setSection("pane").onClick((async e=>{if(this.getScene&&this.file)if(e[CTRL_OR_CMD]){const e=await this.png(this.getScene());if(!e)return;const A=new FileReader;A.readAsDataURL(e);const t=this;A.onloadend=function(){download(null,A.result,`${t.file.basename}.png`)}}else this.savePNG()})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("SAVE_AS_SVG")).setIcon("save-svg").setSection("pane").onClick((async e=>{if(this.getScene&&this.file){if(e[CTRL_OR_CMD]){let e=await this.svg(this.getScene());return e?(e=embedFontsInSVG(e,this.plugin),void download(null,svgToBase64(e.outerHTML),`${this.file.basename}.svg`)):null}this.saveSVG()}}))})).addItem((e=>{e.setTitle(t$d("INSTALL_SCRIPT_BUTTON")).setIcon("ScriptEngine").setSection("pane").onClick((()=>{new ScriptInstallPrompt(this.plugin).open()}))})),super.onPaneMenu(e,A)}async getLibrary(){var e;const A=this.plugin.getStencilLibrary();return(null==A?void 0:A.library)?A.library:null!==(e=null==A?void 0:A.libraryItems)&&void 0!==e?e:[]}async instantiateExcalidraw(e){for(;!this.semaphores.scriptsReady;)await sleep(50);const A=this.plugin.getPackage(this.ownerWindow).react,t=this.plugin.getPackage(this.ownerWindow).reactDOM;this.clearDirty();const n=A.createElement((()=>{let t={x:0,y:0};const n=A.useRef(null),i=A.useRef(null),a=A.useRef(null),[r,s]=A.useState({width:void 0,height:void 0});let o=null,l=null,c=null,d=Date.now(),h=!1;this.toolsPanelRef=i,this.obsidianMenu=new ObsidianMenu(this.plugin,i),this.menuLinks=new MenuLinks(this.plugin,a);const u=()=>{let e,A;const t=new Promise(((t,n)=>{e=t,A=n}));return t.resolve=e,t.reject=A,t},g=A.useMemo((()=>({current:{readyPromise:u()}})),[]);A.useEffect((()=>{g.current.readyPromise.then((e=>{var A;this.excalidrawAPI=e,e.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.loadSceneFiles(),this.updateContainerSize(null,!0),null===(A=this.excalidrawWrapperRef.current.firstElementChild)||void 0===A||A.focus(),this.initializeToolsIconPanelAfterLoading()}))}),[g]),this.excalidrawRef=g,this.excalidrawWrapperRef=n,A.useEffect((()=>{s({width:this.contentEl.clientWidth,height:this.contentEl.clientHeight});const e=()=>{try{const e=this.contentEl.clientWidth,A=this.contentEl.clientHeight;if(0===e||0===A)return;s({width:e,height:A}),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.updatePosition(),this.ownerDocument!==document&&this.refresh()}catch(e){errorlog({where:"Excalidraw React-Wrapper, onResize",error:e})}};return this.ownerWindow.addEventListener("resize",e),()=>{var A;return null===(A=this.ownerWindow)||void 0===A?void 0:A.removeEventListener("resize",e)}}),[n]),this.getSelectedTextElement=()=>{var e;const A=this.excalidrawAPI;if(!(null==g?void 0:g.current)||!A)return{id:null,text:null};if(A.getAppState().viewModeEnabled){if(o){const e=o;return o=null,e}return{id:null,text:null}}const t=A.getSceneElements().filter((e=>e.id===Object.keys(A.getAppState().selectedElementIds)[0]));if(0===t.length)return{id:null,text:null};if("text"===t[0].type)return{id:t[0].id,text:t[0].text};if(["image","arrow"].contains(t[0].type))return{id:null,text:null};const n=null===(e=t[0].boundElements)||void 0===e?void 0:e.filter((e=>"text"===e.type));if((null==n?void 0:n.length)>0){const e=A.getSceneElements().filter((e=>e.id===n[0].id));if(e.length>0)return{id:e[0].id,text:e[0].text}}if(0===t[0].groupIds.length)return{id:null,text:null};const i=t[0].groupIds[0],a=A.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(i)})).filter((e=>"text"===e.type));return 0===a.length?{id:null,text:null}:{id:t[0].id,text:t[0].text}},this.getSelectedImageElement=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,fileId:null};if(e.getAppState().viewModeEnabled){if(l){const e=l;return l=null,e}return{id:null,fileId:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,fileId:null};if("image"==A[0].type)return{id:A[0].id,fileId:A[0].fileId};if("text"===A[0].type)return{id:null,fileId:null};if(0===A[0].groupIds.length)return{id:null,fileId:null};const t=A[0].groupIds[0],n=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>"image"==e.type));return 0===n.length?{id:null,fileId:null}:{id:n[0].id,fileId:n[0].fileId}},this.getSelectedElementWithLink=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,text:null};if(e.getAppState().viewModeEnabled){if(c){const e=c;return c=null,e}return{id:null,text:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,text:null};if(A[0].link)return{id:A[0].id,text:A[0].link};if(0===A[0].groupIds.length)return{id:null,text:null};const t=A[0].groupIds[0],n=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>e.link));return 0===n.length?{id:null,text:null}:{id:n[0].id,text:n[0].link}},this.addText=async(e,A,n=!0)=>{var i,a,r,s,o;const l=this.excalidrawAPI;if(!(null==g?void 0:g.current)||!l)return;const c=l.getAppState(),d=this.plugin.ea;d.reset(),d.style.strokeColor=null!==(i=c.currentItemStrokeColor)&&void 0!==i?i:"black",d.style.opacity=null!==(a=c.currentItemOpacity)&&void 0!==a?a:1,d.style.fontFamily=null!==(r=null!=A?A:c.currentItemFontFamily)&&void 0!==r?r:1,d.style.fontSize=null!==(s=c.currentItemFontSize)&&void 0!==s?s:20,d.style.textAlign=null!==(o=c.currentItemTextAlign)&&void 0!==o?o:"left";const h=d.addText(t.x,t.y,e);return await this.addElements(d.getElements(),!1,n,void 0,!0),h},this.addElements=async(e,A=!1,n=!1,i,a=!1)=>{const r=this.excalidrawAPI;if(!(null==g?void 0:g.current)||!r)return!1;const s=e.filter((e=>"text"==e.type));for(let e=0;ee.id)),l=r.getSceneElements(),c=[];for(let A=0;Ae.id===t))[0],c.push(t))}const d=a?l.concat(e.filter((e=>!c.includes(e.id)))):e.filter((e=>!c.includes(e.id))).concat(l);if(this.updateScene({elements:d,commitToHistory:!0},!0),i&&Object.keys(i).length>0){const e=[];Object.keys(i).forEach((A=>{if(e.push({mimeType:i[A].mimeType,id:i[A].id,dataURL:i[A].dataURL,created:i[A].created}),i[A].file){const e=new EmbeddedFile(this.plugin,this.file.path,i[A].file),t=r.getAppState();e.setImage(i[A].dataURL,i[A].mimeType,i[A].size,"dark"===t.theme,i[A].hasSVGwithBitmap),this.excalidrawData.setFile(i[A].id,e)}i[A].latex&&this.excalidrawData.setEquation(i[A].id,{latex:i[A].latex,isLoaded:!0})})),r.addFiles(e)}return n?await this.save(!1):this.setDirty(5),!0},this.getScene=()=>{const e=this.excalidrawAPI;if(!(null==g?void 0:g.current)||!e)return null;const A=e.getSceneElements(),t=e.getAppState(),n=e.getFiles();if(n){const e=A.filter((e=>"image"===e.type)).map((e=>e.fileId)),t=Object.keys(n).filter((A=>!e.contains(A)));t.forEach((e=>delete n[e]))}return{type:"excalidraw",version:2,source:"https://excalidraw.com",elements:A,appState:{theme:t.theme,viewBackgroundColor:t.viewBackgroundColor,currentItemStrokeColor:t.currentItemStrokeColor,currentItemBackgroundColor:t.currentItemBackgroundColor,currentItemFillStyle:t.currentItemFillStyle,currentItemStrokeWidth:t.currentItemStrokeWidth,currentItemStrokeStyle:t.currentItemStrokeStyle,currentItemRoughness:t.currentItemRoughness,currentItemOpacity:t.currentItemOpacity,currentItemFontFamily:t.currentItemFontFamily,currentItemFontSize:t.currentItemFontSize,currentItemTextAlign:t.currentItemTextAlign,currentItemStrokeSharpness:t.currentItemStrokeSharpness,currentItemStartArrowhead:t.currentItemStartArrowhead,currentItemEndArrowhead:t.currentItemEndArrowhead,scrollX:t.scrollX,scrollY:t.scrollY,zoom:t.zoom,currentItemLinearStrokeSharpness:t.currentItemLinearStrokeSharpness,gridSize:t.gridSize,colorPalette:t.colorPalette},prevTextMode:this.prevTextMode,files:n}},this.refresh=()=>{if(0===this.contentEl.clientWidth||0===this.contentEl.clientHeight)return;const e=this.excalidrawAPI;(null==g?void 0:g.current)&&e&&e.refresh()};let p={x:0,y:0},w=null;this.clearHoverPreview=()=>{if(w){const e=new MouseEvent("click",{view:this.ownerWindow,bubbles:!0,cancelable:!0});w.dispatchEvent(e),w=null}};const m=e=>{var A,t,n,i,a;const r=null===(A=app.dragManager.draggable)||void 0===A?void 0:A.files;return r&&r[0]==this.file&&(r.shift(),app.dragManager.draggable.title=`${r.length} files`),["file","files"].includes(null===(t=app.dragManager.draggable)||void 0===t?void 0:t.type)?"link":(null===(n=e.types)||void 0===n?void 0:n.includes("text/html"))||(null===(i=e.types)||void 0===i?void 0:i.includes("text/plain"))||(null===(a=e.types)||void 0===a?void 0:a.includes("Files"))?"copy":void 0};let f=!1;const B=()=>{if(o=getTextElementAtPointer(t,this),o&&o.id){const e=new MouseEvent("click",{ctrlKey:!0,metaKey:this.metaKeyDown,shiftKey:this.shiftKeyDown,altKey:this.altKeyDown});return this.handleLinkClick(this,e),void(o=null)}if(l=getImageElementAtPointer(t,this),l&&l.id){const e=new MouseEvent("click",{ctrlKey:!0,metaKey:this.metaKeyDown,shiftKey:this.shiftKeyDown,altKey:this.altKeyDown});return this.handleLinkClick(this,e),void(l=null)}if(c=getElementWithLinkAtPointer(t,this),c&&c.id){const e=new MouseEvent("click",{ctrlKey:!0,metaKey:this.metaKeyDown,shiftKey:this.shiftKeyDown,altKey:this.altKeyDown});return this.handleLinkClick(this,e),void(c=null)}};let E=null;const b=(e,A)=>{var n,i;if(!E)return;if(null===(i=null===(n=this.excalidrawAPI)||void 0===n?void 0:n.getAppState())||void 0===i?void 0:i.editingElement)return;if(this.semaphores.wheelTimeout)return;if(!e){if(!t)return;e="";const n=getTextElementAtPointer(t,this);if(n&&n.text){A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===n.id))[0];const t=this.textMode===TextMode.parsed?this.excalidrawData.getRawText(n.id):n.text;if(!t)return;if(t.match(REG_LINKINDEX_HYPERLINK))return;const i=REGEX_LINK.getRes(t).next();if(!i.value)return;if((e=REGEX_LINK.getLink(i)).match(REG_LINKINDEX_HYPERLINK))return}else{const n=getImageElementAtPointer(t,this);if(A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===n.id))[0],!n||!n.fileId)return;if(!this.excalidrawData.hasFile(n.fileId))return;const i=this.excalidrawData.getFile(n.fileId),a=i.linkParts.ref?`#${i.linkParts.isBlockRef?"^":""}${i.linkParts.ref}`:"";e=this.excalidrawData.getFile(n.fileId).file.path+a}}if(this.getHookServer().onLinkHoverHook)try{if(!this.getHookServer().onLinkHoverHook(A,e,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.showHoverPreview",fn:this.getHookServer().onLinkHoverHook,error:e})}if(this.semaphores.hoverSleep)return;const a=app.metadataCache.getFirstLinkpathDest(e.split("#")[0],this.file.path);if(!a)return;if(this.ownerDocument.querySelector(`div.popover-title[data-path="${a.path}"]`))return;this.semaphores.hoverSleep=!0;const r=this;if(setTimeout((()=>r.semaphores.hoverSleep=!1),500),this.plugin.hover.linkText=e,this.plugin.hover.sourcePath=this.file.path,w=this.contentEl,app.workspace.trigger("hover-link",{event:E,source:"excalidraw",hoverParent:w,targetEl:w,linktext:this.plugin.hover.linkText,sourcePath:this.plugin.hover.sourcePath}),p=t,this.isFullscreen()){const e=this;setTimeout((()=>{var A,t,n,i;const r=null!==(i=null===(n=null===(t=null===(A=this.ownerDocument.querySelector(`div.popover-title[data-path="${a.path}"]`))||void 0===A?void 0:A.parentElement)||void 0===t?void 0:t.parentElement)||void 0===n?void 0:n.parentElement)&&void 0!==i?i:this.ownerDocument.body.querySelector("div.popover");r&&e.contentEl.append(r)}),400)}},{Excalidraw:C}=this.plugin.getPackage(this.ownerWindow).excalidrawLib,v=A.createElement("div",{className:"excalidraw-wrapper",ref:n,key:"abc",tabIndex:0,onKeyDown:e=>{e.target!==v.ref.current&&(this.isFullscreen()&&e.keyCode===KEYCODE.ESC&&this.exitFullscreen(),!e[CTRL_OR_CMD]||e.shiftKey||e.altKey||b())},onPointerDown:e=>{(e[CTRL_OR_CMD]||e.metaKey)&&(this.plugin.settings.allowCtrlClick||e.metaKey)&&setTimeout((()=>{(this.getSelectedTextElement().id||this.getSelectedImageElement().id||this.getSelectedElementWithLink().id)&&this.handleLinkClick(this,e)}))},onMouseMove:e=>{E=e.nativeEvent},onMouseOver:()=>{this.clearHoverPreview()},onDragOver:e=>{const A=m(e.dataTransfer);if(A)return e.dataTransfer.dropEffect=A,e.preventDefault(),!1},onDragLeave:()=>{}},A.createElement(C,{ref:g,width:r.width,height:r.height,UIOptions:{canvasActions:{loadScene:!1,saveScene:!1,saveAsScene:!1,export:!1,saveAsImage:!1,saveToActiveFile:!1}},initState:null==e?void 0:e.appState,initialData:e,detectScroll:!0,onPointerUpdate:e=>{if(t=e.pointer,w&&(Math.abs(p.x-e.pointer.x)>50||Math.abs(p.y-e.pointer.y)>50)&&this.clearHoverPreview(),f){if(!h&&"down"===e.button){if(h=!0,this.ctrlKeyDown||this.metaKeyDown)return void B();const e=Date.now();return e-d<600&&e-d>40&&B(),void(d=e)}"up"===e.button&&(h=!1),(this.ctrlKeyDown||this.excalidrawAPI.getAppState().isViewModeEnabled&&this.plugin.settings.hoverPreviewWithoutCTRL)&&b()}},libraryReturnUrl:"app://obsidian.md",autoFocus:!0,hideWelcomeScreen:!0,renderMenuLinks:null,onChange:(e,A)=>{var t,n,i,a;const r=()=>{this.plugin.ea.onCanvasColorChangeHook&&this.plugin.ea.onCanvasColorChangeHook(this.plugin.ea,this,A.viewBackgroundColor)};if(f=A.viewModeEnabled,this.semaphores.justLoaded){if((null!==(a=null===(i=null===(n=null===(t=this.excalidrawData)||void 0===t?void 0:t.scene)||void 0===n?void 0:n.elements)||void 0===i?void 0:i.length)&&void 0!==a?a:0)>0&&0===e.length)return;return this.semaphores.justLoaded=!1,!this.semaphores.preventAutozoom&&this.plugin.settings.zoomToFitOnOpen&&this.zoomToFit(!1,!0),this.previousSceneVersion=this.getSceneVersion(e),this.previousBackgroundColor=A.viewBackgroundColor,void r()}if(!this.semaphores.dirty&&null===A.editingElement&&null===A.editingLinearElement){const t=this.getSceneVersion(e);((t>0||0===t&&e.length>0)&&t!==this.previousSceneVersion||A.viewBackgroundColor!==this.previousBackgroundColor&&this.file===this.excalidrawData.file)&&(this.previousSceneVersion=t,this.previousBackgroundColor=A.viewBackgroundColor,this.setDirty(6),r())}},onLibraryChange:e=>{(async()=>{const A={type:"excalidrawlib",version:2,source:"https://excalidraw.com",libraryItems:e};this.plugin.setStencilLibrary(A),await this.plugin.saveSettings()})()},renderTopRightUI:this.obsidianMenu.renderButton,onPaste:e=>{if(e.elements){const e=this;setTimeout((()=>e.save(!1)),300)}return!0},onThemeChange:async e=>{var A;this.excalidrawData.scene.appState.theme=e,this.loadSceneFiles(),null===(A=null==i?void 0:i.current)||void 0===A||A.setTheme(e)},ownerDocument:this.ownerDocument,ownerWindow:this.ownerWindow,onDrop:e=>{const A=this.excalidrawAPI;if(!A)return!1;const n=A.getAppState();t=viewportCoordsToSceneCoords({clientX:e.clientX,clientY:e.clientY},n);const i=app.dragManager.draggable,a=(A,n,a)=>{if(!this.getHookServer().onDropHook)return!1;try{return this.getHookServer().onDropHook({ea:this.getHookServer(),event:e,draggable:i,type:A,payload:{files:n,text:a},excalidrawFile:this.file,view:this,pointerPosition:t})}catch(e){return new obsidian_module.Notice("on drop hook error. See console log for details"),errorlog({where:"ExcalidrawView.onDrop",error:e}),!1}};switch(e[CTRL_OR_CMD]=e.shiftKey||e[CTRL_OR_CMD],null==i?void 0:i.type){case"file":if(!a("file",[i.file],null)){if(i.file.path.match(REG_LINKINDEX_INVALIDCHARS))return new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3),!1;if(e[CTRL_OR_CMD]&&(IMAGE_TYPES.contains(i.file.extension)||"md"===i.file.extension)){const n=this.plugin.ea;return n.reset(),n.setView(this),(async()=>{n.canvas.theme=A.getAppState().theme,await n.addImage(t.x,t.y,i.file,!e.altKey),n.addElementsToView(!1,!1,!0)})(),!1}this.addText(`[[${app.metadataCache.fileToLinktext(i.file,this.file.path,!0)}]]`)}return!1;case"files":return a("file",i.files,null)||(async()=>{if(e[CTRL_OR_CMD]){const n=this.plugin.ea;n.reset(),n.setView(this),n.canvas.theme=A.getAppState().theme;let a=0;for(const A of i.files)(IMAGE_TYPES.contains(A.extension)||"md"===A.extension)&&(await n.addImage(t.x+50*a,t.y+50*a,A,!e.altKey),a++,await n.addElementsToView(!1,!1,!0))}else{for(const e of i.files)await this.addText(`[[${app.metadataCache.fileToLinktext(e,this.file.path,!0)}]]`,void 0,!1),t.y+=2*n.currentItemFontSize;this.save(!1)}})(),!1}if(e.dataTransfer.types.includes("Files")){if(e.dataTransfer.types.includes("text/plain")){const A=e.dataTransfer.getData("text");if(A&&a("text",null,A))return!1}return!0}if(e.dataTransfer.types.includes("text/plain")){const A=e.dataTransfer.getData("text");if(!A)return!0;if(!a("text",null,A)){if(this.plugin.settings.iframelyAllowed&&A.match(/^https?:\/\/\S*$/))return(async()=>{var e;const t=await this.addText(A),n=`http://iframely.server.crestify.com/iframely?url=${A}`,i=JSON.parse(await obsidian_module.request({url:n}));if(!i||i.error||!(null===(e=i.meta)||void 0===e?void 0:e.title))return!1;const a=this.plugin.ea;a.reset(),a.setView(this);const r=a.getViewElements().filter((e=>e.id===t));1===r.length&&(r[0].text=r[0].originalText=r[0].rawText=`[${i.meta.title}](${A})`,a.copyViewElementsToEAforEditing(r),a.addElementsToView(!1,!1,!1))})(),!1;if(A.startsWith("obsidian://open?vault=")){const t=e.dataTransfer.getData("text/html");if(t){const e=t.match(/href="app:\/\/obsidian\.md\/(.*?)"/);if(2===e.length){const A=decodeURIComponent(e[1]).split("#"),t=app.vault.getAbstractFileByPath(A[0]);if(t&&t instanceof obsidian_module.TFile){const e=app.metadataCache.fileToLinktext(t,this.file.path);return void this.addText(`[[${e+(A.length>1?"#"+A[1]+"|"+e:"")}]]`)}return this.addText(`[[${decodeURIComponent(e[1])}]]`),!1}}const n=A.split("file=");if(2===n.length)return this.addText(`[[${decodeURIComponent(n[1])}]]`),!1}this.addText(A.replace(/(!\[\[.*#[^\]]*\]\])/g,"$1{40}"))}return!1}return!a("unknown",null,null)},onBeforeTextEdit:e=>{var A;if(clearTimeout(this.isEditingTextResetTimer),this.isEditingTextResetTimer=null,this.semaphores.isEditingText=!0,this.compatibilityMode)return null!==(A=e.originalText)&&void 0!==A?A:e.text;return this.excalidrawData.getRawText(e.id)||e.rawText},onBeforeTextSubmit:(e,A,t,n)=>{const i=this.excalidrawAPI;if(!i)return[null,null,null];const a="PASTING EXCALIDRAW ELEMENTS AS A TEXT ELEMENT IS NOT ALLOWED";if(A.startsWith('{"type":"excalidraw/clipboard","elements":[{"'))return setTimeout((async()=>{const A=this.excalidrawAPI.getSceneElements(),t=A.filter((A=>A.id===e.id));if(1===t.length){const e=cloneElement(t[0]);e.rawText=a,A[A.indexOf(t[0])]=e,this.excalidrawData.setTextElement(e.id,a,a,(()=>{})),await this.updateScene({elements:A}),i.history.clear()}})),[a,a,null];if(this.semaphores.isEditingText=!0,this.isEditingTextResetTimer=setTimeout((()=>{this.semaphores.isEditingText=!1,this.isEditingTextResetTimer=null}),1500),n)return this.excalidrawData.deleteTextElement(e.id),this.setDirty(7),[null,null,null];const r=e.containerId;if(A!==e.text||t!==e.originalText||!this.excalidrawData.getRawText(e.id)){this.setDirty(8);const[n,a,s]=this.excalidrawData.setTextElement(e.id,A,t,(async(A,t)=>{var n,a;if(this.textMode===TextMode.raw)return;const r=this.excalidrawAPI.getSceneElements(),s=r.filter((A=>A.id===e.id));if(1===s.length){const e=cloneElement(s[0]),o=s[0].containerId?null===(a=null===(n=i.getSceneElements().filter((e=>e.id===s[0].containerId)))||void 0===n?void 0:n[0])||void 0===a?void 0:a.type:void 0;this.excalidrawData.updateTextElement(e,A,t,!0,o),r[r.indexOf(s[0])]=e,this.updateScene({elements:r}),e.containerId&&this.updateContainerSize(e.containerId)}i.history.clear()}));return n?(r&&this.updateContainerSize(r,!0),this.textMode===TextMode.raw?[A,t,s]:A===n?s?[n,a,s]:[null,null,null]:(i.history.clear(),[n,a,s])):[null,null,null]}return r&&this.updateContainerSize(r,!0),this.textMode===TextMode.parsed?this.excalidrawData.getParsedText(e.id):[null,null,null]},onLinkOpen:async(e,A)=>{var t;if(A.preventDefault(),!e)return;const n=e.link;if(!n||""===n)return;const i=this.ownerDocument.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");i&&this.ownerDocument.body.removeChild(i);const a=null===(t=null==A?void 0:A.detail)||void 0===t?void 0:t.nativeEvent;if(this.getHookServer().onLinkClickHook)try{if(!this.getHookServer().onLinkClickHook(e,e.link,a,this,this.getHookServer()))return}catch(A){errorlog({where:"ExcalidrawView.onLinkOpen",fn:this.getHookServer().onLinkClickHook,error:A})}n.startsWith("md://")||n.startsWith("[[")?(async()=>{const e=n.match(/(md:\/\/)?\[\[(?.*?)\]\]/);if(!e)return;let A=e.groups.link,t=null;if(A.search("#")>-1){const e=getLinkParts(A,this.file);t=`#${e.isBlockRef?"^":""}${e.ref}`,A=e.path}if(A.match(REG_LINKINDEX_INVALIDCHARS))return void new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3);const i=app.metadataCache.getFirstLinkpathDest(A,this.file.path),r=a.shiftKey||a[CTRL_OR_CMD]||this.linksAlwaysOpenInANewPane||a.metaKey;if(r&&this.isFullscreen()&&this.exitFullscreen(),i)if(i===this.file){if(t)return void this.setEphemeralState({subpath:t});this.zoomToFit(!1)}else try{const e=r?a.metaKey&&!app.isMobile?app.workspace.openPopoutLeaf():getNewOrAdjacentLeaf(this.plugin,this.leaf):this.leaf;await e.openFile(i,t?{active:!1,eState:{subpath:t}}:{active:!1})}catch(e){new obsidian_module.Notice(e,4e3)}else new NewFileActions(this.plugin,A,r,!app.isMobile&&a.metaKey,this).open()})():window.open(n)},onLinkHover:(e,A)=>{if(e&&(this.plugin.settings.hoverPreviewWithoutCTRL||A[CTRL_OR_CMD])){E=A,E.ctrlKey=!0;const t=e.link;if(!t||""===t)return;if(t.startsWith("md://")||t.startsWith("[[")){const A=t.match(/(md:\/\/)?\[\[(?.*?)\]\]/);if(!A)return;let n=A.groups.link;b(n,e)}}},onViewModeChange:e=>{var A,t;if(this.semaphores.viewunload||null===(t=null===(A=this.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.setExcalidrawViewMode(e),this.getHookServer().onViewModeChangeHook)try{this.getHookServer().onViewModeChangeHook(e,this,this.getHookServer())}catch(e){errorlog({where:"ExcalidrawView.onViewModeChange",fn:this.getHookServer().onViewModeChangeHook,error:e})}}}),A.createElement(ToolsPanel,{ref:i,visible:!1,view:this,centerPointer:()=>{const e=this.excalidrawAPI;if(!g||!g.current||!e)return;const A=e.getAppState(),{width:n,height:i}=A;t=viewportCoordsToSceneCoords({clientX:n/2,clientY:i/2},A)}})),y=A.useRef(new ResizeObserver((e=>{if(!i||!i.current)return;const{width:A,height:t}=e[0].contentRect;if(0===A||0===t)return;const n=i.current.onRightEdge?i.current.previousWidth-A:0,a=i.current.onBottomEdge?i.current.previousHeight-t:0;i.current.updatePosition(a,n)})));return A.useEffect((()=>((null==i?void 0:i.current)&&y.current.observe(i.current.containerRef.current),()=>{y.current.unobserve(i.current.containerRef.current)})),[i,y]),A.createElement(A.Fragment,null,v)}));t.createRoot(this.contentEl).render(n)}updateContainerSize(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const n=()=>{const A=e?t.getSceneElements().filter((A=>A.id===e&&"arrow"!==A.type)):t.getSceneElements().filter((e=>{var A;return"arrow"!==e.type&&(null===(A=e.boundElements)||void 0===A?void 0:A.map((e=>e.type)).includes("text"))}));A.length>0&&(this.initialContainerSizeUpdate&&(this.semaphores.justLoaded=!0),t.updateContainerSize(A)),this.initialContainerSizeUpdate=!1};A?setTimeout((()=>n()),50):n()}zoomToFit(e=!0,A=!1){const t=this.excalidrawAPI;if(!t||!this.excalidrawRef||this.semaphores.isEditingText)return;const n=this.plugin.settings.zoomToFitMaxLevel,i=t.getSceneElements().filter((e=>e.width<1e4&&e.height<1e4));app.isMobile&&i.length>1e3||i.length>2500?A&&t.scrollToContent():e?setTimeout((()=>t.zoomToFit(i,n,this.isFullscreen()?0:.05)),100):t.zoomToFit(i,n,this.isFullscreen()?0:.05)}async toggleTrayMode(){const e=this.excalidrawAPI;if(!e)return!1;const A=e.getAppState();e.updateScene({appState:{trayModeEnabled:!A.trayModeEnabled}}),await this.plugin.loadSettings(),this.plugin.settings.defaultTrayMode=!A.trayModeEnabled,this.plugin.saveSettings()}selectElementsMatchingQuery(e,A,t=!0,n=!1,i=!1){let a=getTextElementsMatchingQuery(e.filter((e=>"text"===e.type)),A,n);if(0!==a.length){if(i){const A=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],e);A.length>0&&(a=A)}this.zoomToElements(t,a)}else new obsidian_module.Notice("I could not find a matching text element")}zoomToElements(e,A){const t=this.excalidrawAPI;if(!t)return;const n=this.plugin.settings.zoomToFitMaxLevel;e&&t.selectElements(A),t.zoomToFit(A,n,.05)}getViewSelectedElements(){var e;const A=this.excalidrawAPI;if(!A)return[];const t=null===(e=A.getAppState())||void 0===e?void 0:e.selectedElementIds;if(!t)return[];const n=Object.keys(t);if(!n)return[];const i=A.getSceneElements().filter((e=>n.includes(e.id))),a=i.filter((e=>e.boundElements&&e.boundElements.filter((e=>"text"===e.type)).length>0)).map((e=>e.boundElements.filter((e=>"text"===e.type)).map((e=>e.id))[0])),r=i.map((e=>e.id)).concat(a);return A.getSceneElements().filter((e=>r.contains(e.id)))}async copyLinkToSelectedElementToClipboard(e){const A=this.getViewSelectedElements();if(A.length<1)return void new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_ERROR"));let t;if(2===A.length){const e=A.filter((e=>"text"===e.type));1===e.length&&e[0].containerId&&1===A.filter((e=>e.boundElements.some((e=>"text"===e.type)))).length&&(t=e[0].id)}t||(t=1===A.length?A[0].id:this.plugin.ea.getLargestElement(A).id);const n=await ScriptEngine.inputPrompt(app,"Set link alias","Leave empty if you do not want to set an alias","");navigator.clipboard.writeText(`[[${this.file.path}#^${e}${t}${n?`|${n}`:""}]]`),new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_READY"))}updateScene(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const n=e.elements&&A;n&&(e.elements=t.restore(e).elements);try{t.updateScene(e)}catch(A){if(errorlog({where:"ExcalidrawView.updateScene 1st attempt",fn:this.updateScene,error:A,scene:e,willDoSecondAttempt:!n}),n)warningUnknowSeriousError();else try{e.elements=t.restore(e).elements,t.updateScene(e)}catch(A){errorlog({where:"ExcalidrawView.updateScene 2nd attempt",fn:this.updateScene,error:A,scene:e}),warningUnknowSeriousError()}}}}function getTextMode(e){return e.search("excalidraw-plugin: parsed\n")>-1||e.search("excalidraw-plugin: locked\n")>-1?TextMode.parsed:TextMode.raw}const DEFAULT_SETTINGS={folder:"Excalidraw",embedUseExcalidrawFolder:!1,templateFilePath:"Excalidraw/Template.excalidraw",scriptFolderPath:"Excalidraw/Scripts",compress:!1,autosave:!0,autosaveInterval:15e3,autosaveIntervalDesktop:15e3,autosaveIntervalMobile:1e4,drawingFilenamePrefix:"Drawing ",drawingEmbedPrefixWithFilename:!0,drawingFilnameEmbedPostfix:" ",drawingFilenameDateTime:"YYYY-MM-DD HH.mm.ss",useExcalidrawExtension:!0,displaySVGInPreview:!0,displayExportedImageIfAvailable:!1,previewMatchObsidianTheme:!1,width:"400",isLeftHanded:!1,matchTheme:!1,matchThemeAlways:!1,matchThemeTrigger:!1,defaultMode:"normal",defaultPenMode:"never",zoomToFitOnOpen:!0,zoomToFitOnResize:!0,zoomToFitMaxLevel:2,linkPrefix:"📍",urlPrefix:"🌐",parseTODO:!1,todo:"☐",done:"🗹",hoverPreviewWithoutCTRL:!1,linkOpacity:1,openInAdjacentPane:!1,openInMainWorkspace:!0,showLinkBrackets:!0,allowCtrlClick:!0,forceWrap:!1,pageTransclusionCharLimit:200,wordWrappingDefault:0,removeTransclusionQuoteSigns:!0,iframelyAllowed:!0,pngExportScale:1,exportWithTheme:!0,exportWithBackground:!0,exportPaddingSVG:10,keepInSync:!1,autoexportSVG:!1,autoexportPNG:!1,autoExportLightAndDark:!1,autoexportExcalidraw:!1,embedType:"excalidraw",embedWikiLink:!0,syncExcalidraw:!1,experimentalFileType:!1,experimentalFileTag:"✏️",experimentalLivePreview:!0,experimentalEnableFourthFont:!1,experimantalFourthFont:"Virgil",fieldSuggester:!0,compatibilityMode:!1,drawingOpenCount:0,library:"deprecated",library2:{type:"excalidrawlib",version:2,source:"https://excalidraw.com",libraryItems:[]},imageElementNotice:!0,mdSVGwidth:500,mdSVGmaxHeight:800,mdFont:"Virgil",mdFontColor:"Black",mdBorderColor:"Black",mdCSS:"",scriptEngineSettings:{},defaultTrayMode:!1,previousRelease:"0.0.0",showReleaseNotes:!0,showNewVersionNotification:!0,mathjaxSourceURL:"https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js",taskboneEnabled:!1,taskboneAPIkey:""};class ExcalidrawSettingTab extends obsidian_module.PluginSettingTab{constructor(e,A){super(e,A),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1,this.reloadMathJax=!1,this.plugin=A}applySettingsUpdate(e=!1){e&&(this.requestReloadDrawings=!0)}async hide(){if(this.plugin.settings.scriptFolderPath=obsidian_module.normalizePath(this.plugin.settings.scriptFolderPath),"/"!==this.plugin.settings.scriptFolderPath&&""!==this.plugin.settings.scriptFolderPath||(this.plugin.settings.scriptFolderPath="Excalidraw/Scripts"),this.plugin.saveSettings(),this.requestReloadDrawings){const e=app.workspace.getLeavesOfType("excalidraw");for(const A of e)A.view instanceof ExcalidrawView&&(await A.view.save(!1),await A.view.reload(!0));this.requestEmbedUpdate=!0}this.requestEmbedUpdate&&this.plugin.triggerEmbedUpdates(),this.plugin.scriptEngine.updateScriptPath(),this.reloadMathJax&&this.plugin.loadMathJax()}async display(){var e;await this.plugin.loadSettings(),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1;const{containerEl:A}=this;this.containerEl.empty();const t=A.createDiv("coffee");t.addClass("ex-coffee-div"),t.createEl("a",{href:"https://ko-fi.com/zsolt"}).createEl("img",{attr:{src:"https://cdn.ko-fi.com/cdn/kofi3.png?v=3"}}).height=45,new obsidian_module.Setting(A).setName(t$d("RELEASE_NOTES_NAME")).setDesc(fragWithHTML(t$d("RELEASE_NOTES_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showReleaseNotes).onChange((async e=>{this.plugin.settings.showReleaseNotes=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("NEWVERSION_NOTIFICATION_NAME")).setDesc(fragWithHTML(t$d("NEWVERSION_NOTIFICATION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showNewVersionNotification).onChange((async e=>{this.plugin.settings.showNewVersionNotification=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOLDER_NAME")).setDesc(fragWithHTML(t$d("FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw").setValue(this.plugin.settings.folder).onChange((async e=>{this.plugin.settings.folder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOLDER_EMBED_NAME")).setDesc(fragWithHTML(t$d("FOLDER_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedUseExcalidrawFolder).onChange((async e=>{this.plugin.settings.embedUseExcalidrawFolder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TEMPLATE_NAME")).setDesc(fragWithHTML(t$d("TEMPLATE_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Template").setValue(this.plugin.settings.templateFilePath).onChange((async e=>{this.plugin.settings.templateFilePath=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("SCRIPT_FOLDER_NAME")).setDesc(fragWithHTML(t$d("SCRIPT_FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Scripts").setValue(this.plugin.settings.scriptFolderPath).onChange((async e=>{this.plugin.settings.scriptFolderPath=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("SAVING_HEAD")}),new obsidian_module.Setting(A).setName(t$d("COMPRESS_NAME")).setDesc(fragWithHTML(t$d("COMPRESS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compress).onChange((async e=>{this.plugin.settings.compress=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("AUTOSAVE_INTERVAL_DESKTOP_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_DESKTOP_DESC"))).addDropdown((e=>e.addOption("15000","Frequent (every 15 seconds)").addOption("60000","Moderate (every 60 seconds)").addOption("300000","Rare (every 5 minutes)").addOption("900000","Practically never (every 15 minutes)").setValue(this.plugin.settings.autosaveIntervalDesktop.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalDesktop=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("AUTOSAVE_INTERVAL_MOBILE_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_MOBILE_DESC"))).addDropdown((e=>e.addOption("10000","Frequent (every 10 seconds)").addOption("30000","Moderate (every 30 seconds)").addOption("60000","Rare (every 1 minute)").addOption("300000","Practically never (every 5 minutes)").setValue(this.plugin.settings.autosaveIntervalMobile.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalMobile=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("FILENAME_HEAD")}),A.createDiv("",(e=>{e.innerHTML=t$d("FILENAME_DESC")}));const n=()=>`${t$d("FILENAME_SAMPLE")}${getDrawingFilename(this.plugin.settings)}
${t$d("FILENAME_EMBED_SAMPLE")}${getEmbedFilename("{NOTE_NAME}",this.plugin.settings)}`,i=A.createEl("p",{text:""});let a,r,s,o,l,c,d;i.innerHTML=n(),new obsidian_module.Setting(A).setName(t$d("FILENAME_PREFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_DESC"))).addText((e=>e.setPlaceholder("Drawing ").setValue(this.plugin.settings.drawingFilenamePrefix).onChange((async A=>{this.plugin.settings.drawingFilenamePrefix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenamePrefix),i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_PREFIX_EMBED_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.drawingEmbedPrefixWithFilename).onChange((async e=>{this.plugin.settings.drawingEmbedPrefixWithFilename=e,i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_POSTFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_POSTFIX_DESC"))).addText((e=>e.setPlaceholder("").setValue(this.plugin.settings.drawingFilnameEmbedPostfix).onChange((async A=>{this.plugin.settings.drawingFilnameEmbedPostfix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilnameEmbedPostfix),i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_DATE_NAME")).setDesc(fragWithHTML(t$d("FILENAME_DATE_DESC"))).addText((e=>e.setPlaceholder("YYYY-MM-DD HH.mm.ss").setValue(this.plugin.settings.drawingFilenameDateTime).onChange((async A=>{this.plugin.settings.drawingFilenameDateTime=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenameDateTime),i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_EXCALIDRAW_EXTENSION_NAME")).setDesc(fragWithHTML(t$d("FILENAME_EXCALIDRAW_EXTENSION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.useExcalidrawExtension).onChange((async e=>{this.plugin.settings.useExcalidrawExtension=e,i.innerHTML=n(),this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("DISPLAY_HEAD")}),new obsidian_module.Setting(A).setName(t$d("LEFTHANDED_MODE_NAME")).setDesc(fragWithHTML(t$d("LEFTHANDED_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.isLeftHanded).onChange((async e=>{this.plugin.settings.isLeftHanded=e,setLeftHandedMode(e),setTimeout((()=>setLeftHandedMode(e))),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchTheme).onChange((async e=>{this.plugin.settings.matchTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_ALWAYS_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_ALWAYS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeAlways).onChange((async e=>{this.plugin.settings.matchThemeAlways=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_TRIGGER_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_TRIGGER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeTrigger).onChange((async e=>{this.plugin.settings.matchThemeTrigger=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_OPEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_OPEN_MODE_DESC"))).addDropdown((e=>e.addOption("normal","Normal Mode").addOption("zen","Zen Mode").addOption("view","View Mode").setValue(this.plugin.settings.defaultMode).onChange((async e=>{this.plugin.settings.defaultMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_PEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PEN_MODE_DESC"))).addDropdown((e=>e.addOption("never","Never").addOption("mobile","On Obsidian Mobile").addOption("always","Always").setValue(this.plugin.settings.defaultPenMode).onChange((async e=>{this.plugin.settings.defaultPenMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_ONOPEN_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_ONOPEN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnOpen).onChange((async e=>{this.plugin.settings.zoomToFitOnOpen=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnResize).onChange((async e=>{this.plugin.settings.zoomToFitOnResize=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_MAX_LEVEL_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_MAX_LEVEL_DESC"))).addSlider((e=>e.setLimits(.5,10,.5).setValue(this.plugin.settings.zoomToFitMaxLevel).onChange((async e=>{a.innerText=` ${e.toString()}`,this.plugin.settings.zoomToFitMaxLevel=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{a=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.zoomToFitMaxLevel.toString()}`})),this.containerEl.createEl("h1",{text:t$d("LINKS_HEAD")}),this.containerEl.createEl("span",void 0,(e=>e.innerHTML=t$d("LINKS_DESC"))),new obsidian_module.Setting(A).setName(t$d("ADJACENT_PANE_NAME")).setDesc(fragWithHTML(t$d("ADJACENT_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInAdjacentPane).onChange((async e=>{this.plugin.settings.openInAdjacentPane=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MAINWORKSPACE_PANE_NAME")).setDesc(fragWithHTML(t$d("MAINWORKSPACE_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInMainWorkspace).onChange((async e=>{this.plugin.settings.openInMainWorkspace=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(fragWithHTML(t$d("LINK_BRACKETS_NAME"))).setDesc(fragWithHTML(t$d("LINK_BRACKETS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showLinkBrackets).onChange((e=>{this.plugin.settings.showLinkBrackets=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("LINK_PREFIX_NAME")).setDesc(fragWithHTML(t$d("LINK_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.linkPrefix).onChange((e=>{this.plugin.settings.linkPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("URL_PREFIX_NAME")).setDesc(fragWithHTML(t$d("URL_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.urlPrefix).onChange((e=>{this.plugin.settings.urlPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("PARSE_TODO_NAME")).setDesc(fragWithHTML(t$d("PARSE_TODO_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.parseTODO).onChange((e=>{this.plugin.settings.parseTODO=e,r.setDisabled(!e),s.setDisabled(!e),this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("TODO_NAME")).setDesc(fragWithHTML(t$d("TODO_DESC"))).addText((e=>{r=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.todo).onChange((e=>{this.plugin.settings.todo=e,this.applySettingsUpdate(!0)}))})),r.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(A).setName(t$d("DONE_NAME")).setDesc(fragWithHTML(t$d("DONE_DESC"))).setDisabled(!this.plugin.settings.parseTODO).addText((e=>{s=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.done).onChange((e=>{this.plugin.settings.done=e,this.applySettingsUpdate(!0)}))})),s.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(A).setName(t$d("LINKOPACITY_NAME")).setDesc(fragWithHTML(t$d("LINKOPACITY_DESC"))).addSlider((e=>e.setLimits(0,1,.05).setValue(this.plugin.settings.linkOpacity).onChange((async e=>{o.innerText=` ${e.toString()}`,this.plugin.settings.linkOpacity=e,this.applySettingsUpdate(!0)})))).settingEl.createDiv("",(e=>{o=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.linkOpacity.toString()}`})),new obsidian_module.Setting(A).setName(t$d("HOVERPREVIEW_NAME")).setDesc(fragWithHTML(t$d("HOVERPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.hoverPreviewWithoutCTRL).onChange((async e=>{this.plugin.settings.hoverPreviewWithoutCTRL=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LINK_CTRL_CLICK_NAME")).setDesc(fragWithHTML(t$d("LINK_CTRL_CLICK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowCtrlClick).onChange((async e=>{this.plugin.settings.allowCtrlClick=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TRANSCLUSION_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_WRAP_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.forceWrap).onChange((async e=>{this.plugin.settings.forceWrap=e,this.applySettingsUpdate(!0)})))).descEl.innerHTML=`![[doc#^ref]]{number} ${t$d("TRANSCLUSION_WRAP_DESC")}`,new obsidian_module.Setting(A).setName(t$d("PAGE_TRANSCLUSION_CHARCOUNT_NAME")).setDesc(fragWithHTML(t$d("PAGE_TRANSCLUSION_CHARCOUNT_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.pageTransclusionCharLimit.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.pageTransclusionCharLimit=10,void this.applySettingsUpdate(!0);this.plugin.settings.pageTransclusionCharLimit=t,e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("TRANSCLUSION_DEFAULT_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_DEFAULT_WRAP_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.wordWrappingDefault.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.wordWrappingDefault.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.wordWrappingDefault=0,void this.applySettingsUpdate(!0);this.plugin.settings.wordWrappingDefault=t,e.setValue(this.plugin.settings.wordWrappingDefault.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("QUOTE_TRANSCLUSION_REMOVE_NAME")).setDesc(fragWithHTML(t$d("QUOTE_TRANSCLUSION_REMOVE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.removeTransclusionQuoteSigns).onChange((e=>{this.plugin.settings.removeTransclusionQuoteSigns=e,this.requestEmbedUpdate=!0,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("GET_URL_TITLE_NAME")).setDesc(fragWithHTML(t$d("GET_URL_TITLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.iframelyAllowed).onChange((async e=>{this.plugin.settings.iframelyAllowed=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("MD_HEAD")}),this.containerEl.createEl("p",{text:t$d("MD_HEAD_DESC")}),new obsidian_module.Setting(A).setName(t$d("MD_TRANSCLUDE_WIDTH_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_WIDTH_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 500").setValue(this.plugin.settings.mdSVGwidth.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGwidth.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGwidth=500,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGwidth=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGwidth.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("MD_TRANSCLUDE_HEIGHT_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_HEIGHT_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 800").setValue(this.plugin.settings.mdSVGmaxHeight.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGmaxHeight.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGmaxHeight=800,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGmaxHeight=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGmaxHeight.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_FONT_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),e.addOption("Cascadia","Cascadia"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.mdFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFont=e,this.applySettingsUpdate(!0)}))})),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdFontColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFontColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_BORDER_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_BORDER_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdBorderColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdBorderColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("MD_CSS_NAME")).setDesc(fragWithHTML(t$d("MD_CSS_DESC"))).addText((e=>e.setPlaceholder("filename of css file in vault").setValue(this.plugin.settings.mdCSS).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdCSS=e,this.applySettingsUpdate(!0)})))),this.containerEl.createEl("h1",{text:t$d("EMBED_HEAD")}),new obsidian_module.Setting(A).setName(t$d("EMBED_PREVIEW_SVG_NAME")).setDesc(fragWithHTML(t$d("EMBED_PREVIEW_SVG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displaySVGInPreview).onChange((async e=>{this.plugin.settings.displaySVGInPreview=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EMBED_REUSE_EXPORTED_IMAGE_NAME")).setDesc(fragWithHTML(t$d("EMBED_REUSE_EXPORTED_IMAGE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displayExportedImageIfAvailable).onChange((async e=>{this.plugin.settings.displayExportedImageIfAvailable=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("PREVIEW_MATCH_OBSIDIAN_NAME")).setDesc(fragWithHTML(t$d("PREVIEW_MATCH_OBSIDIAN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.previewMatchObsidianTheme).onChange((async e=>{this.plugin.settings.previewMatchObsidianTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EMBED_WIDTH_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIDTH_DESC"))).addText((e=>e.setPlaceholder("400").setValue(this.plugin.settings.width).onChange((async e=>{this.plugin.settings.width=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(A).setName(t$d("EMBED_TYPE_NAME")).setDesc(fragWithHTML(t$d("EMBED_TYPE_DESC"))).addDropdown((async e=>{l=e,l.addOption("excalidraw","excalidraw"),this.plugin.settings.autoexportPNG?l.addOption("PNG","PNG"):"PNG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),this.plugin.settings.autoexportSVG?l.addOption("SVG","SVG"):"SVG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),l.setValue(this.plugin.settings.embedType).onChange((async e=>{this.plugin.settings.embedType=e,this.applySettingsUpdate()}))})),new obsidian_module.Setting(A).setName(t$d("EMBED_WIKILINK_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIKILINK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedWikiLink).onChange((async e=>{this.plugin.settings.embedWikiLink=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PNG_SCALE_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_SCALE_DESC"))).addSlider((e=>e.setLimits(1,5,.5).setValue(this.plugin.settings.pngExportScale).onChange((async e=>{c.innerText=` ${e.toString()}`,this.plugin.settings.pngExportScale=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{c=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.pngExportScale.toString()}`})),new obsidian_module.Setting(A).setName(t$d("EXPORT_BACKGROUND_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BACKGROUND_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithBackground).onChange((async e=>{this.plugin.settings.exportWithBackground=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PADDING_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PADDING_DESC"))).addSlider((e=>e.setLimits(0,50,5).setValue(this.plugin.settings.exportPaddingSVG).onChange((async e=>{d.innerText=` ${e.toString()}`,this.plugin.settings.exportPaddingSVG=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{d=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.exportPaddingSVG.toString()}`})),new obsidian_module.Setting(A).setName(t$d("EXPORT_THEME_NAME")).setDesc(fragWithHTML(t$d("EXPORT_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithTheme).onChange((async e=>{this.plugin.settings.exportWithTheme=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),this.containerEl.createEl("h1",{text:t$d("EXPORT_HEAD")}),new obsidian_module.Setting(A).setName(t$d("EXPORT_SYNC_NAME")).setDesc(fragWithHTML(t$d("EXPORT_SYNC_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.keepInSync).onChange((async e=>{this.plugin.settings.keepInSync=e,this.applySettingsUpdate()}))));const h=e=>{let A=0;for(A=0;Ae.setValue(this.plugin.settings.autoexportSVG).onChange((async e=>{e?l.addOption("SVG","SVG"):("SVG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("SVG")),this.plugin.settings.autoexportSVG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PNG_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportPNG).onChange((async e=>{e?l.addOption("PNG","PNG"):("PNG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("PNG")),this.plugin.settings.autoexportPNG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_BOTH_DARK_AND_LIGHT_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BOTH_DARK_AND_LIGHT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoExportLightAndDark).onChange((async e=>{this.plugin.settings.autoExportLightAndDark=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("COMPATIBILITY_HEAD")}),new obsidian_module.Setting(A).setName(t$d("COMPATIBILITY_MODE_NAME")).setDesc(fragWithHTML(t$d("COMPATIBILITY_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compatibilityMode).onChange((async e=>{this.plugin.settings.compatibilityMode=e,i.innerHTML=n(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("EXPORT_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportExcalidraw).onChange((async e=>{this.plugin.settings.autoexportExcalidraw=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("SYNC_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("SYNC_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.syncExcalidraw).onChange((async e=>{this.plugin.settings.syncExcalidraw=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATHJAX_NAME")).setDesc(t$d("MATHJAX_DESC")).addDropdown((e=>{e.addOption("https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js","jsdelivr").addOption("https://unpkg.com/mathjax@3.2.1/es5/tex-svg.js","unpkg").addOption("https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.1/es5/tex-svg-full.min.js","cdnjs").setValue(this.plugin.settings.mathjaxSourceURL).onChange((e=>{this.plugin.settings.mathjaxSourceURL=e,this.reloadMathJax=!0,this.applySettingsUpdate()}))})),this.containerEl.createEl("h1",{text:t$d("EXPERIMENTAL_HEAD")}),this.containerEl.createEl("p",{text:t$d("EXPERIMENTAL_DESC")}),new obsidian_module.Setting(A).setName(t$d("FIELD_SUGGESTER_NAME")).setDesc(fragWithHTML(t$d("FIELD_SUGGESTER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.fieldSuggester).onChange((async e=>{this.plugin.settings.fieldSuggester=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILETYPE_NAME")).setDesc(fragWithHTML(t$d("FILETYPE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalFileType).onChange((async e=>{this.plugin.settings.experimentalFileType=e,this.plugin.experimentalFileTypeDisplayToggle(e),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILETAG_NAME")).setDesc(fragWithHTML(t$d("FILETAG_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.experimentalFileTag).onChange((async e=>{this.plugin.settings.experimentalFileTag=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LIVEPREVIEW_NAME")).setDesc(fragWithHTML(t$d("LIVEPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalLivePreview).onChange((async e=>{this.plugin.settings.experimentalLivePreview=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ENABLE_FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("ENABLE_FOURTH_FONT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalEnableFourthFont).onChange((async e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimentalEnableFourthFont=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("FOURTH_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.experimantalFourthFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimantalFourthFont=e,this.applySettingsUpdate(!0),this.plugin.initializeFourthFont()}))})),this.containerEl.createEl("h2",{text:t$d("TASKBONE_HEAD")}),this.containerEl.createEl("p",{text:t$d("TASKBONE_DESC")}),new obsidian_module.Setting(A).setName(t$d("TASKBONE_ENABLE_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_ENABLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.taskboneEnabled).onChange((async e=>{if(u.setDisabled(!e),this.plugin.settings.taskboneEnabled=e,""===this.plugin.settings.taskboneAPIkey){const e=await this.plugin.taskbone.initialize(!1);e&&u.setValue(e)}this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TASKBONE_APIKEY_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_APIKEY_DESC"))).addText((e=>{u=e,u.setValue(this.plugin.settings.taskboneAPIkey).onChange((async e=>{this.plugin.settings.taskboneAPIkey=e,this.applySettingsUpdate()})).setDisabled(!this.plugin.settings.taskboneEnabled)}));const g=null===(e=this.plugin.scriptEngine.getListofScripts())||void 0===e?void 0:e.map((e=>this.plugin.scriptEngine.getScriptName(e)));if(Object.keys(this.plugin.settings.scriptEngineSettings).length>0&&g){const e=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.height:null},t=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.value:t},n=(e,A,t)=>{"object"==typeof this.plugin.settings.scriptEngineSettings[e][A]?this.plugin.settings.scriptEngineSettings[e][A].value=t:this.plugin.settings.scriptEngineSettings[e][A]=t},i=(e,i,a)=>{new obsidian_module.Setting(A).setName(i).setDesc(fragWithHTML(null!=a?a:"")).addToggle((A=>A.setValue(t(e,i)).onChange((async A=>{n(e,i,A),this.applySettingsUpdate()}))))},a=(i,a,r,s)=>{s&&"[object Array]"===Object.prototype.toString.call(s)&&s.length>0?new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addDropdown((e=>{s.forEach((A=>e.addOption(A.toString(),A.toString()))),e.setValue(t(i,a)).onChange((async e=>{n(i,a,e),this.applySettingsUpdate()}))})):e(i,a)?new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addTextArea((A=>{A.inputEl.style.minHeight=e(i,a),A.inputEl.style.minWidth="400px",A.setValue(t(i,a)).onChange((async e=>{n(i,a,e),this.applySettingsUpdate()}))})):new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addText((e=>e.setValue(t(i,a)).onChange((async e=>{n(i,a,e),this.applySettingsUpdate()}))))},r=(e,i,a)=>{new obsidian_module.Setting(A).setName(i).setDesc(fragWithHTML(null!=a?a:"")).addText((A=>A.setPlaceholder("Enter a number").setValue(t(e,i).toString()).onChange((async a=>{const r=parseFloat(a);isNaN(r)&&""!==a?A.setValue(t(e,i).toString()):(n(e,i,isNaN(r)?0:r),this.applySettingsUpdate())}))))};this.containerEl.createEl("h1",{text:t$d("SCRIPT_SETTINGS_HEAD")}),Object.keys(this.plugin.settings.scriptEngineSettings).filter((e=>g.contains(e))).forEach((e=>{const A=this.plugin.settings.scriptEngineSettings[e],t=Object.values(A);0===t.length||t.length>0&&0===t.map((e=>e.hidden?0:1)).reduce(((e,A)=>e+A))||(this.containerEl.createEl("h3",{text:e}),Object.keys(A).forEach((t=>{var n;const s=A[t];switch(typeof(null!==(n=s.value)&&void 0!==n?n:s)){case"boolean":s.hidden||i(e,t,s.description);break;case"string":s.hidden||a(e,t,s.description,s.valueset);break;case"number":s.hidden||r(e,t,s.description)}})))}))}}}var openDialogAction;!function(e){e[e.openFile=0]="openFile",e[e.insertLinkToDrawing=1]="insertLinkToDrawing"}(openDialogAction||(openDialogAction={}));class OpenFileDialog extends obsidian_module.FuzzySuggestModal{constructor(e,A){super(e),this.app=e,this.action=openDialogAction.openFile,this.plugin=A,this.onNewPane=!1,this.limit=20,this.setInstructions([{command:t$d("TYPE_FILENAME"),purpose:""}]),this.inputEl.onkeyup=e=>{"Enter"==e.key&&this.action==openDialogAction.openFile&&this.containerEl.innerText.includes(EMPTY_MESSAGE)&&(this.plugin.createAndOpenDrawing(`${this.plugin.settings.folder}/${this.inputEl.value}.excalidraw.md`,this.onNewPane?"new-pane":"active-pane"),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){switch(this.action){case openDialogAction.openFile:this.plugin.openDrawing(e,this.onNewPane?"new-pane":"active-pane",!0);break;case openDialogAction.insertLinkToDrawing:this.plugin.embedDrawing(e)}}start(e,A){switch(this.action=e,this.onNewPane=A,e){case openDialogAction.openFile:this.emptyStateText=EMPTY_MESSAGE,this.setPlaceholder(t$d("SELECT_FILE_OR_TYPE_NEW"));break;case openDialogAction.insertLinkToDrawing:this.emptyStateText=t$d("NO_MATCH"),this.setPlaceholder(t$d("SELECT_TO_EMBED"))}this.open()}}class InsertLinkDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e),this.app=e,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_FILE_TO_LINK")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return this.app.metadataCache.getLinkSuggestions().filter((e=>!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path+(e.alias?`|${e.alias}`:"")}onChooseItem(e){let A=e.path;e.file&&(A=this.app.metadataCache.fileToLinktext(e.file,this.drawingPath,!0)),this.addText(`[[${A+(e.alias?`|${e.alias}`:"")}]]`)}start(e,A){this.addText=A,this.drawingPath=e,this.open()}}class InsertImageDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE_WITH_OPTION_TO_SCALE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH"),this.inputEl.onkeyup=e=>{"Enter"===e.key&&e.altKey&&this.chooser.values&&(this.onChooseItem(this.chooser.values[this.chooser.selectedItem].item,new KeyboardEvent("keypress",{altKey:!0})),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>(IMAGE_TYPES.contains(e.extension)||this.plugin.isExcalidrawFile(e))&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}onChooseItem(e,A){const t=this.plugin.ea;t.reset(),t.setView(this.view),t.canvas.theme=this.view.excalidrawAPI.getAppState().theme,(async()=>{await t.addImage(0,0,e,!A.altKey),t.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}class ImportSVGDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"svg"===e.extension&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}async onChooseItem(e,A){if(!e)return;const t=this.plugin.ea;t.reset(),t.setView(this.view);const n=await app.vault.read(e);n&&""!==n&&(t.importSVG(n),t.addElementsToView(!0,!0,!0))}start(e){this.view=e,this.open()}}class InsertMDDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_MD")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"md"===e.extension&&!this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){const A=this.plugin.ea;A.reset(),A.setView(this.view),(async()=>{await A.addImage(0,0,e),A.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}function around(e,A){const t=Object.keys(A).map((t=>around1(e,t,A[t])));return 1===t.length?t[0]:function(){t.forEach((e=>e()))}}function around1(e,A,t){const n=e[A],i=e.hasOwnProperty(A);let a=t(n);return n&&Object.setPrototypeOf(a,n),Object.setPrototypeOf(r,a),e[A]=r,s;function r(...t){return a===n&&e[A]===r&&s(),a.apply(this,t)}function s(){e[A]===r&&(i?e[A]=n:delete e[A]),a!==n&&(a=n,Object.setPrototypeOf(r,n||Function))}}let plugin,vault,metadataCache;const getDefaultWidth=e=>{const A=parseInt(e.settings.width);return isNaN(A)||0===A||null===A?"400":e.settings.width},initializeMarkdownPostProcessor=e=>{plugin=e,vault=e.app.vault,metadataCache=e.app.metadataCache},getIMG=async e=>{var A;let t=e.file;if(!e.file){const n=vault.getAbstractFileByPath(null===(A=e.fname)||void 0===A?void 0:A.split("#")[0]);if(!(n&&n instanceof obsidian_module.TFile))return null;t=n}const n=getEmbeddedFilenameParts(e.fname);e.style=e.style.replaceAll(" ","-");const i=hasExportTheme(plugin,t)?getExportTheme(plugin,t,"light"):void 0,a={withBackground:getWithBackground(plugin,t),withTheme:!!i||plugin.settings.exportWithTheme},r=createEl("img");let s=`max-width:${e.fwidth}px; width:100%;`;e.fheight&&(s+=`height:${e.fheight}px;`),r.setAttribute("style",s),r.addClass(e.style);const o=null!=i?i:plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":plugin.settings.exportWithTheme?void 0:"light";o&&(a.withTheme=!0);const l=new EmbeddedFilesLoader(plugin,o?"dark"===o:void 0);if(!plugin.settings.displaySVGInPreview){const A=parseInt(e.fwidth),i=A>=2400?5:A>=1800?4:A>=1200?3:A>=600?2:1,s=n.hasGroupref?void 0:await getQuickImagePreview(plugin,t.path,"png"),c=null!=s?s:await createPNG(n.hasGroupref?n.filepath+n.linkpartReference:t.path,i,a,l,o,null,null,[],plugin,0);return c?(r.src=URL.createObjectURL(c),r):null}if(!n.hasBlockref&&!n.hasSectionref){const e=await getQuickImagePreview(plugin,t.path,"svg");if(e)return r.setAttribute("src",svgToBase64(e)),r}const c=(await createSVG(n.hasGroupref||n.hasBlockref||n.hasSectionref?n.filepath+n.linkpartReference:t.path,!0,a,l,o,null,null,[],plugin,0,getExportPadding(plugin,t))).outerHTML;let d=null;const h=document.createElement("div");h.innerHTML=c;const u=h.firstChild;return u instanceof SVGSVGElement&&(d=u),d?(d=embedFontsInSVG(d,plugin),d.removeAttribute("width"),d.removeAttribute("height"),r.setAttribute("src",svgToBase64(d.outerHTML)),r):null},createImageDiv=async e=>{const A=await getIMG(e);return createDiv(e.style,(t=>{let n;t.append(A),t.setAttribute("src",e.fname),e.fwidth&&t.setAttribute("w",e.fwidth),e.fheight&&t.setAttribute("h",e.fheight);const i=e=>{if(e.target instanceof Element&&"img"!=e.target.tagName.toLowerCase())return;const A=t.getAttribute("src");if(A){const t=A.match(/([^#]*)(.*)/);if(!t)return;plugin.openDrawing(vault.getAbstractFileByPath(t[1]),e[CTRL_OR_CMD]?"new-pane":e.metaKey&&!app.isMobile?"popout-window":"active-pane",!0,t[2])}};t.addEventListener("pointerdown",(e=>{n=setTimeout((()=>i(e)),500)})),t.addEventListener("pointerup",(()=>{n&&clearTimeout(n),n=null})),t.addEventListener("dblclick",i),t.addEventListener(RERENDER_EVENT,(async e=>{e.stopPropagation(),t.empty();const A=await getIMG({fname:t.getAttribute("src"),fwidth:t.getAttribute("w"),fheight:t.getAttribute("h"),style:t.getAttribute("class")});t.append(A)}))}))},processReadingMode=async(e,A)=>{var t;for(const n of e){const e=null===(t=n.getAttribute("src"))||void 0===t?void 0:t.split("#")[0];if(!e)continue;const i=metadataCache.getFirstLinkpathDest(e,A.sourcePath);if(i&&i instanceof obsidian_module.TFile&&plugin.isExcalidrawFile(i)){if(isTextOnlyEmbed(n))continue;n.parentElement.replaceChild(await processInternalEmbed(n,i),n)}}},processInternalEmbed=async(e,A)=>{const t={fname:"",fheight:"",fwidth:"",style:""},n=e.getAttribute("src");if(!n)return;t.fwidth=e.getAttribute("width")?e.getAttribute("width"):getDefaultWidth(plugin),t.fheight=e.getAttribute("height");let i=e.getAttribute("alt");t.style="excalidraw-svg",processAltText(n.split("#")[0],i,t);const a=getEmbeddedFilenameParts(n);return t.fname=(null==A?void 0:A.path)+(a.hasBlockref||a.hasSectionref?a.linkpartReference:""),t.file=A,await createImageDiv(t)},processAltText=(e,A,t)=>{var n,i;if(A&&!A.startsWith(e)){const a=A.match(/[^\|\d]*\|?((\d*%?)x?(\d*%?))?\|?(.*)/);t.fwidth=null!==(n=a[2])&&void 0!==n?n:t.fwidth,t.fheight=null!==(i=a[3])&&void 0!==i?i:t.fheight,a[4]&&!a[4].startsWith(e)&&(t.style=`excalidraw-svg-${a[4]}`),a[4]&&""!==a[4]||a[2]&&""!==a[2]||!a[0]||""===a[0]||(t.style=`excalidraw-svg-${a[0]}`)}},isTextOnlyEmbed=e=>{const A=e.getAttribute("src");if(!A)return!0;const t=getEmbeddedFilenameParts(A);return!(t.hasArearef||t.hasGroupref)&&(t.hasBlockref||t.hasSectionref)},tmpObsidianWYSIWYG=async(e,A)=>{const t=app.vault.getAbstractFileByPath(A.sourcePath);t instanceof obsidian_module.TFile&&plugin.isExcalidrawFile(t)&&(A.remainingNestLevel<4||setTimeout((async()=>{let n=0;for(;!e.parentElement&&n++<=50;)await sleep(50);if(!e.parentElement)return;let i=e;for(;!i.hasClass("dataview")&&!i.hasClass("cm-preview-code-block")&&!i.hasClass("cm-embed-block")&&!i.hasClass("internal-embed")&&i.parentElement;)i=i.parentElement;if(i.hasClass("dataview")||i.hasClass("cm-preview-code-block")||i.hasClass("cm-embed-block"))return;const a={fname:A.sourcePath,fheight:"",fwidth:getDefaultWidth(plugin),style:"excalidraw-svg"};if(a.file=t,!i.hasClass("internal-embed")){e.empty();const A=e.parentElement;if(!A.hasClass("markdown-preview-section"))return;if(A.hasAttribute("ready"))return void A.removeChild(e);A.setAttribute("ready","");const t=await createImageDiv(a);return void e.appendChild(t)}if(isTextOnlyEmbed(i))return;if(e.empty(),i.hasAttribute("ready"))return;i.setAttribute("ready",""),i.empty();const r=await processInternalEmbed(i,t);i.appendChild(r);let s=null;const o=new MutationObserver((e=>{var A;["alt","width","height"].contains(null===(A=e[0])||void 0===A?void 0:A.attributeName)&&(s&&clearTimeout(s),s=setTimeout((async()=>{s=null,i.empty();const e=await processInternalEmbed(i,t);i.appendChild(e)}),500))}));o.observe(i,{attributes:!0})})))},markdownPostProcessor=async(e,A)=>{var t;const n=e.querySelectorAll(".internal-embed");0!==n.length?Boolean(null===(t=A.frontmatter)||void 0===t?void 0:t.hasOwnProperty("excalidraw-plugin"))?e.style.display="none":await processReadingMode(n,A):tmpObsidianWYSIWYG(e,A)},hoverEvent=e=>{e.linktext?(plugin.hover.linkText=e.linktext,plugin.hover.sourcePath=e.sourcePath):plugin.hover.linkText=null},observer=new MutationObserver((async e=>{if(0==e.length)return;if(!plugin.hover.linkText)return;const A=metadataCache.getFirstLinkpathDest(plugin.hover.linkText,plugin.hover.sourcePath?plugin.hover.sourcePath:"");if(!A)return;if(!(A instanceof obsidian_module.TFile))return;if("excalidraw"!==A.extension)return;const t=getIMGFilename(A.path,"svg"),n=vault.getAbstractFileByPath(t);if(n&&n instanceof obsidian_module.TFile)return;const i=getIMGFilename(A.path,"png"),a=vault.getAbstractFileByPath(i);if(a&&a instanceof obsidian_module.TFile)return;if(!plugin.hover.linkText)return;if(1!=e.length)return;if(1!=e[0].addedNodes.length)return;if("popover hover-popover file-embed is-loaded"!=!e[0].addedNodes[0].classNames)return;const r=e[0].addedNodes[0];r.empty();const s=await getIMG({file:A,fname:A.path,fwidth:"300",fheight:null,style:"excalidraw-svg"}),o=createDiv("",(async e=>{e.appendChild(s),e.setAttribute("src",A.path),e.onClickEvent((A=>{A.stopImmediatePropagation();const t=e.getAttribute("src");t&&plugin.openDrawing(vault.getAbstractFileByPath(t),A[CTRL_OR_CMD]?"new-pane":A.metaKey&&!app.isMobile?"popout-window":"active-pane")}))}));r.appendChild(o)})),EXCALIDRAW_AUTOMATE_INFO=[{field:"plugin",code:null,desc:"The ExcalidrawPlugin object",after:""},{field:"elementsDict",code:null,desc:"The {} dictionary object, contains the ExcalidrawElements currently edited in Automate indexed by el.id",after:'[""]'},{field:"imagesDict",code:null,desc:"the images files including DataURL, indexed by fileId",after:'[""]'},{field:"style.strokeColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.backgroundColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.angle",code:"[number]",desc:"Rotation of the object in radian",after:""},{field:"style.fillStyle",code:"[string]",desc:"'hachure' | 'cross-hatch' | 'solid'",after:""},{field:"style.strokeWidth",code:"[number]",desc:null,after:""},{field:"style.strokeStyle",code:"[string]",desc:"'solid' | 'dashed' | 'dotted'",after:""},{field:"style.roughness",code:"[number]",desc:"0:Architect\n1:Artist\n2:Cartoonist",after:""},{field:"style.opacity",code:"[number]",desc:"100: Fully opaque\n0: Fully transparent",after:""},{field:"style.strokeSharpness",code:"[string]",desc:"'round' | 'sharp'",after:""},{field:"style.fontFamily",code:"[number]",desc:"1: Virgil, 2:Helvetica, 3:Cascadia, 4:LocalFont",after:""},{field:"style.fontSize",code:"[number]",desc:null,after:""},{field:"style.textAlign",code:"[string]",desc:"'left' | 'right' | 'center'",after:""},{field:"style.verticalAlign",code:"[string]",desc:"For future use, has no effect currently; 'top' | 'bottom' | 'middle'",after:""},{field:"style.startArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"style.endArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"canvas.theme",code:"[string]",desc:"'dark' | 'light'",after:""},{field:"canvas.viewBackgroundColor",code:"[string]",desc:"A valid css color.\nSee W3 School Colors for more.",after:""},{field:"canvas.gridSize",code:"[number]",desc:null,after:""},{field:"addToGroup",code:"addToGroup(objectIds: []): string;",desc:null,after:""},{field:"toCliboard",code:"toClipboard(templatePath?: string): void;",desc:"Copies current elements using template to clipboard, ready to be pasted into an excalidraw canvas",after:""},{field:"getElements",code:"getElements(): ExcalidrawElement[];",desc:"Get all elements from ExcalidrawAutomate elementsDict",after:""},{field:"getElement",code:"getElement(id: string): ExcalidrawElement;",desc:"Get single element from ExcalidrawAutomate elementsDict",after:""},{field:"create",code:'create(params?: {filename?: string, foldername?: string, templatePath?: string, onNewPane?: boolean, frontmatterKeys?: { "excalidraw-plugin"?: "raw" | "parsed", "excalidraw-link-prefix"?: string, "excalidraw-link-brackets"?: boolean, "excalidraw-url-prefix"?: string,},}): Promise;',desc:"Create a drawing and save it to filename.\nIf filename is null: default filename as defined in Excalidraw settings.\nIf folder is null: default folder as defined in Excalidraw settings\n",after:""},{field:"createSVG",code:"createSVG(templatePath?: string, embedFont?: boolean, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"createPNG",code:"createPNG(templatePath?: string, scale?: number, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"wrapText",code:"wrapText(text: string, lineLen: number): string;",desc:null,after:""},{field:"addRect",code:"addRect(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addDiamond",code:"addDiamond(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addEllipse",code:"addEllipse(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addBlob",code:"addBlob(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addText",code:'addText(topX: number, topY: number, text: string, formatting?: {wrapAt?: number; width?: number; height?: number; textAlign?: string; box?: boolean | "box" | "blob" | "ellipse" | "diamond"; boxPadding?: number;}, id?: string,): string;',desc:"If box is !null, then text will be boxed\nThe function returns the id of the TextElement. If the text element is boxed i.e. it is a sticky note, then the id of the container object",after:""},{field:"addLine",code:"addLine(points: [[x: number, y: number]]): string;",desc:null,after:""},{field:"addArrow",code:"addArrow(points: [[x: number, y: number]], formatting?: { startArrowHead?: string; endArrowHead?: string; startObjectId?: string; endObjectId?: string;},): string;",desc:null,after:""},{field:"addImage",code:"addImage(topX: number, topY: number, imageFile: TFile, scale: boolean): Promise;",desc:"set scale to false if you want to embed the image at 100% of its original size. Default is true which will insert a scaled image",after:""},{field:"addLaTex",code:"addLaTex(topX: number, topY: number, tex: string): Promise;",desc:null,after:""},{field:"connectObjects",code:"connectObjects(objectA: string, connectionA: ConnectionPoint, objectB: string, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): string;",desc:'type ConnectionPoint = "top" | "bottom" | "left" | "right" | null\nWhen null is passed as ConnectionPoint then Excalidraw will automatically decide\nnumberOfPoints is the number of points on the line. Default is 0 i.e. line will only have a start and end point.\nArrowHead: "triangle"|"dot"|"arrow"|"bar"|null',after:""},{field:"addLabelToLine",code:"addLabelToLine(lineId: string, label: string): string;",desc:"Adds a text label to a line or arrow. Currently only works with a simple straight 2-point (start & end) line",after:""},{field:"clear",code:"clear(): void;",desc:"Clears elementsDict and imagesDict only",after:""},{field:"reset",code:"reset(): void;",desc:"clear() + reset all style values to default",after:""},{field:"isExcalidrawFile",code:"isExcalidrawFile(f: TFile): boolean;",desc:"Returns true if MD file is an Excalidraw file",after:""},{field:"targetView",code:"targetView: ExcalidrawView;",desc:"The Obsidian view currently edited",after:""},{field:"setView",code:'setView(view: ExcalidrawView | "first" | "active"): ExcalidrawView;',desc:null,after:""},{field:"getExcalidrawAPI",code:"getExcalidrawAPI(): any;",desc:"Excalidraw API",after:""},{field:"getViewElements",code:"getViewElements(): ExcalidrawElement[];",desc:"Get elements in View",after:""},{field:"deleteViewElements",code:"deleteViewElements(el: ExcalidrawElement[]): boolean;",desc:null,after:""},{field:"getViewSelectedElement",code:"getViewSelectedElement(): ExcalidrawElement;",desc:"Get the selected element in the view, if more are selected, get the first",after:""},{field:"getViewSelectedElements",code:"getViewSelectedElements(): ExcalidrawElement[];",desc:null,after:""},{field:"getViewFileForImageElement",code:"getViewFileForImageElement(el: ExcalidrawElement): TFile | null;",desc:"Returns the TFile file handle for the image element",after:""},{field:"copyViewElementsToEAforEditing",code:"copyViewElementsToEAforEditing(elements: ExcalidrawElement[]): void;",desc:"Copies elements from view to elementsDict for editing",after:""},{field:"viewToggleFullScreen",code:"viewToggleFullScreen(forceViewMode?: boolean): void;",desc:null,after:""},{field:"connectObjectWithViewSelectedElement",code:"connectObjectWithViewSelectedElement(objectA: string, connectionA: ConnectionPoint, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): boolean;",desc:"Connect an object to the selected element in the view\nSee tooltip for connectObjects for details",after:""},{field:"addElementsToView",code:"addElementsToView(repositionToCursor?: boolean, save?: boolean, newElementsOnTop?: boolean,): Promise;",desc:"Adds elements from elementsDict to the current view\nrepositionToCursor: default is false\nsave: default is true\nnewElementsOnTop: default is false, i.e. the new elements get to the bottom of the stack\nnewElementsOnTop controls whether elements created with ExcalidrawAutomate are added at the bottom of the stack or the top of the stack of elements already in the view\nNote that elements copied to the view with copyViewElementsToEAforEditing retain their position in the stack of elements in the view even if modified using EA",after:""},{field:"onDropHook",code:'onDropHook(data: {ea: ExcalidrawAutomate, event: React.DragEvent, draggable: any, type: "file" | "text" | "unknown", payload: {files: TFile[], text: string,}, excalidrawFile: TFile, view: ExcalidrawView, pointerPosition: { x: number, y: number},}): boolean;',desc:"If set Excalidraw will call this function onDrop events.\nA return of true will stop the default onDrop processing in Excalidraw.\n\ndraggable is the Obsidian draggable object\nfiles is the array of dropped files\nexcalidrawFile is the file receiving the drop event\nview is the excalidraw view receiving the drop.\npointerPosition is the pointer position on canvas at the time of drop.",after:""},{field:"mostRecentMarkdownSVG",code:"mostRecentMarkdownSVG: SVGSVGElement;",desc:"Markdown renderer will drop a copy of the most recent SVG here for debugging purposes",after:""},{field:"getEmbeddedFilesLoader",code:"getEmbeddedFilesLoader(isDark?: boolean): EmbeddedFilesLoader;",desc:"Utility function to generate EmbeddedFilesLoader object",after:""},{field:"getExportSettings",code:"getExportSettings(withBackground: boolean, withTheme: boolean,): ExportSettings;",desc:"Utility function to generate ExportSettings object",after:""},{field:"getBoundingBox",code:"getBoundingBox(elements: ExcalidrawElement[]): {topX: number, topY: number, width: number, height: number,};",desc:"Gets the bounding box of elements. The bounding box is the box encapsulating all of the elements completely.",after:""},{field:"getMaximumGroups",code:"getMaximumGroups(elements: ExcalidrawElement[]): ExcalidrawElement[][];",desc:"Elements grouped by the highest level groups",after:""},{field:"getLargestElement",code:"getLargestElement(elements: ExcalidrawElement[]): ExcalidrawElement;",desc:"Gets the largest element from a group. useful when a text element is grouped with a box, and you want to connect an arrow to the box",after:""},{field:"intersectElementWithLine",code:"intersectElementWithLine(element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number,): Point[];",desc:"If gap is given, the element is inflated by this value.\nReturns 2 or 0 intersection points between line going through `a` and `b` and the `element`, in ascending order of distance from `a`.",after:""},{field:"getCommonGroupForElements",code:"getCommonGroupForElements(elements: ExcalidrawElement[]): string;",desc:"Gets the groupId for the group that contains all the elements, or null if such a group does not exist",after:""},{field:"getElementsInTheSameGroupWithElement",code:"getElementsInTheSameGroupWithElement(element: ExcalidrawElement, elements: ExcalidrawElement[]): ExcalidrawElement[];",desc:"Gets all the elements from elements[] that share one or more groupIds with element.",after:""},{field:"activeScript",code:"activeScript: string;",desc:"Mandatory to set before calling the get and set ScriptSettings functions. Set automatically by the ScriptEngine\nSee for more details: Script Engine Help",after:""},{field:"getScriptSettings",code:"getScriptSettings(): {};",desc:"Returns script settings. Saves settings in plugin settings, under the activeScript key. See for more details: Script Engine Help",after:""},{field:"setScriptSettings",code:"setScriptSettings(settings: any): Promise;",desc:"Sets script settings.\nSee for more details: Script Engine Help",after:""},{field:"openFileInNewOrAdjacentLeaf",code:"openFileInNewOrAdjacentLeaf(file: TFile): WorkspaceLeaf;",desc:"Open a file in a new workspaceleaf or reuse an existing adjacent leaf depending on Excalidraw Plugin Settings",after:""},{field:"measureText",code:"measureText(text: string): { width: number; height: number };",desc:"Measures text size based on current style settings",after:""},{field:"verifyMinimumPluginVersion",code:"verifyMinimumPluginVersion(requiredVersion: string): boolean;",desc:'Returns true if plugin version is >= than required\nrecommended use:\nif(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.20")) {new Notice("message");return;}',after:""},{field:"selectElementsInView",code:"selectElementsInView(elements: ExcalidrawElement[]):void;",desc:"Elements provided will be set as selected in the targetView.",after:""},{field:"generateElementId",code:"generateElementId(): string;",desc:"Returns an 8 character long random id",after:""},{field:"cloneElement",code:"cloneElement(element: ExcalidrawElement): ExcalidrawElement;",desc:"Returns a clone of the element with a new element id",after:""},{field:"moveViewElementToZIndex",code:"moveViewElementToZIndex(elementId:number, newZIndex:number): void;",desc:"Moves the element to a specific position in the z-index",after:""},{field:"hexStringToRgb",code:"hexStringToRgb(color: string):number[];",desc:"Converts a HEX color to an RGB number array. #FF0000 to [255,0,0]",after:""},{field:"rgbToHexString",code:"rgbToHexString(color: number[]):string;",desc:"Converts an RGB number array to a HEX string. [255,0,0] to #FF0000",after:""},{field:"hslToRgb",code:"hslToRgb(color: number[]):number[];",desc:"Converts an HSL number array to an RGB number array. [0,100,50] to [255,0,0]",after:""},{field:"rgbToHsl",code:"rgbToHsl(color:number[]):number[];",desc:"Converts an RGB number array to an HSL number array. [255,0,0] to [0,100,50]",after:""},{field:"colorNameToHex",code:"colorNameToHex(color:string):string;",desc:"Converts a CSS color name to its HEX color equivalent. 'White' to #FFFFFF",after:""},{field:"obsidian",code:"obsidian",desc:"Access functions and objects available on the Obsidian Module",after:""},{field:"setViewModeEnabled",code:"setViewModeEnabled(enabled: boolean): void;",desc:"Sets Excalidraw in the targetView to view-mode",after:""},{field:"viewUpdateScene",code:"viewUpdateScene(scene:{elements?:ExcalidrawElement[],appState?: AppState,files?: BinaryFileData,commitToHistory?: boolean,},restore:boolean=false):void",desc:"Calls the ExcalidrawAPI updateScene function for the targetView. When restore=true, excalidraw will try to correct errors in the scene such as setting default values to missing element properties.",after:""},{field:"viewZoomToElements",code:"viewZoomToElements(selectElements: boolean,elements: ExcalidrawElement[]):void",desc:"Zoom tarteView to fit elements provided as input. elements === [] will zoom to fit the entire scene. SelectElements toggles whether the elements should be in a selected state at the end of the operation.",after:""}],EXCALIDRAW_SCRIPTENGINE_INFO=[{field:"inputPrompt",code:"inputPrompt: (header: string, placeholder?: string, value?: string, buttons?: [{caption:string, action:Function}]);",desc:"Opens a prompt that asks for an input.\nReturns a string with the input.\nYou need to await the result of inputPrompt.\nbuttons.action(input: string) => string\nThe button action function will receive the actual input string. If action returns null, input will be unchanged. If action returns a string, input will receive that value when the promise is resolved. example:\nlet fileType = '';\nconst filename = await utils.inputPrompt (\n 'Filename',\n '',\n '',\n, [\n {\n caption: 'Markdown',\n action: ()=>{fileType='md';return;}\n },\n {\n caption: 'Excalidraw',\n action: ()=>{fileType='ex';return;}\n }\n ]\n);",after:""},{field:"suggester",code:"suggester: (displayItems: string[], items: any[], hint?: string, instructions?:Instruction[]);",desc:"Opens a suggester. Displays the displayItems and returns the corresponding item from items[]\nYou need to await the result of suggester.\nIf the user cancels (ESC), suggester will return undefined\nHint and instructions are optional\n\ninterface Instruction {command: string;purpose: string;}",after:""}],FRONTMATTER_KEYS_INFO=[{field:"plugin",code:null,desc:"Denotes an excalidraw file. If key is not present, the file will not be recognized as an Excalidarw file. Valid values are 'parsed' and 'raw'",after:": parsed"},{field:"link-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid internal link. Set to empty string if you do not want to show a prefix",after:': "📍"'},{field:"url-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid external link. Set to empty string if you do not want to show a prefix",after:': "🌐"'},{field:"link-brackets",code:null,desc:"Set to true, if you want to display [[square brackets]] around the links in Text Elements",after:": true"},{field:"default-mode",code:null,desc:"Specifies how Excalidraw should open by default. Valid values are: view|zen",after:": view"},{field:"linkbutton-opacity",code:null,desc:"The opacity of the blue link button in the top right of the element overriding the respective setting in plugin settings. Valid values are between 0 and 1, where 0 means the button is transparent.",after:": 0.5"},{field:"onload-script",code:null,desc:"The value of this field will be executed as javascript code using the Script Engine environment. Use this to initiate custom actions or logic when loading your drawing.",after:': "new Notice(`Hello World!\\n\\nFile: ${ea.targetView.file.basename}`);"'},{field:"font",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: Virgil|Cascadia|font_file_name.extension",after:": Virgil"},{field:"font-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"border-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"css",code:null,desc:'This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this front matter keys to your markdown document. Valid values are: "css-filename|css snippet"',after:': ""'},{field:"export-transparent",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Transparent / false == with background",after:": true"},{field:"export-dark",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Dark mode / false == light mode",after:": true"},{field:"export-padding",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects both SVG and PNG export. Specify the export padding for the image.",after:": 5"},{field:"export-pngscale",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects export to PNG. Specify the export scale for the image. The typical range is between 0.5 and 5, but you can experiment with other values as well.",after:": 1"},{field:"autoexport",code:null,desc:"Override autoexport settings for this file. Valid values are\nnone\nboth\npng\nsvg",after:": png"}];class FieldSuggester extends obsidian_module.EditorSuggest{constructor(e){super(e.app),this.getSuggestions=e=>{const A=e.query.toLowerCase();return("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).map((e=>e.field)).filter((e=>e.toLowerCase().includes(A)))},this.plugin=e}onTrigger(e,A,t){var n,i,a,r,s;if(this.plugin.settings.fieldSuggester){const t=A.getLine(e.line).substring(0,e.ch),o=null!==(r=null!==(i=null===(n=t.match(/^excalidraw-(.*)$/))||void 0===n?void 0:n[1])&&void 0!==i?i:null===(a=t.match(/(^ea|\Wea)\.([\w\.]*)$/))||void 0===a?void 0:a[2])&&void 0!==r?r:null===(s=t.match(/(^utils|\Wutils)\.([\w\.]*)$/))||void 0===s?void 0:s[2];if(void 0!==o)return this.suggestType=t.match(/^excalidraw-(.*)$/)?"excalidraw":t.match(/(^ea|\Wea)\.([\w\.]*)$/)?"ea":"utils",this.latestTriggerInfo={end:e,start:{ch:e.ch-o.length,line:e.line},query:o},this.latestTriggerInfo}return null}renderSuggestion(e,A){const t=e.replace("ea"===this.suggestType?"ea.":"utils"===this.suggestType?"utils.":"excalidraw-",""),n=("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).find((A=>A.field===e));A.createEl("b",{text:t}),A.createEl("br"),n.code&&A.createEl("code",{text:n.code}),n.desc&&A.createDiv("div",(e=>e.innerHTML=n.desc))}selectSuggestion(e){var A;const{context:t}=this;if(t){const n="ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO,i=`${e}${null===(A=n.find((A=>A.field===e)))||void 0===A?void 0:A.after}`;if(t.editor.replaceRange(i,this.latestTriggerInfo.start,this.latestTriggerInfo.end),this.latestTriggerInfo.start.ch===this.latestTriggerInfo.end.ch){const e=this.latestTriggerInfo.end;e.ch+=i.length,t.editor.setCursor(e)}}}}class FrontmatterEditor{constructor(e){this.initialized=!1,this.dataWOfrontmatter=e;const A=(e=e.replaceAll("\r\n","\n").replaceAll("\r","\n")).split(/^---(?:.|\n)*(?:^---\n)/gm);2===A.length&&(this.dataWOfrontmatter=A[1],this.frontmatterStr=e.match(/^---((?:.|\n)*)(?:^---\n)/gm)[0].replaceAll(/(^---\n|^\n)/gm,"").trim()+"\n",this.initialized=!0)}hasKey(e){if(!this.initialized)return!1;const A=new RegExp(`^${e}:`,"gm");return Boolean(this.frontmatterStr.match(A))}setKey(e,A){if(this.initialized)if(A=A.replaceAll("\r\n","\n").replaceAll("\r","\n").replaceAll(":",";").trim().split("\n").join(" "),this.hasKey(e)){const t=new RegExp(`^${e}:.*\\n(?:\\s\\s.*\\n)*`,"gm");this.frontmatterStr=this.frontmatterStr.split(t).join("\n").trim()+`\n${e}: ${A}`}else this.frontmatterStr=this.frontmatterStr.trim()+`\n${e}: ${A}`}get data(){return this.initialized?["---",this.frontmatterStr,"---",this.dataWOfrontmatter].join("\n"):this.dataWOfrontmatter}}const TASKBONE_URL="https://api.taskbone.com/",TASKBONE_OCR_FN="execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb";class Taskbone{constructor(e){this.plugin=e}get apiKey(){return this.plugin.settings.taskboneAPIkey}async initialize(e=!0){var A;if(""!==this.plugin.settings.taskboneAPIkey)return;const t=await obsidian_module.requestUrl({url:`${TASKBONE_URL}users/excalidraw-obsidian/identities`,method:"post",contentType:"application/json",throw:!1});if(!t)return;const n=null===(A=t.json)||void 0===A?void 0:A.apiKey;return n&&"string"==typeof n&&(e&&await this.plugin.loadSettings(),this.plugin.settings.taskboneAPIkey=n,e&&await this.plugin.saveSettings()),n}async getTextForView(e,A){await e.forceSave(!0);const t=e.excalidrawAPI.getSceneElements().filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!this.plugin.isExcalidrawFile(null===(t=e.excalidrawData.getFile(A.fileId))||void 0===t?void 0:t.file)}));if(0===t.length)return void new obsidian_module.Notice("Aborting OCR because there are no image or freedraw elements on the canvas.",4e3);const n=new FrontmatterEditor(e.data);if(n.hasKey("taskbone-ocr")&&!A)return void new obsidian_module.Notice("The drawing has already been processed, you will find the result in the frontmatter in markdown view mode. If you ran the command from the Obsidian Panel in Excalidraw then you can CTRL(CMD)+click the command to force the rescaning.",4e3);const i=this.plugin.ea.getBoundingBox(t),a=i.width*i.height,r=Math.sqrt(36e4/a),s=Math.sqrt(a/16e6),o=r>1?r:s>1?1/s:1,l=new EmbeddedFilesLoader(this.plugin,!1),c=await createPNG(e.file.path+"#^taskbone",o,{withBackground:!0,withTheme:!0},l,"light",null,null,[],this.plugin,0),d=await this.getTextForImage(c);d&&(n.setKey("taskbone-ocr",d),e.data=n.data,e.save(!1),window.navigator.clipboard.writeText(d),new obsidian_module.Notice("I placed the recognized in the drawing's frontmatter and onto the system clipboard."))}async getTextForImage(e){""===this.apiKey&&await this.initialize();const A={records:[{image:await this.blobToBase64(e)}]},t=await obsidian_module.requestUrl({url:"https://api.taskbone.com/execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb",method:"post",contentType:"application/json",body:JSON.stringify(A),headers:{authorization:`Bearer ${this.apiKey}`},throw:!1}),n=null==t?void 0:t.json;return n&&200===t.status?n.records[0].text:(new obsidian_module.Notice("Something went wrong while processing your request. Please check developer console for more information"),void log(t))}async blobToBase64(e){const A=await e.arrayBuffer(),t=new Uint8Array(A);for(var n="",i=t.byteLength,a=0;anew ExcalidrawView(e,this))),this.registerExtensions(["excalidraw"],"excalidraw"),this.addMarkdownPostProcessor(),this.registerInstallCodeblockProcessor(),this.addThemeObserver(),this.experimentalFileTypeDisplayToggle(this.settings.experimentalFileType),this.registerCommands(),this.registerEventListeners(),this.initializeFourthFont(),this.registerEditorSuggest(new FieldSuggester(this)),this.registerMonkeyPatches(),this.settings.showReleaseNotes){const e="0.0.0"===this.settings.previousRelease;isVersionNewerThanOther(PLUGIN_VERSION,this.settings.previousRelease)&&new ReleaseNotes(this.app,this,e?null:PLUGIN_VERSION).open()}this.switchToExcalidarwAfterLoad(),this.loadMathJax();const e=this;this.app.workspace.onLayoutReady((()=>{this.scriptEngine=new ScriptEngine(e)})),this.taskbone=new Taskbone(this)}initializeFourthFont(){this.app.workspace.onLayoutReady((async()=>{const e=await getFontDataURL(this.app,this.settings.experimantalFourthFont,"","LocalFont"),A=""===e.dataURL?VIRGIL_DATAURL:e.dataURL;this.fourthFontDef=e.fontDef;const t=new Set;app.workspace.iterateAllLeaves((e=>{const n=app.isMobile?document:e.view.containerEl.ownerDocument;if(!n)return;if(t.has(n))return;t.add(n);const i=n.createElement("style");i.id="local-font-stylesheet",i.textContent=`\n @font-face {\n font-family: 'LocalFont';\n src: url("${A}");\n font-display: swap;\n }\n `;const a=n.getElementById(i.id);n.head.appendChild(i),a&&n.head.removeChild(a),n.fonts.load("20px LocalFont")}))}))}loadMathJax(){const e=this;this.app.workspace.onLayoutReady((async()=>{await obsidian_module.loadMathJax();try{e.mathjaxDiv&&(document.body.removeChild(e.mathjaxDiv),e.mathjax=null,e.mathjaxLoaderFinished=!1),e.mathjaxDiv=document.body.createDiv(),e.mathjaxDiv.title="Excalidraw MathJax Support",e.mathjaxDiv.style.display="none";const A=e.mathjaxDiv.createEl("iframe");A.title="Excalidraw MathJax Support";const t=A.contentWindow.document,n=t.createElement("script");n.type="text/javascript",n.onload=()=>{const t=A.contentWindow;t.MathJax.startup.pagePromise.then((async()=>{const A=app.vault.getAbstractFileByPath("preamble.sty"),n=A&&A instanceof obsidian_module.TFile?await app.vault.read(A):null;try{n&&await t.MathJax.tex2svg(n)}catch(A){errorlog({where:e.loadMathJax,description:"Unexpected error while loading preamble.sty",error:A})}e.mathjax=t.MathJax,e.mathjaxLoaderFinished=!0}))},n.src=e.settings.mathjaxSourceURL,t.head.appendChild(n)}catch(A){new obsidian_module.Notice("Excalidraw: Error initializing LaTeX support"),e.mathjaxLoaderFinished=!0}}))}switchToExcalidarwAfterLoad(){const e=this;this.app.workspace.onLayoutReady((()=>{let A;for(A of app.workspace.getLeavesOfType("markdown"))A.view instanceof obsidian_module.MarkdownView&&e.isExcalidrawFile(A.view.file)&&(e.excalidrawFileModes[A.id||A.view.file.path]="excalidraw",e.setExcalidrawView(A))}))}forceSaveActiveView(e){if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.forceSave(),!0)}registerInstallCodeblockProcessor(){const e=async(e,A)=>{let t=null;try{const e=A.parentElement.querySelector(`a[href="#${A.previousElementSibling.getAttribute("data-heading")}"]`);e.style.paddingRight="10px",t=e.parentElement.createEl("button",null,(e=>{e.setText(t$d("UPDATE_SCRIPT")),e.addClass("mod-cta"),e.style.backgroundColor="var(--interactive-success)",e.style.display="none"}))}catch(A){errorlog({where:"this.registerInstallCodeblockProcessor",source:e,error:A})}e=e.trim(),A.createEl("button",null,(async A=>{const n=e=>{switch(t&&(t.style.display="none"),e){case"CHECKING":A.setText(t$d("CHECKING_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"INSTALL":A.setText(t$d("INSTALL_SCRIPT")),A.style.backgroundColor="var(--interactive-accent)";break;case"UPTODATE":A.setText(t$d("UPTODATE_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"UPDATE":A.setText(t$d("UPDATE_SCRIPT")),A.style.backgroundColor="var(--interactive-success)",t&&(t.style.display=null);break;case"ERROR":A.setText(t$d("UNABLETOCHECK_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)"}};A.addClass("mod-cta");let i=e;try{i=decodeURI(e)}catch(A){errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",source:e,error:A})}const a=i.substring(i.lastIndexOf("/")+1),r=`${this.settings.scriptFolderPath}/Downloaded`,s=`${r}/${a}`,o=getIMGFilename(s,"svg");let l=this.app.vault.getAbstractFileByPath(s),c=this.app.vault.getAbstractFileByPath(o);if(n(l?"CHECKING":"INSTALL"),A.onclick=async()=>{const A=async(e,A,t)=>{const n=await obsidian_module.request({url:e});return!n||n.startsWith("404: Not Found")?null:(A?await this.app.vault.modify(A,n):(await checkAndCreateFolder(r),A=await this.app.vault.create(t,n)),A)};try{if(l=await A(e,l,s),!l)throw n("ERROR"),"File not found";c=await A(getIMGFilename(e,"svg"),c,o),n("UPTODATE"),new obsidian_module.Notice(`Installed: ${l.basename}`)}catch(e){new obsidian_module.Notice(`Error installing script: ${a}`),errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",error:e})}},t&&(t.onclick=A.onclick),!(l&&l instanceof obsidian_module.TFile))return;const d=new Map;JSON.parse(await obsidian_module.request({url:"https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/directory-info.json"})).forEach((e=>d.set(e.fname,e.mtime)));const h=(e,A)=>{if(0===d.size||!d.has(e))return"ERROR";const t=d.get(e);return!A||t>A.stat.mtime?"UPDATE":"UPTODATE"},u=h(a,l),g=h(getIMGFilename(a,"svg"),c&&c instanceof obsidian_module.TFile?c:null);n("UPTODATE"===u&&"UPTODATE"===g||"UPTODATE"===u&&"ERROR"===g?"UPTODATE":"ERROR"===u?"ERROR":"UPDATE"===u||"UPDATE"===g?"UPDATE":"UPTODATE")}))};this.registerMarkdownCodeBlockProcessor(SCRIPT_INSTALL_CODEBLOCK,(async(A,t)=>{t.addEventListener(RERENDER_EVENT,(async n=>{n.stopPropagation(),t.empty(),e(A,t)})),e(A,t)}))}addMarkdownPostProcessor(){initializeMarkdownPostProcessor(this),this.registerMarkdownPostProcessor(markdownPostProcessor),this.registerEvent(this.app.workspace.on("hover-link",hoverEvent)),this.observer=observer,this.observer.observe(document,{childList:!0,subtree:!0})}addThemeObserver(){this.themeObserver=new MutationObserver((async e=>{var A,t,n,i,a,r,s,o;if(!this.settings.matchThemeTrigger)return;if((null===(A=e[0])||void 0===A?void 0:A.oldValue)===(null===(n=null===(t=e[0])||void 0===t?void 0:t.target)||void 0===n?void 0:n.getAttribute("class")))return;if((null===(a=null===(i=e[0])||void 0===i?void 0:i.oldValue)||void 0===a?void 0:a.includes("theme-dark"))===(null===(o=null===(s=null===(r=e[0])||void 0===r?void 0:r.target)||void 0===s?void 0:s.classList)||void 0===o?void 0:o.contains("theme-dark")))return;const l=isObsidianThemeDark()?"dark":"light";this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{const A=e.view;A.file&&A.excalidrawRef&&A.setTheme(l)}))})),this.themeObserver.observe(document.body,{attributeOldValue:!0,attributeFilter:["class"]})}experimentalFileTypeDisplayToggle(e){e?this.experimentalFileTypeDisplay():(this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.fileExplorerObserver=null)}experimentalFileTypeDisplay(){const e=e=>{if(1!=e.childElementCount)return;const A=e.getAttribute("data-path");if(!A)return;const t=this.app.vault.getAbstractFileByPath(A);t&&t instanceof obsidian_module.TFile&&this.isExcalidrawFile(t)&&e.insertBefore(createDiv({cls:"nav-file-tag",text:this.settings.experimentalFileTag}),e.firstChild)};this.fileExplorerObserver=new MutationObserver((A=>{const t=A.filter((e=>e.addedNodes.length>0));t.forEach((A=>{A.addedNodes.forEach((A=>{A instanceof Element&&A.querySelectorAll(".nav-file-title").forEach(e)}))}))}));const A=this;this.app.workspace.onLayoutReady((()=>{document.querySelectorAll(".nav-file-title").forEach(e),A.fileExplorerObserver.observe(document.querySelector(".workspace"),{childList:!0,subtree:!0})}))}registerCommands(){this.openDialog=new OpenFileDialog(this.app,this),this.insertLinkDialog=new InsertLinkDialog(this.app),this.insertImageDialog=new InsertImageDialog(this),this.importSVGDialog=new ImportSVGDialog(this),this.insertMDDialog=new InsertMDDialog(this),this.addRibbonIcon(ICON_NAME,t$d("CREATE_NEW"),(async e=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),e[CTRL_OR_CMD]?"new-pane":"active-pane")})),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{e.addItem((e=>{e.setTitle(t$d("CREATE_NEW")).setIcon(ICON_NAME).onClick((()=>{let e=A.path;A instanceof obsidian_module.TFile&&(e=obsidian_module.normalizePath(A.path.substr(0,A.path.lastIndexOf(A.name)))),this.createAndOpenDrawing(getDrawingFilename(this.settings),"active-pane",e)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian_module.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_KEEP_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!1,!1)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian_module.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_REPLACE_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!0,!0)}))}))}))),this.addCommand({id:"excalidraw-disable-autosave",name:t$d("TEMPORARY_DISABLE_AUTOSAVE"),checkCallback:e=>!!this.settings.autosave&&(e||(this.settings.autosave=!1),!0)}),this.addCommand({id:"excalidraw-enable-autosave",name:t$d("TEMPORARY_ENABLE_AUTOSAVE"),checkCallback:e=>!this.settings.autosave&&(e||(this.settings.autosave=!0),!0)}),this.addCommand({id:"excalidraw-download-lib",name:t$d("DOWNLOAD_LIBRARY"),callback:this.exportLibrary}),this.addCommand({id:"excalidraw-open",name:t$d("OPEN_EXISTING_NEW_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!0)}}),this.addCommand({id:"excalidraw-open-on-current",name:t$d("OPEN_EXISTING_ACTIVE_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!1)}}),this.addCommand({id:"excalidraw-insert-transclusion",name:t$d("TRANSCLUDE"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(this.openDialog.start(openDialogAction.insertLinkToDrawing,!1),!0)}),this.addCommand({id:"excalidraw-insert-last-active-transclusion",name:t$d("TRANSCLUDE_MOST_RECENT"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView))&&null!=this.lastActiveExcalidrawFilePath;const A=this.app.vault.getAbstractFileByPath(this.lastActiveExcalidrawFilePath);return A instanceof obsidian_module.TFile&&(this.embedDrawing(A),!0)}}),this.addCommand({id:"excalidraw-autocreate",name:t$d("NEW_IN_NEW_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-pane")}}),this.addCommand({id:"excalidraw-autocreate-on-current",name:t$d("NEW_IN_ACTIVE_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"active-pane")}}),this.addCommand({id:"excalidraw-autocreate-popout",name:t$d("NEW_IN_POPOUT_WINDOW"),checkCallback:e=>{if(e)return!app.isMobile;this.createAndOpenDrawing(getDrawingFilename(this.settings),"popout-window")}});const e=async e=>{const A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!A)return;const t=getEmbedFilename(A.file.basename,this.settings),n=this.settings.embedUseExcalidrawFolder?null:(await getAttachmentsFolderAndFilePath(this.app,A.file.path,t)).folder,i=await this.createDrawing(t,n);await this.embedDrawing(i),this.openDrawing(i,e,!0)};this.addCommand({id:"excalidraw-autocreate-and-embed",name:t$d("NEW_IN_NEW_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-on-current",name:t$d("NEW_IN_ACTIVE_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("active-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-popout",name:t$d("NEW_IN_POPOUT_WINDOW_EMBED"),checkCallback:A=>A?!app.isMobile&&Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("popout-window"),!0)}),this.addCommand({id:"export-svg",name:t$d("EXPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.saveSVG(),!0)}}),this.addCommand({id:"run-ocr",name:t$d("RUN_OCR"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return e?Boolean(A):!!A&&(this.settings.taskboneEnabled?(this.taskbone.getTextForView(A,!1),!0):(new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3),!0))}}),this.addCommand({id:"search-text",name:t$d("SEARCH"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(search(A),!0)}}),this.addCommand({id:"fullscreen",name:t$d("TOGGLE_FULLSCREEN"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.isFullscreen()?A.exitFullscreen():A.gotoFullscreen(),!0)}}),this.addCommand({id:"export-png",name:t$d("EXPORT_PNG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.savePNG(),!0)}}),this.forceSaveCommand=this.addCommand({id:"save",hotkeys:[{modifiers:["Ctrl"],key:"s"}],name:t$d("FORCE_SAVE"),checkCallback:e=>this.forceSaveActiveView(e)}),this.addCommand({id:"toggle-lock",hotkeys:[{modifiers:["Ctrl","Shift"],key:"e"}],name:t$d("TOGGLE_LOCK"),checkCallback:e=>{if(e)return!!Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))&&!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode;const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||A.compatibilityMode||(A.changeTextMode(A.textMode===TextMode.parsed?TextMode.raw:TextMode.parsed),0))}}),this.addCommand({id:"scriptengine-store",name:t$d("INSTALL_SCRIPT_BUTTON"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ScriptInstallPrompt(this).open(),!0)}),this.addCommand({id:"delete-file",name:t$d("DELETE_FILE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(A){this.ea.reset(),this.ea.setView(A);const e=this.ea.getViewSelectedElement();if("image"!==e.type)return new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0;const t=this.ea.getViewFileForImageElement(e);return t?(this.app.vault.delete(t),this.ea.deleteViewElements([e]),!0):(new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0)}return!1}}),this.addCommand({id:"insert-link",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertLinkDialog.start(A.file.path,A.addText),!0)}}),this.addCommand({id:"insert-link-to-element",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK_TO_ELEMENT_NORMAL"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard(""),!0)}}),this.addCommand({id:"insert-link-to-element-group",name:t$d("INSERT_LINK_TO_ELEMENT_GROUP"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("group="),!0)}}),this.addCommand({id:"insert-link-to-element-area",name:t$d("INSERT_LINK_TO_ELEMENT_AREA"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("area="),!0)}}),this.addCommand({id:"toggle-lefthanded-mode",name:t$d("TOGGLE_LEFTHANDED_MODE"),checkCallback:e=>{if(e){if(this.app.workspace.getActiveViewOfType(ExcalidrawView)){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView),A=null==e?void 0:e.excalidrawAPI;return!!A&&!!A.getAppState().trayModeEnabled}return!1}return this.app.workspace.getActiveViewOfType(ExcalidrawView),(async()=>{const e=this.settings.isLeftHanded;await this.loadSettings({applyLefthandedMode:!1}),this.settings.isLeftHanded=!e,this.saveSettings(),setLeftHandedMode(!e),setTimeout((()=>setLeftHandedMode(!e)))})(),!0}}),this.addCommand({id:"reset-image-to-100",name:t$d("RESET_IMG_TO_100"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!A)return!1;if(!A.excalidrawAPI)return!1;const t=A.getViewSelectedElements().filter((e=>"image"===e.type));if(1!==t.length)return e||new obsidian_module.Notice("Select a single image element and try again"),!1;const n=t[0];return A.excalidrawData.getFile(n.fileId)?!!e||void(async()=>{const e=new ExcalidrawAutomate(this,A),i=await e.getOriginalImageSize(n);if(i){e.copyViewElementsToEAforEditing(t);const A=e.getElement(n.id);A.width=i.width,A.height=i.height,e.addElementsToView(!1,!1,!1)}})():(e||new obsidian_module.Notice("Select a single image element and try again"),!1)}}),this.addCommand({id:"insert-image",name:t$d("INSERT_IMAGE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertImageDialog.start(A),!0)}}),this.addCommand({id:"import-svg",name:t$d("IMPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.importSVGDialog.start(A),!0)}}),this.addCommand({id:"release-notes",name:t$d("READ_RELEASE_NOTES"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ReleaseNotes(this.app,this,PLUGIN_VERSION).open(),!0)}),this.addCommand({id:"tray-mode",name:t$d("TRAY_MODE"),checkCallback:e=>{if(e){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!e||!e.excalidrawRef)return!1;const A=e.excalidrawAPI.getAppState();return!A.zenModeEnabled&&!A.viewModeEnabled}const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||!A.excalidrawAPI||(A.toggleTrayMode(),0))}}),this.addCommand({id:"insert-md",name:t$d("INSERT_MD"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertMDDialog.start(A),!0)}}),this.addCommand({id:"insert-LaTeX-symbol",name:t$d("INSERT_LATEX"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(insertLaTeXToView(A),!0)}}),this.addCommand({id:"toggle-excalidraw-view",name:t$d("TOGGLE_MODE"),checkCallback:e=>{const A=this.app.workspace.getActiveFile();if(!A)return!1;const t=this.isExcalidrawFile(A);if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))?!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode:t;const n=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(n){const e=n.leaf;return this.excalidrawFileModes[e.id||A.path]="markdown",void this.setMarkdownView(e)}const i=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(i&&t){const e=i.leaf;return this.excalidrawFileModes[e.id||A.path]="excalidraw",void this.setExcalidrawView(e)}}}),this.addCommand({id:"convert-to-excalidraw",name:t$d("CONVERT_NOTE_TO_EXCALIDRAW"),checkCallback:e=>{const A=this.app.workspace.getActiveFile(),t=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!A||!t)return!1;const n=0===A.stat.size;if(e)return n;n&&(async()=>{await this.app.vault.modify(A,await this.getBlankDrawing()),this.setExcalidrawView(t.leaf)})()}}),this.addCommand({id:"convert-excalidraw",name:t$d("CONVERT_EXCALIDRAW"),checkCallback:e=>{if(e){const e=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));return e.length>0}return this.convertExcalidrawToMD(),!0}})}async convertSingleExcalidrawToMD(e,A=!1,t=!1){const n=await this.app.vault.read(e),i=e.name.substring(0,e.name.lastIndexOf(".excalidraw"))+(A?".md":".excalidraw.md"),a=getNewUniqueFilepath(this.app.vault,i,obsidian_module.normalizePath(e.path.substring(0,e.path.lastIndexOf(e.name))));log(a);const r=await this.app.vault.create(a,FRONTMATTER+await this.exportSceneToMD(n));return this.settings.keepInSync&&EXPORT_TYPES.forEach((A=>{const t=e.path.substring(0,e.path.lastIndexOf(".excalidraw"))+A,n=this.app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));if(n&&n instanceof obsidian_module.TFile){const e=a.substring(0,a.lastIndexOf(".md"))+A;this.app.fileManager.renameFile(n,e)}})),t||this.app.vault.delete(e),r}async convertExcalidrawToMD(e=!1,A=!1){const t=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));for(const n of t)this.convertSingleExcalidrawToMD(n,e,A);new obsidian_module.Notice(`Converted ${t.length} files.`)}registerMonkeyPatches(){this.registerEvent(app.workspace.on("editor-menu",((e,A,t)=>{if(!(t&&t instanceof obsidian_module.MarkdownView))return;const n=t.file,i=t.leaf;if(!t.file)return;const a=this.app.metadataCache.getFileCache(n);(null==a?void 0:a.frontmatter)&&a.frontmatter[FRONTMATTER_KEY]&&e.addItem((e=>e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("excalidraw").onClick((()=>{this.excalidrawFileModes[i.id||n.path]="excalidraw",this.setExcalidrawView(i)}))))}))),this.registerEvent(app.workspace.on("file-menu",((e,A,t,n)=>{if(!(n&&n.view instanceof obsidian_module.MarkdownView))return;if(!(A instanceof obsidian_module.TFile))return;const i=this.app.metadataCache.getFileCache(A);(null==i?void 0:i.frontmatter)&&i.frontmatter[FRONTMATTER_KEY]&&(e.addItem((e=>{e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("pane").onClick((()=>{this.excalidrawFileModes[n.id||A.path]="excalidraw",this.setExcalidrawView(n)}))})),e.items.unshift(e.items.pop()))})));const e=this;this.register(around(obsidian_module.WorkspaceLeaf.prototype,{detach:A=>function(){var t;const n=null===(t=this.view)||void 0===t?void 0:t.getState();return(null==n?void 0:n.file)&&e.excalidrawFileModes[this.id||n.file]&&delete e.excalidrawFileModes[this.id||n.file],A.apply(this)},setViewState:A=>function(t,...n){var i;if(e._loaded&&"markdown"===t.type&&(null===(i=t.state)||void 0===i?void 0:i.file)&&"markdown"!==e.excalidrawFileModes[this.id||t.state.file]){const i=app.metadataCache.getCache(t.state.file);if((null==i?void 0:i.frontmatter)&&i.frontmatter[FRONTMATTER_KEY]){const i=Object.assign(Object.assign({},t),{type:"excalidraw"});return e.excalidrawFileModes[t.state.file]="excalidraw",A.apply(this,[i,...n])}}return A.apply(this,[t,...n])}}))}registerEventListeners(){const e=this;this.app.workspace.onLayoutReady((async()=>{e.registerEvent(app.vault.on("rename",(async(A,t)=>{A instanceof obsidian_module.TFile&&e.isExcalidrawFile(A)&&e.settings.keepInSync&&[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const n=getIMGFilename(t,e),i=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(n));if(i&&i instanceof obsidian_module.TFile){const t=getIMGFilename(A.path,e);await app.fileManager.renameFile(i,t)}}))}))),e.registerEvent(app.vault.on("modify",(async A=>{app.workspace.getLeavesOfType("excalidraw").forEach((async t=>{const n=t.view;if(n.file&&(n.file.path===A.path||"excalidraw"===A.extension&&`${A.path.substring(0,A.path.lastIndexOf(".excalidraw"))}.md`===n.file.path)){if(n.semaphores.preventReload)return void(n.semaphores.preventReload=!1);if(n.lastSaveTimestamp+3e5{if(!(A instanceof obsidian_module.TFile))return;const t=this.excalidrawFiles.has(A);if(this.updateFileCache(A,void 0,!0),!t)return;const n=app.workspace.getLeavesOfType("excalidraw");for(let e=0;e{[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const t=getIMGFilename(A.path,e),n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));n&&n instanceof obsidian_module.TFile&&await app.vault.delete(n)}))}),500)}))),e.registerEvent(app.workspace.on("active-leaf-change",(async A=>{var t;e.leafChangeTimeout&&clearTimeout(e.leafChangeTimeout),e.leafChangeTimeout=setTimeout((()=>{e.leafChangeTimeout=null}),1e3);const n=e.activeExcalidrawView,i=A.view instanceof ExcalidrawView?A.view:null; //!Temporary hack -if(e.activeExcalidrawView=i,i&&(e.lastActiveExcalidrawFilePath=null===(t=i.file)||void 0===t?void 0:t.path),app.isMobile&&i&&!n){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="relative")}if(app.isMobile&&!i&&n){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="")}if(n&&n!==i&&(n.leaf!==A&&n.semaphores.dirty&&await n.save(!0),n.file&&e.triggerEmbedUpdates(n.file.path)),i&&(!n||n.leaf!==A)){const e=i.file;i.file&&setTimeout((()=>{var A;i&&i._loaded&&(null===(A=i.file)||void 0===A?void 0:A.path)===(null==e?void 0:e.path)&&(i.activeLoader||i.loadSceneFiles())}),2e3)}if(i&&i._loaded&&i.isLoaded&&i.excalidrawAPI&&e.ea.onCanvasColorChangeHook&&e.ea.onCanvasColorChangeHook(e.ea,i,i.excalidrawAPI.getAppState().viewBackgroundColor),e.popScope&&(e.popScope(),e.popScope=null),i){const A=e.app.keymap.getRootScope(),t=A.register(["Mod"],"Enter",(()=>!0)),n=e.forceSaveCommand&&"s"===e.forceSaveCommand.hotkeys[0].key&&e.forceSaveCommand.hotkeys[0].modifiers.includes("Ctrl")?A.register(["Ctrl"],"s",(()=>e.forceSaveActiveView(!1))):void 0;A.keys.unshift(A.keys.pop()),e.popScope=()=>{A.unregister(t),Boolean(n)&&A.unregister(n)}}}))),e.addFileSaveTriggerEventHandlers();const A=app.metadataCache;A.getCachedFiles().forEach((t=>{var n;const i=null===(n=A.getCache(t))||void 0===n?void 0:n.frontmatter;(i&&void 0!==i[FRONTMATTER_KEY]||t.match(/\.excalidraw$/))&&e.updateFileCache(app.vault.getAbstractFileByPath(t),i)})),this.registerEvent(A.on("changed",((e,A,t)=>this.updateFileCache(e,null==t?void 0:t.frontmatter))))}))}addFileSaveTriggerEventHandlers(){this.registerEvent(this.app.workspace.on("click",(e=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&(!e.target||"excalidraw__canvas"!==e.target.className&&!getParentOfClass(e.target,"excalidraw-wrapper"))&&this.activeExcalidrawView.save()}))),this.registerEvent(this.app.workspace.on("file-menu",(()=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()}))),this.modalContainerObserver=new MutationObserver((async e=>{1===e.length&&"childList"===e[0].type&&1===e[0].addedNodes.length&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()})),this.modalContainerObserver.observe(document.body,{childList:!0});const e=document.querySelector(".workspace-drawer.mod-left"),A=document.querySelector(".workspace-drawer.mod-right");if(e||A){const t=async e=>{"display: none;"===e[0].oldValue&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()},n={attributeOldValue:!0,attributeFilter:["style"]};e&&(this.workspaceDrawerLeftObserver=new MutationObserver(t),this.workspaceDrawerLeftObserver.observe(e,n)),A&&(this.workspaceDrawerRightObserver=new MutationObserver(t),this.workspaceDrawerRightObserver.observe(A,n))}}updateFileCache(e,A,t=!1){A&&void 0!==A[FRONTMATTER_KEY]?this.excalidrawFiles.add(e):t||"excalidraw"!==e.extension?this.excalidrawFiles.delete(e):this.excalidrawFiles.add(e)}onunload(){destroyExcalidrawAutomate(),this.popScope&&(this.popScope(),this.popScope=null),this.observer.disconnect(),this.themeObserver.disconnect(),this.modalContainerObserver.disconnect(),this.workspaceDrawerLeftObserver&&this.workspaceDrawerLeftObserver.disconnect(),this.workspaceDrawerRightObserver&&this.workspaceDrawerRightObserver.disconnect(),this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{this.setMarkdownView(e)})),this.mathjaxDiv&&document.body.removeChild(this.mathjaxDiv),Object.values(this.packageMap).forEach((e=>{delete e.excalidrawLib,delete e.reactDOM,delete e.react}))}async embedDrawing(e){const A=this.app.workspace.getActiveViewOfType(obsidian.MarkdownView);if(A&&A.file){const t=this.app.metadataCache.fileToLinktext(e,A.file.path,"excalidraw"===this.settings.embedType),n=A.editor;if("excalidraw"===this.settings.embedType)return n.replaceSelection(this.settings.embedWikiLink?`![[${t}]]`:`![](${encodeURI(t)})`),void n.focus();let i=this.settings.autoExportLightAndDark?getExportTheme(this,e,this.settings.exportWithTheme&&isObsidianThemeDark()?"dark":"light"):"";i=""===i?"":i+".";const a=getIMGFilename(t,i+this.settings.embedType.toLowerCase()),r=getIMGFilename(e.path,i+this.settings.embedType.toLowerCase()),s="dark."===i?"light.":"dark.",o=getIMGFilename(t,s+this.settings.embedType.toLowerCase());this.app.vault.getAbstractFileByPath(r)||(await this.app.vault.create(r,""),await sleep$1(200)),n.replaceSelection(this.settings.embedWikiLink?`![[${a}]]\n%%[[${t}|🖋 Edit in Excalidraw]]${o?", and the [["+o+"|"+s.split(".")[0]+" exported image]]":""}%%`:`![](${encodeURI(a)})\n%%[🖋 Edit in Excalidraw](${encodeURI(t)})${o?", and the ["+s.split(".")[0]+" exported image]("+encodeURI(o)+")":""}%%`),n.focus()}}async loadSettings(e={applyLefthandedMode:!0,reEnableAutosave:!1}){void 0===e.applyLefthandedMode&&(e.applyLefthandedMode=!0),void 0===e.reEnableAutosave&&(e.reEnableAutosave=!1),this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData()),e.applyLefthandedMode&&setLeftHandedMode(this.settings.isLeftHanded),e.reEnableAutosave&&(this.settings.autosave=!0),this.settings.autosaveInterval=app.isMobile?1e4:15e3}async saveSettings(){await this.saveData(this.settings)}getStencilLibrary(){return""===this.settings.library||"deprecated"===this.settings.library?this.settings.library2:JSON_parse(this.settings.library)}setStencilLibrary(e){this.settings.library="deprecated",this.settings.library2=e}triggerEmbedUpdates(e){const A=new Set;app.workspace.iterateAllLeaves((t=>{const n=app.isMobile?document:t.view.containerEl.ownerDocument;if(!n)return;if(A.has(n))return;A.add(n);const i=n.createEvent("Event");i.initEvent(RERENDER_EVENT,!0,!1),n.querySelectorAll("div[class^='excalidraw-svg']"+(e?`[src='${e.replaceAll("'","\\'")}']`:"")).forEach((e=>e.dispatchEvent(i)))}))}openDrawing(e,A,t=!1,n){let i;"popout-window"===A?i=app.workspace.openPopoutLeaf():(i=this.app.workspace.getLeaf(!1),"empty"!==i.view.getViewType()&&"new-pane"===A&&(i=getNewOrAdjacentLeaf(this,i))),i.openFile(e,n&&""!==n?{active:t,eState:{subpath:n}}:{active:t})}async getBlankDrawing(){const e=this.app.metadataCache.getFirstLinkpathDest(obsidian.normalizePath(this.settings.templateFilePath),"");if(e&&e instanceof obsidian.TFile&&("md"==e.extension&&!this.settings.compatibilityMode||"excalidraw"==e.extension&&this.settings.compatibilityMode)){const A=await this.app.vault.read(e);if(A)return this.settings.matchTheme?changeThemeOfExcalidrawMD(A):A}if(this.settings.compatibilityMode)return this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;const A=this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;return`${FRONTMATTER}\n${getMarkdownDrawingSection(A,this.settings.compress)}`}async exportSceneToMD(e){var A,t;if(!e)return"";const n=null===(A=JSON_parse(e).elements)||void 0===A?void 0:A.filter((e=>"text"==e.type));let i,a="# Text Elements\n";for(const A of n)i=A.id,A.id.length>8&&(i=nanoid(),e=e.replaceAll(A.id,i)),a+=`${null!==(t=A.originalText)&&void 0!==t?t:A.text} ^${i}\n\n`;return a+getMarkdownDrawingSection(JSON.stringify(JSON_parse(e),null,"\t"),this.settings.compress)}async createDrawing(e,A,t){const n=obsidian.normalizePath(A||this.settings.folder);await checkAndCreateFolder(n);const i=getNewUniqueFilepath(this.app.vault,e,n),a=await this.app.vault.create(i,null!=t?t:await this.getBlankDrawing());let r=0;for(;a instanceof obsidian.TFile&&!this.isExcalidrawFile(a)&&r++<10;)await sleep$1(50);return r>10&&errorlog({file:a,error:"new drawing not recognized as an excalidraw file",fn:this.createDrawing}),a}async createAndOpenDrawing(e,A,t,n){const i=await this.createDrawing(e,t,n);return this.openDrawing(i,A,!0),i.path}async setMarkdownView(e){const A=e.view.getState();await e.setViewState({type:"excalidraw",state:{file:null}}),await e.setViewState({type:"markdown",state:A,popstate:!0},{focus:!0})}async setExcalidrawView(e){await e.setViewState({type:"excalidraw",state:e.view.getState(),popstate:!0})}isExcalidrawFile(e){if(!e)return!1;if("excalidraw"===e.extension)return!0;const A=e?this.app.metadataCache.getFileCache(e):null;return!!(null==A?void 0:A.frontmatter)&&!!A.frontmatter[FRONTMATTER_KEY]}async exportLibrary(){this.app.isMobile?new Prompt(this.app,"Please provide a filename","my-library","filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidrawlib`;const A=obsidian.normalizePath(this.settings.folder);await checkAndCreateFolder(A);const t=getNewUniqueFilepath(this.app.vault,e,A);this.app.vault.create(t,this.settings.library),new obsidian.Notice(`Exported library to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.settings.library2,null,"\t")),"my-obsidian-library.excalidrawlib")}}module.exports=ExcalidrawPlugin; +if(e.activeExcalidrawView=i,i&&(e.lastActiveExcalidrawFilePath=null===(t=i.file)||void 0===t?void 0:t.path),app.isMobile&&i&&!n){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="relative")}if(app.isMobile&&!i&&n){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="")}if(n&&n!==i&&(n.leaf!==A&&n.semaphores.dirty&&!n.semaphores.viewunload&&await n.save(!0),n.file&&e.triggerEmbedUpdates(n.file.path)),i&&(!n||n.leaf!==A)){const e=i.file;i.file&&setTimeout((()=>{var A;i&&i._loaded&&(null===(A=i.file)||void 0===A?void 0:A.path)===(null==e?void 0:e.path)&&(i.activeLoader||i.loadSceneFiles())}),2e3)}if(i&&i._loaded&&i.isLoaded&&i.excalidrawAPI&&e.ea.onCanvasColorChangeHook&&e.ea.onCanvasColorChangeHook(e.ea,i,i.excalidrawAPI.getAppState().viewBackgroundColor),e.popScope&&(e.popScope(),e.popScope=null),i){const A=e.app.keymap.getRootScope(),t=A.register(["Mod"],"Enter",(()=>!0)),n=e.forceSaveCommand&&"s"===e.forceSaveCommand.hotkeys[0].key&&e.forceSaveCommand.hotkeys[0].modifiers.includes("Ctrl")?A.register(["Ctrl"],"s",(()=>e.forceSaveActiveView(!1))):void 0;A.keys.unshift(A.keys.pop()),e.popScope=()=>{A.unregister(t),Boolean(n)&&A.unregister(n)}}}))),e.addFileSaveTriggerEventHandlers();const A=app.metadataCache;A.getCachedFiles().forEach((t=>{var n;const i=null===(n=A.getCache(t))||void 0===n?void 0:n.frontmatter;(i&&void 0!==i[FRONTMATTER_KEY]||t.match(/\.excalidraw$/))&&e.updateFileCache(app.vault.getAbstractFileByPath(t),i)})),this.registerEvent(A.on("changed",((e,A,t)=>this.updateFileCache(e,null==t?void 0:t.frontmatter))))}))}addFileSaveTriggerEventHandlers(){this.registerEvent(this.app.workspace.on("click",(e=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&(!e.target||"excalidraw__canvas"!==e.target.className&&!getParentOfClass(e.target,"excalidraw-wrapper"))&&this.activeExcalidrawView.save()}))),this.registerEvent(this.app.workspace.on("file-menu",(()=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()}))),this.modalContainerObserver=new MutationObserver((async e=>{1===e.length&&"childList"===e[0].type&&1===e[0].addedNodes.length&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()})),this.modalContainerObserver.observe(document.body,{childList:!0});const e=document.querySelector(".workspace-drawer.mod-left"),A=document.querySelector(".workspace-drawer.mod-right");if(e||A){const t=async e=>{"display: none;"===e[0].oldValue&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()},n={attributeOldValue:!0,attributeFilter:["style"]};e&&(this.workspaceDrawerLeftObserver=new MutationObserver(t),this.workspaceDrawerLeftObserver.observe(e,n)),A&&(this.workspaceDrawerRightObserver=new MutationObserver(t),this.workspaceDrawerRightObserver.observe(A,n))}}updateFileCache(e,A,t=!1){A&&void 0!==A[FRONTMATTER_KEY]?this.excalidrawFiles.add(e):t||"excalidraw"!==e.extension?this.excalidrawFiles.delete(e):this.excalidrawFiles.add(e)}onunload(){destroyExcalidrawAutomate(),this.popScope&&(this.popScope(),this.popScope=null),this.observer.disconnect(),this.themeObserver.disconnect(),this.modalContainerObserver.disconnect(),this.workspaceDrawerLeftObserver&&this.workspaceDrawerLeftObserver.disconnect(),this.workspaceDrawerRightObserver&&this.workspaceDrawerRightObserver.disconnect(),this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{this.setMarkdownView(e)})),this.mathjaxDiv&&document.body.removeChild(this.mathjaxDiv),Object.values(this.packageMap).forEach((e=>{delete e.excalidrawLib,delete e.reactDOM,delete e.react}))}async embedDrawing(e){const A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(A&&A.file){const t=this.app.metadataCache.fileToLinktext(e,A.file.path,"excalidraw"===this.settings.embedType),n=A.editor;if("excalidraw"===this.settings.embedType)return n.replaceSelection(this.settings.embedWikiLink?`![[${t}]]`:`![](${encodeURI(t)})`),void n.focus();let i=this.settings.autoExportLightAndDark?getExportTheme(this,e,this.settings.exportWithTheme&&isObsidianThemeDark()?"dark":"light"):"";i=""===i?"":i+".";const a=getIMGFilename(t,i+this.settings.embedType.toLowerCase()),r=getIMGFilename(e.path,i+this.settings.embedType.toLowerCase()),s="dark."===i?"light.":"dark.",o=getIMGFilename(t,s+this.settings.embedType.toLowerCase());this.app.vault.getAbstractFileByPath(r)||(await this.app.vault.create(r,""),await sleep$1(200)),n.replaceSelection(this.settings.embedWikiLink?`![[${a}]]\n%%[[${t}|🖋 Edit in Excalidraw]]${o?", and the [["+o+"|"+s.split(".")[0]+" exported image]]":""}%%`:`![](${encodeURI(a)})\n%%[🖋 Edit in Excalidraw](${encodeURI(t)})${o?", and the ["+s.split(".")[0]+" exported image]("+encodeURI(o)+")":""}%%`),n.focus()}}async loadSettings(e={applyLefthandedMode:!0,reEnableAutosave:!1}){void 0===e.applyLefthandedMode&&(e.applyLefthandedMode=!0),void 0===e.reEnableAutosave&&(e.reEnableAutosave=!1),this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData()),e.applyLefthandedMode&&setLeftHandedMode(this.settings.isLeftHanded),e.reEnableAutosave&&(this.settings.autosave=!0),this.settings.autosaveInterval=app.isMobile?this.settings.autosaveIntervalMobile:this.settings.autosaveIntervalDesktop}async saveSettings(){await this.saveData(this.settings)}getStencilLibrary(){return""===this.settings.library||"deprecated"===this.settings.library?this.settings.library2:JSON_parse(this.settings.library)}setStencilLibrary(e){this.settings.library="deprecated",this.settings.library2=e}triggerEmbedUpdates(e){const A=new Set;app.workspace.iterateAllLeaves((t=>{const n=app.isMobile?document:t.view.containerEl.ownerDocument;if(!n)return;if(A.has(n))return;A.add(n);const i=n.createEvent("Event");i.initEvent(RERENDER_EVENT,!0,!1),n.querySelectorAll("div[class^='excalidraw-svg']"+(e?`[src='${e.replaceAll("'","\\'")}']`:"")).forEach((e=>e.dispatchEvent(i)))}))}openDrawing(e,A,t=!1,n){let i;"popout-window"===A?i=app.workspace.openPopoutLeaf():(i=this.app.workspace.getLeaf(!1),"empty"!==i.view.getViewType()&&"new-pane"===A&&(i=getNewOrAdjacentLeaf(this,i))),i.openFile(e,n&&""!==n?{active:t,eState:{subpath:n}}:{active:t})}async getBlankDrawing(){const e=this.app.metadataCache.getFirstLinkpathDest(obsidian_module.normalizePath(this.settings.templateFilePath),"");if(e&&e instanceof obsidian_module.TFile&&("md"==e.extension&&!this.settings.compatibilityMode||"excalidraw"==e.extension&&this.settings.compatibilityMode)){const A=await this.app.vault.read(e);if(A)return this.settings.matchTheme?changeThemeOfExcalidrawMD(A):A}if(this.settings.compatibilityMode)return this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;const A=this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;return`${FRONTMATTER}\n${getMarkdownDrawingSection(A,this.settings.compress)}`}async exportSceneToMD(e){var A,t;if(!e)return"";const n=null===(A=JSON_parse(e).elements)||void 0===A?void 0:A.filter((e=>"text"==e.type));let i,a="# Text Elements\n";for(const A of n)i=A.id,A.id.length>8&&(i=nanoid(),e=e.replaceAll(A.id,i)),a+=`${null!==(t=A.originalText)&&void 0!==t?t:A.text} ^${i}\n\n`;return a+getMarkdownDrawingSection(JSON.stringify(JSON_parse(e),null,"\t"),this.settings.compress)}async createDrawing(e,A,t){const n=obsidian_module.normalizePath(A||this.settings.folder);await checkAndCreateFolder(n);const i=getNewUniqueFilepath(this.app.vault,e,n),a=await this.app.vault.create(i,null!=t?t:await this.getBlankDrawing());let r=0;for(;a instanceof obsidian_module.TFile&&!this.isExcalidrawFile(a)&&r++<10;)await sleep$1(50);return r>10&&errorlog({file:a,error:"new drawing not recognized as an excalidraw file",fn:this.createDrawing}),a}async createAndOpenDrawing(e,A,t,n){const i=await this.createDrawing(e,t,n);return this.openDrawing(i,A,!0),i.path}async setMarkdownView(e){const A=e.view.getState();await e.setViewState({type:"excalidraw",state:{file:null}}),await e.setViewState({type:"markdown",state:A,popstate:!0},{focus:!0})}async setExcalidrawView(e){await e.setViewState({type:"excalidraw",state:e.view.getState(),popstate:!0})}isExcalidrawFile(e){if(!e)return!1;if("excalidraw"===e.extension)return!0;const A=e?this.app.metadataCache.getFileCache(e):null;return!!(null==A?void 0:A.frontmatter)&&!!A.frontmatter[FRONTMATTER_KEY]}async exportLibrary(){this.app.isMobile?new Prompt(this.app,"Please provide a filename","my-library","filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidrawlib`;const A=obsidian_module.normalizePath(this.settings.folder);await checkAndCreateFolder(A);const t=getNewUniqueFilepath(this.app.vault,e,A);this.app.vault.create(t,this.settings.library),new obsidian_module.Notice(`Exported library to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.settings.library2,null,"\t")),"my-obsidian-library.excalidrawlib")}}module.exports=ExcalidrawPlugin; diff --git a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json index e90c673..19bdcfb 100644 --- a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +++ b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json @@ -1,8 +1,8 @@ { "id": "obsidian-excalidraw-plugin", "name": "Excalidraw", - "version": "1.8.0", - "minAppVersion": "0.15.6", + "version": "1.8.4", + "minAppVersion": "0.16.0", "description": "An Obsidian plugin to edit and view Excalidraw drawings", "author": "Zsolt Viczian", "authorUrl": "https://zsolt.blog", diff --git a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css index 634b9a9..150d5d6 100644 --- a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +++ b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css @@ -1,291 +1,291 @@ -.App { - font-family: sans-serif; - text-align: center; - } - - .excalidraw-wrapper { - height: 100%; - margin: 0px; - background-color: white; - } - - .context-menu-option__shortcut { - background-color: transparent !important; - } - -.block-language-excalidraw { - text-align:center; -} - -.excalidraw .github-corner { - display: none; -} - -img.excalidraw-svg-right-wrap { - float: right; - margin: 0px 0px 20px 20px; -} - -img.excalidraw-svg-left-wrap { - float: left; - margin: 0px 35px 20px 0px; -} - -img.excalidraw-svg-right { - float: right; -} - -.excalidraw-svg-center { - text-align: center; -} - -img.excalidraw-svg-left { - float: left; -} - -div.excalidraw-svg-right, -div.excalidraw-svg-left { - display: table; - width: 100%; -} - -button.ToolIcon_type_button[title="Export"] { - display:none; -} - -.excalidraw-prompt-div { - display: flex; - max-width: 800px; -} - -.excalidraw-prompt-form { - display: flex; - flex-grow: 1; -} - -.excalidraw-prompt-input { - flex-grow: 1; -} - -li[data-testid] { - border: 0 !important; - margin: 0 !important; - padding: 0 !important; - width: 100% !important; -} - -.excalidraw .context-menu-option-separator { - margin: 4px !important; -} - -.excalidraw .popover { - padding: 0 !important; - border-color: transparent !important; - border: 0 !important; - box-shadow: 0 !important; - background-color: transparent !important; -} - -.disable-zen-mode--visible { - color: var(--text-primary-color); -} - -.disable-zen-mode { - width: 9em !important; -} - -.ex-coffee-div { - text-align: center; - margin-bottom: 10px; -} - -.excalidraw-scriptengine-install td>img { - width: 100%; - max-width:800px; -} - -.excalidraw-scriptengine-install img.coffee { - width: 130px; -} - -.excalidraw-scriptengine-install tr { - vertical-align: top; -} - -.excalidraw-scriptengine-install table { - max-width: 130ch; -} - -.excalidraw-scriptengine-install td.label { - min-width: 11ch; - font-weight: bold; - padding-right: 5px; -} - -.excalidraw-scriptengine-install td.data { - width: 100%; -} - -.excalidraw-scriptengine-install .modal-content { - max-width: 130ch; - user-select: text; -} - -.excalidraw-scriptengine-install .modal { - max-height:90%; - width: auto; -} - -.excalidraw-prompt-center { - text-align: center !important; -} - -.excalidraw-prompt-center button { - margin: 0 10px; -} - -.excalidraw-prompt-center.filepath { - text-align: center; - font-weight: bold; - margin-bottom: 2em; -} - -.excalidraw-dirty { - color: red; -} - -.workspace-leaf-content .excalidraw-view { - padding: 0px 1px; /*1px so on ipad swipe in from left and right still works*/ -} - -.excalidraw-videoWrapper { - max-width:600px -} -.excalidraw-videoWrapper div { - position: relative; - padding-bottom: 56.25%; - height: 0; - margin: 0 auto; -} - -.excalidraw-videoWrapper iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.excalidraw-release .modal-content{ - padding-right: 5px; - margin-right: -5px; - user-select: text; -} - -.excalidraw-release .modal { - max-height: 80%; - max-width: 100ch; -} - -.excalidraw .Island .scrollbar { - --scrollbar-thumb-bg: silver; -} - -.excalidraw .ToolIcon__icon img{ - height: 1em; -} - -.excalidraw-scriptengine-install tbody>tr>td>div>img { - height:20px; - background-color: silver; - padding: 2px; -} - -.excalidraw-scriptengine-install tbody>tr>td>div { - width: 50px; - display: inline-block; -} - -.excalidraw-release p>a>img { - width: 100% -} - -.excalidraw .context-menu-option { - box-shadow: none; -} - -textarea.excalidraw-wysiwyg { - border: none; - outline: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - border-radius: 0; -} - -.is-tablet .excalidraw button, -.is-mobile .excalidraw button { - padding: initial; - height: 1.8rem; -} - -.excalidraw button, -.ToolIcon button { - box-shadow: none; - justify-content: initial; -} - -.excalidraw { - --default-button-size: 2rem !important; - --default-icon-size: 1rem !important; - --lg-button-size: 1.8rem !important; - --lg-icon-size: 1rem !important; -} - -.excalidraw .tray-zoom { - pointer-events: initial; - padding-bottom: 0.05rem; - padding-top: 0.05rem; -} - -.excalidraw-container.theme--dark { - background-color: #121212; - color: #fff; -} - -/* https://discordapp.com/channels/686053708261228577/989603365606531104/1041266507256184863 */ -/*.workspace-leaf { - contain: none !important; -}*/ - -.color-picker-content { - overflow-y: auto; - max-height: 10rem; -} - -.excalidraw .FixedSideContainer_side_top { - top: 0.3rem; -} - -.excalidraw .ToolIcon__keybinding { - font-size: 0.45rem !important; -} - -.Island > .Stack > .Stack { - padding:0.2rem; -} - -label.color-input-container > input { - max-width: 8rem; -} - -.excalidraw .FixedSideContainer_side_top { - left: 10px !important; - top: 10px !important; - right: 10px !important; - bottom: 10px !important; -} - -.excalidraw-hidden { - display: none !important; +.App { + font-family: sans-serif; + text-align: center; + } + + .excalidraw-wrapper { + height: 100%; + margin: 0px; + background-color: white; + } + + .context-menu-option__shortcut { + background-color: transparent !important; + } + +.block-language-excalidraw { + text-align:center; +} + +.excalidraw .github-corner { + display: none; +} + +img.excalidraw-svg-right-wrap { + float: right; + margin: 0px 0px 20px 20px; +} + +img.excalidraw-svg-left-wrap { + float: left; + margin: 0px 35px 20px 0px; +} + +img.excalidraw-svg-right { + float: right; +} + +.excalidraw-svg-center { + text-align: center; +} + +img.excalidraw-svg-left { + float: left; +} + +div.excalidraw-svg-right, +div.excalidraw-svg-left { + display: table; + width: 100%; +} + +button.ToolIcon_type_button[title="Export"] { + display:none; +} + +.excalidraw-prompt-div { + display: flex; + max-width: 800px; +} + +.excalidraw-prompt-form { + display: flex; + flex-grow: 1; +} + +.excalidraw-prompt-input { + flex-grow: 1; +} + +li[data-testid] { + border: 0 !important; + margin: 0 !important; + padding: 0 !important; + width: 100% !important; +} + +.excalidraw .context-menu-option-separator { + margin: 4px !important; +} + +.excalidraw .popover { + padding: 0 !important; + border-color: transparent !important; + border: 0 !important; + box-shadow: 0 !important; + background-color: transparent !important; +} + +.disable-zen-mode--visible { + color: var(--text-primary-color); +} + +.disable-zen-mode { + width: 9em !important; +} + +.ex-coffee-div { + text-align: center; + margin-bottom: 10px; +} + +.excalidraw-scriptengine-install td>img { + width: 100%; + max-width:800px; +} + +.excalidraw-scriptengine-install img.coffee { + width: 130px; +} + +.excalidraw-scriptengine-install tr { + vertical-align: top; +} + +.excalidraw-scriptengine-install table { + max-width: 130ch; +} + +.excalidraw-scriptengine-install td.label { + min-width: 11ch; + font-weight: bold; + padding-right: 5px; +} + +.excalidraw-scriptengine-install td.data { + width: 100%; +} + +.excalidraw-scriptengine-install .modal-content { + max-width: 130ch; + user-select: text; +} + +.excalidraw-scriptengine-install .modal { + max-height:90%; + width: auto; +} + +.excalidraw-prompt-center { + text-align: center !important; +} + +.excalidraw-prompt-center button { + margin: 0 10px; +} + +.excalidraw-prompt-center.filepath { + text-align: center; + font-weight: bold; + margin-bottom: 2em; +} + +.excalidraw-dirty { + color: red; +} + +.workspace-leaf-content .excalidraw-view { + padding: 0px 1px; /*1px so on ipad swipe in from left and right still works*/ +} + +.excalidraw-videoWrapper { + max-width:600px +} +.excalidraw-videoWrapper div { + position: relative; + padding-bottom: 56.25%; + height: 0; + margin: 0 auto; +} + +.excalidraw-videoWrapper iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.excalidraw-release .modal-content{ + padding-right: 5px; + margin-right: -5px; + user-select: text; +} + +.excalidraw-release .modal { + max-height: 80%; + max-width: 100ch; +} + +.excalidraw .Island .scrollbar { + --scrollbar-thumb-bg: silver; +} + +.excalidraw .ToolIcon__icon img{ + height: 1em; +} + +.excalidraw-scriptengine-install tbody>tr>td>div>img { + height:20px; + background-color: silver; + padding: 2px; +} + +.excalidraw-scriptengine-install tbody>tr>td>div { + width: 50px; + display: inline-block; +} + +.excalidraw-release p>a>img { + width: 100% +} + +.excalidraw .context-menu-option { + box-shadow: none; +} + +textarea.excalidraw-wysiwyg { + border: none; + outline: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-radius: 0; +} + +.is-tablet .excalidraw button, +.is-mobile .excalidraw button { + padding: initial; + height: 1.8rem; +} + +.excalidraw button, +.ToolIcon button { + box-shadow: none; + justify-content: initial; +} + +.excalidraw { + --default-button-size: 2rem !important; + --default-icon-size: 1rem !important; + --lg-button-size: 1.8rem !important; + --lg-icon-size: 1rem !important; +} + +.excalidraw .tray-zoom { + pointer-events: initial; + padding-bottom: 0.05rem; + padding-top: 0.05rem; +} + +.excalidraw-container.theme--dark { + background-color: #121212; + color: #fff; +} + +/* https://discordapp.com/channels/686053708261228577/989603365606531104/1041266507256184863 */ +/*.workspace-leaf { + contain: none !important; +}*/ + +.color-picker-content { + overflow-y: auto; + max-height: 10rem; +} + +.excalidraw .FixedSideContainer_side_top { + top: 0.3rem; +} + +.excalidraw .ToolIcon__keybinding { + font-size: 0.45rem !important; +} + +.Island > .Stack > .Stack { + padding:0.2rem; +} + +label.color-input-container > input { + max-width: 8rem; +} + +.excalidraw .FixedSideContainer_side_top { + left: 10px !important; + top: 10px !important; + right: 10px !important; + bottom: 10px !important; +} + +.excalidraw-hidden { + display: none !important; } \ No newline at end of file diff --git a/notes/.obsidian/plugins/obsidian-git/main.js b/notes/.obsidian/plugins/obsidian-git/main.js index ab7a114..726960a 100644 --- a/notes/.obsidian/plugins/obsidian-git/main.js +++ b/notes/.obsidian/plugins/obsidian-git/main.js @@ -19876,7 +19876,7 @@ var IsomorphicGit = class extends GitManager { const upstreamCommit = await this.resolveRef("HEAD"); this.plugin.lastUpdate = Date.now(); const changedFiles = await this.getFileChangesCount(localCommit, upstreamCommit); - new import_obsidian5.Notice("Finished pull"); + this.showNotice("Finished pull", false); return changedFiles.map((file) => ({ path: file.path, working_dir: "P", @@ -20245,6 +20245,13 @@ var IsomorphicGit = class extends GitManager { return diff2; } } + async getLastCommitTime() { + const repo = this.getRepo(); + const oid = await this.resolveRef("HEAD"); + const commit2 = await isomorphic_git_default.readCommit({ ...repo, oid }); + const date = commit2.commit.committer.timestamp; + return new Date(date * 1e3); + } getFileStatusResult(row) { const status2 = this.status_mapping[`${row[this.HEAD]}${row[this.WORKDIR]}${row[this.STAGE]}`]; return { @@ -20254,9 +20261,9 @@ var IsomorphicGit = class extends GitManager { vault_path: this.getVaultPath(row[this.FILE]) }; } - showNotice(message) { + showNotice(message, infinity = true) { if (!this.plugin.settings.disablePopups) { - return new import_obsidian5.Notice(message, this.noticeLength); + return new import_obsidian5.Notice(message, infinity ? this.noticeLength : void 0); } } }; @@ -23834,7 +23841,7 @@ function abortPlugin(signal) { return [onSpawnBefore, onSpawnAfter]; } function isConfigSwitch(arg) { - return arg.trim().toLowerCase() === "-c"; + return typeof arg === "string" && arg.trim().toLowerCase() === "-c"; } function preventProtocolOverride(arg, next) { if (!isConfigSwitch(arg)) { @@ -24441,6 +24448,12 @@ var SimpleGit = class extends GitManager { async diff(file, commit1, commit2) { return await this.git.diff([`${commit1}..${commit2}`, "--", file]); } + async getLastCommitTime() { + const res = await this.git.log({ n: 1 }, (err) => this.onError(err)); + if (res != null && res.latest != null) { + return new Date(res.latest.date); + } + } isGitInstalled() { const command = (0, import_child_process2.spawnSync)(this.plugin.localStorage.getGitPath() || "git", ["--version"], { stdio: "ignore" @@ -24511,14 +24524,24 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { new import_obsidian7.Notice("Please specify a valid number."); } })); - new import_obsidian7.Setting(containerEl).setName(`Auto Backup after Filechange`).setDesc(`If turned on, do auto ${commitOrBackup} every ${plugin.settings.autoSaveInterval} minutes after last change. This also prevents auto ${commitOrBackup} while editing a file. If turned off, it's independent from last the change.`).addToggle((toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => { - plugin.settings.autoBackupAfterFileChange = value; - plugin.saveSettings(); - plugin.clearAutoBackup(); - if (plugin.settings.autoSaveInterval > 0) { - plugin.startAutoBackup(plugin.settings.autoSaveInterval); - } - })); + if (!plugin.settings.setLastSaveToLastCommit) + new import_obsidian7.Setting(containerEl).setName(`Auto Backup after file change`).setDesc(`If turned on, do auto ${commitOrBackup} every ${plugin.settings.autoSaveInterval} minutes after last change. This also prevents auto ${commitOrBackup} while editing a file. If turned off, it's independent from last the change.`).addToggle((toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => { + plugin.settings.autoBackupAfterFileChange = value; + this.display(); + plugin.saveSettings(); + plugin.clearAutoBackup(); + if (plugin.settings.autoSaveInterval > 0) { + plugin.startAutoBackup(plugin.settings.autoSaveInterval); + } + })); + if (!plugin.settings.autoBackupAfterFileChange) + new import_obsidian7.Setting(containerEl).setName(`Auto ${commitOrBackup} after lastest commit`).setDesc(`If turned on, set last auto ${commitOrBackup} time to lastest commit`).addToggle((toggle) => toggle.setValue(plugin.settings.setLastSaveToLastCommit).onChange(async (value) => { + plugin.settings.setLastSaveToLastCommit = value; + plugin.saveSettings(); + this.display(); + plugin.clearAutoBackup(); + await plugin.setUpAutoBackup(); + })); if (plugin.settings.differentIntervalCommitAndPush) { new import_obsidian7.Setting(containerEl).setName(`Vault push interval (minutes)`).setDesc("Push changes every X minutes. Set to 0 (default) to disable.").addText((text2) => text2.setValue(String(plugin.settings.autoPushInterval)).onChange((value) => { if (!isNaN(Number(value))) { @@ -24551,10 +24574,6 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { new import_obsidian7.Notice("Please specify a valid number."); } })); - new import_obsidian7.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)").addText((text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.commitMessage ? plugin.settings.commitMessage : "").onChange((value) => { - plugin.settings.commitMessage = value; - plugin.saveSettings(); - })); new import_obsidian7.Setting(containerEl).setName("Specify custom commit message on auto backup").setDesc("You will get a pop up to specify your message").addToggle((toggle) => toggle.setValue(plugin.settings.customMessageOnAutoBackup).onChange((value) => { plugin.settings.customMessageOnAutoBackup = value; plugin.saveSettings(); @@ -24565,6 +24584,10 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { })); containerEl.createEl("br"); containerEl.createEl("h3", { text: "Commit message" }); + new import_obsidian7.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)").addText((text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.commitMessage ? plugin.settings.commitMessage : "").onChange((value) => { + plugin.settings.commitMessage = value; + plugin.saveSettings(); + })); new import_obsidian7.Setting(containerEl).setName("{{date}} placeholder format").setDesc('Specify custom date format. E.g. "YYYY-MM-DD HH:mm:ss"').addText((text2) => text2.setPlaceholder(plugin.settings.commitDateFormat).setValue(plugin.settings.commitDateFormat).onChange(async (value) => { plugin.settings.commitDateFormat = value; await plugin.saveSettings(); @@ -24951,7 +24974,8 @@ var DEFAULT_SETTINGS = { changedFilesInStatusBar: false, showedMobileNotice: false, refreshSourceControlTimer: 7e3, - showBranchStatusBar: true + showBranchStatusBar: true, + setLastSaveToLastCommit: false }; var GIT_VIEW_CONFIG = { type: "git-view", @@ -26657,6 +26681,13 @@ var DiffView = class extends import_obsidian13.ItemView { return DIFF_VIEW_CONFIG.type; } getDisplayText() { + var _a2; + if (((_a2 = this.state) == null ? void 0 : _a2.file) != null) { + let fileName = this.state.file.split("/").last(); + if (fileName == null ? void 0 : fileName.endsWith(".md")) + fileName = fileName.slice(0, -3); + return DIFF_VIEW_CONFIG.name + ` (${fileName})`; + } return DIFF_VIEW_CONFIG.name; } getIcon() { @@ -27118,7 +27149,8 @@ function transition_out(block, local, detach2, callback) { } var null_transition = { duration: 0 }; function create_bidirectional_transition(node, fn, params, intro) { - let config = fn(node, params); + const options = { direction: "both" }; + let config = fn(node, params, options); let t = intro ? 0 : 1; let running_program = null; let pending_program = null; @@ -27198,7 +27230,7 @@ function create_bidirectional_transition(node, fn, params, intro) { run(b) { if (is_function(config)) { wait().then(() => { - config = config(); + config = config(options); go(b); }); } else { @@ -28938,17 +28970,17 @@ function add_css5(target) { } function get_each_context2(ctx, list, i) { const child_ctx = ctx.slice(); - child_ctx[43] = list[i]; + child_ctx[45] = list[i]; return child_ctx; } function get_each_context_1(ctx, list, i) { const child_ctx = ctx.slice(); - child_ctx[43] = list[i]; + child_ctx[45] = list[i]; return child_ctx; } function get_each_context_2(ctx, list, i) { const child_ctx = ctx.slice(); - child_ctx[48] = list[i]; + child_ctx[50] = list[i]; return child_ctx; } function create_if_block_8(ctx) { @@ -28965,7 +28997,7 @@ function create_if_block_8(ctx) { m(target, anchor) { insert(target, div, anchor); if (!mounted) { - dispose = listen(div, "click", ctx[31]); + dispose = listen(div, "click", ctx[33]); mounted = true; } }, @@ -29106,7 +29138,7 @@ function create_if_block4(ctx) { append2(div6, div5); append2(div5, div3); append2(div3, div2); - ctx[34](div2); + ctx[36](div2); append2(div5, t3); append2(div5, div4); append2(div4, t4); @@ -29125,7 +29157,7 @@ function create_if_block4(ctx) { append2(div12, div10); append2(div12, t10); append2(div12, div11); - ctx[39](div11); + ctx[41](div11); append2(div14, t11); append2(div14, div13); append2(div13, t12); @@ -29138,15 +29170,15 @@ function create_if_block4(ctx) { current = true; if (!mounted) { dispose = [ - listen(div0, "click", ctx[32]), - listen(div1, "click", ctx[33]), - listen(div2, "click", ctx[18]), - listen(div6, "click", self2(ctx[35])), - listen(div8, "click", ctx[36]), - listen(div9, "click", ctx[37]), - listen(div10, "click", ctx[38]), - listen(div11, "click", ctx[17]), - listen(div15, "click", self2(ctx[40])) + listen(div0, "click", ctx[34]), + listen(div1, "click", ctx[35]), + listen(div2, "click", ctx[19]), + listen(div6, "click", self2(ctx[37])), + listen(div8, "click", ctx[38]), + listen(div9, "click", ctx[39]), + listen(div10, "click", ctx[40]), + listen(div11, "click", ctx[18]), + listen(div15, "click", self2(ctx[42])) ]; mounted = true; } @@ -29237,10 +29269,10 @@ function create_if_block4(ctx) { d(detaching) { if (detaching) detach(div18); - ctx[34](null); + ctx[36](null); if (if_block0) if_block0.d(); - ctx[39](null); + ctx[41](null); if (if_block1) if_block1.d(); if (if_block2) @@ -29449,7 +29481,7 @@ function create_each_block_2(ctx) { let current; stagedfilecomponent = new stagedFileComponent_default({ props: { - change: ctx[48], + change: ctx[50], view: ctx[1], manager: ctx[0].gitManager } @@ -29465,7 +29497,7 @@ function create_each_block_2(ctx) { p(ctx2, dirty) { const stagedfilecomponent_changes = {}; if (dirty[0] & 64) - stagedfilecomponent_changes.change = ctx2[48]; + stagedfilecomponent_changes.change = ctx2[50]; if (dirty[0] & 2) stagedfilecomponent_changes.view = ctx2[1]; if (dirty[0] & 1) @@ -29686,7 +29718,7 @@ function create_each_block_1(ctx) { let current; filecomponent = new fileComponent_default({ props: { - change: ctx[43], + change: ctx[45], view: ctx[1], manager: ctx[0].gitManager } @@ -29703,7 +29735,7 @@ function create_each_block_1(ctx) { p(ctx2, dirty) { const filecomponent_changes = {}; if (dirty[0] & 64) - filecomponent_changes.change = ctx2[43]; + filecomponent_changes.change = ctx2[45]; if (dirty[0] & 2) filecomponent_changes.view = ctx2[1]; if (dirty[0] & 1) @@ -29776,7 +29808,7 @@ function create_if_block_12(ctx) { if_block.m(div3, null); current = true; if (!mounted) { - dispose = listen(div2, "click", ctx[41]); + dispose = listen(div2, "click", ctx[43]); mounted = true; } }, @@ -30025,7 +30057,7 @@ function create_each_block2(ctx) { let current; pulledfilecomponent = new pulledFileComponent_default({ props: { - change: ctx[43], + change: ctx[45], view: ctx[1] } }); @@ -30041,7 +30073,7 @@ function create_each_block2(ctx) { p(ctx2, dirty) { const pulledfilecomponent_changes = {}; if (dirty[0] & 128) - pulledfilecomponent_changes.change = ctx2[43]; + pulledfilecomponent_changes.change = ctx2[45]; if (dirty[0] & 2) pulledfilecomponent_changes.view = ctx2[1]; pulledfilecomponent.$set(pulledfilecomponent_changes); @@ -30063,8 +30095,8 @@ function create_each_block2(ctx) { } function create_fragment5(ctx) { let main; + let div9; let div8; - let div7; let div0; let t0; let div1; @@ -30079,11 +30111,13 @@ function create_fragment5(ctx) { let t5; let div6; let t6; - let div9; - let textarea; + let div7; let t7; - let t8; let div10; + let textarea; + let t8; + let t9; + let div11; let current; let mounted; let dispose; @@ -30092,8 +30126,8 @@ function create_fragment5(ctx) { return { c() { main = element("main"); + div9 = element("div"); div8 = element("div"); - div7 = element("div"); div0 = element("div"); t0 = space(); div1 = element("div"); @@ -30108,109 +30142,119 @@ function create_fragment5(ctx) { t5 = space(); div6 = element("div"); t6 = space(); - div9 = element("div"); - textarea = element("textarea"); + div7 = element("div"); t7 = space(); + div10 = element("div"); + textarea = element("textarea"); + t8 = space(); if (if_block0) if_block0.c(); - t8 = space(); - div10 = element("div"); + t9 = space(); + div11 = element("div"); if (if_block1) if_block1.c(); - attr(div0, "id", "commit-btn"); - attr(div0, "data-icon", "check"); + attr(div0, "id", "backup-btn"); + attr(div0, "data-icon", "arrow-up-circle"); attr(div0, "class", "clickable-icon nav-action-button"); - attr(div0, "aria-label", "Commit"); - attr(div1, "id", "stage-all"); + attr(div0, "aria-label", "Backup"); + attr(div1, "id", "commit-btn"); + attr(div1, "data-icon", "check"); attr(div1, "class", "clickable-icon nav-action-button"); - attr(div1, "data-icon", "plus-circle"); - attr(div1, "aria-label", "Stage all"); - attr(div2, "id", "unstage-all"); + attr(div1, "aria-label", "Commit"); + attr(div2, "id", "stage-all"); attr(div2, "class", "clickable-icon nav-action-button"); - attr(div2, "data-icon", "minus-circle"); - attr(div2, "aria-label", "Unstage all"); - attr(div3, "id", "push"); + attr(div2, "data-icon", "plus-circle"); + attr(div2, "aria-label", "Stage all"); + attr(div3, "id", "unstage-all"); attr(div3, "class", "clickable-icon nav-action-button"); - attr(div3, "data-icon", "upload"); - attr(div3, "aria-label", "Push"); - attr(div4, "id", "pull"); + attr(div3, "data-icon", "minus-circle"); + attr(div3, "aria-label", "Unstage all"); + attr(div4, "id", "push"); attr(div4, "class", "clickable-icon nav-action-button"); - attr(div4, "data-icon", "download"); - attr(div4, "aria-label", "Pull"); - attr(div5, "id", "layoutChange"); + attr(div4, "data-icon", "upload"); + attr(div4, "aria-label", "Push"); + attr(div5, "id", "pull"); attr(div5, "class", "clickable-icon nav-action-button"); - attr(div5, "aria-label", "Change Layout"); - attr(div6, "id", "refresh"); + attr(div5, "data-icon", "download"); + attr(div5, "aria-label", "Pull"); + attr(div6, "id", "layoutChange"); attr(div6, "class", "clickable-icon nav-action-button"); - attr(div6, "data-icon", "refresh-cw"); - attr(div6, "aria-label", "Refresh"); - set_style(div6, "margin", "1px"); - toggle_class(div6, "loading", ctx[5]); - attr(div7, "class", "nav-buttons-container"); - attr(div8, "class", "nav-header"); + attr(div6, "aria-label", "Change Layout"); + attr(div7, "id", "refresh"); + attr(div7, "class", "clickable-icon nav-action-button"); + attr(div7, "data-icon", "refresh-cw"); + attr(div7, "aria-label", "Refresh"); + set_style(div7, "margin", "1px"); + toggle_class(div7, "loading", ctx[5]); + attr(div8, "class", "nav-buttons-container"); + attr(div9, "class", "nav-header"); attr(textarea, "rows", ctx[15]); attr(textarea, "class", "commit-msg-input svelte-fnxzfa"); attr(textarea, "type", "text"); attr(textarea, "spellcheck", "true"); attr(textarea, "placeholder", "Commit Message"); - attr(div9, "class", "git-commit-msg svelte-fnxzfa"); - attr(div10, "class", "nav-files-container"); - set_style(div10, "position", "relative"); + attr(div10, "class", "git-commit-msg svelte-fnxzfa"); + attr(div11, "class", "nav-files-container"); + set_style(div11, "position", "relative"); attr(main, "class", "svelte-fnxzfa"); }, m(target, anchor) { insert(target, main, anchor); - append2(main, div8); - append2(div8, div7); - append2(div7, div0); - ctx[22](div0); - append2(div7, t0); - append2(div7, div1); - ctx[23](div1); - append2(div7, t1); - append2(div7, div2); - ctx[24](div2); - append2(div7, t2); - append2(div7, div3); - ctx[25](div3); - append2(div7, t3); - append2(div7, div4); - ctx[26](div4); - append2(div7, t4); - append2(div7, div5); - ctx[27](div5); - append2(div7, t5); - append2(div7, div6); - ctx[29](div6); - append2(main, t6); append2(main, div9); - append2(div9, textarea); - set_input_value(textarea, ctx[2]); - append2(div9, t7); - if (if_block0) - if_block0.m(div9, null); - append2(main, t8); + append2(div9, div8); + append2(div8, div0); + ctx[23](div0); + append2(div8, t0); + append2(div8, div1); + ctx[24](div1); + append2(div8, t1); + append2(div8, div2); + ctx[25](div2); + append2(div8, t2); + append2(div8, div3); + ctx[26](div3); + append2(div8, t3); + append2(div8, div4); + ctx[27](div4); + append2(div8, t4); + append2(div8, div5); + ctx[28](div5); + append2(div8, t5); + append2(div8, div6); + ctx[29](div6); + append2(div8, t6); + append2(div8, div7); + ctx[31](div7); + append2(main, t7); append2(main, div10); + append2(div10, textarea); + set_input_value(textarea, ctx[2]); + append2(div10, t8); + if (if_block0) + if_block0.m(div10, null); + append2(main, t9); + append2(main, div11); if (if_block1) - if_block1.m(div10, null); + if_block1.m(div11, null); current = true; if (!mounted) { dispose = [ - listen(div0, "click", ctx[16]), - listen(div1, "click", ctx[17]), + listen(div0, "click", ctx[17]), + listen(div1, "click", ctx[16]), listen(div2, "click", ctx[18]), listen(div3, "click", ctx[19]), listen(div4, "click", ctx[20]), - listen(div5, "click", ctx[28]), - listen(div6, "click", triggerRefresh), - listen(textarea, "input", ctx[30]) + listen(div5, "click", ctx[21]), + listen(div6, "click", ctx[30]), + listen(div7, "click", triggerRefresh), + listen(textarea, "input", ctx[32]) ]; mounted = true; } }, p(ctx2, dirty) { if (!current || dirty[0] & 32) { - toggle_class(div6, "loading", ctx2[5]); + toggle_class(div7, "loading", ctx2[5]); } if (!current || dirty[0] & 32768) { attr(textarea, "rows", ctx2[15]); @@ -30224,7 +30268,7 @@ function create_fragment5(ctx) { } else { if_block0 = create_if_block_8(ctx2); if_block0.c(); - if_block0.m(div9, null); + if_block0.m(div10, null); } } else if (if_block0) { if_block0.d(1); @@ -30240,7 +30284,7 @@ function create_fragment5(ctx) { if_block1 = create_if_block4(ctx2); if_block1.c(); transition_in(if_block1, 1); - if_block1.m(div10, null); + if_block1.m(div11, null); } } else if (if_block1) { group_outros(); @@ -30263,13 +30307,14 @@ function create_fragment5(ctx) { d(detaching) { if (detaching) detach(main); - ctx[22](null); ctx[23](null); ctx[24](null); ctx[25](null); ctx[26](null); ctx[27](null); + ctx[28](null); ctx[29](null); + ctx[31](null); if (if_block0) if_block0.d(); if (if_block1) @@ -30320,6 +30365,17 @@ function instance5($$self, $$props, $$invalidate) { if (commitMessage !== plugin.settings.commitMessage) { $$invalidate(2, commitMessage = ""); } + plugin.setUpAutoBackup(); + }).finally(triggerRefresh); + } + } + async function backup() { + $$invalidate(5, loading = true); + if (status2) { + plugin.createBackup(false, false, commitMessage).then(() => { + if (commitMessage !== plugin.settings.commitMessage) { + $$invalidate(2, commitMessage = ""); + } }).finally(triggerRefresh); } } @@ -30396,35 +30452,41 @@ function instance5($$self, $$props, $$invalidate) { } function div0_binding($$value) { binding_callbacks[$$value ? "unshift" : "push"](() => { - buttons[0] = $$value; + buttons[5] = $$value; $$invalidate(8, buttons); }); } function div1_binding($$value) { binding_callbacks[$$value ? "unshift" : "push"](() => { - buttons[1] = $$value; + buttons[0] = $$value; $$invalidate(8, buttons); }); } function div2_binding($$value) { binding_callbacks[$$value ? "unshift" : "push"](() => { - buttons[2] = $$value; + buttons[1] = $$value; $$invalidate(8, buttons); }); } function div3_binding($$value) { binding_callbacks[$$value ? "unshift" : "push"](() => { - buttons[3] = $$value; + buttons[2] = $$value; $$invalidate(8, buttons); }); } function div4_binding($$value) { binding_callbacks[$$value ? "unshift" : "push"](() => { - buttons[4] = $$value; + buttons[3] = $$value; $$invalidate(8, buttons); }); } function div5_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[4] = $$value; + $$invalidate(8, buttons); + }); + } + function div6_binding($$value) { binding_callbacks[$$value ? "unshift" : "push"](() => { layoutBtn = $$value; $$invalidate(4, layoutBtn); @@ -30435,7 +30497,7 @@ function instance5($$self, $$props, $$invalidate) { $$invalidate(0, plugin.settings.treeStructure = showTree, plugin); plugin.saveSettings(); }; - function div6_binding($$value) { + function div7_binding($$value) { binding_callbacks[$$value ? "unshift" : "push"](() => { buttons[6] = $$value; $$invalidate(8, buttons); @@ -30504,6 +30566,7 @@ function instance5($$self, $$props, $$invalidate) { lastPulledFilesOpen, rows, commit2, + backup, stageAll, unstageAll, push2, @@ -30515,8 +30578,9 @@ function instance5($$self, $$props, $$invalidate) { div3_binding, div4_binding, div5_binding, - click_handler, div6_binding, + click_handler, + div7_binding, textarea_input_handler, click_handler_1, click_handler_2, @@ -30697,7 +30761,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { active: true, state: { staged: false, - file: file.path + file: this.gitManager.getPath(file.path, true) } }); } @@ -30753,22 +30817,33 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.addCommand({ id: "commit", name: "Commit all changes", - callback: () => this.promiseQueue.addTask(() => this.commit(false)) + callback: () => this.promiseQueue.addTask(() => this.commit({ fromAutoBackup: false })) }); this.addCommand({ id: "commit-specified-message", name: "Commit all changes with specific message", - callback: () => this.promiseQueue.addTask(() => this.commit(false, true)) + callback: () => this.promiseQueue.addTask(() => this.commit({ + fromAutoBackup: false, + requestCustomMessage: true + })) }); this.addCommand({ id: "commit-staged", name: "Commit staged", - callback: () => this.promiseQueue.addTask(() => this.commit(false, false, true)) + callback: () => this.promiseQueue.addTask(() => this.commit({ + fromAutoBackup: false, + requestCustomMessage: false, + onlyStaged: true + })) }); this.addCommand({ id: "commit-staged-specified-message", name: "Commit staged with specific message", - callback: () => this.promiseQueue.addTask(() => this.commit(false, true, true)) + callback: () => this.promiseQueue.addTask(() => this.commit({ + fromAutoBackup: false, + requestCustomMessage: true, + onlyStaged: true + })) }); this.addCommand({ id: "push2", @@ -31057,22 +31132,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (this.settings.autoPullOnBoot) { this.promiseQueue.addTask(() => this.pullChangesFromRemote()); } - const lastAutos = await this.loadLastAuto(); - if (this.settings.autoSaveInterval > 0) { - const now2 = new Date(); - const diff2 = this.settings.autoSaveInterval - Math.round((now2.getTime() - lastAutos.backup.getTime()) / 1e3 / 60); - this.startAutoBackup(diff2 <= 0 ? 0 : diff2); - } - if (this.settings.differentIntervalCommitAndPush && this.settings.autoPushInterval > 0) { - const now2 = new Date(); - const diff2 = this.settings.autoPushInterval - Math.round((now2.getTime() - lastAutos.push.getTime()) / 1e3 / 60); - this.startAutoPush(diff2 <= 0 ? 0 : diff2); - } - if (this.settings.autoPullInterval > 0) { - const now2 = new Date(); - const diff2 = this.settings.autoPullInterval - Math.round((now2.getTime() - lastAutos.pull.getTime()) / 1e3 / 60); - this.startAutoPull(diff2 <= 0 ? 0 : diff2); - } + this.setUpAutos(); break; default: console.log("Something weird happened. The 'checkRequirements' result is " + result); @@ -31144,13 +31204,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin { if (!await this.isAllInitialized()) return; const filesUpdated = await this.pull(); + this.setUpAutoBackup(); if (!filesUpdated) { this.displayMessage("Everything is up-to-date"); } if (this.gitManager instanceof SimpleGit) { const status2 = await this.gitManager.status(); if (status2.conflicted.length > 0) { - this.displayError(`You have ${status2.conflicted.length} conflict ${status2.conflicted.length > 1 ? "files" : "file"}`); + this.displayError(`You have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}`); this.handleConflict(status2.conflicted); } } @@ -31158,13 +31219,13 @@ var ObsidianGit = class extends import_obsidian23.Plugin { this.lastUpdate = Date.now(); this.setState(PluginState.idle); } - async createBackup(fromAutoBackup, requestCustomMessage = false) { + async createBackup(fromAutoBackup, requestCustomMessage = false, commitMessage) { if (!await this.isAllInitialized()) return; if (this.settings.syncMethod == "reset" && this.settings.pullBeforePush) { await this.pull(); } - if (!await this.commit(fromAutoBackup, requestCustomMessage)) + if (!await this.commit({ fromAutoBackup, requestCustomMessage, commitMessage })) return; if (!this.settings.disablePush) { if (await this.gitManager.canPush()) { @@ -31178,7 +31239,12 @@ var ObsidianGit = class extends import_obsidian23.Plugin { } this.setState(PluginState.idle); } - async commit(fromAutoBackup, requestCustomMessage = false, onlyStaged = false) { + async commit({ + fromAutoBackup, + requestCustomMessage = false, + onlyStaged = false, + commitMessage + }) { if (!await this.isAllInitialized()) return false; const hadConflict = this.localStorage.getConflict() === "true"; @@ -31191,14 +31257,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin { await this.app.vault.delete(file); status2 = await this.updateCachedStatus(); if (fromAutoBackup && status2.conflicted.length > 0) { - this.displayError(`Did not commit, because you have ${status2.conflicted.length} conflict ${status2.conflicted.length > 1 ? "files" : "file"}. Please resolve them and commit per command.`); + this.displayError(`Did not commit, because you have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}. Please resolve them and commit per command.`); this.handleConflict(status2.conflicted); return false; } changedFiles = [...status2.changed, ...status2.staged]; } else if (fromAutoBackup && hadConflict) { this.setState(PluginState.conflicted); - this.displayError(`Did not commit, because you have conflict files. Please resolve them and commit per command.`); + this.displayError(`Did not commit, because you have conflicts. Please resolve them and commit per command.`); return false; } else if (hadConflict) { const file = this.app.vault.getAbstractFileByPath(this.conflictOutputFile); @@ -31219,14 +31285,14 @@ var ObsidianGit = class extends import_obsidian23.Plugin { return false; } if (changedFiles.length !== 0 || hadConflict) { - let commitMessage = fromAutoBackup ? this.settings.autoCommitMessage : this.settings.commitMessage; + let cmtMessage = commitMessage != null ? commitMessage : commitMessage = fromAutoBackup ? this.settings.autoCommitMessage : this.settings.commitMessage; if (fromAutoBackup && this.settings.customMessageOnAutoBackup || requestCustomMessage) { if (!this.settings.disablePopups && fromAutoBackup) { new import_obsidian23.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort"); } const tempMessage = await new CustomMessageModal(this, true).open(); if (tempMessage != void 0 && tempMessage != "" && tempMessage != "...") { - commitMessage = tempMessage; + cmtMessage = tempMessage; } else { this.setState(PluginState.idle); return false; @@ -31234,16 +31300,17 @@ var ObsidianGit = class extends import_obsidian23.Plugin { } let committedFiles; if (onlyStaged) { - committedFiles = await this.gitManager.commit(commitMessage); + committedFiles = await this.gitManager.commit(cmtMessage); } else { - committedFiles = await this.gitManager.commitAll({ message: commitMessage, status: status2, unstagedFiles }); + committedFiles = await this.gitManager.commitAll({ message: cmtMessage, status: status2, unstagedFiles }); } let roughly = false; if (committedFiles === void 0) { roughly = true; committedFiles = changedFiles.length; } - this.displayMessage(`Committed${roughly ? " approx." : ""} ${committedFiles} ${committedFiles > 1 ? "files" : "file"}`); + this.setUpAutoBackup(); + this.displayMessage(`Committed${roughly ? " approx." : ""} ${committedFiles} ${committedFiles == 1 ? "file" : "files"}`); } else { this.displayMessage("No changes to commit"); } @@ -31285,11 +31352,11 @@ var ObsidianGit = class extends import_obsidian23.Plugin { await this.app.vault.delete(file); let status2; if (this.gitManager instanceof SimpleGit && (status2 = await this.updateCachedStatus()).conflicted.length > 0) { - this.displayError(`Cannot push. You have ${status2.conflicted.length} conflict ${status2.conflicted.length > 1 ? "files" : "file"}`); + this.displayError(`Cannot push. You have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}`); this.handleConflict(status2.conflicted); return false; } else if (this.gitManager instanceof IsomorphicGit && hadConflict) { - this.displayError(`Cannot push. You have conflict files`); + this.displayError(`Cannot push. You have conflicts`); this.setState(PluginState.conflicted); return false; } @@ -31299,7 +31366,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { console.log("Pushed!", pushedFiles); this.lastUpdate = Date.now(); if (pushedFiles > 0) { - this.displayMessage(`Pushed ${pushedFiles} ${pushedFiles > 1 ? "files" : "file"} to remote`); + this.displayMessage(`Pushed ${pushedFiles} ${pushedFiles == 1 ? "file" : "files"} to remote`); } else { this.displayMessage(`No changes to push`); } @@ -31315,7 +31382,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { const pulledFiles = await this.gitManager.pull() || []; this.offlineMode = false; if (pulledFiles.length > 0) { - this.displayMessage(`Pulled ${pulledFiles.length} ${pulledFiles.length > 1 ? "files" : "file"} from remote`); + this.displayMessage(`Pulled ${pulledFiles.length} ${pulledFiles.length == 1 ? "file" : "files"} from remote`); this.lastPulledFiles = pulledFiles; } return pulledFiles.length != 0; @@ -31401,6 +31468,42 @@ var ObsidianGit = class extends import_obsidian23.Plugin { } return true; } + async setUpAutoBackup() { + if (this.settings.setLastSaveToLastCommit) { + this.clearAutoBackup(); + const lastCommitDate = await this.gitManager.getLastCommitTime(); + if (lastCommitDate) { + this.localStorage.setLastAutoBackup(lastCommitDate.toString()); + } + } + if (!this.timeoutIDBackup && !this.onFileModifyEventRef) { + const lastAutos = await this.loadLastAuto(); + if (this.settings.autoSaveInterval > 0) { + const now2 = new Date(); + const diff2 = this.settings.autoSaveInterval - Math.round((now2.getTime() - lastAutos.backup.getTime()) / 1e3 / 60); + this.startAutoBackup(diff2 <= 0 ? 0 : diff2); + } + } + } + async setUpAutos() { + this.setUpAutoBackup(); + const lastAutos = await this.loadLastAuto(); + if (this.settings.differentIntervalCommitAndPush && this.settings.autoPushInterval > 0) { + const now2 = new Date(); + const diff2 = this.settings.autoPushInterval - Math.round((now2.getTime() - lastAutos.push.getTime()) / 1e3 / 60); + this.startAutoPush(diff2 <= 0 ? 0 : diff2); + } + if (this.settings.autoPullInterval > 0) { + const now2 = new Date(); + const diff2 = this.settings.autoPullInterval - Math.round((now2.getTime() - lastAutos.pull.getTime()) / 1e3 / 60); + this.startAutoPull(diff2 <= 0 ? 0 : diff2); + } + } + clearAutos() { + this.clearAutoBackup(); + this.clearAutoPush(); + this.clearAutoPull(); + } startAutoBackup(minutes) { const time = (minutes != null ? minutes : this.settings.autoSaveInterval) * 6e4; if (this.settings.autoBackupAfterFileChange) { @@ -31417,7 +31520,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { doAutoBackup() { this.promiseQueue.addTask(() => { if (this.settings.differentIntervalCommitAndPush) { - return this.commit(true); + return this.commit({ fromAutoBackup: true }); } else { return this.createBackup(true); } @@ -31480,7 +31583,7 @@ var ObsidianGit = class extends import_obsidian23.Plugin { let lines; if (conflicted !== void 0) { lines = [ - "# Conflict files", + "# Conflicts", "Please resolve them and commit per command (This file will be deleted before the commit).", ...conflicted.map((e) => { const file = this.app.vault.getAbstractFileByPath(e); diff --git a/notes/.obsidian/plugins/obsidian-git/manifest.json b/notes/.obsidian/plugins/obsidian-git/manifest.json index dbe59e9..6cfe6c0 100644 --- a/notes/.obsidian/plugins/obsidian-git/manifest.json +++ b/notes/.obsidian/plugins/obsidian-git/manifest.json @@ -3,6 +3,7 @@ "name": "Obsidian Git", "description": "Backup your vault with Git.", "isDesktopOnly": false, + "fundingUrl": "https://ko-fi.com/vinzent", "js": "main.js", - "version": "2.10.2" + "version": "2.13.0" } diff --git a/notes/.obsidian/plugins/obsidian-icon-folder/main.js b/notes/.obsidian/plugins/obsidian-icon-folder/main.js index 3410e64..835a222 100644 --- a/notes/.obsidian/plugins/obsidian-icon-folder/main.js +++ b/notes/.obsidian/plugins/obsidian-icon-folder/main.js @@ -7,34 +7,115 @@ if you want to view the source visit the plugins github repository var obsidian = require('obsidian'); -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); } class MetaData { } +const viewboxRegex = /viewBox="([^"]*)"/g; +const contentRegex = /(.*?)<\/svg>/g; +const pathRegex = /]*)>/g; +const attrRegex = /(?:\s*|^)([^= ]*)="([^"]*)"/g; +const rootElementRegex = /]+[\w]="(.*?)"+>/g; +const fillAttrRegx = /fill="([^"]*)"/g; +const extract = (svgString) => { + svgString = svgString.replace(/(\r\n|\n|\r)/gm, ''); + svgString = svgString.replace(/>\s+<'); + let svgPaths; + try { + svgPaths = extractPaths(svgString); + } + catch (error) { + console.log(error); + return ''; + } + const svgViewboxMatch = svgString.match(viewboxRegex); + let svgViewbox = ''; + if (svgViewboxMatch && svgViewboxMatch.length !== 0) { + svgViewbox = svgViewboxMatch[0]; + } + const svgContentMatch = svgString.match(contentRegex); + const svgContent = svgContentMatch.map((val) => val.replace(/<\/?svg>/g, '').replace(//g, ''))[0]; + const viewbox = svgViewbox.length === 0 ? 'viewbox="0 0 24 24"' : svgViewbox; + let fill = 'fill="currentColor"'; + let otherAttrs = ''; + const rootElement = svgString.match(rootElementRegex); + if ((rootElement === null || rootElement === void 0 ? void 0 : rootElement.length) > 0) { + const fillMatch = rootElement[0].match(fillAttrRegx); + if ((fillMatch === null || fillMatch === void 0 ? void 0 : fillMatch.length) > 0) { + fill = fillMatch[0]; + } + const svgContent = rootElement[0] + .replace(/<\/?svg>/g, '') + .replace(//g, ''); + otherAttrs += svgContent + .replace(fill, '') + .replace(viewbox, '') + .replace(/\s(width|height)="\d+"/g, ''); + } + const svgElement = ` + ${svgContent} +`; + return svgElement; +}; +const extractPaths = (content) => { + var _a; + const allPaths = []; + while (true) { + const svgPathMatches = pathRegex.exec(content); + const svgPath = svgPathMatches && svgPathMatches[1]; + if (!svgPath) { + const svgContentMatch = content.match(contentRegex); + const svgContent = svgContentMatch.map((val) => val.replace(/<\/?svg>/g, '').replace(//g, ''))[0]; + allPaths.push(svgContent); + break; + } + const attrs = {}; + while (true) { + const svgAttrMatches = attrRegex.exec(svgPath); + if (!svgAttrMatches) { + break; + } + attrs[svgAttrMatches[1]] = svgAttrMatches[2]; + } + if (attrs.fill === 'none') { + continue; + } + allPaths.push((_a = attrs.d) !== null && _a !== void 0 ? _a : attrs); + } + return allPaths; +}; + let path; const getPath = () => { return path; @@ -65,8 +146,11 @@ const moveIconPackDirectories = (plugin, from, to) => __awaiter(void 0, void 0, } new obsidian.Notice(`...moved ${iconPack.name}`); } - if (yield plugin.app.vault.adapter.exists(from)) { - yield plugin.app.vault.adapter.rmdir(from, true); + for (let i = 0; i < iconPacks$1.length; i++) { + const iconPack = iconPacks$1[i]; + if (yield plugin.app.vault.adapter.exists(`${from}/${iconPack.name}`)) { + yield plugin.app.vault.adapter.rmdir(`${from}/${iconPack.name}`, true); + } } }); const createIconPackDirectory = (plugin, dir) => __awaiter(void 0, void 0, void 0, function* () { @@ -131,35 +215,6 @@ const getIconPack = (name) => { const getFilesInDirectory = (plugin, dir) => __awaiter(void 0, void 0, void 0, function* () { return (yield plugin.app.vault.adapter.list(dir)).files; }); -const svgPathRegex = /]*)>/g; -const svgAttrRegex = /(?:\s*|^)([^= ]*)="([^"]*)"/g; -const extractPaths = (content) => { - var _a; - const allPaths = []; - while (true) { - const svgPathMatches = svgPathRegex.exec(content); - const svgPath = svgPathMatches && svgPathMatches[1]; - if (!svgPath) { - const svgContentMatch = content.match(svgContentRegex); - const svgContent = svgContentMatch.map((val) => val.replace(/<\/?svg>/g, '').replace(//g, ''))[0]; - allPaths.push(svgContent); - break; - } - const attrs = {}; - while (true) { - const svgAttrMatches = svgAttrRegex.exec(svgPath); - if (!svgAttrMatches) { - break; - } - attrs[svgAttrMatches[1]] = svgAttrMatches[2]; - } - if (attrs.fill === 'none') { - continue; - } - allPaths.push((_a = attrs.d) !== null && _a !== void 0 ? _a : attrs); - } - return allPaths; -}; const validIconName = /^[(A-Z)|(0-9)]/; const svgViewboxRegex = /viewBox="([^"]*)"/g; const svgContentRegex = /(.*?)<\/svg>/g; @@ -177,14 +232,6 @@ const generateIcon = (iconPackName, iconName, content) => { console.log(`skipping icon with invalid name: ${iconName}`); return null; } - let svgPaths; - try { - svgPaths = extractPaths(content); - } - catch (err) { - console.log(err); - return null; - } const svgViewboxMatch = content.match(svgViewboxRegex); let svgViewbox = ''; if (svgViewboxMatch && svgViewboxMatch.length !== 0) { @@ -197,9 +244,9 @@ const generateIcon = (iconPackName, iconName, content) => { name: normalizedName.split('.svg')[0], prefix: iconPackPrefix, filename: iconName, - svgPath: svgPaths.length === 1 ? svgPaths[0] : svgPaths, svgContent, svgViewbox, + svgElement: extract(content), }; return icon; }; @@ -312,15 +359,7 @@ const getSvgFromLoadedIcon = (iconPrefix, iconName) => { }); } if (foundIcon) { - let fileContent; - if (typeof foundIcon.svgPath === 'object') { - const doesStrokeExists = foundIcon.svgPath.filter((path) => path.match(/stroke=".*"/g)).length !== 0; - fileContent = `${foundIcon.svgContent}`; - } - else { - fileContent = `${foundIcon.svgContent}`; - } - icon = fileContent; + icon = foundIcon.svgElement; } return icon; }; @@ -2254,7 +2293,7 @@ const customizeIconStyle = (plugin, icon, el) => { const colorizeIcon = (icon, c, type = 'fill') => { const regex = type === 'fill' ? new RegExp(/fill="(\w|#)+"/g) : new RegExp(/stroke="(\w|#)+"/g); const colorMatch = icon.match(regex); - if (colorMatch && c) { + if (colorMatch) { colorMatch.forEach((color) => { if (color.contains('currentColor') || !color.contains('none')) { icon = icon.replace(color, `${type}="${c !== null && c !== void 0 ? c : 'currentColor'}"`); @@ -3955,4 +3994,4 @@ class IconFolderPlugin extends obsidian.Plugin { } module.exports = IconFolderPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9NZXRhRGF0YS50cyIsInNyYy9pY29uUGFja01hbmFnZXIudHMiLCJub2RlX21vZHVsZXMvdHdlbW9qaS9kaXN0L3R3ZW1vamkuZXNtLmpzIiwic3JjL2Vtb2ppLnRzIiwic3JjL3V0aWwudHMiLCJzcmMvaWNvbnNQaWNrZXJNb2RhbC50cyIsInNyYy9zZXR0aW5ncy50cyIsInNyYy9taWdyYXRpb24udHMiLCJzcmMvc2V0dGluZ3NUYWIvaWNvbkZvbGRlclNldHRpbmcudHMiLCJzcmMvc2V0dGluZ3NUYWIvY3VzdG9tSWNvblBhY2sudHMiLCJzcmMvc2V0dGluZ3NUYWIvY3VzdG9tSWNvblJ1bGUudHMiLCJzcmMvc2V0dGluZ3NUYWIvZXh0cmFNYXJnaW4udHMiLCJzcmMvc2V0dGluZ3NUYWIvaWNvbkNvbG9yLnRzIiwic3JjL3NldHRpbmdzVGFiL2ljb25Gb250U2l6ZS50cyIsInNyYy9zZXR0aW5nc1RhYi9pY29uUGFja3NQYXRoLnRzIiwic3JjL2ljb25QYWNrcy50cyIsIm5vZGVfbW9kdWxlcy9qc3ppcC9kaXN0L2pzemlwLm1pbi5qcyIsInNyYy96aXBVdGlsLnRzIiwic3JjL2ljb25QYWNrQnJvd3Nlck1vZGFsLnRzIiwic3JjL3NldHRpbmdzVGFiL3ByZWRlZmluZWRJY29uUGFja3MudHMiLCJzcmMvc2V0dGluZ3NUYWIvcmVjZW50bHlVc2VkSWNvbnMudHMiLCJzcmMvc2V0dGluZ3NUYWIvaW5kZXgudHMiLCJub2RlX21vZHVsZXMvbW9ua2V5LWFyb3VuZC9tanMvaW5kZXguanMiLCJzcmMvQHR5cGVzL2ludGVybmFsUGx1Z2luSW5qZWN0b3IudHMiLCJzcmMvaW50ZXJuYWxQbHVnaW5zL3N0YXJyZWQudHMiLCJzcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6bnVsbCwibmFtZXMiOlsiTm90aWNlIiwiaWNvblBhY2tzIiwiRnV6enlTdWdnZXN0TW9kYWwiLCJlbW9qaSIsIlNldHRpbmciLCJDb2xvckNvbXBvbmVudCIsIkRyb3Bkb3duQ29tcG9uZW50IiwiU2xpZGVyQ29tcG9uZW50IiwicmVxdWlyZSIsImdsb2JhbCIsInJlcXVlc3RVcmwiLCJKU1ppcCIsIlBsdWdpblNldHRpbmdUYWIiLCJQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF1REE7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ3RHLFFBQVEsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ3RILFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlFLEtBQUssQ0FBQyxDQUFDO0FBQ1A7O0FDNUVjLE1BQU8sUUFBUSxDQUFBO0FBRTVCOztBQ1NELElBQUksSUFBWSxDQUFDO0FBRVYsTUFBTSxPQUFPLEdBQUcsTUFBYTtBQUNsQyxJQUFBLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUssTUFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFlLEtBQVU7SUFDL0MsSUFBSSxPQUFPLEtBQUssb0NBQW9DLEVBQUU7UUFDcEQsT0FBTyxHQUFHLDhDQUE4QyxDQUFDO1FBQ3pELElBQUlBLGVBQU0sQ0FDUixDQUFBLENBQUEsRUFBSSxRQUFRLENBQUMsVUFBVSxDQUFxSSxtSUFBQSxDQUFBLEVBQzVKLElBQUksQ0FDTCxDQUFDO0FBQ0gsS0FBQTtJQUVELElBQUksR0FBRyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQVcsRUFBRSxDQUFDO0FBQ2xDLElBQUlDLFdBQVMsR0FHUCxFQUFFLENBQUM7QUFFRixNQUFNLHVCQUF1QixHQUFHLENBQU8sTUFBYyxFQUFFLElBQVksRUFBRSxFQUFVLEtBQW1CLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ3ZHLElBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHQSxXQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3pDLFFBQUEsTUFBTSxRQUFRLEdBQUdBLFdBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixNQUFNLFlBQVksR0FBRyxNQUFNLGVBQWUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xFLFFBQUEsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSUQsZUFBTSxDQUFDLENBQXVCLG9CQUFBLEVBQUEsUUFBUSxDQUFDLElBQUksQ0FBQSxnQkFBQSxDQUFrQixDQUFDLENBQUM7WUFDbkUsU0FBUztBQUNWLFNBQUE7UUFFRCxJQUFJQSxlQUFNLENBQUMsQ0FBVSxPQUFBLEVBQUEsUUFBUSxDQUFDLElBQUksQ0FBQSxHQUFBLENBQUssQ0FBQyxDQUFDO0FBRXpDLFFBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsWUFBQSxJQUFJLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBLEVBQUcsSUFBSSxDQUFJLENBQUEsRUFBQSxRQUFRLENBQUMsSUFBSSxDQUFBLENBQUUsQ0FBQyxFQUFFO0FBQ3JFLGdCQUFBLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDakMsQ0FBRyxFQUFBLElBQUksQ0FBSSxDQUFBLEVBQUEsUUFBUSxDQUFDLElBQUksQ0FBQSxDQUFBLEVBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFFLEVBQzNDLENBQUEsRUFBRyxFQUFFLENBQUksQ0FBQSxFQUFBLFFBQVEsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFFLENBQzFDLENBQUM7QUFDSCxhQUFBO0FBQ0YsU0FBQTtRQUVELElBQUlBLGVBQU0sQ0FBQyxDQUFZLFNBQUEsRUFBQSxRQUFRLENBQUMsSUFBSSxDQUFBLENBQUUsQ0FBQyxDQUFDO0FBQ3pDLEtBQUE7QUFFRCxJQUFBLElBQUksTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQy9DLFFBQUEsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNsRCxLQUFBO0FBQ0gsQ0FBQyxDQUFBLENBQUM7QUFFSyxNQUFNLHVCQUF1QixHQUFHLENBQU8sTUFBYyxFQUFFLEdBQVcsS0FBbUIsU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7QUFDMUYsSUFBQSxNQUFNLGVBQWUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDbkMsSUFBQUMsV0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFBLENBQUM7QUFFSyxNQUFNLGNBQWMsR0FBRyxDQUFPLE1BQWMsRUFBRSxHQUFXLEtBQW1CLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ2pGLElBQUFBLFdBQVMsR0FBR0EsV0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2xFLElBQUEsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUEsRUFBRyxJQUFJLENBQUksQ0FBQSxFQUFBLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQSxDQUFDO0FBRUssTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxZQUFvQixLQUFzQjtBQUMxRixJQUFBLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQSxDQUFBLEVBQUksWUFBWSxDQUFBLENBQUUsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQU8sTUFBYyxFQUFFLEdBQVcsS0FBc0IsU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7QUFDOUUsSUFBQSxNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBRyxFQUFBLElBQUksSUFBSSxHQUFHLENBQUEsQ0FBRSxDQUFDLENBQUM7SUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRTtBQUNqQixRQUFBLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQSxDQUFBLEVBQUksR0FBRyxDQUFBLENBQUUsQ0FBQyxDQUFDO0FBQ3hELEtBQUE7QUFFRCxJQUFBLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMsQ0FBQSxDQUFDO0FBTUssTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQVMsS0FBSTtBQUM3QyxJQUFBLE9BQU8sQ0FBQztTQUNMLEtBQUssQ0FBQyxZQUFZLENBQUM7U0FDbkIsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzRCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFSyxNQUFNLGlCQUFpQixHQUFHLENBQU8sTUFBYyxFQUFFLE9BQWUsS0FBSSxTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtJQUN6RSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5RixJQUFBLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFBLENBQUM7QUFFSyxNQUFNLFVBQVUsR0FBRyxDQUN4QixNQUFjLEVBQ2QsWUFBb0IsRUFDcEIsUUFBZ0IsRUFDaEIsT0FBZSxFQUNmLGdCQUF5QixLQUNSLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ2pCLElBQUEsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUEsQ0FBQSxFQUFJLFlBQVksQ0FBSSxDQUFBLEVBQUEsa0JBQWtCLENBQUUsQ0FBQSxDQUFDLENBQUM7QUFDdEcsSUFBQSxJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoRCxRQUFBLElBQUksV0FBVyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDM0IsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkQsWUFBQSxNQUFNLFdBQVcsR0FBRyxVQUFVLEdBQUcsa0JBQWtCLENBQUM7WUFDcEQsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFBLENBQUEsRUFBSSxZQUFZLENBQUksQ0FBQSxFQUFBLFdBQVcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3hGLFlBQUEsT0FBTyxDQUFDLElBQUksQ0FDVixDQUFBLENBQUEsRUFBSSxRQUFRLENBQUMsVUFBVSxDQUFBLG1CQUFBLEVBQXNCLGtCQUFrQixDQUFBLElBQUEsRUFBTyxXQUFXLENBQUEsd0JBQUEsQ0FBMEIsQ0FDNUcsQ0FBQztBQUNGLFlBQUEsSUFBSUQsZUFBTSxDQUNSLENBQUksQ0FBQSxFQUFBLFFBQVEsQ0FBQyxVQUFVLENBQUEsVUFBQSxFQUFhLGtCQUFrQixDQUFBLElBQUEsRUFBTyxXQUFXLENBQUEsc0JBQUEsQ0FBd0IsRUFDaEcsSUFBSSxDQUNMLENBQUM7QUFDSCxTQUFBO0FBQU0sYUFBQTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQ1YsQ0FBSSxDQUFBLEVBQUEsUUFBUSxDQUFDLFVBQVUsQ0FBd0QscURBQUEsRUFBQSxrQkFBa0IsQ0FBSSxFQUFBLENBQUEsQ0FDdEcsQ0FBQztBQUNGLFlBQUEsSUFBSUEsZUFBTSxDQUFDLENBQUksQ0FBQSxFQUFBLFFBQVEsQ0FBQyxVQUFVLENBQTRDLHlDQUFBLEVBQUEsa0JBQWtCLENBQUcsQ0FBQSxDQUFBLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUcsU0FBQTtBQUNGLEtBQUE7QUFBTSxTQUFBO1FBQ0wsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFBLENBQUEsRUFBSSxZQUFZLENBQUksQ0FBQSxFQUFBLGtCQUFrQixFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEcsS0FBQTtBQUNILENBQUMsQ0FBQSxDQUFDO0FBRUssTUFBTSxzQkFBc0IsR0FBRyxDQUFPLE1BQWMsS0FBbUIsU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7QUFDNUUsSUFBQSxNQUFNLGVBQWUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFBLENBQUM7QUFFSyxNQUFNLGVBQWUsR0FBRyxNQUFLO0FBQ2xDLElBQUEsT0FBT0MsV0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVLLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBWSxLQUFJO0FBQzFDLElBQUEsT0FBT0EsV0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQztBQUVLLE1BQU0sbUJBQW1CLEdBQUcsQ0FBTyxNQUFjLEVBQUUsR0FBVyxLQUF1QixTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUMxRixJQUFBLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDO0FBQzFELENBQUMsQ0FBQSxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDeEMsTUFBTSxZQUFZLEdBQUcsOEJBQThCLENBQUM7QUFDcEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFlLEtBQUk7O0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztBQUNwQixJQUFBLE9BQU8sSUFBSSxFQUFFO1FBQ1gsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxjQUFjLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3ZELFlBQUEsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUcsWUFBQSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzFCLE1BQU07QUFDUCxTQUFBO1FBRUQsTUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO0FBQ3RCLFFBQUEsT0FBTyxJQUFJLEVBQUU7WUFDWCxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ25CLE1BQU07QUFDUCxhQUFBO1lBQ0QsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxTQUFBO0FBQ0QsUUFBQSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3pCLFNBQVM7QUFDVixTQUFBO1FBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLEVBQUEsR0FBQSxLQUFLLENBQUMsQ0FBQyxNQUFBLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFJLEtBQUssQ0FBQyxDQUFDO0FBQ2pDLEtBQUE7QUFFRCxJQUFBLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBQ3ZDLE1BQU0sZUFBZSxHQUFHLG9CQUFvQixDQUFDO0FBQzdDLE1BQU0sZUFBZSxHQUFHLHNCQUFzQixDQUFDO0FBQy9DLE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBb0IsRUFBRSxRQUFnQixFQUFFLE9BQWUsS0FBaUI7QUFDNUYsSUFBQSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLE9BQU87QUFDUixLQUFBO0lBRUQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLE1BQU0sY0FBYyxHQUFHLFFBQVE7U0FDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUNkLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRVosSUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtBQUN2QyxRQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLFFBQVEsQ0FBQSxDQUFFLENBQUMsQ0FBQztBQUM1RCxRQUFBLE9BQU8sSUFBSSxDQUFDO0FBQ2IsS0FBQTtBQUVELElBQUEsSUFBSSxRQUFRLENBQUM7SUFDYixJQUFJO0FBQ0YsUUFBQSxRQUFRLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDLEtBQUE7QUFBQyxJQUFBLE9BQU8sR0FBRyxFQUFFO0FBQ1osUUFBQSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLFFBQUEsT0FBTyxJQUFJLENBQUM7QUFDYixLQUFBO0lBRUQsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2RCxJQUFJLFVBQVUsR0FBVyxFQUFFLENBQUM7QUFDNUIsSUFBQSxJQUFJLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUNuRCxRQUFBLFVBQVUsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsS0FBQTtJQUVELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDdkQsSUFBQSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUxRyxJQUFBLE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRTFELElBQUEsTUFBTSxJQUFJLEdBQVM7UUFDakIsSUFBSSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLFFBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsUUFBQSxRQUFRLEVBQUUsUUFBUTtBQUNsQixRQUFBLE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUTtRQUN2RCxVQUFVO1FBQ1YsVUFBVTtLQUNYLENBQUM7QUFFRixJQUFBLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUssTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFlBQW9CLEtBQVk7QUFDbkUsSUFBQSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxRQUFBLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDakQsUUFBQSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQyxTQUFBO0FBRUQsUUFBQSxPQUFPLE1BQU0sQ0FBQztBQUNmLEtBQUE7QUFFRCxJQUFBLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMsQ0FBQztBQUVLLE1BQU0sYUFBYSxHQUFHLENBQU8sTUFBYyxFQUFFLEtBQWUsS0FBSSxTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUNyRSxJQUFBLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFFaEcsSUFBQSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNyQyxRQUFBLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsU0FBUztBQUNWLFNBQUE7UUFFRCxNQUFNLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzFDLEtBQUE7QUFDSCxDQUFDLENBQUEsQ0FBQztBQUVLLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBYyxFQUFFLFFBQWlCLEtBQUk7QUFDNUQsSUFBQSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxhQUFSLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBUixRQUFRLEdBQUksSUFBSSxDQUFDLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUssTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFnQixLQUFJO0FBQ2pELElBQUEsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUFDO0FBRUssTUFBTSxRQUFRLEdBQUcsQ0FBTyxNQUFjLEVBQUUsU0FBbUIsRUFBRSxRQUFnQixLQUFtQixTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUNyRyxJQUFBLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUk7QUFDekMsUUFBQSxNQUFNLFlBQVksR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sS0FBSyxZQUFZLENBQUM7QUFDakMsS0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2IsSUFBSUQsZUFBTSxDQUFDLENBQXVELG9EQUFBLEVBQUEsUUFBUSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckYsT0FBTztBQUNSLEtBQUE7QUFFRCxJQUFBLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQzdELElBQUEsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO1FBQ3RELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQSx1Q0FBQSxFQUEwQyxJQUFJLENBQStCLDRCQUFBLEVBQUEsUUFBUSxDQUFJLEVBQUEsQ0FBQSxDQUFDLENBQUM7UUFDeEcsT0FBTztBQUNSLEtBQUE7QUFFRCxJQUFBLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5RCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNuRCxJQUFBLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFBLENBQUM7QUFFSyxNQUFNLGFBQWEsR0FBRyxDQUFPLE1BQWMsS0FBbUIsU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7O0FBRW5FLElBQUEsTUFBTSxlQUFlLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xFLElBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsUUFBQSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQy9ELFFBQUEsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtBQUM1QixZQUFBLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxNQUFNLEtBQUssR0FBRyxNQUFNLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUV4RCxNQUFNLFdBQVcsR0FBVyxFQUFFLENBQUM7O0FBRS9CLFlBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxZQUFZLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN0RixnQkFBQSxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsZ0JBQUEsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRSxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUMvRCxnQkFBQSxJQUFJLElBQUksRUFBRTtBQUNSLG9CQUFBLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDeEIsaUJBQUE7QUFDRixhQUFBO0FBRUQsWUFBQUMsV0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFvQixpQkFBQSxFQUFBLFlBQVksQ0FBSyxFQUFBLEVBQUEsV0FBVyxDQUFDLE1BQU0sQ0FBRyxDQUFBLENBQUEsQ0FBQyxDQUFDO0FBQ3pFLFNBQUE7QUFDRixLQUFBO0FBQ0gsQ0FBQyxDQUFBLENBQUM7QUFFSyxNQUFNLGlCQUFpQixHQUFHLENBQUMsWUFBb0IsRUFBRSxRQUFnQixFQUFFLFdBQW1CLEtBQXNCO0lBQ2pILE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9ELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUEsMERBQUEsRUFBNkQsUUFBUSxDQUFjLFdBQUEsRUFBQSxXQUFXLENBQUksRUFBQSxDQUFBLENBQUMsQ0FBQztBQUNqSCxRQUFBLE9BQU8sU0FBUyxDQUFDO0FBQ2xCLEtBQUE7QUFFRCxJQUFBLE1BQU0sUUFBUSxHQUFHQSxXQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUM7SUFDOUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNiLFFBQUEsT0FBTyxDQUFDLElBQUksQ0FBQyw4Q0FBOEMsWUFBWSxDQUFBLGdCQUFBLENBQWtCLENBQUMsQ0FBQztBQUMzRixRQUFBLE9BQU8sU0FBUyxDQUFDO0FBQ2xCLEtBQUE7QUFFRCxJQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRTFCLElBQUEsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFSyxNQUFNLHFCQUFxQixHQUFHLE1BQWE7SUFDaEQsT0FBT0EsV0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQWEsRUFBRSxRQUFRLEtBQUk7UUFDbEQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixRQUFBLE9BQU8sS0FBSyxDQUFDO0tBQ2QsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVLLE1BQU0sY0FBYyxHQUFHLENBQUMsUUFBZ0IsS0FBYTtBQUMxRCxJQUFBLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsS0FBSyxTQUFTLENBQUM7QUFDNUcsQ0FBQyxDQUFDO0FBRUssTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFVBQWtCLEVBQUUsUUFBZ0IsS0FBWTtJQUNuRixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7QUFDZCxJQUFBLElBQUksU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQ2pDLENBQUMsSUFBSSxLQUNILElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUMvRyxDQUFDO0lBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUNkLFFBQUFBLFdBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUk7QUFDN0IsWUFBQSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDOUIsQ0FBQyxJQUFJLEtBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQy9HLENBQUM7QUFDRixZQUFBLElBQUksSUFBSSxFQUFFO2dCQUNSLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFDbEIsYUFBQTtBQUNILFNBQUMsQ0FBQyxDQUFDO0FBQ0osS0FBQTtBQUVELElBQUEsSUFBSSxTQUFTLEVBQUU7QUFDYixRQUFBLElBQUksV0FBbUIsQ0FBQztBQUN4QixRQUFBLElBQUksT0FBTyxTQUFTLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUN6QyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0FBQzFHLFlBQUEsV0FBVyxHQUFHLENBQUEsZ0JBQUEsRUFBbUIsZ0JBQWdCLEdBQUcsYUFBYSxHQUFHLHFCQUFxQixDQUFBLGFBQUEsRUFDdkYsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEdBQUcscUJBQzdELENBQUksQ0FBQSxFQUFBLFNBQVMsQ0FBQyxVQUFVLFFBQVEsQ0FBQztBQUNsQyxTQUFBO0FBQU0sYUFBQTtBQUNMLFlBQUEsV0FBVyxHQUFHLENBQStCLDRCQUFBLEVBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLHFCQUFxQixDQUMzRyxDQUFBLEVBQUEsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEdBQUcscUJBQzdELENBQUEsQ0FBQSxFQUFJLFNBQVMsQ0FBQyxVQUFVLFFBQVEsQ0FBQztBQUNsQyxTQUFBO1FBQ0QsSUFBSSxHQUFHLFdBQVcsQ0FBQztBQUNwQixLQUFBO0FBRUQsSUFBQSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7O0FDcllEO0FBQ0EsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFjLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyx5cVpBQXlxWixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyw2REFBNkQsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLE9BQU8sQ0FBQyxTQUFTLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxTQUFTLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLFFBQVEsSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxVQUFVLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLFNBQVMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFDLENBQUMsT0FBTSxDQUFDLE9BQU8sSUFBSSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFOztBQ0RqOWhCLE1BQU0sY0FBYyxHQUEyQjtBQUM3QyxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLDZCQUE2QjtBQUNuQyxJQUFBLElBQUksRUFBRSxpQ0FBaUM7QUFDdkMsSUFBQSxJQUFJLEVBQUUsZ0NBQWdDO0FBQ3RDLElBQUEsSUFBSSxFQUFFLHlCQUF5QjtBQUMvQixJQUFBLElBQUksRUFBRSwwQkFBMEI7QUFDaEMsSUFBQSxJQUFJLEVBQUUsK0JBQStCO0FBQ3JDLElBQUEsSUFBSSxFQUFFLHdCQUF3QjtBQUM5QixJQUFBLElBQUksRUFBRSx1QkFBdUI7QUFDN0IsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGdDQUFnQztBQUN0QyxJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxJQUFJLEVBQUUsMEJBQTBCO0FBQ2hDLElBQUEsSUFBSSxFQUFFLDhCQUE4QjtBQUNwQyxJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsR0FBRyxFQUFFLGNBQWM7QUFDbkIsSUFBQSxJQUFJLEVBQUUsK0JBQStCO0FBQ3JDLElBQUEsSUFBSSxFQUFFLGdDQUFnQztBQUN0QyxJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSwwQkFBMEI7QUFDaEMsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSw0QkFBNEI7QUFDbEMsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLDhCQUE4QjtBQUNwQyxJQUFBLElBQUksRUFBRSwyQkFBMkI7QUFDakMsSUFBQSxJQUFJLEVBQUUsMkNBQTJDO0FBQ2pELElBQUEsSUFBSSxFQUFFLHlCQUF5QjtBQUMvQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSwwQkFBMEI7QUFDaEMsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLG9CQUFvQjtBQUMxQixJQUFBLFFBQVEsRUFBRSxnQkFBZ0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLHdCQUF3QjtBQUM5QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxPQUFPLEVBQUUsZUFBZTtBQUN4QixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxJQUFJLEVBQUUsdUJBQXVCO0FBQzdCLElBQUEsSUFBSSxFQUFFLHdCQUF3QjtBQUM5QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLDRCQUE0QjtBQUNsQyxJQUFBLE9BQU8sRUFBRSx1QkFBdUI7QUFDaEMsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSw4QkFBOEI7QUFDcEMsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSw0QkFBNEI7QUFDbEMsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxHQUFHLEVBQUUsZUFBZTtBQUNwQixJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxpQkFBaUI7QUFDdkIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLDJCQUEyQjtBQUNqQyxJQUFBLElBQUksRUFBRSwrQkFBK0I7QUFDckMsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUseUJBQXlCO0FBQy9CLElBQUEsSUFBSSxFQUFFLHVCQUF1QjtBQUM3QixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLG9CQUFvQjtBQUMxQixJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsMEJBQTBCO0FBQ2hDLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLDJCQUEyQjtBQUNqQyxJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsNEJBQTRCO0FBQ2xDLElBQUEsSUFBSSxFQUFFLHlCQUF5QjtBQUMvQixJQUFBLElBQUksRUFBRSx1QkFBdUI7QUFDN0IsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsR0FBRyxFQUFFLHNCQUFzQjtBQUMzQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsZ0NBQWdDO0FBQ3RDLElBQUEsSUFBSSxFQUFFLHVCQUF1QjtBQUM3QixJQUFBLElBQUksRUFBRSw2QkFBNkI7QUFDbkMsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxHQUFHLEVBQUUsbUJBQW1CO0FBQ3hCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxPQUFPLEVBQUUsZUFBZTtBQUN4QixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsR0FBRyxFQUFFLFdBQVc7QUFDaEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsU0FBUyxFQUFFLHNCQUFzQjtBQUNqQyxJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxJQUFJLEVBQUUsMkJBQTJCO0FBQ2pDLElBQUEsR0FBRyxFQUFFLGFBQWE7QUFDbEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsR0FBRyxFQUFFLGNBQWM7QUFDbkIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLDRDQUE0QztBQUNsRCxJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsOEJBQThCO0FBQ3BDLElBQUEsSUFBSSxFQUFFLCtCQUErQjtBQUNyQyxJQUFBLElBQUksRUFBRSw0QkFBNEI7QUFDbEMsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSw4QkFBOEI7QUFDcEMsSUFBQSxHQUFHLEVBQUUsbUJBQW1CO0FBQ3hCLElBQUEsSUFBSSxFQUFFLGdDQUFnQztBQUN0QyxJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxHQUFHLEVBQUUsYUFBYTtBQUNsQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxHQUFHLEVBQUUsY0FBYztBQUNuQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsS0FBSztBQUNYLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsc0JBQXNCO0FBQzVCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsS0FBSztBQUNYLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsT0FBTyxFQUFFLFlBQVk7QUFDckIsSUFBQSxPQUFPLEVBQUUsY0FBYztBQUN2QixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsT0FBTyxFQUFFLGlCQUFpQjtBQUMxQixJQUFBLE9BQU8sRUFBRSxpQkFBaUI7QUFDMUIsSUFBQSxPQUFPLEVBQUUsV0FBVztBQUNwQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxPQUFPLEVBQUUsaUJBQWlCO0FBQzFCLElBQUEsT0FBTyxFQUFFLGtCQUFrQjtBQUMzQixJQUFBLE9BQU8sRUFBRSxtQkFBbUI7QUFDNUIsSUFBQSxPQUFPLEVBQUUsb0JBQW9CO0FBQzdCLElBQUEsT0FBTyxFQUFFLG1CQUFtQjtBQUM1QixJQUFBLE9BQU8sRUFBRSxvQkFBb0I7QUFDN0IsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLElBQUEsT0FBTyxFQUFFLG1CQUFtQjtBQUM1QixJQUFBLE9BQU8sRUFBRSxpQkFBaUI7QUFDMUIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxpQkFBaUI7QUFDdkIsSUFBQSxPQUFPLEVBQUUsY0FBYztBQUN2QixJQUFBLE9BQU8sRUFBRSxnQkFBZ0I7QUFDekIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsT0FBTyxFQUFFLGFBQWE7QUFDdEIsSUFBQSxPQUFPLEVBQUUsZUFBZTtBQUN4QixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxPQUFPLEVBQUUsa0JBQWtCO0FBQzNCLElBQUEsT0FBTyxFQUFFLG9CQUFvQjtBQUM3QixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxPQUFPLEVBQUUsa0JBQWtCO0FBQzNCLElBQUEsT0FBTyxFQUFFLG9CQUFvQjtBQUM3QixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxPQUFPLEVBQUUsa0JBQWtCO0FBQzNCLElBQUEsT0FBTyxFQUFFLG9CQUFvQjtBQUM3QixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxPQUFPLEVBQUUsa0JBQWtCO0FBQzNCLElBQUEsT0FBTyxFQUFFLG9CQUFvQjtBQUM3QixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsT0FBTyxFQUFFLFVBQVU7QUFDbkIsSUFBQSxPQUFPLEVBQUUsWUFBWTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsT0FBTyxFQUFFLFlBQVk7QUFDckIsSUFBQSxPQUFPLEVBQUUsY0FBYztBQUN2QixJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxPQUFPLEVBQUUsaUJBQWlCO0FBQzFCLElBQUEsT0FBTyxFQUFFLG1CQUFtQjtBQUM1QixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxPQUFPLEVBQUUsZUFBZTtBQUN4QixJQUFBLE9BQU8sRUFBRSxpQkFBaUI7QUFDMUIsSUFBQSxPQUFPLEVBQUUsZUFBZTtBQUN4QixJQUFBLE9BQU8sRUFBRSxtQkFBbUI7QUFDNUIsSUFBQSxPQUFPLEVBQUUscUJBQXFCO0FBQzlCLElBQUEsT0FBTyxFQUFFLFNBQVM7QUFDbEIsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsT0FBTyxFQUFFLFNBQVM7QUFDbEIsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsT0FBTyxFQUFFLE9BQU87QUFDaEIsSUFBQSxPQUFPLEVBQUUsV0FBVztBQUNwQixJQUFBLE9BQU8sRUFBRSxhQUFhO0FBQ3RCLElBQUEsT0FBTyxFQUFFLFFBQVE7QUFDakIsSUFBQSxPQUFPLEVBQUUsWUFBWTtBQUNyQixJQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLElBQUEsT0FBTyxFQUFFLE1BQU07QUFDZixJQUFBLE9BQU8sRUFBRSxVQUFVO0FBQ25CLElBQUEsT0FBTyxFQUFFLFlBQVk7QUFDckIsSUFBQSxPQUFPLEVBQUUsVUFBVTtBQUNuQixJQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLElBQUEsT0FBTyxFQUFFLGdCQUFnQjtBQUN6QixJQUFBLE9BQU8sRUFBRSxnQkFBZ0I7QUFDekIsSUFBQSxPQUFPLEVBQUUsb0JBQW9CO0FBQzdCLElBQUEsT0FBTyxFQUFFLHNCQUFzQjtBQUMvQixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsT0FBTyxFQUFFLG1CQUFtQjtBQUM1QixJQUFBLE9BQU8sRUFBRSxxQkFBcUI7QUFDOUIsSUFBQSxPQUFPLEVBQUUsV0FBVztBQUNwQixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsT0FBTyxFQUFFLGlCQUFpQjtBQUMxQixJQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLElBQUEsT0FBTyxFQUFFLGtCQUFrQjtBQUMzQixJQUFBLE9BQU8sRUFBRSxvQkFBb0I7QUFDN0IsSUFBQSxPQUFPLEVBQUUsUUFBUTtBQUNqQixJQUFBLE9BQU8sRUFBRSxZQUFZO0FBQ3JCLElBQUEsT0FBTyxFQUFFLGNBQWM7QUFDdkIsSUFBQSxPQUFPLEVBQUUsUUFBUTtBQUNqQixJQUFBLE9BQU8sRUFBRSxZQUFZO0FBQ3JCLElBQUEsT0FBTyxFQUFFLGNBQWM7QUFDdkIsSUFBQSxPQUFPLEVBQUUsT0FBTztBQUNoQixJQUFBLE9BQU8sRUFBRSxXQUFXO0FBQ3BCLElBQUEsT0FBTyxFQUFFLGFBQWE7QUFDdEIsSUFBQSxPQUFPLEVBQUUsV0FBVztBQUNwQixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsT0FBTyxFQUFFLGlCQUFpQjtBQUMxQixJQUFBLE9BQU8sRUFBRSxhQUFhO0FBQ3RCLElBQUEsT0FBTyxFQUFFLGlCQUFpQjtBQUMxQixJQUFBLE9BQU8sRUFBRSxtQkFBbUI7QUFDNUIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsT0FBTyxFQUFFLG9CQUFvQjtBQUM3QixJQUFBLE9BQU8sRUFBRSxzQkFBc0I7QUFDL0IsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLFFBQVEsRUFBRSxlQUFlO0FBQ3pCLElBQUEsUUFBUSxFQUFFLGlCQUFpQjtBQUMzQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxPQUFPLEVBQUUsV0FBVztBQUNwQixJQUFBLE9BQU8sRUFBRSxhQUFhO0FBQ3RCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxPQUFPLEVBQUUseUJBQXlCO0FBQ2xDLElBQUEsT0FBTyxFQUFFLDJCQUEyQjtBQUNwQyxJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsdUJBQXVCO0FBQzdCLElBQUEsT0FBTyxFQUFFLG9CQUFvQjtBQUM3QixJQUFBLE9BQU8sRUFBRSxzQkFBc0I7QUFDL0IsSUFBQSxJQUFJLEVBQUUsc0JBQXNCO0FBQzVCLElBQUEsSUFBSSxFQUFFLHNCQUFzQjtBQUM1QixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxPQUFPLEVBQUUsZUFBZTtBQUN4QixJQUFBLE9BQU8sRUFBRSxpQkFBaUI7QUFDMUIsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsT0FBTyxFQUFFLGVBQWU7QUFDeEIsSUFBQSxPQUFPLEVBQUUsaUJBQWlCO0FBQzFCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLE9BQU8sRUFBRSxvQkFBb0I7QUFDN0IsSUFBQSxPQUFPLEVBQUUsa0JBQWtCO0FBQzNCLElBQUEsT0FBTyxFQUFFLHFCQUFxQjtBQUM5QixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLE9BQU8sRUFBRSxVQUFVO0FBQ25CLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxPQUFPLEVBQUUsZUFBZTtBQUN4QixJQUFBLE9BQU8sRUFBRSxpQkFBaUI7QUFDMUIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLE9BQU8sRUFBRSxrQkFBa0I7QUFDM0IsSUFBQSxPQUFPLEVBQUUsb0JBQW9CO0FBQzdCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLE9BQU8sRUFBRSxVQUFVO0FBQ25CLElBQUEsT0FBTyxFQUFFLFlBQVk7QUFDckIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsT0FBTyxFQUFFLFdBQVc7QUFDcEIsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxPQUFPLEVBQUUsUUFBUTtBQUNqQixJQUFBLE9BQU8sRUFBRSxTQUFTO0FBQ2xCLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLE9BQU8sRUFBRSxTQUFTO0FBQ2xCLElBQUEsT0FBTyxFQUFFLFdBQVc7QUFDcEIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsT0FBTyxFQUFFLFdBQVc7QUFDcEIsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxPQUFPLEVBQUUsWUFBWTtBQUNyQixJQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxPQUFPLEVBQUUscUJBQXFCO0FBQzlCLElBQUEsT0FBTyxFQUFFLHVCQUF1QjtBQUNoQyxJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxPQUFPLEVBQUUscUJBQXFCO0FBQzlCLElBQUEsT0FBTyxFQUFFLHVCQUF1QjtBQUNoQyxJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLElBQUEsT0FBTyxFQUFFLGdCQUFnQjtBQUN6QixJQUFBLElBQUksRUFBRSxpQkFBaUI7QUFDdkIsSUFBQSxPQUFPLEVBQUUsY0FBYztBQUN2QixJQUFBLE9BQU8sRUFBRSxnQkFBZ0I7QUFDekIsSUFBQSxPQUFPLEVBQUUsd0JBQXdCO0FBQ2pDLElBQUEsT0FBTyxFQUFFLHFCQUFxQjtBQUM5QixJQUFBLE9BQU8sRUFBRSx1QkFBdUI7QUFDaEMsSUFBQSxPQUFPLEVBQUUsZ0NBQWdDO0FBQ3pDLElBQUEsT0FBTyxFQUFFLDZCQUE2QjtBQUN0QyxJQUFBLE9BQU8sRUFBRSwrQkFBK0I7QUFDeEMsSUFBQSxPQUFPLEVBQUUsNkJBQTZCO0FBQ3RDLElBQUEsT0FBTyxFQUFFLDBCQUEwQjtBQUNuQyxJQUFBLE9BQU8sRUFBRSw0QkFBNEI7QUFDckMsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsT0FBTyxFQUFFLGFBQWE7QUFDdEIsSUFBQSxPQUFPLEVBQUUsZUFBZTtBQUN4QixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsMkJBQTJCO0FBQ2pDLElBQUEsSUFBSSxFQUFFLHdCQUF3QjtBQUM5QixJQUFBLE9BQU8sRUFBRSxxQkFBcUI7QUFDOUIsSUFBQSxPQUFPLEVBQUUsdUJBQXVCO0FBQ2hDLElBQUEsSUFBSSxFQUFFLHVCQUF1QjtBQUM3QixJQUFBLE9BQU8sRUFBRSxvQkFBb0I7QUFDN0IsSUFBQSxPQUFPLEVBQUUsc0JBQXNCO0FBQy9CLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLElBQUEsT0FBTyxFQUFFLGdCQUFnQjtBQUN6QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLEdBQUcsRUFBRSxPQUFPO0FBQ1osSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxRQUFRLEVBQUUsYUFBYTtBQUN2QixJQUFBLFFBQVEsRUFBRSxlQUFlO0FBQ3pCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLE9BQU8sRUFBRSxhQUFhO0FBQ3RCLElBQUEsT0FBTyxFQUFFLGVBQWU7QUFDeEIsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsT0FBTyxFQUFFLGlCQUFpQjtBQUMxQixJQUFBLE9BQU8sRUFBRSxtQkFBbUI7QUFDNUIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsT0FBTyxFQUFFLGNBQWM7QUFDdkIsSUFBQSxPQUFPLEVBQUUsZ0JBQWdCO0FBQ3pCLElBQUEsR0FBRyxFQUFFLHNCQUFzQjtBQUMzQixJQUFBLE9BQU8sRUFBRSxtQkFBbUI7QUFDNUIsSUFBQSxPQUFPLEVBQUUscUJBQXFCO0FBQzlCLElBQUEsSUFBSSxFQUFFLHdCQUF3QjtBQUM5QixJQUFBLFFBQVEsRUFBRSxxQkFBcUI7QUFDL0IsSUFBQSxRQUFRLEVBQUUsdUJBQXVCO0FBQ2pDLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxPQUFPLEVBQUUsWUFBWTtBQUNyQixJQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLHdCQUF3QjtBQUM5QixJQUFBLE9BQU8sRUFBRSxxQkFBcUI7QUFDOUIsSUFBQSxPQUFPLEVBQUUsdUJBQXVCO0FBQ2hDLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLE9BQU8sRUFBRSxrQkFBa0I7QUFDM0IsSUFBQSxPQUFPLEVBQUUsb0JBQW9CO0FBQzdCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLE9BQU8sRUFBRSxlQUFlO0FBQ3hCLElBQUEsT0FBTyxFQUFFLGlCQUFpQjtBQUMxQixJQUFBLElBQUksRUFBRSwyQkFBMkI7QUFDakMsSUFBQSxPQUFPLEVBQUUsd0JBQXdCO0FBQ2pDLElBQUEsT0FBTyxFQUFFLDBCQUEwQjtBQUNuQyxJQUFBLElBQUksRUFBRSx5QkFBeUI7QUFDL0IsSUFBQSxPQUFPLEVBQUUsc0JBQXNCO0FBQy9CLElBQUEsT0FBTyxFQUFFLHdCQUF3QjtBQUNqQyxJQUFBLElBQUksRUFBRSxpQkFBaUI7QUFDdkIsSUFBQSxPQUFPLEVBQUUsY0FBYztBQUN2QixJQUFBLE9BQU8sRUFBRSxnQkFBZ0I7QUFDekIsSUFBQSxJQUFJLEVBQUUsMEJBQTBCO0FBQ2hDLElBQUEsT0FBTyxFQUFFLHVCQUF1QjtBQUNoQyxJQUFBLE9BQU8sRUFBRSx5QkFBeUI7QUFDbEMsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxVQUFVLEVBQUUsc0JBQXNCO0FBQ2xDLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLElBQUksRUFBRSw2QkFBNkI7QUFDbkMsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLGFBQWEsRUFBRSxrQkFBa0I7QUFDakMsSUFBQSxhQUFhLEVBQUUsZ0JBQWdCO0FBQy9CLElBQUEsYUFBYSxFQUFFLG9CQUFvQjtBQUNuQyxJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxVQUFVLEVBQUUsK0JBQStCO0FBQzNDLElBQUEsVUFBVSxFQUFFLDZCQUE2QjtBQUN6QyxJQUFBLFVBQVUsRUFBRSxpQ0FBaUM7QUFDN0MsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsVUFBVSxFQUFFLHlCQUF5QjtBQUNyQyxJQUFBLFVBQVUsRUFBRSwwQkFBMEI7QUFDdEMsSUFBQSxhQUFhLEVBQUUsK0JBQStCO0FBQzlDLElBQUEsYUFBYSxFQUFFLDhCQUE4QjtBQUM3QyxJQUFBLGFBQWEsRUFBRSxnQ0FBZ0M7QUFDL0MsSUFBQSxVQUFVLEVBQUUsdUJBQXVCO0FBQ25DLElBQUEsVUFBVSxFQUFFLHdCQUF3QjtBQUNwQyxJQUFBLGFBQWEsRUFBRSw2QkFBNkI7QUFDNUMsSUFBQSxhQUFhLEVBQUUsNEJBQTRCO0FBQzNDLElBQUEsYUFBYSxFQUFFLDhCQUE4QjtBQUM3QyxJQUFBLFVBQVUsRUFBRSwyQkFBMkI7QUFDdkMsSUFBQSxVQUFVLEVBQUUsNEJBQTRCO0FBQ3hDLElBQUEsYUFBYSxFQUFFLGlDQUFpQztBQUNoRCxJQUFBLGFBQWEsRUFBRSxnQ0FBZ0M7QUFDL0MsSUFBQSxhQUFhLEVBQUUsa0NBQWtDO0FBQ2pELElBQUEsT0FBTyxFQUFFLGtCQUFrQjtBQUMzQixJQUFBLFVBQVUsRUFBRSx1QkFBdUI7QUFDbkMsSUFBQSxPQUFPLEVBQUUsbUJBQW1CO0FBQzVCLElBQUEsVUFBVSxFQUFFLHdCQUF3QjtBQUNwQyxJQUFBLFVBQVUsRUFBRSx5QkFBeUI7QUFDckMsSUFBQSxPQUFPLEVBQUUsb0JBQW9CO0FBQzdCLElBQUEsVUFBVSxFQUFFLHlCQUF5QjtBQUNyQyxJQUFBLE9BQU8sRUFBRSxxQkFBcUI7QUFDOUIsSUFBQSxVQUFVLEVBQUUsMEJBQTBCO0FBQ3RDLElBQUEsVUFBVSxFQUFFLDJCQUEyQjtBQUN2QyxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLG9CQUFvQjtBQUMxQixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsS0FBSztBQUNYLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxNQUFNLEVBQUUsV0FBVztBQUNuQixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLElBQUk7QUFDVixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsS0FBSztBQUNYLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsT0FBTyxFQUFFLFlBQVk7QUFDckIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLHlCQUF5QjtBQUMvQixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsS0FBSztBQUNYLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLHlCQUF5QjtBQUMvQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUscUJBQXFCO0FBQzNCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLHNCQUFzQjtBQUM1QixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLEdBQUcsRUFBRSxjQUFjO0FBQ25CLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSx1QkFBdUI7QUFDN0IsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLDBCQUEwQjtBQUNoQyxJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLDJCQUEyQjtBQUNqQyxJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSw2QkFBNkI7QUFDbkMsSUFBQSxJQUFJLEVBQUUsd0JBQXdCO0FBQzlCLElBQUEsSUFBSSxFQUFFLDhCQUE4QjtBQUNwQyxJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxHQUFHLEVBQUUsVUFBVTtBQUNmLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLHVCQUF1QjtBQUM3QixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxHQUFHLEVBQUUsUUFBUTtBQUNiLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxHQUFHLEVBQUUsZUFBZTtBQUNwQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxHQUFHLEVBQUUsVUFBVTtBQUNmLElBQUEsR0FBRyxFQUFFLE1BQU07QUFDWCxJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsd0JBQXdCO0FBQzlCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLEdBQUcsRUFBRSxhQUFhO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLElBQUksRUFBRSx1QkFBdUI7QUFDN0IsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsc0JBQXNCO0FBQzVCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxHQUFHLEVBQUUsV0FBVztBQUNoQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLDBCQUEwQjtBQUNoQyxJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsR0FBRyxFQUFFLFFBQVE7QUFDYixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxHQUFHLEVBQUUsT0FBTztBQUNaLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLG9CQUFvQjtBQUMxQixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxHQUFHLEVBQUUsZ0JBQWdCO0FBQ3JCLElBQUEsR0FBRyxFQUFFLG9CQUFvQjtBQUN6QixJQUFBLEdBQUcsRUFBRSxPQUFPO0FBQ1osSUFBQSxHQUFHLEVBQUUsYUFBYTtBQUNsQixJQUFBLEdBQUcsRUFBRSxXQUFXO0FBQ2hCLElBQUEsR0FBRyxFQUFFLGFBQWE7QUFDbEIsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLHNCQUFzQjtBQUM1QixJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUscUJBQXFCO0FBQzNCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUscUJBQXFCO0FBQzNCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLHlCQUF5QjtBQUMvQixJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLEdBQUcsRUFBRSxLQUFLO0FBQ1YsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLEdBQUcsRUFBRSxNQUFNO0FBQ1gsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxHQUFHLEVBQUUsT0FBTztBQUNaLElBQUEsR0FBRyxFQUFFLGtCQUFrQjtBQUN2QixJQUFBLEdBQUcsRUFBRSwrQkFBK0I7QUFDcEMsSUFBQSxJQUFJLEVBQUUsd0JBQXdCO0FBQzlCLElBQUEsSUFBSSxFQUFFLHdCQUF3QjtBQUM5QixJQUFBLElBQUksRUFBRSx1QkFBdUI7QUFDN0IsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLEdBQUcsRUFBRSwwQkFBMEI7QUFDL0IsSUFBQSxHQUFHLEVBQUUsb0JBQW9CO0FBQ3pCLElBQUEsR0FBRyxFQUFFLGNBQWM7QUFDbkIsSUFBQSxHQUFHLEVBQUUsV0FBVztBQUNoQixJQUFBLEdBQUcsRUFBRSxTQUFTO0FBQ2QsSUFBQSxHQUFHLEVBQUUsc0JBQXNCO0FBQzNCLElBQUEsR0FBRyxFQUFFLE9BQU87QUFDWixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLEdBQUcsRUFBRSxVQUFVO0FBQ2YsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLHVCQUF1QjtBQUM3QixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxpQkFBaUI7QUFDdkIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLEdBQUcsRUFBRSxhQUFhO0FBQ2xCLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLHNCQUFzQjtBQUM1QixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsR0FBRyxFQUFFLGNBQWM7QUFDbkIsSUFBQSxHQUFHLEVBQUUsV0FBVztBQUNoQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxHQUFHLEVBQUUsWUFBWTtBQUNqQixJQUFBLEdBQUcsRUFBRSxZQUFZO0FBQ2pCLElBQUEsR0FBRyxFQUFFLGNBQWM7QUFDbkIsSUFBQSxHQUFHLEVBQUUsV0FBVztBQUNoQixJQUFBLEdBQUcsRUFBRSxZQUFZO0FBQ2pCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUsc0JBQXNCO0FBQzVCLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGlCQUFpQjtBQUN2QixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsR0FBRyxFQUFFLHdCQUF3QjtBQUM3QixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUsdUJBQXVCO0FBQzdCLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLHlCQUF5QjtBQUMvQixJQUFBLEdBQUcsRUFBRSxXQUFXO0FBQ2hCLElBQUEsSUFBSSxFQUFFLG9CQUFvQjtBQUMxQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLDhCQUE4QjtBQUNwQyxJQUFBLElBQUksRUFBRSwrQkFBK0I7QUFDckMsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxnQ0FBZ0M7QUFDdEMsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsT0FBTztBQUNiLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSwyQkFBMkI7QUFDakMsSUFBQSxHQUFHLEVBQUUsVUFBVTtBQUNmLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxJQUFJLEVBQUUscUJBQXFCO0FBQzNCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsaUNBQWlDO0FBQ3ZDLElBQUEsSUFBSSxFQUFFLGtDQUFrQztBQUN4QyxJQUFBLElBQUksRUFBRSwrQkFBK0I7QUFDckMsSUFBQSxJQUFJLEVBQUUsZ0NBQWdDO0FBQ3RDLElBQUEsSUFBSSxFQUFFLFNBQVM7QUFDZixJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxHQUFHLEVBQUUsUUFBUTtBQUNiLElBQUEsR0FBRyxFQUFFLFdBQVc7QUFDaEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUscUJBQXFCO0FBQzNCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxpQkFBaUI7QUFDdkIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxpQkFBaUI7QUFDdkIsSUFBQSxJQUFJLEVBQUUsaUJBQWlCO0FBQ3ZCLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLEtBQUs7QUFDWCxJQUFBLEdBQUcsRUFBRSxNQUFNO0FBQ1gsSUFBQSxHQUFHLEVBQUUsaUJBQWlCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxHQUFHLEVBQUUsZ0JBQWdCO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxHQUFHLEVBQUUsTUFBTTtBQUNYLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLEdBQUcsRUFBRSxlQUFlO0FBQ3BCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsR0FBRyxFQUFFLFFBQVE7QUFDYixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxHQUFHLEVBQUUsU0FBUztBQUNkLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxNQUFNO0FBQ1osSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxLQUFLO0FBQ1gsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLFFBQVE7QUFDZCxJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsTUFBTTtBQUNaLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxRQUFRO0FBQ2QsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLEdBQUcsRUFBRSxRQUFRO0FBQ2IsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLEdBQUcsRUFBRSxhQUFhO0FBQ2xCLElBQUEsSUFBSSxFQUFFLE1BQU07QUFDWixJQUFBLElBQUksRUFBRSxTQUFTO0FBQ2YsSUFBQSxJQUFJLEVBQUUsdUJBQXVCO0FBQzdCLElBQUEsSUFBSSxFQUFFLFVBQVU7QUFDaEIsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxHQUFHLEVBQUUsbUJBQW1CO0FBQ3hCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxVQUFVO0FBQ2hCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLEdBQUcsRUFBRSxTQUFTO0FBQ2QsSUFBQSxJQUFJLEVBQUUsbUJBQW1CO0FBQ3pCLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSxnQkFBZ0I7QUFDdEIsSUFBQSxJQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLElBQUEsSUFBSSxFQUFFLHVCQUF1QjtBQUM3QixJQUFBLEdBQUcsRUFBRSxhQUFhO0FBQ2xCLElBQUEsR0FBRyxFQUFFLFdBQVc7QUFDaEIsSUFBQSxHQUFHLEVBQUUsVUFBVTtBQUNmLElBQUEsR0FBRyxFQUFFLGdCQUFnQjtBQUNyQixJQUFBLEdBQUcsRUFBRSxhQUFhO0FBQ2xCLElBQUEsR0FBRyxFQUFFLGtCQUFrQjtBQUN2QixJQUFBLEdBQUcsRUFBRSxZQUFZO0FBQ2pCLElBQUEsR0FBRyxFQUFFLGlCQUFpQjtBQUN0QixJQUFBLEdBQUcsRUFBRSxZQUFZO0FBQ2pCLElBQUEsR0FBRyxFQUFFLGVBQWU7QUFDcEIsSUFBQSxHQUFHLEVBQUUsZUFBZTtBQUNwQixJQUFBLEdBQUcsRUFBRSxrQkFBa0I7QUFDdkIsSUFBQSxHQUFHLEVBQUUsMEJBQTBCO0FBQy9CLElBQUEsR0FBRyxFQUFFLDBCQUEwQjtBQUMvQixJQUFBLEdBQUcsRUFBRSx3QkFBd0I7QUFDN0IsSUFBQSxHQUFHLEVBQUUsMEJBQTBCO0FBQy9CLElBQUEsSUFBSSxFQUFFLDJCQUEyQjtBQUNqQyxJQUFBLElBQUksRUFBRSxnQ0FBZ0M7QUFDdEMsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsWUFBWTtBQUNsQixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLGtCQUFrQjtBQUN4QixJQUFBLEdBQUcsRUFBRSxhQUFhO0FBQ2xCLElBQUEsSUFBSSxFQUFFLElBQUk7QUFDVixJQUFBLEdBQUcsRUFBRSxlQUFlO0FBQ3BCLElBQUEsR0FBRyxFQUFFLGlCQUFpQjtBQUN0QixJQUFBLEdBQUcsRUFBRSxVQUFVO0FBQ2YsSUFBQSxHQUFHLEVBQUUsYUFBYTtBQUNsQixJQUFBLEdBQUcsRUFBRSxnQkFBZ0I7QUFDckIsSUFBQSxHQUFHLEVBQUUsbUJBQW1CO0FBQ3hCLElBQUEsR0FBRyxFQUFFLGNBQWM7QUFDbkIsSUFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLElBQUEsSUFBSSxFQUFFLHlCQUF5QjtBQUMvQixJQUFBLEdBQUcsRUFBRSxPQUFPO0FBQ1osSUFBQSxHQUFHLEVBQUUsUUFBUTtBQUNiLElBQUEsR0FBRyxFQUFFLFFBQVE7QUFDYixJQUFBLEdBQUcsRUFBRSxRQUFRO0FBQ2IsSUFBQSxHQUFHLEVBQUUsS0FBSztBQUNWLElBQUEsR0FBRyxFQUFFLE9BQU87QUFDWixJQUFBLEdBQUcsRUFBRSxPQUFPO0FBQ1osSUFBQSxHQUFHLEVBQUUsU0FBUztBQUNkLElBQUEsR0FBRyxFQUFFLGFBQWE7QUFDbEIsSUFBQSxHQUFHLEVBQUUsV0FBVztBQUNoQixJQUFBLEdBQUcsRUFBRSxVQUFVO0FBQ2YsSUFBQSxHQUFHLEVBQUUsUUFBUTtBQUNiLElBQUEsR0FBRyxFQUFFLFdBQVc7QUFDaEIsSUFBQSxJQUFJLEVBQUUsdUJBQXVCO0FBQzdCLElBQUEsSUFBSSxFQUFFLGVBQWU7QUFDckIsSUFBQSxJQUFJLEVBQUUsc0JBQXNCO0FBQzVCLElBQUEsR0FBRyxFQUFFLGFBQWE7QUFDbEIsSUFBQSxHQUFHLEVBQUUscUJBQXFCO0FBQzFCLElBQUEsR0FBRyxFQUFFLG1CQUFtQjtBQUN4QixJQUFBLEdBQUcsRUFBRSxzQkFBc0I7QUFDM0IsSUFBQSxHQUFHLEVBQUUsZ0JBQWdCO0FBQ3JCLElBQUEsR0FBRyxFQUFFLHFCQUFxQjtBQUMxQixJQUFBLEdBQUcsRUFBRSxtQkFBbUI7QUFDeEIsSUFBQSxJQUFJLEVBQUUsZ0JBQWdCO0FBQ3RCLElBQUEsR0FBRyxFQUFFLGdCQUFnQjtBQUNyQixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxHQUFHLEVBQUUsa0JBQWtCO0FBQ3ZCLElBQUEsR0FBRyxFQUFFLGNBQWM7QUFDbkIsSUFBQSxHQUFHLEVBQUUsYUFBYTtBQUNsQixJQUFBLEdBQUcsRUFBRSxlQUFlO0FBQ3BCLElBQUEsR0FBRyxFQUFFLGNBQWM7QUFDbkIsSUFBQSxJQUFJLEVBQUUsUUFBUTtBQUNkLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxjQUFjO0FBQ3BCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxrQkFBa0I7QUFDeEIsSUFBQSxHQUFHLEVBQUUsYUFBYTtBQUNsQixJQUFBLEdBQUcsRUFBRSxXQUFXO0FBQ2hCLElBQUEsR0FBRyxFQUFFLG9CQUFvQjtBQUN6QixJQUFBLEdBQUcsRUFBRSxVQUFVO0FBQ2YsSUFBQSxHQUFHLEVBQUUsTUFBTTtBQUNYLElBQUEsR0FBRyxFQUFFLE9BQU87QUFDWixJQUFBLEdBQUcsRUFBRSxRQUFRO0FBQ2IsSUFBQSxJQUFJLEVBQUUscUJBQXFCO0FBQzNCLElBQUEsR0FBRyxFQUFFLFVBQVU7QUFDZixJQUFBLEdBQUcsRUFBRSx5QkFBeUI7QUFDOUIsSUFBQSxHQUFHLEVBQUUsMkJBQTJCO0FBQ2hDLElBQUEsR0FBRyxFQUFFLG1CQUFtQjtBQUN4QixJQUFBLEdBQUcsRUFBRSxxQkFBcUI7QUFDMUIsSUFBQSxHQUFHLEVBQUUsd0JBQXdCO0FBQzdCLElBQUEsR0FBRyxFQUFFLHNCQUFzQjtBQUMzQixJQUFBLEdBQUcsRUFBRSxXQUFXO0FBQ2hCLElBQUEsSUFBSSxFQUFFLG1CQUFtQjtBQUN6QixJQUFBLElBQUksRUFBRSxtQkFBbUI7QUFDekIsSUFBQSxHQUFHLEVBQUUsZ0JBQWdCO0FBQ3JCLElBQUEsR0FBRyxFQUFFLGtCQUFrQjtBQUN2QixJQUFBLEdBQUcsRUFBRSxjQUFjO0FBQ25CLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLDhCQUE4QjtBQUNwQyxJQUFBLEdBQUcsRUFBRSxtQkFBbUI7QUFDeEIsSUFBQSxHQUFHLEVBQUUsbUJBQW1CO0FBQ3hCLElBQUEsR0FBRyxFQUFFLHNCQUFzQjtBQUMzQixJQUFBLEdBQUcsRUFBRSxZQUFZO0FBQ2pCLElBQUEsR0FBRyxFQUFFLFlBQVk7QUFDakIsSUFBQSxHQUFHLEVBQUUsbUJBQW1CO0FBQ3hCLElBQUEsR0FBRyxFQUFFLFlBQVk7QUFDakIsSUFBQSxHQUFHLEVBQUUsbUJBQW1CO0FBQ3hCLElBQUEsR0FBRyxFQUFFLHVCQUF1QjtBQUM1QixJQUFBLEdBQUcsRUFBRSx1QkFBdUI7QUFDNUIsSUFBQSxHQUFHLEVBQUUsb0JBQW9CO0FBQ3pCLElBQUEsR0FBRyxFQUFFLFNBQVM7QUFDZCxJQUFBLEdBQUcsRUFBRSxXQUFXO0FBQ2hCLElBQUEsR0FBRyxFQUFFLFlBQVk7QUFDakIsSUFBQSxHQUFHLEVBQUUsWUFBWTtBQUNqQixJQUFBLEtBQUssRUFBRSxXQUFXO0FBQ2xCLElBQUEsS0FBSyxFQUFFLFdBQVc7QUFDbEIsSUFBQSxLQUFLLEVBQUUsV0FBVztBQUNsQixJQUFBLEtBQUssRUFBRSxXQUFXO0FBQ2xCLElBQUEsS0FBSyxFQUFFLFdBQVc7QUFDbEIsSUFBQSxLQUFLLEVBQUUsV0FBVztBQUNsQixJQUFBLEtBQUssRUFBRSxXQUFXO0FBQ2xCLElBQUEsS0FBSyxFQUFFLFdBQVc7QUFDbEIsSUFBQSxLQUFLLEVBQUUsV0FBVztBQUNsQixJQUFBLEtBQUssRUFBRSxXQUFXO0FBQ2xCLElBQUEsS0FBSyxFQUFFLFdBQVc7QUFDbEIsSUFBQSxLQUFLLEVBQUUsV0FBVztBQUNsQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLHVCQUF1QjtBQUM3QixJQUFBLElBQUksRUFBRSx1QkFBdUI7QUFDN0IsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLHFCQUFxQjtBQUMzQixJQUFBLElBQUksRUFBRSx1QkFBdUI7QUFDN0IsSUFBQSxJQUFJLEVBQUUsd0JBQXdCO0FBQzlCLElBQUEsSUFBSSxFQUFFLHVCQUF1QjtBQUM3QixJQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLElBQUEsSUFBSSxFQUFFLGFBQWE7QUFDbkIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLENBQUMsRUFBRSxhQUFhO0FBQ2hCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxHQUFHLEVBQUUsV0FBVztBQUNoQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsdUJBQXVCO0FBQzdCLElBQUEsSUFBSSxFQUFFLFdBQVc7QUFDakIsSUFBQSxJQUFJLEVBQUUsVUFBVTtBQUNoQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsV0FBVztBQUNqQixJQUFBLElBQUksRUFBRSx3QkFBd0I7QUFDOUIsSUFBQSxJQUFJLEVBQUUsa0NBQWtDO0FBQ3hDLElBQUEsSUFBSSxFQUFFLGtDQUFrQztBQUN4QyxJQUFBLElBQUksRUFBRSxzQ0FBc0M7QUFDNUMsSUFBQSxJQUFJLEVBQUUsNEJBQTRCO0FBQ2xDLElBQUEsSUFBSSxFQUFFLDJCQUEyQjtBQUNqQyxJQUFBLElBQUksRUFBRSw0QkFBNEI7QUFDbEMsSUFBQSxJQUFJLEVBQUUsa0NBQWtDO0FBQ3hDLElBQUEsSUFBSSxFQUFFLDhCQUE4QjtBQUNwQyxJQUFBLElBQUksRUFBRSw4QkFBOEI7QUFDcEMsSUFBQSxJQUFJLEVBQUUsK0JBQStCO0FBQ3JDLElBQUEsSUFBSSxFQUFFLGlDQUFpQztBQUN2QyxJQUFBLElBQUksRUFBRSwyQkFBMkI7QUFDakMsSUFBQSxHQUFHLEVBQUUsbUNBQW1DO0FBQ3hDLElBQUEsR0FBRyxFQUFFLDBCQUEwQjtBQUMvQixJQUFBLElBQUksRUFBRSxxQ0FBcUM7QUFDM0MsSUFBQSxJQUFJLEVBQUUsOEJBQThCO0FBQ3BDLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxHQUFHLEVBQUUsY0FBYztBQUNuQixJQUFBLEdBQUcsRUFBRSxjQUFjO0FBQ25CLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxJQUFJLEVBQUUsYUFBYTtBQUNuQixJQUFBLElBQUksRUFBRSxlQUFlO0FBQ3JCLElBQUEsSUFBSSxFQUFFLGNBQWM7QUFDcEIsSUFBQSxHQUFHLEVBQUUsb0JBQW9CO0FBQ3pCLElBQUEsR0FBRyxFQUFFLG9CQUFvQjtBQUN6QixJQUFBLEdBQUcsRUFBRSxxQkFBcUI7QUFDMUIsSUFBQSxHQUFHLEVBQUUscUJBQXFCO0FBQzFCLElBQUEsR0FBRyxFQUFFLDJCQUEyQjtBQUNoQyxJQUFBLEdBQUcsRUFBRSwyQkFBMkI7QUFDaEMsSUFBQSxHQUFHLEVBQUUsb0JBQW9CO0FBQ3pCLElBQUEsR0FBRyxFQUFFLG9CQUFvQjtBQUN6QixJQUFBLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsSUFBQSxJQUFJLEVBQUUsb0JBQW9CO0FBQzFCLElBQUEsSUFBSSxFQUFFLHNCQUFzQjtBQUM1QixJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUseUJBQXlCO0FBQy9CLElBQUEsSUFBSSxFQUFFLDJCQUEyQjtBQUNqQyxJQUFBLElBQUksRUFBRSxvQkFBb0I7QUFDMUIsSUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixJQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsSUFBQSxJQUFJLEVBQUUscUJBQXFCO0FBQzNCLElBQUEsSUFBSSxFQUFFLGdCQUFnQjtBQUN0QixJQUFBLElBQUksRUFBRSxpQkFBaUI7QUFDdkIsSUFBQSxJQUFJLEVBQUUsZUFBZTtBQUNyQixJQUFBLElBQUksRUFBRSxZQUFZO0FBQ2xCLElBQUEsSUFBSSxFQUFFLFlBQVk7QUFDbEIsSUFBQSxRQUFRLEVBQUUsY0FBYztBQUN4QixJQUFBLFFBQVEsRUFBRSxrQkFBa0I7QUFDNUIsSUFBQSxPQUFPLEVBQUUsYUFBYTtBQUN0QixJQUFBLE1BQU0sRUFBRSx3QkFBd0I7QUFDaEMsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSw0QkFBNEI7QUFDcEMsSUFBQSxNQUFNLEVBQUUsbUJBQW1CO0FBQzNCLElBQUEsTUFBTSxFQUFFLHlCQUF5QjtBQUNqQyxJQUFBLE1BQU0sRUFBRSxnQkFBZ0I7QUFDeEIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLGlCQUFpQjtBQUN6QixJQUFBLE1BQU0sRUFBRSxzQkFBc0I7QUFDOUIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxpQkFBaUI7QUFDekIsSUFBQSxNQUFNLEVBQUUsYUFBYTtBQUNyQixJQUFBLE1BQU0sRUFBRSxxQkFBcUI7QUFDN0IsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLDRCQUE0QjtBQUNwQyxJQUFBLE1BQU0sRUFBRSxnQkFBZ0I7QUFDeEIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsb0JBQW9CO0FBQzVCLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsYUFBYTtBQUNyQixJQUFBLE1BQU0sRUFBRSxzQkFBc0I7QUFDOUIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsNkJBQTZCO0FBQ3JDLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLHFCQUFxQjtBQUM3QixJQUFBLE1BQU0sRUFBRSxnQkFBZ0I7QUFDeEIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsK0JBQStCO0FBQ3ZDLElBQUEsTUFBTSxFQUFFLHdCQUF3QjtBQUNoQyxJQUFBLE1BQU0sRUFBRSxnQ0FBZ0M7QUFDeEMsSUFBQSxNQUFNLEVBQUUsMkJBQTJCO0FBQ25DLElBQUEsTUFBTSxFQUFFLG1CQUFtQjtBQUMzQixJQUFBLE1BQU0sRUFBRSxxQkFBcUI7QUFDN0IsSUFBQSxNQUFNLEVBQUUsb0JBQW9CO0FBQzVCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsZ0JBQWdCO0FBQ3hCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsZ0JBQWdCO0FBQ3hCLElBQUEsTUFBTSxFQUFFLHlCQUF5QjtBQUNqQyxJQUFBLE1BQU0sRUFBRSxrQkFBa0I7QUFDMUIsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSxrQkFBa0I7QUFDMUIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSx3QkFBd0I7QUFDaEMsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsb0JBQW9CO0FBQzVCLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSwwQkFBMEI7QUFDbEMsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSx1QkFBdUI7QUFDL0IsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsc0JBQXNCO0FBQzlCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsYUFBYTtBQUNyQixJQUFBLE1BQU0sRUFBRSxnQkFBZ0I7QUFDeEIsSUFBQSxNQUFNLEVBQUUsc0JBQXNCO0FBQzlCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSx3QkFBd0I7QUFDaEMsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLHFCQUFxQjtBQUM3QixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsc0JBQXNCO0FBQzlCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxxQkFBcUI7QUFDN0IsSUFBQSxNQUFNLEVBQUUsZ0JBQWdCO0FBQ3hCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsaUJBQWlCO0FBQ3pCLElBQUEsTUFBTSxFQUFFLGlCQUFpQjtBQUN6QixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLHlCQUF5QjtBQUNqQyxJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLDhDQUE4QztBQUN0RCxJQUFBLE1BQU0sRUFBRSxpQkFBaUI7QUFDekIsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSxxQkFBcUI7QUFDN0IsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSwyQkFBMkI7QUFDbkMsSUFBQSxNQUFNLEVBQUUsZ0NBQWdDO0FBQ3hDLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxzQkFBc0I7QUFDOUIsSUFBQSxNQUFNLEVBQUUsaUJBQWlCO0FBQ3pCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSxtQkFBbUI7QUFDM0IsSUFBQSxNQUFNLEVBQUUsYUFBYTtBQUNyQixJQUFBLE1BQU0sRUFBRSxzQ0FBc0M7QUFDOUMsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSxZQUFZO0FBQ3BCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsYUFBYTtBQUNyQixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSxhQUFhO0FBQ3JCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxnQkFBZ0I7QUFDeEIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSx5QkFBeUI7QUFDakMsSUFBQSxNQUFNLEVBQUUsbUJBQW1CO0FBQzNCLElBQUEsTUFBTSxFQUFFLG1CQUFtQjtBQUMzQixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLHNCQUFzQjtBQUM5QixJQUFBLE1BQU0sRUFBRSxrQkFBa0I7QUFDMUIsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGlCQUFpQjtBQUN6QixJQUFBLE1BQU0sRUFBRSxxQkFBcUI7QUFDN0IsSUFBQSxNQUFNLEVBQUUsaUJBQWlCO0FBQ3pCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxpQkFBaUI7QUFDekIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsYUFBYTtBQUNyQixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxrQkFBa0I7QUFDMUIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLGtCQUFrQjtBQUMxQixJQUFBLE1BQU0sRUFBRSx3QkFBd0I7QUFDaEMsSUFBQSxNQUFNLEVBQUUsdUJBQXVCO0FBQy9CLElBQUEsTUFBTSxFQUFFLFlBQVk7QUFDcEIsSUFBQSxNQUFNLEVBQUUsdUJBQXVCO0FBQy9CLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSx1QkFBdUI7QUFDL0IsSUFBQSxNQUFNLEVBQUUsZ0NBQWdDO0FBQ3hDLElBQUEsTUFBTSxFQUFFLGtCQUFrQjtBQUMxQixJQUFBLE1BQU0sRUFBRSxrQkFBa0I7QUFDMUIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsaUJBQWlCO0FBQ3pCLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsZ0JBQWdCO0FBQ3hCLElBQUEsTUFBTSxFQUFFLGtCQUFrQjtBQUMxQixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLHFCQUFxQjtBQUM3QixJQUFBLE1BQU0sRUFBRSxhQUFhO0FBQ3JCLElBQUEsTUFBTSxFQUFFLHNCQUFzQjtBQUM5QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGlCQUFpQjtBQUN6QixJQUFBLE1BQU0sRUFBRSxtQkFBbUI7QUFDM0IsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSxhQUFhO0FBQ3JCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSxtQkFBbUI7QUFDM0IsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLFlBQVk7QUFDcEIsSUFBQSxNQUFNLEVBQUUsd0JBQXdCO0FBQ2hDLElBQUEsTUFBTSxFQUFFLHdCQUF3QjtBQUNoQyxJQUFBLE1BQU0sRUFBRSxtQkFBbUI7QUFDM0IsSUFBQSxNQUFNLEVBQUUsZ0JBQWdCO0FBQ3hCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsNkJBQTZCO0FBQ3JDLElBQUEsTUFBTSxFQUFFLHdCQUF3QjtBQUNoQyxJQUFBLE1BQU0sRUFBRSxtQkFBbUI7QUFDM0IsSUFBQSxNQUFNLEVBQUUsK0JBQStCO0FBQ3ZDLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxhQUFhO0FBQ3JCLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxhQUFhO0FBQ3JCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSxvQkFBb0I7QUFDNUIsSUFBQSxNQUFNLEVBQUUsdUJBQXVCO0FBQy9CLElBQUEsTUFBTSxFQUFFLGtCQUFrQjtBQUMxQixJQUFBLE1BQU0sRUFBRSxhQUFhO0FBQ3JCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsaUJBQWlCO0FBQ3pCLElBQUEsTUFBTSxFQUFFLGtCQUFrQjtBQUMxQixJQUFBLE1BQU0sRUFBRSxnQkFBZ0I7QUFDeEIsSUFBQSxNQUFNLEVBQUUsNEJBQTRCO0FBQ3BDLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxvQkFBb0I7QUFDNUIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxnQkFBZ0I7QUFDeEIsSUFBQSxNQUFNLEVBQUUsbUJBQW1CO0FBQzNCLElBQUEsTUFBTSxFQUFFLDJCQUEyQjtBQUNuQyxJQUFBLE1BQU0sRUFBRSxtQkFBbUI7QUFDM0IsSUFBQSxNQUFNLEVBQUUsb0JBQW9CO0FBQzVCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsZ0JBQWdCO0FBQ3hCLElBQUEsTUFBTSxFQUFFLHdCQUF3QjtBQUNoQyxJQUFBLE1BQU0sRUFBRSw4QkFBOEI7QUFDdEMsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSxtQ0FBbUM7QUFDM0MsSUFBQSxNQUFNLEVBQUUsWUFBWTtBQUNwQixJQUFBLE1BQU0sRUFBRSxnQkFBZ0I7QUFDeEIsSUFBQSxNQUFNLEVBQUUsa0JBQWtCO0FBQzFCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsbUJBQW1CO0FBQzNCLElBQUEsTUFBTSxFQUFFLG9CQUFvQjtBQUM1QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSx5QkFBeUI7QUFDakMsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSxjQUFjO0FBQ3RCLElBQUEsTUFBTSxFQUFFLGdCQUFnQjtBQUN4QixJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsNkJBQTZCO0FBQ3JDLElBQUEsTUFBTSxFQUFFLHNCQUFzQjtBQUM5QixJQUFBLE1BQU0sRUFBRSxxQkFBcUI7QUFDN0IsSUFBQSxNQUFNLEVBQUUsZUFBZTtBQUN2QixJQUFBLE1BQU0sRUFBRSxrQkFBa0I7QUFDMUIsSUFBQSxNQUFNLEVBQUUsb0JBQW9CO0FBQzVCLElBQUEsTUFBTSxFQUFFLGdDQUFnQztBQUN4QyxJQUFBLE1BQU0sRUFBRSxpQkFBaUI7QUFDekIsSUFBQSxNQUFNLEVBQUUsOEJBQThCO0FBQ3RDLElBQUEsTUFBTSxFQUFFLDJCQUEyQjtBQUNuQyxJQUFBLE1BQU0sRUFBRSxlQUFlO0FBQ3ZCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsdUJBQXVCO0FBQy9CLElBQUEsTUFBTSxFQUFFLGFBQWE7QUFDckIsSUFBQSxNQUFNLEVBQUUsY0FBYztBQUN0QixJQUFBLE1BQU0sRUFBRSxhQUFhO0FBQ3JCLElBQUEsTUFBTSxFQUFFLGVBQWU7QUFDdkIsSUFBQSxNQUFNLEVBQUUsb0JBQW9CO0FBQzVCLElBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsSUFBQSxNQUFNLEVBQUUsZ0JBQWdCO0FBQ3hCLElBQUEsZ0JBQWdCLEVBQUUsZUFBZTtBQUNqQyxJQUFBLGdCQUFnQixFQUFFLGdCQUFnQjtBQUNsQyxJQUFBLGdCQUFnQixFQUFFLGFBQWE7Q0FDaEM7O0FDdnpERDs7Ozs7Ozs7QUFRRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBd0IsS0FBWTtBQUNsRSxJQUFpQixNQUFNLENBQUMsV0FBVyxHQUFHO0FBQ3RDOzs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JHO0lBRUgsT0FBTyxxQkFBcUIsRUFBRSxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7OztBQVdHO0FBQ0ksTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQXdCLEVBQUUsSUFBWSxFQUFFLEVBQWUsS0FBWTs7QUFFcEcsSUFBQSxNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQy9DLElBQUEsTUFBTSxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNqRCxJQUFBLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUN2QixRQUFBLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFBLE9BQUEsRUFBVSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFBLEdBQUEsQ0FBSyxDQUFDLENBQUM7QUFDNUUsS0FBQTtBQUNELElBQUEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO0FBQ3hCLFFBQUEsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUEsUUFBQSxFQUFXLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUEsR0FBQSxDQUFLLENBQUMsQ0FBQztBQUM5RSxLQUFBOztBQUdELElBQUEsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDOztJQUcxRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxDQUFDO0FBQ2hELElBQUEsTUFBTSxnQkFBZ0IsR0FBRztBQUN2QixRQUFBLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDOUMsUUFBQSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDO0FBQ3BELFFBQUEsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQztBQUNqRCxRQUFBLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7S0FDeEQsQ0FBQztBQUNGLElBQUEsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFO1FBQ3BDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUcsRUFBQSxnQkFBZ0IsQ0FBQyxHQUFHLENBQU0sR0FBQSxFQUFBLGdCQUFnQixDQUFDLEtBQUssQ0FBQSxHQUFBLEVBQU0sZ0JBQWdCLENBQUMsTUFBTSxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQSxFQUFBLENBQUksQ0FBQztBQUNuSSxLQUFBO0FBRUQsSUFBQSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLENBQXFCLEVBQUUsSUFBQSxHQUEwQixNQUFNLEtBQVk7SUFDckcsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDaEcsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUU7QUFDbkIsUUFBQSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFJO0FBQzNCLFlBQUEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUM3RCxnQkFBQSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBRyxFQUFBLElBQUksS0FBSyxDQUFDLEtBQUEsSUFBQSxJQUFELENBQUMsS0FBRCxLQUFBLENBQUEsR0FBQSxDQUFDLEdBQUksY0FBYyxDQUFBLENBQUEsQ0FBRyxDQUFDLENBQUM7QUFDaEUsYUFBQTtpQkFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDdEQsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hDLGFBQUE7QUFDSCxTQUFDLENBQUMsQ0FBQztBQUNKLEtBQUE7QUFFRCxJQUFBLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0FBUUc7QUFDSSxNQUFNLGFBQWEsR0FBRyxDQUMzQixNQUF3QixFQUN4QixJQUEyQyxFQUMzQyx1QkFBOEMsRUFDOUMsUUFBcUIsS0FDYjtBQUNSLElBQUEsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzVFLElBQUEsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksS0FBSTtRQUNyQyxJQUFJLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEQsT0FBTztBQUNSLFNBQUE7QUFFRCxRQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7O1FBRy9DLE1BQU0sbUJBQW1CLEdBQTRCLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSTtBQUN0QixZQUFBLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNuQyxTQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSTtZQUNqQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2RCxZQUFBLElBQUksUUFBUSxFQUFFO0FBQ1osZ0JBQUEsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztBQUNqQyxnQkFBQSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDOztBQUczQyxnQkFBQSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7QUFDbEUsb0JBQUEsTUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQ3BFLG9CQUFBLElBQUksUUFBUSxFQUFFO3dCQUNaLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUN6RSx3QkFBQSxJQUFJLFlBQVksRUFBRTs0QkFDaEIsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3ZCLHlCQUFBO0FBRUQsd0JBQUEsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ3JDLHdCQUFBLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFcEQsd0JBQUEsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUU3Qyx3QkFBQSxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM5QyxxQkFBQTtvQkFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFO3dCQUN0RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNuRix3QkFBQSxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7QUFDbEQsd0JBQUEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSTtBQUNsQiw0QkFBQSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ2hDLGdDQUFBLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dDQUNoRSxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDN0YsZ0NBQUEsSUFBSSxZQUFZLEVBQUU7b0NBQ2hCLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUN2QixpQ0FBQTtnQ0FFRCxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDekQsZ0NBQUEsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUVwRCxnQ0FBQSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0NBRXhELG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3RGLDZCQUFBO0FBQ0gseUJBQUMsQ0FBQyxDQUFDO0FBQ0oscUJBQUE7QUFDRixpQkFBQTtBQUNGLGFBQUE7QUFDSCxTQUFDLENBQUMsQ0FBQztBQUVILFFBQUEsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQWdCLEVBQUUsSUFBbUIsS0FBSTtBQUNsRSxZQUFBLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4RCxZQUFBLElBQUksUUFBUSxFQUFFO0FBQ1osZ0JBQUEsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztBQUNqQyxnQkFBQSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO2dCQUMzQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxZQUFZLEVBQUU7QUFDakIsb0JBQUEsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ3JDLG9CQUFBLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFcEQsb0JBQUEsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUUxRCxvQkFBQSxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM5QyxpQkFBQTtBQUNGLGFBQUE7QUFDSCxTQUFDLENBQUM7O1FBR0YsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUk7WUFDMUMsSUFBSTs7Z0JBRUYsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BDLGdCQUFBLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQU8sSUFBSSxLQUFJLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO29CQUMxRCxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0FBQ3ZFLG9CQUFBLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFO0FBQ2hFLHdCQUFBLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvQixxQkFBQTtpQkFDRixDQUFBLENBQUMsQ0FBQztBQUNKLGFBQUE7WUFBQyxPQUFNLEVBQUEsRUFBQTs7QUFFTixnQkFBQSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFPLElBQUksS0FBSSxTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtvQkFDMUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQztBQUN2RSxvQkFBQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7QUFDdkUsd0JBQUEsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9CLHFCQUFBO2lCQUNGLENBQUEsQ0FBQyxDQUFDO0FBQ0osYUFBQTtBQUNILFNBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBQSxJQUFJLFFBQVEsRUFBRTtBQUNaLFlBQUEsUUFBUSxFQUFFLENBQUM7QUFDWixTQUFBO0FBQ0gsS0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFSyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLE1BQXdCLEVBQ3hCLHVCQUE4QyxFQUM5QyxRQUFnQixFQUNoQixRQUFnQixLQUNSO0FBQ1IsSUFBQSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDNUUsSUFBQSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxLQUFJO1FBQ3JDLElBQUksdUJBQXVCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2RCxZQUFBLElBQUksUUFBUSxFQUFFO2dCQUNaLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDOUMsZ0JBQUEsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUVwRCxnQkFBQSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUU3QyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2hFLGFBQUE7QUFDRixTQUFBO0FBQ0gsS0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7Ozs7O0FBTUc7QUFDSSxNQUFNLGdCQUFnQixHQUFHLENBQUMsTUFBd0IsS0FBVTtJQUNqRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLElBQUEsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzVFLElBQUEsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksS0FBSTtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSTtZQUNyQixNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxZQUFBLElBQUksUUFBUSxFQUFFO0FBQ1osZ0JBQUEsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDakMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBZ0IsQ0FBQztBQUNwRixnQkFBQSxRQUFRLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQy9FLGFBQUE7QUFDSCxTQUFDLENBQUMsQ0FBQztBQUNMLEtBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7Ozs7O0FBS0c7QUFDSSxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFnQixLQUFVO0FBQ3BFLElBQUEsTUFBTSxJQUFJLEdBQUcsRUFBRSxLQUFGLElBQUEsSUFBQSxFQUFFLGNBQUYsRUFBRSxHQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQSxZQUFBLEVBQWUsSUFBSSxDQUFBLEVBQUEsQ0FBSSxDQUFDLENBQUM7SUFDbkUsSUFBSSxDQUFDLElBQUksRUFBRTtBQUNULFFBQUEsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RCxPQUFPO0FBQ1IsS0FBQTtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNsRSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2IsT0FBTztBQUNSLEtBQUE7SUFFRCxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRUssTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUF3QixFQUFFLElBQW1CLEtBQUk7O0lBRTFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQU8sSUFBSSxLQUFJLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ2hELFFBQUEsdUJBQXVCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUM3QyxDQUFBLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7QUFNRztBQUNJLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxJQUFnQixFQUFFLElBQVksS0FBYTtJQUNsRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ25DLElBQUk7O1FBRUYsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BDLFFBQUEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQ3JCLFlBQUEsT0FBTyxJQUFJLENBQUM7QUFDYixTQUFBO0FBQ0YsS0FBQTtJQUFDLE9BQU0sRUFBQSxFQUFBOztRQUVOLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDNUIsWUFBQSxPQUFPLElBQUksQ0FBQztBQUNiLFNBQUE7QUFDRixLQUFBO0FBRUQsSUFBQSxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGOzs7OztBQUtHO0FBQ0ksTUFBTSw0QkFBNEIsR0FBRyxDQUFDLE1BQXdCLEVBQUUsSUFBZ0IsS0FBVTtBQUMvRixJQUFBLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ2hFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLFVBQVUsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQ3RELENBQUM7SUFFRixNQUFNLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBTyxZQUFZLEtBQUksU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7UUFDakUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFJLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ3ZDLFlBQUEsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO1lBQ2xFLE1BQU0sUUFBUSxHQUNaLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVE7a0JBQ3JDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQXNCLENBQUMsUUFBUTtrQkFDckQsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE1BQU0seUJBQXlCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQztBQUVoSCxZQUFBLE1BQU0sWUFBWSxHQUFHLFFBQVEsSUFBSSx5QkFBeUIsQ0FBQztBQUMzRCxZQUFBLElBQUksQ0FBQyxZQUFZLElBQUksd0JBQXdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRTtBQUMvRixnQkFBQSxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QyxhQUFBO1NBQ0YsQ0FBQSxDQUFDLENBQUM7S0FDSixDQUFBLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVLLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxNQUF3QixFQUFFLElBQWdCLEtBQVU7SUFDMUYsSUFBSTs7UUFFRixNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDcEMsUUFBQSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFPLElBQUksS0FBSSxTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtZQUMxRCxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0FBQ3ZFLFlBQUEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7QUFDaEUsZ0JBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BELGFBQUE7U0FDRixDQUFBLENBQUMsQ0FBQztBQUNKLEtBQUE7SUFBQyxPQUFNLEVBQUEsRUFBQTs7QUFFTixRQUFBLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQU8sSUFBSSxLQUFJLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO1lBQzFELE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDdkUsWUFBQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7QUFDdkUsZ0JBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BELGFBQUE7U0FDRixDQUFBLENBQUMsQ0FBQztBQUNKLEtBQUE7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBZ0IsRUFBRSxRQUEyQixLQUFhO0FBQ3BGLElBQUEsUUFDRSxJQUFJLENBQUMsR0FBRyxLQUFLLFlBQVk7U0FDeEIsSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksUUFBUSxLQUFLLE1BQU0sQ0FBQztTQUM1QyxJQUFJLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLEVBQ2pEO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7OztBQU1HO0FBQ0ksTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxNQUF3QixFQUN4QixJQUFnQixFQUNoQixJQUFvQixLQUNILFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0lBQ2pCLElBQUk7O1FBRUYsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BDLFFBQUEsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0FBQ3ZFLFlBQUEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7QUFDaEUsZ0JBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BELGFBQUE7QUFDRixTQUFBO0FBQU0sYUFBQTtZQUNMLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFPLFlBQVksS0FBSSxTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtnQkFDakUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3JELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSSxTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUN2QyxvQkFBQSxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDbEUsb0JBQUEsSUFBSSxRQUFRLEVBQUU7d0JBQ1osTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN2Qyx3QkFBQSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFO0FBQy9ELDRCQUFBLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7QUFDakMsNEJBQUEsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQzs0QkFDM0MsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDOzRCQUN6RSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ2pCLGdDQUFBLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUNyQyxnQ0FBQSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dDQUVwRCxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztBQUU5QyxnQ0FBQSxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM5Qyw2QkFBQTtBQUNGLHlCQUFBO0FBQ0YscUJBQUE7aUJBQ0YsQ0FBQSxDQUFDLENBQUM7YUFDSixDQUFBLENBQUMsQ0FBQztBQUNKLFNBQUE7QUFDRixLQUFBO0lBQUMsT0FBTSxFQUFBLEVBQUE7O0FBRU4sUUFBQSxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDdkUsWUFBQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7QUFDdkUsZ0JBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BELGFBQUE7QUFDRixTQUFBO0FBQU0sYUFBQTtBQUNMLFlBQUEsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBTyxJQUFJLEtBQUksU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7Z0JBQzFELE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDdkUsZ0JBQUEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFO0FBQ3ZFLG9CQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwRCxpQkFBQTthQUNGLENBQUEsQ0FBQyxDQUFDO0FBQ0osU0FBQTtBQUNGLEtBQUE7QUFDSCxDQUFDLENBQUEsQ0FBQztBQUVGOzs7Ozs7OztBQVFHO0FBQ0ksTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUF3QixFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsS0FBYyxLQUFVO0FBQ3JHLElBQUEsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDMUIsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3JCLEtBQUE7SUFFRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQWUsWUFBQSxFQUFBLElBQUksQ0FBSSxFQUFBLENBQUEsQ0FBQyxDQUFDO0lBQzdELElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDVCxRQUFBLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEQsT0FBTztBQUNSLEtBQUE7SUFFRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDaEUsSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUNkLFFBQUEsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsU0FBUyxFQUFFO0FBQ2QsWUFBQSxPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDOUMsT0FBTztBQUNSLFNBQUE7QUFDRixLQUFBOztJQUdELE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQ2pGLElBQUEsSUFBSSx1QkFBdUIsRUFBRTtRQUMzQix1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUNsQyxLQUFBO0lBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQyxJQUFBLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFFcEQsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFaEQsSUFBQSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFFRjs7Ozs7OztBQU9HO0FBQ0ksTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQXdCLEVBQUUsSUFBWSxFQUFFLElBQWlCLEVBQUUsS0FBYyxLQUFVO0FBQ2xILElBQUEsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztBQUVySCxJQUFBLElBQUksWUFBWSxFQUFFO1FBQ2hCLElBQUksV0FBVyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakUsUUFBQSxJQUFJLEtBQUssRUFBRTtBQUNULFlBQUEsV0FBVyxHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakQsU0FBQTtBQUNELFFBQUEsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFDOUIsS0FBQTtBQUFNLFNBQUE7QUFDTCxRQUFBLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO0FBQ2hDLFlBQUEsTUFBTSxFQUFFLEtBQUs7QUFDYixZQUFBLEdBQUcsRUFBRSxNQUFNO0FBQ1gsWUFBQSxVQUFVLEVBQUUsT0FBTztBQUNqQixnQkFBQSxLQUFLLEVBQUUsTUFBTTtBQUNiLGdCQUFBLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQztBQUNILFNBQUEsQ0FBUSxDQUFDO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFELEtBQUE7QUFDSCxDQUFDLENBQUM7QUFFRjs7Ozs7O0FBTUc7QUFDSSxNQUFNLHVCQUF1QixHQUFHLENBQUMsTUFBd0IsRUFBRSxVQUFrQixLQUFVO0lBQzVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM1QyxJQUFBLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQ3pDLE9BQU87QUFDUixLQUFBOztJQUdELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3JGLElBQUEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSTtRQUNsQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDNUIsWUFBQSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RCLFlBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqQyxTQUFBO1FBRUQsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFHLE1BQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM1RCxLQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7QUFNRztBQUNJLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUF3QixFQUFFLFVBQWtCLEtBQVU7SUFDL0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVDLElBQUEsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDekMsT0FBTztBQUNSLEtBQUE7O0lBR0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDckYsSUFBQSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFJOztRQUVsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUM3QixZQUFBLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEIsWUFBQSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLFNBQUE7QUFDSCxLQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVLLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBVyxLQUFhO0FBQzlDLElBQUEsTUFBTSxNQUFNLEdBQUc7QUFDYixRQUFBLGttQkFBa21CO0tBQ25tQixDQUFDO0lBRUYsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtBQUMvQixRQUFBLE9BQU8sSUFBSSxDQUFDO0FBQ2IsS0FBQTtBQUFNLFNBQUE7QUFDTCxRQUFBLE9BQU8sS0FBSyxDQUFDO0FBQ2QsS0FBQTtBQUNILENBQUMsQ0FBQztBQUVLLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBd0IsS0FBYztJQUNuRSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7QUFFNUIsSUFBQSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFJO1FBQ3hELElBQUksR0FBRyxLQUFLLFVBQVUsRUFBRTtBQUN0QixZQUFBLE1BQU0sS0FBSyxHQUFJLEtBQTRCLENBQUMsS0FBSyxDQUFDO0FBQ2xELFlBQUEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWdCLEtBQUk7QUFDakMsZ0JBQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDdkIsb0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDeEIsaUJBQUE7QUFDSCxhQUFDLENBQUMsQ0FBQztBQUNKLFNBQUE7QUFBTSxhQUFBLElBQUksR0FBRyxLQUFLLFVBQVUsSUFBSSxHQUFHLEtBQUssVUFBVSxFQUFFO1lBQ25ELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQ2hELGdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEIsYUFBQTtBQUFNLGlCQUFBLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxNQUFNLENBQUMsR0FBRyxLQUF5QixDQUFDO0FBQ3BDLGdCQUFBLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO0FBQy9DLG9CQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLGlCQUFBO0FBQ0QsZ0JBQUEsSUFBSSxDQUFDLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUU7QUFDN0Qsb0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDaEMsaUJBQUE7QUFDRixhQUFBO0FBQ0YsU0FBQTtBQUNILEtBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBQSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFSyxNQUFNLFlBQVksR0FBRyxDQUFPLElBQVUsS0FBcUIsU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7SUFDaEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sS0FBSTtBQUNwRCxRQUFBLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7QUFDaEMsUUFBQSxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqQyxRQUFBLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBZ0IsQ0FBQyxDQUFDO0FBQ2hGLEtBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBQSxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUEsQ0FBQztBQUVLLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBd0IsRUFBRSxRQUFnQixLQUF3Qjs7QUFDOUYsSUFBQSxJQUFJLFFBQVEsS0FBSyxVQUFVLElBQUksUUFBUSxLQUFLLFVBQVUsRUFBRTtRQUN0RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDaEQsWUFBQSxPQUFPLEtBQUssQ0FBQztBQUNkLFNBQUE7QUFBTSxhQUFBLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxHQUFHLEtBQXlCLENBQUM7QUFDcEMsWUFBQSxJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDL0MsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ25CLGFBQUE7QUFDRCxZQUFBLElBQUksQ0FBQyxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUM3RCxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUM7QUFDMUIsYUFBQTtBQUNGLFNBQUE7QUFDRixLQUFBO0FBRUQsSUFBQSxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUEsR0FBQSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUF3QixNQUFFLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFBLEtBQUssQ0FBQztJQUMxRSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBZ0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksd0JBQXdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDL0csSUFBQSxJQUFJLElBQUksRUFBRTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztBQUNsQixLQUFBO0FBRUQsSUFBQSxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFSyxNQUFNLHNCQUFzQixHQUFHLENBQUMsTUFBd0IsS0FBSTtJQUNqRSxNQUFNLE1BQU0sR0FBcUMsRUFBRSxDQUFDO0FBQ3BELElBQUEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQXNDLEtBQUk7QUFDN0YsUUFBQSxJQUFJLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxLQUFLLFVBQVUsRUFBRTtBQUM1QyxZQUFBLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO0FBQzdCLGdCQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDNUIsT0FBTztBQUNSLGlCQUFBO0FBQ0YsYUFBQTtBQUVELFlBQUEsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7QUFDN0IsZ0JBQUEsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDdkQsb0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7b0JBQzVDLE9BQU87QUFDUixpQkFBQTtBQUNELGdCQUFBLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFO0FBQ3JFLG9CQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO29CQUNuRCxPQUFPO0FBQ1IsaUJBQUE7QUFDRixhQUFBO0FBQ0YsU0FBQTtBQUNILEtBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBQSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDOztBQ3RvQm9CLE1BQUEsZ0JBQWlCLFNBQVFDLDBCQUFzQixDQUFBO0FBUWxFLElBQUEsV0FBQSxDQUFZLEdBQVEsRUFBRSxNQUF3QixFQUFFLElBQVksRUFBQTtRQUMxRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFMTCxJQUFXLENBQUEsV0FBQSxHQUFXLENBQUMsQ0FBQztBQU05QixRQUFBLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLFFBQUEsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7QUFDakIsUUFBQSxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUVqQixNQUFNLHdCQUF3QixHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUM3RSxRQUFBLElBQUksQ0FBQyxpQkFBaUIsR0FBRyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEtBQUk7WUFDOUUsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZELFNBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQUNwRTtJQUVELE1BQU0sR0FBQTtRQUNKLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUNoQjtJQUVELE9BQU8sR0FBQTtBQUNMLFFBQUEsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMzQixTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDbkI7QUFFRCxJQUFBLFdBQVcsQ0FBQyxJQUFVLEVBQUE7UUFDcEIsT0FBTyxDQUFBLEVBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUEsQ0FBRyxDQUFDO0tBQ3hDO0lBRUQsUUFBUSxHQUFBO1FBQ04sTUFBTSxRQUFRLEdBQVcsRUFBRSxDQUFDO1FBRTVCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUNuQyxZQUFBLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUk7O0FBRTFDLGdCQUFBLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDO0FBQ1osd0JBQUEsSUFBSSxFQUFFQyxjQUFLLENBQUMsUUFBUSxDQUFDO0FBQ3JCLHdCQUFBLE1BQU0sRUFBRSxTQUFTO0FBQ2pCLHdCQUFBLFdBQVcsRUFBRSxRQUFRO0FBQ3RCLHFCQUFBLENBQUMsQ0FBQztvQkFDSCxPQUFPO0FBQ1IsaUJBQUE7QUFFRCxnQkFBQSxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUM7QUFDWixvQkFBQSxJQUFJLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7b0JBQ3BDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUM7QUFDekMsb0JBQUEsV0FBVyxFQUFFLFFBQVE7QUFDdEIsaUJBQUEsQ0FBQyxDQUFDO0FBQ0wsYUFBQyxDQUFDLENBQUM7QUFDSixTQUFBO1FBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9DLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtBQUNuQixnQkFBQSxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSTtBQUNyQyxhQUFBLENBQUMsQ0FBQztBQUNKLFNBQUE7QUFFRCxRQUFBLE1BQU0sQ0FBQyxPQUFPLENBQUNBLGNBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxLQUFJO1lBQ3JELFFBQVEsQ0FBQyxJQUFJLENBQUM7QUFDWixnQkFBQSxJQUFJLEVBQUUsU0FBUztBQUNmLGdCQUFBLE1BQU0sRUFBRSxTQUFTO0FBQ2pCLGdCQUFBLFdBQVcsRUFBRSxPQUFPO0FBQ3JCLGFBQUEsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQztBQUNaLGdCQUFBLElBQUksRUFBRSxPQUFPO0FBQ2IsZ0JBQUEsTUFBTSxFQUFFLFNBQVM7QUFDakIsZ0JBQUEsV0FBVyxFQUFFLE9BQU87QUFDckIsYUFBQSxDQUFDLENBQUM7QUFDTCxTQUFDLENBQUMsQ0FBQztBQUVILFFBQUEsT0FBTyxRQUFRLENBQUM7S0FDakI7QUFFRCxJQUFBLFlBQVksQ0FBQyxJQUFtQixFQUFBO0FBQzlCLFFBQUEsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7QUFDNUIsWUFBQSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNwRCxTQUFBO0FBQU0sYUFBQTtZQUNMLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDeEMsU0FBQTtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDNUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFzQixFQUFFLEVBQWUsRUFBQTtBQUN0RCxRQUFBLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7Ozs7QUFTakMsUUFBQSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7QUFDMUUsWUFBQSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDdkQsZ0JBQUEsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztBQUM5RCxnQkFBQSxXQUFXLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDO0FBQy9DLGdCQUFBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDN0MsYUFBQTtpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUN2RCxnQkFBQSxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBQzlELGdCQUFBLFdBQVcsQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO0FBQ3JDLGdCQUFBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDNUMsYUFBQTtBQUNGLFNBQUE7QUFFRCxRQUFBLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO0FBQ2hDLFlBQUEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7QUFDbEMsZ0JBQUEsRUFBRSxDQUFDLFNBQVMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQXdELHFEQUFBLEVBQUEsT0FBTyxDQUFDLEtBQUssQ0FDdEcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQ3RCLFFBQVEsQ0FBQztBQUNYLGFBQUE7QUFBTSxpQkFBQTtnQkFDTCxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUEsS0FBQSxFQUFRLEVBQUUsQ0FBQyxTQUFTLENBQXdELHFEQUFBLEVBQUEsb0JBQW9CLENBQzdHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDZixDQUFBLE1BQUEsQ0FBUSxDQUFDO0FBQ1gsYUFBQTtBQUNGLFNBQUE7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDcEI7QUFDRjs7QUN4SE0sTUFBTSxnQkFBZ0IsR0FBdUI7QUFDbEQsSUFBQSxRQUFRLEVBQUUsS0FBSztBQUNmLElBQUEsYUFBYSxFQUFFLDhDQUE4QztBQUM3RCxJQUFBLFFBQVEsRUFBRSxFQUFFO0FBQ1osSUFBQSxTQUFTLEVBQUUsSUFBSTtBQUNmLElBQUEsaUJBQWlCLEVBQUUsRUFBRTtBQUNyQixJQUFBLHFCQUFxQixFQUFFLENBQUM7QUFDeEIsSUFBQSxLQUFLLEVBQUUsRUFBRTtBQUNULElBQUEsV0FBVyxFQUFFO0FBQ1gsUUFBQSxHQUFHLEVBQUUsQ0FBQztBQUNOLFFBQUEsS0FBSyxFQUFFLENBQUM7QUFDUixRQUFBLE1BQU0sRUFBRSxDQUFDO0FBQ1QsUUFBQSxJQUFJLEVBQUUsQ0FBQztBQUNSLEtBQUE7Q0FDRjs7QUNwQ0QsTUFBTSxZQUFZLEdBQUc7QUFDbkIsSUFBQTtBQUNFLFFBQUEsaUJBQWlCLEVBQUUsSUFBSTtBQUN2QixRQUFBLFVBQVUsRUFBRSxRQUFRO0FBQ3BCLFFBQUEsY0FBYyxFQUFFLEtBQUs7QUFDdEIsS0FBQTtBQUNELElBQUE7QUFDRSxRQUFBLGlCQUFpQixFQUFFLElBQUk7QUFDdkIsUUFBQSxVQUFVLEVBQUUsTUFBTTtBQUNsQixRQUFBLGNBQWMsRUFBRSxLQUFLO0FBQ3RCLEtBQUE7QUFDRCxJQUFBO0FBQ0UsUUFBQSxpQkFBaUIsRUFBRSxJQUFJO0FBQ3ZCLFFBQUEsVUFBVSxFQUFFLE1BQU07QUFDbEIsUUFBQSxjQUFjLEVBQUUsS0FBSztBQUN0QixLQUFBO0NBQ0YsQ0FBQztBQUVLLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBd0IsS0FBSTtBQUN2RCxJQUFBLE1BQU0sSUFBSSxHQUFRLE1BQUEsQ0FBQSxNQUFBLENBQUEsRUFBQSxFQUFBLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBRSxDQUFDO0FBQ3JDLElBQUEsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFL0MsSUFBQSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFJO0FBQ3hCLFFBQUEsSUFBSSxLQUFLLEVBQUU7QUFDVCxZQUFBLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO0FBRTdCLFlBQUEsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FDakMsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUM3RyxDQUFDO0FBRUYsWUFBQSxJQUFJLFNBQVMsRUFBRTtnQkFDYixJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ1Asb0JBQUEsU0FBUyxDQUFDLGNBQWM7QUFDeEIsd0JBQUEsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDNUYsYUFBQTtBQUNGLFNBQUE7QUFDSCxLQUFDLENBQUMsQ0FBQztBQUVILElBQUEsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDOztBQ3hDYSxNQUFnQixpQkFBaUIsQ0FBQTtJQUk3QyxXQUFZLENBQUEsTUFBd0IsRUFBRSxXQUF3QixFQUFBO0FBQzVELFFBQUEsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsUUFBQSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztLQUNoQztBQUdGOztBQ0tvQixNQUFBLHFCQUFzQixTQUFRLGlCQUFpQixDQUFBO0FBT2xFLElBQUEsV0FBQSxDQUFZLE1BQXdCLEVBQUUsV0FBd0IsRUFBRSxjQUEwQixFQUFBO0FBQ3hGLFFBQUEsS0FBSyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztBQUMzQixRQUFBLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyRCxRQUFBLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztBQUM5QyxRQUFBLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLDBCQUEwQixDQUFDO0tBQzdEO0FBRU8sSUFBQSxxQkFBcUIsQ0FBQyxLQUFhLEVBQUE7UUFDekMsT0FBTyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNoRDtBQUVPLElBQUEsZUFBZSxDQUFDLEtBQVksRUFBQTtRQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0tBQ3pCO0FBRU8sSUFBQSxTQUFTLENBQUMsRUFBZSxFQUFBO0FBQy9CLFFBQUEsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUU5QixRQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7QUFDM0IsWUFBQSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFBLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDbEQsWUFBQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0FBQzdCLFNBQUE7S0FDRjtJQUVPLFdBQVcsQ0FBQyxNQUFtQixFQUFFLEVBQWUsRUFBQTtRQUN0RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssTUFBTSxFQUFFO1lBQy9ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDekUsWUFBQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO0FBQ3BDLFNBQUE7QUFFRCxRQUFBLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDOUIsUUFBQSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFLO1lBQ2hDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO0FBQzFCLGdCQUFBLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3JDLGdCQUFBLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDckQsZ0JBQUEsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztBQUNwQyxhQUFBO1NBQ0YsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNUO0lBRU0sT0FBTyxHQUFBO0FBQ1osUUFBQSxJQUFJQyxnQkFBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDMUIsT0FBTyxDQUFDLHNCQUFzQixDQUFDO2FBQy9CLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQztBQUNqQyxhQUFBLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSTtBQUNoQixZQUFBLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUMzQyxZQUFBLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0FBQzVCLFNBQUMsQ0FBQztBQUNELGFBQUEsU0FBUyxDQUFDLENBQUMsR0FBRyxLQUFJO0FBQ2pCLFlBQUEsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNuQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBQ3ZDLFlBQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFXLFNBQUEsQ0FBQSxJQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtnQkFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUMzQyxnQkFBQSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUNyQixPQUFPO0FBQ1IsaUJBQUE7QUFFRCxnQkFBQSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUVqRixJQUFJLE1BQU0saUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRTtBQUN4RCxvQkFBQSxJQUFJSixlQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztvQkFDeEMsT0FBTztBQUNSLGlCQUFBO2dCQUVELE1BQU0sdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztBQUMzRCxnQkFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0FBQ3RCLGdCQUFBLElBQUlBLGVBQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2FBQy9DLENBQUEsQ0FBQyxDQUFDO0FBQ0wsU0FBQyxDQUFDLENBQUM7QUFFTCxRQUFBLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsS0FBSTtZQUNyQyxNQUFNLGVBQWUsR0FBRyxJQUFJSSxnQkFBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7QUFDbEQsaUJBQUEsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7aUJBQ3RCLE9BQU8sQ0FBQyxnQkFBZ0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUUsQ0FBQSxDQUFDLENBQUM7QUFDcEQsWUFBQSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxLQUFJO0FBQ2hDLGdCQUFBLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDM0IsZ0JBQUEsR0FBRyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3ZDLGdCQUFBLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBVyxTQUFBLENBQUEsSUFBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7QUFDckIsb0JBQUEsSUFBSUosZUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7b0JBQ3RDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUN0QyxvQkFBQSxNQUFNLEtBQUssR0FBRyxNQUFNLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBRyxFQUFBLE9BQU8sRUFBRSxDQUFJLENBQUEsRUFBQSxRQUFRLENBQUMsSUFBSSxDQUFBLENBQUUsQ0FBQyxDQUFDO0FBQ3RGLG9CQUFBLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3JDLHdCQUFBLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDMUIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUMzQyx3QkFBQSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNoRSxNQUFNLFdBQVcsR0FBRyxJQUFJO0FBQ3JCLDZCQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQztBQUNsRCw2QkFBQSxPQUFPLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFFbEQsd0JBQUEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7d0JBQ2pFLE1BQU0saUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQzt3QkFFL0MsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDekQscUJBQUE7QUFDRCxvQkFBQSxJQUFJQSxlQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQzs7b0JBR3hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFJLFNBQUEsQ0FBQSxJQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUM3RCx3QkFBQSxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMxRSx3QkFBQSxJQUFJLGFBQWEsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7NEJBQzFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdCLHlCQUFBO3FCQUNGLENBQUEsQ0FBQyxDQUFDO2lCQUNKLENBQUEsQ0FBQyxDQUFDO0FBQ0wsYUFBQyxDQUFDLENBQUM7QUFDSCxZQUFBLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEtBQUk7QUFDaEMsZ0JBQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMxQixnQkFBQSxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzlCLGdCQUFBLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBVyxTQUFBLENBQUEsSUFBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7b0JBQ3JCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckQsb0JBQUEsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUMsb0JBQUEsWUFBWSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbEQsb0JBQUEsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQzVDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNyQixvQkFBQSxZQUFZLENBQUMsUUFBUSxHQUFHLENBQU8sQ0FBQyxLQUFJLFNBQUEsQ0FBQSxJQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUNsQyx3QkFBQSxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBMEIsQ0FBQztBQUM1Qyx3QkFBQSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7NEJBQzVDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFTLENBQUM7QUFDckMsNEJBQUEsTUFBTSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekMsNEJBQUEsTUFBTSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7NEJBQ2pFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyRCw0QkFBQSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUEsYUFBQSxFQUFnQixRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFBLENBQUEsQ0FBRyxDQUFDLENBQUM7QUFDeEYseUJBQUE7QUFDRCx3QkFBQSxJQUFJQSxlQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUMxQyxxQkFBQyxDQUFBLENBQUM7aUJBQ0gsQ0FBQSxDQUFDLENBQUM7QUFDTCxhQUFDLENBQUMsQ0FBQztBQUNILFlBQUEsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsS0FBSTtBQUNoQyxnQkFBQSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JCLGdCQUFBLEdBQUcsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUN2QyxnQkFBQSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQVcsU0FBQSxDQUFBLElBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO29CQUNyQixNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDakQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0FBQ3RCLG9CQUFBLElBQUlBLGVBQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2lCQUMvQyxDQUFBLENBQUMsQ0FBQztBQUNMLGFBQUMsQ0FBQyxDQUFDO0FBRUgsWUFBQSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssS0FBSTtBQUMvRCxnQkFBQSxlQUFlLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2pGLGFBQUMsQ0FBQyxDQUFDO1lBQ0gsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFJO2dCQUMxQyxlQUFlLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzVHLGFBQUMsQ0FBQyxDQUFDO1lBQ0gsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFJO2dCQUN0QyxlQUFlLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUN4QyxLQUFLLEVBQ0wsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsYUFBNEIsRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQzFGLEtBQUssQ0FDTixDQUFDO0FBQ0osYUFBQyxDQUFDLENBQUM7WUFDSCxlQUFlLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUN4QyxNQUFNLEVBQ04sQ0FBTyxLQUFLLEtBQUksU0FBQSxDQUFBLElBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ2QsZ0JBQUEsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztBQUN2QixnQkFBQSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNyQyxvQkFBQSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsb0JBQUEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRTt3QkFDakMsSUFBSUEsZUFBTSxDQUFDLENBQVEsS0FBQSxFQUFBLElBQUksQ0FBQyxJQUFJLENBQUEsbUJBQUEsQ0FBcUIsQ0FBQyxDQUFDO3dCQUNuRCxTQUFTO0FBQ1YscUJBQUE7b0JBRUQsVUFBVSxHQUFHLElBQUksQ0FBQztBQUNsQixvQkFBQSxNQUFNLE9BQU8sR0FBRyxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxvQkFBQSxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDakUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JELG9CQUFBLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQSxhQUFBLEVBQWdCLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBQSxDQUFHLENBQUMsQ0FBQztBQUN4RixpQkFBQTtBQUVELGdCQUFBLElBQUksVUFBVSxFQUFFO0FBQ2Qsb0JBQUEsSUFBSUEsZUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDekMsaUJBQUE7QUFDSCxhQUFDLENBQUEsRUFDRCxLQUFLLENBQ04sQ0FBQztBQUNKLFNBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDRjs7QUN6TW9CLE1BQUEscUJBQXNCLFNBQVEsaUJBQWlCLENBQUE7QUFNbEUsSUFBQSxXQUFBLENBQVksTUFBd0IsRUFBRSxXQUF3QixFQUFFLEdBQVEsRUFBRSxjQUEwQixFQUFBO0FBQ2xHLFFBQUEsS0FBSyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztBQUMzQixRQUFBLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ2YsUUFBQSxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztLQUN0QztJQUVNLE9BQU8sR0FBQTtBQUNaLFFBQUEsSUFBSUksZ0JBQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQzFCLE9BQU8sQ0FBQyxlQUFlLENBQUM7YUFDeEIsT0FBTyxDQUFDLGlEQUFpRCxDQUFDO0FBQzFELGFBQUEsT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFJO0FBQ2hCLFlBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSTtnQkFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsR0FBRyxhQUFhLEdBQUcsU0FBUyxDQUFDO2dCQUMxRixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDbEYsYUFBQyxDQUFDLENBQUM7QUFDSCxZQUFBLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUM5QyxZQUFBLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0FBQzVCLFNBQUMsQ0FBQztBQUNELGFBQUEsU0FBUyxDQUFDLENBQUMsR0FBRyxLQUFJO0FBQ2pCLFlBQUEsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QixZQUFBLEdBQUcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN2QyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDbkMsWUFBQSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQVcsU0FBQSxDQUFBLElBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO2dCQUNyQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDOUMsT0FBTztBQUNSLGlCQUFBO0FBRUQsZ0JBQUEsTUFBTSxLQUFLLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDOUQsZ0JBQUEsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFPLElBQUksS0FBSSxTQUFBLENBQUEsSUFBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7b0JBQ2xDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUNkLG9CQUFBLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO0FBQzVCLHdCQUFBLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0FBQ3pCLHFCQUFBO0FBQU0seUJBQUE7d0JBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQztBQUNiLHFCQUFBO0FBRUQsb0JBQUEsTUFBTSxJQUFJLEdBQWUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO29CQUMxRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0Usb0JBQUEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBRXZDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUN0QixvQkFBQSxJQUFJSixlQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUMvQixvQkFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFFaEMsTUFBTSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25ELGlCQUFDLENBQUEsQ0FBQztnQkFDRixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDZCxDQUFBLENBQUMsQ0FBQztBQUNILFlBQUEsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7QUFDM0IsU0FBQyxDQUFDLENBQUM7QUFFTCxRQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSTs7WUFDL0MsTUFBTSxhQUFhLEdBQUcsSUFBSUksZ0JBQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBUyxNQUFBLEVBQUEsSUFBSSxDQUFDLElBQUksQ0FBRSxDQUFBLENBQUMsQ0FBQztZQUVyRyxNQUFNLFdBQVcsR0FBRyxJQUFJQyx1QkFBYyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7QUFDNUQsaUJBQUEsUUFBUSxDQUFDLENBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxLQUFLLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLEdBQUksU0FBUyxDQUFDO0FBQ2pDLGlCQUFBLFFBQVEsQ0FBQyxDQUFPLEtBQUssS0FBSSxTQUFBLENBQUEsSUFBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7QUFDeEIsZ0JBQUEsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsZ0JBQUEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7QUFFdkMsZ0JBQUEsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzthQUM1QyxDQUFBLENBQUMsQ0FBQztBQUNMLFlBQUEsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFM0MsWUFBQSxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxLQUFJOztnQkFDOUIsTUFBTSxLQUFLLEdBQW9CLENBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxHQUFHLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLEdBQUksWUFBWSxDQUFDO2dCQUN4RCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7QUFDdkIsb0JBQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QixpQkFBQTtxQkFBTSxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUU7QUFDNUIsb0JBQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN6QixpQkFBQTtBQUFNLHFCQUFBO0FBQ0wsb0JBQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUMxQixpQkFBQTtBQUVELGdCQUFBLEdBQUcsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEtBQUssQ0FBQSxDQUFFLENBQUMsQ0FBQztBQUUvQyxnQkFBQSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQVcsU0FBQSxDQUFBLElBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO29CQUNyQiw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFBLE1BQUEsQ0FBQSxNQUFBLENBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxFQUFBLEVBQU8sSUFBSSxDQUFBLEVBQUEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFBLENBQUEsQ0FBRyxDQUFDO29CQUVuRSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7QUFDdkIsd0JBQUEsSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7QUFDekIscUJBQUE7eUJBQU0sSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO0FBQzVCLHdCQUFBLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO0FBQ3RCLHFCQUFBO0FBQU0seUJBQUE7QUFDTCx3QkFBQSxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztBQUNwQixxQkFBQTtvQkFFRCxNQUFNLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFakQsb0JBQUEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBQ3ZDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUV0QixvQkFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBTyxZQUFZLEtBQUksU0FBQSxDQUFBLElBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO3dCQUM3RCxNQUFNLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7cUJBQzFELENBQUEsQ0FBQyxDQUFDO2lCQUNKLENBQUEsQ0FBQyxDQUFDO0FBQ0wsYUFBQyxDQUFDLENBQUM7QUFFSCxZQUFBLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEtBQUk7QUFDOUIsZ0JBQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyQixnQkFBQSxHQUFHLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDekMsZ0JBQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFXLFNBQUEsQ0FBQSxJQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUNyQixvQkFBQSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTTtBQUN6Qix5QkFBQSxXQUFXLEVBQUU7QUFDYix5QkFBQSxLQUFLLENBQUMsTUFBTSxDQUNYLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FDakcsQ0FBQztvQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7QUFDM0Msb0JBQUEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBRXZDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUN0QixvQkFBQSxJQUFJTCxlQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUVuQyxvQkFBQSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNoRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEYsb0JBQUEsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFPLFlBQVksS0FBSSxTQUFBLENBQUEsSUFBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7d0JBQzNDLE1BQU0sdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztxQkFDMUQsQ0FBQSxDQUFDLENBQUM7aUJBQ0osQ0FBQSxDQUFDLENBQUM7QUFDTCxhQUFDLENBQUMsQ0FBQztBQUNMLFNBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDRjs7QUNySW9CLE1BQUEsa0JBQW1CLFNBQVEsaUJBQWlCLENBQUE7SUFDeEQsT0FBTyxHQUFBOztRQUNaLE1BQU0sa0JBQWtCLEdBQUcsSUFBSUksZ0JBQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ3JELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQzthQUNuQyxPQUFPLENBQUMsaUNBQWlDLENBQUM7YUFDMUMsUUFBUSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFFNUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJRSwwQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDekYsWUFBQSxHQUFHLEVBQUUsS0FBSztBQUNWLFlBQUEsS0FBSyxFQUFFLE9BQU87QUFDZCxZQUFBLE1BQU0sRUFBRSxRQUFRO0FBQ2hCLFlBQUEsSUFBSSxFQUFFLE1BQU07QUFDZ0MsU0FBQSxDQUFDLENBQUM7UUFFaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJQyx3QkFBZSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztBQUN4RSxhQUFBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3JCLGFBQUEsaUJBQWlCLEVBQUU7QUFDbkIsYUFBQSxRQUFRLENBQUMsQ0FBQSxFQUFBLEdBQUEsQ0FBQSxFQUFBLEdBQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUUsR0FBRyxNQUFBLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFJLENBQUMsQ0FBQztBQUN6RCxhQUFBLFFBQVEsQ0FBQyxDQUFPLEdBQUcsS0FBSSxTQUFBLENBQUEsSUFBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7QUFDdEIsWUFBQSxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQStCLENBQUM7WUFDbEYsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRTtBQUN6QyxnQkFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDNUQsYUFBQTtBQUFNLGlCQUFBO0FBQ0wsZ0JBQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEdBQUc7b0JBQ3RDLENBQUMsYUFBYSxHQUFHLEdBQUc7aUJBQ3JCLENBQUM7QUFDSCxhQUFBO0FBQ0QsWUFBQSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztBQUV2QyxZQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQixDQUFBLENBQUMsQ0FBQztBQUVMLFFBQUEsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBOEIsS0FBSTs7WUFDOUQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRTtBQUN6QyxnQkFBQSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBSSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBQSxDQUFDLENBQUMsQ0FBQztBQUM3RSxhQUFBO0FBQU0saUJBQUE7QUFDTCxnQkFBQSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsYUFBQTtBQUNILFNBQUMsQ0FBQyxDQUFDO1FBRUgsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0tBQzVFO0FBQ0Y7O0FDM0NvQixNQUFBLGdCQUFpQixTQUFRLGlCQUFpQixDQUFBO0lBQ3RELE9BQU8sR0FBQTs7UUFDWixNQUFNLGtCQUFrQixHQUFHLElBQUlILGdCQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUNyRCxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQ3JCLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sV0FBVyxHQUFHLElBQUlDLHVCQUFjLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0FBQ2pFLGFBQUEsUUFBUSxDQUFDLENBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLFNBQVMsQ0FBQztBQUMxRCxhQUFBLFFBQVEsQ0FBQyxDQUFPLEtBQUssS0FBSSxTQUFBLENBQUEsSUFBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0FBQzVDLFlBQUEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7QUFFdkMsWUFBQSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0IsQ0FBQSxDQUFDLENBQUM7QUFFTCxRQUFBLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSTtZQUN0QyxNQUFNO2lCQUNILGFBQWEsQ0FBQyxTQUFTLENBQUM7aUJBQ3hCLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDMUMsT0FBTyxDQUFDLE1BQVcsU0FBQSxDQUFBLElBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ2xCLGdCQUFBLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztBQUMzQyxnQkFBQSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztBQUV2QyxnQkFBQSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDL0IsQ0FBQSxDQUFDLENBQUM7QUFDUCxTQUFDLENBQUMsQ0FBQztBQUVILFFBQUEsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUNqRDtBQUNGOztBQzVCb0IsTUFBQSxtQkFBb0IsU0FBUSxpQkFBaUIsQ0FBQTtJQUN6RCxPQUFPLEdBQUE7QUFDWixRQUFBLElBQUlELGdCQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUMxQixPQUFPLENBQUMsNEJBQTRCLENBQUM7YUFDckMsT0FBTyxDQUFDLDhDQUE4QyxDQUFDO0FBQ3ZELGFBQUEsU0FBUyxDQUFDLENBQUMsTUFBTSxLQUFJOztZQUNwQixNQUFNO0FBQ0gsaUJBQUEsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BCLGlCQUFBLGlCQUFpQixFQUFFO0FBQ25CLGlCQUFBLFFBQVEsQ0FBQyxDQUFBLEVBQUEsR0FBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsTUFBQSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7QUFDekUsaUJBQUEsUUFBUSxDQUFDLENBQU8sR0FBRyxLQUFJLFNBQUEsQ0FBQSxJQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtnQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0FBQ3pDLGdCQUFBLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0FBRXZDLGdCQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMvQixDQUFBLENBQUMsQ0FBQztBQUNQLFNBQUMsQ0FBQyxDQUFDO0tBQ047QUFDRjs7QUNuQm9CLE1BQUEsb0JBQXFCLFNBQVEsaUJBQWlCLENBQUE7SUFHMUQsT0FBTyxHQUFBO1FBQ1osTUFBTSxvQkFBb0IsR0FBRyxJQUFJQSxnQkFBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDdkQsT0FBTyxDQUFDLHdCQUF3QixDQUFDO2FBQ2pDLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0FBRXhELFFBQUEsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFJO0FBQ3BDLFlBQUEsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztBQUNyQyxZQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6RCxTQUFDLENBQUMsQ0FBQztBQUVILFFBQUEsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxLQUFJO0FBQ3JDLFlBQUEsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQixHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBQ3ZDLFlBQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFXLFNBQUEsQ0FBQSxJQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtnQkFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFFeEQsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUN4RCxPQUFPO0FBQ1IsaUJBQUE7QUFFRCxnQkFBQSxJQUFJSixlQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDcEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2pCLGdCQUFBLE1BQU0sc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFDbEQsZ0JBQUEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7QUFDdkMsZ0JBQUEsSUFBSUEsZUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7YUFDckMsQ0FBQSxDQUFDLENBQUM7QUFDTCxTQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0Y7O0FDaENELGdCQUFlO0FBQ2IsSUFBQSxRQUFRLEVBQUU7QUFDUixRQUFBLElBQUksRUFBRSxxQkFBcUI7QUFDM0IsUUFBQSxXQUFXLEVBQUUsb0JBQW9CO0FBQ2pDLFFBQUEsSUFBSSxFQUFFLHlDQUF5QztBQUMvQyxRQUFBLFlBQVksRUFBRSxvR0FBb0c7QUFDbkgsS0FBQTtBQUNELElBQUEsU0FBUyxFQUFFO0FBQ1QsUUFBQSxJQUFJLEVBQUUsc0JBQXNCO0FBQzVCLFFBQUEsV0FBVyxFQUFFLHFCQUFxQjtBQUNsQyxRQUFBLElBQUksRUFBRSwwQ0FBMEM7QUFDaEQsUUFBQSxZQUFZLEVBQUUsb0dBQW9HO0FBQ25ILEtBQUE7QUFDRCxJQUFBLE9BQU8sRUFBRTtBQUNQLFFBQUEsSUFBSSxFQUFFLG9CQUFvQjtBQUMxQixRQUFBLFdBQVcsRUFBRSxtQkFBbUI7QUFDaEMsUUFBQSxJQUFJLEVBQUUsd0NBQXdDO0FBQzlDLFFBQUEsWUFBWSxFQUFFLG9HQUFvRztBQUNuSCxLQUFBO0FBQ0QsSUFBQSxVQUFVLEVBQUU7QUFDVixRQUFBLElBQUksRUFBRSxhQUFhO0FBQ25CLFFBQUEsV0FBVyxFQUFFLGFBQWE7QUFDMUIsUUFBQSxJQUFJLEVBQUUsRUFBRTtBQUNSLFFBQUEsWUFBWSxFQUFFLDZGQUE2RjtBQUM1RyxLQUFBO0FBQ0QsSUFBQSxRQUFRLEVBQUU7QUFDUixRQUFBLElBQUksRUFBRSxXQUFXO0FBQ2pCLFFBQUEsV0FBVyxFQUFFLFdBQVc7QUFDeEIsUUFBQSxJQUFJLEVBQUUsRUFBRTtBQUNSLFFBQUEsWUFBWSxFQUFFLHdGQUF3RjtBQUN2RyxLQUFBOztBQUVELElBQUEsV0FBVyxFQUFFO0FBQ1gsUUFBQSxJQUFJLEVBQUUsY0FBYztBQUNwQixRQUFBLFdBQVcsRUFBRSxjQUFjO0FBQzNCLFFBQUEsSUFBSSxFQUFFLE9BQU87QUFDYixRQUFBLFlBQVksRUFBRSwyRUFBMkU7QUFDMUYsS0FBQTtDQUM2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNqQ2hDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBeUQsTUFBZSxDQUFBLE9BQUEsQ0FBQSxDQUFDLEVBQUUsQ0FBb0wsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU9RLGVBQU8sRUFBRUEsZUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU9BLGVBQU8sRUFBRUEsZUFBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1FQUFtRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0dBQWdHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFlBQVksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMseUlBQXlJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHNFQUFzRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsR0FBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSUFBb0ksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRSxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPQyxjQUFNLENBQUNBLGNBQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxxQ0FBb0MsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLHFDQUFvQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBYyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU9BLGNBQU0sQ0FB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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9NZXRhRGF0YS50cyIsInNyYy9zdmdFeHRyYWN0b3IudHMiLCJzcmMvaWNvblBhY2tNYW5hZ2VyLnRzIiwibm9kZV9tb2R1bGVzL3R3ZW1vamkvZGlzdC90d2Vtb2ppLmVzbS5qcyIsInNyYy9lbW9qaS50cyIsInNyYy91dGlsLnRzIiwic3JjL2ljb25zUGlja2VyTW9kYWwudHMiLCJzcmMvc2V0dGluZ3MudHMiLCJzcmMvbWlncmF0aW9uLnRzIiwic3JjL3NldHRpbmdzVGFiL2ljb25Gb2xkZXJTZXR0aW5nLnRzIiwic3JjL3NldHRpbmdzVGFiL2N1c3RvbUljb25QYWNrLnRzIiwic3JjL3NldHRpbmdzVGFiL2N1c3RvbUljb25SdWxlLnRzIiwic3JjL3NldHRpbmdzVGFiL2V4dHJhTWFyZ2luLnRzIiwic3JjL3NldHRpbmdzVGFiL2ljb25Db2xvci50cyIsInNyYy9zZXR0aW5nc1RhYi9pY29uRm9udFNpemUudHMiLCJzcmMvc2V0dGluZ3NUYWIvaWNvblBhY2tzUGF0aC50cyIsInNyYy9pY29uUGFja3MudHMiLCJub2RlX21vZHVsZXMvanN6aXAvZGlzdC9qc3ppcC5taW4uanMiLCJzcmMvemlwVXRpbC50cyIsInNyYy9pY29uUGFja0Jyb3dzZXJNb2RhbC50cyIsInNyYy9zZXR0aW5nc1RhYi9wcmVkZWZpbmVkSWNvblBhY2tzLnRzIiwic3JjL3NldHRpbmdzVGFiL3JlY2VudGx5VXNlZEljb25zLnRzIiwic3JjL3NldHRpbmdzVGFiL2luZGV4LnRzIiwibm9kZV9tb2R1bGVzL21vbmtleS1hcm91bmQvbWpzL2luZGV4LmpzIiwic3JjL0B0eXBlcy9pbnRlcm5hbFBsdWdpbkluamVjdG9yLnRzIiwic3JjL2ludGVybmFsUGx1Z2lucy9zdGFycmVkLnRzIiwic3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOm51bGwsIm5hbWVzIjpbIk5vdGljZSIsImljb25QYWNrcyIsIkZ1enp5U3VnZ2VzdE1vZGFsIiwiZW1vamkiLCJTZXR0aW5nIiwiQ29sb3JDb21wb25lbnQiLCJEcm9wZG93bkNvbXBvbmVudCIsIlNsaWRlckNvbXBvbmVudCIsInJlcXVpcmUiLCJnbG9iYWwiLCJyZXF1ZXN0VXJsIiwiSlNaaXAiLCJQbHVnaW5TZXR0aW5nVGFiIiwiUGx1Z2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdURBO0FBQ08sU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0FBQzdELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0FBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUs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QUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxTQUFTLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLFFBQVEsSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxVQUFVLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLFNBQVMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFDLENBQUMsT0FBTSxDQUFDLE9BQU8sSUFBSSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU9BLGVBQU8sRUFBRUEsZUFBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1FQUFtRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0dBQWdHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFlBQVksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENB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QUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSUFBb0ksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRSxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPQyxjQUFNLENBQUNBLGNBQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxxQ0FBb0MsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLHFDQUFvQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBYyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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 diff --git a/notes/.obsidian/plugins/obsidian-icon-folder/manifest.json b/notes/.obsidian/plugins/obsidian-icon-folder/manifest.json index fca66c2..4131a23 100644 --- a/notes/.obsidian/plugins/obsidian-icon-folder/manifest.json +++ b/notes/.obsidian/plugins/obsidian-icon-folder/manifest.json @@ -1,10 +1,10 @@ -{ - "id": "obsidian-icon-folder", - "name": "Icon Folder", - "version": "1.4.1", - "minAppVersion": "0.9.12", - "description": "This plugin allows to add an emoji or an icon to a folder or file.", - "author": "Florian Woelki", - "authorUrl": "https://florianwoelki.com/", - "isDesktopOnly": false -} +{ + "id": "obsidian-icon-folder", + "name": "Icon Folder", + "version": "1.4.3", + "minAppVersion": "0.9.12", + "description": "This plugin allows to add an emoji or an icon to a folder or file.", + "author": "Florian Woelki", + "authorUrl": "https://florianwoelki.com/", + "isDesktopOnly": false +} diff --git a/notes/.obsidian/plugins/obsidian-icon-folder/styles.css b/notes/.obsidian/plugins/obsidian-icon-folder/styles.css index ef96fff..c917229 100644 --- a/notes/.obsidian/plugins/obsidian-icon-folder/styles.css +++ b/notes/.obsidian/plugins/obsidian-icon-folder/styles.css @@ -1,91 +1,91 @@ -.obsidian-icon-folder-icon { - border: 1px solid transparent; - margin: 0px 4px 0px 0px; - display: flex; - align-self: center; - margin: auto 0; -} - -.nav-folder-title, -.nav-file-title { - align-items: center; -} - -.obsidian-icon-folder-setting .setting-item-control .dropdown { - margin-right: 12px; -} - -.obsidian-icon-folder-setting input[type='color'] { - margin: 0 6px; -} - -.obsidian-icon-folder-modal.prompt-results { - margin: 0; - overflow-y: auto; - display: grid; - grid-template-columns: repeat(5, minmax(0, 1fr)); -} - -.prompt .obsidian-icon-folder-subheadline { - margin-top: 12px; - font-size: 12px; - color: gray; - grid-column-start: 1; - grid-column-end: 6; -} - -@media (max-width: 640px) { - .obsidian-icon-folder-modal.prompt-results { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - .prompt .obsidian-icon-folder-subheadline { - grid-column-end: 4; - } -} - -.obsidian-icon-folder-modal.prompt-results .suggestion-item { - cursor: pointer; - white-space: pre-wrap; - display: flex; - justify-content: flex-end; - align-items: center; - flex-direction: column-reverse; - text-align: center; - font-size: 13px; - color: gray; - padding: 16px 8px; - line-break: auto; - word-break: break-word; - line-height: 1.3; -} - -.obsidian-icon-folder-modal.prompt-results .suggestion-item.suggestion-item__center { - justify-content: center; -} - -.obsidian-icon-folder-icon-preview img { - width: 16px; - height: 16px; -} - -.obsidian-icon-folder-icon-preview svg { - width: 24px; - height: 24px; - color: currentColor; - margin-bottom: 4px; -} - -.obsidian-icon-folder-dragover { - position: relative; -} - -.obsidian-icon-folder-dragover-el { - position: absolute; - width: 100%; - height: 100%; - color: var(--text-normal); - background-color: var(--background-secondary-alt); - display: flex; - align-items: center; - justify-content: center; -} +.obsidian-icon-folder-icon { + border: 1px solid transparent; + margin: 0px 4px 0px 0px; + display: flex; + align-self: center; + margin: auto 0; +} + +.nav-folder-title, +.nav-file-title { + align-items: center; +} + +.obsidian-icon-folder-setting .setting-item-control .dropdown { + margin-right: 12px; +} + +.obsidian-icon-folder-setting input[type='color'] { + margin: 0 6px; +} + +.obsidian-icon-folder-modal.prompt-results { + margin: 0; + overflow-y: auto; + display: grid; + grid-template-columns: repeat(5, minmax(0, 1fr)); +} + +.prompt .obsidian-icon-folder-subheadline { + margin-top: 12px; + font-size: 12px; + color: gray; + grid-column-start: 1; + grid-column-end: 6; +} + +@media (max-width: 640px) { + .obsidian-icon-folder-modal.prompt-results { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .prompt .obsidian-icon-folder-subheadline { + grid-column-end: 4; + } +} + +.obsidian-icon-folder-modal.prompt-results .suggestion-item { + cursor: pointer; + white-space: pre-wrap; + display: flex; + justify-content: flex-end; + align-items: center; + flex-direction: column-reverse; + text-align: center; + font-size: 13px; + color: gray; + padding: 16px 8px; + line-break: auto; + word-break: break-word; + line-height: 1.3; +} + +.obsidian-icon-folder-modal.prompt-results .suggestion-item.suggestion-item__center { + justify-content: center; +} + +.obsidian-icon-folder-icon-preview img { + width: 16px; + height: 16px; +} + +.obsidian-icon-folder-icon-preview svg { + width: 24px; + height: 24px; + color: currentColor; + margin-bottom: 4px; +} + +.obsidian-icon-folder-dragover { + position: relative; +} + +.obsidian-icon-folder-dragover-el { + position: absolute; + width: 100%; + height: 100%; + color: var(--text-normal); + background-color: var(--background-secondary-alt); + display: flex; + align-items: center; + justify-content: center; +} diff --git a/notes/.obsidian/plugins/obsidian-linter/data.json b/notes/.obsidian/plugins/obsidian-linter/data.json index 0fa50fd..d6299df 100644 --- a/notes/.obsidian/plugins/obsidian-linter/data.json +++ b/notes/.obsidian/plugins/obsidian-linter/data.json @@ -6,6 +6,7 @@ "linterLocale": "system-default", "logLevel": 4, "lintCommands": [], + "customRegexes": [], "commonStyles": { "aliasArrayStyle": "single-line", "tagArrayStyle": "single-line", diff --git a/notes/.obsidian/plugins/obsidian-linter/main.js b/notes/.obsidian/plugins/obsidian-linter/main.js index 82de5a8..b45495f 100644 --- a/notes/.obsidian/plugins/obsidian-linter/main.js +++ b/notes/.obsidian/plugins/obsidian-linter/main.js @@ -3,146 +3,145 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ -var Zu=Object.create;var Xn=Object.defineProperty;var ha=Object.getOwnPropertyDescriptor;var Qu=Object.getOwnPropertyNames;var Xu=Object.getPrototypeOf,Ju=Object.prototype.hasOwnProperty;var ga=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ya=(e,t)=>{for(var n in t)Xn(e,n,{get:t[n],enumerable:!0})},ba=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Qu(t))!Ju.call(e,r)&&r!==n&&Xn(e,r,{get:()=>t[r],enumerable:!(i=ha(t,r))||i.enumerable});return e};var Ro=(e,t,n)=>(n=e!=null?Zu(Xu(e)):{},ba(t||!e||!e.__esModule?Xn(n,"default",{value:e,enumerable:!0}):n,e)),ep=e=>ba(Xn({},"__esModule",{value:!0}),e),A=(e,t,n,i)=>{for(var r=i>1?void 0:i?ha(t,n):t,o=e.length-1,s;o>=0;o--)(s=e[o])&&(r=(i?s(t,n,r):s(r))||r);return i&&r&&Xn(t,n,r),r};var wa=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var Ue=(e,t,n)=>(wa(e,t,"read from private field"),n?n.call(e):t.get(e)),Sn=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},xa=(e,t,n,i)=>(wa(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);var wl=ga((Gg,In)=>{var _=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},Q=-1,ee=1,W=0;_.Diff=function(e,t){return[e,t]};_.prototype.diff_main=function(e,t,n,i){typeof i>"u"&&(this.Diff_Timeout<=0?i=Number.MAX_VALUE:i=new Date().getTime()+this.Diff_Timeout*1e3);var r=i;if(e==null||t==null)throw new Error("Null input. (diff_main)");if(e==t)return e?[new _.Diff(W,e)]:[];typeof n>"u"&&(n=!0);var o=n,s=this.diff_commonPrefix(e,t),a=e.substring(0,s);e=e.substring(s),t=t.substring(s),s=this.diff_commonSuffix(e,t);var l=e.substring(e.length-s);e=e.substring(0,e.length-s),t=t.substring(0,t.length-s);var u=this.diff_compute_(e,t,o,r);return a&&u.unshift(new _.Diff(W,a)),l&&u.push(new _.Diff(W,l)),this.diff_cleanupMerge(u),u};_.prototype.diff_compute_=function(e,t,n,i){var r;if(!e)return[new _.Diff(ee,t)];if(!t)return[new _.Diff(Q,e)];var o=e.length>t.length?e:t,s=e.length>t.length?t:e,a=o.indexOf(s);if(a!=-1)return r=[new _.Diff(ee,o.substring(0,a)),new _.Diff(W,s),new _.Diff(ee,o.substring(a+s.length))],e.length>t.length&&(r[0][0]=r[2][0]=Q),r;if(s.length==1)return[new _.Diff(Q,e),new _.Diff(ee,t)];var l=this.diff_halfMatch_(e,t);if(l){var u=l[0],p=l[1],m=l[2],c=l[3],d=l[4],h=this.diff_main(u,m,n,i),g=this.diff_main(p,c,n,i);return h.concat([new _.Diff(W,d)],g)}return n&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,i):this.diff_bisect_(e,t,i)};_.prototype.diff_lineMode_=function(e,t,n){var i=this.diff_linesToChars_(e,t);e=i.chars1,t=i.chars2;var r=i.lineArray,o=this.diff_main(e,t,!1,n);this.diff_charsToLines_(o,r),this.diff_cleanupSemantic(o),o.push(new _.Diff(W,""));for(var s=0,a=0,l=0,u="",p="";s=1&&l>=1){o.splice(s-a-l,a+l),s=s-a-l;for(var m=this.diff_main(u,p,!1,n),c=m.length-1;c>=0;c--)o.splice(s,0,m[c]);s=s+m.length}l=0,a=0,u="",p="";break}s++}return o.pop(),o};_.prototype.diff_bisect_=function(e,t,n){for(var i=e.length,r=t.length,o=Math.ceil((i+r)/2),s=o,a=2*o,l=new Array(a),u=new Array(a),p=0;pn);b++){for(var C=-b+d;C<=b-h;C+=2){var O=s+C,E;C==-b||C!=b&&l[O-1]i)h+=2;else if(I>r)d+=2;else if(c){var T=s+m-C;if(T>=0&&T=B)return this.diff_bisectSplit_(e,t,E,I,n)}}}for(var M=-b+g;M<=b-x;M+=2){var T=s+M,B;M==-b||M!=b&&u[T-1]i)x+=2;else if(P>r)g+=2;else if(!c){var O=s+m-M;if(O>=0&&O=B)return this.diff_bisectSplit_(e,t,E,I,n)}}}}return[new _.Diff(Q,e),new _.Diff(ee,t)]};_.prototype.diff_bisectSplit_=function(e,t,n,i,r){var o=e.substring(0,n),s=t.substring(0,i),a=e.substring(n),l=t.substring(i),u=this.diff_main(o,s,!1,r),p=this.diff_main(a,l,!1,r);return u.concat(p)};_.prototype.diff_linesToChars_=function(e,t){var n=[],i={};n[0]="";function r(l){for(var u="",p=0,m=-1,c=n.length;mi?e=e.substring(n-i):nt.length?e:t,i=e.length>t.length?t:e;if(n.length<4||i.length*2=h.length?[E,I,T,B,O]:null}var s=o(n,i,Math.ceil(n.length/4)),a=o(n,i,Math.ceil(n.length/2)),l;if(!s&&!a)return null;a?s?l=s[4].length>a[4].length?s:a:l=a:l=s;var u,p,m,c;e.length>t.length?(u=l[0],p=l[1],m=l[2],c=l[3]):(m=l[0],c=l[1],u=l[2],p=l[3]);var d=l[4];return[u,p,m,c,d]};_.prototype.diff_cleanupSemantic=function(e){for(var t=!1,n=[],i=0,r=null,o=0,s=0,a=0,l=0,u=0;o0?n[i-1]:-1,s=0,a=0,l=0,u=0,r=null,t=!0)),o++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),o=1;o=d?(c>=p.length/2||c>=m.length/2)&&(e.splice(o,0,new _.Diff(W,m.substring(0,c))),e[o-1][1]=p.substring(0,p.length-c),e[o+1][1]=m.substring(c),o++):(d>=p.length/2||d>=m.length/2)&&(e.splice(o,0,new _.Diff(W,p.substring(0,d))),e[o-1][0]=ee,e[o-1][1]=m.substring(0,m.length-d),e[o+1][0]=Q,e[o+1][1]=p.substring(d),o++),o++}o++}};_.prototype.diff_cleanupSemanticLossless=function(e){function t(d,h){if(!d||!h)return 6;var g=d.charAt(d.length-1),x=h.charAt(0),b=g.match(_.nonAlphaNumericRegex_),C=x.match(_.nonAlphaNumericRegex_),O=b&&g.match(_.whitespaceRegex_),E=C&&x.match(_.whitespaceRegex_),I=O&&g.match(_.linebreakRegex_),T=E&&x.match(_.linebreakRegex_),B=I&&d.match(_.blanklineEndRegex_),M=T&&h.match(_.blanklineStartRegex_);return B||M?5:I||T?4:b&&!O&&E?3:O||E?2:b||C?1:0}for(var n=1;n=m&&(m=c,l=i,u=r,p=o)}e[n-1][1]!=l&&(l?e[n-1][1]=l:(e.splice(n-1,1),n--),e[n][1]=u,p?e[n+1][1]=p:(e.splice(n+1,1),n--))}n++}};_.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;_.whitespaceRegex_=/\s/;_.linebreakRegex_=/[\r\n]/;_.blanklineEndRegex_=/\n\r?\n$/;_.blanklineStartRegex_=/^\r?\n\r?\n/;_.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,n=[],i=0,r=null,o=0,s=!1,a=!1,l=!1,u=!1;o0?n[i-1]:-1,l=u=!1),t=!0)),o++;t&&this.diff_cleanupMerge(e)};_.prototype.diff_cleanupMerge=function(e){e.push(new _.Diff(W,""));for(var t=0,n=0,i=0,r="",o="",s;t1?(n!==0&&i!==0&&(s=this.diff_commonPrefix(o,r),s!==0&&(t-n-i>0&&e[t-n-i-1][0]==W?e[t-n-i-1][1]+=o.substring(0,s):(e.splice(0,0,new _.Diff(W,o.substring(0,s))),t++),o=o.substring(s),r=r.substring(s)),s=this.diff_commonSuffix(o,r),s!==0&&(e[t][1]=o.substring(o.length-s)+e[t][1],o=o.substring(0,o.length-s),r=r.substring(0,r.length-s))),t-=n+i,e.splice(t,n+i),r.length&&(e.splice(t,0,new _.Diff(Q,r)),t++),o.length&&(e.splice(t,0,new _.Diff(ee,o)),t++),t++):t!==0&&e[t-1][0]==W?(e[t-1][1]+=e[t][1],e.splice(t,1)):t++,i=0,n=0,r="",o="";break}e[e.length-1][1]===""&&e.pop();var a=!1;for(t=1;tt));s++)r=n,o=i;return e.length!=s&&e[s][0]===Q?o:o+(t-r)};_.prototype.diff_prettyHtml=function(e){for(var t=[],n=/&/g,i=//g,o=/\n/g,s=0;s");switch(a){case ee:t[s]=''+u+"";break;case Q:t[s]=''+u+"";break;case W:t[s]=""+u+"";break}}return t.join("")};_.prototype.diff_text1=function(e){for(var t=[],n=0;nthis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var i=this.match_alphabet_(t),r=this;function o(E,I){var T=E/t.length,B=Math.abs(n-I);return r.Match_Distance?T+B/r.Match_Distance:B?1:T}var s=this.Match_Threshold,a=e.indexOf(t,n);a!=-1&&(s=Math.min(o(0,a),s),a=e.lastIndexOf(t,n+t.length),a!=-1&&(s=Math.min(o(0,a),s)));var l=1<=h;b--){var C=i[e.charAt(b-1)];if(d===0?x[b]=(x[b+1]<<1|1)&C:x[b]=(x[b+1]<<1|1)&C|((c[b+1]|c[b])<<1|1)|c[b+1],x[b]&l){var O=o(d,b-1);if(O<=s)if(s=O,a=b-1,a>n)h=Math.max(1,2*n-a);else break}}if(o(d+1,n)>s)break;c=x}return a};_.prototype.match_alphabet_=function(e){for(var t={},n=0;n"u")i=e,r=this.diff_main(i,t,!0),r.length>2&&(this.diff_cleanupSemantic(r),this.diff_cleanupEfficiency(r));else if(e&&typeof e=="object"&&typeof t>"u"&&typeof n>"u")r=e,i=this.diff_text1(r);else if(typeof e=="string"&&t&&typeof t=="object"&&typeof n>"u")i=e,r=t;else if(typeof e=="string"&&typeof t=="string"&&n&&typeof n=="object")i=e,r=n;else throw new Error("Unknown call format to patch_make.");if(r.length===0)return[];for(var o=[],s=new _.patch_obj,a=0,l=0,u=0,p=i,m=i,c=0;c=2*this.Patch_Margin&&a&&(this.patch_addContext_(s,p),o.push(s),s=new _.patch_obj,a=0,p=m,l=u);break}d!==ee&&(l+=h.length),d!==Q&&(u+=h.length)}return a&&(this.patch_addContext_(s,p),o.push(s)),o};_.prototype.patch_deepCopy=function(e){for(var t=[],n=0;nthis.Match_MaxBits?(l=this.match_main(t,a.substring(0,this.Match_MaxBits),s),l!=-1&&(u=this.match_main(t,a.substring(a.length-this.Match_MaxBits),s+a.length-this.Match_MaxBits),(u==-1||l>=u)&&(l=-1))):l=this.match_main(t,a,s),l==-1)r[o]=!1,i-=e[o].length2-e[o].length1;else{r[o]=!0,i=l-s;var p;if(u==-1?p=t.substring(l,l+a.length):p=t.substring(l,u+this.Match_MaxBits),a==p)t=t.substring(0,l)+this.diff_text2(e[o].diffs)+t.substring(l+a.length);else{var m=this.diff_main(a,p,!1);if(a.length>this.Match_MaxBits&&this.diff_levenshtein(m)/a.length>this.Patch_DeleteThreshold)r[o]=!1;else{this.diff_cleanupSemanticLossless(m);for(var c=0,d,h=0;ho[0][1].length){var s=t-o[0][1].length;o[0][1]=n.substring(o[0][1].length)+o[0][1],r.start1-=s,r.start2-=s,r.length1+=s,r.length2+=s}if(r=e[e.length-1],o=r.diffs,o.length==0||o[o.length-1][0]!=W)o.push(new _.Diff(W,n)),r.length1+=t,r.length2+=t;else if(t>o[o.length-1][1].length){var s=t-o[o.length-1][1].length;o[o.length-1][1]+=n.substring(0,s),r.length1+=s,r.length2+=s}return n};_.prototype.patch_splitMax=function(e){for(var t=this.Match_MaxBits,n=0;n2*t?(a.length1+=p.length,r+=p.length,l=!1,a.diffs.push(new _.Diff(u,p)),i.diffs.shift()):(p=p.substring(0,t-a.length1-this.Patch_Margin),a.length1+=p.length,r+=p.length,u===W?(a.length2+=p.length,o+=p.length):l=!1,a.diffs.push(new _.Diff(u,p)),p==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(p.length))}s=this.diff_text2(a.diffs),s=s.substring(s.length-this.Patch_Margin);var m=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);m!==""&&(a.length1+=m.length,a.length2+=m.length,a.diffs.length!==0&&a.diffs[a.diffs.length-1][0]===W?a.diffs[a.diffs.length-1][1]+=m:a.diffs.push(new _.Diff(W,m))),l||e.splice(++n,0,a)}}};_.prototype.patch_toText=function(e){for(var t=[],n=0;n{(function(e,t){"use strict";typeof define=="function"&&define.amd?define(t):typeof Nr=="object"&&Nr.exports?Nr.exports=t():e.log=t()})(xl,function(){"use strict";var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"];function r(h,g){var x=h[g];if(typeof x.bind=="function")return x.bind(h);try{return Function.prototype.bind.call(x,h)}catch{return function(){return Function.prototype.apply.apply(x,[h,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(h){return h==="debug"&&(h="log"),typeof console===t?!1:h==="trace"&&n?o:console[h]!==void 0?r(console,h):console.log!==void 0?r(console,"log"):e}function a(h,g){for(var x=0;x=0&&M<=b.levels.SILENT){if(C=M,P!==!1&&E(M),a.call(b,M,h),typeof console===t&&MBo});module.exports=ep(kg);var oe=require("obsidian");function $a(e){return typeof e>"u"||e===null}function tp(e){return typeof e=="object"&&e!==null}function np(e){return Array.isArray(e)?e:$a(e)?[]:[e]}function ip(e,t){var n,i,r,o;if(t)for(o=Object.keys(t),n=0,i=o.length;n()=>(t||e((t={exports:{}}).exports,t),t.exports),_a=(e,t)=>{for(var n in t)Jn(e,n,{get:t[n],enumerable:!0})},Ba=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of fp(t))!gp.call(e,r)&&r!==n&&Jn(e,r,{get:()=>t[r],enumerable:!(i=Ea(t,r))||i.enumerable});return e};var Go=(e,t,n)=>(n=e!=null?dp(hp(e)):{},Ba(t||!e||!e.__esModule?Jn(n,"default",{value:e,enumerable:!0}):n,e)),yp=e=>Ba(Jn({},"__esModule",{value:!0}),e),O=(e,t,n,i)=>{for(var r=i>1?void 0:i?Ea(t,n):t,o=e.length-1,s;o>=0;o--)(s=e[o])&&(r=(i?s(t,n,r):s(r))||r);return i&&r&&Jn(t,n,r),r};var Ia=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var Ue=(e,t,n)=>(Ia(e,t,"read from private field"),n?n.call(e):t.get(e)),On=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},Ma=(e,t,n,i)=>(Ia(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);var Ml=La((h0,Mn)=>{var _=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},X=-1,te=1,W=0;_.Diff=function(e,t){return[e,t]};_.prototype.diff_main=function(e,t,n,i){typeof i>"u"&&(this.Diff_Timeout<=0?i=Number.MAX_VALUE:i=new Date().getTime()+this.Diff_Timeout*1e3);var r=i;if(e==null||t==null)throw new Error("Null input. (diff_main)");if(e==t)return e?[new _.Diff(W,e)]:[];typeof n>"u"&&(n=!0);var o=n,s=this.diff_commonPrefix(e,t),a=e.substring(0,s);e=e.substring(s),t=t.substring(s),s=this.diff_commonSuffix(e,t);var l=e.substring(e.length-s);e=e.substring(0,e.length-s),t=t.substring(0,t.length-s);var p=this.diff_compute_(e,t,o,r);return a&&p.unshift(new _.Diff(W,a)),l&&p.push(new _.Diff(W,l)),this.diff_cleanupMerge(p),p};_.prototype.diff_compute_=function(e,t,n,i){var r;if(!e)return[new _.Diff(te,t)];if(!t)return[new _.Diff(X,e)];var o=e.length>t.length?e:t,s=e.length>t.length?t:e,a=o.indexOf(s);if(a!=-1)return r=[new _.Diff(te,o.substring(0,a)),new _.Diff(W,s),new _.Diff(te,o.substring(a+s.length))],e.length>t.length&&(r[0][0]=r[2][0]=X),r;if(s.length==1)return[new _.Diff(X,e),new _.Diff(te,t)];var l=this.diff_halfMatch_(e,t);if(l){var p=l[0],u=l[1],m=l[2],c=l[3],f=l[4],h=this.diff_main(p,m,n,i),g=this.diff_main(u,c,n,i);return h.concat([new _.Diff(W,f)],g)}return n&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,i):this.diff_bisect_(e,t,i)};_.prototype.diff_lineMode_=function(e,t,n){var i=this.diff_linesToChars_(e,t);e=i.chars1,t=i.chars2;var r=i.lineArray,o=this.diff_main(e,t,!1,n);this.diff_charsToLines_(o,r),this.diff_cleanupSemantic(o),o.push(new _.Diff(W,""));for(var s=0,a=0,l=0,p="",u="";s=1&&l>=1){o.splice(s-a-l,a+l),s=s-a-l;for(var m=this.diff_main(p,u,!1,n),c=m.length-1;c>=0;c--)o.splice(s,0,m[c]);s=s+m.length}l=0,a=0,p="",u="";break}s++}return o.pop(),o};_.prototype.diff_bisect_=function(e,t,n){for(var i=e.length,r=t.length,o=Math.ceil((i+r)/2),s=o,a=2*o,l=new Array(a),p=new Array(a),u=0;un);y++){for(var E=-y+f;E<=y-h;E+=2){var A=s+E,L;E==-y||E!=y&&l[A-1]i)h+=2;else if(M>r)f+=2;else if(c){var T=s+m-E;if(T>=0&&T=B)return this.diff_bisectSplit_(e,t,L,M,n)}}}for(var I=-y+g;I<=y-w;I+=2){var T=s+I,B;I==-y||I!=y&&p[T-1]i)w+=2;else if(P>r)g+=2;else if(!c){var A=s+m-I;if(A>=0&&A=B)return this.diff_bisectSplit_(e,t,L,M,n)}}}}return[new _.Diff(X,e),new _.Diff(te,t)]};_.prototype.diff_bisectSplit_=function(e,t,n,i,r){var o=e.substring(0,n),s=t.substring(0,i),a=e.substring(n),l=t.substring(i),p=this.diff_main(o,s,!1,r),u=this.diff_main(a,l,!1,r);return p.concat(u)};_.prototype.diff_linesToChars_=function(e,t){var n=[],i={};n[0]="";function r(l){for(var p="",u=0,m=-1,c=n.length;mi?e=e.substring(n-i):nt.length?e:t,i=e.length>t.length?t:e;if(n.length<4||i.length*2=h.length?[L,M,T,B,A]:null}var s=o(n,i,Math.ceil(n.length/4)),a=o(n,i,Math.ceil(n.length/2)),l;if(!s&&!a)return null;a?s?l=s[4].length>a[4].length?s:a:l=a:l=s;var p,u,m,c;e.length>t.length?(p=l[0],u=l[1],m=l[2],c=l[3]):(m=l[0],c=l[1],p=l[2],u=l[3]);var f=l[4];return[p,u,m,c,f]};_.prototype.diff_cleanupSemantic=function(e){for(var t=!1,n=[],i=0,r=null,o=0,s=0,a=0,l=0,p=0;o0?n[i-1]:-1,s=0,a=0,l=0,p=0,r=null,t=!0)),o++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),o=1;o=f?(c>=u.length/2||c>=m.length/2)&&(e.splice(o,0,new _.Diff(W,m.substring(0,c))),e[o-1][1]=u.substring(0,u.length-c),e[o+1][1]=m.substring(c),o++):(f>=u.length/2||f>=m.length/2)&&(e.splice(o,0,new _.Diff(W,u.substring(0,f))),e[o-1][0]=te,e[o-1][1]=m.substring(0,m.length-f),e[o+1][0]=X,e[o+1][1]=u.substring(f),o++),o++}o++}};_.prototype.diff_cleanupSemanticLossless=function(e){function t(f,h){if(!f||!h)return 6;var g=f.charAt(f.length-1),w=h.charAt(0),y=g.match(_.nonAlphaNumericRegex_),E=w.match(_.nonAlphaNumericRegex_),A=y&&g.match(_.whitespaceRegex_),L=E&&w.match(_.whitespaceRegex_),M=A&&g.match(_.linebreakRegex_),T=L&&w.match(_.linebreakRegex_),B=M&&f.match(_.blanklineEndRegex_),I=T&&h.match(_.blanklineStartRegex_);return B||I?5:M||T?4:y&&!A&&L?3:A||L?2:y||E?1:0}for(var n=1;n=m&&(m=c,l=i,p=r,u=o)}e[n-1][1]!=l&&(l?e[n-1][1]=l:(e.splice(n-1,1),n--),e[n][1]=p,u?e[n+1][1]=u:(e.splice(n+1,1),n--))}n++}};_.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;_.whitespaceRegex_=/\s/;_.linebreakRegex_=/[\r\n]/;_.blanklineEndRegex_=/\n\r?\n$/;_.blanklineStartRegex_=/^\r?\n\r?\n/;_.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,n=[],i=0,r=null,o=0,s=!1,a=!1,l=!1,p=!1;o0?n[i-1]:-1,l=p=!1),t=!0)),o++;t&&this.diff_cleanupMerge(e)};_.prototype.diff_cleanupMerge=function(e){e.push(new _.Diff(W,""));for(var t=0,n=0,i=0,r="",o="",s;t1?(n!==0&&i!==0&&(s=this.diff_commonPrefix(o,r),s!==0&&(t-n-i>0&&e[t-n-i-1][0]==W?e[t-n-i-1][1]+=o.substring(0,s):(e.splice(0,0,new _.Diff(W,o.substring(0,s))),t++),o=o.substring(s),r=r.substring(s)),s=this.diff_commonSuffix(o,r),s!==0&&(e[t][1]=o.substring(o.length-s)+e[t][1],o=o.substring(0,o.length-s),r=r.substring(0,r.length-s))),t-=n+i,e.splice(t,n+i),r.length&&(e.splice(t,0,new _.Diff(X,r)),t++),o.length&&(e.splice(t,0,new _.Diff(te,o)),t++),t++):t!==0&&e[t-1][0]==W?(e[t-1][1]+=e[t][1],e.splice(t,1)):t++,i=0,n=0,r="",o="";break}e[e.length-1][1]===""&&e.pop();var a=!1;for(t=1;tt));s++)r=n,o=i;return e.length!=s&&e[s][0]===X?o:o+(t-r)};_.prototype.diff_prettyHtml=function(e){for(var t=[],n=/&/g,i=//g,o=/\n/g,s=0;s");switch(a){case te:t[s]=''+p+"";break;case X:t[s]=''+p+"";break;case W:t[s]=""+p+"";break}}return t.join("")};_.prototype.diff_text1=function(e){for(var t=[],n=0;nthis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var i=this.match_alphabet_(t),r=this;function o(L,M){var T=L/t.length,B=Math.abs(n-M);return r.Match_Distance?T+B/r.Match_Distance:B?1:T}var s=this.Match_Threshold,a=e.indexOf(t,n);a!=-1&&(s=Math.min(o(0,a),s),a=e.lastIndexOf(t,n+t.length),a!=-1&&(s=Math.min(o(0,a),s)));var l=1<=h;y--){var E=i[e.charAt(y-1)];if(f===0?w[y]=(w[y+1]<<1|1)&E:w[y]=(w[y+1]<<1|1)&E|((c[y+1]|c[y])<<1|1)|c[y+1],w[y]&l){var A=o(f,y-1);if(A<=s)if(s=A,a=y-1,a>n)h=Math.max(1,2*n-a);else break}}if(o(f+1,n)>s)break;c=w}return a};_.prototype.match_alphabet_=function(e){for(var t={},n=0;n"u")i=e,r=this.diff_main(i,t,!0),r.length>2&&(this.diff_cleanupSemantic(r),this.diff_cleanupEfficiency(r));else if(e&&typeof e=="object"&&typeof t>"u"&&typeof n>"u")r=e,i=this.diff_text1(r);else if(typeof e=="string"&&t&&typeof t=="object"&&typeof n>"u")i=e,r=t;else if(typeof e=="string"&&typeof t=="string"&&n&&typeof n=="object")i=e,r=n;else throw new Error("Unknown call format to patch_make.");if(r.length===0)return[];for(var o=[],s=new _.patch_obj,a=0,l=0,p=0,u=i,m=i,c=0;c=2*this.Patch_Margin&&a&&(this.patch_addContext_(s,u),o.push(s),s=new _.patch_obj,a=0,u=m,l=p);break}f!==te&&(l+=h.length),f!==X&&(p+=h.length)}return a&&(this.patch_addContext_(s,u),o.push(s)),o};_.prototype.patch_deepCopy=function(e){for(var t=[],n=0;nthis.Match_MaxBits?(l=this.match_main(t,a.substring(0,this.Match_MaxBits),s),l!=-1&&(p=this.match_main(t,a.substring(a.length-this.Match_MaxBits),s+a.length-this.Match_MaxBits),(p==-1||l>=p)&&(l=-1))):l=this.match_main(t,a,s),l==-1)r[o]=!1,i-=e[o].length2-e[o].length1;else{r[o]=!0,i=l-s;var u;if(p==-1?u=t.substring(l,l+a.length):u=t.substring(l,p+this.Match_MaxBits),a==u)t=t.substring(0,l)+this.diff_text2(e[o].diffs)+t.substring(l+a.length);else{var m=this.diff_main(a,u,!1);if(a.length>this.Match_MaxBits&&this.diff_levenshtein(m)/a.length>this.Patch_DeleteThreshold)r[o]=!1;else{this.diff_cleanupSemanticLossless(m);for(var c=0,f,h=0;ho[0][1].length){var s=t-o[0][1].length;o[0][1]=n.substring(o[0][1].length)+o[0][1],r.start1-=s,r.start2-=s,r.length1+=s,r.length2+=s}if(r=e[e.length-1],o=r.diffs,o.length==0||o[o.length-1][0]!=W)o.push(new _.Diff(W,n)),r.length1+=t,r.length2+=t;else if(t>o[o.length-1][1].length){var s=t-o[o.length-1][1].length;o[o.length-1][1]+=n.substring(0,s),r.length1+=s,r.length2+=s}return n};_.prototype.patch_splitMax=function(e){for(var t=this.Match_MaxBits,n=0;n2*t?(a.length1+=u.length,r+=u.length,l=!1,a.diffs.push(new _.Diff(p,u)),i.diffs.shift()):(u=u.substring(0,t-a.length1-this.Patch_Margin),a.length1+=u.length,r+=u.length,p===W?(a.length2+=u.length,o+=u.length):l=!1,a.diffs.push(new _.Diff(p,u)),u==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(u.length))}s=this.diff_text2(a.diffs),s=s.substring(s.length-this.Patch_Margin);var m=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);m!==""&&(a.length1+=m.length,a.length2+=m.length,a.diffs.length!==0&&a.diffs[a.diffs.length-1][0]===W?a.diffs[a.diffs.length-1][1]+=m:a.diffs.push(new _.Diff(W,m))),l||e.splice(++n,0,a)}}};_.prototype.patch_toText=function(e){for(var t=[],n=0;n{(function(e,t){"use strict";typeof define=="function"&&define.amd?define(t):typeof Zr=="object"&&Zr.exports?Zr.exports=t():e.log=t()})(Fl,function(){"use strict";var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"];function r(h,g){var w=h[g];if(typeof w.bind=="function")return w.bind(h);try{return Function.prototype.bind.call(w,h)}catch{return function(){return Function.prototype.apply.apply(w,[h,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(h){return h==="debug"&&(h="log"),typeof console===t?!1:h==="trace"&&n?o:console[h]!==void 0?r(console,h):console.log!==void 0?r(console,"log"):e}function a(h,g){for(var w=0;w=0&&I<=y.levels.SILENT){if(E=I,P!==!1&&L(I),a.call(y,I,h),typeof console===t&&IVo});module.exports=yp(Yg);var oe=require("obsidian");function Ga(e){return typeof e>"u"||e===null}function bp(e){return typeof e=="object"&&e!==null}function wp(e){return Array.isArray(e)?e:Ga(e)?[]:[e]}function xp(e,t){var n,i,r,o;if(t)for(o=Object.keys(t),n=0,i=o.length;na&&(o=" ... ",t=i-a+o.length),n-i>a&&(s=" ...",n=i+a-s.length),{str:o+e.slice(t,n).replace(/\t/g,"\u2192")+s,pos:i-t+o.length}}function Do(e,t){return ge.repeat(" ",t-e.length)+e}function mp(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var n=/\r?\n|\r|\0/g,i=[0],r=[],o,s=-1;o=n.exec(e.buffer);)r.push(o.index),i.push(o.index+o[0].length),e.position<=o.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var a="",l,u,p=Math.min(e.line+t.linesAfter,r.length).toString().length,m=t.maxLength-(t.indent+p+3);for(l=1;l<=t.linesBefore&&!(s-l<0);l++)u=$o(e.buffer,i[s-l],r[s-l],e.position-(i[s]-i[s-l]),m),a=ge.repeat(" ",t.indent)+Do((e.line-l+1).toString(),p)+" | "+u.str+` -`+a;for(u=$o(e.buffer,i[s],r[s],e.position,m),a+=ge.repeat(" ",t.indent)+Do((e.line+1).toString(),p)+" | "+u.str+` -`,a+=ge.repeat("-",t.indent+p+3+u.pos)+`^ -`,l=1;l<=t.linesAfter&&!(s+l>=r.length);l++)u=$o(e.buffer,i[s+l],r[s+l],e.position-(i[s]-i[s+l]),m),a+=ge.repeat(" ",t.indent)+Do((e.line+l+1).toString(),p)+" | "+u.str+` -`;return a.replace(/\n$/,"")}var dp=mp,fp=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],hp=["scalar","sequence","mapping"];function gp(e){var t={};return e!==null&&Object.keys(e).forEach(function(n){e[n].forEach(function(i){t[String(i)]=n})}),t}function yp(e,t){if(t=t||{},Object.keys(t).forEach(function(n){if(fp.indexOf(n)===-1)throw new He('Unknown option "'+n+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(n){return n},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=gp(t.styleAliases||null),hp.indexOf(this.kind)===-1)throw new He('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var Fe=yp;function va(e,t){var n=[];return e[t].forEach(function(i){var r=n.length;n.forEach(function(o,s){o.tag===i.tag&&o.kind===i.kind&&o.multi===i.multi&&(r=s)}),n[r]=i}),n}function bp(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,n;function i(r){r.multi?(e.multi[r.kind].push(r),e.multi.fallback.push(r)):e[r.kind][r.tag]=e.fallback[r.tag]=r}for(t=0,n=arguments.length;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Np=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Hp(e){return!(e===null||!Np.test(e)||e[e.length-1]==="_")}function Yp(e){var t,n;return t=e.replace(/_/g,"").toLowerCase(),n=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?n===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:n*parseFloat(t,10)}var zp=/^[-+]?[0-9]+e/;function qp(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ge.isNegativeZero(e))return"-0.0";return n=e.toString(10),zp.test(n)?n.replace("e",".e"):n}function Kp(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||ge.isNegativeZero(e))}var jp=new Fe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Hp,construct:Yp,predicate:Kp,represent:qp,defaultStyle:"lowercase"}),Vp=Sp.extend({implicit:[Lp,Bp,Pp,jp]}),Wp=Vp,Pa=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Na=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Up(e){return e===null?!1:Pa.exec(e)!==null||Na.exec(e)!==null}function Gp(e){var t,n,i,r,o,s,a,l=0,u=null,p,m,c;if(t=Pa.exec(e),t===null&&(t=Na.exec(e)),t===null)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],s=+t[5],a=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(p=+t[10],m=+(t[11]||0),u=(p*60+m)*6e4,t[9]==="-"&&(u=-u)),c=new Date(Date.UTC(n,i,r,o,s,a,l)),u&&c.setTime(c.getTime()-u),c}function Zp(e){return e.toISOString()}var Qp=new Fe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Up,construct:Gp,instanceOf:Date,represent:Zp});function Xp(e){return e==="<<"||e===null}var Jp=new Fe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Xp}),Ko=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function ec(e){if(e===null)return!1;var t,n,i=0,r=e.length,o=Ko;for(n=0;n64)){if(t<0)return!1;i+=6}return i%8===0}function tc(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=Ko,s=0,a=[];for(t=0;t>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(i.charAt(t));return n=r%4*6,n===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):n===18?(a.push(s>>10&255),a.push(s>>2&255)):n===12&&a.push(s>>4&255),new Uint8Array(a)}function nc(e){var t="",n=0,i,r,o=e.length,s=Ko;for(i=0;i>18&63],t+=s[n>>12&63],t+=s[n>>6&63],t+=s[n&63]),n=(n<<8)+e[i];return r=o%3,r===0?(t+=s[n>>18&63],t+=s[n>>12&63],t+=s[n>>6&63],t+=s[n&63]):r===2?(t+=s[n>>10&63],t+=s[n>>4&63],t+=s[n<<2&63],t+=s[64]):r===1&&(t+=s[n>>2&63],t+=s[n<<4&63],t+=s[64],t+=s[64]),t}function ic(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var rc=new Fe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ec,construct:tc,predicate:ic,represent:nc}),oc=Object.prototype.hasOwnProperty,sc=Object.prototype.toString;function ac(e){if(e===null)return!0;var t=[],n,i,r,o,s,a=e;for(n=0,i=a.length;n>10)+55296,(e-65536&1023)+56320)}var ja=new Array(256),Va=new Array(256);for(qt=0;qt<256;qt++)ja[qt]=Ta(qt)?1:0,Va[qt]=Ta(qt);var qt;function Ac(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Ha,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Wa(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=dp(n),new He(t,n)}function H(e,t){throw Wa(e,t)}function Tr(e,t){e.onWarning&&e.onWarning.call(null,Wa(e,t))}var Oa={YAML:function(t,n,i){var r,o,s;t.version!==null&&H(t,"duplication of %YAML directive"),i.length!==1&&H(t,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),r===null&&H(t,"ill-formed argument of the YAML directive"),o=parseInt(r[1],10),s=parseInt(r[2],10),o!==1&&H(t,"unacceptable YAML version of the document"),t.version=i[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&Tr(t,"unsupported YAML version of the document")},TAG:function(t,n,i){var r,o;i.length!==2&&H(t,"TAG directive accepts exactly two arguments"),r=i[0],o=i[1],qa.test(r)||H(t,"ill-formed tag handle (first argument) of the TAG directive"),Bt.call(t.tagMap,r)&&H(t,'there is a previously declared suffix for "'+r+'" tag handle'),Ka.test(o)||H(t,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{H(t,"tag prefix is malformed: "+o)}t.tagMap[r]=o}};function _t(e,t,n,i){var r,o,s,a;if(t1&&(e.result+=ge.repeat(` -`,t-1))}function Lc(e,t,n){var i,r,o,s,a,l,u,p,m=e.kind,c=e.result,d;if(d=e.input.charCodeAt(e.position),Ve(d)||On(d)||d===35||d===38||d===42||d===33||d===124||d===62||d===39||d===34||d===37||d===64||d===96||(d===63||d===45)&&(r=e.input.charCodeAt(e.position+1),Ve(r)||n&&On(r)))return!1;for(e.kind="scalar",e.result="",o=s=e.position,a=!1;d!==0;){if(d===58){if(r=e.input.charCodeAt(e.position+1),Ve(r)||n&&On(r))break}else if(d===35){if(i=e.input.charCodeAt(e.position-1),Ve(i))break}else{if(e.position===e.lineStart&&Lr(e)||n&&On(d))break;if(dt(d))if(l=e.line,u=e.lineStart,p=e.lineIndent,fe(e,!1,-1),e.lineIndent>=t){a=!0,d=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=u,e.lineIndent=p;break}}a&&(_t(e,o,s,!1),Vo(e,e.line-l),o=s=e.position,a=!1),Kt(d)||(s=e.position+1),d=e.input.charCodeAt(++e.position)}return _t(e,o,s,!1),e.result?!0:(e.kind=m,e.result=c,!1)}function Cc(e,t){var n,i,r;if(n=e.input.charCodeAt(e.position),n!==39)return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;(n=e.input.charCodeAt(e.position))!==0;)if(n===39)if(_t(e,i,e.position,!0),n=e.input.charCodeAt(++e.position),n===39)i=e.position,e.position++,r=e.position;else return!0;else dt(n)?(_t(e,i,r,!0),Vo(e,fe(e,!1,t)),i=r=e.position):e.position===e.lineStart&&Lr(e)?H(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);H(e,"unexpected end of the stream within a single quoted scalar")}function Ec(e,t){var n,i,r,o,s,a;if(a=e.input.charCodeAt(e.position),a!==34)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(a=e.input.charCodeAt(e.position))!==0;){if(a===34)return _t(e,n,e.position,!0),e.position++,!0;if(a===92){if(_t(e,n,e.position,!0),a=e.input.charCodeAt(++e.position),dt(a))fe(e,!1,t);else if(a<256&&ja[a])e.result+=Va[a],e.position++;else if((s=Sc(a))>0){for(r=s,o=0;r>0;r--)a=e.input.charCodeAt(++e.position),(s=kc(a))>=0?o=(o<<4)+s:H(e,"expected hexadecimal character");e.result+=Oc(o),e.position++}else H(e,"unknown escape sequence");n=i=e.position}else dt(a)?(_t(e,n,i,!0),Vo(e,fe(e,!1,t)),n=i=e.position):e.position===e.lineStart&&Lr(e)?H(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}H(e,"unexpected end of the stream within a double quoted scalar")}function _c(e,t){var n=!0,i,r,o,s=e.tag,a,l=e.anchor,u,p,m,c,d,h=Object.create(null),g,x,b,C;if(C=e.input.charCodeAt(e.position),C===91)p=93,d=!1,a=[];else if(C===123)p=125,d=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),C=e.input.charCodeAt(++e.position);C!==0;){if(fe(e,!0,t),C=e.input.charCodeAt(e.position),C===p)return e.position++,e.tag=s,e.anchor=l,e.kind=d?"mapping":"sequence",e.result=a,!0;n?C===44&&H(e,"expected the node content, but found ','"):H(e,"missed comma between flow collection entries"),x=g=b=null,m=c=!1,C===63&&(u=e.input.charCodeAt(e.position+1),Ve(u)&&(m=c=!0,e.position++,fe(e,!0,t))),i=e.line,r=e.lineStart,o=e.position,Ln(e,t,kr,!1,!0),x=e.tag,g=e.result,fe(e,!0,t),C=e.input.charCodeAt(e.position),(c||e.line===i)&&C===58&&(m=!0,C=e.input.charCodeAt(++e.position),fe(e,!0,t),Ln(e,t,kr,!1,!0),b=e.result),d?An(e,a,h,x,g,b,i,r,o):m?a.push(An(e,null,h,x,g,b,i,r,o)):a.push(g),fe(e,!0,t),C=e.input.charCodeAt(e.position),C===44?(n=!0,C=e.input.charCodeAt(++e.position)):n=!1}H(e,"unexpected end of the stream within a flow collection")}function Bc(e,t){var n,i,r=Po,o=!1,s=!1,a=t,l=0,u=!1,p,m;if(m=e.input.charCodeAt(e.position),m===124)i=!1;else if(m===62)i=!0;else return!1;for(e.kind="scalar",e.result="";m!==0;)if(m=e.input.charCodeAt(++e.position),m===43||m===45)Po===r?r=m===43?ka:bc:H(e,"repeat of a chomping mode identifier");else if((p=Tc(m))>=0)p===0?H(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?H(e,"repeat of an indentation width identifier"):(a=t+p-1,s=!0);else break;if(Kt(m)){do m=e.input.charCodeAt(++e.position);while(Kt(m));if(m===35)do m=e.input.charCodeAt(++e.position);while(!dt(m)&&m!==0)}for(;m!==0;){for(jo(e),e.lineIndent=0,m=e.input.charCodeAt(e.position);(!s||e.lineIndenta&&(a=e.lineIndent),dt(m)){l++;continue}if(e.lineIndenta&&(o=" ... ",t=i-a+o.length),n-i>a&&(s=" ...",n=i+a-s.length),{str:o+e.slice(t,n).replace(/\t/g,"\u2192")+s,pos:i-t+o.length}}function Qo(e,t){return ge.repeat(" ",t-e.length)+e}function Lp(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var n=/\r?\n|\r|\0/g,i=[0],r=[],o,s=-1;o=n.exec(e.buffer);)r.push(o.index),i.push(o.index+o[0].length),e.position<=o.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var a="",l,p,u=Math.min(e.line+t.linesAfter,r.length).toString().length,m=t.maxLength-(t.indent+u+3);for(l=1;l<=t.linesBefore&&!(s-l<0);l++)p=Zo(e.buffer,i[s-l],r[s-l],e.position-(i[s]-i[s-l]),m),a=ge.repeat(" ",t.indent)+Qo((e.line-l+1).toString(),u)+" | "+p.str+` +`+a;for(p=Zo(e.buffer,i[s],r[s],e.position,m),a+=ge.repeat(" ",t.indent)+Qo((e.line+1).toString(),u)+" | "+p.str+` +`,a+=ge.repeat("-",t.indent+u+3+p.pos)+`^ +`,l=1;l<=t.linesAfter&&!(s+l>=r.length);l++)p=Zo(e.buffer,i[s+l],r[s+l],e.position-(i[s]-i[s+l]),m),a+=ge.repeat(" ",t.indent)+Qo((e.line+l+1).toString(),u)+" | "+p.str+` +`;return a.replace(/\n$/,"")}var _p=Lp,Bp=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Ip=["scalar","sequence","mapping"];function Mp(e){var t={};return e!==null&&Object.keys(e).forEach(function(n){e[n].forEach(function(i){t[String(i)]=n})}),t}function Fp(e,t){if(t=t||{},Object.keys(t).forEach(function(n){if(Bp.indexOf(n)===-1)throw new Ne('Unknown option "'+n+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(n){return n},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=Mp(t.styleAliases||null),Ip.indexOf(this.kind)===-1)throw new Ne('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var Fe=Fp;function Fa(e,t){var n=[];return e[t].forEach(function(i){var r=n.length;n.forEach(function(o,s){o.tag===i.tag&&o.kind===i.kind&&o.multi===i.multi&&(r=s)}),n[r]=i}),n}function Rp(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,n;function i(r){r.multi?(e.multi[r.kind].push(r),e.multi.fallback.push(r)):e[r.kind][r.tag]=e.fallback[r.tag]=r}for(t=0,n=arguments.length;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),nc=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function ic(e){return!(e===null||!nc.test(e)||e[e.length-1]==="_")}function rc(e){var t,n;return t=e.replace(/_/g,"").toLowerCase(),n=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?n===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:n*parseFloat(t,10)}var oc=/^[-+]?[0-9]+e/;function sc(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ge.isNegativeZero(e))return"-0.0";return n=e.toString(10),oc.test(n)?n.replace("e",".e"):n}function ac(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||ge.isNegativeZero(e))}var lc=new Fe("tag:yaml.org,2002:float",{kind:"scalar",resolve:ic,construct:rc,predicate:ac,represent:sc,defaultStyle:"lowercase"}),uc=Hp.extend({implicit:[Kp,Up,tc,lc]}),pc=uc,Qa=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Xa=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function cc(e){return e===null?!1:Qa.exec(e)!==null||Xa.exec(e)!==null}function mc(e){var t,n,i,r,o,s,a,l=0,p=null,u,m,c;if(t=Qa.exec(e),t===null&&(t=Xa.exec(e)),t===null)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],s=+t[5],a=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(u=+t[10],m=+(t[11]||0),p=(u*60+m)*6e4,t[9]==="-"&&(p=-p)),c=new Date(Date.UTC(n,i,r,o,s,a,l)),p&&c.setTime(c.getTime()-p),c}function dc(e){return e.toISOString()}var fc=new Fe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:cc,construct:mc,instanceOf:Date,represent:dc});function hc(e){return e==="<<"||e===null}var gc=new Fe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hc}),rs=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function yc(e){if(e===null)return!1;var t,n,i=0,r=e.length,o=rs;for(n=0;n64)){if(t<0)return!1;i+=6}return i%8===0}function bc(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=rs,s=0,a=[];for(t=0;t>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(i.charAt(t));return n=r%4*6,n===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):n===18?(a.push(s>>10&255),a.push(s>>2&255)):n===12&&a.push(s>>4&255),new Uint8Array(a)}function wc(e){var t="",n=0,i,r,o=e.length,s=rs;for(i=0;i>18&63],t+=s[n>>12&63],t+=s[n>>6&63],t+=s[n&63]),n=(n<<8)+e[i];return r=o%3,r===0?(t+=s[n>>18&63],t+=s[n>>12&63],t+=s[n>>6&63],t+=s[n&63]):r===2?(t+=s[n>>10&63],t+=s[n>>4&63],t+=s[n<<2&63],t+=s[64]):r===1&&(t+=s[n>>2&63],t+=s[n<<4&63],t+=s[64],t+=s[64]),t}function xc(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var vc=new Fe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:yc,construct:bc,predicate:xc,represent:wc}),kc=Object.prototype.hasOwnProperty,Sc=Object.prototype.toString;function Tc(e){if(e===null)return!0;var t=[],n,i,r,o,s,a=e;for(n=0,i=a.length;n>10)+55296,(e-65536&1023)+56320)}var rl=new Array(256),ol=new Array(256);for(Vt=0;Vt<256;Vt++)rl[Vt]=$a(Vt)?1:0,ol[Vt]=$a(Vt);var Vt;function qc(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Ja,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function sl(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=_p(n),new Ne(t,n)}function H(e,t){throw sl(e,t)}function Br(e,t){e.onWarning&&e.onWarning.call(null,sl(e,t))}var Pa={YAML:function(t,n,i){var r,o,s;t.version!==null&&H(t,"duplication of %YAML directive"),i.length!==1&&H(t,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),r===null&&H(t,"ill-formed argument of the YAML directive"),o=parseInt(r[1],10),s=parseInt(r[2],10),o!==1&&H(t,"unacceptable YAML version of the document"),t.version=i[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&Br(t,"unsupported YAML version of the document")},TAG:function(t,n,i){var r,o;i.length!==2&&H(t,"TAG directive accepts exactly two arguments"),r=i[0],o=i[1],nl.test(r)||H(t,"ill-formed tag handle (first argument) of the TAG directive"),Mt.call(t.tagMap,r)&&H(t,'there is a previously declared suffix for "'+r+'" tag handle'),il.test(o)||H(t,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{H(t,"tag prefix is malformed: "+o)}t.tagMap[r]=o}};function It(e,t,n,i){var r,o,s,a;if(t1&&(e.result+=ge.repeat(` +`,t-1))}function Kc(e,t,n){var i,r,o,s,a,l,p,u,m=e.kind,c=e.result,f;if(f=e.input.charCodeAt(e.position),je(f)||Cn(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(r=e.input.charCodeAt(e.position+1),je(r)||n&&Cn(r)))return!1;for(e.kind="scalar",e.result="",o=s=e.position,a=!1;f!==0;){if(f===58){if(r=e.input.charCodeAt(e.position+1),je(r)||n&&Cn(r))break}else if(f===35){if(i=e.input.charCodeAt(e.position-1),je(i))break}else{if(e.position===e.lineStart&&Fr(e)||n&&Cn(f))break;if(ft(f))if(l=e.line,p=e.lineStart,u=e.lineIndent,fe(e,!1,-1),e.lineIndent>=t){a=!0,f=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=p,e.lineIndent=u;break}}a&&(It(e,o,s,!1),ss(e,e.line-l),o=s=e.position,a=!1),jt(f)||(s=e.position+1),f=e.input.charCodeAt(++e.position)}return It(e,o,s,!1),e.result?!0:(e.kind=m,e.result=c,!1)}function Vc(e,t){var n,i,r;if(n=e.input.charCodeAt(e.position),n!==39)return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;(n=e.input.charCodeAt(e.position))!==0;)if(n===39)if(It(e,i,e.position,!0),n=e.input.charCodeAt(++e.position),n===39)i=e.position,e.position++,r=e.position;else return!0;else ft(n)?(It(e,i,r,!0),ss(e,fe(e,!1,t)),i=r=e.position):e.position===e.lineStart&&Fr(e)?H(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);H(e,"unexpected end of the stream within a single quoted scalar")}function jc(e,t){var n,i,r,o,s,a;if(a=e.input.charCodeAt(e.position),a!==34)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(a=e.input.charCodeAt(e.position))!==0;){if(a===34)return It(e,n,e.position,!0),e.position++,!0;if(a===92){if(It(e,n,e.position,!0),a=e.input.charCodeAt(++e.position),ft(a))fe(e,!1,t);else if(a<256&&rl[a])e.result+=ol[a],e.position++;else if((s=Hc(a))>0){for(r=s,o=0;r>0;r--)a=e.input.charCodeAt(++e.position),(s=Nc(a))>=0?o=(o<<4)+s:H(e,"expected hexadecimal character");e.result+=Yc(o),e.position++}else H(e,"unknown escape sequence");n=i=e.position}else ft(a)?(It(e,n,i,!0),ss(e,fe(e,!1,t)),n=i=e.position):e.position===e.lineStart&&Fr(e)?H(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}H(e,"unexpected end of the stream within a double quoted scalar")}function Wc(e,t){var n=!0,i,r,o,s=e.tag,a,l=e.anchor,p,u,m,c,f,h=Object.create(null),g,w,y,E;if(E=e.input.charCodeAt(e.position),E===91)u=93,f=!1,a=[];else if(E===123)u=125,f=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),E=e.input.charCodeAt(++e.position);E!==0;){if(fe(e,!0,t),E=e.input.charCodeAt(e.position),E===u)return e.position++,e.tag=s,e.anchor=l,e.kind=f?"mapping":"sequence",e.result=a,!0;n?E===44&&H(e,"expected the node content, but found ','"):H(e,"missed comma between flow collection entries"),w=g=y=null,m=c=!1,E===63&&(p=e.input.charCodeAt(e.position+1),je(p)&&(m=c=!0,e.position++,fe(e,!0,t))),i=e.line,r=e.lineStart,o=e.position,Ln(e,t,Lr,!1,!0),w=e.tag,g=e.result,fe(e,!0,t),E=e.input.charCodeAt(e.position),(c||e.line===i)&&E===58&&(m=!0,E=e.input.charCodeAt(++e.position),fe(e,!0,t),Ln(e,t,Lr,!1,!0),y=e.result),f?En(e,a,h,w,g,y,i,r,o):m?a.push(En(e,null,h,w,g,y,i,r,o)):a.push(g),fe(e,!0,t),E=e.input.charCodeAt(e.position),E===44?(n=!0,E=e.input.charCodeAt(++e.position)):n=!1}H(e,"unexpected end of the stream within a flow collection")}function Uc(e,t){var n,i,r=Xo,o=!1,s=!1,a=t,l=0,p=!1,u,m;if(m=e.input.charCodeAt(e.position),m===124)i=!1;else if(m===62)i=!0;else return!1;for(e.kind="scalar",e.result="";m!==0;)if(m=e.input.charCodeAt(++e.position),m===43||m===45)Xo===r?r=m===43?Ra:Rc:H(e,"repeat of a chomping mode identifier");else if((u=zc(m))>=0)u===0?H(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?H(e,"repeat of an indentation width identifier"):(a=t+u-1,s=!0);else break;if(jt(m)){do m=e.input.charCodeAt(++e.position);while(jt(m));if(m===35)do m=e.input.charCodeAt(++e.position);while(!ft(m)&&m!==0)}for(;m!==0;){for(os(e),e.lineIndent=0,m=e.input.charCodeAt(e.position);(!s||e.lineIndenta&&(a=e.lineIndent),ft(m)){l++;continue}if(e.lineIndentt)&&l!==0)H(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(x&&(s=e.line,a=e.lineStart,l=e.position),Ln(e,t,Sr,!0,r)&&(x?h=e.result:g=e.result),x||(An(e,m,c,d,h,g,s,a,l),d=h=g=null),fe(e,!0,-1),C=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>t)&&C!==0)H(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),m=0,c=e.implicitTypes.length;m"),e.result!==null&&h.kind!==e.kind&&H(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result,e.tag)?(e.result=h.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):H(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||p}function $c(e){var t=e.position,n,i,r,o=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(s=e.input.charCodeAt(e.position))!==0&&(fe(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(o=!0,s=e.input.charCodeAt(++e.position),n=e.position;s!==0&&!Ve(s);)s=e.input.charCodeAt(++e.position);for(i=e.input.slice(n,e.position),r=[],i.length<1&&H(e,"directive name must not be less than one character in length");s!==0;){for(;Kt(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!dt(s));break}if(dt(s))break;for(n=e.position;s!==0&&!Ve(s);)s=e.input.charCodeAt(++e.position);r.push(e.input.slice(n,e.position))}s!==0&&jo(e),Bt.call(Oa,i)?Oa[i](e,i,r):Tr(e,'unknown document directive "'+i+'"')}if(fe(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,fe(e,!0,-1)):o&&H(e,"directives end mark is expected"),Ln(e,e.lineIndent-1,Sr,!1,!0),fe(e,!0,-1),e.checkLineBreaks&&xc.test(e.input.slice(t,e.position))&&Tr(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Lr(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,fe(e,!0,-1));return}if(e.position"u"&&(n=t,t=null);var i=Ua(e,n);if(typeof t!="function")return i;for(var r=0,o=i.length;rt)&&l!==0)H(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(w&&(s=e.line,a=e.lineStart,l=e.position),Ln(e,t,_r,!0,r)&&(w?h=e.result:g=e.result),w||(En(e,m,c,f,h,g,s,a,l),f=h=g=null),fe(e,!0,-1),E=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>t)&&E!==0)H(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),m=0,c=e.implicitTypes.length;m"),e.result!==null&&h.kind!==e.kind&&H(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result,e.tag)?(e.result=h.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):H(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||u}function Jc(e){var t=e.position,n,i,r,o=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(s=e.input.charCodeAt(e.position))!==0&&(fe(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(o=!0,s=e.input.charCodeAt(++e.position),n=e.position;s!==0&&!je(s);)s=e.input.charCodeAt(++e.position);for(i=e.input.slice(n,e.position),r=[],i.length<1&&H(e,"directive name must not be less than one character in length");s!==0;){for(;jt(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!ft(s));break}if(ft(s))break;for(n=e.position;s!==0&&!je(s);)s=e.input.charCodeAt(++e.position);r.push(e.input.slice(n,e.position))}s!==0&&os(e),Mt.call(Pa,i)?Pa[i](e,i,r):Br(e,'unknown document directive "'+i+'"')}if(fe(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,fe(e,!0,-1)):o&&H(e,"directives end mark is expected"),Ln(e,e.lineIndent-1,_r,!1,!0),fe(e,!0,-1),e.checkLineBreaks&&$c.test(e.input.slice(t,e.position))&&Br(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Fr(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,fe(e,!0,-1));return}if(e.position"u"&&(n=t,t=null);var i=al(e,n);if(typeof t!="function")return i;for(var r=0,o=i.length;r=55296&&n<=56319&&t+1=56320&&i<=57343)?(n-55296)*1024+i-56320+65536:n}function il(e){var t=/^\n* /;return t.test(e)}var rl=1,zo=2,ol=3,sl=4,Tn=5;function mm(e,t,n,i,r,o,s,a){var l,u=0,p=null,m=!1,c=!1,d=i!==-1,h=-1,g=pm(Jn(e,0))&&cm(Jn(e,e.length-1));if(t||s)for(l=0;l=65536?l+=2:l++){if(u=Jn(e,l),!ii(u))return Tn;g=g&&_a(u,p,a),p=u}else{for(l=0;l=65536?l+=2:l++){if(u=Jn(e,l),u===ti)m=!0,d&&(c=c||l-h-1>i&&e[h+1]!==" ",h=l);else if(!ii(u))return Tn;g=g&&_a(u,p,a),p=u}c=c||d&&l-h-1>i&&e[h+1]!==" "}return!m&&!c?g&&!s&&!r(e)?rl:o===ni?Tn:zo:n>9&&il(e)?Tn:s?o===ni?Tn:zo:c?sl:ol}function dm(e,t,n,i,r){e.dump=function(){if(t.length===0)return e.quotingType===ni?'""':"''";if(!e.noCompatMode&&(im.indexOf(t)!==-1||rm.test(t)))return e.quotingType===ni?'"'+t+'"':"'"+t+"'";var o=e.indent*Math.max(1,n),s=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),a=i||e.flowLevel>-1&&n>=e.flowLevel;function l(u){return um(e,u)}switch(mm(t,a,e.indent,s,l,e.quotingType,e.forceQuotes&&!i,r)){case rl:return t;case zo:return"'"+t.replace(/'/g,"''")+"'";case ol:return"|"+Ba(t,e.indent)+Ma(Ca(t,o));case sl:return">"+Ba(t,e.indent)+Ma(Ca(fm(t,s),o));case Tn:return'"'+hm(t)+'"';default:throw new He("impossible error: invalid scalar style")}}()}function Ba(e,t){var n=il(e)?String(t):"",i=e[e.length-1]===` +`&&(o+=n),o+=s;return o}function ts(e,t){return` +`+ge.repeat(" ",e.indent*t)}function Am(e,t){var n,i,r;for(n=0,i=e.implicitTypes.length;n=55296&&n<=56319&&t+1=56320&&i<=57343)?(n-55296)*1024+i-56320+65536:n}function gl(e){var t=/^\n* /;return t.test(e)}var yl=1,ns=2,bl=3,wl=4,An=5;function Lm(e,t,n,i,r,o,s,a){var l,p=0,u=null,m=!1,c=!1,f=i!==-1,h=-1,g=Cm(ei(e,0))&&Em(ei(e,e.length-1));if(t||s)for(l=0;l=65536?l+=2:l++){if(p=ei(e,l),!ri(p))return An;g=g&&qa(p,u,a),u=p}else{for(l=0;l=65536?l+=2:l++){if(p=ei(e,l),p===ni)m=!0,f&&(c=c||l-h-1>i&&e[h+1]!==" ",h=l);else if(!ri(p))return An;g=g&&qa(p,u,a),u=p}c=c||f&&l-h-1>i&&e[h+1]!==" "}return!m&&!c?g&&!s&&!r(e)?yl:o===ii?An:ns:n>9&&gl(e)?An:s?o===ii?An:ns:c?wl:bl}function _m(e,t,n,i,r){e.dump=function(){if(t.length===0)return e.quotingType===ii?'""':"''";if(!e.noCompatMode&&(xm.indexOf(t)!==-1||vm.test(t)))return e.quotingType===ii?'"'+t+'"':"'"+t+"'";var o=e.indent*Math.max(1,n),s=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),a=i||e.flowLevel>-1&&n>=e.flowLevel;function l(p){return Am(e,p)}switch(Lm(t,a,e.indent,s,l,e.quotingType,e.forceQuotes&&!i,r)){case yl:return t;case ns:return"'"+t.replace(/'/g,"''")+"'";case bl:return"|"+Ka(t,e.indent)+Va(za(t,o));case wl:return">"+Ka(t,e.indent)+Va(za(Bm(t,s),o));case An:return'"'+Im(t)+'"';default:throw new Ne("impossible error: invalid scalar style")}}()}function Ka(e,t){var n=gl(e)?String(t):"",i=e[e.length-1]===` `,r=i&&(e[e.length-2]===` `||e===` `),o=r?"+":i?"":"-";return n+o+` -`}function Ma(e){return e[e.length-1]===` -`?e.slice(0,-1):e}function fm(e,t){for(var n=/(\n+)([^\n]*)/g,i=function(){var u=e.indexOf(` -`);return u=u!==-1?u:e.length,n.lastIndex=u,Ia(e.slice(0,u),t)}(),r=e[0]===` +`}function Va(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function Bm(e,t){for(var n=/(\n+)([^\n]*)/g,i=function(){var p=e.indexOf(` +`);return p=p!==-1?p:e.length,n.lastIndex=p,ja(e.slice(0,p),t)}(),r=e[0]===` `||e[0]===" ",o,s;s=n.exec(e);){var a=s[1],l=s[2];o=l[0]===" ",i+=a+(!r&&!o&&l!==""?` -`:"")+Ia(l,t),r=o}return i}function Ia(e,t){if(e===""||e[0]===" ")return e;for(var n=/ [^ ]/g,i,r=0,o,s=0,a=0,l="";i=n.exec(e);)a=i.index,a-r>t&&(o=s>r?s:a,l+=` +`:"")+ja(l,t),r=o}return i}function ja(e,t){if(e===""||e[0]===" ")return e;for(var n=/ [^ ]/g,i,r=0,o,s=0,a=0,l="";i=n.exec(e);)a=i.index,a-r>t&&(o=s>r?s:a,l+=` `+e.slice(r,o),r=o+1),s=a;return l+=` `,e.length-r>t&&s>r?l+=e.slice(r,s)+` -`+e.slice(s+1):l+=e.slice(r),l.slice(1)}function hm(e){for(var t="",n=0,i,r=0;r=65536?r+=2:r++)n=Jn(e,r),i=Re[n],!i&&ii(n)?(t+=e[r],n>=65536&&(t+=e[r+1])):t+=i||sm(n);return t}function gm(e,t,n){var i="",r=e.tag,o,s,a;for(o=0,s=n.length;o"u"&&vt(e,t,null,!1,!1))&&(i!==""&&(i+=","+(e.condenseFlow?"":" ")),i+=e.dump);e.tag=r,e.dump="["+i+"]"}function Fa(e,t,n,i){var r="",o=e.tag,s,a,l;for(s=0,a=n.length;s"u"&&vt(e,t+1,null,!0,!0,!1,!0))&&((!i||r!=="")&&(r+=Yo(e,t)),e.dump&&ti===e.dump.charCodeAt(0)?r+="-":r+="- ",r+=e.dump);e.tag=o,e.dump=r||"[]"}function ym(e,t,n){var i="",r=e.tag,o=Object.keys(n),s,a,l,u,p;for(s=0,a=o.length;s1024&&(p+="? "),p+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),vt(e,t,u,!1,!1)&&(p+=e.dump,i+=p));e.tag=r,e.dump="{"+i+"}"}function bm(e,t,n,i){var r="",o=e.tag,s=Object.keys(n),a,l,u,p,m,c;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new He("sortKeys must be a boolean or a function");for(a=0,l=s.length;a1024,m&&(e.dump&&ti===e.dump.charCodeAt(0)?c+="?":c+="? "),c+=e.dump,m&&(c+=Yo(e,t)),vt(e,t+1,p,!0,m)&&(e.dump&&ti===e.dump.charCodeAt(0)?c+=":":c+=": ",c+=e.dump,r+=c));e.tag=o,e.dump=r||"{}"}function Ra(e,t,n){var i,r,o,s,a,l;for(r=n?e.explicitTypes:e.implicitTypes,o=0,s=r.length;o tag resolver accepts not "'+l+'" style');e.dump=i}return!0}return!1}function vt(e,t,n,i,r,o,s){e.tag=null,e.dump=n,Ra(e,n,!1)||Ra(e,n,!0);var a=Za.call(e.dump),l=i,u;i&&(i=e.flowLevel<0||e.flowLevel>t);var p=a==="[object Object]"||a==="[object Array]",m,c;if(p&&(m=e.duplicates.indexOf(n),c=m!==-1),(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&t>0)&&(r=!1),c&&e.usedDuplicates[m])e.dump="*ref_"+m;else{if(p&&c&&!e.usedDuplicates[m]&&(e.usedDuplicates[m]=!0),a==="[object Object]")i&&Object.keys(e.dump).length!==0?(bm(e,t,e.dump,r),c&&(e.dump="&ref_"+m+e.dump)):(ym(e,t,e.dump),c&&(e.dump="&ref_"+m+" "+e.dump));else if(a==="[object Array]")i&&e.dump.length!==0?(e.noArrayIndent&&!s&&t>0?Fa(e,t-1,e.dump,r):Fa(e,t,e.dump,r),c&&(e.dump="&ref_"+m+e.dump)):(gm(e,t,e.dump),c&&(e.dump="&ref_"+m+" "+e.dump));else if(a==="[object String]")e.tag!=="?"&&dm(e,e.dump,t,o,l);else{if(a==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new He("unacceptable kind of an object to dump "+a)}e.tag!==null&&e.tag!=="?"&&(u=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",e.dump=u+" "+e.dump)}return!0}function wm(e,t){var n=[],i=[],r,o;for(qo(e,n,i),r=0,o=i.length;r0){let l=s.split(` -`);o=l[l.length-1]??"",o=o.trimEnd();let u=0;for(;l.length-(2+u)>=0;){let p=l[l.length-(2+u)];if(!Mt(o,p)&&(!i||!Mt("",p,!0)))break;u++}l.splice(l.length-(1+u),u),l.length>1&&(i&&l[l.length-2].match(/^> ?.*$/m)||!i&&!Mt(o,l[l.length-2])?l.splice(l.length-1,0,o):Mt("",l[l.length-2],!0)||l.splice(l.length-1,0,"")),s=l.join(` +`+e.slice(s+1):l+=e.slice(r),l.slice(1)}function Im(e){for(var t="",n=0,i,r=0;r=65536?r+=2:r++)n=ei(e,r),i=Re[n],!i&&ri(n)?(t+=e[r],n>=65536&&(t+=e[r+1])):t+=i||Sm(n);return t}function Mm(e,t,n){var i="",r=e.tag,o,s,a;for(o=0,s=n.length;o"u"&&kt(e,t,null,!1,!1))&&(i!==""&&(i+=","+(e.condenseFlow?"":" ")),i+=e.dump);e.tag=r,e.dump="["+i+"]"}function Wa(e,t,n,i){var r="",o=e.tag,s,a,l;for(s=0,a=n.length;s"u"&&kt(e,t+1,null,!0,!0,!1,!0))&&((!i||r!=="")&&(r+=ts(e,t)),e.dump&&ni===e.dump.charCodeAt(0)?r+="-":r+="- ",r+=e.dump);e.tag=o,e.dump=r||"[]"}function Fm(e,t,n){var i="",r=e.tag,o=Object.keys(n),s,a,l,p,u;for(s=0,a=o.length;s1024&&(u+="? "),u+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),kt(e,t,p,!1,!1)&&(u+=e.dump,i+=u));e.tag=r,e.dump="{"+i+"}"}function Rm(e,t,n,i){var r="",o=e.tag,s=Object.keys(n),a,l,p,u,m,c;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new Ne("sortKeys must be a boolean or a function");for(a=0,l=s.length;a1024,m&&(e.dump&&ni===e.dump.charCodeAt(0)?c+="?":c+="? "),c+=e.dump,m&&(c+=ts(e,t)),kt(e,t+1,u,!0,m)&&(e.dump&&ni===e.dump.charCodeAt(0)?c+=":":c+=": ",c+=e.dump,r+=c));e.tag=o,e.dump=r||"{}"}function Ua(e,t,n){var i,r,o,s,a,l;for(r=n?e.explicitTypes:e.implicitTypes,o=0,s=r.length;o tag resolver accepts not "'+l+'" style');e.dump=i}return!0}return!1}function kt(e,t,n,i,r,o,s){e.tag=null,e.dump=n,Ua(e,n,!1)||Ua(e,n,!0);var a=ul.call(e.dump),l=i,p;i&&(i=e.flowLevel<0||e.flowLevel>t);var u=a==="[object Object]"||a==="[object Array]",m,c;if(u&&(m=e.duplicates.indexOf(n),c=m!==-1),(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&t>0)&&(r=!1),c&&e.usedDuplicates[m])e.dump="*ref_"+m;else{if(u&&c&&!e.usedDuplicates[m]&&(e.usedDuplicates[m]=!0),a==="[object Object]")i&&Object.keys(e.dump).length!==0?(Rm(e,t,e.dump,r),c&&(e.dump="&ref_"+m+e.dump)):(Fm(e,t,e.dump),c&&(e.dump="&ref_"+m+" "+e.dump));else if(a==="[object Array]")i&&e.dump.length!==0?(e.noArrayIndent&&!s&&t>0?Wa(e,t-1,e.dump,r):Wa(e,t,e.dump,r),c&&(e.dump="&ref_"+m+e.dump)):(Mm(e,t,e.dump),c&&(e.dump="&ref_"+m+" "+e.dump));else if(a==="[object String]")e.tag!=="?"&&_m(e,e.dump,t,o,l);else{if(a==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new Ne("unacceptable kind of an object to dump "+a)}e.tag!==null&&e.tag!=="?"&&(p=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?p="!"+p:p.slice(0,18)==="tag:yaml.org,2002:"?p="!!"+p.slice(18):p="!<"+p+">",e.dump=p+" "+e.dump)}return!0}function Dm(e,t){var n=[],i=[],r,o;for(is(e,n,i),r=0,o=i.length;r0){let l=s.split(` +`);o=l[l.length-1]??"",o=o.trimEnd();let p=0;for(;l.length-(2+p)>=0;){let u=l[l.length-(2+p)];if(!Ft(o,u)&&(!i||!Ft("",u,!0)))break;p++}l.splice(l.length-(1+p),p),l.length>1&&(i&&l[l.length-2].match(/^> ?.*$/m)||!i&&!Ft(o,l[l.length-2])?l.splice(l.length-1,0,o):Ft("",l[l.length-2],!0)||l.splice(l.length-1,0,"")),s=l.join(` `)}let a=e.substring(n);if(a.length>0){let l=a.split(` -`),u=0;for(;u+11&&(i&&l[1].match(/^> ?.*$/m)||!i&&!Mt(o,l[1])?l.splice(1,0,o):i&&!Mt("",l[1])&&l.splice(1,0,"")),a=l.join(` -`)}return s+r+a}var Cn=/^(\s*)(#+)(\s+)(.*)$/,cl=`^XXX\\.*? +`),p=0;for(;p+11&&(i&&l[1].match(/^> ?.*$/m)||!i&&!Ft(o,l[1])?l.splice(1,0,o):i&&!Ft("",l[1])&&l.splice(1,0,"")),a=l.join(` +`)}return s+r+a}function Sl(e,t=0){let n=3735928559^t,i=1103547991^t;for(let r=0,o;r>>16,2246822507)^Math.imul(i^i>>>13,3266489909),i=Math.imul(i^i>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),4294967296*(2097151&i)+(n>>>0)}function Tl(e){return e=e.replace("\\b","\b"),e=e.replace("\\f","\f"),e=e.replace("\\n",` +`),e=e.replace("\\r","\r"),e=e.replace("\\t"," "),e=e.replace("\\v","\v"),e}var Rt=/^([ \t]*)(#+)([ \t]+)([^#\n\r]*)([ \t]+#+)?$/gm,Ol=`^XXX\\.*? (?:((?:.| )*?) -)?XXX(?=\\s|$)$`,ke=/^---\n((?:(((?!---)(?:.|\n)*?)\n)?))---(?=\n|$)/,Sm=cl.replaceAll("X","`"),Tm=cl.replaceAll("X","~"),Om=`^(( |( {4})).* -)+`,Ig=new RegExp(`${Sm}|${Tm}|${Om}`,"gm"),Go=/(!?)(\[{2}[^[\n\]]*\]{2})/g,Cr=/^!?\[.*\](.*)$/,En=/(?:\s|^)#[^\s#;.,>\\s*)*",Qo=/((((>[ ]?)*)|([ ]{0,3}))\[.*?\][ \t]*\n)?((((>[ ]?)*)|([ ]{0,3}))\S+.*?\|.*?\n([^\n]*?\|[^\n]*?\n)*?)?(((>[ ]?)*)|([ ]{0,3}))[|\-+:.][ \-+|:.]*?\|[ \-+|:.]*(?:\n?[^\n]*?\|([^\n]*?)*(\n)?)+/g;function $e(e){return e.replace(/\$/g,"$$$$")}function pl(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function dl(e){let t=e.match(Go);if(t){for(let n of t)if(n.includes("|")){let i=n.indexOf("|"),r=n.substring(0,i+1)+n.substring(i+1,n.length-2).trim()+"]]";e=e.replace(n,r)}}return e}function fl(e){let t=e.match(Qo);if(t==null)return e;for(let n of t){let i=e.indexOf(n),r=i+n.trimEnd().length;if(n.trim().startsWith(">"))for(;e.charAt(i).trim()===""||e.charAt(i)===">";)i++;e=Vt(e,i,r)}return e}var Jo="tag",ri="tags",oi=[Jo,ri],Am="alias",es="aliases",si=[Am,es],ai="linter-yaml-title-alias";function ft(e){return e.match(ke)===null&&(e=`--- +)?XXX(?=\\s|$)$`,ke=/^---\n((?:(((?!---)(?:.|\n)*?)\n)?))---(?=\n|$)/,Hm=Ol.replaceAll("X","`"),zm=Ol.replaceAll("X","~"),Ym=`^(( |( {4})).* +)+`,Jg=new RegExp(`${Hm}|${zm}|${Ym}`,"gm"),Dr=/(!?)\[{2}([^\][\n|]+)(\|([^\][\n|]+))?\]{2}/g,oi=/(!?)\[([^[]*)\](\(.*\))/g,si=/(?:\s|^)#[^\s#;.,>\\s*)*",ps=/((((>[ ]?)*)|([ ]{0,3}))\[.*?\][ \t]*\n)?((((>[ ]?)*)|([ ]{0,3}))\S+.*?\|.*?\n([^\n]*?\|[^\n]*?\n)*?)?(((>[ ]?)*)|([ ]{0,3}))[|\-+:.][ \-+|:.]*?\|[ \-+|:.]*(?:\n?[^\n]*?\|([^\n]*?)*)+/g,Pr=/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s`\]'"‘’“”>]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s`\]'"‘’“”>]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s`\]'"‘’“”>]{2,}|www\.[a-zA-Z0-9]+\.[^\s`\]'"‘’“”>]{2,})/gi;function We(e){return e.replace(/\$/g,"$$$$")}function Rr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Cl(e){let t=e.match(Dr);if(t){for(let n of t)if(n.includes("|")){let i=n.indexOf("|"),r=n.substring(0,i+1)+n.substring(i+1,n.length-2).trim()+"]]";e=e.replace(n,r)}}return e}function El(e){let t=e.match(ps);if(t==null)return e;for(let n of t){let i=e.indexOf(n),r=i+n.length;if(n.trim().startsWith(">"))for(;e.charAt(i).trim()===""||e.charAt(i)===">";)i++;e=Ut(e,i,r)}return e}function Nr(e){let t=e.match(/^#\s+(.*)/m);if(t&&t[1]){let n=t[1];return n=n.replaceAll(Dr,(i,r,o,s)=>s??o),n.replaceAll(oi,"$2")}return""}var ms="tag",ai="tags",li=[ms,ai],qm="alias",ds="aliases",ui=[qm,ds],pi="linter-yaml-title-alias";function ht(e){return e.match(ke)===null&&(e=`--- --- -`+e),e}function Se(e,t){if(!e.match(ke))return e;let n=e.match(ke)[0],i=t(n);return e=e.replace(n,$e(i)),e}function ts(e){return new RegExp(`^([\\t ]*)${e}:[ \\t]*(\\S.*|(?:(?:\\n *- \\S.*)|((?:\\n *- *))*|(\\n([ \\t]+[^\\n]*))*)*)\\n`,"m")}function Te(e,t,n){let i=`${t}:${n} -`,r=!1,o=e.replace(ts(t),(s,a)=>(r=!0,a+i));return r||(o=`${e}${i}`),o}function Oe(e,t){let n=e.match(ts(t));return n==null?null:n[2]}function Wt(e,t){return e.replace(ts(t),"")}function Je(e){if(e==null)return null;let t=al(e.replace(/\n(\t)+/g,` - `));return t??{}}function Ge(e,t){switch(typeof e=="string"&&(e=[e]),t){case"single-line":return e==null||e.length===0?" []":" "+Xo(e);case"multi-line":return e==null||e.length===0?` +`+e),e}function Se(e,t){if(!e.match(ke))return e;let n=e.match(ke)[0],i=t(n);return e=e.replace(n,We(i)),e}function fs(e){return new RegExp(`^([\\t ]*)${e}:[ \\t]*(\\S.*|(?:(?:\\n *- \\S.*)|((?:\\n *- *))*|(\\n([ \\t]+[^\\n]*))*)*)\\n`,"m")}function Te(e,t,n){let i=`${t}:${n} +`,r=!1,o=e.replace(fs(t),(s,a)=>(r=!0,a+i));return r||(o=`${e}${i}`),o}function Oe(e,t){let n=e.match(fs(t));return n==null?null:n[2]}function Gt(e,t){return e.replace(fs(t),"")}function Je(e){if(e==null)return null;let t=xl(e.replace(/\n(\t)+/g,` + `));return t??{}}function Ge(e,t){switch(typeof e=="string"&&(e=[e]),t){case"single-line":return e==null||e.length===0?" []":" "+cs(e);case"multi-line":return e==null||e.length===0?` - `:` - `+e.join(` - - `);case"single string to single-line":return e==null||e.length===0?" ":e.length===1?" "+e[0]:" "+Xo(e);case"single string to multi-line":return e==null||e.length===0?" ":e.length===1?" "+e[0]:` + - `);case"single string to single-line":return e==null||e.length===0?" ":e.length===1?" "+e[0]:" "+cs(e);case"single string to multi-line":return e==null||e.length===0?" ":e.length===1?" "+e[0]:` - `+e.join(` - - `);case"single string space delimited":return e==null||e.length===0?" ":e.length===1?" "+e[0]:" "+e.join(" ");case"single string comma delimited":return e==null||e.length===0?" ":e.length===1?" "+e[0]:" "+e.join(", ");case"single-line space delimited":return e==null||e.length===0?" []":e.length===1?" "+e[0]:" "+Xo(e).replaceAll(", "," ")}}function Xo(e){return e==null||e.length===0?"[]":"["+e.join(", ")+"]"}function ht(e){if(e==null||e.length===0)return null;if(e=e.trimEnd(),e.startsWith("[")){if(e=e.substring(1),e.endsWith("]")&&(e=e.substring(0,e.length-1)),e.length===0)return null;let t=e.split(", ");return t=t.length>1?t:t[0].split(","),t.filter(n=>n!="")}if(e.includes(` -`)){let t=e.split(/[ \t]*\n[ \t]*-[ \t]*/);return t.splice(0,1),t=t.filter(n=>n!=""),t==null||t.length===0?null:t}return e}function _r(e){if(e==null)return[];let t=[],n=[];Array.isArray(e)?n=e:e.includes(",")?n=e.split(", "):n=e.split(" ");for(let i of n)t.push(i.trim());return t}function Br(e){return typeof e=="string"?e.split(", "):e}function ns(e){return e.length>1&&(e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"'))}function kt(e,t,n=!1){if(ns(e))return e;let i=e.includes("'"),r=e.includes('"'),o=e.includes(": ");return!i&&!r&&!o&&!n||i&&r?e:i?`"${e}"`:r?`'${e}'`:`${t}${e}${t}`}var Mn=require("obsidian");var hl=require("obsidian");function We(e,t){hl.MarkdownRenderer.renderMarkdown(e,t,"",null);let n=t.innerHTML.trim();n.startsWith("

")&&(n=n.substring(3)),n.endsWith("

")&&(n=n.substring(0,n.length-4)),t.innerHTML=n}var Ut=class{constructor(t,n,i,r){this.name=t,this.description=n,this.defaultValue=i,this.searchInfo={name:t,description:n},r&&(this.ruleName=r)}setOption(t,n){n.ruleConfigs[this.ruleName][this.name]=t}},Bn=class extends Ut{display(n,i,r){let o=new Mn.Setting(n).addToggle(s=>{s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});We(this.name,o.nameEl),We(this.description,o.descEl),o.settingEl.style.border="none"}},li=class extends Ut{display(n,i,r){let o=new Mn.Setting(n).addText(s=>{s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});We(this.name,o.nameEl),We(this.description,o.descEl),o.settingEl.style.border="none"}},Mr=class extends Ut{display(n,i,r){let o=new Mn.Setting(n).addTextArea(s=>{s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});We(this.name,o.nameEl),We(this.description,o.descEl),o.settingEl.style.border="none"}},Ir=class extends Ut{display(n,i,r){let o=new Mn.Setting(n).addMomentFormat(s=>{s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.setPlaceholder("dddd, MMMM Do YYYY, h:mm:ss a"),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});We(this.name,o.nameEl),We(this.description,o.descEl),o.settingEl.style.border="none"}},Fr=class{constructor(t,n){this.value=t,this.description=n}},Rr=class extends Ut{constructor(n,i,r,o,s){super(n,i,r,s);this.options=o,this.searchInfo.options=o}display(n,i,r){let o=new Mn.Setting(n).addDropdown(s=>{for(let a of this.options)s.addOption(a.value,a.value);s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});We(this.name,o.nameEl),We(this.description,o.descEl),o.settingEl.style.border="none"}};var It=class extends Error{constructor(t,n){super(t),this.cause=n??null,this.stack=n.stack??null,Object.setPrototypeOf(this,It.prototype)}};var N=(s=>(s.YAML="YAML",s.HEADING="Heading",s.FOOTNOTE="Footnote",s.CONTENT="Content",s.SPACING="Spacing",s.PASTE="Paste",s))(N||{}),$r=class{constructor(t,n,i,r,o,s=[],a=!1){this.name=t,this.description=n,this.type=i,this.apply=r,this.examples=o,s.unshift(new Bn(this.description,"",!1));for(let l of s)l.ruleName=t;this.options=s,this.hasSpecialExecutionOrder=a}alias(){return this.name.replace(/ /g,"-").toLowerCase()}getDefaultOptions(){let t={};for(let n of this.options)t[n.name]=n.defaultValue;return t}getOptions(t){return t.ruleConfigs[this.name]}getURL(){return"https://github.com/platers/obsidian-linter/blob/master/docs/rules.md"+"#"+this.alias()}enabledOptionName(){return this.options[0].name}},Dr=class{constructor(t,n,i,r={}){this.description=t,this.options=r,this.before=n,this.after=i}},gl=Object.values(N);function yl(e){let t=e.match(ke);if(!t)return[];let n=t[1],i=Oe(n,"disabled rules");if(i==null)return[];let r=i.includes(` + - `);case"single string space delimited":return e==null||e.length===0?" ":e.length===1?" "+e[0]:" "+e.join(" ");case"single string comma delimited":return e==null||e.length===0?" ":e.length===1?" "+e[0]:" "+e.join(", ");case"single-line space delimited":return e==null||e.length===0?" []":e.length===1?" "+e[0]:" "+cs(e).replaceAll(", "," ")}}function cs(e){return e==null||e.length===0?"[]":"["+e.join(", ")+"]"}function gt(e){if(e==null||e.length===0)return null;if(e=e.trimEnd(),e.startsWith("["))return e=e.substring(1),e.endsWith("]")&&(e=e.substring(0,e.length-1)),e.length===0?null:Hr(e,",").filter(n=>n!="");if(e.includes(` +`)){let t=e.split(/[ \t]*\n[ \t]*-[ \t]*/);return t.splice(0,1),t=t.filter(n=>n!=""),t==null||t.length===0?null:t}return e}function zr(e){if(e==null)return[];let t=[],n=[];Array.isArray(e)?n=e:e.includes(",")?n=Hr(e,","):n=Hr(e," ");for(let i of n)t.push(i.trim());return t}function Yr(e){return typeof e=="string"?Hr(e,","):e}function Hr(e,t=","){if(e==""||e==null)return null;if(t.length>1)throw new Error("delimiter is only allowed to be a single character");let n=[],i="",r=0;for(;r1&&(e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"'))}function St(e,t,n=!1){if(hs(e))return e;let i=e.includes("'"),r=e.includes('"'),o=e.includes(": ");return!i&&!r&&!o&&!n||i&&r?e:i?`"${e}"`:r?`'${e}'`:`${t}${e}${t}`}var In=require("obsidian");var Ll=require("obsidian");function He(e,t){Ll.MarkdownRenderer.renderMarkdown(e,t,"",null);let n=t.innerHTML.trim();n.startsWith("

")&&(n=n.substring(3)),n.endsWith("

")&&(n=n.substring(0,n.length-4)),t.innerHTML=n}var Zt=class{constructor(t,n,i,r){this.name=t,this.description=n,this.defaultValue=i,this.searchInfo={name:t,description:n},r&&(this.ruleName=r)}setOption(t,n){n.ruleConfigs[this.ruleName][this.name]=t}},Bn=class extends Zt{display(n,i,r){let o=new In.Setting(n).addToggle(s=>{s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});He(this.name,o.nameEl),He(this.description,o.descEl),o.settingEl.style.border="none"}},ci=class extends Zt{display(n,i,r){let o=new In.Setting(n).addText(s=>{s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});He(this.name,o.nameEl),He(this.description,o.descEl),o.settingEl.style.border="none"}},qr=class extends Zt{display(n,i,r){let o=new In.Setting(n).addTextArea(s=>{s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});He(this.name,o.nameEl),He(this.description,o.descEl),o.settingEl.style.border="none"}},Kr=class extends Zt{display(n,i,r){let o=new In.Setting(n).addMomentFormat(s=>{s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.setPlaceholder("dddd, MMMM Do YYYY, h:mm:ss a"),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});He(this.name,o.nameEl),He(this.description,o.descEl),o.settingEl.style.border="none"}},Vr=class{constructor(t,n){this.value=t,this.description=n}},jr=class extends Zt{constructor(n,i,r,o,s){super(n,i,r,s);this.options=o,this.searchInfo.options=o}display(n,i,r){let o=new In.Setting(n).addDropdown(s=>{for(let a of this.options)s.addOption(a.value,a.value);s.setValue(i.ruleConfigs[this.ruleName][this.name]),s.onChange(a=>{this.setOption(a,i),r.settings=i,r.saveData(r.settings)})});He(this.name,o.nameEl),He(this.description,o.descEl),o.settingEl.style.border="none"}};var Dt=class extends Error{constructor(t,n){super(t),this.cause=n??null,this.stack=n.stack??null,Object.setPrototypeOf(this,Dt.prototype)}};var N=(s=>(s.YAML="YAML",s.HEADING="Heading",s.FOOTNOTE="Footnote",s.CONTENT="Content",s.SPACING="Spacing",s.PASTE="Paste",s))(N||{}),Wr=class{constructor(t,n,i,r,o,s=[],a=!1){this.name=t,this.description=n,this.type=i,this.apply=r,this.examples=o,s.unshift(new Bn(this.description,"",!1));for(let l of s)l.ruleName=t;this.options=s,this.hasSpecialExecutionOrder=a}alias(){return this.name.replace(/ /g,"-").toLowerCase()}getDefaultOptions(){let t={};for(let n of this.options)t[n.name]=n.defaultValue;return t}getOptions(t){return t.ruleConfigs[this.name]}getURL(){return"https://github.com/platers/obsidian-linter/blob/master/docs/rules.md"+"#"+this.alias()}enabledOptionName(){return this.options[0].name}},Ur=class{constructor(t,n,i,r={}){this.description=t,this.options=r,this.before=n,this.after=i}},_l=Object.values(N);function Bl(e){let t=e.match(ke);if(!t)return[];let n=t[1],i=Oe(n,"disabled rules");if(i==null)return[];let r=i.includes(` `)?`disabled rules: -`:"disabled rules: ";r+=i;let s=Je(r)["disabled rules"];return s?(typeof s=="string"&&(s=[s]),s.includes("all")?gt.map(a=>a.alias()):s):[]}var gt=[],Lm=gt.reduce((e,t)=>(e[t.alias()]=t,e),{});function bl(e){gt.push(e),gt.sort((t,n)=>gl.indexOf(t.type)-gl.indexOf(n.type)||t.name.localeCompare(n.name)),Lm[e.alias()]=e}function Pr(e,t){let n;throw e instanceof ll?(n=e.toString(),n=`error in the yaml: ${n.substring(n.indexOf(":")+1)}`):n=`unknown error: ${e.message}`,new It(`"${t}" encountered an ${n}`,e)}var Vn=Ro(wl());function Cm(e){for(var t=[],n=1;na.alias()):s):[]}var yt=[],Km=yt.reduce((e,t)=>(e[t.alias()]=t,e),{});function Il(e){yt.push(e),yt.sort((t,n)=>_l.indexOf(t.type)-_l.indexOf(n.type)||t.name.localeCompare(n.name)),Km[e.alias()]=e}function Gr(e,t){let n;throw e instanceof vl?(n=e.toString(),n=`error in the yaml: ${n.substring(n.indexOf(":")+1)}`):n=`unknown error: ${e.message}`,new Dt(`"${t}" encountered an ${n}`,e)}var Wn=Go(Ml());function Vm(e){for(var t=[],n=1;ni.example),t.optionBuilders.map(i=>i.option),t.hasSpecialExecutionOrder);Ue(et,Fn).set(this.name,n),Ue(et,pi).set(t.name,t)}return Ue(et,Fn).get(this.name)}static applyIfEnabledBase(t,n,i,r){let o=t.getOptions(i);if(o[t.enabledOptionName()]){let s=Object.assign({},o,r);Ft(`Running ${t.name}`);try{return[t.apply(n,s),!0]}catch(a){Pr(a,t.name)}}else return[n,!1]}static getBuilderByName(t){return Ue(et,pi).get(t)}static setNoSettingControl(t,n){Ue(et,Rt).has(t)||Ue(et,Rt).set(t,[]),Ue(et,Rt).get(t).push(n)}static hasSettingControl(t,n){return!Ue(et,Rt).has(t)||!Ue(et,Rt).get(t).includes(n)}},st=et;Fn=new WeakMap,pi=new WeakMap,Rt=new WeakMap,Sn(st,Fn,new Map),Sn(st,pi,new Map),Sn(st,Rt,new Map);var k=class extends st{static register(t){let n=t.getRule();bl(n)}safeApply(t,n){return this.apply(t,this.buildRuleOptions(n))}buildRuleOptions(t){t=t??{};let n=new this.OptionsClass,i=Object.assign(n,t);for(let r of this.optionBuilders)r.setRuleOption(i,t);return i}get hasSpecialExecutionOrder(){return!1}static applyIfEnabled(t,n,i,r){let o=this.getRule();return i.includes(o.alias())?(Ft(o.alias()+" is disabled"),[t,!1]):st.applyIfEnabledBase(o,t,n,r)}static getRuleOptions(t){let n=st.getRule.bind(this)(),i=new this,r=n.getOptions(t);return i.buildRuleOptions(r)}static noSettingControl(){return(t,n)=>{let i=t.constructor.name;st.setNoSettingControl(i,n)}}},rs,v=class{constructor(t){Sn(this,rs,void 0);this.example=new Dr(t.description,t.before,t.after,t.options)}};rs=new WeakMap;var Rn,$t=class{constructor(t){Sn(this,Rn,void 0);this.OptionsClass=t.OptionsClass,this.name=t.name,this.description=t.description,this.optionsKey=t.optionsKey}get defaultValue(){return new this.OptionsClass()[this.optionsKey]}get option(){return Ue(this,Rn)||xa(this,Rn,this.buildOption()),Ue(this,Rn)}setRuleOption(t,n){let i=n[this.name];i!==void 0&&(t[this.optionsKey]=i)}};Rn=new WeakMap;var te=class extends $t{buildOption(){return new Bn(this.name,this.description,this.defaultValue)}},zr=class extends $t{buildOption(){return new li(this.name,this.description,this.defaultValue)}},ye=class extends $t{constructor(n){super(n);this.records=n.records.map(i=>new Fr(i.value,i.description))}buildOption(){return new Rr(this.name,this.description,this.defaultValue,this.records)}},Ae=class extends $t{constructor(n){super(n);this.separator=n.separator??` -`,this.splitter=n.splitter??/\n/}buildOption(){return new Mr(this.name,this.description,this.defaultValue.join(this.separator))}setRuleOption(n,i){if(i[this.name]!==void 0){let r=i[this.name].split(this.splitter).filter(function(o){return o!=""});n[this.optionsKey]=r}}},Gt=class extends $t{buildOption(){return new li(this.name,this.description,this.defaultValue)}},qr=class extends $t{buildOption(){return new Ir(this.name,this.description,this.defaultValue)}};var Kr=class{};A([k.noSettingControl()],Kr.prototype,"lineContent",2);var Zt=class extends k{get OptionsClass(){return Kr}get name(){return"Add Blockquote Indentation on Paste"}get description(){return"Adds blockquotes to all but the first line, when the cursor is in a blockquote/callout line during pasting"}get type(){return"Paste"}apply(t,n){let i=/^(\s*)((> ?)+) .*/,r=n.lineContent.match(i);if(!r)return t;let o=r[1]??"",s=r[2]??"";return t.trim().replace(/\n/gm,` -${o}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted into regular text does not get blockquotified with current line being `Part 1 of the sentence`",before:f` +`+t.stack),_e.default.error(n)}function mi(e){_e.default.info(`${Qr} ${e}`)}function Tt(e){_e.default.debug(`${Qr} ${e}`)}function Xr(e){_e.default.warn(`${Qr} ${e}`)}function Dl(e){switch(e){case _e.default.levels.INFO:{_e.default.setLevel("info");break}case _e.default.levels.TRACE:{_e.default.setLevel("trace");break}case _e.default.levels.DEBUG:{_e.default.setLevel("debug");break}case _e.default.levels.SILENT:{_e.default.setLevel("silent");break}case _e.default.levels.ERROR:{_e.default.setLevel("error");break}case _e.default.levels.WARN:{_e.default.setLevel("warn");break}}}var Ko=require("obsidian");var Fn,di,$t,et=class{static getRule(){if(!Ue(et,Fn).has(this.name)){let t=new this,n=new Wr(t.name,t.description,t.type,t.safeApply.bind(t),t.exampleBuilders.map(i=>i.example),t.optionBuilders.map(i=>i.option),t.hasSpecialExecutionOrder);Ue(et,Fn).set(this.name,n),Ue(et,di).set(t.name,t)}return Ue(et,Fn).get(this.name)}static applyIfEnabledBase(t,n,i,r){let o=t.getOptions(i);if(o[t.enabledOptionName()]){let s=Object.assign({},o,r);Tt(`Running ${t.name}`);try{return[t.apply(n,s),!0]}catch(a){Gr(a,t.name)}}else return[n,!1]}static getBuilderByName(t){return Ue(et,di).get(t)}static setNoSettingControl(t,n){Ue(et,$t).has(t)||Ue(et,$t).set(t,[]),Ue(et,$t).get(t).push(n)}static hasSettingControl(t,n){return!Ue(et,$t).has(t)||!Ue(et,$t).get(t).includes(n)}},st=et;Fn=new WeakMap,di=new WeakMap,$t=new WeakMap,On(st,Fn,new Map),On(st,di,new Map),On(st,$t,new Map);var S=class extends st{static register(t){let n=t.getRule();Il(n)}safeApply(t,n){return this.apply(t,this.buildRuleOptions(n))}buildRuleOptions(t){t=t??{};let n=new this.OptionsClass,i=Object.assign(n,t);for(let r of this.optionBuilders)r.setRuleOption(i,t);return i}get hasSpecialExecutionOrder(){return!1}static applyIfEnabled(t,n,i,r){let o=this.getRule();return i.includes(o.alias())?(Tt(o.alias()+" is disabled"),[t,!1]):st.applyIfEnabledBase(o,t,n,r)}static getRuleOptions(t){let n=st.getRule.bind(this)(),i=new this,r=n.getOptions(t);return i.buildRuleOptions(r)}static noSettingControl(){return(t,n)=>{let i=t.constructor.name;st.setNoSettingControl(i,n)}}},ys,x=class{constructor(t){On(this,ys,void 0);this.example=new Ur(t.description,t.before,t.after,t.options)}};ys=new WeakMap;var Rn,Pt=class{constructor(t){On(this,Rn,void 0);this.OptionsClass=t.OptionsClass,this.name=t.name,this.description=t.description,this.optionsKey=t.optionsKey}get defaultValue(){return new this.OptionsClass()[this.optionsKey]}get option(){return Ue(this,Rn)||Ma(this,Rn,this.buildOption()),Ue(this,Rn)}setRuleOption(t,n){let i=n[this.name];i!==void 0&&(t[this.optionsKey]=i)}};Rn=new WeakMap;var U=class extends Pt{buildOption(){return new Bn(this.name,this.description,this.defaultValue)}},Jr=class extends Pt{buildOption(){return new ci(this.name,this.description,this.defaultValue)}},ye=class extends Pt{constructor(n){super(n);this.records=n.records.map(i=>new Vr(i.value,i.description))}buildOption(){return new jr(this.name,this.description,this.defaultValue,this.records)}},Ae=class extends Pt{constructor(n){super(n);this.separator=n.separator??` +`,this.splitter=n.splitter??/\n/}buildOption(){return new qr(this.name,this.description,this.defaultValue.join(this.separator))}setRuleOption(n,i){if(i[this.name]!==void 0){let r=i[this.name].split(this.splitter).filter(function(o){return o!=""});n[this.optionsKey]=r}}},at=class extends Pt{buildOption(){return new ci(this.name,this.description,this.defaultValue)}},eo=class extends Pt{buildOption(){return new Kr(this.name,this.description,this.defaultValue)}};var to=class{};O([S.noSettingControl()],to.prototype,"lineContent",2);var Qt=class extends S{get OptionsClass(){return to}get name(){return"Add Blockquote Indentation on Paste"}get description(){return"Adds blockquotes to all but the first line, when the cursor is in a blockquote/callout line during pasting"}get type(){return"Paste"}apply(t,n){let i=/^(\s*)((> ?)+) .*/,r=n.lineContent.match(i);if(!r)return t;let o=r[1]??"",s=r[2]??"";return t.trim().replace(/\n/gm,` +${o}${s} `)}get exampleBuilders(){return[new x({description:"Line being pasted into regular text does not get blockquotified with current line being `Part 1 of the sentence`",before:d` was much less likely to succeed, but they tried it anyway. Part 2 was much more interesting. - `,after:f` + `,after:d` was much less likely to succeed, but they tried it anyway. Part 2 was much more interesting. - `,options:{lineContent:"Part 1 of the sentence"}}),new v({description:"Line being pasted into a blockquote gets blockquotified with current line being `> > `",before:f` + `,options:{lineContent:"Part 1 of the sentence"}}),new x({description:"Line being pasted into a blockquote gets blockquotified with current line being `> > `",before:d` ${""} This content is being added to a blockquote Note that the second line is indented and the surrounding blank lines were trimmed ${""} - `,after:f` + `,after:d` This content is being added to a blockquote > > Note that the second line is indented and the surrounding blank lines were trimmed - `,options:{lineContent:"> > "}})]}get optionBuilders(){return[]}};Zt=A([k.register],Zt);var os=function(e){if(e==null)return Fm;if(typeof e=="string")return Im(e);if(typeof e=="object")return Array.isArray(e)?Bm(e):Mm(e);if(typeof e=="function")return jr(e);throw new Error("Expected function, string, or object as test")};function Bm(e){let t=[],n=-1;for(;++n":""))+")"})),c;function c(){let d=[],h,g,x;if((!t||r(a,l,u[u.length-1]||null))&&(d=Dm(n(a,u)),d[0]===Sl))return d;if(a.children&&d[0]!==$m)for(g=(i?a.children.length:-1)+o,x=u.concat(a);g>-1&&gr?0:r+t:t=t>r?r:t,n=n>0?n:0,i.length<1e4)s=Array.from(i),s.unshift(t,n),[].splice.apply(e,s);else for(n&&[].splice.apply(e,[t,n]);o0?(Be(e,e.length,0,t),e):t}var Al=/[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/;var Ze=Dt(/[A-Za-z]/),ci=Dt(/\d/),Ll=Dt(/[\dA-Fa-f]/),ze=Dt(/[\dA-Za-z]/),Cl=Dt(/[!-/:-@[-`{-~]/),ss=Dt(/[#-'*+\--9=?A-Z^-~]/);function mi(e){return e!==null&&(e<32||e===127)}function re(e){return e!==null&&(e<0||e===32)}function $(e){return e!==null&&e<-2}function U(e){return e===-2||e===-1||e===32}var El=Dt(/\s/),_l=Dt(Al);function Dt(e){return t;function t(n){return n!==null&&e.test(String.fromCharCode(n))}}function as(e){if(e===null||re(e)||El(e))return 1;if(_l(e))return 2}function $n(e,t,n){let i=[],r=-1;for(;++r1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let m=Object.assign({},e[i][1].end),c=Object.assign({},e[n][1].start);Bl(m,-l),Bl(c,l),s={type:l>1?"strongSequence":"emphasisSequence",start:m,end:Object.assign({},e[i][1].end)},a={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[n][1].start),end:c},o={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[i][1].end),end:Object.assign({},e[n][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},s.start),end:Object.assign({},a.end)},e[i][1].end=Object.assign({},s.start),e[n][1].start=Object.assign({},a.end),u=[],e[i][1].end.offset-e[i][1].start.offset&&(u=Ye(u,[["enter",e[i][1],t],["exit",e[i][1],t]])),u=Ye(u,[["enter",r,t],["enter",s,t],["exit",s,t],["enter",o,t]]),u=Ye(u,$n(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),u=Ye(u,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",r,t]]),e[n][1].end.offset-e[n][1].start.offset?(p=2,u=Ye(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):p=0,Be(e,i-1,n-i+3,u),n=i+u.length-p-2;break}}for(n=-1;++n=4?s(u):n(u)}function s(u){return u===null?l(u):$(u)?e.attempt(Um,s,l)(u):(e.enter("codeFlowValue"),a(u))}function a(u){return u===null||$(u)?(e.exit("codeFlowValue"),s(u)):(e.consume(u),a)}function l(u){return e.exit("codeIndented"),t(u)}}function Zm(e,t,n){let i=this;return r;function r(s){return i.parser.lazy[i.now().line]?n(s):$(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),r):z(e,o,"linePrefix",4+1)(s)}function o(s){let a=i.events[i.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(s):$(s)?r(s):n(s)}}var us={name:"codeText",tokenize:Jm,resolve:Qm,previous:Xm};function Qm(e){let t=e.length-4,n=3,i,r;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(i=n;++i=4?t(s):e.interrupt(i.parser.constructs.flow,n,t)(s)}}function Qr(e,t,n,i,r,o,s,a,l){let u=l||Number.POSITIVE_INFINITY,p=0;return m;function m(b){return b===60?(e.enter(i),e.enter(r),e.enter(o),e.consume(b),e.exit(o),c):b===null||b===41||mi(b)?n(b):(e.enter(i),e.enter(s),e.enter(a),e.enter("chunkString",{contentType:"string"}),g(b))}function c(b){return b===62?(e.enter(o),e.consume(b),e.exit(o),e.exit(r),e.exit(i),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),d(b))}function d(b){return b===62?(e.exit("chunkString"),e.exit(a),c(b)):b===null||b===60||$(b)?n(b):(e.consume(b),b===92?h:d)}function h(b){return b===60||b===62||b===92?(e.consume(b),d):d(b)}function g(b){return b===40?++p>u?n(b):(e.consume(b),g):b===41?p--?(e.consume(b),g):(e.exit("chunkString"),e.exit(a),e.exit(s),e.exit(i),t(b)):b===null||re(b)?p?n(b):(e.exit("chunkString"),e.exit(a),e.exit(s),e.exit(i),t(b)):mi(b)?n(b):(e.consume(b),b===92?x:g)}function x(b){return b===40||b===41||b===92?(e.consume(b),g):g(b)}}function Xr(e,t,n,i,r,o){let s=this,a=0,l;return u;function u(d){return e.enter(i),e.enter(r),e.consume(d),e.exit(r),e.enter(o),p}function p(d){return d===null||d===91||d===93&&!l||d===94&&!a&&"_hiddenFootnoteSupport"in s.parser.constructs||a>999?n(d):d===93?(e.exit(o),e.enter(r),e.consume(d),e.exit(r),e.exit(i),t):$(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),m(d))}function m(d){return d===null||d===91||d===93||$(d)||a++>999?(e.exit("chunkString"),p(d)):(e.consume(d),l=l||!U(d),d===92?c:m)}function c(d){return d===91||d===92||d===93?(e.consume(d),a++,m):m(d)}}function Jr(e,t,n,i,r,o){let s;return a;function a(c){return e.enter(i),e.enter(r),e.consume(c),e.exit(r),s=c===40?41:c,l}function l(c){return c===s?(e.enter(r),e.consume(c),e.exit(r),e.exit(i),t):(e.enter(o),u(c))}function u(c){return c===s?(e.exit(o),l(s)):c===null?n(c):$(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),z(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(c))}function p(c){return c===s||c===null||$(c)?(e.exit("chunkString"),u(c)):(e.consume(c),c===92?m:p)}function m(c){return c===s||c===92?(e.consume(c),p):p(c)}}function Qt(e,t){let n;return i;function i(r){return $(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n=!0,i):U(r)?z(e,i,n?"linePrefix":"lineSuffix")(r):t(r)}}function De(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var cs={name:"definition",tokenize:sd},od={tokenize:ad,partial:!0};function sd(e,t,n){let i=this,r;return o;function o(l){return e.enter("definition"),Xr.call(i,e,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(l)}function s(l){return r=De(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),l===58?(e.enter("definitionMarker"),e.consume(l),e.exit("definitionMarker"),Qt(e,Qr(e,e.attempt(od,z(e,a,"whitespace"),z(e,a,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(l)}function a(l){return l===null||$(l)?(e.exit("definition"),i.parser.defined.includes(r)||i.parser.defined.push(r),t(l)):n(l)}}function ad(e,t,n){return i;function i(s){return re(s)?Qt(e,r)(s):n(s)}function r(s){return s===34||s===39||s===40?Jr(e,z(e,o,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s):n(s)}function o(s){return s===null||$(s)?t(s):n(s)}}var ms={name:"hardBreakEscape",tokenize:ld};function ld(e,t,n){return i;function i(o){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(o),r}function r(o){return $(o)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(o)):n(o)}}var ds={name:"headingAtx",tokenize:pd,resolve:ud};function ud(e,t){let n=e.length-2,i=3,r,o;return e[i][1].type==="whitespace"&&(i+=2),n-2>i&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(i===n-1||n-4>i&&e[n-2][1].type==="whitespace")&&(n-=i+1===n?2:4),n>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[n][1].end},o={type:"chunkText",start:e[i][1].start,end:e[n][1].end,contentType:"text"},Be(e,i,n-i+1,[["enter",r,t],["enter",o,t],["exit",o,t],["exit",r,t]])),e}function pd(e,t,n){let i=this,r=0;return o;function o(p){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),s(p)}function s(p){return p===35&&r++<6?(e.consume(p),s):p===null||re(p)?(e.exit("atxHeadingSequence"),i.interrupt?t(p):a(p)):n(p)}function a(p){return p===35?(e.enter("atxHeadingSequence"),l(p)):p===null||$(p)?(e.exit("atxHeading"),t(p)):U(p)?z(e,a,"whitespace")(p):(e.enter("atxHeadingText"),u(p))}function l(p){return p===35?(e.consume(p),l):(e.exit("atxHeadingSequence"),a(p))}function u(p){return p===null||p===35||re(p)?(e.exit("atxHeadingText"),a(p)):(e.consume(p),u)}}var Il=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],fs=["pre","script","style","textarea"];var hs={name:"htmlFlow",tokenize:dd,resolveTo:md,concrete:!0},cd={tokenize:fd,partial:!0};function md(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function dd(e,t,n){let i=this,r,o,s,a,l;return u;function u(y){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(y),p}function p(y){return y===33?(e.consume(y),m):y===47?(e.consume(y),h):y===63?(e.consume(y),r=3,i.interrupt?t:le):Ze(y)?(e.consume(y),s=String.fromCharCode(y),o=!0,g):n(y)}function m(y){return y===45?(e.consume(y),r=2,c):y===91?(e.consume(y),r=5,s="CDATA[",a=0,d):Ze(y)?(e.consume(y),r=4,i.interrupt?t:le):n(y)}function c(y){return y===45?(e.consume(y),i.interrupt?t:le):n(y)}function d(y){return y===s.charCodeAt(a++)?(e.consume(y),a===s.length?i.interrupt?t:Y:d):n(y)}function h(y){return Ze(y)?(e.consume(y),s=String.fromCharCode(y),g):n(y)}function g(y){return y===null||y===47||y===62||re(y)?y!==47&&o&&fs.includes(s.toLowerCase())?(r=1,i.interrupt?t(y):Y(y)):Il.includes(s.toLowerCase())?(r=6,y===47?(e.consume(y),x):i.interrupt?t(y):Y(y)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(y):o?C(y):b(y)):y===45||ze(y)?(e.consume(y),s+=String.fromCharCode(y),g):n(y)}function x(y){return y===62?(e.consume(y),i.interrupt?t:Y):n(y)}function b(y){return U(y)?(e.consume(y),b):P(y)}function C(y){return y===47?(e.consume(y),P):y===58||y===95||Ze(y)?(e.consume(y),O):U(y)?(e.consume(y),C):P(y)}function O(y){return y===45||y===46||y===58||y===95||ze(y)?(e.consume(y),O):E(y)}function E(y){return y===61?(e.consume(y),I):U(y)?(e.consume(y),E):C(y)}function I(y){return y===null||y===60||y===61||y===62||y===96?n(y):y===34||y===39?(e.consume(y),l=y,T):U(y)?(e.consume(y),I):(l=null,B(y))}function T(y){return y===null||$(y)?n(y):y===l?(e.consume(y),M):(e.consume(y),T)}function B(y){return y===null||y===34||y===39||y===60||y===61||y===62||y===96||re(y)?E(y):(e.consume(y),B)}function M(y){return y===47||y===62||U(y)?C(y):n(y)}function P(y){return y===62?(e.consume(y),K):n(y)}function K(y){return U(y)?(e.consume(y),K):y===null||$(y)?Y(y):n(y)}function Y(y){return y===45&&r===2?(e.consume(y),X):y===60&&r===1?(e.consume(y),G):y===62&&r===4?(e.consume(y),ne):y===63&&r===3?(e.consume(y),le):y===93&&r===5?(e.consume(y),ae):$(y)&&(r===6||r===7)?e.check(cd,ne,j)(y):y===null||$(y)?j(y):(e.consume(y),Y)}function j(y){return e.exit("htmlFlowData"),F(y)}function F(y){return y===null?w(y):$(y)?e.attempt({tokenize:V,partial:!0},F,w)(y):(e.enter("htmlFlowData"),Y(y))}function V(y,ct,Ke){return Ne;function Ne(je){return y.enter("lineEnding"),y.consume(je),y.exit("lineEnding"),rt}function rt(je){return i.parser.lazy[i.now().line]?Ke(je):ct(je)}}function X(y){return y===45?(e.consume(y),le):Y(y)}function G(y){return y===47?(e.consume(y),s="",se):Y(y)}function se(y){return y===62&&fs.includes(s.toLowerCase())?(e.consume(y),ne):Ze(y)&&s.length<8?(e.consume(y),s+=String.fromCharCode(y),se):Y(y)}function ae(y){return y===93?(e.consume(y),le):Y(y)}function le(y){return y===62?(e.consume(y),ne):y===45&&r===2?(e.consume(y),le):Y(y)}function ne(y){return y===null||$(y)?(e.exit("htmlFlowData"),w(y)):(e.consume(y),ne)}function w(y){return e.exit("htmlFlow"),t(y)}}function fd(e,t,n){return i;function i(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(yt,t,n)}}var gs={name:"htmlText",tokenize:hd};function hd(e,t,n){let i=this,r,o,s,a;return l;function l(w){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(w),u}function u(w){return w===33?(e.consume(w),p):w===47?(e.consume(w),B):w===63?(e.consume(w),I):Ze(w)?(e.consume(w),K):n(w)}function p(w){return w===45?(e.consume(w),m):w===91?(e.consume(w),o="CDATA[",s=0,x):Ze(w)?(e.consume(w),E):n(w)}function m(w){return w===45?(e.consume(w),c):n(w)}function c(w){return w===null||w===62?n(w):w===45?(e.consume(w),d):h(w)}function d(w){return w===null||w===62?n(w):h(w)}function h(w){return w===null?n(w):w===45?(e.consume(w),g):$(w)?(a=h,ae(w)):(e.consume(w),h)}function g(w){return w===45?(e.consume(w),ne):h(w)}function x(w){return w===o.charCodeAt(s++)?(e.consume(w),s===o.length?b:x):n(w)}function b(w){return w===null?n(w):w===93?(e.consume(w),C):$(w)?(a=b,ae(w)):(e.consume(w),b)}function C(w){return w===93?(e.consume(w),O):b(w)}function O(w){return w===62?ne(w):w===93?(e.consume(w),O):b(w)}function E(w){return w===null||w===62?ne(w):$(w)?(a=E,ae(w)):(e.consume(w),E)}function I(w){return w===null?n(w):w===63?(e.consume(w),T):$(w)?(a=I,ae(w)):(e.consume(w),I)}function T(w){return w===62?ne(w):I(w)}function B(w){return Ze(w)?(e.consume(w),M):n(w)}function M(w){return w===45||ze(w)?(e.consume(w),M):P(w)}function P(w){return $(w)?(a=P,ae(w)):U(w)?(e.consume(w),P):ne(w)}function K(w){return w===45||ze(w)?(e.consume(w),K):w===47||w===62||re(w)?Y(w):n(w)}function Y(w){return w===47?(e.consume(w),ne):w===58||w===95||Ze(w)?(e.consume(w),j):$(w)?(a=Y,ae(w)):U(w)?(e.consume(w),Y):ne(w)}function j(w){return w===45||w===46||w===58||w===95||ze(w)?(e.consume(w),j):F(w)}function F(w){return w===61?(e.consume(w),V):$(w)?(a=F,ae(w)):U(w)?(e.consume(w),F):Y(w)}function V(w){return w===null||w===60||w===61||w===62||w===96?n(w):w===34||w===39?(e.consume(w),r=w,X):$(w)?(a=V,ae(w)):U(w)?(e.consume(w),V):(e.consume(w),r=void 0,se)}function X(w){return w===r?(e.consume(w),G):w===null?n(w):$(w)?(a=X,ae(w)):(e.consume(w),X)}function G(w){return w===62||w===47||re(w)?Y(w):n(w)}function se(w){return w===null||w===34||w===39||w===60||w===61||w===96?n(w):w===62||re(w)?Y(w):(e.consume(w),se)}function ae(w){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(w),e.exit("lineEnding"),z(e,le,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function le(w){return e.enter("htmlTextData"),a(w)}function ne(w){return w===62?(e.consume(w),e.exit("htmlTextData"),e.exit("htmlText"),t):n(w)}}var Xt={name:"labelEnd",tokenize:vd,resolveTo:xd,resolveAll:wd},gd={tokenize:kd},yd={tokenize:Sd},bd={tokenize:Td};function wd(e){let t=-1,n;for(;++t999?n(c):c===93?s?(e.exit("chunkString"),d=e.exit("gfmFootnoteCallString"),r.includes(De(i.sliceSerialize(d)))?m(c):n(c)):n(c):(e.consume(c),re(c)||(s=!0),c===92?p:u)}function p(c){return c===91||c===92||c===93?(e.consume(c),o++,u):u(c)}function m(c){return e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}}function zd(e,t,n){let i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),o,s=0,a;return l;function l(g){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(g){return g===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),p):n(g)}function p(g){let x;return g===null||g===91||s>999?n(g):g===93?a?(x=e.exit("gfmFootnoteDefinitionLabelString"),o=De(i.sliceSerialize(x)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d):n(g):$(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),s++,p):(e.enter("chunkString").contentType="string",m(g))}function m(g){return g===null||$(g)||g===91||g===93||s>999?(e.exit("chunkString"),p(g)):(re(g)||(a=!0),s++,e.consume(g),g===92?c:m)}function c(g){return g===91||g===92||g===93?(e.consume(g),s++,m):m(g)}function d(g){return g===58?(e.enter("definitionMarker"),e.consume(g),e.exit("definitionMarker"),z(e,h,"gfmFootnoteDefinitionWhitespace")):n(g)}function h(g){return r.includes(o)||r.push(o),t(g)}}function qd(e,t,n){return e.check(yt,t,e.attempt(Pd,t,n))}function Kd(e){e.exit("gfmFootnoteDefinition")}function jd(e,t,n){let i=this;return z(e,r,"gfmFootnoteDefinitionIndent",4+1);function r(o){let s=i.events[i.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(o):n(o)}}var Vd={tokenize:Wd},xs={text:{[91]:Vd}};function Wd(e,t,n){let i=this;return r;function r(a){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?n(a):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),o)}function o(a){return re(a)?(e.enter("taskListCheckValueUnchecked"),e.consume(a),e.exit("taskListCheckValueUnchecked"),s):a===88||a===120?(e.enter("taskListCheckValueChecked"),e.consume(a),e.exit("taskListCheckValueChecked"),s):n(a)}function s(a){return a===93?(e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),e.check({tokenize:Ud},t,n)):n(a)}}function Ud(e,t,n){let i=this;return z(e,r,"whitespace");function r(o){let s=i.events[i.events.length-1];return(s&&s[1].type==="whitespace"||$(o))&&o!==null?t(o):n(o)}}var Fl={}.hasOwnProperty;function to(e){let t={},n=-1;for(;++ns))return;let B=t.events.length,M=B,P,K;for(;M--;)if(t.events[M][0]==="exit"&&t.events[M][1].type==="chunkFlow"){if(P){K=t.events[M][1].end;break}P=!0}for(b(i),T=B;TO;){let I=n[E];t.containerState=I[1],I[0].exit.call(t,e)}n.length=O}function C(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}function of(e,t,n){return z(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}var Kl={tokenize:sf};function sf(e){let t=this,n=e.attempt(yt,i,e.attempt(this.parser.constructs.flowInitial,r,z(e,e.attempt(this.parser.constructs.flow,r,e.attempt(ps,r)),"linePrefix")));return n;function i(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function r(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var jl={resolveAll:Gl()},Vl=Ul("string"),Wl=Ul("text");function Ul(e){return{tokenize:t,resolveAll:Gl(e==="text"?af:void 0)};function t(n){let i=this,r=this.parser.constructs[e],o=n.attempt(r,s,a);return s;function s(p){return u(p)?o(p):a(p)}function a(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),l}function l(p){return u(p)?(n.exit("data"),o(p)):(n.consume(p),l)}function u(p){if(p===null)return!0;let m=r[p],c=-1;if(m)for(;++c-1&&(s[0]=s[0].slice(i)),o>0&&s.push(e[r].slice(0,o))),s}function uf(e,t){let n=-1,i=[],r;for(;++n > "}})]}get optionBuilders(){return[]}};Qt=O([S.register],Qt);var bs=function(e){if(e==null)return Qm;if(typeof e=="string")return Zm(e);if(typeof e=="object")return Array.isArray(e)?Um(e):Gm(e);if(typeof e=="function")return no(e);throw new Error("Expected function, string, or object as test")};function Um(e){let t=[],n=-1;for(;++n":""))+")"})),c;function c(){let f=[],h,g,w;if((!t||r(a,l,p[p.length-1]||null))&&(f=ed(n(a,p)),f[0]===$l))return f;if(a.children&&f[0]!==Jm)for(g=(i?a.children.length:-1)+o,w=p.concat(a);g>-1&&gr?0:r+t:t=t>r?r:t,n=n>0?n:0,i.length<1e4)s=Array.from(i),s.unshift(t,n),[].splice.apply(e,s);else for(n&&[].splice.apply(e,[t,n]);o0?(Be(e,e.length,0,t),e):t}var Hl=/[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/;var Ze=Nt(/[A-Za-z]/),fi=Nt(/\d/),zl=Nt(/[\dA-Fa-f]/),Ye=Nt(/[\dA-Za-z]/),Yl=Nt(/[!-/:-@[-`{-~]/),ws=Nt(/[#-'*+\--9=?A-Z^-~]/);function hi(e){return e!==null&&(e<32||e===127)}function re(e){return e!==null&&(e<0||e===32)}function D(e){return e!==null&&e<-2}function G(e){return e===-2||e===-1||e===32}var ql=Nt(/\s/),Kl=Nt(Hl);function Nt(e){return t;function t(n){return n!==null&&e.test(String.fromCharCode(n))}}function xs(e){if(e===null||re(e)||ql(e))return 1;if(Kl(e))return 2}function Dn(e,t,n){let i=[],r=-1;for(;++r1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let m=Object.assign({},e[i][1].end),c=Object.assign({},e[n][1].start);Vl(m,-l),Vl(c,l),s={type:l>1?"strongSequence":"emphasisSequence",start:m,end:Object.assign({},e[i][1].end)},a={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[n][1].start),end:c},o={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[i][1].end),end:Object.assign({},e[n][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},s.start),end:Object.assign({},a.end)},e[i][1].end=Object.assign({},s.start),e[n][1].start=Object.assign({},a.end),p=[],e[i][1].end.offset-e[i][1].start.offset&&(p=ze(p,[["enter",e[i][1],t],["exit",e[i][1],t]])),p=ze(p,[["enter",r,t],["enter",s,t],["exit",s,t],["enter",o,t]]),p=ze(p,Dn(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),p=ze(p,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",r,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,p=ze(p,[["enter",e[n][1],t],["exit",e[n][1],t]])):u=0,Be(e,i-1,n-i+3,p),n=i+p.length-u-2;break}}for(n=-1;++n=4?s(p):n(p)}function s(p){return p===null?l(p):D(p)?e.attempt(cd,s,l)(p):(e.enter("codeFlowValue"),a(p))}function a(p){return p===null||D(p)?(e.exit("codeFlowValue"),s(p)):(e.consume(p),a)}function l(p){return e.exit("codeIndented"),t(p)}}function dd(e,t,n){let i=this;return r;function r(s){return i.parser.lazy[i.now().line]?n(s):D(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),r):Y(e,o,"linePrefix",4+1)(s)}function o(s){let a=i.events[i.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(s):D(s)?r(s):n(s)}}var ks={name:"codeText",tokenize:gd,resolve:fd,previous:hd};function fd(e){let t=e.length-4,n=3,i,r;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(i=n;++i=4?t(s):e.interrupt(i.parser.constructs.flow,n,t)(s)}}function lo(e,t,n,i,r,o,s,a,l){let p=l||Number.POSITIVE_INFINITY,u=0;return m;function m(y){return y===60?(e.enter(i),e.enter(r),e.enter(o),e.consume(y),e.exit(o),c):y===null||y===41||hi(y)?n(y):(e.enter(i),e.enter(s),e.enter(a),e.enter("chunkString",{contentType:"string"}),g(y))}function c(y){return y===62?(e.enter(o),e.consume(y),e.exit(o),e.exit(r),e.exit(i),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),f(y))}function f(y){return y===62?(e.exit("chunkString"),e.exit(a),c(y)):y===null||y===60||D(y)?n(y):(e.consume(y),y===92?h:f)}function h(y){return y===60||y===62||y===92?(e.consume(y),f):f(y)}function g(y){return y===40?++u>p?n(y):(e.consume(y),g):y===41?u--?(e.consume(y),g):(e.exit("chunkString"),e.exit(a),e.exit(s),e.exit(i),t(y)):y===null||re(y)?u?n(y):(e.exit("chunkString"),e.exit(a),e.exit(s),e.exit(i),t(y)):hi(y)?n(y):(e.consume(y),y===92?w:g)}function w(y){return y===40||y===41||y===92?(e.consume(y),g):g(y)}}function uo(e,t,n,i,r,o){let s=this,a=0,l;return p;function p(f){return e.enter(i),e.enter(r),e.consume(f),e.exit(r),e.enter(o),u}function u(f){return f===null||f===91||f===93&&!l||f===94&&!a&&"_hiddenFootnoteSupport"in s.parser.constructs||a>999?n(f):f===93?(e.exit(o),e.enter(r),e.consume(f),e.exit(r),e.exit(i),t):D(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),m(f))}function m(f){return f===null||f===91||f===93||D(f)||a++>999?(e.exit("chunkString"),u(f)):(e.consume(f),l=l||!G(f),f===92?c:m)}function c(f){return f===91||f===92||f===93?(e.consume(f),a++,m):m(f)}}function po(e,t,n,i,r,o){let s;return a;function a(c){return e.enter(i),e.enter(r),e.consume(c),e.exit(r),s=c===40?41:c,l}function l(c){return c===s?(e.enter(r),e.consume(c),e.exit(r),e.exit(i),t):(e.enter(o),p(c))}function p(c){return c===s?(e.exit(o),l(s)):c===null?n(c):D(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),Y(e,p,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(c))}function u(c){return c===s||c===null||D(c)?(e.exit("chunkString"),p(c)):(e.consume(c),c===92?m:u)}function m(c){return c===s||c===92?(e.consume(c),u):u(c)}}function Xt(e,t){let n;return i;function i(r){return D(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n=!0,i):G(r)?Y(e,i,n?"linePrefix":"lineSuffix")(r):t(r)}}function De(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var Ts={name:"definition",tokenize:Sd},kd={tokenize:Td,partial:!0};function Sd(e,t,n){let i=this,r;return o;function o(l){return e.enter("definition"),uo.call(i,e,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(l)}function s(l){return r=De(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),l===58?(e.enter("definitionMarker"),e.consume(l),e.exit("definitionMarker"),Xt(e,lo(e,e.attempt(kd,Y(e,a,"whitespace"),Y(e,a,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(l)}function a(l){return l===null||D(l)?(e.exit("definition"),i.parser.defined.includes(r)||i.parser.defined.push(r),t(l)):n(l)}}function Td(e,t,n){return i;function i(s){return re(s)?Xt(e,r)(s):n(s)}function r(s){return s===34||s===39||s===40?po(e,Y(e,o,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s):n(s)}function o(s){return s===null||D(s)?t(s):n(s)}}var Os={name:"hardBreakEscape",tokenize:Od};function Od(e,t,n){return i;function i(o){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(o),r}function r(o){return D(o)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(o)):n(o)}}var As={name:"headingAtx",tokenize:Cd,resolve:Ad};function Ad(e,t){let n=e.length-2,i=3,r,o;return e[i][1].type==="whitespace"&&(i+=2),n-2>i&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(i===n-1||n-4>i&&e[n-2][1].type==="whitespace")&&(n-=i+1===n?2:4),n>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[n][1].end},o={type:"chunkText",start:e[i][1].start,end:e[n][1].end,contentType:"text"},Be(e,i,n-i+1,[["enter",r,t],["enter",o,t],["exit",o,t],["exit",r,t]])),e}function Cd(e,t,n){let i=this,r=0;return o;function o(u){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),s(u)}function s(u){return u===35&&r++<6?(e.consume(u),s):u===null||re(u)?(e.exit("atxHeadingSequence"),i.interrupt?t(u):a(u)):n(u)}function a(u){return u===35?(e.enter("atxHeadingSequence"),l(u)):u===null||D(u)?(e.exit("atxHeading"),t(u)):G(u)?Y(e,a,"whitespace")(u):(e.enter("atxHeadingText"),p(u))}function l(u){return u===35?(e.consume(u),l):(e.exit("atxHeadingSequence"),a(u))}function p(u){return u===null||u===35||re(u)?(e.exit("atxHeadingText"),a(u)):(e.consume(u),p)}}var Wl=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Cs=["pre","script","style","textarea"];var Es={name:"htmlFlow",tokenize:_d,resolveTo:Ld,concrete:!0},Ed={tokenize:Bd,partial:!0};function Ld(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function _d(e,t,n){let i=this,r,o,s,a,l;return p;function p(b){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(b),u}function u(b){return b===33?(e.consume(b),m):b===47?(e.consume(b),h):b===63?(e.consume(b),r=3,i.interrupt?t:le):Ze(b)?(e.consume(b),s=String.fromCharCode(b),o=!0,g):n(b)}function m(b){return b===45?(e.consume(b),r=2,c):b===91?(e.consume(b),r=5,s="CDATA[",a=0,f):Ze(b)?(e.consume(b),r=4,i.interrupt?t:le):n(b)}function c(b){return b===45?(e.consume(b),i.interrupt?t:le):n(b)}function f(b){return b===s.charCodeAt(a++)?(e.consume(b),a===s.length?i.interrupt?t:z:f):n(b)}function h(b){return Ze(b)?(e.consume(b),s=String.fromCharCode(b),g):n(b)}function g(b){return b===null||b===47||b===62||re(b)?b!==47&&o&&Cs.includes(s.toLowerCase())?(r=1,i.interrupt?t(b):z(b)):Wl.includes(s.toLowerCase())?(r=6,b===47?(e.consume(b),w):i.interrupt?t(b):z(b)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(b):o?E(b):y(b)):b===45||Ye(b)?(e.consume(b),s+=String.fromCharCode(b),g):n(b)}function w(b){return b===62?(e.consume(b),i.interrupt?t:z):n(b)}function y(b){return G(b)?(e.consume(b),y):P(b)}function E(b){return b===47?(e.consume(b),P):b===58||b===95||Ze(b)?(e.consume(b),A):G(b)?(e.consume(b),E):P(b)}function A(b){return b===45||b===46||b===58||b===95||Ye(b)?(e.consume(b),A):L(b)}function L(b){return b===61?(e.consume(b),M):G(b)?(e.consume(b),L):E(b)}function M(b){return b===null||b===60||b===61||b===62||b===96?n(b):b===34||b===39?(e.consume(b),l=b,T):G(b)?(e.consume(b),M):(l=null,B(b))}function T(b){return b===null||D(b)?n(b):b===l?(e.consume(b),I):(e.consume(b),T)}function B(b){return b===null||b===34||b===39||b===60||b===61||b===62||b===96||re(b)?L(b):(e.consume(b),B)}function I(b){return b===47||b===62||G(b)?E(b):n(b)}function P(b){return b===62?(e.consume(b),K):n(b)}function K(b){return G(b)?(e.consume(b),K):b===null||D(b)?z(b):n(b)}function z(b){return b===45&&r===2?(e.consume(b),J):b===60&&r===1?(e.consume(b),Z):b===62&&r===4?(e.consume(b),ne):b===63&&r===3?(e.consume(b),le):b===93&&r===5?(e.consume(b),ae):D(b)&&(r===6||r===7)?e.check(Ed,ne,V)(b):b===null||D(b)?V(b):(e.consume(b),z)}function V(b){return e.exit("htmlFlowData"),F(b)}function F(b){return b===null?v(b):D(b)?e.attempt({tokenize:j,partial:!0},F,v)(b):(e.enter("htmlFlowData"),z(b))}function j(b,mt,Ke){return Pe;function Pe(Ve){return b.enter("lineEnding"),b.consume(Ve),b.exit("lineEnding"),rt}function rt(Ve){return i.parser.lazy[i.now().line]?Ke(Ve):mt(Ve)}}function J(b){return b===45?(e.consume(b),le):z(b)}function Z(b){return b===47?(e.consume(b),s="",se):z(b)}function se(b){return b===62&&Cs.includes(s.toLowerCase())?(e.consume(b),ne):Ze(b)&&s.length<8?(e.consume(b),s+=String.fromCharCode(b),se):z(b)}function ae(b){return b===93?(e.consume(b),le):z(b)}function le(b){return b===62?(e.consume(b),ne):b===45&&r===2?(e.consume(b),le):z(b)}function ne(b){return b===null||D(b)?(e.exit("htmlFlowData"),v(b)):(e.consume(b),ne)}function v(b){return e.exit("htmlFlow"),t(b)}}function Bd(e,t,n){return i;function i(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(bt,t,n)}}var Ls={name:"htmlText",tokenize:Id};function Id(e,t,n){let i=this,r,o,s,a;return l;function l(v){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(v),p}function p(v){return v===33?(e.consume(v),u):v===47?(e.consume(v),B):v===63?(e.consume(v),M):Ze(v)?(e.consume(v),K):n(v)}function u(v){return v===45?(e.consume(v),m):v===91?(e.consume(v),o="CDATA[",s=0,w):Ze(v)?(e.consume(v),L):n(v)}function m(v){return v===45?(e.consume(v),c):n(v)}function c(v){return v===null||v===62?n(v):v===45?(e.consume(v),f):h(v)}function f(v){return v===null||v===62?n(v):h(v)}function h(v){return v===null?n(v):v===45?(e.consume(v),g):D(v)?(a=h,ae(v)):(e.consume(v),h)}function g(v){return v===45?(e.consume(v),ne):h(v)}function w(v){return v===o.charCodeAt(s++)?(e.consume(v),s===o.length?y:w):n(v)}function y(v){return v===null?n(v):v===93?(e.consume(v),E):D(v)?(a=y,ae(v)):(e.consume(v),y)}function E(v){return v===93?(e.consume(v),A):y(v)}function A(v){return v===62?ne(v):v===93?(e.consume(v),A):y(v)}function L(v){return v===null||v===62?ne(v):D(v)?(a=L,ae(v)):(e.consume(v),L)}function M(v){return v===null?n(v):v===63?(e.consume(v),T):D(v)?(a=M,ae(v)):(e.consume(v),M)}function T(v){return v===62?ne(v):M(v)}function B(v){return Ze(v)?(e.consume(v),I):n(v)}function I(v){return v===45||Ye(v)?(e.consume(v),I):P(v)}function P(v){return D(v)?(a=P,ae(v)):G(v)?(e.consume(v),P):ne(v)}function K(v){return v===45||Ye(v)?(e.consume(v),K):v===47||v===62||re(v)?z(v):n(v)}function z(v){return v===47?(e.consume(v),ne):v===58||v===95||Ze(v)?(e.consume(v),V):D(v)?(a=z,ae(v)):G(v)?(e.consume(v),z):ne(v)}function V(v){return v===45||v===46||v===58||v===95||Ye(v)?(e.consume(v),V):F(v)}function F(v){return v===61?(e.consume(v),j):D(v)?(a=F,ae(v)):G(v)?(e.consume(v),F):z(v)}function j(v){return v===null||v===60||v===61||v===62||v===96?n(v):v===34||v===39?(e.consume(v),r=v,J):D(v)?(a=j,ae(v)):G(v)?(e.consume(v),j):(e.consume(v),r=void 0,se)}function J(v){return v===r?(e.consume(v),Z):v===null?n(v):D(v)?(a=J,ae(v)):(e.consume(v),J)}function Z(v){return v===62||v===47||re(v)?z(v):n(v)}function se(v){return v===null||v===34||v===39||v===60||v===61||v===96?n(v):v===62||re(v)?z(v):(e.consume(v),se)}function ae(v){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),Y(e,le,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function le(v){return e.enter("htmlTextData"),a(v)}function ne(v){return v===62?(e.consume(v),e.exit("htmlTextData"),e.exit("htmlText"),t):n(v)}}var Jt={name:"labelEnd",tokenize:Pd,resolveTo:$d,resolveAll:Dd},Md={tokenize:Nd},Fd={tokenize:Hd},Rd={tokenize:zd};function Dd(e){let t=-1,n;for(;++t999?n(c):c===93?s?(e.exit("chunkString"),f=e.exit("gfmFootnoteCallString"),r.includes(De(i.sliceSerialize(f)))?m(c):n(c)):n(c):(e.consume(c),re(c)||(s=!0),c===92?u:p)}function u(c){return c===91||c===92||c===93?(e.consume(c),o++,p):p(c)}function m(c){return e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}}function sf(e,t,n){let i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),o,s=0,a;return l;function l(g){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),p}function p(g){return g===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),u):n(g)}function u(g){let w;return g===null||g===91||s>999?n(g):g===93?a?(w=e.exit("gfmFootnoteDefinitionLabelString"),o=De(i.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),f):n(g):D(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),s++,u):(e.enter("chunkString").contentType="string",m(g))}function m(g){return g===null||D(g)||g===91||g===93||s>999?(e.exit("chunkString"),u(g)):(re(g)||(a=!0),s++,e.consume(g),g===92?c:m)}function c(g){return g===91||g===92||g===93?(e.consume(g),s++,m):m(g)}function f(g){return g===58?(e.enter("definitionMarker"),e.consume(g),e.exit("definitionMarker"),Y(e,h,"gfmFootnoteDefinitionWhitespace")):n(g)}function h(g){return r.includes(o)||r.push(o),t(g)}}function af(e,t,n){return e.check(bt,t,e.attempt(tf,t,n))}function lf(e){e.exit("gfmFootnoteDefinition")}function uf(e,t,n){let i=this;return Y(e,r,"gfmFootnoteDefinitionIndent",4+1);function r(o){let s=i.events[i.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(o):n(o)}}var pf={tokenize:cf},Ms={text:{[91]:pf}};function cf(e,t,n){let i=this;return r;function r(a){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?n(a):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),o)}function o(a){return re(a)?(e.enter("taskListCheckValueUnchecked"),e.consume(a),e.exit("taskListCheckValueUnchecked"),s):a===88||a===120?(e.enter("taskListCheckValueChecked"),e.consume(a),e.exit("taskListCheckValueChecked"),s):n(a)}function s(a){return a===93?(e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),e.check({tokenize:mf},t,n)):n(a)}}function mf(e,t,n){let i=this;return Y(e,r,"whitespace");function r(o){let s=i.events[i.events.length-1];return(s&&s[1].type==="whitespace"||D(o))&&o!==null?t(o):n(o)}}var Ul={}.hasOwnProperty;function mo(e){let t={},n=-1;for(;++ns))return;let B=t.events.length,I=B,P,K;for(;I--;)if(t.events[I][0]==="exit"&&t.events[I][1].type==="chunkFlow"){if(P){K=t.events[I][1].end;break}P=!0}for(y(i),T=B;TA;){let M=n[L];t.containerState=M[1],M[0].exit.call(t,e)}n.length=A}function E(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}function kf(e,t,n){return Y(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}var ru={tokenize:Sf};function Sf(e){let t=this,n=e.attempt(bt,i,e.attempt(this.parser.constructs.flowInitial,r,Y(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Ss,r)),"linePrefix")));return n;function i(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function r(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var ou={resolveAll:uu()},su=lu("string"),au=lu("text");function lu(e){return{tokenize:t,resolveAll:uu(e==="text"?Tf:void 0)};function t(n){let i=this,r=this.parser.constructs[e],o=n.attempt(r,s,a);return s;function s(u){return p(u)?o(u):a(u)}function a(u){if(u===null){n.consume(u);return}return n.enter("data"),n.consume(u),l}function l(u){return p(u)?(n.exit("data"),o(u)):(n.consume(u),l)}function p(u){if(u===null)return!0;let m=r[u],c=-1;if(m)for(;++c-1&&(s[0]=s[0].slice(i)),o>0&&s.push(e[r].slice(0,o))),s}function Af(e,t){let n=-1,i=[],r;for(;++nyf,contentInitial:()=>cf,disable:()=>bf,document:()=>pf,flow:()=>df,flowInitial:()=>mf,insideSpan:()=>gf,string:()=>ff,text:()=>hf});var pf={[42]:Pe,[43]:Pe,[45]:Pe,[48]:Pe,[49]:Pe,[50]:Pe,[51]:Pe,[52]:Pe,[53]:Pe,[54]:Pe,[55]:Pe,[56]:Pe,[57]:Pe,[62]:Vr},cf={[91]:cs},mf={[-2]:fi,[-1]:fi,[32]:fi},df={[35]:ds,[42]:Jt,[45]:[eo,Jt],[60]:hs,[61]:eo,[95]:Jt,[96]:Gr,[126]:Gr},ff={[38]:Ur,[92]:Wr},hf={[-5]:hi,[-4]:hi,[-3]:hi,[33]:ys,[38]:Ur,[42]:di,[60]:[ls,gs],[91]:bs,[92]:[ms,Wr],[93]:Xt,[95]:di,[96]:us},gf={null:[di,jl]},yf={null:[42,95]},bf={null:[]};function Ql(e={}){let t=to([ks].concat(e.extensions||[])),n={defined:[],lazy:{},constructs:t,content:i(Yl),document:i(ql),flow:i(Kl),string:i(Vl),text:i(Wl)};return n;function i(r){return o;function o(s){return Zl(n,r,s)}}}var Xl=/[\0\t\n\r]/g;function Jl(){let e=1,t="",n=!0,i;return r;function r(o,s,a){let l=[],u,p,m,c,d;for(o=t+o.toString(s),m=0,t="",n&&(o.charCodeAt(0)===65279&&m++,n=void 0);m13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCharCode(n)}var wf=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function tu(e){return e.replace(wf,xf)}function xf(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let r=n.charCodeAt(1),o=r===120||r===88;return no(n.slice(o?2:1),o?16:10)}return Dn(n)||e}function gi(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?nu(e.position):"start"in e||"end"in e?nu(e):"line"in e||"column"in e?Ss(e):""}function Ss(e){return iu(e&&e.line)+":"+iu(e&&e.column)}function nu(e){return Ss(e&&e.start)+"-"+Ss(e&&e.end)}function iu(e){return e&&typeof e=="number"?e:1}var Ts={}.hasOwnProperty,Os=function(e,t,n){return typeof t!="string"&&(n=t,t=void 0),vf(n)(eu(Ql(n).document().write(Jl()(e,t,!0))))};function vf(e={}){let t=ou({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(zt),autolinkProtocol:j,autolinkEmail:j,atxHeading:l(Wn),blockQuote:l(Et),characterEscape:j,characterReference:j,codeFenced:l(Yt),codeFencedFenceInfo:u,codeFencedFenceMeta:u,codeIndented:l(Yt,u),codeText:l(Mo,u),codeTextData:j,data:j,codeFlowValue:j,definition:l(Io),definitionDestinationString:u,definitionLabelString:u,definitionTitleString:u,emphasis:l(hr),hardBreakEscape:l(gr),hardBreakTrailing:l(gr),htmlFlow:l(yr,u),htmlFlowData:j,htmlText:l(yr,u),htmlTextData:j,image:l(wt),label:u,link:l(zt),listItem:l(br),listItemValue:g,listOrdered:l(Un,h),listUnordered:l(Un),paragraph:l(Gn),reference:rt,referenceString:u,resourceDestinationString:u,resourceTitleString:u,setextHeading:l(Wn),strong:l(wr),thematicBreak:l(vr)},exit:{atxHeading:m(),atxHeadingSequence:M,autolink:m(),autolinkEmail:mt,autolinkProtocol:ot,blockQuote:m(),characterEscapeValue:F,characterReferenceMarkerHexadecimal:J,characterReferenceMarkerNumeric:J,characterReferenceValue:bt,codeFenced:m(O),codeFencedFence:C,codeFencedFenceInfo:x,codeFencedFenceMeta:b,codeFlowValue:F,codeIndented:m(E),codeText:m(ae),codeTextData:F,data:F,definition:m(),definitionDestinationString:B,definitionLabelString:I,definitionTitleString:T,emphasis:m(),hardBreakEscape:m(X),hardBreakTrailing:m(X),htmlFlow:m(G),htmlFlowData:F,htmlText:m(se),htmlTextData:F,image:m(ne),label:y,labelText:w,lineEnding:V,link:m(le),listItem:m(),listOrdered:m(),listUnordered:m(),paragraph:m(),referenceString:je,resourceDestinationString:ct,resourceTitleString:Ke,resource:Ne,setextHeading:m(Y),setextHeadingLineSequence:K,setextHeadingText:P,strong:m(),thematicBreak:m()}},e.mdastExtensions||[]),n={};return i;function i(L){let R={type:"root",children:[]},q=[R],Z=[],Xe=[],Zn={stack:q,tokenStack:Z,config:t,enter:p,exit:c,buffer:u,resume:d,setData:o,getData:s},ie=-1;for(;++ie0){let Ee=Z[Z.length-1];(Ee[1]||ru).call(Zn,void 0,Ee[0])}for(R.position={start:a(L.length>0?L[0][1].start:{line:1,column:1,offset:0}),end:a(L.length>0?L[L.length-2][1].end:{line:1,column:1,offset:0})},ie=-1;++ie{i.push(r.position)}),i.sort((r,o)=>o.start.offset-r.start.offset),i}function uu(e){let t=be("footnoteDefinition",e),n=[],i=new Set,r=new Map,o=function(s,a){let l=s.match(/\[\^.*?\]/)[0],u;do u=e.lastIndexOf(l,a),a=u;while(i.has(u)&&u!==-1);if(u===-1)throw new Error(`Footnote '${s}' has no corresponding footnote reference before the footnote contents and cannot be processed. Please make sure that all footnotes have a corresponding reference before the content of the footnote.`);return i.add(u),u};for(let s of t){let a=e.substring(s.start.offset,s.end.offset);n.push(a),s.end.offsetFf,contentInitial:()=>Ef,disable:()=>Rf,document:()=>Cf,flow:()=>_f,flowInitial:()=>Lf,insideSpan:()=>Mf,string:()=>Bf,text:()=>If});var Cf={[42]:$e,[43]:$e,[45]:$e,[48]:$e,[49]:$e,[50]:$e,[51]:$e,[52]:$e,[53]:$e,[54]:$e,[55]:$e,[56]:$e,[57]:$e,[62]:io},Ef={[91]:Ts},Lf={[-2]:yi,[-1]:yi,[32]:yi},_f={[35]:As,[42]:en,[45]:[co,en],[60]:Es,[61]:co,[95]:en,[96]:so,[126]:so},Bf={[38]:oo,[92]:ro},If={[-5]:bi,[-4]:bi,[-3]:bi,[33]:_s,[38]:oo,[42]:gi,[60]:[vs,Ls],[91]:Bs,[92]:[Os,ro],[93]:Jt,[95]:gi,[96]:ks},Mf={null:[gi,ou]},Ff={null:[42,95]},Rf={null:[]};function cu(e={}){let t=mo([Rs].concat(e.extensions||[])),n={defined:[],lazy:{},constructs:t,content:i(tu),document:i(iu),flow:i(ru),string:i(su),text:i(au)};return n;function i(r){return o;function o(s){return pu(n,r,s)}}}var mu=/[\0\t\n\r]/g;function du(){let e=1,t="",n=!0,i;return r;function r(o,s,a){let l=[],p,u,m,c,f;for(o=t+o.toString(s),m=0,t="",n&&(o.charCodeAt(0)===65279&&m++,n=void 0);m13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCharCode(n)}var Df=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function hu(e){return e.replace(Df,$f)}function $f(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let r=n.charCodeAt(1),o=r===120||r===88;return fo(n.slice(o?2:1),o?16:10)}return $n(n)||e}function wi(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?gu(e.position):"start"in e||"end"in e?gu(e):"line"in e||"column"in e?Ds(e):""}function Ds(e){return yu(e&&e.line)+":"+yu(e&&e.column)}function gu(e){return Ds(e&&e.start)+"-"+Ds(e&&e.end)}function yu(e){return e&&typeof e=="number"?e:1}var $s={}.hasOwnProperty,Ps=function(e,t,n){return typeof t!="string"&&(n=t,t=void 0),Pf(n)(fu(cu(n).document().write(du()(e,t,!0))))};function Pf(e={}){let t=wu({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(Kt),autolinkProtocol:V,autolinkEmail:V,atxHeading:l(Un),blockQuote:l(Bt),characterEscape:V,characterReference:V,codeFenced:l(qt),codeFencedFenceInfo:p,codeFencedFenceMeta:p,codeIndented:l(qt,p),codeText:l(jo,p),codeTextData:V,data:V,codeFlowValue:V,definition:l(Wo),definitionDestinationString:p,definitionLabelString:p,definitionTitleString:p,emphasis:l(kr),hardBreakEscape:l(Sr),hardBreakTrailing:l(Sr),htmlFlow:l(Tr,p),htmlFlowData:V,htmlText:l(Tr,p),htmlTextData:V,image:l(xt),label:p,link:l(Kt),listItem:l(Or),listItemValue:g,listOrdered:l(Gn,h),listUnordered:l(Gn),paragraph:l(Zn),reference:rt,referenceString:p,resourceDestinationString:p,resourceTitleString:p,setextHeading:l(Un),strong:l(Ar),thematicBreak:l(Er)},exit:{atxHeading:m(),atxHeadingSequence:I,autolink:m(),autolinkEmail:dt,autolinkProtocol:ot,blockQuote:m(),characterEscapeValue:F,characterReferenceMarkerHexadecimal:ee,characterReferenceMarkerNumeric:ee,characterReferenceValue:wt,codeFenced:m(A),codeFencedFence:E,codeFencedFenceInfo:w,codeFencedFenceMeta:y,codeFlowValue:F,codeIndented:m(L),codeText:m(ae),codeTextData:F,data:F,definition:m(),definitionDestinationString:B,definitionLabelString:M,definitionTitleString:T,emphasis:m(),hardBreakEscape:m(J),hardBreakTrailing:m(J),htmlFlow:m(Z),htmlFlowData:F,htmlText:m(se),htmlTextData:F,image:m(ne),label:b,labelText:v,lineEnding:j,link:m(le),listItem:m(),listOrdered:m(),listUnordered:m(),paragraph:m(),referenceString:Ve,resourceDestinationString:mt,resourceTitleString:Ke,resource:Pe,setextHeading:m(z),setextHeadingLineSequence:K,setextHeadingText:P,strong:m(),thematicBreak:m()}},e.mdastExtensions||[]),n={};return i;function i(C){let R={type:"root",children:[]},q=[R],Q=[],Xe=[],Qn={stack:q,tokenStack:Q,config:t,enter:u,exit:c,buffer:p,resume:f,setData:o,getData:s},ie=-1;for(;++ie0){let Le=Q[Q.length-1];(Le[1]||bu).call(Qn,void 0,Le[0])}for(R.position={start:a(C.length>0?C[0][1].start:{line:1,column:1,offset:0}),end:a(C.length>0?C[C.length-2][1].end:{line:1,column:1,offset:0})},ie=-1;++ie0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[n,i]of t)this.onEviction(n,i.value)}_deleteIfExpired(t,n){return typeof n.expiry=="number"&&n.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,n.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,n){if(this._deleteIfExpired(t,n)===!1)return n.value}_getItemValue(t,n){return n.expiry?this._getOrDeleteIfExpired(t,n):n.value}_peek(t,n){let i=n.get(t);return this._getItemValue(t,i)}_set(t,n){this.cache.set(t,n),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,n){this.oldCache.delete(t),this._set(t,n)}*_entriesAscending(){for(let t of this.oldCache){let[n,i]=t;this.cache.has(n)||this._deleteIfExpired(n,i)===!1&&(yield t)}for(let t of this.cache){let[n,i]=t;this._deleteIfExpired(n,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let n=this.cache.get(t);return this._getItemValue(t,n)}if(this.oldCache.has(t)){let n=this.oldCache.get(t);if(this._deleteIfExpired(t,n)===!1)return this._moveToRecent(t,n),n.value}}set(t,n,{maxAge:i=this.maxAge}={}){let r=typeof i=="number"&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;this.cache.has(t)?this.cache.set(t,{value:n,expiry:r}):this._set(t,{value:n,expiry:r})}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let n=this.cache.delete(t);return n&&this._size--,this.oldCache.delete(t)||n}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let n=[...this._entriesAscending()],i=n.length-t;i<0?(this.cache=new Map(n),this.oldCache=new Map,this._size=n.length):(i>0&&this._emitEvictions(n.slice(0,i)),this.oldCache=new Map(n.slice(i)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[n,i]=t;this._deleteIfExpired(n,i)===!1&&(yield[n,i.value])}for(let t of this.oldCache){let[n,i]=t;this.cache.has(n)||this._deleteIfExpired(n,i)===!1&&(yield[n,i.value])}}*entriesDescending(){let t=[...this.cache];for(let n=t.length-1;n>=0;--n){let i=t[n],[r,o]=i;this._deleteIfExpired(r,o)===!1&&(yield[r,o.value])}t=[...this.oldCache];for(let n=t.length-1;n>=0;--n){let i=t[n],[r,o]=i;this.cache.has(r)||this._deleteIfExpired(r,o)===!1&&(yield[r,o.value])}}*entriesAscending(){for(let[t,n]of this._entriesAscending())yield[t,n.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let n of this.oldCache.keys())this.cache.has(n)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,n=this){for(let[i,r]of this.entriesAscending())t.call(n,r,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};var Ns=new xi({maxSize:200});function zf(e){let t=Sl(e);if(Ns.has(t))return Ns.get(t);let n=Ps(e,{extensions:[mo([Is(),Ms]),Fs()],mdastExtensions:[[xu(),ku],Ql()]});return Ns.set(t,n),n}function be(e,t){let n=zf(t),i=[];return Nl(n,e,r=>{i.push(r.position)}),i.sort((r,o)=>o.start.offset-r.start.offset),i}function Su(e){let t=be("footnoteDefinition",e),n=[],i=new Set,r=new Map,o=function(s,a){let l=s.match(/\[\^.*?\]/)[0],p;do p=e.lastIndexOf(l,a),a=p;while(i.has(p)&&p!==-1);if(p===-1)throw new Error(`Footnote '${s}' has no corresponding footnote reference before the footnote contents and cannot be processed. Please make sure that all footnotes have a corresponding reference before the content of the footnote.`);return i.add(p),p};for(let s of t){let a=e.substring(s.start.offset,s.end.offset);n.push(a),s.end.offsetr.get(s)-r.get(a)),n.length>0&&(e=e.trimEnd()+` `);for(let s of n)e+=` -`+s;return e}function io(e,t,n){let i=be(n,e);if(i.length===0)return e;let r="";if(t==="underscore")r="_";else if(t==="asterisk")r="*";else{let o=i[i.length-1];r=e.substring(o.start.offset,o.start.offset+1)}n==="strong"&&(r+=r);for(let o of i){let s=r+e.substring(o.start.offset+r.length,o.end.offset-r.length)+r;e=ve(e,o.start.offset,o.end.offset,s)}return e}function pu(e){let t=be("paragraph",e);if(t.length===0)return e;for(let n of t){let i=e.substring(n.start.offset,n.end.offset).split(` +`+s;return e}function ho(e,t,n){let i=be(n,e);if(i.length===0)return e;let r="";if(t==="underscore")r="_";else if(t==="asterisk")r="*";else{let o=i[i.length-1];r=e.substring(o.start.offset,o.start.offset+1)}n==="strong"&&(r+=r);for(let o of i){let s=r+e.substring(o.start.offset+r.length,o.end.offset-r.length)+r;e=ve(e,o.start.offset,o.end.offset,s)}return e}function Tu(e){let t=be("paragraph",e);if(t.length===0)return e;for(let n of t){let i=e.substring(n.start.offset,n.end.offset).split(` `),r=i.length-1;if(!(r<1)){for(let o=0;o")||s.endsWith("
")||(i[o]=s+" ")}e=ve(e,n.start.offset,n.end.offset,i.join(` -`))}}return e}function cu(e){let t=e.endsWith(` +`))}}return e}function Ou(e){let t=e.endsWith(` `),n=be("paragraph",e);if(n.length===0)return e;for(let i of n){let r=i.start.offset;for(r>0&&r--;r>=0&&e.charAt(r)!=` `;)r--;r++;let o=e.substring(r,i.end.offset).split(` -`),s=o[0].trimStart();if(s.startsWith("> ")||s.startsWith("> ")||s.startsWith("- ")||s.startsWith("- ")||s.match(/^[0-9]+\.( |\t)+/))continue;let a=o.length,l=[],u=!1;for(let h=0;h")||g.endsWith("
")||g.endsWith(" ")}for(;r>0&&e.charAt(r-1)==` -`;)r--;let p=e.length,m=i.end.offset;for(m ")||s.startsWith("> ")||s.startsWith("- ")||s.startsWith("- ")||s.match(/^[0-9]+\.( |\t)+/))continue;let a=o.length,l=[],p=!1;for(let h=0;h")||g.endsWith("
")||g.endsWith(" ")}for(;r>0&&e.charAt(r-1)==` +`;)r--;let u=e.length,m=i.end.offset;for(m?)*(\*|-|\+|- \[( | x)\]|\d+\.) /g,s=r.match(o);if(s){let a=r.split(new RegExp(o.source.replaceAll("(","(?:"))),l="",u=0;for(let p of a)u>0&&(l+=s[u-1]),l+=t(p),u++;r=l}else r=t(r);e=ve(e,i.start.offset+2,i.end.offset,r)}return e}function gu(e){let t=be("code",e);for(let n of t)!e.substring(n.start.offset,n.end.offset).startsWith("```")||(e=Vt(e,n.start.offset,n.end.offset));return e}function yu(e,t){let n=be("math",e);for(let i of n)e=Vt(e,i.start.offset,i.end.offset);n=be("inlineMath",e);for(let i of n)!e.substring(i.start.offset,i.end.offset).startsWith("$".repeat(t))||(e=Vt(e,i.start.offset,i.end.offset));return e}function bu(e){let t=be("blockquote",e);for(let n of t)e=Vt(e,n.start.offset,n.end.offset,!0);return e}function wu(e,t,n){let i=be("list",e);if(!i)return e;for(let r of i){let o=r.start.offset;for(;o>0&&e.charAt(o-1)!==` -`;)o--;let s=e.substring(o,r.end.offset),a=function(p){let m=p.lastIndexOf("> ");return m!==-1&&(p=p.substring(m+2)),p=p.replaceAll(" "," "),Math.floor((p.split(" ").length-1)/2)+1},l=new Map,u=-1;s=s.replace(/^(( |\t|> )*)(\d+(\.|\)))([^\n]*)$/gm,(p,m="",c,d,h,g)=>{let x=1,b=a(m);if(l.has(b)?t==="ascending"&&(x=l.get(b)+1,l.set(b,x)):l.set(b,1),u>b){let C=u;for(;C>b;)l.delete(C--)}return u=b,`${m}${x}${n}${g}`}),e=ve(e,o,r.end.offset,s)}return e}function xu(e,t){let n=be("listItem",e);if(!n)return e;let i=/^((\d+[.)])|(- \[[ x]\]))/m,r=t;if(t=="consistent"){let o=n.length-1;for(;o>=0;){let s=e.substring(n[o].start.offset,n[o].end.offset);if(o--,!s.match(i)){r=s.charAt(0);break}}if(o==-1)return e}for(let o of n){let s=e.substring(o.start.offset,o.end.offset);s.match(i)||(s=r+s.substring(1),e=ve(e,o.start.offset,o.end.offset,s))}return e}function vu(e,t){let n=be("math",e),i=new RegExp("^(\\${"+t+",})(\\n*)"),r=new RegExp("(\\n*)(\\${"+t+",})([^\\$]*)$");for(let o of n){let s=e.substring(o.start.offset,o.end.offset);s=s.replace(i,`$1 +`),e}function Au(e){let t=be("link",e);for(let n of t){if(n==null)continue;let i=e.substring(n.start.offset,n.end.offset);if(!i.match(oi))continue;let r=i.indexOf("]"),o=i.substring(0,1)+i.substring(1,r).trim()+i.substring(r);e=ve(e,n.start.offset,n.end.offset,o)}return e}function Cu(e,t){let n=be("emphasis",e);for(let i of n){let r=e.substring(i.start.offset+1,i.end.offset-1);r=t(r),e=ve(e,i.start.offset+1,i.end.offset-1,r)}return e}function Eu(e,t){let n=be("strong",e);for(let i of n){let r=e.substring(i.start.offset+2,i.end.offset-2);r=t(r),e=ve(e,i.start.offset+2,i.end.offset-2,r)}return e}function Lu(e,t){let n=be("listItem",e);for(let i of n){let r=e.substring(i.start.offset+2,i.end.offset),o=/\n(( |\t)*>?)*(\*|-|\+|- \[( | x)\]|\d+\.) /g,s=r.match(o);if(s){let a=r.split(new RegExp(o.source.replaceAll("(","(?:"))),l="",p=0;for(let u of a)p>0&&(l+=s[p-1]),l+=t(u),p++;r=l}else r=t(r);e=ve(e,i.start.offset+2,i.end.offset,r)}return e}function _u(e){let t=be("code",e);for(let n of t)!e.substring(n.start.offset,n.end.offset).startsWith("```")||(e=Ut(e,n.start.offset,n.end.offset));return e}function Bu(e,t){let n=be("math",e);for(let i of n)e=Ut(e,i.start.offset,i.end.offset);n=be("inlineMath",e);for(let i of n)!e.substring(i.start.offset,i.end.offset).startsWith("$".repeat(t))||(e=Ut(e,i.start.offset,i.end.offset));return e}function Iu(e){let t=be("blockquote",e);for(let n of t)e=Ut(e,n.start.offset,n.end.offset,!0);return e}function Mu(e,t,n){let i=be("list",e);if(!i)return e;for(let r of i){let o=r.start.offset;for(;o>0&&e.charAt(o-1)!==` +`;)o--;let s=e.substring(o,r.end.offset),a=function(u){let m=u.lastIndexOf("> ");return m!==-1&&(u=u.substring(m+2)),u=u.replaceAll(" "," "),Math.floor((u.split(" ").length-1)/2)+1},l=new Map,p=-1;s=s.replace(/^(( |\t|> )*)(\d+(\.|\)))([^\n]*)$/gm,(u,m="",c,f,h,g)=>{let w=1,y=a(m);if(l.has(y)?t==="ascending"&&(w=l.get(y)+1,l.set(y,w)):l.set(y,1),p>y){let E=p;for(;E>y;)l.delete(E--)}return p=y,`${m}${w}${n}${g}`}),e=ve(e,o,r.end.offset,s)}return e}function Fu(e,t){let n=be("listItem",e);if(!n)return e;let i=/^((\d+[.)])|(- \[[ x]\]))/m,r=t;if(t=="consistent"){let o=n.length-1;for(;o>=0;){let s=e.substring(n[o].start.offset,n[o].end.offset);if(o--,!s.match(i)){r=s.charAt(0);break}}if(o==-1)return e}for(let o of n){let s=e.substring(o.start.offset,o.end.offset);s.match(i)||(s=r+s.substring(1),e=ve(e,o.start.offset,o.end.offset,s))}return e}function Ru(e,t){let n=be("math",e),i=new RegExp("^(\\${"+t+",})(\\n*)"),r=new RegExp("(\\n*)(\\${"+t+",})([^\\$]*)$");for(let o of n){let s=e.substring(o.start.offset,o.end.offset);s=s.replace(i,`$1 `),s=s.replace(r,` $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}n=be("inlineMath",e);for(let o of n){if(!e.substring(o.start.offset,o.end.offset).startsWith("$".repeat(t)))continue;let s=e.substring(o.start.offset,o.end.offset);s=s.replace(i,`$1 `),s=s.replace(r,` -$2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction:"code",placeholder:"{CODE_BLOCK_PLACEHOLDER}"},inlineCode:{replaceAction:"inlineCode",placeholder:"{INLINE_CODE_BLOCK_PLACEHOLDER}"},image:{replaceAction:"image",placeholder:"{IMAGE_PLACEHOLDER}"},thematicBreak:{replaceAction:"thematicBreak",placeholder:"{HORIZONTAL_RULE_PLACEHOLDER}"},italics:{replaceAction:"emphasis",placeholder:"{ITALICS_PLACEHOLDER}"},bold:{replaceAction:"strong",placeholder:"{STRONG_PLACEHOLDER}"},list:{replaceAction:"list",placeholder:"{LIST_PLACEHOLDER}"},blockquote:{replaceAction:"blockquote",placeholder:"{BLOCKQUOTE_PLACEHOLDER}"},math:{replaceAction:"math",placeholder:"{MATH_PLACEHOLDER}"},inlineMath:{replaceAction:"inlineMath",placeholder:"{INLINE_MATH_PLACEHOLDER}"},html:{replaceAction:"html",placeholder:"{HTML_PLACEHOLDER}"},yaml:{replaceAction:ke,placeholder:$e(`--- ----`)},wikiLink:{replaceAction:Go,placeholder:"{WIKI_LINK_PLACEHOLDER}"},tag:{replaceAction:En,placeholder:"#tag-placeholder"},obsidianMultiLineComments:{replaceAction:ml,placeholder:"{OBSIDIAN_COMMENT_PLACEHOLDER}"},table:{replaceAction:Qo,placeholder:"{TABLE_PLACEHOLDER}"},link:{replaceAction:Lf,placeholder:"{REGULAR_LINK_PLACEHOLDER}"}};function D(e,t,n){let i=[];for(let r of e){let o;if(typeof r.replaceAction=="string")o=Of(t,r.placeholder,r.replaceAction);else if(r.replaceAction instanceof RegExp)o=Af(t,r.placeholder,r.replaceAction);else if(typeof r.replaceAction=="function"){let s=r.replaceAction;o=s(t,r.placeholder)}t=o.newText,i.push({replacedValues:o.replacedValues,placeholder:r.placeholder})}return t=n(t),i=i.reverse(),i!=null&&i.length>0&&i.forEach(r=>{r.replacedValues.forEach(o=>{t=t.replace(new RegExp(r.placeholder,"i"),$e(o))})}),t}function Of(e,t,n){let i=be(n,e),r=[];for(let o of i){let s=e.substring(o.start.offset,o.end.offset);r.push(s),e=ve(e,o.start.offset,o.end.offset,t)}return r.reverse(),{newText:e,replacedValues:r}}function Af(e,t,n){let i=e.match(n),r=[];if(n.flags.includes("g")){if(e=e.replaceAll(n,t),i)for(let o of i)r.push(o)}else e=e.replace(n,t),i&&r.push(i[0]);return{newText:e,replacedValues:r}}function Lf(e,t){let n=be("link",e),i=[];for(let r of n){if(r==null)continue;let o=e.substring(r.start.offset,r.end.offset);!o.match(Cr)||(i.push(o),e=ve(e,r.start.offset,r.end.offset,t))}return i.reverse(),{newText:e,replacedValues:i}}var en=class{constructor(){this.style="Title Case";this.ignoreWords=["macOS","iOS","iPhone","iPad","JavaScript","TypeScript","AppleScript"];this.lowercaseWords=["via","a","an","the","and","or","but","for","nor","so","yet","at","by","in","of","on","to","up","as","is","if","it","for","to","with","without","into","onto","per"];this.ignoreCasedWords=!0}},yi=class extends k{get OptionsClass(){return en}get name(){return"Capitalize Headings"}get description(){return"Headings should be formatted with capitalization"}get type(){return"Heading"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>{let r=i.split(` -`);for(let o=0;oa.toUpperCase());break}return r.join(` -`)})}get exampleBuilders(){return[new v({description:"With `Title Case=true`, `Ignore Cased Words=false`",before:f` +$2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var k={code:{replaceAction:"code",placeholder:"{CODE_BLOCK_PLACEHOLDER}"},inlineCode:{replaceAction:"inlineCode",placeholder:"{INLINE_CODE_BLOCK_PLACEHOLDER}"},image:{replaceAction:"image",placeholder:"{IMAGE_PLACEHOLDER}"},thematicBreak:{replaceAction:"thematicBreak",placeholder:"{HORIZONTAL_RULE_PLACEHOLDER}"},italics:{replaceAction:"emphasis",placeholder:"{ITALICS_PLACEHOLDER}"},bold:{replaceAction:"strong",placeholder:"{STRONG_PLACEHOLDER}"},list:{replaceAction:"list",placeholder:"{LIST_PLACEHOLDER}"},blockquote:{replaceAction:"blockquote",placeholder:"{BLOCKQUOTE_PLACEHOLDER}"},math:{replaceAction:"math",placeholder:"{MATH_PLACEHOLDER}"},inlineMath:{replaceAction:"inlineMath",placeholder:"{INLINE_MATH_PLACEHOLDER}"},html:{replaceAction:"html",placeholder:"{HTML_PLACEHOLDER}"},yaml:{replaceAction:ke,placeholder:We(`--- +---`)},wikiLink:{replaceAction:Dr,placeholder:"{WIKI_LINK_PLACEHOLDER}"},tag:{replaceAction:si,placeholder:"#tag-placeholder"},obsidianMultiLineComments:{replaceAction:Al,placeholder:"{OBSIDIAN_COMMENT_PLACEHOLDER}"},table:{replaceAction:ps,placeholder:"{TABLE_PLACEHOLDER}"},footnoteAtStartOfLine:{replaceAction:/^(\[\^\w+\]) ?([,.;!:?])/gm,placeholder:"{FOOTNOTE_AT_START_OF_LINE_PLACEHOLDER}"},footnoteAfterATask:{replaceAction:/- \[.] (\[\^\w+\]) ?([,.;!:?])/gm,placeholder:"{FOOTNOTE_AFTER_A_TASK_PLACEHOLDER}"},link:{replaceAction:Kf,placeholder:"{REGULAR_LINK_PLACEHOLDER}"}};function $(e,t,n){let i=[];for(let r of e){let o;if(typeof r.replaceAction=="string")o=Yf(t,r.placeholder,r.replaceAction);else if(r.replaceAction instanceof RegExp)o=qf(t,r.placeholder,r.replaceAction);else if(typeof r.replaceAction=="function"){let s=r.replaceAction;o=s(t,r.placeholder)}t=o.newText,i.push({replacedValues:o.replacedValues,placeholder:r.placeholder})}return t=n(t),i=i.reverse(),i!=null&&i.length>0&&i.forEach(r=>{r.replacedValues.forEach(o=>{t=t.replace(new RegExp(r.placeholder,"i"),We(o))})}),t}function Yf(e,t,n){let i=be(n,e),r=[];for(let o of i){let s=e.substring(o.start.offset,o.end.offset);r.push(s),e=ve(e,o.start.offset,o.end.offset,t)}return r.reverse(),{newText:e,replacedValues:r}}function qf(e,t,n){let i=e.match(n),r=[];if(n.flags.includes("g")){if(e=e.replaceAll(n,t),i)for(let o of i)r.push(o)}else e=e.replace(n,t),i&&r.push(i[0]);return{newText:e,replacedValues:r}}function Kf(e,t){let n=be("link",e),i=[];for(let r of n){if(r==null)continue;let o=e.substring(r.start.offset,r.end.offset);!o.match(oi)||(i.push(o),e=ve(e,r.start.offset,r.end.offset,t))}return i.reverse(),{newText:e,replacedValues:i}}var tn=class{constructor(){this.style="Title Case";this.ignoreWords=["macOS","iOS","iPhone","iPad","JavaScript","TypeScript","AppleScript","I"];this.lowercaseWords=["via","a","an","the","and","or","but","for","nor","so","yet","at","by","in","of","on","to","up","as","is","if","it","for","to","with","without","into","onto","per"];this.ignoreCasedWords=!0}},vi=class extends S{get OptionsClass(){return tn}get name(){return"Capitalize Headings"}get description(){return"Headings should be formatted with capitalization"}get type(){return"Heading"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>i.replace(Rt,r=>{if(n.style==="ALL CAPS")return r.toUpperCase();let o=n.style==="First letter",s=r.match(/\S+/g),a=n.ignoreWords,l=n.lowercaseWords,p=!0;for(let u=1;u(i=i.replace(/^---\n+/,`--- + `,options:{style:"ALL CAPS"}})]}get optionBuilders(){return[new ye({OptionsClass:tn,name:"Style",description:"The style of capitalization to use",optionsKey:"style",records:[{value:"Title Case",description:"Capitalize Using Title Case Rules"},{value:"ALL CAPS",description:"CAPITALIZE THE WHOLE TITLE"},{value:"First letter",description:"Only capitalize the first letter"}]}),new U({OptionsClass:tn,name:"Ignore Cased Words",description:"Only apply title case style to words that are all lowercase",optionsKey:"ignoreCasedWords"}),new Ae({OptionsClass:tn,name:"Ignore Words",description:"A comma separated list of words to ignore when capitalizing",optionsKey:"ignoreWords",splitter:us,separator:", "}),new Ae({OptionsClass:tn,name:"Lowercase Words",description:"A comma separated list of words to keep lowercase",optionsKey:"lowercaseWords",splitter:us,separator:", "})]}};vi=O([S.register],vi);var go=class{constructor(){this.innerNewLines=!1}},ki=class extends S{get OptionsClass(){return go}get name(){return"Compact YAML"}get description(){return"Removes leading and trailing blank lines in the YAML front matter."}get type(){return"Spacing"}apply(t,n){return Se(t,i=>(i=i.replace(/^---\n+/,`--- `),i=i.replace(/\n+---/,` ---`),n.innerNewLines&&(i=i.replaceAll(/\n{2,}/g,` -`)),i))}get exampleBuilders(){return[new v({description:"Remove blank lines at the start and end of the YAML",before:f` +`)),i))}get exampleBuilders(){return[new x({description:"Remove blank lines at the start and end of the YAML",before:d` --- ${""} date: today @@ -150,13 +149,13 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction title: unchanged without inner new lines turned on ${""} --- - `,after:f` + `,after:d` --- date: today ${""} title: unchanged without inner new lines turned on --- - `}),new v({description:"Remove blank lines anywhere in YAML with inner new lines set to true",before:f` + `}),new x({description:"Remove blank lines anywhere in YAML with inner new lines set to true",before:d` --- ${""} date: today @@ -170,7 +169,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction ${""} ${""} Body content here. - `,after:f` + `,after:d` --- date: today title: remove inner new lines @@ -180,42 +179,42 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction ${""} ${""} Body content here. - `,options:{innerNewLines:!0}})]}get optionBuilders(){return[new te({OptionsClass:ro,name:"Inner New Lines",description:"Remove new lines that are not at the start or the end of the YAML",optionsKey:"innerNewLines"})]}};bi=A([k.register],bi);var As=class{},wi=class extends k{get OptionsClass(){return As}get name(){return"Consecutive blank lines"}get description(){return"There should be at most one consecutive blank line."}get type(){return"Spacing"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>i.replace(/\n{2,}/g,` + `,options:{innerNewLines:!0}})]}get optionBuilders(){return[new U({OptionsClass:go,name:"Inner New Lines",description:"Remove new lines that are not at the start or the end of the YAML",optionsKey:"innerNewLines"})]}};ki=O([S.register],ki);var Hs=class{},Si=class extends S{get OptionsClass(){return Hs}get name(){return"Consecutive blank lines"}get description(){return"There should be at most one consecutive blank line."}get type(){return"Spacing"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>i.replace(/(\n([\t\v\f\r \u00a0\u2000-\u200b\u2028-\u2029\u3000]+)?){2,}\n/g,` -`))}get exampleBuilders(){return[new v({description:"",before:f` +`))}get exampleBuilders(){return[new x({description:"",before:d` Some text ${""} ${""} Some more text - `,after:f` + `,after:d` Some text ${""} Some more text - `})]}get optionBuilders(){return[]}};wi=A([k.register],wi);var Ls=class{},xi=class extends k{get OptionsClass(){return Ls}get name(){return"Convert Bullet List Markers"}get description(){return"Converts common bullet list marker symbols to markdown list markers."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>i.replace(/^([^\S\n]*)([•§])([^\S\n]*)/gm,"$1-$3"))}get exampleBuilders(){return[new v({description:"Converts \u2022",before:f` + `})]}get optionBuilders(){return[]}};Si=O([S.register],Si);var zs=class{},Ti=class extends S{get OptionsClass(){return zs}get name(){return"Convert Bullet List Markers"}get description(){return"Converts common bullet list marker symbols to markdown list markers."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>i.replace(/^([^\S\n]*)([•§])([^\S\n]*)/gm,"$1-$3"))}get exampleBuilders(){return[new x({description:"Converts \u2022",before:d` • item 1 • item 2 - `,after:f` + `,after:d` - item 1 - item 2 - `}),new v({description:"Converts \xA7",before:f` + `}),new x({description:"Converts \xA7",before:d` • item 1 § item 2 § item 3 - `,after:f` + `,after:d` - item 1 - item 2 - item 3 - `})]}get optionBuilders(){return[]}};xi=A([k.register],xi);var oo=class{constructor(){this.tabsize=4}},vi=class extends k{get OptionsClass(){return oo}get name(){return"Convert Spaces to Tabs"}get description(){return"Converts leading spaces to tabs."}get type(){return"Spacing"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>{let r=String(n.tabsize),o=new RegExp("^( *) {"+String(r)+"}","gm");for(;i.match(o)!=null;)i=i.replace(o,"$1 ");return i})}get exampleBuilders(){return[new v({description:"Converting spaces to tabs with `tabsize = 3`",before:f` + `})]}get optionBuilders(){return[]}};Ti=O([S.register],Ti);var yo=class{constructor(){this.tabsize=4}},Oi=class extends S{get OptionsClass(){return yo}get name(){return"Convert Spaces to Tabs"}get description(){return"Converts leading spaces to tabs."}get type(){return"Spacing"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>{let r=String(n.tabsize),o=new RegExp("^( *) {"+String(r)+"}","gm");for(;i.match(o)!=null;)i=i.replace(o,"$1 ");return i})}get exampleBuilders(){return[new x({description:"Converting spaces to tabs with `tabsize = 3`",before:d` - text with no indention - text indented with 3 spaces - text with no indention - text indented with 6 spaces - `,after:f` + `,after:d` - text with no indention \t- text indented with 3 spaces - text with no indention \t\t- text indented with 6 spaces - `,options:{tabsize:3}})]}get optionBuilders(){return[new zr({OptionsClass:oo,name:"Tabsize",description:"Number of spaces that will be converted to a tab",optionsKey:"tabsize"})]}};vi=A([k.register],vi);var so=class{constructor(){this.style="consistent"}},ki=class extends k{get OptionsClass(){return so}get name(){return"Emphasis Style"}get description(){return"Makes sure the emphasis style is consistent."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag,S.math,S.inlineMath],t,i=>io(i,n.style,"emphasis"))}get exampleBuilders(){return[new v({description:"Emphasis indicators should use underscores when style is set to 'underscore'",before:f` + `,options:{tabsize:3}})]}get optionBuilders(){return[new Jr({OptionsClass:yo,name:"Tabsize",description:"Number of spaces that will be converted to a tab",optionsKey:"tabsize"})]}};Oi=O([S.register],Oi);var bo=class{constructor(){this.style="consistent"}},Ai=class extends S{get OptionsClass(){return bo}get name(){return"Emphasis Style"}get description(){return"Makes sure the emphasis style is consistent."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag,k.math,k.inlineMath],t,i=>ho(i,n.style,"emphasis"))}get exampleBuilders(){return[new x({description:"Emphasis indicators should use underscores when style is set to 'underscore'",before:d` # Emphasis Cases ${""} *Test emphasis* @@ -230,7 +229,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction ${""} * List Item1 with *emphasized text* * List Item2 - `,after:f` + `,after:d` # Emphasis Cases ${""} _Test emphasis_ @@ -245,7 +244,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction ${""} * List Item1 with _emphasized text_ * List Item2 - `,options:{style:"underscore"}}),new v({description:"Emphasis indicators should use asterisks when style is set to 'asterisk'",before:f` + `,options:{style:"underscore"}}),new x({description:"Emphasis indicators should use asterisks when style is set to 'asterisk'",before:d` # Emphasis Cases ${""} _Test emphasis_ @@ -257,7 +256,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction This is ___nested emphasis_ and ending bold__ ${""} __Test bold__ - `,after:f` + `,after:d` # Emphasis Cases ${""} *Test emphasis* @@ -269,7 +268,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction This is __*nested emphasis* and ending bold__ ${""} __Test bold__ - `,options:{style:"asterisk"}}),new v({description:"Emphasis indicators should use consistent style based on first emphasis indicator in a file when style is set to 'consistent'",before:f` + `,options:{style:"asterisk"}}),new x({description:"Emphasis indicators should use consistent style based on first emphasis indicator in a file when style is set to 'consistent'",before:d` # Emphasis First Emphasis Is an Asterisk ${""} *First emphasis* @@ -280,7 +279,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction This is **_nested emphasis_ and ending bold** ${""} __Test bold__ - `,after:f` + `,after:d` # Emphasis First Emphasis Is an Asterisk ${""} *First emphasis* @@ -291,7 +290,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction This is ***nested emphasis* and ending bold** ${""} __Test bold__ - `,options:{style:"consistent"}}),new v({description:"Emphasis indicators should use consistent style based on first emphasis indicator in a file when style is set to 'consistent'",before:f` + `,options:{style:"consistent"}}),new x({description:"Emphasis indicators should use consistent style based on first emphasis indicator in a file when style is set to 'consistent'",before:d` # Emphasis First Emphasis Is an Underscore ${""} **_First emphasis_** @@ -302,7 +301,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction This is __*nested emphasis* and ending bold__ ${""} __Test bold__ - `,after:f` + `,after:d` # Emphasis First Emphasis Is an Underscore ${""} **_First emphasis_** @@ -313,25 +312,25 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction This is ___nested emphasis_ and ending bold__ ${""} __Test bold__ - `,options:{style:"consistent"}})]}get optionBuilders(){return[new ye({OptionsClass:so,name:"Style",description:"The style used to denote emphasized content",optionsKey:"style",records:[{value:"consistent",description:"Makes sure the first instance of emphasis is the style that will be used throughout the document"},{value:"asterisk",description:"Makes sure * is the emphasis indicator"},{value:"underscore",description:"Makes sure _ is the emphasis indicator"}]})]}};ki=A([k.register],ki);var Cs=class{},Si=class extends k{get OptionsClass(){return Cs}get name(){return"Empty Line Around Blockquotes"}get description(){return"Ensures that there is an empty line around blockquotes unless they start or end a document. **Note that an empty line is either one less level of nesting for blockquotes or a newline character.**"}get type(){return"Spacing"}apply(t,n){return bu(t)}get exampleBuilders(){return[new v({description:"Blockquotes that start a document do not get an empty line before them.",before:f` + `,options:{style:"consistent"}})]}get optionBuilders(){return[new ye({OptionsClass:bo,name:"Style",description:"The style used to denote emphasized content",optionsKey:"style",records:[{value:"consistent",description:"Makes sure the first instance of emphasis is the style that will be used throughout the document"},{value:"asterisk",description:"Makes sure * is the emphasis indicator"},{value:"underscore",description:"Makes sure _ is the emphasis indicator"}]})]}};Ai=O([S.register],Ai);var Ys=class{},Ci=class extends S{get OptionsClass(){return Ys}get name(){return"Empty Line Around Blockquotes"}get description(){return"Ensures that there is an empty line around blockquotes unless they start or end a document. **Note that an empty line is either one less level of nesting for blockquotes or a newline character.**"}get type(){return"Spacing"}apply(t,n){return Iu(t)}get exampleBuilders(){return[new x({description:"Blockquotes that start a document do not get an empty line before them.",before:d` > Quote content here > quote content continued # Title here - `,after:f` + `,after:d` > Quote content here > quote content continued ${""} # Title here - `}),new v({description:"Blockquotes that end a document do not get an empty line after them.",before:f` + `}),new x({description:"Blockquotes that end a document do not get an empty line after them.",before:d` # Heading 1 > Quote content here > quote content continued - `,after:f` + `,after:d` # Heading 1 ${""} > Quote content here > quote content continued - `}),new v({description:"Blockquotes that are nested have the proper empty line added",before:f` + `}),new x({description:"Blockquotes that are nested have the proper empty line added",before:d` # Make sure that nested blockquotes are accounted for correctly > Quote content here > quote content continued @@ -344,7 +343,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction ${""} > > Quote content here > > quote content continued - `,after:f` + `,after:d` # Make sure that nested blockquotes are accounted for correctly ${""} > Quote content here @@ -359,31 +358,31 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction ${""} > > Quote content here > > quote content continued - `})]}get optionBuilders(){return[]}};Si=A([k.register],Si);var Es=class{},Ti=class extends k{get OptionsClass(){return Es}get name(){return"Empty Line Around Code Fences"}get description(){return"Ensures that there is an empty line around code fences unless they start or end a document."}get type(){return"Spacing"}apply(t,n){return gu(t)}get exampleBuilders(){return[new v({description:"Fenced code blocks that start a document do not get an empty line before them.",before:f` + `})]}get optionBuilders(){return[]}};Ci=O([S.register],Ci);var qs=class{},Ei=class extends S{get OptionsClass(){return qs}get name(){return"Empty Line Around Code Fences"}get description(){return"Ensures that there is an empty line around code fences unless they start or end a document."}get type(){return"Spacing"}apply(t,n){return _u(t)}get exampleBuilders(){return[new x({description:"Fenced code blocks that start a document do not get an empty line before them.",before:d` \`\`\` js var temp = 'text'; // this is a code block \`\`\` Text after code block. - `,after:f` + `,after:d` \`\`\` js var temp = 'text'; // this is a code block \`\`\` ${""} Text after code block. - `}),new v({description:"Fenced code blocks that end a document do not get an empty line after them.",before:f` + `}),new x({description:"Fenced code blocks that end a document do not get an empty line after them.",before:d` # Heading 1 \`\`\` Here is a code block \`\`\` - `,after:f` + `,after:d` # Heading 1 ${""} \`\`\` Here is a code block \`\`\` - `}),new v({description:"Fenced code blocks that are in a blockquote have the proper empty line added",before:f` + `}),new x({description:"Fenced code blocks that are in a blockquote have the proper empty line added",before:d` # Make sure that code blocks in blockquotes are accounted for correctly > \`\`\`js > var text = 'this is some text'; @@ -400,7 +399,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction > > \`\`\`js > > var other text = 'this is more text'; > > \`\`\` - `,after:f` + `,after:d` # Make sure that code blocks in blockquotes are accounted for correctly > > \`\`\`js @@ -420,7 +419,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction > > \`\`\`js > > var other text = 'this is more text'; > > \`\`\` - `}),new v({description:"Nested fenced code blocks get empty lines added around them",before:f` + `}),new x({description:"Nested fenced code blocks get empty lines added around them",before:d` \`\`\`markdown # Header ${""} @@ -428,7 +427,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction var text = 'some string'; \`\`\`\` \`\`\` - `,after:f` + `,after:d` \`\`\`markdown # Header ${""} @@ -437,42 +436,42 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction \`\`\`\` ${""} \`\`\` - `})]}get optionBuilders(){return[]}};Ti=A([k.register],Ti);var ao=class{constructor(){this.minimumNumberOfDollarSignsToBeAMathBlock=2}};A([k.noSettingControl()],ao.prototype,"minimumNumberOfDollarSignsToBeAMathBlock",2);var Oi=class extends k{get OptionsClass(){return ao}get name(){return"Empty Line Around Math Blocks"}get description(){return"Ensures that there is an empty line around math blocks using `Number of Dollar Signs to Indicate a Math Block` to determine how many dollar signs indicates a math block for single-line math."}get type(){return"Spacing"}apply(t,n){return D([S.yaml,S.code],t,i=>yu(i,n.minimumNumberOfDollarSignsToBeAMathBlock))}get exampleBuilders(){return[new v({description:"Math blocks that start a document do not get an empty line before them.",before:f` + `})]}get optionBuilders(){return[]}};Ei=O([S.register],Ei);var wo=class{constructor(){this.minimumNumberOfDollarSignsToBeAMathBlock=2}};O([S.noSettingControl()],wo.prototype,"minimumNumberOfDollarSignsToBeAMathBlock",2);var Li=class extends S{get OptionsClass(){return wo}get name(){return"Empty Line Around Math Blocks"}get description(){return"Ensures that there is an empty line around math blocks using `Number of Dollar Signs to Indicate a Math Block` to determine how many dollar signs indicates a math block for single-line math."}get type(){return"Spacing"}apply(t,n){return $([k.yaml,k.code],t,i=>Bu(i,n.minimumNumberOfDollarSignsToBeAMathBlock))}get exampleBuilders(){return[new x({description:"Math blocks that start a document do not get an empty line before them.",before:d` $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ some more text - `,after:f` + `,after:d` $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ ${""} some more text - `}),new v({description:"Math blocks that are singe-line are updated based on the value of `Number of Dollar Signs to Indicate a Math Block` (in this case its value is 2)",before:f` + `}),new x({description:"Math blocks that are singe-line are updated based on the value of `Number of Dollar Signs to Indicate a Math Block` (in this case its value is 2)",before:d` $$\\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix}$$ some more text - `,after:f` + `,after:d` $$\\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix}$$ ${""} some more text - `}),new v({description:"Math blocks that end a document do not get an empty line after them.",before:f` + `}),new x({description:"Math blocks that end a document do not get an empty line after them.",before:d` Some text $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ - `,after:f` + `,after:d` Some text ${""} $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ - `}),new v({description:"Math blocks that are not at the start or the end of the document will have an empty line added before and after them",before:f` + `}),new x({description:"Math blocks that are not at the start or the end of the document will have an empty line added before and after them",before:d` Some text $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ some more text - `,after:f` + `,after:d` Some text ${""} $$ @@ -480,7 +479,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction $$ ${""} some more text - `}),new v({description:"Math blocks in callouts or blockquotes have the appropriately formatted blank lines added",before:f` + `}),new x({description:"Math blocks in callouts or blockquotes have the appropriately formatted blank lines added",before:d` > Math block in blockquote > $$ > \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} @@ -492,7 +491,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction > > $$ > > \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} > > $$ - `,after:f` + `,after:d` > Math block in blockquote > > $$ @@ -507,7 +506,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction > > $$ > > \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} > > $$ - `})]}get optionBuilders(){return[]}};Oi=A([k.register],Oi);var _s=class{},Ai=class extends k{get OptionsClass(){return _s}get name(){return"Empty Line Around Tables"}get description(){return"Ensures that there is an empty line around github flavored tables unless they start or end a document."}get type(){return"Spacing"}apply(t,n){return D([S.yaml,S.code],t,i=>fl(i))}get exampleBuilders(){return[new v({description:"Tables that start a document do not get an empty line before them.",before:f` + `})]}get optionBuilders(){return[]}};Li=O([S.register],Li);var Ks=class{},_i=class extends S{get OptionsClass(){return Ks}get name(){return"Empty Line Around Tables"}get description(){return"Ensures that there is an empty line around github flavored tables unless they start or end a document."}get type(){return"Spacing"}apply(t,n){return $([k.yaml,k.code,k.math,k.inlineMath],t,i=>El(i))}get exampleBuilders(){return[new x({description:"Tables that start a document do not get an empty line before them.",before:d` | Column 1 | Column 2 | |----------|----------| | foo | bar | @@ -517,7 +516,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction # Heading ${""} **Note that text directly following a table is considered part of a table according to github markdown** - `,after:f` + `,after:d` | Column 1 | Column 2 | |----------|----------| | foo | bar | @@ -528,14 +527,14 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction # Heading ${""} **Note that text directly following a table is considered part of a table according to github markdown** - `}),new v({description:"Tables that end a document do not get an empty line after them.",before:f` + `}),new x({description:"Tables that end a document do not get an empty line after them.",before:d` # Heading 1 | Column 1 | Column 2 | |----------|----------| | foo | bar | | baz | qux | | quux | quuz | - `,after:f` + `,after:d` # Heading 1 ${""} | Column 1 | Column 2 | @@ -543,7 +542,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction | foo | bar | | baz | qux | | quux | quuz | - `}),new v({description:"Tables that are not at the start or the end of the document will have an empty line added before and after them",before:f` + `}),new x({description:"Tables that are not at the start or the end of the document will have an empty line added before and after them",before:d` # Table 1 | Column 1 | Column 2 | Column 3 | |----------|----------|----------| @@ -557,7 +556,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction foo | bar # Header for more content New paragraph. - `,after:f` + `,after:d` # Table 1 ${""} | Column 1 | Column 2 | Column 3 | @@ -575,7 +574,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction ${""} # Header for more content New paragraph. - `}),new v({description:"Tables in callouts or blockquotes have the appropriately formatted blank lines added",before:f` + `}),new x({description:"Tables in callouts or blockquotes have the appropriately formatted blank lines added",before:d` > Table in blockquote > | Column 1 | Column 2 | Column 3 | > |----------|----------|----------| @@ -591,7 +590,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction > > | foo | bar | blob | > > | baz | qux | trust | > > | quux | quuz | glob | - `,after:f` + `,after:d` > Table in blockquote > > | Column 1 | Column 2 | Column 3 | @@ -610,19 +609,19 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction > > | foo | bar | blob | > > | baz | qux | trust | > > | quux | quuz | glob | - `})]}get optionBuilders(){return[]}};Ai=A([k.register],Ai);var Li=class{constructor(){this.defaultEscapeCharacter='"';this.tryToEscapeSingleLineArrays=!1}};A([k.noSettingControl()],Li.prototype,"defaultEscapeCharacter",2);var tn=class extends k{get OptionsClass(){return Li}get name(){return"Escape YAML Special Characters"}get description(){return`Escapes colons with a space after them (: ), single quotes ('), and double quotes (") in YAML.`}get type(){return"YAML"}apply(t,n){return Se(t,i=>{let r=i.split(` -`),o=r.length;if(o<1)return i;for(let s=0;s=a.length,p=a.startsWith("-"),m=p&&a.length<2;if(u&&m)continue;let c=1;p||(c+=l);let d=a.substring(c).trim();if(d.startsWith("[")){if(n.tryToEscapeSingleLineArrays){if(d.length<3)continue;let h=d.substring(1,d.length-1).split(","),g=h.length;for(let x=0;x{let r=i.split(` +`),o=r.length;if(o<1)return i;for(let s=0;s=a.length,u=a.startsWith("-"),m=u&&a.length<2;if(p&&m)continue;let c=1;if(!u)c+=l;else if(l!==-1&&s+1{if(i.match(/^#\s.*/m))return i;let o=n.fileName,s=i.indexOf(` ----`);return s=s==-1||!i.startsWith(`--- -`)?0:s+5,jt(i,s,`# ${o} -`)})}get exampleBuilders(){return[new v({description:"Inserts an H1 heading",before:f` + `,options:{tryToEscapeSingleLineArrays:!0}})]}get optionBuilders(){return[new U({OptionsClass:Bi,name:"Try to Escape Single Line Arrays",description:'Tries to escape array values assuming that an array starts with "[", ends with "]", and has items that are delimited by ",".',optionsKey:"tryToEscapeSingleLineArrays"})]}get hasSpecialExecutionOrder(){return!0}};nn=O([S.register],nn);var xo=class{};O([S.noSettingControl()],xo.prototype,"fileName",2);var Ii=class extends S{get OptionsClass(){return xo}get name(){return"File Name Heading"}get description(){return"Inserts the file name as a H1 heading if no H1 heading exists."}get type(){return"Heading"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>{if(i.match(/^#\s.*/m))return i;let o=n.fileName,s=i.indexOf(` +---`);s=s==-1||!i.startsWith(`--- +`)?0:s+5;let a=`# ${o} +`;return i.lengthi.replace(/(?!^)(\[\^\w+\]) ?([,.;!:?])/gm,"$2$1"))}get exampleBuilders(){return[new v({description:"Placing footnotes after punctuation.",before:f` + `,options:{fileName:"File Name"}})]}get optionBuilders(){return[]}};Ii=O([S.register],Ii);var Vs=class{},Mi=class extends S{get OptionsClass(){return Vs}get name(){return"Footnote after Punctuation"}get description(){return"Ensures that footnote references are placed after punctuation, not before."}get type(){return"Footnote"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag,k.footnoteAtStartOfLine,k.footnoteAfterATask],t,i=>i.replace(/(\[\^\w+\]) ?([,.;!:?])/gm,"$2$1"))}get exampleBuilders(){return[new x({description:"Placing footnotes after punctuation.",before:d` Lorem[^1]. Ipsum[^2], doletes. - `,after:f` + `,after:d` Lorem.[^1] Ipsum,[^2] doletes. - `})]}get optionBuilders(){return[]}};Ei=A([k.register],Ei);var _i=class{constructor(){this.defaultEscapeCharacter='"';this.forceYamlEscape=[]}};A([k.noSettingControl()],_i.prototype,"defaultEscapeCharacter",2);var nn=class extends k{get OptionsClass(){return _i}get name(){return"Force YAML Escape"}get description(){return"Escapes the values for the specified YAML keys."}get type(){return"YAML"}apply(t,n){return Se(t,i=>{for(let r of n.forceYamlEscape){let o=Oe(i,r);if(o!=null){if(o.includes(` -`)||o.startsWith(" [")||ns(o))continue;o=kt(o,n.defaultEscapeCharacter,!0),i=Te(i,r," "+o)}}return i})}get exampleBuilders(){return[new v({description:"YAML without anything to escape",before:f` + `}),new x({description:"A footnote at the start of a task is not moved to after the punctuation",before:d` + - [ ] [^1]: This is a footnote and a task. + - [ ] This is a footnote and a task that gets swapped with the punctuation[^2]! + [^2]: This footnote got modified + `,after:d` + - [ ] [^1]: This is a footnote and a task. + - [ ] This is a footnote and a task that gets swapped with the punctuation![^2] + [^2]: This footnote got modified + `})]}get optionBuilders(){return[]}};Mi=O([S.register],Mi);var Fi=class{constructor(){this.defaultEscapeCharacter='"';this.forceYamlEscape=[]}};O([S.noSettingControl()],Fi.prototype,"defaultEscapeCharacter",2);var rn=class extends S{get OptionsClass(){return Fi}get name(){return"Force YAML Escape"}get description(){return"Escapes the values for the specified YAML keys."}get type(){return"YAML"}apply(t,n){return Se(t,i=>{for(let r of n.forceYamlEscape){let o=Oe(i,r);if(o!=null){if(o.includes(` +`)||o.startsWith(" [")||hs(o))continue;o=St(o,n.defaultEscapeCharacter,!0),i=Te(i,r," "+o)}}return i})}get exampleBuilders(){return[new x({description:"YAML without anything to escape",before:d` --- key: value otherKey: [] --- - `,after:f` + `,after:d` --- key: value otherKey: [] --- - `}),new v({description:"Force YAML keys to be escaped with double quotes where not already escaped with `Force Yaml Escape on Keys = 'key'\\n'title'\\n'bool'`",before:f` + `}),new x({description:"Force YAML keys to be escaped with double quotes where not already escaped with `Force Yaml Escape on Keys = 'key'\\n'title'\\n'bool'`",before:d` --- key: 'Already escaped value' title: This is a title @@ -721,7 +729,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction --- ${""} _Note that the force Yaml key option should not be used with arrays._ - `,after:f` + `,after:d` --- key: 'Already escaped value' title: "This is a title" @@ -730,45 +738,45 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction --- ${""} _Note that the force Yaml key option should not be used with arrays._ - `,options:{forceYamlEscape:["key","title","bool"],defaultEscapeCharacter:'"'}})]}get optionBuilders(){return[new Ae({OptionsClass:_i,name:"Force YAML Escape on Keys",description:"Uses the YAML escape character on the specified YAML keys separated by a new line character if it is not already escaped. Do not use on YAML arrays.",optionsKey:"forceYamlEscape"})]}get hasSpecialExecutionOrder(){return!0}};nn=A([k.register],nn);var Ms=class{},rn=class extends k{get OptionsClass(){return Ms}get name(){return"Format Tags in YAML"}get description(){return"Remove Hashtags from tags in the YAML frontmatter, as they make the tags there invalid."}get type(){return"YAML"}apply(t,n){return Se(t,i=>i.replace(new RegExp(`\\n(${ri}|${Jo}):(.*?)(?=\\n(?:[A-Za-z-]+?:|---))`,"s"),function(r){return r.replaceAll("#","")}))}get exampleBuilders(){return[new v({description:"Format Tags in YAML frontmatter",before:f` + `,options:{forceYamlEscape:["key","title","bool"],defaultEscapeCharacter:'"'}})]}get optionBuilders(){return[new Ae({OptionsClass:Fi,name:"Force YAML Escape on Keys",description:"Uses the YAML escape character on the specified YAML keys separated by a new line character if it is not already escaped. Do not use on YAML arrays.",optionsKey:"forceYamlEscape"})]}get hasSpecialExecutionOrder(){return!0}};rn=O([S.register],rn);var js=class{},on=class extends S{get OptionsClass(){return js}get name(){return"Format Tags in YAML"}get description(){return"Remove Hashtags from tags in the YAML frontmatter, as they make the tags there invalid."}get type(){return"YAML"}apply(t,n){return Se(t,i=>i.replace(new RegExp(`\\n(${ai}|${ms}):(.*?)(?=\\n(?:[A-Za-z-]+?:|---))`,"s"),function(r){return r.replaceAll("#","")}))}get exampleBuilders(){return[new x({description:"Format Tags in YAML frontmatter",before:d` --- tags: #one #two #three #nested/four/five --- - `,after:f` + `,after:d` --- tags: one two three nested/four/five --- - `}),new v({description:"Format tags in array",before:f` + `}),new x({description:"Format tags in array",before:d` --- tags: [#one #two #three] --- - `,after:f` + `,after:d` --- tags: [one two three] --- - `}),new v({description:"Format tags in array with `tag` as the tags key",before:f` + `}),new x({description:"Format tags in array with `tag` as the tags key",before:d` --- tag: [#one #two #three] --- - `,after:f` + `,after:d` --- tag: [one two three] --- - `}),new v({description:"Format tags in list",before:f` + `}),new x({description:"Format tags in list",before:d` --- tags: - #tag1 - #tag2 --- - `,after:f` + `,after:d` --- tags: - tag1 - tag2 --- - `})]}get optionBuilders(){return[]}get hasSpecialExecutionOrder(){return!0}};rn=A([k.register],rn);var at=class{constructor(){this.aliasArrayStyle="single-line";this.formatAliasKey=!0;this.tagArrayStyle="single-line";this.formatTagKey=!0;this.defaultArrayStyle="single-line";this.formatArrayKeys=!0;this.forceSingleLineArrayStyle=[];this.forceMultiLineArrayStyle=[]}};A([k.noSettingControl()],at.prototype,"aliasArrayStyle",2),A([k.noSettingControl()],at.prototype,"tagArrayStyle",2);var Bi=class extends k{get OptionsClass(){return at}get name(){return"Format Yaml Array"}get description(){return"Allows for the formatting of regular yaml arrays as either multi-line or single-line and `tags` and `aliases` are allowed to have some Obsidian specific yaml formats. Note that single string to single-line goes from a single string entry to a single-line array if more than 1 entry is present. The same is true for single string to multi-line except it becomes a multi-line array."}get type(){return"YAML"}apply(t,n){return Se(t,i=>{let r=Je(i.replace(`--- + `})]}get optionBuilders(){return[]}get hasSpecialExecutionOrder(){return!0}};on=O([S.register],on);var lt=class{constructor(){this.aliasArrayStyle="single-line";this.formatAliasKey=!0;this.tagArrayStyle="single-line";this.formatTagKey=!0;this.defaultArrayStyle="single-line";this.formatArrayKeys=!0;this.forceSingleLineArrayStyle=[];this.forceMultiLineArrayStyle=[]}};O([S.noSettingControl()],lt.prototype,"aliasArrayStyle",2),O([S.noSettingControl()],lt.prototype,"tagArrayStyle",2);var Ri=class extends S{get OptionsClass(){return lt}get name(){return"Format Yaml Array"}get description(){return"Allows for the formatting of regular yaml arrays as either multi-line or single-line and `tags` and `aliases` are allowed to have some Obsidian specific yaml formats. Note that single string to single-line goes from a single string entry to a single-line array if more than 1 entry is present. The same is true for single string to multi-line except it becomes a multi-line array."}get type(){return"YAML"}apply(t,n){return Se(t,i=>{let r=Je(i.replace(`--- `,"").replace(` ----`,""));if(!r)return i;for(let o of si)if(n.formatAliasKey&&Object.keys(r).includes(o)){i=Te(i,o,Ge(Br(ht(Oe(i,o))),n.aliasArrayStyle));break}for(let o of oi)if(n.formatTagKey&&Object.keys(r).includes(o)){i=Te(i,o,Ge(_r(ht(Oe(i,o))),n.tagArrayStyle));break}if(n.formatArrayKeys){let o=[...si,...oi,...n.forceMultiLineArrayStyle,...n.forceSingleLineArrayStyle];for(let s of Object.keys(r))o.includes(s)||!Array.isArray(r[s])||(i=Te(i,s,Ge(ht(Oe(i,s)),n.defaultArrayStyle)))}for(let o of n.forceSingleLineArrayStyle)!Object.keys(r).includes(o)||(i=Te(i,o,Ge(ht(Oe(i,o)),"single-line")));for(let o of n.forceMultiLineArrayStyle)!Object.keys(r).includes(o)||(i=Te(i,o,Ge(ht(Oe(i,o)),"multi-line")));return i})}get exampleBuilders(){return[new v({description:"Format tags as a single-line array delimited by spaces and aliases as a multi-line array and format the key `test` to be a single-line array",before:f` +---`,""));if(!r)return i;for(let o of ui)if(n.formatAliasKey&&Object.keys(r).includes(o)){i=Te(i,o,Ge(Yr(gt(Oe(i,o))),n.aliasArrayStyle));break}for(let o of li)if(n.formatTagKey&&Object.keys(r).includes(o)){i=Te(i,o,Ge(zr(gt(Oe(i,o))),n.tagArrayStyle));break}if(n.formatArrayKeys){let o=[...ui,...li,...n.forceMultiLineArrayStyle,...n.forceSingleLineArrayStyle];for(let s of Object.keys(r))o.includes(s)||!Array.isArray(r[s])||r[s].length!==0&&typeof r[s][0]=="object"&&r[s][0]!==null||(i=Te(i,s,Ge(gt(Oe(i,s)),n.defaultArrayStyle)))}for(let o of n.forceSingleLineArrayStyle)!Object.keys(r).includes(o)||(i=Te(i,o,Ge(gt(Oe(i,o)),"single-line")));for(let o of n.forceMultiLineArrayStyle)!Object.keys(r).includes(o)||(i=Te(i,o,Ge(gt(Oe(i,o)),"multi-line")));return i})}get exampleBuilders(){return[new x({description:"Format tags as a single-line array delimited by spaces and aliases as a multi-line array and format the key `test` to be a single-line array",before:d` --- tags: - computer @@ -782,7 +790,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction Nesting yaml arrays may result in unexpected results. ${""} Multi-line arrays will have empty values removed only leaving one if it is completely empty. The same is not true for single-line arrays as that is invalid yaml unless it comes as the last entry in the array. - `,after:f` + `,after:d` --- tags: [computer, research] aliases: @@ -796,7 +804,7 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction Nesting yaml arrays may result in unexpected results. ${""} Multi-line arrays will have empty values removed only leaving one if it is completely empty. The same is not true for single-line arrays as that is invalid yaml unless it comes as the last entry in the array. - `,options:{aliasArrayStyle:"multi-line",forceSingleLineArrayStyle:["test"]}}),new v({description:"Format tags as a single string with space delimiters, ignore aliases, and format regular yaml arrays as single-line arrays",before:f` + `,options:{aliasArrayStyle:"multi-line",forceSingleLineArrayStyle:["test"]}}),new x({description:"Format tags as a single string with space delimiters, ignore aliases, and format regular yaml arrays as single-line arrays",before:d` --- aliases: Typescript types: @@ -804,15 +812,29 @@ $2$3`),e=ve(e,o.start.offset,o.end.offset,s)}return e}var S={code:{replaceAction - peer reviewed tags: [computer, science, trajectory] --- - `,after:f` + `,after:d` --- aliases: Typescript types: [thought provoking, peer reviewed] tags: computer science trajectory --- - `,options:{formatAliasKey:!1,tagArrayStyle:"single string space delimited"}})]}get optionBuilders(){return[new te({OptionsClass:at,name:"Format yaml aliases section",description:"Turns on formatting for the yaml aliases section. You should not enable this option alongside the rule `YAML Title Alias` as they may not work well together or they may have different format styles selected causing unexpected results.",optionsKey:"formatAliasKey"}),new te({OptionsClass:at,name:"Format yaml tags section",description:"Turns on formatting for the yaml tags section.",optionsKey:"formatTagKey"}),new ye({OptionsClass:at,name:"Default yaml array section style",description:"The style of other yaml arrays that are not `tags`, `aliases` or in `Force key values to be single-line arrays` and `Force key values to be multi-line arrays`",optionsKey:"defaultArrayStyle",records:[{value:"multi-line",description:"```key:\\n - value```"},{value:"single-line",description:"```key: [value]```"}]}),new te({OptionsClass:at,name:"Format yaml array sections",description:"Turns on formatting for regular yaml arrays",optionsKey:"formatArrayKeys"}),new Ae({OptionsClass:at,name:"Force key values to be single-line arrays",description:"Forces the yaml array for the new line separated keys to be in single-line format (leave empty to disable this option)",optionsKey:"forceSingleLineArrayStyle"}),new Ae({OptionsClass:at,name:"Force key values to be multi-line arrays",description:"Forces the yaml array for the new line separated keys to be in multi-line format (leave empty to disable this option)",optionsKey:"forceMultiLineArrayStyle"})]}};Bi=A([k.register],Bi);var Is=class{},Mi=class extends k{get OptionsClass(){return Is}get name(){return"Header Increment"}get description(){return"Heading levels should only increment by one level at a time"}get type(){return"Heading"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>{let r=i.split(` -`),o=0,s=0;for(let a=0;ao+1?(s+=u-(o+1),u=o+1):u{let r=n.startAtH2?1:0,o=0,s=n.startAtH2?2:1,a=n.startAtH2?1:0;return i.replace(Rt,(l,p="",u="",m="",c="",f="")=>{let h=u.length+a-o;return h>r+1?(o+=h-(r+1),h=r+1):h(n.bottom?(i=i.replace(/^(#+\s.*)/gm,` + `}),new x({description:"When `Start Header Increment at Heading Level 2 = true`, H1s become H2s and the other headers are incremented accordingly",before:d` + # H1 becomes H2 + #### H4 becomes H3 + ####### H7 + ###### H6 + ## H2 + ###### H6 + # H1 + ## H2 + `,after:d` + ## H1 becomes H2 + ### H4 becomes H3 + #### H7 + ### H6 + ## H2 + ### H6 + ## H1 + ### H2 + `,options:{startAtH2:!0}})]}get optionBuilders(){return[new U({OptionsClass:ko,name:"Start Header Increment at Heading Level 2",description:"Makes heading level 2 the minimum heading level in a file for header increment and shifts all headings accordingly so they increment starting with a level 2 heading.",optionsKey:"startAtH2"})]}};Di=O([S.register],Di);var Pi=class{constructor(){this.bottom=!0;this.emptyLineAfterYaml=!0}},$i=class extends S{get OptionsClass(){return Pi}get name(){return"Heading blank lines"}get description(){return"All headings have a blank line both before and after (except where the heading is at the beginning or end of the document)."}get type(){return"Spacing"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink],t,i=>(n.bottom?(i=i.replace(/^(#+\s.*)/gm,` $1 @@ -878,7 +918,7 @@ $1`),i=i.replace(/(^#+\s.*)\n+/gm,`$1 `),i=i.replace(/\n+(#+\s.*)/g,` $1`)),i=i.replace(/^\n+(#+\s.*)/,"$1"),i=i.replace(/(#+\s.*)\n+$/,"$1"),n.emptyLineAfterYaml||(i=i.replace(new RegExp("("+ke.source+")\\n+(#+\\s.*)"),`$1 -$5`)),i))}get exampleBuilders(){return[new v({description:"Headings should be surrounded by blank lines",before:f` +$5`)),i))}get exampleBuilders(){return[new x({description:"Headings should be surrounded by blank lines",before:d` # H1 ## H2 ${""} @@ -887,7 +927,7 @@ $5`)),i))}get exampleBuilders(){return[new v({description:"Headings should be su line ## H2 ${""} - `,after:f` + `,after:d` # H1 ${""} ## H2 @@ -897,13 +937,13 @@ $5`)),i))}get exampleBuilders(){return[new v({description:"Headings should be su line ${""} ## H2 - `}),new v({description:"With `Bottom=false`",before:f` + `}),new x({description:"With `Bottom=false`",before:d` # H1 line ## H2 # H1 line - `,after:f` + `,after:d` # H1 line ${""} @@ -911,46 +951,58 @@ $5`)),i))}get exampleBuilders(){return[new v({description:"Headings should be su ${""} # H1 line - `,options:{bottom:!1,emptyLineAfterYaml:!0}}),new v({description:"Empty line before header and after Yaml is removed with `Empty Line Between Yaml and Header=true`",before:f` + `,options:{bottom:!1,emptyLineAfterYaml:!0}}),new x({description:"Empty line before header and after Yaml is removed with `Empty Line Between Yaml and Header=true`",before:d` --- key: value --- # Header Paragraph here... - `,after:f` + `,after:d` --- key: value --- # Header Paragraph here... - `,options:{bottom:!0,emptyLineAfterYaml:!1}})]}get optionBuilders(){return[new te({OptionsClass:Fi,name:"Bottom",description:"Insert a blank line after headings",optionsKey:"bottom"}),new te({OptionsClass:Fi,name:"Empty Line Between Yaml and Header",description:"Keep the empty line between the Yaml frontmatter and header",optionsKey:"emptyLineAfterYaml"})]}};Ii=A([k.register],Ii);var po=class{constructor(){this.textToInsert=["aliases: ","tags: "]}},Ri=class extends k{get OptionsClass(){return po}get name(){return"Insert YAML attributes"}get description(){return"Inserts the given YAML attributes into the YAML frontmatter. Put each attribute on a single line."}get type(){return"YAML"}apply(t,n){return t=ft(t),Se(t,i=>{let r=n.textToInsert.reverse(),o=Je(i.match(ke)[1]);for(let s of r){let a=s.split(":")[0];Object.prototype.hasOwnProperty.call(o,a)||(i=i.replace(/^---\n/,$e(`--- + `,options:{bottom:!0,emptyLineAfterYaml:!1}})]}get optionBuilders(){return[new U({OptionsClass:Pi,name:"Bottom",description:"Insert a blank line after headings",optionsKey:"bottom"}),new U({OptionsClass:Pi,name:"Empty Line Between Yaml and Header",description:"Keep the empty line between the Yaml frontmatter and header",optionsKey:"emptyLineAfterYaml"})]}};$i=O([S.register],$i);var Ws=class{},Ni=class extends S{get OptionsClass(){return Ws}get name(){return"Headings Start Line"}get description(){return"Headings that do not start a line will have their preceding whitespace removed to make sure they get recognized as headers."}get type(){return"Heading"}apply(t,n){return $([k.code,k.yaml],t,i=>i.replaceAll(Rt,r=>r.trimStart()))}get exampleBuilders(){return[new x({description:"Removes spaces prior to a heading",before:d` + ${""} ## Other heading preceded by 2 spaces ## + _Note that if the spacing is enough for the header to be considered to be part of a codeblock it will not be affected by this rule._ + `,after:d` + ## Other heading preceded by 2 spaces ## + _Note that if the spacing is enough for the header to be considered to be part of a codeblock it will not be affected by this rule._ + `}),new x({description:"Tags are not affected by this",before:d` + ${""} #test + ${""} # Heading & + `,after:d` + ${""} #test + # Heading & + `})]}get optionBuilders(){return[]}};Ni=O([S.register],Ni);var So=class{constructor(){this.textToInsert=["aliases: ","tags: "]}},Hi=class extends S{get OptionsClass(){return So}get name(){return"Insert YAML attributes"}get description(){return"Inserts the given YAML attributes into the YAML frontmatter. Put each attribute on a single line."}get type(){return"YAML"}apply(t,n){return t=ht(t),Se(t,i=>{let r=n.textToInsert.reverse(),o=Je(i.match(ke)[1]);for(let s of r){let a=s.split(":")[0];Object.prototype.hasOwnProperty.call(o,a)||(i=i.replace(/^---\n/,We(`--- ${s} -`)))}return i})}get exampleBuilders(){return[new v({description:"Insert static lines into YAML frontmatter. Text to insert: `aliases:\ntags: doc\nanimal: dog`",before:f` +`)))}return i})}get exampleBuilders(){return[new x({description:"Insert static lines into YAML frontmatter. Text to insert: `aliases:\ntags: doc\nanimal: dog`",before:d` --- animal: cat --- - `,after:f` + `,after:d` --- aliases: tags: doc animal: cat --- - `,options:{textToInsert:["aliases:","tags: doc","animal: dog"]}})]}get optionBuilders(){return[new Ae({OptionsClass:po,name:"Text to insert",description:"Text to insert into the YAML frontmatter",optionsKey:"textToInsert"})]}};Ri=A([k.register],Ri);var Fs=class{},$i=class extends k{get OptionsClass(){return Fs}get name(){return"Line Break at Document End"}get description(){return"Ensures that there is exactly one line break at the end of a document."}get type(){return"Spacing"}apply(t,n){return t=t.replace(/\n+$/g,""),t+=` -`,t}get exampleBuilders(){return[new v({description:"Appending a line break to the end of the document.",before:f` + `,options:{textToInsert:["aliases:","tags: doc","animal: dog"]}})]}get optionBuilders(){return[new Ae({OptionsClass:So,name:"Text to insert",description:"Text to insert into the YAML frontmatter",optionsKey:"textToInsert"})]}};Hi=O([S.register],Hi);var Us=class{},zi=class extends S{get OptionsClass(){return Us}get name(){return"Line Break at Document End"}get description(){return"Ensures that there is exactly one line break at the end of a document."}get type(){return"Spacing"}apply(t,n){return t=t.replace(/\n+$/g,""),t+=` +`,t}get exampleBuilders(){return[new x({description:"Appending a line break to the end of the document.",before:d` Lorem ipsum dolor sit amet, consectetur adipiscing elit. - `,after:f` + `,after:d` Lorem ipsum dolor sit amet, consectetur adipiscing elit. ${""} - `}),new v({description:"Removing trailing line breaks to the end of the document, except one.",before:f` + `}),new x({description:"Removing trailing line breaks to the end of the document, except one.",before:d` Lorem ipsum dolor sit amet, consectetur adipiscing elit. ${""} ${""} ${""} - `,after:f` + `,after:d` Lorem ipsum dolor sit amet, consectetur adipiscing elit. ${""} - `})]}get optionBuilders(){return[]}};$i=A([k.register],$i);var Rs=class{},Di=class extends k{get OptionsClass(){return Rs}get name(){return"Move Footnotes to the bottom"}get description(){return"Move all footnotes to the bottom of the document."}get type(){return"Footnote"}apply(t,n){return D([S.code,S.yaml],t,i=>uu(i))}get exampleBuilders(){return[new v({description:"Moving footnotes to the bottom",before:f` + `})]}get optionBuilders(){return[]}};zi=O([S.register],zi);var Gs=class{},Yi=class extends S{get OptionsClass(){return Gs}get name(){return"Move Footnotes to the bottom"}get description(){return"Move all footnotes to the bottom of the document."}get type(){return"Footnote"}apply(t,n){return $([k.code,k.yaml],t,i=>Su(i))}get exampleBuilders(){return[new x({description:"Moving footnotes to the bottom",before:d` Lorem ipsum, consectetur adipiscing elit. [^1] Donec dictum turpis quis ipsum pellentesque. ${""} [^1]: first footnote @@ -959,7 +1011,7 @@ ${s} [^2]: second footnote ${""} Maecenas malesuada dignissim purus ac volutpat. - `,after:f` + `,after:d` Lorem ipsum, consectetur adipiscing elit. [^1] Donec dictum turpis quis ipsum pellentesque. ${""} Quisque lorem est, fringilla sed enim at, sollicitudin lacinia nisi.[^2] @@ -967,14 +1019,14 @@ ${s} ${""} [^1]: first footnote [^2]: second footnote - `})]}get optionBuilders(){return[]}};Di=A([k.register],Di);var co=class{constructor(){this.minimumNumberOfDollarSignsToBeAMathBlock=2}};A([k.noSettingControl()],co.prototype,"minimumNumberOfDollarSignsToBeAMathBlock",2);var Pi=class extends k{get OptionsClass(){return co}get name(){return"Move Math Block Indicators to Their Own Line"}get description(){return"Move all starting and ending math block indicators to their own lines using `Number of Dollar Signs to Indicate a Math Block` to determine how many dollar signs indicates a math block for single-line math."}get type(){return"Spacing"}apply(t,n){return D([S.code,S.inlineCode],t,i=>vu(i,n.minimumNumberOfDollarSignsToBeAMathBlock))}get exampleBuilders(){return[new v({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 2",before:f` + `})]}get optionBuilders(){return[]}};Yi=O([S.register],Yi);var To=class{constructor(){this.minimumNumberOfDollarSignsToBeAMathBlock=2}};O([S.noSettingControl()],To.prototype,"minimumNumberOfDollarSignsToBeAMathBlock",2);var qi=class extends S{get OptionsClass(){return To}get name(){return"Move Math Block Indicators to Their Own Line"}get description(){return"Move all starting and ending math block indicators to their own lines using `Number of Dollar Signs to Indicate a Math Block` to determine how many dollar signs indicates a math block for single-line math."}get type(){return"Spacing"}apply(t,n){return $([k.code,k.inlineCode],t,i=>Ru(i,n.minimumNumberOfDollarSignsToBeAMathBlock))}get exampleBuilders(){return[new x({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 2",before:d` This is left alone: $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ The following is updated: $$L = \\frac{1}{2} \\rho v^2 S C_L$$ - `,after:f` + `,after:d` This is left alone: $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} @@ -983,23 +1035,23 @@ ${s} $$ L = \\frac{1}{2} \\rho v^2 S C_L $$ - `}),new v({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 3 and opening indicator is on the same line as the start of the content",before:f` + `}),new x({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 3 and opening indicator is on the same line as the start of the content",before:d` $$$\\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$$ - `,after:f` + `,after:d` $$$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$$ - `}),new v({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 2 and ending indicator is on the same line as the ending line of the content",before:f` + `}),new x({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 2 and ending indicator is on the same line as the ending line of the content",before:d` $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix}$$ - `,after:f` + `,after:d` $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ - `})]}get optionBuilders(){return[]}};Pi=A([k.register],Pi);var Pn=class{constructor(){this.tagArrayStyle="single-line";this.howToHandleExistingTags="Nothing";this.tagsToIgnore=[]}};A([k.noSettingControl()],Pn.prototype,"tagArrayStyle",2);var Ni=class extends k{get OptionsClass(){return Pn}get name(){return"Move Tags to Yaml"}get description(){return"Move all tags to Yaml frontmatter of the document."}get type(){return"YAML"}apply(t,n){return D([S.code,S.inlineCode,S.math,S.html],t,i=>{let r=i.match(En);return r&&(i=ft(i),i=Se(i,o=>{o=o.replace(`--- -`,"").replace("---","");let s=[],a=ri;for(let p of oi){let m=Oe(o,p);if(m!=null){s=_r(ht(m)),a=p;break}}let l=new Set;if(typeof s=="string")l.add(s),s=[s];else if(s!=null)for(let p of s)l.add(p);else s=[];for(let p of r){let m=p.trim().substring(1);!l.has(m)&&!n.tagsToIgnore.includes(m)&&(l.add(m),s.push(m))}return`--- -${Te(o,a,Ge(s,n.tagArrayStyle))}---`}),n.howToHandleExistingTags==="Remove hashtag"?i=i.replace(En,o=>{let s=o.indexOf("#"),a=o.substring(s+1);return n.tagsToIgnore.includes(a)?o:o.substring(0,s)+a}):n.howToHandleExistingTags==="Remove whole tag"&&(i=i.replace(En,""))),i})}get exampleBuilders(){return[new v({description:"Move tags from body to Yaml with `Tags to ignore = 'ignored-tag'`",before:f` + `})]}get optionBuilders(){return[]}};qi=O([S.register],qi);var Pn=class{constructor(){this.tagArrayStyle="single-line";this.howToHandleExistingTags="Nothing";this.tagsToIgnore=[]}};O([S.noSettingControl()],Pn.prototype,"tagArrayStyle",2);var Ki=class extends S{get OptionsClass(){return Pn}get name(){return"Move Tags to Yaml"}get description(){return"Move all tags to Yaml frontmatter of the document."}get type(){return"YAML"}apply(t,n){return $([k.code,k.inlineCode,k.math,k.html],t,i=>{let r=i.match(si);return r&&(i=ht(i),i=Se(i,o=>{o=o.replace(`--- +`,"").replace("---","");let s=[],a=ai;for(let u of li){let m=Oe(o,u);if(m!=null){s=zr(gt(m)),a=u;break}}let l=new Set;if(typeof s=="string")l.add(s),s=[s];else if(s!=null)for(let u of s)l.add(u);else s=[];for(let u of r){let m=u.trim().substring(1);!l.has(m)&&!n.tagsToIgnore.includes(m)&&(l.add(m),s.push(m))}return`--- +${Te(o,a,Ge(s,n.tagArrayStyle))}---`}),n.howToHandleExistingTags!=="Nothing"&&(i=i.replace(si,o=>{let s=o.indexOf("#"),a=o.substring(s+1);return n.tagsToIgnore.includes(a)?o:n.howToHandleExistingTags==="Remove hashtag"?o.substring(0,s)+a:""}))),i})}get exampleBuilders(){return[new x({description:"Move tags from body to Yaml with `Tags to ignore = 'ignored-tag'`",before:d` Text has to do with #test and #markdown ${""} #test content here @@ -1011,7 +1063,7 @@ ${Te(o,a,Ge(s,n.tagArrayStyle))}---`}),n.howToHandleExistingTags==="Remove hasht This inline code \`#ignored content\` ${""} #ignored-tag is ignored since it is in the ignored list - `,after:f` + `,after:d` --- tags: [test, markdown] --- @@ -1026,41 +1078,41 @@ ${Te(o,a,Ge(s,n.tagArrayStyle))}---`}),n.howToHandleExistingTags==="Remove hasht This inline code \`#ignored content\` ${""} #ignored-tag is ignored since it is in the ignored list - `,options:{tagsToIgnore:["ignored-tag"]}}),new v({description:"Move tags from body to YAML with existing tags retains the already existing ones and only adds new ones",before:f` + `,options:{tagsToIgnore:["ignored-tag"]}}),new x({description:"Move tags from body to YAML with existing tags retains the already existing ones and only adds new ones",before:d` --- tags: [test, tag2] --- Text has to do with #test and #markdown - `,after:f` + `,after:d` --- tags: [test, tag2, markdown] --- Text has to do with #test and #markdown - `}),new v({description:"Move tags to YAML frontmatter and then remove hashtags in body content tags when `Body tag operation = 'Remove hashtag'` and `Tags to ignore = 'yet-another-ignored-tag'`.",before:f` + `}),new x({description:"Move tags to YAML frontmatter and then remove hashtags in body content tags when `Body tag operation = 'Remove hashtag'` and `Tags to ignore = 'yet-another-ignored-tag'`.",before:d` --- tags: [test, tag2] --- Text has to do with #test and #markdown ${""} The tag at the end of this line stays as a tag since it is ignored #yet-another-ignored-tag - `,after:f` + `,after:d` --- tags: [test, tag2, markdown] --- Text has to do with test and markdown ${""} The tag at the end of this line stays as a tag since it is ignored #yet-another-ignored-tag - `,options:{howToHandleExistingTags:"Remove hashtag",tagsToIgnore:["yet-another-ignored-tag"]}}),new v({description:"Move tags to YAML frontmatter and then remove body content tags when `Body tag operation = 'Remove whole tag'`.",before:f` + `,options:{howToHandleExistingTags:"Remove hashtag",tagsToIgnore:["yet-another-ignored-tag"]}}),new x({description:"Move tags to YAML frontmatter and then remove body content tags when `Body tag operation = 'Remove whole tag'`.",before:d` --- tags: [test, tag2] --- This document will have #tags removed and spacing around tags is left alone except for the space prior to the hashtag #warning - `,after:f` + `,after:d` --- tags: [test, tag2, tags, warning] --- This document will have removed and spacing around tags is left alone except for the space prior to the hashtag - `,options:{howToHandleExistingTags:"Remove whole tag"}})]}get optionBuilders(){return[new ye({OptionsClass:Pn,name:"Body tag operation",description:"What to do with non-ignored tags in the body of the file once they have been moved to the frontmatter",optionsKey:"howToHandleExistingTags",records:[{value:"Nothing",description:"Leaves tags in the body of the file alone"},{value:"Remove hashtag",description:"Removes `#` from tags in content body after moving them to the YAML frontmatter"},{value:"Remove whole tag",description:"Removes the whole tag in content body after moving them to the YAML frontmatter. _Note that this removes the first space prior to the tag as well_"}]}),new Ae({OptionsClass:Pn,name:"Tags to ignore",description:"The tags that will not be moved to the tags array or removed from the body content if `Remove the hashtag from tags in content body` is enabled. Each tag should be on a new line and without the `#`. **Make sure not to include the hashtag in the tag name.**",optionsKey:"tagsToIgnore"})]}};Ni=A([k.register],Ni);var $s=class{},Tu="'\"\u2018\u2019\u201C\u201D`[]",Hi=class extends k{get OptionsClass(){return $s}get name(){return"No Bare URLs"}get description(){return"Encloses bare URLs with angle brackets except when enclosed in back ticks, square braces, or single or double quotes."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag,S.image,S.inlineCode],t,i=>{let r=i.match(/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s`\]'"‘’“”>]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s`\]'"‘’“”>]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s`\]'"‘’“”>]{2,}|www\.[a-zA-Z0-9]+\.[^\s`\]'"‘’“”>]{2,})/gi);if(!r)return i;let o=0,s=r.length;for(let a=0;a=i.length?void 0:i.charAt(p);if(m!=null&&Tu.includes(m)&&c!=null&&Tu.includes(c)){o=u+l.length;continue}if(m!=null&&m==="<"&&c!=null&&c===">"){let d=u-1;for(;d>0&&i.charAt(d-1)==="<";)d--;let h=p;for(;h";)h++;i=ve(i,d,h+1,"<"+l+">"),o=u+l.length;continue}i=ve(i,u,u+l.length,"<"+l+">"),o=u+l.length+2}return i})}get exampleBuilders(){return[new v({description:"Make sure that links are inside of angle brackets when not in single quotes('), double quotes(\"), or backticks(`)",before:f` + `,options:{howToHandleExistingTags:"Remove whole tag"}})]}get optionBuilders(){return[new ye({OptionsClass:Pn,name:"Body tag operation",description:"What to do with non-ignored tags in the body of the file once they have been moved to the frontmatter",optionsKey:"howToHandleExistingTags",records:[{value:"Nothing",description:"Leaves tags in the body of the file alone"},{value:"Remove hashtag",description:"Removes `#` from tags in content body after moving them to the YAML frontmatter"},{value:"Remove whole tag",description:"Removes the whole tag in content body after moving them to the YAML frontmatter. _Note that this removes the first space prior to the tag as well_"}]}),new Ae({OptionsClass:Pn,name:"Tags to ignore",description:"The tags that will not be moved to the tags array or removed from the body content if `Remove the hashtag from tags in content body` is enabled. Each tag should be on a new line and without the `#`. **Make sure not to include the hashtag in the tag name.**",optionsKey:"tagsToIgnore"})]}};Ki=O([S.register],Ki);var Zs=class{},Pu="'\"\u2018\u2019\u201C\u201D`[]",Vi=class extends S{get OptionsClass(){return Zs}get name(){return"No Bare URLs"}get description(){return"Encloses bare URLs with angle brackets except when enclosed in back ticks, square braces, or single or double quotes."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag,k.image,k.inlineCode],t,i=>{let r=i.match(Pr);if(!r)return i;let o=0,s=r.length;for(let a=0;a=i.length?void 0:i.charAt(u);if(m!=null&&Pu.includes(m)&&c!=null&&Pu.includes(c)){o=p+l.length;continue}if(m!=null&&m==="<"&&c!=null&&c===">"){let f=p-1;for(;f>0&&i.charAt(f-1)==="<";)f--;let h=u;for(;h";)h++;i=ve(i,f,h+1,"<"+l+">"),o=p+l.length;continue}i=ve(i,p,p+l.length,"<"+l+">"),o=p+l.length+2}return i})}get exampleBuilders(){return[new x({description:"Make sure that links are inside of angle brackets when not in single quotes('), double quotes(\"), or backticks(`)",before:d` https://github.com braces around url should stay the same: [https://github.com] backticks around url should stay the same: \`https://github.com\` @@ -1070,7 +1122,7 @@ ${Te(o,a,Ge(s,n.tagArrayStyle))}---`}),n.howToHandleExistingTags==="Remove hasht links should stay the same: [](https://github.com) https://gitlab.com - `,after:f` + `,after:d` braces around url should stay the same: [https://github.com] backticks around url should stay the same: \`https://github.com\` @@ -1080,25 +1132,25 @@ ${Te(o,a,Ge(s,n.tagArrayStyle))}---`}),n.howToHandleExistingTags==="Remove hasht links should stay the same: [](https://github.com) - `}),new v({description:`Angle brackets are added if the url is not the only text in the single quotes(') or double quotes(")`,before:f` + `}),new x({description:`Angle brackets are added if the url is not the only text in the single quotes(') or double quotes(")`,before:d` [https://github.com some text here] backticks around a url should stay the same: \`https://github.com some text here\` single quotes around a url should stay the same, but only if the contents of the single quotes is the url: 'https://github.com some text here' double quotes around a url should stay the same, but only if the contents of the double quotes is the url: "https://github.com some text here" - `,after:f` + `,after:d` [ some text here] backticks around a url should stay the same: \`https://github.com some text here\` single quotes around a url should stay the same, but only if the contents of the single quotes is the url: ' some text here' double quotes around a url should stay the same, but only if the contents of the double quotes is the url: " some text here" - `}),new v({description:"Multiple angle brackets at the start and or end of a url will be reduced down to 1",before:f` + `}),new x({description:"Multiple angle brackets at the start and or end of a url will be reduced down to 1",before:d` < > <> - `,after:f` + `,after:d` - `})]}get optionBuilders(){return[]}};Hi=A([k.register],Hi);var zi=class{constructor(){this.numberStyle="ascending";this.listEndStyle="."}},Yi=class extends k{get OptionsClass(){return zi}get name(){return"Ordered List Style"}get description(){return"Makes sure that ordered lists follow the style specified. Note that 2 spaces or 1 tab is considered to be an indentation level."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.tag],t,i=>wu(i,n.numberStyle,n.listEndStyle))}get exampleBuilders(){return[new v({description:"Ordered lists have list items set to ascending numerical order when Number Style is `ascending`.",before:f` + `})]}get optionBuilders(){return[]}};Vi=O([S.register],Vi);var Wi=class{constructor(){this.numberStyle="ascending";this.listEndStyle="."}},ji=class extends S{get OptionsClass(){return Wi}get name(){return"Ordered List Style"}get description(){return"Makes sure that ordered lists follow the style specified. Note that 2 spaces or 1 tab is considered to be an indentation level."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.tag],t,i=>Mu(i,n.numberStyle,n.listEndStyle))}get exampleBuilders(){return[new x({description:"Ordered lists have list items set to ascending numerical order when Number Style is `ascending`.",before:d` 1. Item 1 2. Item 2 4. Item 3 @@ -1108,7 +1160,7 @@ ${Te(o,a,Ge(s,n.tagArrayStyle))}---`}),n.howToHandleExistingTags==="Remove hasht 1. Item 1 1. Item 2 1. Item 3 - `,after:f` + `,after:d` 1. Item 1 2. Item 2 3. Item 3 @@ -1118,175 +1170,175 @@ ${Te(o,a,Ge(s,n.tagArrayStyle))}---`}),n.howToHandleExistingTags==="Remove hasht 1. Item 1 2. Item 2 3. Item 3 - `}),new v({description:"Nested ordered lists have list items set to ascending numerical order when Number Style is `ascending`.",before:f` + `}),new x({description:"Nested ordered lists have list items set to ascending numerical order when Number Style is `ascending`.",before:d` 1. Item 1 2. Item 2 1. Subitem 1 5. Subitem 2 2. Subitem 3 4. Item 3 - `,after:f` + `,after:d` 1. Item 1 2. Item 2 1. Subitem 1 2. Subitem 2 3. Subitem 3 3. Item 3 - `}),new v({description:"Ordered list in blockquote has list items set to '1.' when Number Style is `lazy`.",before:f` + `}),new x({description:"Ordered list in blockquote has list items set to '1.' when Number Style is `lazy`.",before:d` > 1. Item 1 > 4. Item 2 > > 1. Subitem 1 > > 5. Subitem 2 > > 2. Subitem 3 - `,after:f` + `,after:d` > 1. Item 1 > 1. Item 2 > > 1. Subitem 1 > > 1. Subitem 2 > > 1. Subitem 3 - `,options:{numberStyle:"lazy"}}),new v({description:"Ordered list in blockquote has list items set to ascending numerical order when Number Style is `ascending`.",before:f` + `,options:{numberStyle:"lazy"}}),new x({description:"Ordered list in blockquote has list items set to ascending numerical order when Number Style is `ascending`.",before:d` > 1. Item 1 > 4. Item 2 > > 1. Subitem 1 > > 5. Subitem 2 > > 2. Subitem 3 - `,after:f` + `,after:d` > 1. Item 1 > 2. Item 2 > > 1. Subitem 1 > > 2. Subitem 2 > > 3. Subitem 3 - `}),new v({description:"Nested ordered list has list items set to '1)' when Number Style is `lazy` and Ordered List Indicator End Style is `)`.",before:f` + `}),new x({description:"Nested ordered list has list items set to '1)' when Number Style is `lazy` and Ordered List Indicator End Style is `)`.",before:d` 1. Item 1 2. Item 2 1. Subitem 1 5. Subitem 2 2. Subitem 3 4. Item 3 - `,after:f` + `,after:d` 1) Item 1 1) Item 2 1) Subitem 1 1) Subitem 2 1) Subitem 3 1) Item 3 - `,options:{listEndStyle:")",numberStyle:"lazy"}})]}get optionBuilders(){return[new ye({OptionsClass:zi,name:"Number Style",description:"The number style used in ordered list indicators",optionsKey:"numberStyle",records:[{value:"ascending",description:"Makes sure ordered list items are ascending (i.e. 1, 2, 3, etc.)"},{value:"lazy",description:"Makes sure ordered list item indicators all are the number 1"}]}),new ye({OptionsClass:zi,name:"Ordered List Indicator End Style",description:"The ending character of an ordered list indicator",optionsKey:"listEndStyle",records:[{value:".",description:"Makes sure ordered list items indicators end in '.' (i.e `1.`)"},{value:")",description:"Makes sure ordered list item indicators end in ')' (i.e. `1)`)"}]})]}};Yi=A([k.register],Yi);var Ds=class{},qi=class extends k{get OptionsClass(){return Ds}get name(){return"Paragraph blank lines"}get description(){return"All paragraphs should have exactly one blank line both before and after."}get type(){return"Spacing"}apply(t,n){return D([S.obsidianMultiLineComments,S.yaml,S.table],t,cu)}get exampleBuilders(){return[new v({description:"Paragraphs should be surrounded by blank lines",before:f` + `,options:{listEndStyle:")",numberStyle:"lazy"}})]}get optionBuilders(){return[new ye({OptionsClass:Wi,name:"Number Style",description:"The number style used in ordered list indicators",optionsKey:"numberStyle",records:[{value:"ascending",description:"Makes sure ordered list items are ascending (i.e. 1, 2, 3, etc.)"},{value:"lazy",description:"Makes sure ordered list item indicators all are the number 1"}]}),new ye({OptionsClass:Wi,name:"Ordered List Indicator End Style",description:"The ending character of an ordered list indicator",optionsKey:"listEndStyle",records:[{value:".",description:"Makes sure ordered list items indicators end in '.' (i.e `1.`)"},{value:")",description:"Makes sure ordered list item indicators end in ')' (i.e. `1)`)"}]})]}};ji=O([S.register],ji);var Qs=class{},Ui=class extends S{get OptionsClass(){return Qs}get name(){return"Paragraph blank lines"}get description(){return"All paragraphs should have exactly one blank line both before and after."}get type(){return"Spacing"}apply(t,n){return $([k.obsidianMultiLineComments,k.yaml,k.table],t,Ou)}get exampleBuilders(){return[new x({description:"Paragraphs should be surrounded by blank lines",before:d` # H1 Newlines are inserted. A paragraph is a line that starts with a letter. - `,after:f` + `,after:d` # H1 ${""} Newlines are inserted. ${""} A paragraph is a line that starts with a letter. - `})]}get optionBuilders(){return[]}};qi=A([k.register],qi);var mo=class{};A([k.noSettingControl()],mo.prototype,"lineContent",2);var on=class extends k{get OptionsClass(){return mo}get name(){return"Prevent Double Checklist Indicator on Paste"}get description(){return"Removes starting checklist indicator from the text to paste if the line the cursor is on in the file has a checklist indicator"}get type(){return"Paste"}apply(t,n){let i=new RegExp(`^${_n}- \\[[ x]] `),r=/^\s*- \[[ x]] /,o=i.test(n.lineContent),s=r.test(t);return!o||!s?t:t.replace(r,"")}get exampleBuilders(){return[new v({description:"Line being pasted is left alone when current line has no checklist indicator in it: `Regular text here`",before:f` + `})]}get optionBuilders(){return[]}};Ui=O([S.register],Ui);var Oo=class{};O([S.noSettingControl()],Oo.prototype,"lineContent",2);var sn=class extends S{get OptionsClass(){return Oo}get name(){return"Prevent Double Checklist Indicator on Paste"}get description(){return"Removes starting checklist indicator from the text to paste if the line the cursor is on in the file has a checklist indicator"}get type(){return"Paste"}apply(t,n){let i=new RegExp(`^${_n}- \\[[ x]] `),r=/^\s*- \[[ x]] /,o=i.test(n.lineContent),s=r.test(t);return!o||!s?t:t.replace(r,"")}get exampleBuilders(){return[new x({description:"Line being pasted is left alone when current line has no checklist indicator in it: `Regular text here`",before:d` - [ ] Checklist item being pasted - `,after:f` + `,after:d` - [ ] Checklist item being pasted - `,options:{lineContent:"Regular text here"}}),new v({description:"Line being pasted into a blockquote without a checklist indicator is left alone when it lacks a checklist indicator: `> > `",before:f` + `,options:{lineContent:"Regular text here"}}),new x({description:"Line being pasted into a blockquote without a checklist indicator is left alone when it lacks a checklist indicator: `> > `",before:d` - [ ] Checklist item contents here More content here - `,after:f` + `,after:d` - [ ] Checklist item contents here More content here - `,options:{lineContent:"> > "}}),new v({description:"Line being pasted into a blockquote with a checklist indicator is has its checklist indicator removed when current line is: `> - [x] `",before:f` + `,options:{lineContent:"> > "}}),new x({description:"Line being pasted into a blockquote with a checklist indicator is has its checklist indicator removed when current line is: `> - [x] `",before:d` - [ ] Checklist item contents here More content here - `,after:f` + `,after:d` Checklist item contents here More content here - `,options:{lineContent:"> - [x] "}}),new v({description:"Line being pasted with a checklist indicator is has its checklist indicator removed when current line is: `- [ ] `",before:f` + `,options:{lineContent:"> - [x] "}}),new x({description:"Line being pasted with a checklist indicator is has its checklist indicator removed when current line is: `- [ ] `",before:d` - [x] Checklist item 1 - [ ] Checklist item 2 - `,after:f` + `,after:d` Checklist item 1 - [ ] Checklist item 2 - `,options:{lineContent:"- [ ] "}})]}get optionBuilders(){return[]}};on=A([k.register],on);var fo=class{};A([k.noSettingControl()],fo.prototype,"lineContent",2);var sn=class extends k{get OptionsClass(){return fo}get name(){return"Prevent Double List Item Indicator on Paste"}get description(){return"Removes starting list indicator from the text to paste if the line the cursor is on in the file has a list indicator"}get type(){return"Paste"}apply(t,n){let i=new RegExp(`^${_n}[*+-] `),r=/^\s*[*+-] /,o=i.test(n.lineContent),s=r.test(t);return!o||!s?t:t.replace(r,"")}get exampleBuilders(){return[new v({description:"Line being pasted is left alone when current line has no list indicator in it: `Regular text here`",before:f` + `,options:{lineContent:"- [ ] "}})]}get optionBuilders(){return[]}};sn=O([S.register],sn);var Ao=class{};O([S.noSettingControl()],Ao.prototype,"lineContent",2);var an=class extends S{get OptionsClass(){return Ao}get name(){return"Prevent Double List Item Indicator on Paste"}get description(){return"Removes starting list indicator from the text to paste if the line the cursor is on in the file has a list indicator"}get type(){return"Paste"}apply(t,n){let i=new RegExp(`^${_n}[*+-] `),r=/^\s*[*+-] /,o=i.test(n.lineContent),s=r.test(t);return!o||!s?t:t.replace(r,"")}get exampleBuilders(){return[new x({description:"Line being pasted is left alone when current line has no list indicator in it: `Regular text here`",before:d` - List item being pasted - `,after:f` + `,after:d` - List item being pasted - `,options:{lineContent:"Regular text here"}}),new v({description:"Line being pasted into a blockquote without a list indicator is left alone when it lacks a list indicator: `> > `",before:f` + `,options:{lineContent:"Regular text here"}}),new x({description:"Line being pasted into a blockquote without a list indicator is left alone when it lacks a list indicator: `> > `",before:d` * List item contents here More content here - `,after:f` + `,after:d` * List item contents here More content here - `,options:{lineContent:"> > "}}),new v({description:"Line being pasted into a blockquote with a list indicator is has its list indicator removed when current line is: `> * `",before:f` + `,options:{lineContent:"> > "}}),new x({description:"Line being pasted into a blockquote with a list indicator is has its list indicator removed when current line is: `> * `",before:d` + List item contents here More content here - `,after:f` + `,after:d` List item contents here More content here - `,options:{lineContent:"> * "}}),new v({description:"Line being pasted with a list indicator is has its list indicator removed when current line is: `+ `",before:f` + `,options:{lineContent:"> * "}}),new x({description:"Line being pasted with a list indicator is has its list indicator removed when current line is: `+ `",before:d` - List item 1 - List item 2 - `,after:f` + `,after:d` List item 1 - List item 2 - `,options:{lineContent:"+ "}})]}get optionBuilders(){return[]}};sn=A([k.register],sn);var Ps=class{},an=class extends k{get OptionsClass(){return Ps}get name(){return"Proper Ellipsis on Paste"}get description(){return"Replaces three consecutive dots with an ellipsis even if they have a space between them in the text to paste"}get type(){return"Paste"}apply(t,n){return t.replaceAll(Er,"\u2026")}get exampleBuilders(){return[new v({description:"Replacing three consecutive dots with an ellipsis even if spaces are present",before:f` + `,options:{lineContent:"+ "}})]}get optionBuilders(){return[]}};an=O([S.register],an);var Xs=class{},ln=class extends S{get OptionsClass(){return Xs}get name(){return"Proper Ellipsis on Paste"}get description(){return"Replaces three consecutive dots with an ellipsis even if they have a space between them in the text to paste"}get type(){return"Paste"}apply(t,n){return t.replaceAll($r,"\u2026")}get exampleBuilders(){return[new x({description:"Replacing three consecutive dots with an ellipsis even if spaces are present",before:d` Lorem (...) Impsum. Lorem (. ..) Impsum. Lorem (. . .) Impsum. - `,after:f` + `,after:d` Lorem (…) Impsum. Lorem (…) Impsum. Lorem (…) Impsum. - `})]}get optionBuilders(){return[]}};an=A([k.register],an);var Ns=class{},Ki=class extends k{get OptionsClass(){return Ns}get name(){return"Proper Ellipsis"}get description(){return"Replaces three consecutive dots with an ellipsis."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>i.replaceAll(Er,"\u2026"))}get exampleBuilders(){return[new v({description:"Replacing three consecutive dots with an ellipsis.",before:f` + `})]}get optionBuilders(){return[]}};ln=O([S.register],ln);var Js=class{},Gi=class extends S{get OptionsClass(){return Js}get name(){return"Proper Ellipsis"}get description(){return"Replaces three consecutive dots with an ellipsis."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>i.replaceAll($r,"\u2026"))}get exampleBuilders(){return[new x({description:"Replacing three consecutive dots with an ellipsis.",before:d` Lorem (...) Impsum. - `,after:f` + `,after:d` Lorem (…) Impsum. - `})]}get optionBuilders(){return[]}};Ki=A([k.register],Ki);var Hs=class{},ji=class extends k{get OptionsClass(){return Hs}get name(){return"Re-Index Footnotes"}get description(){return"Re-indexes footnote keys and footnote, based on the order of occurrence (NOTE: This rule deliberately does *not* preserve the relation between key and footnote, to be able to re-index duplicate keys.)"}get type(){return"Footnote"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>{let r=0;return i=i.replace(/^\[\^\w+\]: /gm,function(){return r++,"[^"+String(r)+"]: "}),r=0,i=i.replace(/(?!^)\[\^\w+\]/gm,function(){return r++,"[^"+String(r)+"]"}),i})}get exampleBuilders(){return[new v({description:"Re-indexing footnotes after having deleted previous footnotes",before:f` + `})]}get optionBuilders(){return[]}};Gi=O([S.register],Gi);var ea=class{},Zi=class extends S{get OptionsClass(){return ea}get name(){return"Re-Index Footnotes"}get description(){return"Re-indexes footnote keys and footnote, based on the order of occurrence (NOTE: This rule deliberately does *not* preserve the relation between key and footnote, to be able to re-index duplicate keys.)"}get type(){return"Footnote"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>{let r=0;return i=i.replace(/^\[\^\w+\]: /gm,function(){return r++,"[^"+String(r)+"]: "}),r=0,i=i.replace(/(?!^)\[\^\w+\]/gm,function(){return r++,"[^"+String(r)+"]"}),i})}get exampleBuilders(){return[new x({description:"Re-indexing footnotes after having deleted previous footnotes",before:d` Lorem ipsum at aliquet felis.[^3] Donec dictum turpis quis pellentesque,[^5] et iaculis tortor condimentum. ${""} [^3]: first footnote [^5]: second footnote - `,after:f` + `,after:d` Lorem ipsum at aliquet felis.[^1] Donec dictum turpis quis pellentesque,[^2] et iaculis tortor condimentum. ${""} [^1]: first footnote [^2]: second footnote - `}),new v({description:"Re-indexing footnotes after inserting a footnote between",before:f` + `}),new x({description:"Re-indexing footnotes after inserting a footnote between",before:d` Lorem ipsum dolor sit amet, consectetur adipiscing elit.[^1] Aenean at aliquet felis. Donec dictum turpis quis ipsum pellentesque, et iaculis tortor condimentum.[^1a] Vestibulum nec blandit felis, vulputate finibus purus.[^2] Praesent quis iaculis diam. ${""} [^1]: first footnote [^1a]: third footnote, inserted later [^2]: second footnotes - `,after:f` + `,after:d` Lorem ipsum dolor sit amet, consectetur adipiscing elit.[^1] Aenean at aliquet felis. Donec dictum turpis quis ipsum pellentesque, et iaculis tortor condimentum.[^2] Vestibulum nec blandit felis, vulputate finibus purus.[^3] Praesent quis iaculis diam. ${""} [^1]: first footnote [^2]: third footnote, inserted later [^3]: second footnotes - `}),new v({description:"Re-indexing duplicate footnote keys",before:f` + `}),new x({description:"Re-indexing duplicate footnote keys",before:d` Lorem ipsum at aliquet felis.[^1] Donec dictum turpis quis pellentesque,[^1] et iaculis tortor condimentum. ${""} [^1]: first footnote [^1]: second footnote - `,after:f` + `,after:d` Lorem ipsum at aliquet felis.[^1] Donec dictum turpis quis pellentesque,[^2] et iaculis tortor condimentum. ${""} [^1]: first footnote [^2]: second footnote - `})]}get optionBuilders(){return[]}};ji=A([k.register],ji);var Ys=class{},Vi=class extends k{get OptionsClass(){return Ys}get name(){return"Remove Consecutive List Markers"}get description(){return"Removes consecutive list markers. Useful when copy-pasting list items."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>i.replace(/^([ |\t]*)- - \b/gm,"$1- "))}get exampleBuilders(){return[new v({description:"Removing consecutive list markers.",before:f` + `})]}get optionBuilders(){return[]}};Zi=O([S.register],Zi);var ta=class{},Qi=class extends S{get OptionsClass(){return ta}get name(){return"Remove Consecutive List Markers"}get description(){return"Removes consecutive list markers. Useful when copy-pasting list items."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>i.replace(/^([ |\t]*)- - \b/gm,"$1- "))}get exampleBuilders(){return[new x({description:"Removing consecutive list markers.",before:d` - item 1 - - copypasted item A - item 2 - indented item - - copypasted item B - `,after:f` + `,after:d` - item 1 - copypasted item A - item 2 - indented item - copypasted item B - `})]}get optionBuilders(){return[]}};Vi=A([k.register],Vi);var ln=class extends k{get OptionsClass(){return ln}get name(){return"Remove Empty Lines Between List Markers and Checklists"}get description(){return"There should not be any empty lines between list markers and checklists."}get type(){return"Spacing"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag,S.thematicBreak],t,i=>{let r=function(p,m,c){let d=new RegExp(`^${m} -{2,}${m}$`,"gm"),h,g=p;do h=g.match(d),g=g.replaceAll(d,c);while(h);return g};return i=r(i,"(( |\\t)*- \\[( |x)\\]( |\\t)+.+)",`$1 + `})]}get optionBuilders(){return[]}};Qi=O([S.register],Qi);var un=class extends S{get OptionsClass(){return un}get name(){return"Remove Empty Lines Between List Markers and Checklists"}get description(){return"There should not be any empty lines between list markers and checklists."}get type(){return"Spacing"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag,k.thematicBreak],t,i=>{let r=function(u,m,c){let f=new RegExp(`^${m} +{2,}${m}$`,"gm"),h,g=u;do h=g.match(f),g=g.replaceAll(f,c);while(h);return g};return i=r(i,"(( |\\t)*- \\[( |x)\\]( |\\t)+.+)",`$1 $5`),i=r(i,"(( |\\t)*\\d+\\.( |\\t)+.+)",`$1 $4`),i=r(i,"(( |\\t)*\\+( |\\t)+.+)",`$1 $4`),i=r(i,"(( |\\t)*-(?! \\[( |x)\\])( |\\t)+.+)",`$1 $5`),r(i,"(( |\\t)*\\*( |\\t)+.+)",`$1 -$4`)})}get exampleBuilders(){return[new v({description:"",before:f` +$4`)})}get exampleBuilders(){return[new x({description:"",before:d` 1. Item 1 ${""} 2. Item 2 @@ -1314,7 +1366,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` \t* Subitem 1 ${""} * Item 2 - `,after:f` + `,after:d` 1. Item 1 2. Item 2 ${""} @@ -1333,7 +1385,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` * Item 1 \t* Subitem 1 * Item 2 - `})]}get optionBuilders(){return[]}};ln=A([k.register],ln);var zs=class{},Wi=class extends k{get OptionsClass(){return zs}get name(){return"Remove Empty List Markers"}get description(){return"Removes empty list markers, i.e. list items without content."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>{let r=new RegExp(`^${_n}(-|\\*|\\+|\\d+[.)]|- (\\[( |x)\\]))\\s*?$`,"gm");return i=i.replace(new RegExp(r.source+"\\n","gm"),""),i=i.replace(new RegExp("\\n"+r.source,"gm"),""),i.replace(r,"")})}get exampleBuilders(){return[new v({description:"Removes empty list markers.",before:f` + `})]}get optionBuilders(){return[]}};un=O([S.register],un);var na=class{},Xi=class extends S{get OptionsClass(){return na}get name(){return"Remove Empty List Markers"}get description(){return"Removes empty list markers, i.e. list items without content."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>{let r=new RegExp(`^${_n}(-|\\*|\\+|\\d+[.)]|- (\\[( |x)\\]))\\s*?$`,"gm");return i=i.replace(new RegExp(r.source+"\\n","gm"),""),i=i.replace(new RegExp("\\n"+r.source,"gm"),""),i.replace(r,"")})}get exampleBuilders(){return[new x({description:"Removes empty list markers.",before:d` - item 1 - - item 2 @@ -1345,7 +1397,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` + list 3 item 1 + + list 3 item 2 - `,after:f` + `,after:d` - item 1 - item 2 ${""} @@ -1354,7 +1406,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` ${""} + list 3 item 1 + list 3 item 2 - `}),new v({description:"Removes empty ordered list markers.",before:f` + `}),new x({description:"Removes empty ordered list markers.",before:d` 1. item 1 2. 3. item 2 @@ -1364,7 +1416,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` 3. ${""} ${""} _Note that this rule does not make sure that the ordered list is sequential after removal_ - `,after:f` + `,after:d` 1. item 1 3. item 2 ${""} @@ -1372,19 +1424,19 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` 2. list 2 item 2 ${""} _Note that this rule does not make sure that the ordered list is sequential after removal_ - `}),new v({description:"Removes empty checklist markers.",before:f` + `}),new x({description:"Removes empty checklist markers.",before:d` - [ ] item 1 - [x] - [ ] item 2 - [ ] ${""} ${""} _Note that this will affect checked and uncheck checked list items_ - `,after:f` + `,after:d` - [ ] item 1 - [ ] item 2 ${""} _Note that this will affect checked and uncheck checked list items_ - `}),new v({description:"Removes empty list, checklist, and ordered list markers in callouts/blockquotes",before:f` + `}),new x({description:"Removes empty list, checklist, and ordered list markers in callouts/blockquotes",before:d` > Checklist in blockquote > - [ ] item 1 > - [x] @@ -1414,7 +1466,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` > + item 1 > + > + item 2 - `,after:f` + `,after:d` > Checklist in blockquote > - [ ] item 1 > - [ ] item 2 @@ -1437,36 +1489,36 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` > > + item 1 > + item 2 - `})]}get optionBuilders(){return[]}};Wi=A([k.register],Wi);var qs=class{},Ui=class extends k{get OptionsClass(){return qs}get name(){return"Remove Hyphenated Line Breaks"}get description(){return"Removes hyphenated line breaks. Useful when pasting text from textbooks."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>i.replace(/\b[-‐] \b/g,""))}get exampleBuilders(){return[new v({description:"Removing hyphenated line breaks.",before:f` + `})]}get optionBuilders(){return[]}};Xi=O([S.register],Xi);var ia=class{},Ji=class extends S{get OptionsClass(){return ia}get name(){return"Remove Hyphenated Line Breaks"}get description(){return"Removes hyphenated line breaks. Useful when pasting text from textbooks."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>i.replace(/\b[-‐] \b/g,""))}get exampleBuilders(){return[new x({description:"Removing hyphenated line breaks.",before:d` This text has a linebr‐ eak. - `,after:f` + `,after:d` This text has a linebreak. - `})]}get optionBuilders(){return[]}};Ui=A([k.register],Ui);var Ks=class{},un=class extends k{get OptionsClass(){return Ks}get name(){return"Remove Hyphens on Paste"}get description(){return"Removes hyphens from the text to paste"}get type(){return"Paste"}apply(t,n){return t.replace(/(\S)[-‐]\s+\n?(?=\w)/g,"$1")}get exampleBuilders(){return[new v({description:"Remove hyphen in content to paste",before:f` + `})]}get optionBuilders(){return[]}};Ji=O([S.register],Ji);var ra=class{},pn=class extends S{get OptionsClass(){return ra}get name(){return"Remove Hyphens on Paste"}get description(){return"Removes hyphens from the text to paste"}get type(){return"Paste"}apply(t,n){return t.replace(/(\S)[-‐]\s+\n?(?=\w)/g,"$1")}get exampleBuilders(){return[new x({description:"Remove hyphen in content to paste",before:d` Text that was cool but hyper- tension made it uncool. - `,after:f` + `,after:d` Text that was cool but hypertension made it uncool. - `})]}get optionBuilders(){return[]}};un=A([k.register],un);var js=class{},pn=class extends k{get OptionsClass(){return js}get name(){return"Remove Leading or Trailing Whitespace on Paste"}get description(){return"Removes any leading non-tab whitespace and all trailing whitespace for the text to paste"}get type(){return"Paste"}apply(t,n){return t.replace(/^[\n ]+|\s+$/g,"")}get exampleBuilders(){return[new v({description:"Removes leading spaces and newline characters",before:f` + `})]}get optionBuilders(){return[]}};pn=O([S.register],pn);var oa=class{},cn=class extends S{get OptionsClass(){return oa}get name(){return"Remove Leading or Trailing Whitespace on Paste"}get description(){return"Removes any leading non-tab whitespace and all trailing whitespace for the text to paste"}get type(){return"Paste"}apply(t,n){return t.replace(/^[\n ]+|\s+$/g,"")}get exampleBuilders(){return[new x({description:"Removes leading spaces and newline characters",before:d` ${""} ${""} This text was really indented ${""} - `,after:f` + `,after:d` This text was really indented - `}),new v({description:"Leaves leading tabs alone",before:f` + `}),new x({description:"Leaves leading tabs alone",before:d` ${""} ${""} \t\tThis text is really indented ${""} - `,after:" This text is really indented"})]}get optionBuilders(){return[]}};pn=A([k.register],pn);var Vs=class{},cn=class extends k{get OptionsClass(){return Vs}get name(){return"Remove Leftover Footnotes from Quote on Paste"}get description(){return"Removes any leftover footnote references for the text to paste"}get type(){return"Paste"}apply(t,n){return t.replace(/(\D)[.,]\d+/g,"$1")}get exampleBuilders(){return[new v({description:"Footnote reference removed",before:f` + `,after:" This text is really indented"})]}get optionBuilders(){return[]}};cn=O([S.register],cn);var sa=class{},mn=class extends S{get OptionsClass(){return sa}get name(){return"Remove Leftover Footnotes from Quote on Paste"}get description(){return"Removes any leftover footnote references for the text to paste"}get type(){return"Paste"}apply(t,n){return t.replace(/(\D)[.,]\d+/g,"$1")}get exampleBuilders(){return[new x({description:"Footnote reference removed",before:d` He was sure that he would get off without doing any time, but the cops had other plans.50 ${""} _Note that the format for footnote references to move is a dot or comma followed by any number of digits_ - `,after:f` + `,after:d` He was sure that he would get off without doing any time, but the cops had other plans ${""} _Note that the format for footnote references to move is a dot or comma followed by any number of digits_ - `})]}get optionBuilders(){return[]}};cn=A([k.register],cn);var Ws=class{},Gi=class extends k{get OptionsClass(){return Ws}get name(){return"Remove link spacing"}get description(){return"Removes spacing around link text."}get type(){return"Spacing"}apply(t,n){return t=mu(t),dl(t)}get exampleBuilders(){return[new v({description:"Space in regular markdown link text",before:f` + `})]}get optionBuilders(){return[]}};mn=O([S.register],mn);var aa=class{},er=class extends S{get OptionsClass(){return aa}get name(){return"Remove link spacing"}get description(){return"Removes spacing around link text."}get type(){return"Spacing"}apply(t,n){return t=Au(t),Cl(t)}get exampleBuilders(){return[new x({description:"Space in regular markdown link text",before:d` [ here is link text1 ](link_here) [ here is link text2](link_here) [here is link text3 ](link_here) @@ -1475,7 +1527,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` [](link_here) **Note that image markdown syntax does not get affected even if it is transclusion:** ![\there is link text6 ](link_here) - `,after:f` + `,after:d` [here is link text1](link_here) [here is link text2](link_here) [here is link text3](link_here) @@ -1484,7 +1536,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` [](link_here) **Note that image markdown syntax does not get affected even if it is transclusion:** ![\there is link text6 ](link_here) - `}),new v({description:"Space in wiki link text",before:f` + `}),new x({description:"Space in wiki link text",before:d` [[link_here| here is link text1 ]] [[link_here|here is link text2 ]] [[link_here| here is link text3]] @@ -1492,7 +1544,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` [[link_here|\there is link text5\t]] ![[link_here|\there is link text6\t]] [[link_here]] - `,after:f` + `,after:d` [[link_here|here is link text1]] [[link_here|here is link text2]] [[link_here|here is link text3]] @@ -1500,32 +1552,32 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` [[link_here|here is link text5]] ![[link_here|here is link text6]] [[link_here]] - `})]}get optionBuilders(){return[]}};Gi=A([k.register],Gi);var Us=class{},mn=class extends k{get OptionsClass(){return Us}get name(){return"Remove Multiple Blank Lines on Paste"}get description(){return"Condenses multiple blank lines down into one blank line for the text to paste"}get type(){return"Paste"}apply(t,n){return t.replace(/\n{3,}/g,` + `})]}get optionBuilders(){return[]}};er=O([S.register],er);var la=class{},dn=class extends S{get OptionsClass(){return la}get name(){return"Remove Multiple Blank Lines on Paste"}get description(){return"Condenses multiple blank lines down into one blank line for the text to paste"}get type(){return"Paste"}apply(t,n){return t.replace(/\n{3,}/g,` -`)}get exampleBuilders(){return[new v({description:"Multiple blanks lines condensed down to one",before:f` +`)}get exampleBuilders(){return[new x({description:"Multiple blanks lines condensed down to one",before:d` Here is the first line. ${""} ${""} ${""} ${""} Here is some more text. - `,after:f` + `,after:d` Here is the first line. ${""} Here is some more text. - `}),new v({description:"Text with only one blank line in a row is left alone",before:f` + `}),new x({description:"Text with only one blank line in a row is left alone",before:d` First line. ${""} Last line. - `,after:f` + `,after:d` First line. ${""} Last line. - `})]}get optionBuilders(){return[]}};mn=A([k.register],mn);var Gs=class{},Zi=class extends k{get OptionsClass(){return Gs}get name(){return"Remove Multiple Spaces"}get description(){return"Removes two or more consecutive spaces. Ignores spaces at the beginning and ending of the line. "}get type(){return"Content"}apply(t,n){return D([S.table,S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>i.replace(/(?!^>)([^\s])( ){2,}([^\s])/gm,"$1 $3"))}get exampleBuilders(){return[new v({description:"Removing double and triple space.",before:f` + `})]}get optionBuilders(){return[]}};dn=O([S.register],dn);var ua=class{},tr=class extends S{get OptionsClass(){return ua}get name(){return"Remove Multiple Spaces"}get description(){return"Removes two or more consecutive spaces. Ignores spaces at the beginning and ending of the line. "}get type(){return"Content"}apply(t,n){return $([k.table,k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>i.replace(/(?!^>)([^\s])( ){2,}([^\s])/gm,"$1 $3"))}get exampleBuilders(){return[new x({description:"Removing double and triple space.",before:d` Lorem ipsum dolor sit amet. - `,after:f` + `,after:d` Lorem ipsum dolor sit amet. - `})]}get optionBuilders(){return[]}};Zi=A([k.register],Zi);var Zs=class{},Qi=class extends k{get OptionsClass(){return Zs}get name(){return"Remove Space around Fullwidth Characters"}get description(){return"Ensures that fullwidth characters are not followed by whitespace (either single spaces or a tab). Note that this may causes issues with markdown format in some cases."}get type(){return"Spacing"}apply(t,n){let i=/([ \t])+([\u2013\u2014\u2026\u3001\u3002\u300a\u300d-\u300f\u3014\u3015\u3008-\u3011\uff00-\uffff])/g,r=/([\u2013\u2014\u2026\u3001\u3002\u300a\u300d-\u300f\u3014\u3015\u3008-\u3011\uff00-\uffff])([ \t])+/g,o=function(a){return a.replace(i,"$2").replace(r,"$1")},s=D([S.code,S.yaml,S.link,S.wikiLink,S.tag,S.list],t,o);return s=hu(s,o),s}get exampleBuilders(){return[new v({description:"Remove Spaces and Tabs around Fullwidth Characters",before:f` + `})]}get optionBuilders(){return[]}};tr=O([S.register],tr);var fn=class{constructor(){this.includeFullwidthForms=!0;this.includeCJKSymbolsAndPunctuation=!0;this.includeDashes=!0;this.otherSymbols=""}},nr=class extends S{get OptionsClass(){return fn}get name(){return"Remove Space around Characters"}get description(){return"Ensures that certain characters are not surrounded by whitespace (either single spaces or a tab). Note that this may causes issues with markdown format in some cases."}get type(){return"Spacing"}apply(t,n){let i="";if(n.includeFullwidthForms&&(i+="\uFF01-\uFF5E"),n.includeCJKSymbolsAndPunctuation&&(i+="\u3000-\u30FF"),n.includeDashes&&(i+="\u2013\u2014"),i+=Rr(n.otherSymbols),!i)return t;let r=new RegExp(`([ ])+([${i}])`,"g"),o=new RegExp(`([${i}])([ ])+`,"g"),s=function(l){return l.replace(r,"$2").replace(o,"$1")},a=$([k.code,k.yaml,k.link,k.wikiLink,k.tag,k.list],t,s);return a=Lu(a,s),a}get exampleBuilders(){return[new x({description:"Remove Spaces and Tabs around Fullwidth Characters",before:d` Full list of affected characters: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,.:;!?"'`^~ ̄_&@#%+-*=<>()[]{}⦅⦆|¦/\¬$£¢₩¥。、「」『』〔〕【】—…–《》〈〉 This is a fullwidth period\t 。 with text after it. This is a fullwidth comma\t, with text after it. @@ -1534,7 +1586,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` This is a fullwidth colon : with text after it. This is a fullwidth semicolon ; with text after it. Removes space at start of line - `,after:f` + `,after:d` Full list of affected characters:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,.:;!?"'`^~ ̄_&@#%+-*=<>()[]{}⦅⦆|¦/\¬$£¢₩¥。、「」『』〔〕【】—…–《》〈〉 This is a fullwidth period。with text after it. This is a fullwidth comma,with text after it. @@ -1543,7 +1595,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` This is a fullwidth colon:with text after it. This is a fullwidth semicolon;with text after it. Removes space at start of line - `}),new v({description:"Fullwidth Characters in List Do not Affect List Markdown Syntax",before:f` + `}),new x({description:"Fullwidth Characters in List Do not Affect List Markdown Syntax",before:d` # List indicators should not have the space after them removed if they are followed by a fullwidth character ${""} - [ contents here] @@ -1565,7 +1617,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` > > - \t[ more contents here] more text here > > + \t[ another item here] > > * [ one last item here] - `,after:f` + `,after:d` # List indicators should not have the space after them removed if they are followed by a fullwidth character ${""} - [contents here] @@ -1587,7 +1639,19 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` > > - [more contents here]more text here > > + [another item here] > > * [one last item here] - `})]}get optionBuilders(){return[]}};Qi=A([k.register],Qi);var ho=class{constructor(){this.yamlKeysToRemove=[]}},Xi=class extends k{get OptionsClass(){return ho}get name(){return"Remove YAML Keys"}get description(){return"Removes the YAML keys specified"}get type(){return"YAML"}apply(t,n){let i=n.yamlKeysToRemove,r=t.match(ke);if(!r||i.length===0)return t;let o=r[1];for(let s of i){let a=s.trim();a.endsWith(":")&&(a=a.substring(0,a.length-1)),o=Wt(o,a)}return t.replace(r[1],o)}get exampleBuilders(){return[new v({description:'Removes the values specified in `YAML Keys to Remove` = "status:\nkeywords\ndate"',before:f` + `})]}get optionBuilders(){return[new U({name:"Include Fullwidth Forms",description:'Include Fullwidth Forms Unicode block',OptionsClass:fn,optionsKey:"includeFullwidthForms"}),new U({name:"Include CJK Symbols and Punctuation",description:'Include CJK Symbols and Punctuation Unicode block',OptionsClass:fn,optionsKey:"includeCJKSymbolsAndPunctuation"}),new U({name:"Include Dashes",description:"Include en dash (\u2013) and em dash (\u2014)",OptionsClass:fn,optionsKey:"includeDashes"}),new at({name:"Other symbols",description:"Other symbols to include",OptionsClass:fn,optionsKey:"otherSymbols"})]}};nr=O([S.register],nr);var Co=class{constructor(){this.punctuationToRemove=".,;:!\u3002\uFF0C\uFF1B\uFF1A\uFF01"}},ir=class extends S{get OptionsClass(){return Co}get name(){return"Remove Trailing Punctuation in Heading"}get description(){return"Removes the specified punctuation from the end of headings making sure to ignore the semicolon at the end of [HTML entity references](https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references)."}get type(){return"Heading"}apply(t,n){return $([k.code,k.yaml],t,i=>i.replaceAll(Rt,(r,o="",s="",a="",l="",p="")=>{if(l==""||l.match(/&[^\s]+;$/mi))return r;let u=l.charAt(l.length-1);return n.punctuationToRemove.includes(u)?o+s+a+l.substring(0,l.length-1)+p:r}))}get exampleBuilders(){return[new x({description:"Removes punctuation from the end of a heading",before:d` + # Heading ends in a period. + ## Other heading ends in an exclamation mark! ## + `,after:d` + # Heading ends in a period + ## Other heading ends in an exclamation mark ## + `}),new x({description:"HTML Entities at the end of a heading is ignored",before:d` + # Heading 1 + ## Heading & + `,after:d` + # Heading 1 + ## Heading & + `})]}get optionBuilders(){return[new at({OptionsClass:Co,name:"Trailing Punctuation",description:"The trailing punctuation to remove from the headings in the file.",optionsKey:"punctuationToRemove"})]}};ir=O([S.register],ir);var Eo=class{constructor(){this.yamlKeysToRemove=[]}},rr=class extends S{get OptionsClass(){return Eo}get name(){return"Remove YAML Keys"}get description(){return"Removes the YAML keys specified"}get type(){return"YAML"}apply(t,n){let i=n.yamlKeysToRemove,r=t.match(ke);if(!r||i.length===0)return t;let o=r[1];for(let s of i){let a=s.trim();a.endsWith(":")&&(a=a.substring(0,a.length-1)),o=Gt(o,a)}return t.replace(r[1],o)}get exampleBuilders(){return[new x({description:'Removes the values specified in `YAML Keys to Remove` = "status:\nkeywords\ndate"',before:d` --- language: Typescript type: programming @@ -1602,7 +1666,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` # Header Context ${""} Text - `,after:f` + `,after:d` --- language: Typescript type: programming @@ -1612,37 +1676,37 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` # Header Context ${""} Text - `,options:{yamlKeysToRemove:["status:","keywords","date"]}})]}get optionBuilders(){return[new Ae({OptionsClass:ho,name:"YAML Keys to Remove",description:"The yaml keys to remove from the yaml frontmatter with or without colons",optionsKey:"yamlKeysToRemove"})]}};Xi=A([k.register],Xi);var Qs=class{},Ji=class extends k{get OptionsClass(){return Qs}get name(){return"Space after list markers"}get description(){return"There should be a single space after list markers and checkboxes."}get type(){return"Spacing"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>(i=i.replace(/^(\s*\d+\.|\s*[-+*])[^\S\r\n]+/gm,"$1 "),i.replace(/^(\s*\d+\.|\s*[-+*]\s+\[[ xX]\])[^\S\r\n]+/gm,"$1 ")))}get exampleBuilders(){return[new v({description:"",before:f` + `,options:{yamlKeysToRemove:["status:","keywords","date"]}})]}get optionBuilders(){return[new Ae({OptionsClass:Eo,name:"YAML Keys to Remove",description:"The yaml keys to remove from the yaml frontmatter with or without colons",optionsKey:"yamlKeysToRemove"})]}};rr=O([S.register],rr);var pa=class{},or=class extends S{get OptionsClass(){return pa}get name(){return"Space after list markers"}get description(){return"There should be a single space after list markers and checkboxes."}get type(){return"Spacing"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>(i=i.replace(/^(\s*\d+\.|\s*[-+*])[^\S\r\n]+/gm,"$1 "),i.replace(/^(\s*\d+\.|\s*[-+*]\s+\[[ xX]\])[^\S\r\n]+/gm,"$1 ")))}get exampleBuilders(){return[new x({description:"",before:d` 1. Item 1 2. Item 2 ${""} - [ ] Item 1 - [x] Item 2 \t- [ ] Item 3 - `,after:f` + `,after:d` 1. Item 1 2. Item 2 ${""} - [ ] Item 1 - [x] Item 2 \t- [ ] Item 3 - `})]}get optionBuilders(){return[]}};Ji=A([k.register],Ji);var Xs=class{},er=class extends k{get OptionsClass(){return Xs}get name(){return"Space between Chinese and English or numbers"}get description(){return"Ensures that Chinese and English or numbers are separated by a single space. Follows these [guidelines](https://github.com/sparanoid/chinese-copywriting-guidelines)"}get type(){return"Spacing"}apply(t,n){let i=/([\u4e00-\u9fa5])( *)(\[[^[]*\]\(.*\)|`[^`]*`|\w+|[-+'"([{¥$]|\*[^*])/gm,r=/(\[[^[]*\]\(.*\)|`[^`]*`|\w+|[-+;:'"°%$)\]}]|[^*]\*)( *)([\u4e00-\u9fa5])/gm,o=function(a){return a.replace(i,"$1 $3").replace(r,"$1 $3")},s=D([S.code,S.inlineCode,S.yaml,S.image,S.link,S.wikiLink,S.tag,S.italics,S.bold,S.math,S.inlineMath],t,o);return s=du(s,o),s=fu(s,o),s}get exampleBuilders(){return[new v({description:"Space between Chinese and English",before:f` + `})]}get optionBuilders(){return[]}};or=O([S.register],or);var ca=class{},sr=class extends S{get OptionsClass(){return ca}get name(){return"Space between Chinese Japanese or Korean and English or numbers"}get description(){return"Ensures that Chinese, Japanese, or Korean and English or numbers are separated by a single space. Follows these [guidelines](https://github.com/sparanoid/chinese-copywriting-guidelines)"}get type(){return"Spacing"}apply(t,n){let i=/(\p{sc=Han}|\p{sc=Katakana}|\p{sc=Hiragana}|\p{sc=Hangul})( *)(\[[^[]*\]\(.*\)|`[^`]*`|\w+|[-+'"([{¥$]|\*[^*])/gmu,r=/(\[[^[]*\]\(.*\)|`[^`]*`|\w+|[-+;:'"°%$)\]}]|[^*]\*)( *)(\p{sc=Han}|\p{sc=Katakana}|\p{sc=Hiragana}|\p{sc=Hangul})/gmu,o=function(a){return a.replace(i,"$1 $3").replace(r,"$1 $3")},s=$([k.code,k.inlineCode,k.yaml,k.image,k.link,k.wikiLink,k.tag,k.italics,k.bold,k.math,k.inlineMath],t,o);return s=Cu(s,o),s=Eu(s,o),s}get exampleBuilders(){return[new x({description:"Space between Chinese and English",before:d` 中文字符串english中文字符串。 - `,after:f` + `,after:d` 中文字符串 english 中文字符串。 - `}),new v({description:"Space between Chinese and link",before:f` + `}),new x({description:"Space between Chinese and link",before:d` 中文字符串[english](http://example.com)中文字符串。 - `,after:f` + `,after:d` 中文字符串 [english](http://example.com) 中文字符串。 - `}),new v({description:"Space between Chinese and inline code block",before:f` + `}),new x({description:"Space between Chinese and inline code block",before:d` 中文字符串\`code\`中文字符串。 - `,after:f` + `,after:d` 中文字符串 \`code\` 中文字符串。 - `}),new v({description:"No space between Chinese and English in tag",before:f` + `}),new x({description:"No space between Chinese and English in tag",before:d` #标签A #标签2标签 - `,after:f` + `,after:d` #标签A #标签2标签 - `}),new v({description:"Make sure that spaces are not added between italics and chinese characters to preserve markdown syntax",before:f` + `}),new x({description:"Make sure that spaces are not added between italics and chinese characters to preserve markdown syntax",before:d` _这是一个数学公式_ *这是一个数学公式english* ${""} @@ -1650,7 +1714,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` ${""} **_这是一_个数学公式** *这是一hello__个数学world公式__* - `,after:f` + `,after:d` _这是一个数学公式_ *这是一个数学公式 english* ${""} @@ -1658,17 +1722,27 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` ${""} **_ 这是一 _ 个数学公式** *这是一 hello__ 个数学 world 公式 __* - `}),new v({description:"Images and links are ignored",before:f` + `}),new x({description:"Images and links are ignored",before:d` [[这是一个数学公式english]] ![[这是一个数学公式english.jpg]] [这是一个数学公式english](这是一个数学公式english.md) ![这是一个数学公式english](这是一个数学公式english.jpg) - `,after:f` + `,after:d` [[这是一个数学公式english]] ![[这是一个数学公式english.jpg]] [这是一个数学公式english](这是一个数学公式english.md) ![这是一个数学公式english](这是一个数学公式english.jpg) - `})]}get optionBuilders(){return[]}};er=A([k.register],er);var go=class{constructor(){this.style="consistent"}},tr=class extends k{get OptionsClass(){return go}get name(){return"Strong Style"}get description(){return"Makes sure the strong style is consistent."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag,S.math,S.inlineMath],t,i=>io(i,n.style,"strong"))}get exampleBuilders(){return[new v({description:"Strong indicators should use underscores when style is set to 'underscore'",before:f` + `}),new x({description:"Space between CJK and English",before:d` + 日本語englishひらがな + カタカナenglishカタカナ + ハンカクカタカナenglish123全角数字 + 한글english한글 + `,after:d` + 日本語 english ひらがな + カタカナ english カタカナ + ハンカクカタカナ english123全角数字 + 한글 english 한글 + `})]}get optionBuilders(){return[]}};sr=O([S.register],sr);var Lo=class{constructor(){this.style="consistent"}},ar=class extends S{get OptionsClass(){return Lo}get name(){return"Strong Style"}get description(){return"Makes sure the strong style is consistent."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag,k.math,k.inlineMath],t,i=>ho(i,n.style,"strong"))}get exampleBuilders(){return[new x({description:"Strong indicators should use underscores when style is set to 'underscore'",before:d` # Strong/Bold Cases ${""} **Test bold** @@ -1683,7 +1757,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` ${""} * List Item1 with **bold text** * List Item2 - `,after:f` + `,after:d` # Strong/Bold Cases ${""} __Test bold__ @@ -1698,7 +1772,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` ${""} * List Item1 with __bold text__ * List Item2 - `,options:{style:"underscore"}}),new v({description:"Strong indicators should use asterisks when style is set to 'asterisk'",before:f` + `,options:{style:"underscore"}}),new x({description:"Strong indicators should use asterisks when style is set to 'asterisk'",before:d` # Strong/Bold Cases ${""} __Test bold__ @@ -1710,7 +1784,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` This is ___nested emphasis_ and ending bold__ ${""} _Test emphasis_ - `,after:f` + `,after:d` # Strong/Bold Cases ${""} **Test bold** @@ -1722,7 +1796,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` This is **_nested emphasis_ and ending bold** ${""} _Test emphasis_ - `,options:{style:"asterisk"}}),new v({description:"Strong indicators should use consistent style based on first strong indicator in a file when style is set to 'consistent'",before:f` + `,options:{style:"asterisk"}}),new x({description:"Strong indicators should use consistent style based on first strong indicator in a file when style is set to 'consistent'",before:d` # Strong First Strong Is an Asterisk ${""} **First bold** @@ -1733,7 +1807,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` This is **_nested emphasis_ and ending bold** ${""} __Test bold__ - `,after:f` + `,after:d` # Strong First Strong Is an Asterisk ${""} **First bold** @@ -1744,7 +1818,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` This is **_nested emphasis_ and ending bold** ${""} **Test bold** - `,options:{style:"consistent"}}),new v({description:"Strong indicators should use consistent style based on first strong indicator in a file when style is set to 'consistent'",before:f` + `,options:{style:"consistent"}}),new x({description:"Strong indicators should use consistent style based on first strong indicator in a file when style is set to 'consistent'",before:d` # Strong First Strong Is an Underscore ${""} __First bold__ @@ -1755,7 +1829,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` This is ___nested emphasis_ and ending bold__ ${""} **Test bold** - `,after:f` + `,after:d` # Strong First Strong Is an Underscore ${""} __First bold__ @@ -1766,19 +1840,19 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` This is ___nested emphasis_ and ending bold__ ${""} __Test bold__ - `,options:{style:"consistent"}})]}get optionBuilders(){return[new ye({OptionsClass:go,name:"Style",description:"The style used to denote strong/bolded content",optionsKey:"style",records:[{value:"consistent",description:"Makes sure the first instance of strong is the style that will be used throughout the document"},{value:"asterisk",description:"Makes sure ** is the strong indicator"},{value:"underscore",description:"Makes sure __ is the strong indicator"}]})]}};tr=A([k.register],tr);var yo=class{constructor(){this.twoSpaceLineBreak=!1}},nr=class extends k{get OptionsClass(){return yo}get name(){return"Trailing spaces"}get description(){return"Removes extra spaces after every line."}get type(){return"Spacing"}apply(t,n){return D([S.code,S.yaml,S.link,S.wikiLink,S.tag],t,i=>n.twoSpaceLineBreak?(i=i.replace(/(\S)[ \t]$/gm,"$1"),i=i.replace(/(\S)[ \t]{3,}$/gm,"$1"),i=i.replace(/(\S)( ?\t\t? ?)$/gm,"$1"),i):i.replace(/[ \t]+$/gm,""))}get exampleBuilders(){return[new v({description:"Removes trailing spaces and tabs.",before:f` + `,options:{style:"consistent"}})]}get optionBuilders(){return[new ye({OptionsClass:Lo,name:"Style",description:"The style used to denote strong/bolded content",optionsKey:"style",records:[{value:"consistent",description:"Makes sure the first instance of strong is the style that will be used throughout the document"},{value:"asterisk",description:"Makes sure ** is the strong indicator"},{value:"underscore",description:"Makes sure __ is the strong indicator"}]})]}};ar=O([S.register],ar);var _o=class{constructor(){this.twoSpaceLineBreak=!1}},lr=class extends S{get OptionsClass(){return _o}get name(){return"Trailing spaces"}get description(){return"Removes extra spaces after every line."}get type(){return"Spacing"}apply(t,n){return $([k.code,k.yaml,k.link,k.wikiLink,k.tag],t,i=>n.twoSpaceLineBreak?(i=i.replace(/(\S)[ \t]$/gm,"$1"),i=i.replace(/(\S)[ \t]{3,}$/gm,"$1"),i=i.replace(/(\S)( ?\t\t? ?)$/gm,"$1"),i):i.replace(/[ \t]+$/gm,""))}get exampleBuilders(){return[new x({description:"Removes trailing spaces and tabs.",before:d` # H1 Line with trailing spaces and tabs. ${""} - `,after:f` + `,after:d` # H1 Line with trailing spaces and tabs. - `}),new v({description:"With `Two Space Linebreak = true`",before:f` + `}),new x({description:"With `Two Space Linebreak = true`",before:d` # H1 Line with trailing spaces and tabs. ${""} - `,after:f` + `,after:d` # H1 Line with trailing spaces and tabs. ${""} - `,options:{twoSpaceLineBreak:!0}})]}get optionBuilders(){return[new te({OptionsClass:yo,name:"Two Space Linebreak",description:'Ignore two spaces followed by a line break ("Two Space Rule").',optionsKey:"twoSpaceLineBreak"})]}};nr=A([k.register],nr);var Js=class{},ir=class extends k{get OptionsClass(){return Js}get name(){return"Two Spaces Between Lines with Content"}get description(){return"Makes sure that two spaces are added to the ends of lines with content continued on the next line for paragraphs, blockquotes, and list items"}get type(){return"Content"}apply(t,n){return D([S.obsidianMultiLineComments,S.yaml,S.table],t,pu)}get exampleBuilders(){return[new v({description:"Make sure two spaces are added to the ends of lines that have content on it and the next line for lists, blockquotes, and paragraphs",before:f` + `,options:{twoSpaceLineBreak:!0}})]}get optionBuilders(){return[new U({OptionsClass:_o,name:"Two Space Linebreak",description:'Ignore two spaces followed by a line break ("Two Space Rule").',optionsKey:"twoSpaceLineBreak"})]}};lr=O([S.register],lr);var ma=class{},ur=class extends S{get OptionsClass(){return ma}get name(){return"Two Spaces Between Lines with Content"}get description(){return"Makes sure that two spaces are added to the ends of lines with content continued on the next line for paragraphs, blockquotes, and list items"}get type(){return"Content"}apply(t,n){return $([k.obsidianMultiLineComments,k.yaml,k.table],t,Tu)}get exampleBuilders(){return[new x({description:"Make sure two spaces are added to the ends of lines that have content on it and the next line for lists, blockquotes, and paragraphs",before:d` # Heading 1 First paragraph stays as the first paragraph ${""} @@ -1817,7 +1891,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` Even more content here ${""} - `,after:f` + `,after:d` # Heading 1 First paragraph stays as the first paragraph ${""} @@ -1856,7 +1930,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` Even more content here ${""} - `})]}get optionBuilders(){return[]}};ir=A([k.register],ir);var bo=class{constructor(){this.listStyle="consistent"}},rr=class extends k{get OptionsClass(){return bo}get name(){return"Unordered List Style"}get description(){return"Makes sure that unordered lists follow the style specified."}get type(){return"Content"}apply(t,n){return D([S.code,S.yaml,S.tag],t,i=>xu(i,n.listStyle))}get exampleBuilders(){return[new v({description:"Unordered lists have their indicator updated to `*` when `List item style = 'consistent'` and `*` is the first unordered list indicator",before:f` + `})]}get optionBuilders(){return[]}};ur=O([S.register],ur);var Bo=class{constructor(){this.listStyle="consistent"}},pr=class extends S{get OptionsClass(){return Bo}get name(){return"Unordered List Style"}get description(){return"Makes sure that unordered lists follow the style specified."}get type(){return"Content"}apply(t,n){return $([k.code,k.yaml,k.tag],t,i=>Fu(i,n.listStyle))}get exampleBuilders(){return[new x({description:"Unordered lists have their indicator updated to `*` when `List item style = 'consistent'` and `*` is the first unordered list indicator",before:d` 1. ordered item 1 2. ordered item 2 ${""} @@ -1874,7 +1948,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` * Sublist 3 item 1 * Sublist 3 item 2 ${""} - `,after:f` + `,after:d` 1. ordered item 1 2. ordered item 2 ${""} @@ -1892,7 +1966,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` * Sublist 3 item 1 * Sublist 3 item 2 ${""} - `}),new v({description:"Unordered lists have their indicator updated to `-` when `List item style = '-'`",before:f` + `}),new x({description:"Unordered lists have their indicator updated to `-` when `List item style = '-'`",before:d` - Item 1 * Sublist 1 item 1 * Sublist 1 item 2 @@ -1911,7 +1985,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` * Sub item 2 1. Item 3 + Sub item 3 - `,after:f` + `,after:d` - Item 1 - Sublist 1 item 1 - Sublist 1 item 2 @@ -1930,7 +2004,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` - Sub item 2 1. Item 3 - Sub item 3 - `,options:{listStyle:"-"}}),new v({description:"Unordered lists have their indicator updated to `*` when `List item style = '*'`",before:f` + `,options:{listStyle:"-"}}),new x({description:"Unordered lists have their indicator updated to `*` when `List item style = '*'`",before:d` - Item 1 * Sublist 1 item 1 * Sublist 1 item 2 @@ -1941,7 +2015,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` - Sublist 3 item 1 - Sublist 3 item 2 ${""} - `,after:f` + `,after:d` * Item 1 * Sublist 1 item 1 * Sublist 1 item 2 @@ -1952,24 +2026,24 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:f` * Sublist 3 item 1 * Sublist 3 item 2 ${""} - `,options:{listStyle:"*"}}),new v({description:"Unordered list in blockquote has list item indicators set to `+` when `List item style = '-'`",before:f` + `,options:{listStyle:"*"}}),new x({description:"Unordered list in blockquote has list item indicators set to `+` when `List item style = '-'`",before:d` > - Item 1 > + Item 2 > > * Subitem 1 > > + Subitem 2 > > - Sub sub item 1 > > - Subitem 3 - `,after:f` + `,after:d` > + Item 1 > + Item 2 > > + Subitem 1 > > + Subitem 2 > > + Sub sub item 1 > > + Subitem 3 - `,options:{listStyle:"+"}})]}get optionBuilders(){return[new ye({OptionsClass:bo,name:"List item style",description:"The list item style to use in unordered lists",optionsKey:"listStyle",records:[{value:"consistent",description:"Makes sure unordered list items use a consistent list item indicator in the file which will be based on the first list item found"},{value:"-",description:"Makes sure unordered list items use `-` as their indicator"},{value:"*",description:"Makes sure unordered list items use `*` as their indicator"},{value:"+",description:"Makes sure unordered list items use `+` as their indicator"}]})]}};rr=A([k.register],rr);var St=class{constructor(){this.priorityKeysAtStartOfYaml=!0;this.yamlKeyPrioritySortOrder=[];this.yamlSortOrderForOtherKeys="None"}};A([k.noSettingControl()],St.prototype,"dateModifiedKey",2),A([k.noSettingControl()],St.prototype,"currentTimeFormatted",2),A([k.noSettingControl()],St.prototype,"yamlTimestampDateModifiedEnabled",2);var dn=class extends k{get OptionsClass(){return St}get name(){return"YAML Key Sort"}get description(){return"Sorts the YAML keys based on the order and priority specified. Note: may remove blank lines as well."}get type(){return"YAML"}apply(t,n){let i=t.match(ke);if(!i)return t;let r=i[1],o=n.priorityKeysAtStartOfYaml,s=function(O,E){return O==E?E:Te(E,n.dateModifiedKey," "+n.currentTimeFormatted)},a=function(O,E,I){let T=`${E}${O}`;return I&&(T=`${O}${E}`),n.yamlTimestampDateModifiedEnabled&&(T=s(i[1],T)),t.replace(i[1],T)},l=function(O,E){let I="";for(let T of E){let B=Oe(O,T);B!==null&&(B.includes(` -`)?I+=`${T}:${B} -`:I+=`${T}: ${B} -`,O=Wt(O,T))}return{remainingYaml:O,sortedYamlKeyValues:I}},u=n.yamlKeyPrioritySortOrder,p=l(r,u),m=p.sortedYamlKeyValues;r=p.remainingYaml;let c=n.yamlSortOrderForOtherKeys,d=Je(r);if(d==null)return a(m,r,o);let h=function(O,E){return O=O.toLowerCase(),E=E.toLowerCase(),O>E?-1:E>O?1:0},g=function(O,E){return O=O.toLowerCase(),E=E.toLowerCase(),OL?-1:L>A?1:0},g=function(A,L){return A=A.toLowerCase(),L=L.toLowerCase(),A{let s=` + `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"Descending Alphabetical",priorityKeysAtStartOfYaml:!1}})]}get optionBuilders(){return[new Ae({OptionsClass:Ot,name:"YAML Key Priority Sort Order",description:"The order in which to sort keys with one on each line where it sorts in the order found in the list",optionsKey:"yamlKeyPrioritySortOrder"}),new U({OptionsClass:Ot,name:"Priority Keys at Start of YAML",description:"YAML Key Priority Sort Order is placed at the start of the YAML frontmatter",optionsKey:"priorityKeysAtStartOfYaml"}),new ye({OptionsClass:Ot,name:"YAML Sort Order for Other Keys",description:"The way in which to sort the keys that are not found in the YAML Key Priority Sort Order text area",optionsKey:"yamlSortOrderForOtherKeys",records:[{value:"None",description:"No sorting other than what is in the YAML Key Priority Sort Order text area"},{value:"Ascending Alphabetical",description:"Sorts the keys based on key value from a to z"},{value:"Descending Alphabetical",description:"Sorts the keys based on key value from z to a"}]})]}get hasSpecialExecutionOrder(){return!0}};hn=O([S.register],hn);var At=require("obsidian");var Qe=class{constructor(){this.dateCreatedKey="date created";this.dateCreated=!0;this.format="dddd, MMMM Do YYYY, h:mm:ss a";this.dateModified=!0;this.dateModifiedKey="date modified";this.locale="en"}};O([S.noSettingControl()],Qe.prototype,"alreadyModified",2),O([S.noSettingControl()],Qe.prototype,"fileCreatedTime",2),O([S.noSettingControl()],Qe.prototype,"fileModifiedTime",2),O([S.noSettingControl()],Qe.prototype,"locale",2),O([S.noSettingControl()],Qe.prototype,"currentTime",2);var Ht=class extends S{get OptionsClass(){return Qe}get name(){return"YAML Timestamp"}get description(){return"Keep track of the date the file was last edited in the YAML front matter. Gets dates from file metadata."}get type(){return"YAML"}apply(t,n){let i=n.alreadyModified,r=ht(t);return i=i||r!==t,Se(r,o=>{let s=` ${n.dateCreatedKey}: [^ ]+ `,a=` ${n.dateCreatedKey}:[ ]* -`,l=new RegExp(a),u=new RegExp(s);if(n.dateCreated){let p=(0,Tt.moment)(n.fileCreatedTime);p.locale(n.locale);let m=p.format(n.format),c=` -${n.dateCreatedKey}: ${m}`,d=u.test(o);if(!d&&l.test(o))o=o.replace(l,$e(c)+` -`),i=!0;else if(d){if(d){let h=(0,Tt.moment)(o.match(u)[0].replace(n.dateCreatedKey+":","").trim(),n.format,n.locale,!0);(h==null||!h.isValid())&&(o=o.replace(u,$e(c)+` +`,l=new RegExp(a),p=new RegExp(s);if(n.dateCreated){let u=(0,At.moment)(n.fileCreatedTime);u.locale(n.locale);let m=u.format(n.format),c=` +${n.dateCreatedKey}: ${m}`,f=p.test(o);if(!f&&l.test(o))o=o.replace(l,We(c)+` +`),i=!0;else if(f){if(f){let h=(0,At.moment)(o.match(p)[0].replace(n.dateCreatedKey+":","").trim(),n.format,n.locale,!0);(h==null||!h.isValid())&&(o=o.replace(p,We(c)+` `),i=!0)}}else{let h=o.indexOf(` ----`);o=jt(o,h,` -${n.dateCreatedKey}: ${m}`),i=!0}}if(n.dateModified){let p=` +---`);o=Wt(o,h,` +${n.dateCreatedKey}: ${m}`),i=!0}}if(n.dateModified){let u=` ${n.dateModifiedKey}: [^ ]+ `,m=` ${n.dateModifiedKey}:[ ]* -`,c=new RegExp(m),d=new RegExp(p),h=(0,Tt.moment)(n.fileModifiedTime);h.locale(n.locale);let g=n.currentTime.format(n.format),x=` -${n.dateModifiedKey}: ${g}`,b=d.test(o);if(b){let C=(0,Tt.moment)(o.match(d)[0].replace(n.dateModifiedKey+":","").trim(),n.format,n.locale,!0);(i||C==null||!C.isValid()||Math.abs(C.diff(h,"seconds"))>5)&&(o=o.replace(d,$e(x)+` -`))}else if(c.test(o))o=o.replace(c,$e(x)+` -`);else if(!b){let C=o.indexOf(` ----`);o=jt(o,C,x)}}return o})}get exampleBuilders(){return[new v({description:"Adds a header with the date.",before:f` +`,c=new RegExp(m),f=new RegExp(u),h=(0,At.moment)(n.fileModifiedTime);h.locale(n.locale);let g=n.currentTime.format(n.format),w=` +${n.dateModifiedKey}: ${g}`,y=f.test(o);if(y){let E=(0,At.moment)(o.match(f)[0].replace(n.dateModifiedKey+":","").trim(),n.format,n.locale,!0);(i||E==null||!E.isValid()||Math.abs(E.diff(h,"seconds"))>5)&&(o=o.replace(f,We(w)+` +`))}else if(c.test(o))o=o.replace(c,We(w)+` +`);else if(!y){let E=o.indexOf(` +---`);o=Wt(o,E,w)}}return o})}get exampleBuilders(){return[new x({description:"Adds a header with the date.",before:d` # H1 - `,after:f` + `,after:d` --- date created: Wednesday, January 1st 2020, 12:00:00 am date modified: Thursday, January 2nd 2020, 12:00:05 am --- # H1 - `,options:{fileCreatedTime:"2020-01-01T00:00:00-00:00",fileModifiedTime:"2020-01-02T00:00:00-00:00",currentTime:(0,Tt.moment)("Thursday, January 2nd 2020, 12:00:05 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new v({description:"dateCreated option is false",before:f` + `,options:{fileCreatedTime:"2020-01-01T00:00:00-00:00",fileModifiedTime:"2020-01-02T00:00:00-00:00",currentTime:(0,At.moment)("Thursday, January 2nd 2020, 12:00:05 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new x({description:"dateCreated option is false",before:d` # H1 - `,after:f` + `,after:d` --- date modified: Thursday, January 2nd 2020, 12:00:05 am --- # H1 - `,options:{dateCreated:!1,fileCreatedTime:"2020-01-01T00:00:00-00:00",fileModifiedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Tt.moment)("Thursday, January 2nd 2020, 12:00:05 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new v({description:"Date Created Key is set",before:f` + `,options:{dateCreated:!1,fileCreatedTime:"2020-01-01T00:00:00-00:00",fileModifiedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,At.moment)("Thursday, January 2nd 2020, 12:00:05 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new x({description:"Date Created Key is set",before:d` # H1 - `,after:f` + `,after:d` --- created: Wednesday, January 1st 2020, 12:00:00 am --- # H1 - `,options:{dateCreated:!0,dateModified:!1,dateCreatedKey:"created",fileCreatedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Tt.moment)("Thursday, January 2nd 2020, 12:00:03 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new v({description:"Date Modified Key is set",before:f` + `,options:{dateCreated:!0,dateModified:!1,dateCreatedKey:"created",fileCreatedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,At.moment)("Thursday, January 2nd 2020, 12:00:03 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new x({description:"Date Modified Key is set",before:d` # H1 - `,after:f` + `,after:d` --- modified: Wednesday, January 1st 2020, 4:00:00 pm --- # H1 - `,options:{dateCreated:!1,dateModified:!0,dateModifiedKey:"modified",fileModifiedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Tt.moment)("Wednesday, January 1st 2020, 4:00:00 pm","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}})]}get optionBuilders(){return[new te({OptionsClass:Qe,name:"Date Created",description:"Insert the file creation date",optionsKey:"dateCreated"}),new Gt({OptionsClass:Qe,name:"Date Created Key",description:"Which YAML key to use for creation date",optionsKey:"dateCreatedKey"}),new te({OptionsClass:Qe,name:"Date Modified",description:"Insert the date the file was last modified",optionsKey:"dateModified"}),new Gt({OptionsClass:Qe,name:"Date Modified Key",description:"Which YAML key to use for modification date",optionsKey:"dateModifiedKey"}),new qr({OptionsClass:Qe,name:"Format",description:"Moment date format to use (see [Moment format options](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/))",optionsKey:"format"})]}get hasSpecialExecutionOrder(){return!0}};Pt=A([k.register],Pt);var Ot=class{constructor(){this.preserveExistingAliasesSectionStyle=!0;this.keepAliasThatMatchesTheFilename=!1;this.useYamlKeyToKeepTrackOfOldFilenameOrHeading=!0;this.aliasArrayStyle="multi-line";this.defaultEscapeCharacter='"'}};A([k.noSettingControl()],Ot.prototype,"aliasArrayStyle",2),A([k.noSettingControl()],Ot.prototype,"fileName",2),A([k.noSettingControl()],Ot.prototype,"defaultEscapeCharacter",2);var or=class extends k{get OptionsClass(){return Ot}get name(){return"YAML Title Alias"}get description(){return"Inserts the title of the file into the YAML frontmatter's aliases section. Gets the title from the first H1 or filename."}get type(){return"YAML"}apply(t,n){t=ft(t);let i=D([S.code,S.yaml,S.tag],t,c=>{let d=c.match(/^#\s+(.*)/m);return d?d[1]:""});i=i||n.fileName;let r=null,o=t.match(ke)[1],s=!n.keepAliasThatMatchesTheFilename&&i===n.fileName;n.useYamlKeyToKeepTrackOfOldFilenameOrHeading&&(r=Je(Oe(o,ai)));let a=o.replace(`--- + `,options:{dateCreated:!1,dateModified:!0,dateModifiedKey:"modified",fileModifiedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,At.moment)("Wednesday, January 1st 2020, 4:00:00 pm","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}})]}get optionBuilders(){return[new U({OptionsClass:Qe,name:"Date Created",description:"Insert the file creation date",optionsKey:"dateCreated"}),new at({OptionsClass:Qe,name:"Date Created Key",description:"Which YAML key to use for creation date",optionsKey:"dateCreatedKey"}),new U({OptionsClass:Qe,name:"Date Modified",description:"Insert the date the file was last modified",optionsKey:"dateModified"}),new at({OptionsClass:Qe,name:"Date Modified Key",description:"Which YAML key to use for modification date",optionsKey:"dateModifiedKey"}),new eo({OptionsClass:Qe,name:"Format",description:"Moment date format to use (see [Moment format options](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/))",optionsKey:"format"})]}get hasSpecialExecutionOrder(){return!0}};Ht=O([S.register],Ht);var Ct=class{constructor(){this.preserveExistingAliasesSectionStyle=!0;this.keepAliasThatMatchesTheFilename=!1;this.useYamlKeyToKeepTrackOfOldFilenameOrHeading=!0;this.aliasArrayStyle="multi-line";this.defaultEscapeCharacter='"'}};O([S.noSettingControl()],Ct.prototype,"aliasArrayStyle",2),O([S.noSettingControl()],Ct.prototype,"fileName",2),O([S.noSettingControl()],Ct.prototype,"defaultEscapeCharacter",2);var cr=class extends S{get OptionsClass(){return Ct}get name(){return"YAML Title Alias"}get description(){return"Inserts the title of the file into the YAML frontmatter's aliases section. Gets the title from the first H1 or filename."}get type(){return"YAML"}apply(t,n){t=ht(t);let i=$([k.code,k.yaml,k.tag],t,Nr);i=i||n.fileName;let r=null,o=t.match(ke)[1],s=!n.keepAliasThatMatchesTheFilename&&i===n.fileName;n.useYamlKeyToKeepTrackOfOldFilenameOrHeading&&(r=Je(Oe(o,pi)));let a=o.replace(`--- `,"").replace(` ----`,""),l=Je(o);r=Je(Oe(o,ai)),i=kt(i,n.defaultEscapeCharacter);let u=function(c,d){if(c==null)return d?"":i;if(typeof c=="string")d?c===i&&(c=""):r===c?c=i:c=[i,c];else if(r!==null){let h=c.indexOf(r);h!==-1&&(d?c.splice(h,1):c[h]=i)}else{let h=c.indexOf(i);h!==-1?d&&c.splice(h,1):d||(c=[i,...c])}return c===""||c.length===0?"":c},p=null,m=Object.keys(l);for(let c of si)if(m.includes(c)){p=c;break}if(p!=null){let c=Oe(a,p),d="multi-line",h=c==="",g=!1;c.includes(` -`)||(c.match(/^\[.*\]/)===null?(d="single string to single-line",g=!0):d="single-line");let x=Br(ht(c)),b=u(x,s);b===""?a=Wt(a,p):n.preserveExistingAliasesSectionStyle?!h&&(g&&i==b||!g||x==b)?a=Te(a,p,Ge(b,d)):a=Te(a,p,Ge(b,n.aliasArrayStyle)):a=Te(a,p,Ge(b,n.aliasArrayStyle))}else s||(a=Te(a,es,Ge(i,n.aliasArrayStyle)));return!n.useYamlKeyToKeepTrackOfOldFilenameOrHeading||s?a=Wt(a,ai):a=Te(a,ai,` ${i}`),t=t.replace(`--- +---`,""),l=Je(o);r=Je(Oe(o,pi)),i=St(i,n.defaultEscapeCharacter);let p=function(c,f){if(c==null)return f?"":i;if(typeof c=="string")f?c===i&&(c=""):r===c?c=i:c=[i,c];else if(r!==null){let h=c.indexOf(r);h!==-1&&(f?c.splice(h,1):c[h]=i)}else{let h=c.indexOf(i);h!==-1?f&&c.splice(h,1):f||(c=[i,...c])}return c===""||c.length===0?"":c},u=null,m=Object.keys(l);for(let c of ui)if(m.includes(c)){u=c;break}if(u!=null){let c=Oe(a,u),f="multi-line",h=c==="",g=!1;c.includes(` +`)||(c.match(/^\[.*\]/)===null?(f="single string to single-line",g=!0):f="single-line");let w=Yr(gt(c)),y=p(w,s);y===""?a=Gt(a,u):n.preserveExistingAliasesSectionStyle?!h&&(g&&i==y||!g||w==y)?a=Te(a,u,Ge(y,f)):a=Te(a,u,Ge(y,n.aliasArrayStyle)):a=Te(a,u,Ge(y,n.aliasArrayStyle))}else s||(a=Te(a,ds,Ge(i,n.aliasArrayStyle)));return!n.useYamlKeyToKeepTrackOfOldFilenameOrHeading||s?a=Gt(a,pi):a=Te(a,pi,` ${i}`),t=t.replace(`--- ${o}--- `,`--- ${a}--- -`),t}get exampleBuilders(){return[new v({description:"Adds a header with the title from heading.",before:f` +`),t}get exampleBuilders(){return[new x({description:"Adds a header with the title from heading.",before:d` # Obsidian - `,after:f` + `,after:d` --- aliases: - Obsidian linter-yaml-title-alias: Obsidian --- # Obsidian - `}),new v({description:"Adds a header with the title from heading without YAML key when the use of the YAML key is set to false.",before:f` + `}),new x({description:"Adds a header with the title from heading without YAML key when the use of the YAML key is set to false.",before:d` # Obsidian - `,after:f` + `,after:d` --- aliases: - Obsidian --- # Obsidian - `,options:{useYamlKeyToKeepTrackOfOldFilenameOrHeading:!1}}),new v({description:"Adds a header with the title.",before:f` + `,options:{useYamlKeyToKeepTrackOfOldFilenameOrHeading:!1}}),new x({description:"Adds a header with the title.",before:d` ${""} - `,after:f` + `,after:d` --- aliases: - Filename linter-yaml-title-alias: Filename --- ${""} - `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0}}),new v({description:"Adds a header with the title without YAML key when the use of the YAML key is set to false.",before:f` + `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0}}),new x({description:"Adds a header with the title without YAML key when the use of the YAML key is set to false.",before:d` ${""} - `,after:f` + `,after:d` --- aliases: - Filename --- ${""} - `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0,useYamlKeyToKeepTrackOfOldFilenameOrHeading:!1}}),new v({description:"Replaces old filename with new filename when no header is present and filename is different than the old one listed in `linter-yaml-title-alias`.",before:f` + `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0,useYamlKeyToKeepTrackOfOldFilenameOrHeading:!1}}),new x({description:"Replaces old filename with new filename when no header is present and filename is different than the old one listed in `linter-yaml-title-alias`.",before:d` --- aliases: - Old Filename @@ -2139,7 +2213,7 @@ ${a}--- linter-yaml-title-alias: Old Filename --- ${""} - `,after:f` + `,after:d` --- aliases: - Filename @@ -2147,33 +2221,49 @@ ${a}--- linter-yaml-title-alias: Filename --- ${""} - `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0}})]}get optionBuilders(){return[new te({OptionsClass:Ot,name:"Preserve existing aliases section style",description:"If set, the `YAML aliases section style` setting applies only to the newly created sections",optionsKey:"preserveExistingAliasesSectionStyle"}),new te({OptionsClass:Ot,name:"Keep alias that matches the filename",description:"Such aliases are usually redundant",optionsKey:"keepAliasThatMatchesTheFilename"}),new te({OptionsClass:Ot,name:"Use the YAML key `linter-yaml-title-alias` to help with filename and heading changes",description:"If set, when the first H1 heading changes or filename if first H1 is not present changes, then the old alias stored in this key will be replaced with the new value instead of just inserting a new entry in the aliases array",optionsKey:"useYamlKeyToKeepTrackOfOldFilenameOrHeading"})]}};or=A([k.register],or);var Nn=class{constructor(){this.defaultEscapeCharacter='"';this.titleKey="title"}};A([k.noSettingControl()],Nn.prototype,"fileName",2),A([k.noSettingControl()],Nn.prototype,"defaultEscapeCharacter",2);var sr=class extends k{get OptionsClass(){return Nn}get name(){return"YAML Title"}get description(){return"Inserts the title of the file into the YAML frontmatter. Gets the title from the first H1 or filename if there is no H1."}get type(){return"YAML"}apply(t,n){t=ft(t);let i=D([S.code,S.yaml,S.tag],t,r=>{let o=r.match(/^#\s+(.*)/m);return o?o[1]:""});return i=i||n.fileName,i=kt(i,n.defaultEscapeCharacter),Se(t,r=>{let o=` + `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0}}),new x({description:"Make sure that markdown and wiki links in first H1 get their values converted to text",before:d` + # This is a [Heading](markdown.md) + `,after:d` + --- + aliases: + - This is a Heading + linter-yaml-title-alias: This is a Heading + --- + # This is a [Heading](markdown.md) + `,options:{aliasArrayStyle:"multi-line"}})]}get optionBuilders(){return[new U({OptionsClass:Ct,name:"Preserve existing aliases section style",description:"If set, the `YAML aliases section style` setting applies only to the newly created sections",optionsKey:"preserveExistingAliasesSectionStyle"}),new U({OptionsClass:Ct,name:"Keep alias that matches the filename",description:"Such aliases are usually redundant",optionsKey:"keepAliasThatMatchesTheFilename"}),new U({OptionsClass:Ct,name:"Use the YAML key `linter-yaml-title-alias` to help with filename and heading changes",description:"If set, when the first H1 heading changes or filename if first H1 is not present changes, then the old alias stored in this key will be replaced with the new value instead of just inserting a new entry in the aliases array",optionsKey:"useYamlKeyToKeepTrackOfOldFilenameOrHeading"})]}};cr=O([S.register],cr);var Nn=class{constructor(){this.defaultEscapeCharacter='"';this.titleKey="title"}};O([S.noSettingControl()],Nn.prototype,"fileName",2),O([S.noSettingControl()],Nn.prototype,"defaultEscapeCharacter",2);var mr=class extends S{get OptionsClass(){return Nn}get name(){return"YAML Title"}get description(){return"Inserts the title of the file into the YAML frontmatter. Gets the title from the first H1 or filename if there is no H1."}get type(){return"YAML"}apply(t,n){t=ht(t);let i=$([k.code,k.yaml,k.tag],t,Nr);return i=i||n.fileName,i=St(i,n.defaultEscapeCharacter),Se(t,r=>{let o=` ${n.titleKey}.* -`,s=new RegExp(o);if(s.test(r))r=r.replace(s,$e(` +`,s=new RegExp(o);if(s.test(r))r=r.replace(s,We(` ${n.titleKey}: ${i} `));else{let a=r.indexOf(` ----`);r=jt(r,a,` -${n.titleKey}: ${i}`)}return r})}get exampleBuilders(){return[new v({description:"Adds a header with the title from heading.",before:f` +---`);r=Wt(r,a,` +${n.titleKey}: ${i}`)}return r})}get exampleBuilders(){return[new x({description:"Adds a header with the title from heading.",before:d` # Obsidian - `,after:f` + `,after:d` --- title: Obsidian --- # Obsidian - `,options:{fileName:"Filename"}}),new v({description:"Adds a header with the title.",before:f` + `,options:{fileName:"Filename"}}),new x({description:"Adds a header with the title.",before:d` ${""} - `,after:f` + `,after:d` --- title: Filename --- ${""} - `,options:{fileName:"Filename"}})]}get optionBuilders(){return[new Gt({OptionsClass:Nn,name:"Title Key",description:"Which YAML key to use for title",optionsKey:"titleKey"})]}};sr=A([k.register],sr);var Lh=` + `,options:{fileName:"Filename"}}),new x({description:"Make sure that markdown links in headings are properly copied to the yaml as just the text",before:d` + # This is a [Heading](test heading.md) + `,after:d` + --- + title: This is a Heading + --- + # This is a [Heading](test heading.md) + `})]}get optionBuilders(){return[new at({OptionsClass:Nn,name:"Title Key",description:"Which YAML key to use for title",optionsKey:"titleKey"})]}};mr=O([S.register],mr);var jh=` -`,Ch=` +`,Wh=` @@ -2181,7 +2271,7 @@ ${n.titleKey}: ${i}`)}return r})}get exampleBuilders(){return[new v({description -`,Eh=` +`,Uh=` @@ -2194,36 +2284,36 @@ ${n.titleKey}: ${i}`)}return r})}get exampleBuilders(){return[new v({description -`,_h=` +`,Gh=` -`,Bh=` +`,Zh=` -`,Mh=` +`,Qh=` -`,Ih=` +`,Xh=` -`,Fh=` +`,Jh=` -`,Rh=` +`,eg=` -`,$h=` +`,tg=` -`,Dh=` +`,ng=` -`,Ph=` +`,ig=` -`,Me={folder:{id:"lint-folder",source:Ch},file:{id:"lint-file",source:Lh},vault:{id:"lint-vault",source:Eh},whitespace:{id:"lint-whitespace",source:_h},math:{id:"lint-math",source:Bh},content:{id:"lint-content",source:Mh},paste:{id:"lint-paste",source:Ih},custom:{id:"lint-custom",source:Fh},heading:{id:"lint-heading",source:Rh},footer:{id:"lint-footer",source:$h},yaml:{id:"lint-yaml",source:Dh},general:{id:"lint-general",source:Ph}};var Hn=require("obsidian");var wo=class{constructor(){this.disabledRules=[]}lintText(t){let n=t.oldText;this.disabledRules=yl(n);let i=this.runBeforeRegularRules(t);for(let r of gt){if(this.disabledRules.includes(r.alias())){Ft(r.alias()+" is disabled");continue}else if(r.hasSpecialExecutionOrder||r.type==="Paste")continue;[i]=st.applyIfEnabledBase(r,i,t.settings,{fileCreatedTime:t.fileInfo.createdAtFormatted,fileModifiedTime:t.fileInfo.modifiedAtFormatted,fileName:t.fileInfo.name,locale:t.momentLocale,minimumNumberOfDollarSignsToBeAMathBlock:t.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock,aliasArrayStyle:t.settings.commonStyles.aliasArrayStyle,tagArrayStyle:t.settings.commonStyles.tagArrayStyle,defaultEscapeCharacter:t.settings.commonStyles.escapeCharacter})}return t.oldText=i,this.runAfterRegularRules(n,t)}runBeforeRegularRules(t){let n=t.oldText;return[n]=rn.applyIfEnabled(n,t.settings,this.disabledRules),[n]=tn.applyIfEnabled(n,t.settings,this.disabledRules,{defaultEscapeCharacter:t.settings.commonStyles.escapeCharacter}),n}runAfterRegularRules(t,n){let i=n.oldText;[i]=nn.applyIfEnabled(i,n.settings,this.disabledRules,{defaultEscapeCharacter:n.settings.commonStyles.escapeCharacter});let r=n.getCurrentTime(),o;[i,o]=Pt.applyIfEnabled(i,n.settings,this.disabledRules,{fileCreatedTime:n.fileInfo.createdAtFormatted,fileModifiedTime:n.fileInfo.modifiedAtFormatted,currentTime:r,alreadyModified:t!=i,locale:n.momentLocale});let s=Pt.getRuleOptions(n.settings);return r=n.getCurrentTime(),[i]=dn.applyIfEnabled(i,n.settings,this.disabledRules,{currentTimeFormatted:r.format(s.format),yamlTimestampDateModifiedEnabled:o&&s.dateModified,dateModifiedKey:s.dateModifiedKey}),i}runCustomCommands(t,n){Ft("Running Custom Lint Commands");let i=new Set;for(let r of t){if(r.id){if(i.has(r.id)){Yr(`You cannot run the same command ("${r.name}") as a custom lint rule twice.`);continue}}else continue;try{i.add(r.id),n.executeCommandById(r.id)}catch(o){Pr(o,`Custom Lint Command ${r.id}`)}}}runPasteLint(t,n){let i=n.oldText;return[i]=un.applyIfEnabled(i,n.settings,[]),[i]=mn.applyIfEnabled(i,n.settings,[]),[i]=cn.applyIfEnabled(i,n.settings,[]),[i]=an.applyIfEnabled(i,n.settings,[]),[i]=pn.applyIfEnabled(i,n.settings,[]),[i]=on.applyIfEnabled(i,n.settings,[],{lineContent:t}),[i]=sn.applyIfEnabled(i,n.settings,[],{lineContent:t}),[i]=Zt.applyIfEnabled(i,n.settings,[],{lineContent:t}),i}};function xo(e,t=null,n,i){let r=t?(0,Hn.moment)(t.stat.ctime):(0,Hn.moment)();r.locale(n);let o=t?(0,Hn.moment)(t.stat.mtime):(0,Hn.moment)();o.locale(n);let s=o.format(),a=r.format();return{oldText:e,fileInfo:{name:t?t.basename:"",createdAtFormatted:a,modifiedAtFormatted:s},settings:i,momentLocale:n,getCurrentTime:()=>{let l=(0,Hn.moment)();return l.locale(n),l}}}var vo=require("obsidian"),ar=class extends vo.Modal{constructor(t,n,i,r,o){super(t),this.modalEl.addClass("confirm-modal"),this.contentEl.createEl("h3",{text:"Warning"}).style.textAlign="center",this.contentEl.createEl("p",{text:n+" Make sure you have backed up your files."}).id="confirm-dialog",this.contentEl.createDiv("modal-button-container",s=>{s.createEl("button",{text:"Cancel"}).addEventListener("click",()=>this.close());let a=s.createEl("button",{attr:{type:"submit"},cls:"mod-cta",text:i});a.addEventListener("click",async l=>{new vo.Notice(r),this.close(),await o()}),setTimeout(()=>{a.focus()},50)})}};var ce=require("obsidian");var Uu=require("obsidian");var Wu=require("obsidian");var pe="top",we="bottom",he="right",de="left",ko="auto",Nt=[pe,we,he,de],At="start",fn="end",Au="clippingParents",So="viewport",Yn="popper",Lu="reference",ea=Nt.reduce(function(e,t){return e.concat([t+"-"+At,t+"-"+fn])},[]),To=[].concat(Nt,[ko]).reduce(function(e,t){return e.concat([t,t+"-"+At,t+"-"+fn])},[]),Nh="beforeRead",Hh="read",Yh="afterRead",zh="beforeMain",qh="main",Kh="afterMain",jh="beforeWrite",Vh="write",Wh="afterWrite",Cu=[Nh,Hh,Yh,zh,qh,Kh,jh,Vh,Wh];function Le(e){return e?(e.nodeName||"").toLowerCase():null}function ue(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function tt(e){var t=ue(e).Element;return e instanceof t||e instanceof Element}function xe(e){var t=ue(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function zn(e){if(typeof ShadowRoot>"u")return!1;var t=ue(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Uh(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var i=t.styles[n]||{},r=t.attributes[n]||{},o=t.elements[n];!xe(o)||!Le(o)||(Object.assign(o.style,i),Object.keys(r).forEach(function(s){var a=r[s];a===!1?o.removeAttribute(s):o.setAttribute(s,a===!0?"":a)}))})}function Gh(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(i){var r=t.elements[i],o=t.attributes[i]||{},s=Object.keys(t.styles.hasOwnProperty(i)?t.styles[i]:n[i]),a=s.reduce(function(l,u){return l[u]="",l},{});!xe(r)||!Le(r)||(Object.assign(r.style,a),Object.keys(o).forEach(function(l){r.removeAttribute(l)}))})}}var Eu={name:"applyStyles",enabled:!0,phase:"write",fn:Uh,effect:Gh,requires:["computeStyles"]};function Ce(e){return e.split("-")[0]}var lt=Math.max,hn=Math.min,Lt=Math.round;function qn(){var e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function lr(){return!/^((?!chrome|android).)*safari/i.test(qn())}function nt(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var i=e.getBoundingClientRect(),r=1,o=1;t&&xe(e)&&(r=e.offsetWidth>0&&Lt(i.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Lt(i.height)/e.offsetHeight||1);var s=tt(e)?ue(e):window,a=s.visualViewport,l=!lr()&&n,u=(i.left+(l&&a?a.offsetLeft:0))/r,p=(i.top+(l&&a?a.offsetTop:0))/o,m=i.width/r,c=i.height/o;return{width:m,height:c,top:p,right:u+m,bottom:p+c,left:u,x:u,y:p}}function gn(e){var t=nt(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function ur(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&zn(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function qe(e){return ue(e).getComputedStyle(e)}function ta(e){return["table","td","th"].indexOf(Le(e))>=0}function Ie(e){return((tt(e)?e.ownerDocument:e.document)||window.document).documentElement}function Ct(e){return Le(e)==="html"?e:e.assignedSlot||e.parentNode||(zn(e)?e.host:null)||Ie(e)}function _u(e){return!xe(e)||qe(e).position==="fixed"?null:e.offsetParent}function Zh(e){var t=/firefox/i.test(qn()),n=/Trident/i.test(qn());if(n&&xe(e)){var i=qe(e);if(i.position==="fixed")return null}var r=Ct(e);for(zn(r)&&(r=r.host);xe(r)&&["html","body"].indexOf(Le(r))<0;){var o=qe(r);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return r;r=r.parentNode}return null}function ut(e){for(var t=ue(e),n=_u(e);n&&ta(n)&&qe(n).position==="static";)n=_u(n);return n&&(Le(n)==="html"||Le(n)==="body"&&qe(n).position==="static")?t:n||Zh(e)||t}function yn(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function bn(e,t,n){return lt(e,hn(t,n))}function Bu(e,t,n){var i=bn(e,t,n);return i>n?n:i}function pr(){return{top:0,right:0,bottom:0,left:0}}function cr(e){return Object.assign({},pr(),e)}function mr(e,t){return t.reduce(function(n,i){return n[i]=e,n},{})}var Qh=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,cr(typeof t!="number"?t:mr(t,Nt))};function Xh(e){var t,n=e.state,i=e.name,r=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,a=Ce(n.placement),l=yn(a),u=[de,he].indexOf(a)>=0,p=u?"height":"width";if(!(!o||!s)){var m=Qh(r.padding,n),c=gn(o),d=l==="y"?pe:de,h=l==="y"?we:he,g=n.rects.reference[p]+n.rects.reference[l]-s[l]-n.rects.popper[p],x=s[l]-n.rects.reference[l],b=ut(o),C=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,O=g/2-x/2,E=m[d],I=C-c[p]-m[h],T=C/2-c[p]/2+O,B=bn(E,T,I),M=l;n.modifiersData[i]=(t={},t[M]=B,t.centerOffset=B-T,t)}}function Jh(e){var t=e.state,n=e.options,i=n.element,r=i===void 0?"[data-popper-arrow]":i;r!=null&&(typeof r=="string"&&(r=t.elements.popper.querySelector(r),!r)||!ur(t.elements.popper,r)||(t.elements.arrow=r))}var Mu={name:"arrow",enabled:!0,phase:"main",fn:Xh,effect:Jh,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function it(e){return e.split("-")[1]}var eg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function tg(e){var t=e.x,n=e.y,i=window,r=i.devicePixelRatio||1;return{x:Lt(t*r)/r||0,y:Lt(n*r)/r||0}}function Iu(e){var t,n=e.popper,i=e.popperRect,r=e.placement,o=e.variation,s=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,p=e.roundOffsets,m=e.isFixed,c=s.x,d=c===void 0?0:c,h=s.y,g=h===void 0?0:h,x=typeof p=="function"?p({x:d,y:g}):{x:d,y:g};d=x.x,g=x.y;var b=s.hasOwnProperty("x"),C=s.hasOwnProperty("y"),O=de,E=pe,I=window;if(u){var T=ut(n),B="clientHeight",M="clientWidth";if(T===ue(n)&&(T=Ie(n),qe(T).position!=="static"&&a==="absolute"&&(B="scrollHeight",M="scrollWidth")),T=T,r===pe||(r===de||r===he)&&o===fn){E=we;var P=m&&T===I&&I.visualViewport?I.visualViewport.height:T[B];g-=P-i.height,g*=l?1:-1}if(r===de||(r===pe||r===we)&&o===fn){O=he;var K=m&&T===I&&I.visualViewport?I.visualViewport.width:T[M];d-=K-i.width,d*=l?1:-1}}var Y=Object.assign({position:a},u&&eg),j=p===!0?tg({x:d,y:g}):{x:d,y:g};if(d=j.x,g=j.y,l){var F;return Object.assign({},Y,(F={},F[E]=C?"0":"",F[O]=b?"0":"",F.transform=(I.devicePixelRatio||1)<=1?"translate("+d+"px, "+g+"px)":"translate3d("+d+"px, "+g+"px, 0)",F))}return Object.assign({},Y,(t={},t[E]=C?g+"px":"",t[O]=b?d+"px":"",t.transform="",t))}function ng(e){var t=e.state,n=e.options,i=n.gpuAcceleration,r=i===void 0?!0:i,o=n.adaptive,s=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a;if(!1)var u;var p={placement:Ce(t.placement),variation:it(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Iu(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Iu(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var Fu={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:ng,data:{}};var Oo={passive:!0};function ig(e){var t=e.state,n=e.instance,i=e.options,r=i.scroll,o=r===void 0?!0:r,s=i.resize,a=s===void 0?!0:s,l=ue(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(p){p.addEventListener("scroll",n.update,Oo)}),a&&l.addEventListener("resize",n.update,Oo),function(){o&&u.forEach(function(p){p.removeEventListener("scroll",n.update,Oo)}),a&&l.removeEventListener("resize",n.update,Oo)}}var Ru={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ig,data:{}};var rg={left:"right",right:"left",bottom:"top",top:"bottom"};function Kn(e){return e.replace(/left|right|bottom|top/g,function(t){return rg[t]})}var og={start:"end",end:"start"};function Ao(e){return e.replace(/start|end/g,function(t){return og[t]})}function wn(e){var t=ue(e),n=t.pageXOffset,i=t.pageYOffset;return{scrollLeft:n,scrollTop:i}}function xn(e){return nt(Ie(e)).left+wn(e).scrollLeft}function na(e,t){var n=ue(e),i=Ie(e),r=n.visualViewport,o=i.clientWidth,s=i.clientHeight,a=0,l=0;if(r){o=r.width,s=r.height;var u=lr();(u||!u&&t==="fixed")&&(a=r.offsetLeft,l=r.offsetTop)}return{width:o,height:s,x:a+xn(e),y:l}}function ia(e){var t,n=Ie(e),i=wn(e),r=(t=e.ownerDocument)==null?void 0:t.body,o=lt(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=lt(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+xn(e),l=-i.scrollTop;return qe(r||n).direction==="rtl"&&(a+=lt(n.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}function vn(e){var t=qe(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+i)}function Lo(e){return["html","body","#document"].indexOf(Le(e))>=0?e.ownerDocument.body:xe(e)&&vn(e)?e:Lo(Ct(e))}function Ht(e,t){var n;t===void 0&&(t=[]);var i=Lo(e),r=i===((n=e.ownerDocument)==null?void 0:n.body),o=ue(i),s=r?[o].concat(o.visualViewport||[],vn(i)?i:[]):i,a=t.concat(s);return r?a:a.concat(Ht(Ct(s)))}function jn(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function sg(e,t){var n=nt(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function $u(e,t,n){return t===So?jn(na(e,n)):tt(t)?sg(t,n):jn(ia(Ie(e)))}function ag(e){var t=Ht(Ct(e)),n=["absolute","fixed"].indexOf(qe(e).position)>=0,i=n&&xe(e)?ut(e):e;return tt(i)?t.filter(function(r){return tt(r)&&ur(r,i)&&Le(r)!=="body"}):[]}function ra(e,t,n,i){var r=t==="clippingParents"?ag(e):[].concat(t),o=[].concat(r,[n]),s=o[0],a=o.reduce(function(l,u){var p=$u(e,u,i);return l.top=lt(p.top,l.top),l.right=hn(p.right,l.right),l.bottom=hn(p.bottom,l.bottom),l.left=lt(p.left,l.left),l},$u(e,s,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function dr(e){var t=e.reference,n=e.element,i=e.placement,r=i?Ce(i):null,o=i?it(i):null,s=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(r){case pe:l={x:s,y:t.y-n.height};break;case we:l={x:s,y:t.y+t.height};break;case he:l={x:t.x+t.width,y:a};break;case de:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var u=r?yn(r):null;if(u!=null){var p=u==="y"?"height":"width";switch(o){case At:l[u]=l[u]-(t[p]/2-n[p]/2);break;case fn:l[u]=l[u]+(t[p]/2-n[p]/2);break;default:}}return l}function pt(e,t){t===void 0&&(t={});var n=t,i=n.placement,r=i===void 0?e.placement:i,o=n.strategy,s=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?Au:a,u=n.rootBoundary,p=u===void 0?So:u,m=n.elementContext,c=m===void 0?Yn:m,d=n.altBoundary,h=d===void 0?!1:d,g=n.padding,x=g===void 0?0:g,b=cr(typeof x!="number"?x:mr(x,Nt)),C=c===Yn?Lu:Yn,O=e.rects.popper,E=e.elements[h?C:c],I=ra(tt(E)?E:E.contextElement||Ie(e.elements.popper),l,p,s),T=nt(e.elements.reference),B=dr({reference:T,element:O,strategy:"absolute",placement:r}),M=jn(Object.assign({},O,B)),P=c===Yn?M:T,K={top:I.top-P.top+b.top,bottom:P.bottom-I.bottom+b.bottom,left:I.left-P.left+b.left,right:P.right-I.right+b.right},Y=e.modifiersData.offset;if(c===Yn&&Y){var j=Y[r];Object.keys(K).forEach(function(F){var V=[he,we].indexOf(F)>=0?1:-1,X=[pe,we].indexOf(F)>=0?"y":"x";K[F]+=j[X]*V})}return K}function oa(e,t){t===void 0&&(t={});var n=t,i=n.placement,r=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?To:l,p=it(i),m=p?a?ea:ea.filter(function(h){return it(h)===p}):Nt,c=m.filter(function(h){return u.indexOf(h)>=0});c.length===0&&(c=m);var d=c.reduce(function(h,g){return h[g]=pt(e,{placement:g,boundary:r,rootBoundary:o,padding:s})[Ce(g)],h},{});return Object.keys(d).sort(function(h,g){return d[h]-d[g]})}function lg(e){if(Ce(e)===ko)return[];var t=Kn(e);return[Ao(e),t,Ao(t)]}function ug(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var r=n.mainAxis,o=r===void 0?!0:r,s=n.altAxis,a=s===void 0?!0:s,l=n.fallbackPlacements,u=n.padding,p=n.boundary,m=n.rootBoundary,c=n.altBoundary,d=n.flipVariations,h=d===void 0?!0:d,g=n.allowedAutoPlacements,x=t.options.placement,b=Ce(x),C=b===x,O=l||(C||!h?[Kn(x)]:lg(x)),E=[x].concat(O).reduce(function(Ke,Ne){return Ke.concat(Ce(Ne)===ko?oa(t,{placement:Ne,boundary:p,rootBoundary:m,padding:u,flipVariations:h,allowedAutoPlacements:g}):Ne)},[]),I=t.rects.reference,T=t.rects.popper,B=new Map,M=!0,P=E[0],K=0;K=0,X=V?"width":"height",G=pt(t,{placement:Y,boundary:p,rootBoundary:m,altBoundary:c,padding:u}),se=V?F?he:de:F?we:pe;I[X]>T[X]&&(se=Kn(se));var ae=Kn(se),le=[];if(o&&le.push(G[j]<=0),a&&le.push(G[se]<=0,G[ae]<=0),le.every(function(Ke){return Ke})){P=Y,M=!1;break}B.set(Y,le)}if(M)for(var ne=h?3:1,w=function(Ne){var rt=E.find(function(je){var J=B.get(je);if(J)return J.slice(0,Ne).every(function(bt){return bt})});if(rt)return P=rt,"break"},y=ne;y>0;y--){var ct=w(y);if(ct==="break")break}t.placement!==P&&(t.modifiersData[i]._skip=!0,t.placement=P,t.reset=!0)}}var Du={name:"flip",enabled:!0,phase:"main",fn:ug,requiresIfExists:["offset"],data:{_skip:!1}};function Pu(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Nu(e){return[pe,he,we,de].some(function(t){return e[t]>=0})}function pg(e){var t=e.state,n=e.name,i=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,s=pt(t,{elementContext:"reference"}),a=pt(t,{altBoundary:!0}),l=Pu(s,i),u=Pu(a,r,o),p=Nu(l),m=Nu(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:p,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":m})}var Hu={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:pg};function cg(e,t,n){var i=Ce(e),r=[de,pe].indexOf(i)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[de,he].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}function mg(e){var t=e.state,n=e.options,i=e.name,r=n.offset,o=r===void 0?[0,0]:r,s=To.reduce(function(p,m){return p[m]=cg(m,t.rects,o),p},{}),a=s[t.placement],l=a.x,u=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[i]=s}var Yu={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:mg};function dg(e){var t=e.state,n=e.name;t.modifiersData[n]=dr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var zu={name:"popperOffsets",enabled:!0,phase:"read",fn:dg,data:{}};function sa(e){return e==="x"?"y":"x"}function fg(e){var t=e.state,n=e.options,i=e.name,r=n.mainAxis,o=r===void 0?!0:r,s=n.altAxis,a=s===void 0?!1:s,l=n.boundary,u=n.rootBoundary,p=n.altBoundary,m=n.padding,c=n.tether,d=c===void 0?!0:c,h=n.tetherOffset,g=h===void 0?0:h,x=pt(t,{boundary:l,rootBoundary:u,padding:m,altBoundary:p}),b=Ce(t.placement),C=it(t.placement),O=!C,E=yn(b),I=sa(E),T=t.modifiersData.popperOffsets,B=t.rects.reference,M=t.rects.popper,P=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,K=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),Y=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,j={x:0,y:0};if(!!T){if(o){var F,V=E==="y"?pe:de,X=E==="y"?we:he,G=E==="y"?"height":"width",se=T[E],ae=se+x[V],le=se-x[X],ne=d?-M[G]/2:0,w=C===At?B[G]:M[G],y=C===At?-M[G]:-B[G],ct=t.elements.arrow,Ke=d&&ct?gn(ct):{width:0,height:0},Ne=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:pr(),rt=Ne[V],je=Ne[X],J=bn(0,B[G],Ke[G]),bt=O?B[G]/2-ne-J-rt-K.mainAxis:w-J-rt-K.mainAxis,ot=O?-B[G]/2+ne+J+je+K.mainAxis:y+J+je+K.mainAxis,mt=t.elements.arrow&&ut(t.elements.arrow),Et=mt?E==="y"?mt.clientTop||0:mt.clientLeft||0:0,Yt=(F=Y?.[E])!=null?F:0,Mo=se+bt-Yt-Et,Io=se+ot-Yt,hr=bn(d?hn(ae,Mo):ae,se,d?lt(le,Io):le);T[E]=hr,j[E]=hr-se}if(a){var Wn,gr=E==="x"?pe:de,yr=E==="x"?we:he,wt=T[I],zt=I==="y"?"height":"width",Un=wt+x[gr],br=wt-x[yr],Gn=[pe,de].indexOf(b)!==-1,wr=(Wn=Y?.[I])!=null?Wn:0,xr=Gn?Un:wt-B[zt]-M[zt]-wr+K.altAxis,vr=Gn?wt+B[zt]+M[zt]-wr-K.altAxis:br,L=d&&Gn?Bu(xr,wt,vr):bn(d?xr:Un,wt,d?vr:br);T[I]=L,j[I]=L-wt}t.modifiersData[i]=j}}var qu={name:"preventOverflow",enabled:!0,phase:"main",fn:fg,requiresIfExists:["offset"]};function aa(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function la(e){return e===ue(e)||!xe(e)?wn(e):aa(e)}function hg(e){var t=e.getBoundingClientRect(),n=Lt(t.width)/e.offsetWidth||1,i=Lt(t.height)/e.offsetHeight||1;return n!==1||i!==1}function ua(e,t,n){n===void 0&&(n=!1);var i=xe(t),r=xe(t)&&hg(t),o=Ie(t),s=nt(e,r,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&((Le(t)!=="body"||vn(o))&&(a=la(t)),xe(t)?(l=nt(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=xn(o))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function gg(e){var t=new Map,n=new Set,i=[];e.forEach(function(o){t.set(o.name,o)});function r(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&r(l)}}),i.push(o)}return e.forEach(function(o){n.has(o.name)||r(o)}),i}function pa(e){var t=gg(e);return Cu.reduce(function(n,i){return n.concat(t.filter(function(r){return r.phase===i}))},[])}function ca(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function ma(e){var t=e.reduce(function(n,i){var r=n[i.name];return n[i.name]=r?Object.assign({},r,i,{options:Object.assign({},r.options,i.options),data:Object.assign({},r.data,i.data)}):i,n},{});return Object.keys(t).map(function(n){return t[n]})}var Ku={placement:"bottom",modifiers:[],strategy:"absolute"};function ju(){for(var e=arguments.length,t=new Array(e),n=0;n(e%t+t)%t,fa=class{constructor(t,n,i){this.owner=t,this.containerEl=n,n.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),n.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),i.register([],"ArrowUp",r=>{if(!r.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),i.register([],"ArrowDown",r=>{if(!r.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),i.register([],"Enter",r=>{if(!r.isComposing)return this.useSelectedItem(r),!1})}onSuggestionClick(t,n){t.preventDefault();let i=this.suggestions.indexOf(n);this.setSelectedItem(i,!1),this.useSelectedItem(t)}onSuggestionMouseover(t,n){let i=this.suggestions.indexOf(n);this.setSelectedItem(i,!1)}setSuggestions(t){this.containerEl.empty();let n=[];t.forEach(i=>{let r=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(i,r),n.push(r)}),this.values=t,this.suggestions=n,this.setSelectedItem(0,!1)}useSelectedItem(t){let n=this.values[this.selectedItem];n&&this.owner.selectSuggestion(n,t)}setSelectedItem(t,n){let i=bg(t,this.suggestions.length),r=this.suggestions[this.selectedItem],o=this.suggestions[i];r?.removeClass("is-selected"),o?.addClass("is-selected"),this.selectedItem=i,n&&o.scrollIntoView(!1)}},Co=class{constructor(t,n){this.app=t,this.inputEl=n,this.scope=new Wu.Scope,this.suggestEl=createDiv("suggestion-container");let i=this.suggestEl.createDiv("suggestion");this.suggest=new fa(this,i,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",r=>{r.preventDefault()})}onInputChanged(){let t=this.inputEl.value,n=this.getSuggestions(t);if(!n){this.close();return}n.length>0?(this.suggest.setSuggestions(n),this.open(this.app.dom.appContainerEl,this.inputEl)):this.close()}open(t,n){this.app.keymap.pushScope(this.scope),t.appendChild(this.suggestEl),this.popper=da(n,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:i,instance:r})=>{let o=`${i.rects.reference.width}px`;i.styles.popper.width!==o&&(i.styles.popper.width=o,r.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}};var fr=class extends Co{constructor(n,i,r=[]){super(n,i);this.app=n;this.inputEl=i;this.valuesToExclude=r}getSuggestions(n){let i=this.app.commands.listCommands();if(!i)return[];let r=i.filter(a=>{for(let l of this.valuesToExclude)if(l.id==a.id&&!(this.inputEl.hasAttribute("commandId")&&this.inputEl.getAttribute("commandId")==a.id))return!1;return!0}),o=[],s=n.toLowerCase();return r.forEach(a=>{(a.id.contains(s)||a.name.toLowerCase().contains(s))&&o.push(a)}),o}renderSuggestion(n,i){i.setText(n.name)}selectSuggestion(n){this.inputEl.value=n.name,this.inputEl.setAttribute("commandId",n.id),this.inputEl.trigger("input"),this.close()}};var wg={General:Me.general.id,Custom:Me.custom.id,YAML:Me.yaml.id,Heading:Me.heading.id,Footnote:Me.footer.id,Content:Me.content.id,Spacing:Me.whitespace.id,Paste:Me.paste.id},Eo=class extends ce.PluginSettingTab{constructor(n,i){super(n,i);this.tabContent=new Map;this.selectedTab="General";this.searchSettingInfo=new Map;this.plugin=i}display(){let{containerEl:n}=this;n.empty(),this.generateSettingsTitle(n,ce.Platform.isMobile);let r=n.createEl("nav",{cls:"linter-setting-header"}).createDiv("linter-setting-tab-group"),o=n.createDiv("linter-setting-content");this.createTabAndContent("General",r,o,(l,u)=>this.generateGeneralSettings(u,l));let s="",a="";for(let l of gt)l.type!==s&&(a=l.type,this.createTabAndContent(a,r,o),s=l.type),this.addRuleToTab(a,l);this.createTabAndContent("Custom",r,o,(l,u)=>this.generateCustomCommandSettings(u,l)),this.createSearchZeroState(o)}createTabAndContent(n,i,r,o){let s=this.selectedTab===n,a=i.createDiv("linter-navigation-item"),l="linter-desktop";ce.Platform.isMobile&&(l="linter-mobile"),a.addClass(l),(0,ce.setIcon)(a.createSpan({cls:"linter-navigation-item-icon"}),wg[n],20),a.createSpan().setText(n),a.onclick=()=>{if(this.selectedTab==n)return;a.addClass("linter-navigation-item-selected");let m=this.tabContent.get(n);if(this.unhideEl(m.content),this.selectedTab!=""){let c=this.tabContent.get(this.selectedTab);c.navButton.removeClass("linter-navigation-item-selected"),this.hideEl(c.content)}else{this.hideEl(this.searchZeroState);for(let c of this.searchSettingInfo)for(let d of c[1])this.unhideEl(d.containerEl);for(let c of this.tabContent){let d=c[1];this.hideEl(d.heading),n!==c[0]&&this.hideEl(d.content)}}this.selectedTab=n};let u=r.createDiv("linter-tab-settings"),p=u.createEl("h2",{text:n+" Settings"});this.hideEl(p),u.id=n.toLowerCase().replace(" ","-"),s?a.addClass("linter-navigation-item-selected"):this.hideEl(u),o&&o(u,n),this.tabContent.set(n,{content:u,heading:p,navButton:a})}addRuleToTab(n,i){let r=this.tabContent.get(n).content;if(r==null)return;let o=r.createDiv();o.id=i.alias(),o.createEl(ce.Platform.isMobile?"h4":"h3",{},a=>{a.innerHTML=`${i.name}`});let s=[];for(let a of i.options)a.display(o,this.plugin.settings,this.plugin),s.push(a.searchInfo);this.addSettingToMasterSettingsList(n,o,i.name.toLowerCase(),i.description.toLowerCase(),s,o.id)}generateCustomCommandSettings(n,i){i.createEl(ce.Platform.isMobile?"h4":"h3",{text:"Custom Commands"});let r=`Custom commands are Obsidian commands that get run after the linter is finished running its regular rules. - This means that they do not run before the YAML timestamp logic runs, so they can cause YAML timestamp to be triggered on the next run of the linter. - You may only select an Obsidian command once. **_Note that this currently only works on linting the current file._**`,o=`When selecting an option, make sure to select the option either by using the mouse or by hitting the enter key. - Other selection methods may not work and only selections of an actual Obsidian command or an empty string will be saved.`;this.addSettingToMasterSettingsList(n,i,n.toLowerCase(),r.replaceAll(` -`," ")+o.replaceAll(` -`," ")),We(r,i.createEl("p")),i.createEl("p",{text:o}).style.color="#EED202";function s(a,l,u){if(u<0||u===a.length)return;let p=a[l];a[l]=a[u],a[u]=p}new ce.Setting(i).addButton(a=>{a.setButtonText("Add new command").setCta().onClick(()=>{this.plugin.settings.lintCommands.push({id:"",name:""}),this.plugin.saveSettings(),this.display();let l=document.getElementsByClassName("linter-custom-command");l[l.length-1].focus()})}),this.plugin.settings.lintCommands.forEach((a,l)=>{new ce.Setting(i).addSearch(u=>{new fr(this.app,u.inputEl,this.plugin.settings.lintCommands),u.setPlaceholder("Obsidian command").setValue(a.name).onChange(p=>{let m={id:u.inputEl.getAttribute("commandId"),name:p};m.name&&m.id?(this.plugin.settings.lintCommands[l]=m,this.plugin.saveSettings()):!m.name&&!m.id&&(this.plugin.settings.lintCommands[l]=m,this.plugin.saveSettings())}),u.inputEl.setAttr("tabIndex",l),u.inputEl.addClass("linter-custom-command")}).addExtraButton(u=>{u.setIcon("up-chevron-glyph").setTooltip("Move up").onClick(()=>{s(this.plugin.settings.lintCommands,l,l-1),this.plugin.saveSettings(),this.display()})}).addExtraButton(u=>{u.setIcon("down-chevron-glyph").setTooltip("Move down").onClick(()=>{s(this.plugin.settings.lintCommands,l,l+1),this.plugin.saveSettings(),this.display()})}).addExtraButton(u=>{u.setIcon("cross").setTooltip("Delete").onClick(()=>{this.plugin.settings.lintCommands.splice(l,1),this.plugin.saveSettings(),this.display()})})})}generateGeneralSettings(n,i){let r=i.createDiv(),o="Lint on save",s="Lint the file on manual save (when `Ctrl + S` is pressed or when `:w` is executed while using vim keybindings)",a=new ce.Setting(r).setName(o).addToggle(c=>{c.setValue(this.plugin.settings.lintOnSave).onChange(async d=>{this.plugin.settings.lintOnSave=d,await this.plugin.saveSettings()})});We(s,a.descEl),this.addSettingToMasterSettingsList(n,r,o,s),r=i.createDiv(),o="Display message on lint",s="Display the number of characters changed after linting",new ce.Setting(r).setName(o).setDesc(s).addToggle(c=>{c.setValue(this.plugin.settings.displayChanged).onChange(async d=>{this.plugin.settings.displayChanged=d,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s),r=i.createDiv(),o="Folders to ignore",s="Folders to ignore when linting all files or linting on save. Enter folder paths separated by newlines",new ce.Setting(r).setName(o).setDesc(s).addTextArea(c=>{c.setValue(this.plugin.settings.foldersToIgnore.join(` -`)).onChange(async d=>{this.plugin.settings.foldersToIgnore=d.split(` -`),await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s);let l=navigator.language?.toLowerCase();r=i.createDiv(),o="Override locale",s="Set this if you want to use a locale different from the default",new ce.Setting(r).setName(o).setDesc(s).addDropdown(c=>{c.addOption("system-default",`Same as system (${l})`),Uu.moment.locales().forEach(d=>{c.addOption(d,d)}),c.setValue(this.plugin.settings.linterLocale),c.onChange(async d=>{this.plugin.settings.linterLocale=d,await this.plugin.setOrUpdateMomentInstance(),await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s);let u=["multi-line","single-line","single string comma delimited","single string to single-line","single string to multi-line"];r=i.createDiv(),o="YAML aliases section style",s="The style of the YAML aliases section",new ce.Setting(r).setName(o).setDesc(s).addDropdown(c=>{u.forEach(d=>{c.addOption(d,d)}),c.setValue(this.plugin.settings.commonStyles.aliasArrayStyle),c.onChange(async d=>{this.plugin.settings.commonStyles.aliasArrayStyle=d,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s);let p=["multi-line","single-line","single string to single-line","single string to multi-line","single-line space delimited","single string space delimited","single string comma delimited"];r=i.createDiv(),o="YAML tags section style",s="The style of the YAML tags section",new ce.Setting(r).setName(o).setDesc(s).addDropdown(c=>{p.forEach(d=>{c.addOption(d,d)}),c.setValue(this.plugin.settings.commonStyles.tagArrayStyle),c.onChange(async d=>{this.plugin.settings.commonStyles.tagArrayStyle=d,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s);let m=['"',"'"];r=i.createDiv(),o="Default Escape Character",s="The default character to use to escape YAML values when a single quote and double quote are not present.",new ce.Setting(r).setName(o).setDesc(s).addDropdown(c=>{m.forEach(d=>{c.addOption(d,d)}),c.setValue(this.plugin.settings.commonStyles.escapeCharacter),c.onChange(async d=>{this.plugin.settings.commonStyles.escapeCharacter=d,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s),r=i.createDiv(),o="Number of Dollar Signs to Indicate Math Block",s="The amount of dollar signs to consider the math content to be a math block instead of inline math",new ce.Setting(r).setName(o).setDesc(s).addText(c=>{c.setValue(this.plugin.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock.toString()).onChange(async d=>{let h=parseInt(d);isNaN(h)&&(h=2),this.plugin.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock=h,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s)}generateSearchBar(n){let i=new ce.Setting(n);i.settingEl.style.border="none",i.addSearch(r=>{this.search=r}),this.search.setPlaceholder("Search all settings"),this.search.inputEl.onfocus=()=>{for(let r of this.tabContent){let o=r[1];o.navButton.removeClass("linter-navigation-item-selected"),this.unhideEl(o.content),this.unhideEl(o.heading);let s=this.search.getValue();this.selectedTab==""&&s.trim()!=""&&this.searchSettings(s.toLowerCase()),this.selectedTab=""}},this.search.onChange(r=>{this.searchSettings(r.toLowerCase())})}generateSettingsTitle(n,i){let r=n.createDiv("linter-setting-title");i?r.addClass("linter-mobile"):r.createEl("h1").setText("Linter"),this.generateSearchBar(r)}searchSettings(n){let i=new Set,r=this,o=function(s,a){r.unhideEl(s),i.has(a)||i.add(a)};for(let s of this.searchSettingInfo){let a=s[0],l=s[1];for(let u of l)if(n.trim()===""||u.alias?.includes(n)||u.description.includes(n)||u.name.includes(n))o(u.containerEl,a);else if(u.options)for(let p of u.options){if(p.description.toLowerCase().includes(n)||p.name.toLowerCase().includes(n)){o(u.containerEl,a);break}else if(p.options){for(let m of p.options)if(m.description.toLowerCase().includes(n)||m.value.toLowerCase().includes(n)){o(u.containerEl,a);break}}this.hideEl(u.containerEl)}else this.hideEl(u.containerEl)}for(let s of this.tabContent)i.has(s[0])?this.unhideEl(s[1].heading):this.hideEl(s[1].heading);i.size===0?this.unhideEl(this.searchZeroState):this.hideEl(this.searchZeroState)}createSearchZeroState(n){this.searchZeroState=n.createDiv(),this.hideEl(this.searchZeroState),this.searchZeroState.createEl(ce.Platform.isMobile?"h3":"h2",{text:"No settings match search"}).style.textAlign="center"}addSettingToMasterSettingsList(n,i,r="",o="",s=null,a=null){let l={containerEl:i,name:r.toLowerCase(),description:o.toLowerCase(),options:s,alias:a};this.searchSettingInfo.has(n)?this.searchSettingInfo.get(n).push(l):this.searchSettingInfo.set(n,[l])}hideEl(n){n.addClass("linter-visually-hidden")}unhideEl(n){n.removeClass("linter-visually-hidden")}};var xg={en:"en-gb",zh:"zh-cn","zh-TW":"zh-tw",ru:"ru",ko:"ko",it:"it",id:"id",ro:"ro","pt-BR":"pt-br",cz:"cs",da:"da",de:"de",es:"es",fr:"fr",no:"nn",pl:"pl",pt:"pt",tr:"tr",hi:"hi",nl:"nl",ar:"ar",ja:"ja"},vg={ruleConfigs:{},lintOnSave:!1,displayChanged:!0,foldersToIgnore:[],linterLocale:"system-default",logLevel:Gu.default.levels.ERROR,lintCommands:[],commonStyles:{aliasArrayStyle:"single-line",tagArrayStyle:"single-line",minimumNumberOfDollarSignsToBeAMathBlock:2,escapeCharacter:'"'}},Bo=class extends oe.Plugin{constructor(){super(...arguments);this.eventRefs=[];this.isEnabled=!0;this.rulesRunner=new wo}async onload(){ui("Loading plugin"),this.isEnabled=!0;for(let n in Me){let i=Me[n];(0,oe.addIcon)(i.id,i.source)}await this.loadSettings(),this.addCommands(),this.registerEventsAndSaveCallback(),this.addSettingTab(new Eo(this.app,this))}async onunload(){ui("Unloading plugin"),this.isEnabled=!1;for(let n of this.eventRefs)this.app.workspace.offref(n)}async loadSettings(){let n=await this.loadData();this.settings=Object.assign({},vg,n),kl(this.settings.logLevel),this.setOrUpdateMomentInstance();let i=this.settings.ruleConfigs["Move Tags to Yaml"];if(i){let o=i["Force Yaml Escape on Keys"];o&&(this.settings.ruleConfigs["Force YAML Escape"]||(this.settings.ruleConfigs["Force YAML Escape"]={}),this.settings.ruleConfigs["Force YAML Escape"]["Force YAML Escape on Keys"]=o??this.settings.ruleConfigs["Force YAML Escape"]["Force YAML Escape on Keys"]),delete this.settings.ruleConfigs["Escape YAML Special Characters"]["Force Yaml Escape on Keys"]}let r=this.settings.ruleConfigs["Move Tags to Yaml"];if(r){let o=r["Remove the hashtag from tags in content body"];o!=null&&(this.settings.ruleConfigs["Move Tags to Yaml"]["Body tag operation"]=o?"Remove hashtag":"Nothing",delete this.settings.ruleConfigs["Move Tags to Yaml"]["Remove the hashtag from tags in content body"])}this.moveSettingsToCommonSettings();for(let o of gt)this.settings.ruleConfigs[o.name]||(this.settings.ruleConfigs[o.name]=o.getDefaultOptions())}async saveSettings(){await this.saveData(this.settings)}addCommands(){this.addCommand({id:"lint-file",name:"Lint the current file",editorCallback:n=>this.runLinterEditor(n),icon:Me.file.id,hotkeys:[{modifiers:["Mod","Alt"],key:"L"}]}),this.addCommand({id:"lint-all-files",name:"Lint all files in the vault",icon:Me.vault.id,callback:()=>{let n="This will edit all of your files and may introduce errors.",i="Lint All",r="Linting all files...";new ar(this.app,n,i,r,()=>this.runLinterAllFiles(this.app)).open()}}),this.addCommand({id:"lint-all-files-in-folder",name:"Lint all files in the current folder",icon:Me.folder.id,editorCheckCallback:(n,i)=>{if(n)return!this.app.workspace.getActiveFile().parent.isRoot();this.createFolderLintModal(this.app.workspace.getActiveFile().parent)}}),this.addCommand({id:"paste-as-plain-text",name:"Paste as Plain Text & without Modifications",editorCallback:n=>this.pasteAsPlainText(n)})}registerEventsAndSaveCallback(){let n=this.app.workspace.on("editor-paste",s=>{s.defaultPrevented||this.modifyPasteEvent(s)});this.registerEvent(n),this.eventRefs.push(n),n=this.app.workspace.on("file-menu",(s,a,l)=>this.onMenuOpenCallback(s,a,l)),this.registerEvent(n),this.eventRefs.push(n);let i=this.app.commands?.commands?.["editor:save-file"];typeof i?.callback=="function"&&(i.callback=()=>{if(this.settings.lintOnSave&&this.isEnabled){let s=this.getEditor();if(!s)return;let a=this.app.workspace.getActiveFile();this.shouldIgnoreFile(a)||this.runLinterEditor(s)}});let o=this;window.CodeMirrorAdapter.commands.save=()=>{o.app.commands.executeCommandById("editor:save-file")}}onMenuOpenCallback(n,i,r){i instanceof oe.TFile&&i.extension==="md"?n.addItem(o=>{o.setIcon(Me.file.id).setTitle("Lint file").onClick(async()=>{this.runLinterFile(i)})}):i instanceof oe.TFolder&&n.addItem(o=>{o.setTitle("Lint folder").setIcon(Me.folder.id).onClick(()=>this.createFolderLintModal(i))})}shouldIgnoreFile(n){for(let i of this.settings.foldersToIgnore)if(i.length>0&&n.path.startsWith(i))return!0;return!1}async runLinterFile(n){let i=ul(await this.app.vault.read(n)),r=this.rulesRunner.lintText(xo(i,n,this.momentLocale,this.settings));await this.app.vault.modify(n,r)}async runLinterAllFiles(n){let i=0;await Promise.all(n.vault.getMarkdownFiles().map(async o=>{if(!this.shouldIgnoreFile(o))try{await this.runLinterFile(o)}catch(s){this.handleLintError(o,s,"Lint All Files Error in File '${file.path}'"),i+=1}}));let r=0;if(i===0)new oe.Notice("Linted all files",r);else{let o=i===1?"was 1 error":"were "+i+" errors";new oe.Notice("Linted all files and there "+o+".",r)}}async runLinterAllFilesInFolder(n){ui("Linting folder "+n.name);let i=0,r=0,o=(0,oe.normalizePath)(n.path)+"/";await Promise.all(this.app.vault.getMarkdownFiles().map(async a=>{if((0,oe.normalizePath)(a.path).startsWith(o)&&!this.shouldIgnoreFile(a)){try{await this.runLinterFile(a)}catch(l){this.handleLintError(a,l,"Lint All Files in Folder Error in File '${file.path}'"),i+=1}r++}}));let s=0;if(i===0)new oe.Notice("Linted all "+r+" files in "+n.name+".",s);else{let a=i===1?"was 1 error":"were "+i+" errors";new oe.Notice("Linted all "+r+" files in "+n.name+" and there "+a+".",s)}}createFolderLintModal(n){let i="This will edit all of your files in "+n.name+" including files in its subfolders which may introduce errors.",r="Lint All Files in "+n.name,o="Linting all files in "+n.name+"...";new ar(this.app,i,r,o,()=>this.runLinterAllFilesInFolder(n)).open()}runLinterEditor(n){ui("Running linter");let i=this.app.workspace.getActiveFile(),r=n.getValue(),o;try{o=this.rulesRunner.lintText(xo(r,i,this.momentLocale,this.settings))}catch(m){this.handleLintError(i,m,"Lint File Error in File '${file.path}'",!1);return}let a=new Vn.default.diff_match_patch().diff_main(r,o),l="";a.forEach(m=>{function c(g){let x=g.split(` -`);return{line:x.length-1,ch:x[x.length-1].length}}let[d,h]=m;if(d==Vn.default.DIFF_INSERT)n.replaceRange(h,c(l)),l+=h;else if(d==Vn.default.DIFF_DELETE){let g=c(l),x=l;x+=h;let b=c(x);n.replaceRange("",g,b)}else l+=h});let u=a.map(m=>m[0]==Vn.default.DIFF_INSERT?m[1].length:0).reduce((m,c)=>m+c,0),p=a.map(m=>m[0]==Vn.default.DIFF_DELETE?m[1].length:0).reduce((m,c)=>m+c,0);this.displayChangedMessage(u,p);try{this.rulesRunner.runCustomCommands(this.settings.lintCommands,this.app.commands)}catch(m){this.handleLintError(i,m,"Lint File Error in File '${file.path}'",!1)}}async setOrUpdateMomentInstance(){let n=localStorage.getItem("language")||"en",i=navigator.language?.toLowerCase(),r=xg[n];this.settings.linterLocale!=="system-default"?r=this.settings.linterLocale:i.startsWith(n)&&(r=i),this.momentLocale=r;let o=_o.moment.locale(),s=_o.moment.locale(r);Ft(`Trying to switch Moment.js locale to ${r}, got ${s}`),_o.moment.locale(o)}displayChangedMessage(n,i){if(this.settings.displayChanged){let r=f` +`,Ie={folder:{id:"lint-folder",source:Wh},file:{id:"lint-file",source:jh},vault:{id:"lint-vault",source:Uh},whitespace:{id:"lint-whitespace",source:Gh},math:{id:"lint-math",source:Zh},content:{id:"lint-content",source:Qh},paste:{id:"lint-paste",source:Xh},custom:{id:"lint-custom",source:Jh},heading:{id:"lint-heading",source:eg},footer:{id:"lint-footer",source:tg},yaml:{id:"lint-yaml",source:ng},general:{id:"lint-general",source:ig}};var Hn=require("obsidian");var Io=class{constructor(){this.disabledRules=[]}lintText(t){let n=t.oldText;this.disabledRules=Bl(n);let i=this.runBeforeRegularRules(t);for(let r of yt){if(this.disabledRules.includes(r.alias())){Tt(r.alias()+" is disabled");continue}else if(r.hasSpecialExecutionOrder||r.type==="Paste")continue;[i]=st.applyIfEnabledBase(r,i,t.settings,{fileCreatedTime:t.fileInfo.createdAtFormatted,fileModifiedTime:t.fileInfo.modifiedAtFormatted,fileName:t.fileInfo.name,locale:t.momentLocale,minimumNumberOfDollarSignsToBeAMathBlock:t.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock,aliasArrayStyle:t.settings.commonStyles.aliasArrayStyle,tagArrayStyle:t.settings.commonStyles.tagArrayStyle,defaultEscapeCharacter:t.settings.commonStyles.escapeCharacter})}return i=this.runCustomRegexReplacement(t.settings.customRegexes,i),t.oldText=i,this.runAfterRegularRules(n,t)}runBeforeRegularRules(t){let n=t.oldText;return[n]=on.applyIfEnabled(n,t.settings,this.disabledRules),[n]=nn.applyIfEnabled(n,t.settings,this.disabledRules,{defaultEscapeCharacter:t.settings.commonStyles.escapeCharacter}),n}runAfterRegularRules(t,n){let i=n.oldText;[i]=rn.applyIfEnabled(i,n.settings,this.disabledRules,{defaultEscapeCharacter:n.settings.commonStyles.escapeCharacter});let r=n.getCurrentTime(),o;[i,o]=Ht.applyIfEnabled(i,n.settings,this.disabledRules,{fileCreatedTime:n.fileInfo.createdAtFormatted,fileModifiedTime:n.fileInfo.modifiedAtFormatted,currentTime:r,alreadyModified:t!=i,locale:n.momentLocale});let s=Ht.getRuleOptions(n.settings);return r=n.getCurrentTime(),[i]=hn.applyIfEnabled(i,n.settings,this.disabledRules,{currentTimeFormatted:r.format(s.format),yamlTimestampDateModifiedEnabled:o&&s.dateModified,dateModifiedKey:s.dateModifiedKey}),i}runCustomCommands(t,n){Tt("Running Custom Lint Commands");let i=new Set;for(let r of t){if(r.id){if(i.has(r.id)){Xr(`You cannot run the same command ("${r.name}") as a custom lint rule twice.`);continue}}else continue;try{i.add(r.id),n.executeCommandById(r.id)}catch(o){Gr(o,`Custom Lint Command ${r.id}`)}}}runCustomRegexReplacement(t,n){Tt("Running Custom Regex");let i=n;for(let r of t){if(r.find==null||r.replace===void 0||r.replace===null)continue;let o=new RegExp(`${r.find}`,r.flags);i=i.replace(o,Tl(r.replace))}return i}runPasteLint(t,n){let i=n.oldText;return[i]=pn.applyIfEnabled(i,n.settings,[]),[i]=dn.applyIfEnabled(i,n.settings,[]),[i]=mn.applyIfEnabled(i,n.settings,[]),[i]=ln.applyIfEnabled(i,n.settings,[]),[i]=cn.applyIfEnabled(i,n.settings,[]),[i]=sn.applyIfEnabled(i,n.settings,[],{lineContent:t}),[i]=an.applyIfEnabled(i,n.settings,[],{lineContent:t}),[i]=Qt.applyIfEnabled(i,n.settings,[],{lineContent:t}),i}};function dr(e,t=null,n,i){let r=t?(0,Hn.moment)(t.stat.ctime):(0,Hn.moment)();r.locale(n);let o=t?(0,Hn.moment)(t.stat.mtime):(0,Hn.moment)();o.locale(n);let s=o.format(),a=r.format();return{oldText:e,fileInfo:{name:t?t.basename:"",createdAtFormatted:a,modifiedAtFormatted:s},settings:i,momentLocale:n,getCurrentTime:()=>{let l=(0,Hn.moment)();return l.locale(n),l}}}var Mo=require("obsidian"),fr=class extends Mo.Modal{constructor(t,n,i,r,o){super(t),this.modalEl.addClass("confirm-modal"),this.contentEl.createEl("h3",{text:"Warning"}).style.textAlign="center",this.contentEl.createEl("p",{text:n+" Make sure you have backed up your files."}).id="confirm-dialog",this.contentEl.createDiv("modal-button-container",s=>{s.createEl("button",{text:"Cancel"}).addEventListener("click",()=>this.close());let a=s.createEl("button",{attr:{type:"submit"},cls:"mod-cta",text:i});a.addEventListener("click",async l=>{new Mo.Notice(r),this.close(),await o()}),setTimeout(()=>{a.focus()},50)})}};var de=require("obsidian");var cp=require("obsidian");var up=require("obsidian");var Hu=require("obsidian");var zn=class{constructor(t,n,i,r,o,s,a,l,p){this.containerEl=t;this.name=n;this.description=i;this.warning=r;this.addInputBtnText=o;this.isMobile=s;this.app=a;this.saveSettings=l;this.onAddInput=p}display(){this.containerEl.createEl(this.isMobile?"h4":"h3",{text:this.name}),He(this.description,this.containerEl),this.warning!=null&&this.containerEl.createEl("p",{text:this.warning,cls:"mod-warning"}),new Hu.Setting(this.containerEl).addButton(t=>{t.setButtonText(this.addInputBtnText).setCta().onClick(()=>this.onAddInput())}),this.inputElDiv=this.containerEl.createDiv(),this.showInputEls()}resetInputEls(){this.inputElDiv.empty(),this.showInputEls()}};var lp=require("obsidian");var pe="top",we="bottom",he="right",me="left",Fo="auto",zt=[pe,we,he,me],Et="start",gn="end",zu="clippingParents",Ro="viewport",Yn="popper",Yu="reference",da=zt.reduce(function(e,t){return e.concat([t+"-"+Et,t+"-"+gn])},[]),Do=[].concat(zt,[Fo]).reduce(function(e,t){return e.concat([t,t+"-"+Et,t+"-"+gn])},[]),rg="beforeRead",og="read",sg="afterRead",ag="beforeMain",lg="main",ug="afterMain",pg="beforeWrite",cg="write",mg="afterWrite",qu=[rg,og,sg,ag,lg,ug,pg,cg,mg];function Ce(e){return e?(e.nodeName||"").toLowerCase():null}function ue(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function tt(e){var t=ue(e).Element;return e instanceof t||e instanceof Element}function xe(e){var t=ue(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function qn(e){if(typeof ShadowRoot>"u")return!1;var t=ue(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function dg(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var i=t.styles[n]||{},r=t.attributes[n]||{},o=t.elements[n];!xe(o)||!Ce(o)||(Object.assign(o.style,i),Object.keys(r).forEach(function(s){var a=r[s];a===!1?o.removeAttribute(s):o.setAttribute(s,a===!0?"":a)}))})}function fg(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(i){var r=t.elements[i],o=t.attributes[i]||{},s=Object.keys(t.styles.hasOwnProperty(i)?t.styles[i]:n[i]),a=s.reduce(function(l,p){return l[p]="",l},{});!xe(r)||!Ce(r)||(Object.assign(r.style,a),Object.keys(o).forEach(function(l){r.removeAttribute(l)}))})}}var Ku={name:"applyStyles",enabled:!0,phase:"write",fn:dg,effect:fg,requires:["computeStyles"]};function Ee(e){return e.split("-")[0]}var ut=Math.max,yn=Math.min,Lt=Math.round;function Kn(){var e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function hr(){return!/^((?!chrome|android).)*safari/i.test(Kn())}function nt(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var i=e.getBoundingClientRect(),r=1,o=1;t&&xe(e)&&(r=e.offsetWidth>0&&Lt(i.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Lt(i.height)/e.offsetHeight||1);var s=tt(e)?ue(e):window,a=s.visualViewport,l=!hr()&&n,p=(i.left+(l&&a?a.offsetLeft:0))/r,u=(i.top+(l&&a?a.offsetTop:0))/o,m=i.width/r,c=i.height/o;return{width:m,height:c,top:u,right:p+m,bottom:u+c,left:p,x:p,y:u}}function bn(e){var t=nt(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function gr(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&qn(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function qe(e){return ue(e).getComputedStyle(e)}function fa(e){return["table","td","th"].indexOf(Ce(e))>=0}function Me(e){return((tt(e)?e.ownerDocument:e.document)||window.document).documentElement}function _t(e){return Ce(e)==="html"?e:e.assignedSlot||e.parentNode||(qn(e)?e.host:null)||Me(e)}function Vu(e){return!xe(e)||qe(e).position==="fixed"?null:e.offsetParent}function hg(e){var t=/firefox/i.test(Kn()),n=/Trident/i.test(Kn());if(n&&xe(e)){var i=qe(e);if(i.position==="fixed")return null}var r=_t(e);for(qn(r)&&(r=r.host);xe(r)&&["html","body"].indexOf(Ce(r))<0;){var o=qe(r);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return r;r=r.parentNode}return null}function pt(e){for(var t=ue(e),n=Vu(e);n&&fa(n)&&qe(n).position==="static";)n=Vu(n);return n&&(Ce(n)==="html"||Ce(n)==="body"&&qe(n).position==="static")?t:n||hg(e)||t}function wn(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function xn(e,t,n){return ut(e,yn(t,n))}function ju(e,t,n){var i=xn(e,t,n);return i>n?n:i}function yr(){return{top:0,right:0,bottom:0,left:0}}function br(e){return Object.assign({},yr(),e)}function wr(e,t){return t.reduce(function(n,i){return n[i]=e,n},{})}var gg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,br(typeof t!="number"?t:wr(t,zt))};function yg(e){var t,n=e.state,i=e.name,r=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,a=Ee(n.placement),l=wn(a),p=[me,he].indexOf(a)>=0,u=p?"height":"width";if(!(!o||!s)){var m=gg(r.padding,n),c=bn(o),f=l==="y"?pe:me,h=l==="y"?we:he,g=n.rects.reference[u]+n.rects.reference[l]-s[l]-n.rects.popper[u],w=s[l]-n.rects.reference[l],y=pt(o),E=y?l==="y"?y.clientHeight||0:y.clientWidth||0:0,A=g/2-w/2,L=m[f],M=E-c[u]-m[h],T=E/2-c[u]/2+A,B=xn(L,T,M),I=l;n.modifiersData[i]=(t={},t[I]=B,t.centerOffset=B-T,t)}}function bg(e){var t=e.state,n=e.options,i=n.element,r=i===void 0?"[data-popper-arrow]":i;r!=null&&(typeof r=="string"&&(r=t.elements.popper.querySelector(r),!r)||!gr(t.elements.popper,r)||(t.elements.arrow=r))}var Wu={name:"arrow",enabled:!0,phase:"main",fn:yg,effect:bg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function it(e){return e.split("-")[1]}var wg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function xg(e){var t=e.x,n=e.y,i=window,r=i.devicePixelRatio||1;return{x:Lt(t*r)/r||0,y:Lt(n*r)/r||0}}function Uu(e){var t,n=e.popper,i=e.popperRect,r=e.placement,o=e.variation,s=e.offsets,a=e.position,l=e.gpuAcceleration,p=e.adaptive,u=e.roundOffsets,m=e.isFixed,c=s.x,f=c===void 0?0:c,h=s.y,g=h===void 0?0:h,w=typeof u=="function"?u({x:f,y:g}):{x:f,y:g};f=w.x,g=w.y;var y=s.hasOwnProperty("x"),E=s.hasOwnProperty("y"),A=me,L=pe,M=window;if(p){var T=pt(n),B="clientHeight",I="clientWidth";if(T===ue(n)&&(T=Me(n),qe(T).position!=="static"&&a==="absolute"&&(B="scrollHeight",I="scrollWidth")),T=T,r===pe||(r===me||r===he)&&o===gn){L=we;var P=m&&T===M&&M.visualViewport?M.visualViewport.height:T[B];g-=P-i.height,g*=l?1:-1}if(r===me||(r===pe||r===we)&&o===gn){A=he;var K=m&&T===M&&M.visualViewport?M.visualViewport.width:T[I];f-=K-i.width,f*=l?1:-1}}var z=Object.assign({position:a},p&&wg),V=u===!0?xg({x:f,y:g}):{x:f,y:g};if(f=V.x,g=V.y,l){var F;return Object.assign({},z,(F={},F[L]=E?"0":"",F[A]=y?"0":"",F.transform=(M.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",F))}return Object.assign({},z,(t={},t[L]=E?g+"px":"",t[A]=y?f+"px":"",t.transform="",t))}function vg(e){var t=e.state,n=e.options,i=n.gpuAcceleration,r=i===void 0?!0:i,o=n.adaptive,s=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a;if(!1)var p;var u={placement:Ee(t.placement),variation:it(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Uu(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Uu(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var Gu={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:vg,data:{}};var $o={passive:!0};function kg(e){var t=e.state,n=e.instance,i=e.options,r=i.scroll,o=r===void 0?!0:r,s=i.resize,a=s===void 0?!0:s,l=ue(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&p.forEach(function(u){u.addEventListener("scroll",n.update,$o)}),a&&l.addEventListener("resize",n.update,$o),function(){o&&p.forEach(function(u){u.removeEventListener("scroll",n.update,$o)}),a&&l.removeEventListener("resize",n.update,$o)}}var Zu={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:kg,data:{}};var Sg={left:"right",right:"left",bottom:"top",top:"bottom"};function Vn(e){return e.replace(/left|right|bottom|top/g,function(t){return Sg[t]})}var Tg={start:"end",end:"start"};function Po(e){return e.replace(/start|end/g,function(t){return Tg[t]})}function vn(e){var t=ue(e),n=t.pageXOffset,i=t.pageYOffset;return{scrollLeft:n,scrollTop:i}}function kn(e){return nt(Me(e)).left+vn(e).scrollLeft}function ha(e,t){var n=ue(e),i=Me(e),r=n.visualViewport,o=i.clientWidth,s=i.clientHeight,a=0,l=0;if(r){o=r.width,s=r.height;var p=hr();(p||!p&&t==="fixed")&&(a=r.offsetLeft,l=r.offsetTop)}return{width:o,height:s,x:a+kn(e),y:l}}function ga(e){var t,n=Me(e),i=vn(e),r=(t=e.ownerDocument)==null?void 0:t.body,o=ut(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=ut(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+kn(e),l=-i.scrollTop;return qe(r||n).direction==="rtl"&&(a+=ut(n.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}function Sn(e){var t=qe(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+i)}function No(e){return["html","body","#document"].indexOf(Ce(e))>=0?e.ownerDocument.body:xe(e)&&Sn(e)?e:No(_t(e))}function Yt(e,t){var n;t===void 0&&(t=[]);var i=No(e),r=i===((n=e.ownerDocument)==null?void 0:n.body),o=ue(i),s=r?[o].concat(o.visualViewport||[],Sn(i)?i:[]):i,a=t.concat(s);return r?a:a.concat(Yt(_t(s)))}function jn(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Og(e,t){var n=nt(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Qu(e,t,n){return t===Ro?jn(ha(e,n)):tt(t)?Og(t,n):jn(ga(Me(e)))}function Ag(e){var t=Yt(_t(e)),n=["absolute","fixed"].indexOf(qe(e).position)>=0,i=n&&xe(e)?pt(e):e;return tt(i)?t.filter(function(r){return tt(r)&&gr(r,i)&&Ce(r)!=="body"}):[]}function ya(e,t,n,i){var r=t==="clippingParents"?Ag(e):[].concat(t),o=[].concat(r,[n]),s=o[0],a=o.reduce(function(l,p){var u=Qu(e,p,i);return l.top=ut(u.top,l.top),l.right=yn(u.right,l.right),l.bottom=yn(u.bottom,l.bottom),l.left=ut(u.left,l.left),l},Qu(e,s,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function xr(e){var t=e.reference,n=e.element,i=e.placement,r=i?Ee(i):null,o=i?it(i):null,s=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(r){case pe:l={x:s,y:t.y-n.height};break;case we:l={x:s,y:t.y+t.height};break;case he:l={x:t.x+t.width,y:a};break;case me:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var p=r?wn(r):null;if(p!=null){var u=p==="y"?"height":"width";switch(o){case Et:l[p]=l[p]-(t[u]/2-n[u]/2);break;case gn:l[p]=l[p]+(t[u]/2-n[u]/2);break;default:}}return l}function ct(e,t){t===void 0&&(t={});var n=t,i=n.placement,r=i===void 0?e.placement:i,o=n.strategy,s=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?zu:a,p=n.rootBoundary,u=p===void 0?Ro:p,m=n.elementContext,c=m===void 0?Yn:m,f=n.altBoundary,h=f===void 0?!1:f,g=n.padding,w=g===void 0?0:g,y=br(typeof w!="number"?w:wr(w,zt)),E=c===Yn?Yu:Yn,A=e.rects.popper,L=e.elements[h?E:c],M=ya(tt(L)?L:L.contextElement||Me(e.elements.popper),l,u,s),T=nt(e.elements.reference),B=xr({reference:T,element:A,strategy:"absolute",placement:r}),I=jn(Object.assign({},A,B)),P=c===Yn?I:T,K={top:M.top-P.top+y.top,bottom:P.bottom-M.bottom+y.bottom,left:M.left-P.left+y.left,right:P.right-M.right+y.right},z=e.modifiersData.offset;if(c===Yn&&z){var V=z[r];Object.keys(K).forEach(function(F){var j=[he,we].indexOf(F)>=0?1:-1,J=[pe,we].indexOf(F)>=0?"y":"x";K[F]+=V[J]*j})}return K}function ba(e,t){t===void 0&&(t={});var n=t,i=n.placement,r=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,p=l===void 0?Do:l,u=it(i),m=u?a?da:da.filter(function(h){return it(h)===u}):zt,c=m.filter(function(h){return p.indexOf(h)>=0});c.length===0&&(c=m);var f=c.reduce(function(h,g){return h[g]=ct(e,{placement:g,boundary:r,rootBoundary:o,padding:s})[Ee(g)],h},{});return Object.keys(f).sort(function(h,g){return f[h]-f[g]})}function Cg(e){if(Ee(e)===Fo)return[];var t=Vn(e);return[Po(e),t,Po(t)]}function Eg(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var r=n.mainAxis,o=r===void 0?!0:r,s=n.altAxis,a=s===void 0?!0:s,l=n.fallbackPlacements,p=n.padding,u=n.boundary,m=n.rootBoundary,c=n.altBoundary,f=n.flipVariations,h=f===void 0?!0:f,g=n.allowedAutoPlacements,w=t.options.placement,y=Ee(w),E=y===w,A=l||(E||!h?[Vn(w)]:Cg(w)),L=[w].concat(A).reduce(function(Ke,Pe){return Ke.concat(Ee(Pe)===Fo?ba(t,{placement:Pe,boundary:u,rootBoundary:m,padding:p,flipVariations:h,allowedAutoPlacements:g}):Pe)},[]),M=t.rects.reference,T=t.rects.popper,B=new Map,I=!0,P=L[0],K=0;K=0,J=j?"width":"height",Z=ct(t,{placement:z,boundary:u,rootBoundary:m,altBoundary:c,padding:p}),se=j?F?he:me:F?we:pe;M[J]>T[J]&&(se=Vn(se));var ae=Vn(se),le=[];if(o&&le.push(Z[V]<=0),a&&le.push(Z[se]<=0,Z[ae]<=0),le.every(function(Ke){return Ke})){P=z,I=!1;break}B.set(z,le)}if(I)for(var ne=h?3:1,v=function(Pe){var rt=L.find(function(Ve){var ee=B.get(Ve);if(ee)return ee.slice(0,Pe).every(function(wt){return wt})});if(rt)return P=rt,"break"},b=ne;b>0;b--){var mt=v(b);if(mt==="break")break}t.placement!==P&&(t.modifiersData[i]._skip=!0,t.placement=P,t.reset=!0)}}var Xu={name:"flip",enabled:!0,phase:"main",fn:Eg,requiresIfExists:["offset"],data:{_skip:!1}};function Ju(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ep(e){return[pe,he,we,me].some(function(t){return e[t]>=0})}function Lg(e){var t=e.state,n=e.name,i=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,s=ct(t,{elementContext:"reference"}),a=ct(t,{altBoundary:!0}),l=Ju(s,i),p=Ju(a,r,o),u=ep(l),m=ep(p);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:p,isReferenceHidden:u,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":m})}var tp={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Lg};function _g(e,t,n){var i=Ee(e),r=[me,pe].indexOf(i)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[me,he].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}function Bg(e){var t=e.state,n=e.options,i=e.name,r=n.offset,o=r===void 0?[0,0]:r,s=Do.reduce(function(u,m){return u[m]=_g(m,t.rects,o),u},{}),a=s[t.placement],l=a.x,p=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=p),t.modifiersData[i]=s}var np={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Bg};function Ig(e){var t=e.state,n=e.name;t.modifiersData[n]=xr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var ip={name:"popperOffsets",enabled:!0,phase:"read",fn:Ig,data:{}};function wa(e){return e==="x"?"y":"x"}function Mg(e){var t=e.state,n=e.options,i=e.name,r=n.mainAxis,o=r===void 0?!0:r,s=n.altAxis,a=s===void 0?!1:s,l=n.boundary,p=n.rootBoundary,u=n.altBoundary,m=n.padding,c=n.tether,f=c===void 0?!0:c,h=n.tetherOffset,g=h===void 0?0:h,w=ct(t,{boundary:l,rootBoundary:p,padding:m,altBoundary:u}),y=Ee(t.placement),E=it(t.placement),A=!E,L=wn(y),M=wa(L),T=t.modifiersData.popperOffsets,B=t.rects.reference,I=t.rects.popper,P=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,K=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),z=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(!!T){if(o){var F,j=L==="y"?pe:me,J=L==="y"?we:he,Z=L==="y"?"height":"width",se=T[L],ae=se+w[j],le=se-w[J],ne=f?-I[Z]/2:0,v=E===Et?B[Z]:I[Z],b=E===Et?-I[Z]:-B[Z],mt=t.elements.arrow,Ke=f&&mt?bn(mt):{width:0,height:0},Pe=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:yr(),rt=Pe[j],Ve=Pe[J],ee=xn(0,B[Z],Ke[Z]),wt=A?B[Z]/2-ne-ee-rt-K.mainAxis:v-ee-rt-K.mainAxis,ot=A?-B[Z]/2+ne+ee+Ve+K.mainAxis:b+ee+Ve+K.mainAxis,dt=t.elements.arrow&&pt(t.elements.arrow),Bt=dt?L==="y"?dt.clientTop||0:dt.clientLeft||0:0,qt=(F=z?.[L])!=null?F:0,jo=se+wt-qt-Bt,Wo=se+ot-qt,kr=xn(f?yn(ae,jo):ae,se,f?ut(le,Wo):le);T[L]=kr,V[L]=kr-se}if(a){var Un,Sr=L==="x"?pe:me,Tr=L==="x"?we:he,xt=T[M],Kt=M==="y"?"height":"width",Gn=xt+w[Sr],Or=xt-w[Tr],Zn=[pe,me].indexOf(y)!==-1,Ar=(Un=z?.[M])!=null?Un:0,Cr=Zn?Gn:xt-B[Kt]-I[Kt]-Ar+K.altAxis,Er=Zn?xt+B[Kt]+I[Kt]-Ar-K.altAxis:Or,C=f&&Zn?ju(Cr,xt,Er):xn(f?Cr:Gn,xt,f?Er:Or);T[M]=C,V[M]=C-xt}t.modifiersData[i]=V}}var rp={name:"preventOverflow",enabled:!0,phase:"main",fn:Mg,requiresIfExists:["offset"]};function xa(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function va(e){return e===ue(e)||!xe(e)?vn(e):xa(e)}function Fg(e){var t=e.getBoundingClientRect(),n=Lt(t.width)/e.offsetWidth||1,i=Lt(t.height)/e.offsetHeight||1;return n!==1||i!==1}function ka(e,t,n){n===void 0&&(n=!1);var i=xe(t),r=xe(t)&&Fg(t),o=Me(t),s=nt(e,r,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&((Ce(t)!=="body"||Sn(o))&&(a=va(t)),xe(t)?(l=nt(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=kn(o))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function Rg(e){var t=new Map,n=new Set,i=[];e.forEach(function(o){t.set(o.name,o)});function r(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&r(l)}}),i.push(o)}return e.forEach(function(o){n.has(o.name)||r(o)}),i}function Sa(e){var t=Rg(e);return qu.reduce(function(n,i){return n.concat(t.filter(function(r){return r.phase===i}))},[])}function Ta(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Oa(e){var t=e.reduce(function(n,i){var r=n[i.name];return n[i.name]=r?Object.assign({},r,i,{options:Object.assign({},r.options,i.options),data:Object.assign({},r.data,i.data)}):i,n},{});return Object.keys(t).map(function(n){return t[n]})}var op={placement:"bottom",modifiers:[],strategy:"absolute"};function sp(){for(var e=arguments.length,t=new Array(e),n=0;n(e%t+t)%t,Ca=class{constructor(t,n,i){this.owner=t,this.containerEl=n,n.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),n.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),i.register([],"ArrowUp",r=>{if(!r.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),i.register([],"ArrowDown",r=>{if(!r.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),i.register([],"Enter",r=>{if(!r.isComposing)return this.useSelectedItem(r),!1})}onSuggestionClick(t,n){t.preventDefault();let i=this.suggestions.indexOf(n);this.setSelectedItem(i,!1),this.useSelectedItem(t)}onSuggestionMouseover(t,n){let i=this.suggestions.indexOf(n);this.setSelectedItem(i,!1)}setSuggestions(t){this.containerEl.empty();let n=[];t.forEach(i=>{let r=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(i,r),n.push(r)}),this.values=t,this.suggestions=n,this.setSelectedItem(0,!1)}useSelectedItem(t){let n=this.values[this.selectedItem];n&&this.owner.selectSuggestion(n,t)}setSelectedItem(t,n){let i=$g(t,this.suggestions.length),r=this.suggestions[this.selectedItem],o=this.suggestions[i];r?.removeClass("is-selected"),o?.addClass("is-selected"),this.selectedItem=i,n&&o.scrollIntoView(!1)}},Ho=class{constructor(t,n){this.app=t,this.inputEl=n,this.scope=new lp.Scope,this.suggestEl=createDiv("suggestion-container");let i=this.suggestEl.createDiv("suggestion");this.suggest=new Ca(this,i,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",r=>{r.preventDefault()})}onInputChanged(){let t=this.inputEl.value,n=this.getSuggestions(t);if(!n){this.close();return}n.length>0?(this.suggest.setSuggestions(n),this.open(this.app.dom.appContainerEl,this.inputEl)):this.close()}open(t,n){this.app.keymap.pushScope(this.scope),t.appendChild(this.suggestEl),this.popper=Aa(n,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:i,instance:r})=>{let o=`${i.rects.reference.width}px`;i.styles.popper.width!==o&&(i.styles.popper.width=o,r.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}};var vr=class extends Ho{constructor(n,i,r=[]){super(n,i);this.app=n;this.inputEl=i;this.valuesToExclude=r}getSuggestions(n){let i=this.app.commands.listCommands();if(!i)return[];let r=i.filter(a=>{for(let l of this.valuesToExclude)if(l.id==a.id&&!(this.inputEl.hasAttribute("commandId")&&this.inputEl.getAttribute("commandId")==a.id))return!1;return!0}),o=[],s=n.toLowerCase();return r.forEach(a=>{(a.id.contains(s)||a.name.toLowerCase().contains(s))&&o.push(a)}),o}renderSuggestion(n,i){i.setText(n.name)}selectSuggestion(n){this.inputEl.value=n.name,this.inputEl.setAttribute("commandId",n.id),this.inputEl.trigger("input"),this.close()}};var zo=class extends zn{constructor(n,i,r,o,s){super(n,"Custom Commands","Custom commands are Obsidian commands that get run after the linter is finished running its regular rules. This means that they do not run before the YAML timestamp logic runs, so they can cause YAML timestamp to be triggered on the next run of the linter. You may only select an Obsidian command once. **_Note that this currently only works on linting the current file._**","When selecting an option, make sure to select the option either by using the mouse or by hitting the enter key. Other selection methods may not work and only selections of an actual Obsidian command or an empty string will be saved.","Add new command",r,o,s,()=>{let a={id:"",name:""};this.lintCommands.push(a),this.saveSettings(),this.addCommand(a,this.lintCommands.length-1,!0)});this.lintCommands=i;this.display()}showInputEls(){this.lintCommands.forEach((n,i)=>{this.addCommand(n,i)})}addCommand(n,i,r=!1){new up.Setting(this.inputElDiv).addSearch(o=>{new vr(this.app,o.inputEl,this.lintCommands),o.setPlaceholder("Obsidian command").setValue(n.name).onChange(s=>{let a={id:o.inputEl.getAttribute("commandId"),name:s};a.name&&a.id?(this.lintCommands[i]=a,this.saveSettings()):!a.name&&!a.id&&(this.lintCommands[i]=a,this.saveSettings())}),o.inputEl.setAttr("tabIndex",i),o.inputEl.addClass("linter-custom-command"),r&&o.inputEl.focus()}).addExtraButton(o=>{o.setIcon("up-chevron-glyph").setTooltip("Move up").onClick(()=>{this.arrayMove(i,i-1),this.saveSettings(),this.resetInputEls()})}).addExtraButton(o=>{o.setIcon("down-chevron-glyph").setTooltip("Move down").onClick(()=>{this.arrayMove(i,i+1),this.saveSettings(),this.resetInputEls()})}).addExtraButton(o=>{o.setIcon("cross").setTooltip("Delete").onClick(()=>{this.lintCommands.splice(i,1),this.saveSettings(),this.resetInputEls()})})}arrayMove(n,i){if(i<0||i===this.lintCommands.length)return;let r=this.lintCommands[n];this.lintCommands[n]=this.lintCommands[i],this.lintCommands[i]=r}};var pp=require("obsidian");var Pg="gm",Yo=class extends zn{constructor(n,i,r,o,s){super(n,"Custom Regex Replacement","Custom regex replacement can be used to replace anything that matches the find regex with the replacement value. The replace and find values will need to be valid regex values.","Use this with caution if you do not know regex. Also, please make sure that you do not use lookbehinds in your regex on iOS mobile as that will cause linting to fail since that is not supported on that platform.","Add new regex replacement",r,o,s,()=>{let a={find:"",replace:"",flags:Pg};this.regexes.push(a),this.saveSettings(),this.addRegex(a,this.regexes.length-1,!0)});this.regexes=i;this.display()}showInputEls(){this.regexes.forEach((n,i)=>{this.addRegex(n,i)})}addRegex(n,i,r=!1){new pp.Setting(this.inputElDiv).addText(o=>{o.setPlaceholder("regex to find").setValue(n.find).onChange(s=>{this.regexes[i].find=s,this.saveSettings()}),o.inputEl.setAttr("inputIndex",i),o.inputEl.addClass("linter-custom-regex-replacement"),r&&o.inputEl.focus()}).addText(o=>{o.setPlaceholder("flags").setValue(n.flags).onChange(s=>{this.regexes[i].flags=s,this.saveSettings()})}).addText(o=>{o.setPlaceholder("regex to replace").setValue(n.replace).onChange(s=>{this.regexes[i].replace=s,this.saveSettings()})}).addExtraButton(o=>{o.setIcon("cross").setTooltip("Delete").onClick(()=>{this.regexes.splice(i,1),this.saveSettings(),this.resetInputEls()})})}};var Ng={General:Ie.general.id,Custom:Ie.custom.id,YAML:Ie.yaml.id,Heading:Ie.heading.id,Footnote:Ie.footer.id,Content:Ie.content.id,Spacing:Ie.whitespace.id,Paste:Ie.paste.id},qo=class extends de.PluginSettingTab{constructor(n,i){super(n,i);this.tabContent=new Map;this.selectedTab="General";this.searchSettingInfo=new Map;this.plugin=i}display(){let{containerEl:n}=this;n.empty(),this.generateSettingsTitle(n,de.Platform.isMobile);let r=n.createEl("nav",{cls:"linter-setting-header"}).createDiv("linter-setting-tab-group"),o=n.createDiv("linter-setting-content");this.createTabAndContent("General",r,o,(l,p)=>this.generateGeneralSettings(p,l));let s="",a="";for(let l of yt)l.type!==s&&(a=l.type,this.createTabAndContent(a,r,o),s=l.type),this.addRuleToTab(a,l);this.createTabAndContent("Custom",r,o,(l,p)=>this.generateCustomSettings(p,l)),this.createSearchZeroState(o)}createTabAndContent(n,i,r,o){let s=this.selectedTab===n,a=i.createDiv("linter-navigation-item"),l="linter-desktop";de.Platform.isMobile&&(l="linter-mobile"),a.addClass(l),(0,de.setIcon)(a.createSpan({cls:"linter-navigation-item-icon"}),Ng[n],20),a.createSpan().setText(n),a.onclick=()=>{if(this.selectedTab==n)return;a.addClass("linter-navigation-item-selected");let m=this.tabContent.get(n);if(this.unhideEl(m.content),this.selectedTab!=""){let c=this.tabContent.get(this.selectedTab);c.navButton.removeClass("linter-navigation-item-selected"),this.hideEl(c.content)}else{this.hideEl(this.searchZeroState);for(let c of this.searchSettingInfo)for(let f of c[1])this.unhideEl(f.containerEl);for(let c of this.tabContent){let f=c[1];this.hideEl(f.heading),n!==c[0]&&this.hideEl(f.content)}}this.selectedTab=n};let p=r.createDiv("linter-tab-settings"),u=p.createEl("h2",{text:n+" Settings"});this.hideEl(u),p.id=n.toLowerCase().replace(" ","-"),s?a.addClass("linter-navigation-item-selected"):this.hideEl(p),o&&o(p,n),this.tabContent.set(n,{content:p,heading:u,navButton:a})}addRuleToTab(n,i){let r=this.tabContent.get(n).content;if(r==null)return;let o=r.createDiv();o.id=i.alias(),o.createEl(de.Platform.isMobile?"h4":"h3",{},a=>{a.innerHTML=`${i.name}`});let s=[];for(let a of i.options)a.display(o,this.plugin.settings,this.plugin),s.push(a.searchInfo);this.addSettingToMasterSettingsList(n,o,i.name.toLowerCase(),i.description.toLowerCase(),s,o.id)}generateCustomSettings(n,i){let r=i.createDiv(),o=new zo(r,this.plugin.settings.lintCommands,de.Platform.isMobile,this.app,()=>{this.plugin.saveSettings()});this.addSettingToMasterSettingsList(n,r,o.name,o.description.replaceAll(` +`," ")+o.warning.replaceAll(` +`," "));let s=i.createDiv(),a=new Yo(s,this.plugin.settings.customRegexes,de.Platform.isMobile,this.app,()=>{this.plugin.saveSettings()});this.addSettingToMasterSettingsList(n,s,a.name,a.description.replaceAll(` +`," ")+a.warning.replaceAll(` +`," "))}generateGeneralSettings(n,i){let r=i.createDiv(),o="Lint on save",s="Lint the file on manual save (when `Ctrl + S` is pressed or when `:w` is executed while using vim keybindings)",a=new de.Setting(r).setName(o).addToggle(c=>{c.setValue(this.plugin.settings.lintOnSave).onChange(async f=>{this.plugin.settings.lintOnSave=f,await this.plugin.saveSettings()})});He(s,a.descEl),this.addSettingToMasterSettingsList(n,r,o,s),r=i.createDiv(),o="Display message on lint",s="Display the number of characters changed after linting",new de.Setting(r).setName(o).setDesc(s).addToggle(c=>{c.setValue(this.plugin.settings.displayChanged).onChange(async f=>{this.plugin.settings.displayChanged=f,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s),r=i.createDiv(),o="Folders to ignore",s="Folders to ignore when linting all files or linting on save. Enter folder paths separated by newlines",new de.Setting(r).setName(o).setDesc(s).addTextArea(c=>{c.setValue(this.plugin.settings.foldersToIgnore.join(` +`)).onChange(async f=>{this.plugin.settings.foldersToIgnore=f.split(` +`),await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s);let l=navigator.language?.toLowerCase();r=i.createDiv(),o="Override locale",s="Set this if you want to use a locale different from the default",new de.Setting(r).setName(o).setDesc(s).addDropdown(c=>{c.addOption("system-default",`Same as system (${l})`),cp.moment.locales().forEach(f=>{c.addOption(f,f)}),c.setValue(this.plugin.settings.linterLocale),c.onChange(async f=>{this.plugin.settings.linterLocale=f,await this.plugin.setOrUpdateMomentInstance(),await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s);let p=["multi-line","single-line","single string comma delimited","single string to single-line","single string to multi-line"];r=i.createDiv(),o="YAML aliases section style",s="The style of the YAML aliases section",new de.Setting(r).setName(o).setDesc(s).addDropdown(c=>{p.forEach(f=>{c.addOption(f,f)}),c.setValue(this.plugin.settings.commonStyles.aliasArrayStyle),c.onChange(async f=>{this.plugin.settings.commonStyles.aliasArrayStyle=f,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s);let u=["multi-line","single-line","single string to single-line","single string to multi-line","single-line space delimited","single string space delimited","single string comma delimited"];r=i.createDiv(),o="YAML tags section style",s="The style of the YAML tags section",new de.Setting(r).setName(o).setDesc(s).addDropdown(c=>{u.forEach(f=>{c.addOption(f,f)}),c.setValue(this.plugin.settings.commonStyles.tagArrayStyle),c.onChange(async f=>{this.plugin.settings.commonStyles.tagArrayStyle=f,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s);let m=['"',"'"];r=i.createDiv(),o="Default Escape Character",s="The default character to use to escape YAML values when a single quote and double quote are not present.",new de.Setting(r).setName(o).setDesc(s).addDropdown(c=>{m.forEach(f=>{c.addOption(f,f)}),c.setValue(this.plugin.settings.commonStyles.escapeCharacter),c.onChange(async f=>{this.plugin.settings.commonStyles.escapeCharacter=f,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s),r=i.createDiv(),o="Number of Dollar Signs to Indicate Math Block",s="The amount of dollar signs to consider the math content to be a math block instead of inline math",new de.Setting(r).setName(o).setDesc(s).addText(c=>{c.setValue(this.plugin.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock.toString()).onChange(async f=>{let h=parseInt(f);isNaN(h)&&(h=2),this.plugin.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock=h,await this.plugin.saveSettings()})}),this.addSettingToMasterSettingsList(n,r,o,s)}generateSearchBar(n){let i=new de.Setting(n);i.settingEl.style.border="none",i.addSearch(r=>{this.search=r}),this.search.setPlaceholder("Search all settings"),this.search.inputEl.onfocus=()=>{for(let r of this.tabContent){let o=r[1];o.navButton.removeClass("linter-navigation-item-selected"),this.unhideEl(o.content),this.unhideEl(o.heading);let s=this.search.getValue();this.selectedTab==""&&s.trim()!=""&&this.searchSettings(s.toLowerCase()),this.selectedTab=""}},this.search.onChange(r=>{this.searchSettings(r.toLowerCase())})}generateSettingsTitle(n,i){let r=n.createDiv("linter-setting-title");i?r.addClass("linter-mobile"):r.createEl("h1").setText("Linter"),this.generateSearchBar(r)}searchSettings(n){let i=new Set,r=this,o=function(s,a){r.unhideEl(s),i.has(a)||i.add(a)};for(let s of this.searchSettingInfo){let a=s[0],l=s[1];for(let p of l)if(n.trim()===""||p.alias?.includes(n)||p.description.includes(n)||p.name.includes(n))o(p.containerEl,a);else if(p.options)for(let u of p.options){if(u.description.toLowerCase().includes(n)||u.name.toLowerCase().includes(n)){o(p.containerEl,a);break}else if(u.options){for(let m of u.options)if(m.description.toLowerCase().includes(n)||m.value.toLowerCase().includes(n)){o(p.containerEl,a);break}}this.hideEl(p.containerEl)}else this.hideEl(p.containerEl)}for(let s of this.tabContent)i.has(s[0])?this.unhideEl(s[1].heading):this.hideEl(s[1].heading);i.size===0?this.unhideEl(this.searchZeroState):this.hideEl(this.searchZeroState)}createSearchZeroState(n){this.searchZeroState=n.createDiv(),this.hideEl(this.searchZeroState),this.searchZeroState.createEl(de.Platform.isMobile?"h3":"h2",{text:"No settings match search"}).style.textAlign="center"}addSettingToMasterSettingsList(n,i,r="",o="",s=null,a=null){let l={containerEl:i,name:r.toLowerCase(),description:o.toLowerCase(),options:s,alias:a};this.searchSettingInfo.has(n)?this.searchSettingInfo.get(n).push(l):this.searchSettingInfo.set(n,[l])}hideEl(n){n.addClass("linter-visually-hidden")}unhideEl(n){n.removeClass("linter-visually-hidden")}};var Hg={en:"en-gb",zh:"zh-cn","zh-TW":"zh-tw",ru:"ru",ko:"ko",it:"it",id:"id",ro:"ro","pt-BR":"pt-br",cz:"cs",da:"da",de:"de",es:"es",fr:"fr",no:"nn",pl:"pl",pt:"pt",tr:"tr",hi:"hi",nl:"nl",ar:"ar",ja:"ja"},zg={ruleConfigs:{},lintOnSave:!1,displayChanged:!0,foldersToIgnore:[],linterLocale:"system-default",logLevel:mp.default.levels.ERROR,lintCommands:[],customRegexes:[],commonStyles:{aliasArrayStyle:"single-line",tagArrayStyle:"single-line",minimumNumberOfDollarSignsToBeAMathBlock:2,escapeCharacter:'"'}},Vo=class extends oe.Plugin{constructor(){super(...arguments);this.eventRefs=[];this.isEnabled=!0;this.rulesRunner=new Io}async onload(){mi("Loading plugin"),this.isEnabled=!0;for(let n in Ie){let i=Ie[n];(0,oe.addIcon)(i.id,i.source)}await this.loadSettings(),this.addCommands(),this.registerEventsAndSaveCallback(),this.addSettingTab(new qo(this.app,this))}async onunload(){mi("Unloading plugin"),this.isEnabled=!1;for(let n of this.eventRefs)this.app.workspace.offref(n)}async loadSettings(){let n=await this.loadData();this.settings=Object.assign({},zg,n),Dl(this.settings.logLevel),this.setOrUpdateMomentInstance();let i=this.settings.ruleConfigs["Move Tags to Yaml"];if(i){let s=i["Force Yaml Escape on Keys"];s&&(this.settings.ruleConfigs["Force YAML Escape"]||(this.settings.ruleConfigs["Force YAML Escape"]={}),this.settings.ruleConfigs["Force YAML Escape"]["Force YAML Escape on Keys"]=s??this.settings.ruleConfigs["Force YAML Escape"]["Force YAML Escape on Keys"]),delete this.settings.ruleConfigs["Escape YAML Special Characters"]["Force Yaml Escape on Keys"]}let r=this.settings.ruleConfigs["Move Tags to Yaml"];if(r){let s=r["Remove the hashtag from tags in content body"];s!=null&&(this.settings.ruleConfigs["Move Tags to Yaml"]["Body tag operation"]=s?"Remove hashtag":"Nothing",delete this.settings.ruleConfigs["Move Tags to Yaml"]["Remove the hashtag from tags in content body"])}let o=this.settings.ruleConfigs["Space between Chinese and English or numbers"];if(o){let s=o["Ensures that Chinese and English or numbers are separated by a single space. Follows these [guidelines](https://github.com/sparanoid/chinese-copywriting-guidelines)"];this.settings.ruleConfigs["Space between Chinese Japanese or Korean and English or numbers"]={"Ensures that Chinese, Japanese, or Korean and English or numbers are separated by a single space. Follows these [guidelines](https://github.com/sparanoid/chinese-copywriting-guidelines)":s},delete this.settings.ruleConfigs["Space between Chinese and English or numbers"]}this.moveSettingsToCommonSettings();for(let s of yt)this.settings.ruleConfigs[s.name]||(this.settings.ruleConfigs[s.name]=s.getDefaultOptions())}async saveSettings(){await this.saveData(this.settings)}addCommands(){this.addCommand({id:"lint-file",name:"Lint the current file",editorCallback:n=>this.runLinterEditor(n),icon:Ie.file.id,hotkeys:[{modifiers:["Mod","Alt"],key:"L"}]}),this.addCommand({id:"lint-all-files",name:"Lint all files in the vault",icon:Ie.vault.id,callback:()=>{let n="This will edit all of your files and may introduce errors.",i="Lint All",r="Linting all files...";new fr(this.app,n,i,r,()=>this.runLinterAllFiles(this.app)).open()}}),this.addCommand({id:"lint-all-files-in-folder",name:"Lint all files in the current folder",icon:Ie.folder.id,editorCheckCallback:(n,i)=>{if(n)return!this.app.workspace.getActiveFile().parent.isRoot();this.createFolderLintModal(this.app.workspace.getActiveFile().parent)}}),this.addCommand({id:"paste-as-plain-text",name:"Paste as Plain Text & without Modifications",editorCallback:n=>this.pasteAsPlainText(n)})}registerEventsAndSaveCallback(){let n=this.app.workspace.on("editor-paste",s=>{s.defaultPrevented||this.modifyPasteEvent(s)});this.registerEvent(n),this.eventRefs.push(n),n=this.app.workspace.on("file-menu",(s,a,l)=>this.onMenuOpenCallback(s,a,l)),this.registerEvent(n),this.eventRefs.push(n);let i=this.app.commands?.commands?.["editor:save-file"];typeof i?.callback=="function"&&(i.callback=()=>{if(this.settings.lintOnSave&&this.isEnabled){let s=this.getEditor();if(!s)return;let a=this.app.workspace.getActiveFile();this.shouldIgnoreFile(a)||this.runLinterEditor(s)}});let o=this;window.CodeMirrorAdapter.commands.save=()=>{o.app.commands.executeCommandById("editor:save-file")}}onMenuOpenCallback(n,i,r){i instanceof oe.TFile&&i.extension==="md"?n.addItem(o=>{o.setIcon(Ie.file.id).setTitle("Lint file").onClick(async()=>{this.runLinterFile(i)})}):i instanceof oe.TFolder&&n.addItem(o=>{o.setTitle("Lint folder").setIcon(Ie.folder.id).onClick(()=>this.createFolderLintModal(i))})}shouldIgnoreFile(n){for(let i of this.settings.foldersToIgnore)if(i.length>0&&n.path.startsWith(i))return!0;return!1}async runLinterFile(n){let i=kl(await this.app.vault.read(n)),r=this.rulesRunner.lintText(dr(i,n,this.momentLocale,this.settings));await this.app.vault.modify(n,r)}async runLinterAllFiles(n){let i=0;await Promise.all(n.vault.getMarkdownFiles().map(async o=>{if(!this.shouldIgnoreFile(o))try{await this.runLinterFile(o)}catch(s){this.handleLintError(o,s,"Lint All Files Error in File '${file.path}'"),i+=1}}));let r=0;if(i===0)new oe.Notice("Linted all files",r);else{let o=i===1?"was 1 error":"were "+i+" errors";new oe.Notice("Linted all files and there "+o+".",r)}}async runLinterAllFilesInFolder(n){mi("Linting folder "+n.name);let i=0,r=0,o=(0,oe.normalizePath)(n.path)+"/";await Promise.all(this.app.vault.getMarkdownFiles().map(async a=>{if((0,oe.normalizePath)(a.path).startsWith(o)&&!this.shouldIgnoreFile(a)){try{await this.runLinterFile(a)}catch(l){this.handleLintError(a,l,"Lint All Files in Folder Error in File '${file.path}'"),i+=1}r++}}));let s=0;if(i===0)new oe.Notice("Linted all "+r+" files in "+n.name+".",s);else{let a=i===1?"was 1 error":"were "+i+" errors";new oe.Notice("Linted all "+r+" files in "+n.name+" and there "+a+".",s)}}createFolderLintModal(n){let i="This will edit all of your files in "+n.name+" including files in its subfolders which may introduce errors.",r="Lint All Files in "+n.name,o="Linting all files in "+n.name+"...";new fr(this.app,i,r,o,()=>this.runLinterAllFilesInFolder(n)).open()}runLinterEditor(n){mi("Running linter");let i=this.app.workspace.getActiveFile(),r=n.getValue(),o;try{o=this.rulesRunner.lintText(dr(r,i,this.momentLocale,this.settings))}catch(m){this.handleLintError(i,m,"Lint File Error in File '${file.path}'",!1);return}let a=new Wn.default.diff_match_patch().diff_main(r,o),l="";a.forEach(m=>{function c(g){let w=g.split(` +`);return{line:w.length-1,ch:w[w.length-1].length}}let[f,h]=m;if(f==Wn.default.DIFF_INSERT)n.replaceRange(h,c(l)),l+=h;else if(f==Wn.default.DIFF_DELETE){let g=c(l),w=l;w+=h;let y=c(w);n.replaceRange("",g,y)}else l+=h});let p=a.map(m=>m[0]==Wn.default.DIFF_INSERT?m[1].length:0).reduce((m,c)=>m+c,0),u=a.map(m=>m[0]==Wn.default.DIFF_DELETE?m[1].length:0).reduce((m,c)=>m+c,0);this.displayChangedMessage(p,u);try{this.rulesRunner.runCustomCommands(this.settings.lintCommands,this.app.commands)}catch(m){this.handleLintError(i,m,"Lint File Error in File '${file.path}'",!1)}}async setOrUpdateMomentInstance(){let n=localStorage.getItem("language")||"en",i=navigator.language?.toLowerCase(),r=Hg[n];this.settings.linterLocale!=="system-default"?r=this.settings.linterLocale:i.startsWith(n)&&(r=i),this.momentLocale=r;let o=Ko.moment.locale(),s=Ko.moment.locale(r);Tt(`Trying to switch Moment.js locale to ${r}, got ${s}`),Ko.moment.locale(o)}displayChangedMessage(n,i){if(this.settings.displayChanged){let r=d` ${n} characters added ${i} characters removed - `;new oe.Notice(r)}}handleLintError(n,i,r,o=!0){let s=r.replace("${file.path}",n.path);i instanceof It?o?new oe.Notice(`${s} ${i.message}. + `;new oe.Notice(r)}}handleLintError(n,i,r,o=!0){let s=r.replace("${file.path}",n.path);i instanceof Dt?o?new oe.Notice(`${s} ${i.message}. See console for more details.`):new oe.Notice(`${i.message}. -See console for more details.`):new oe.Notice("An unknown error occurred during linting. See console for details"),vl(s,i)}async modifyPasteEvent(n){let i=this.getEditor();if(!i)return;let r=n.clipboardData.getData("text/plain");if(!r)return;if(/((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()[\]{};:'".,<>?«»“”‘’]))/i.test(r.trim())){Yr("aborted paste lint as the clipboard content is a link and doing so will avoid conflicts with other plugins that modify pasting.");return}if(n.stopPropagation(),n.preventDefault(),!n.defaultPrevented)return;let s=this.app.vault.getConfig("autoConvertHtml"),a=n.clipboardData.getData("text/html"),l=a&&s?(0,oe.htmlToMarkdown)(a):r;l=this.rulesRunner.runPasteLint(this.getLineContent(i),xo(l,null,this.momentLocale,this.settings)),i.replaceSelection(l)}async pasteAsPlainText(n){let i=await navigator.clipboard.readText();if(!i){new oe.Notice("There is no clipboard content.");return}n.replaceSelection(i)}getEditor(){let n=this.app.workspace.getActiveViewOfType(oe.MarkdownView);return n?n.editor:null}getLineContent(n){let i=n.getCursor("from").line;return n.getLine(i)}moveSettingsToCommonSettings(){let n,i=this.settings.ruleConfigs["YAML Title Alias"];if(i&&i["YAML aliases section style"]){if(i["Inserts the title of the file into the YAML frontmatter's aliases section. Gets the title from the first H1 or filename."])switch(i["YAML aliases section style"]){case"Multi-line array":n="multi-line";break;case"Single-line array":n="single-line";break;case"Single string that expands to multi-line array if needed":n="single string to multi-line";break;case"Single string that expands to single-line array if needed":n="single string to single-line";break}delete this.settings.ruleConfigs["YAML Title Alias"]["YAML aliases section style"]}let r=this.settings.ruleConfigs["Format Yaml Array"];if(r&&r["Yaml aliases section style"]){if(r["Allows for the formatting of regular yaml arrays as either multi-line or single-line and `tags` and `aliases` are allowed to have some Obsidian specific yaml formats. Note that single string to single-line goes from a single string entry to a single-line array if more than 1 entry is present. The same is true for single string to multi-line except it becomes a multi-line array."]&&r["Format yaml aliases section"]){let l=r["Yaml aliases section style"];if(!n)n=l;else switch(l){case"single-line":n="single-line";break;case"multi-line":n!="single-line"&&(n="single-line");break;case"single string comma delimited":n!="single-line"&&n!="multi-line"&&(n="single string comma delimited");break;case"single string to multi-line":n!="single-line"&&n!="multi-line"&&(n="single string to multi-line");break;case"single string to single-line":n!="single-line"&&n!="multi-line"&&(n="single string to single-line");break}}delete this.settings.ruleConfigs["Format Yaml Array"]["Yaml aliases section style"]}n&&(this.settings.commonStyles.aliasArrayStyle=n);let o;r&&r["Yaml tags section style"]&&(r["Allows for the formatting of regular yaml arrays as either multi-line or single-line and `tags` and `aliases` are allowed to have some Obsidian specific yaml formats. Note that single string to single-line goes from a single string entry to a single-line array if more than 1 entry is present. The same is true for single string to multi-line except it becomes a multi-line array."]&&r["Format yaml tags section"]&&(o=r["Yaml tags section style"]),delete this.settings.ruleConfigs["Format Yaml Array"]["Yaml tags section style"]);let s=this.settings.ruleConfigs["Move Tags to Yaml"];if(s&&s["Yaml tags section style"]){if(s["Move all tags to Yaml frontmatter of the document."]){let l=s["Yaml tags section style"];if(!o)o=l;else switch(l){case"single-line":o="single-line";break;case"multi-line":o!="single-line"&&(o="single-line");break;case"single string comma delimited":o!="single-line"&&o!="multi-line"&&(o="single string comma delimited");break;case"single string to multi-line":o!="single-line"&&o!="multi-line"&&(o="single string to multi-line");break;case"single string to single-line":o!="single-line"&&o!="multi-line"&&(o="single string to single-line");break;case"single-line space delimited":o!="single-line"&&o!="multi-line"&&o!="single string comma delimited"&&o!="single string to single-line"&&o!="single string to multi-line"&&(o="single-line space delimited");break;case"single string space delimited":o!="single-line"&&o!="multi-line"&&o!="single string comma delimited"&&o!="single string to single-line"&&o!="single string to multi-line"&&(o="single string space delimited");break}}delete this.settings.ruleConfigs["Move Tags to Yaml"]["Yaml tags section style"]}o&&(this.settings.commonStyles.tagArrayStyle=o);let a=this.settings.ruleConfigs["Escape YAML Special Characters"];a&&(this.settings.commonStyles.escapeCharacter=a["Default Escape Character"]??this.settings.commonStyles.escapeCharacter,delete this.settings.ruleConfigs["Escape YAML Special Characters"]["Default Escape Character"]),this.saveSettings()}}; +See console for more details.`):new oe.Notice("An unknown error occurred during linting. See console for details"),Rl(s,i)}async modifyPasteEvent(n){let i=this.getEditor();if(!i)return;let r=n.clipboardData.getData("text/plain");if(!r)return;if(Pr.test(r.trim())){Xr("aborted paste lint as the clipboard content is a link and doing so will avoid conflicts with other plugins that modify pasting.");return}if(n.stopPropagation(),n.preventDefault(),!n.defaultPrevented)return;let o=this.app.vault.getConfig("autoConvertHtml"),s=n.clipboardData.getData("text/html"),a=s&&o?(0,oe.htmlToMarkdown)(s):r,l=i.listSelections();if(l.length===1){let p=l[0];a=this.rulesRunner.runPasteLint(this.getLineContent(i,p),dr(a,null,this.momentLocale,this.settings)),i.replaceSelection(a)}else this.handleMultiCursorPaste(i,l,a)}handleMultiCursorPaste(n,i,r){let o=this.convertContentIntoProperPasteContent(i,r),s=[];i.forEach((a,l)=>{r=this.rulesRunner.runPasteLint(this.getLineContent(n,a),dr(o[l],null,this.momentLocale,this.settings)),s.push({text:r,from:a.anchor,to:a.head})}),n.transaction({changes:s})}convertContentIntoProperPasteContent(n,i){let r=i.split(` +`),o=[];if(r.length%n.length!==0)for(let s=0;s span:nth-child(2), .linter-visually-hidden { border: 0; clip: rect(0 0 0 0); clip-path: rect(0 0 0 0); - height: auto; /* new - was 1px */ - margin: 0; /* new - was -1px */ + height: auto; + margin: 0; overflow: hidden; padding: 0; position: absolute; width: 1px; - white-space: nowrap; /* 1 */ + white-space: nowrap; } diff --git a/notes/.obsidian/plugins/obsidian-spaced-repetition/main.js b/notes/.obsidian/plugins/obsidian-spaced-repetition/main.js index b27c7db..fb0eb9f 100644 --- a/notes/.obsidian/plugins/obsidian-spaced-repetition/main.js +++ b/notes/.obsidian/plugins/obsidian-spaced-repetition/main.js @@ -9,45 +9,30 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; -var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { - __markAsModule(target); - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); + for (var name2 in all) + __defProp(target, name2, { get: all[name2], enumerable: true }); }; -var __reExport = (target, module2, desc) => { - if (module2 && typeof module2 === "object" || typeof module2 === "function") { - for (let key of __getOwnPropNames(module2)) - if (!__hasOwnProp.call(target, key) && key !== "default") - __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); +var __copyProps = (to2, from2, except, desc) => { + if (from2 && typeof from2 === "object" || typeof from2 === "function") { + for (let key of __getOwnPropNames(from2)) + if (!__hasOwnProp.call(to2, key) && key !== except) + __defProp(to2, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable }); } - return target; + return to2; }; -var __toModule = (module2) => { - return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); -}; -var __async = (__this, __arguments, generator) => { - return new Promise((resolve2, reject) => { - var fulfilled = (value) => { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - }; - var rejected = (value) => { - try { - step(generator.throw(value)); - } catch (e) { - reject(e); - } - }; - var step = (x) => x.done ? resolve2(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); - step((generator = generator.apply(__this, __arguments)).next()); - }); +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; }; // node_modules/pagerank.js/lib/index.js @@ -166,18 +151,18 @@ var require_vhtml = __commonJS({ htmlFor: "for" }; var sanitized = {}; - function h4(name, attrs) { + function h4(name2, attrs) { var stack = [], s = ""; attrs = attrs || {}; for (var i = arguments.length; i-- > 2; ) { stack.push(arguments[i]); } - if (typeof name === "function") { + if (typeof name2 === "function") { attrs.children = stack.reverse(); - return name(attrs); + return name2(attrs); } - if (name) { - s += "<" + name; + if (name2) { + s += "<" + name2; if (attrs) for (var _i in attrs) { if (attrs[_i] !== false && attrs[_i] != null && _i !== setInnerHTMLAttr) { @@ -186,7 +171,7 @@ var require_vhtml = __commonJS({ } s += ">"; } - if (emptyTags.indexOf(name) === -1) { + if (emptyTags.indexOf(name2) === -1) { if (attrs[setInnerHTMLAttr]) { s += attrs[setInnerHTMLAttr].__html; } else @@ -202,7 +187,7 @@ var require_vhtml = __commonJS({ } } } - s += name ? "" : ""; + s += name2 ? "" : ""; } sanitized[s] = true; return s; @@ -213,18 +198,19 @@ var require_vhtml = __commonJS({ }); // src/main.ts -__export(exports, { +var main_exports = {}; +__export(main_exports, { default: () => SRPlugin }); -var import_obsidian8 = __toModule(require("obsidian")); -var graph = __toModule(require_lib()); +module.exports = __toCommonJS(main_exports); +var import_obsidian8 = require("obsidian"); +var graph = __toESM(require_lib()); -// src/settings.tsx -var import_obsidian2 = __toModule(require("obsidian")); -var import_vhtml = __toModule(require_vhtml()); +// src/settings.ts +var import_obsidian2 = require("obsidian"); // src/lang/helpers.ts -var import_obsidian = __toModule(require("obsidian")); +var import_obsidian = require("obsidian"); // src/lang/locale/ar.ts var ar_default = {}; @@ -235,6 +221,7 @@ var cz_default = { DUE_CARDS: "Karti\u010Dky po term\xEDnu", NEW_CARDS: "Nov\xE9 karti\u010Dky", TOTAL_CARDS: "Karti\u010Dek celkem", + BACK: "Back", EDIT_LATER: "Upravit pozd\u011Bji", RESET_CARD_PROGRESS: "Vynulovat pokrok karti\u010Dky", HARD: "Te\u017Ek\xE9", @@ -297,12 +284,14 @@ var cz_default = { DISABLE_CLOZE_CARDS: "Vypnout cloze karti\u010Dky?", CONVERT_HIGHLIGHTS_TO_CLOZES: "P\u0159ev\xE9st ==zv\xFDrazn\u011Bn\xED== na clozes?", CONVERT_BOLD_TEXT_TO_CLOZES: "P\u0159ev\xE9st **tu\u010Dn\xFD text** na clozes?", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "P\u0159ev\xE9st {{slo\u017Een\xE9 z\xE1vorky}} na clozes?", INLINE_CARDS_SEPARATOR: "Odd\u011Blova\u010D pro inline karti\u010Dky", FIX_SEPARATORS_MANUALLY_WARNING: "Pozor. Jakmile toto zm\u011Bn\xEDte, budete muset ru\u010Dn\u011B upravit v\u0161echny existuj\xEDc\xED karti\u010Dky.", INLINE_REVERSED_CARDS_SEPARATOR: "Odd\u011Blova\u010D pro oto\u010Den\xE9 inline karti\u010Dky", MULTILINE_CARDS_SEPARATOR: "Odd\u011Blova\u010D pro v\xEDce\u0159\xE1dkov\xE9 karti\u010Dky", MULTILINE_REVERSED_CARDS_SEPARATOR: "Odd\u011Blova\u010D pro v\xEDce\u0159\xE1dkove oto\u010Den\xE9 karti\u010Dky", NOTES: "Pozn\xE1mky", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", TAGS_TO_REVIEW: "Tag pro revizi", TAGS_TO_REVIEW_DESC: "Zadejte tagy odd\u011Blen\xE9 mezerami nebo od\u0159\xE1dkov\xE1n\xEDm nap\u0159\xEDklad #review #tag2 #tag3.", OPEN_RANDOM_NOTE: "Otev\u0159\xEDt n\xE1hodnou pozn\xE1mku pro revizi", @@ -313,6 +302,9 @@ var cz_default = { MAX_N_DAYS_REVIEW_QUEUE: "Maxim\xE1ln\xED po\u010Det dn\xED zobrazen\xFDch v prav\xE9m panelu", MIN_ONE_DAY: "Po\u010Det dn\xED mus\xED b\xFDt minim\xE1ln\u011B 1.", VALID_NUMBER_WARNING: "Pros\xEDm zadejte validn\xED \u010D\xEDslo.", + UI_PREFERENCES: "P\u0159edvolby u\u017Eivatelsk\xE9ho rozhran\xED", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "Stromy bal\xED\u010Dky by m\u011Bly b\xFDt zpo\u010D\xE1tku zobrazeny jako rozbalen\xE9", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "Vypn\u011Bte toto, chcete-li sbalit vno\u0159en\xE9 bal\xED\u010Dky na stejn\xE9 kart\u011B. To je u\u017Eite\u010Dn\xE9, pokud m\xE1te karti\u010Dky, kter\xE9 pat\u0159\xED k mnoha bal\xED\u010Dk\u016Fm ve stejn\xE9m souboru.", ALGORITHM: "Algoritmus", CHECK_ALGORITHM_WIKI: 'Pro v\xEDce informac\xED jd\u011Bte na popis algoritmu.', BASE_EASE: "Z\xE1kladn\xED slo\u017Eitost", @@ -370,6 +362,7 @@ var de_default = { DUE_CARDS: "Anstehende Karten", NEW_CARDS: "Neue Karten", TOTAL_CARDS: "Alle Karten", + BACK: "Back", EDIT_LATER: "Sp\xE4ter bearbeiten", RESET_CARD_PROGRESS: "Kartenfortschritt zur\xFCcksetzten", HARD: "Schwer", @@ -432,12 +425,14 @@ var de_default = { DISABLE_CLOZE_CARDS: "L\xFCckentextkarten (cloze deletions) deaktivieren?", CONVERT_HIGHLIGHTS_TO_CLOZES: "==Hervorgehobenen== Text in L\xFCckentextkarten umwandeln?", CONVERT_BOLD_TEXT_TO_CLOZES: "**Fettgedruckten** Text in L\xFCckentextkarten umwandeln?", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "{{Geschweifte Klammern}} Text in L\xFCckentextkarten umwandeln?", INLINE_CARDS_SEPARATOR: "Trennzeichen f\xFCr einzeilige Lernkarten", FIX_SEPARATORS_MANUALLY_WARNING: "Wenn diese Einstellung ge\xE4ndert wird, dann m\xFCssen die entsprechenden Lernkarten manuell angepasst werden.", INLINE_REVERSED_CARDS_SEPARATOR: "Trennzeichen f\xFCr einzeilige beidseitige Lernkarten", MULTILINE_CARDS_SEPARATOR: "Trennzeichen f\xFCr mehrzeilige Lernkarten", MULTILINE_REVERSED_CARDS_SEPARATOR: "Trennzeichen f\xFCr mehrzeilige beidseitige Lernkarten", NOTES: "Notizen", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", TAGS_TO_REVIEW: "Zu wiederholende Tags", TAGS_TO_REVIEW_DESC: "Mehrere Tags k\xF6nnen mit Leerzeichen oder Zeilenumbr\xFCchen getrennt angegeben werden. Bsp. #karte #tag1 #tag2.", OPEN_RANDOM_NOTE: "Zuf\xE4llige Karten wiederholen", @@ -448,6 +443,9 @@ var de_default = { MAX_N_DAYS_REVIEW_QUEUE: "Maximale Anzahl anstehender Notizen, die im rechten Fensterbereich angezeigt werden", MIN_ONE_DAY: "Anzahl der Tage muss mindestens 1 sein.", VALID_NUMBER_WARNING: "Bitte eine g\xFCltige Zahl eingeben.", + UI_PREFERENCES: "Einstellungen der Benutzeroberfl\xE4che", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "Deckb\xE4ume sollten anf\xE4nglich erweitert angezeigt werden", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "Deaktivieren Sie dies, um verschachtelte Decks in derselben Karte zu reduzieren. N\xFCtzlich, wenn Sie Karten haben, die zu vielen Decks in derselben Datei geh\xF6ren.", ALGORITHM: "Algorithmus", CHECK_ALGORITHM_WIKI: 'Weiterf\xFChrende Informationen: Implementierung des Algorithmus (english).', BASE_EASE: "Basis der Einfachheit", @@ -502,6 +500,7 @@ var en_default = { DUE_CARDS: "Due Cards", NEW_CARDS: "New Cards", TOTAL_CARDS: "Total Cards", + BACK: "Back", EDIT_LATER: "Edit Later", RESET_CARD_PROGRESS: "Reset card's progress", HARD: "Hard", @@ -564,12 +563,14 @@ var en_default = { DISABLE_CLOZE_CARDS: "Disable cloze cards?", CONVERT_HIGHLIGHTS_TO_CLOZES: "Convert ==hightlights== to clozes?", CONVERT_BOLD_TEXT_TO_CLOZES: "Convert **bolded text** to clozes?", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "Convert {{curly brackets}} to clozes?", INLINE_CARDS_SEPARATOR: "Separator for inline flashcards", FIX_SEPARATORS_MANUALLY_WARNING: "Note that after changing this you have to manually edit any flashcards you already have.", INLINE_REVERSED_CARDS_SEPARATOR: "Separator for inline reversed flashcards", MULTILINE_CARDS_SEPARATOR: "Separator for multiline flashcards", MULTILINE_REVERSED_CARDS_SEPARATOR: "Separator for multiline reversed flashcards", NOTES: "Notes", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", TAGS_TO_REVIEW: "Tags to review", TAGS_TO_REVIEW_DESC: "Enter tags separated by spaces or newlines i.e. #review #tag2 #tag3.", OPEN_RANDOM_NOTE: "Open a random note for review", @@ -580,6 +581,9 @@ var en_default = { MAX_N_DAYS_REVIEW_QUEUE: "Maximum number of days to display on right panel", MIN_ONE_DAY: "The number of days must be at least 1.", VALID_NUMBER_WARNING: "Please provide a valid number.", + UI_PREFERENCES: "UI Preferences", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "Deck trees should be initially displayed as expanded", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "Turn this off to collapse nested decks in the same card. Useful if you have cards which belong to many decks in the same file.", ALGORITHM: "Algorithm", CHECK_ALGORITHM_WIKI: 'For more information, check the algorithm implementation.', BASE_EASE: "Base ease", @@ -652,6 +656,7 @@ var ja_default = { DUE_CARDS: "\u671F\u65E5\u306E\u30AB\u30FC\u30C9", NEW_CARDS: "\u65B0\u898F\u306E\u30AB\u30FC\u30C9", TOTAL_CARDS: "\u30AB\u30FC\u30C9\u5408\u8A08", + BACK: "Back", EDIT_LATER: "\u5F8C\u3067\u7DE8\u96C6", RESET_CARD_PROGRESS: "\u30AB\u30FC\u30C9\u306E\u9032\u6357\u3092\u30EA\u30BB\u30C3\u30C8", HARD: "Hard", @@ -714,12 +719,14 @@ var ja_default = { DISABLE_CLOZE_CARDS: "\u7A74\u57CB\u3081\u30AB\u30FC\u30C9\u3092\u7121\u52B9\u5316\u3057\u307E\u3059\u304B\uFF1F", CONVERT_HIGHLIGHTS_TO_CLOZES: "==\u30CF\u30A4\u30E9\u30A4\u30C8==\u3092\u7A74\u57CB\u3081\u3068\u3057\u3066\u4F7F\u7528\u3057\u307E\u3059\u304B\uFF1F", CONVERT_BOLD_TEXT_TO_CLOZES: "**\u30DC\u30FC\u30EB\u30C9\u4F53**\u3092\u7A74\u57CB\u3081\u3068\u3057\u3066\u4F7F\u7528\u3057\u307E\u3059\u304B\uFF1F", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "{{\u4E2D\u62EC\u5F27}}\u3092\u7A74\u57CB\u3081\u3068\u3057\u3066\u4F7F\u7528\u3057\u307E\u3059\u304B\uFF1F", INLINE_CARDS_SEPARATOR: "\u30A4\u30F3\u30E9\u30A4\u30F3\u30D5\u30E9\u30C3\u30B7\u30E5\u30AB\u30FC\u30C9\u306B\u4F7F\u7528\u3059\u308B\u30BB\u30D1\u30EC\u30FC\u30BF\u30FC", FIX_SEPARATORS_MANUALLY_WARNING: "\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u5909\u66F4\u3059\u308B\u5834\u5408\u306B\u306F\u3001\u4F5C\u6210\u6E08\u307F\u306E\u30D5\u30E9\u30C3\u30B7\u30E5\u30AB\u30FC\u30C9\u3092\u624B\u52D5\u3067\u7DE8\u96C6\u3057\u76F4\u3059\u5FC5\u8981\u304C\u3042\u308B\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044\u3002", INLINE_REVERSED_CARDS_SEPARATOR: "\u30A4\u30F3\u30E9\u30A4\u30F3\u306E\u8868\u88CF\u53CD\u8EE2\u30D5\u30E9\u30C3\u30B7\u30E5\u30AB\u30FC\u30C9\u306B\u4F7F\u7528\u3059\u308B\u30BB\u30D1\u30EC\u30FC\u30BF\u30FC", MULTILINE_CARDS_SEPARATOR: "\u8907\u6570\u884C\u306E\u30D5\u30E9\u30C3\u30B7\u30E5\u30AB\u30FC\u30C9\u306B\u4F7F\u7528\u3059\u308B\u30BB\u30D1\u30EC\u30FC\u30BF\u30FC", MULTILINE_REVERSED_CARDS_SEPARATOR: "\u8907\u6570\u884C\u306E\u8868\u88CF\u53CD\u8EE2\u30D5\u30E9\u30C3\u30B7\u30E5\u30AB\u30FC\u30C9\u306B\u4F7F\u7528\u3059\u308B\u30BB\u30D1\u30EC\u30FC\u30BF\u30FC", NOTES: "\u30CE\u30FC\u30C8", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", TAGS_TO_REVIEW: "\u30EC\u30D3\u30E5\u30FC\u306B\u4F7F\u7528\u3059\u308B\u30BF\u30B0", TAGS_TO_REVIEW_DESC: '\u30BF\u30B0\u3092\u30B9\u30DA\u30FC\u30B9\u307E\u305F\u306F\u6539\u884C\u3067\u533A\u5207\u3063\u3066\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u4F8B: "#review #tag2 #tag3"', OPEN_RANDOM_NOTE: "\u30E9\u30F3\u30C0\u30E0\u306B\u30CE\u30FC\u30C8\u3092\u958B\u3044\u3066\u30EC\u30D3\u30E5\u30FC\u3059\u308B", @@ -730,6 +737,9 @@ var ja_default = { MAX_N_DAYS_REVIEW_QUEUE: "\u53F3\u30D1\u30CD\u30EB\u306B\u8868\u793A\u3059\u308B\u6700\u5927\u306E\u65E5\u6570", MIN_ONE_DAY: "\u65E5\u6570\u306B\u306F1\u4EE5\u4E0A\u306E\u6570\u5B57\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002", VALID_NUMBER_WARNING: "\u6709\u52B9\u306A\u6570\u5B57\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002", + UI_PREFERENCES: "\u30E6\u30FC\u30B6\u30FC \u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u306E\u8A2D\u5B9A", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "\u30C7\u30C3\u30AD \u30C4\u30EA\u30FC\u306F\u6700\u521D\u306F\u5C55\u958B\u3057\u3066\u8868\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "\u3053\u308C\u3092\u30AA\u30D5\u306B\u3059\u308B\u3068\u3001\u540C\u3058\u30AB\u30FC\u30C9\u5185\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30C7\u30C3\u30AD\u304C\u6298\u308A\u305F\u305F\u307E\u308C\u307E\u3059\u3002\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u306B\u591A\u304F\u306E\u30C7\u30C3\u30AD\u306B\u5C5E\u3059\u308B\u30AB\u30FC\u30C9\u304C\u3042\u308B\u5834\u5408\u306B\u4FBF\u5229\u3067\u3059\u3002", ALGORITHM: "\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0", CHECK_ALGORITHM_WIKI: '\u8A73\u7D30\u306B\u3064\u3044\u3066\u306F\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u306E\u5B9F\u88C5\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002', BASE_EASE: "\u30D9\u30FC\u30B9\u306E\u6613\u3057\u3055", @@ -784,6 +794,7 @@ var ko_default = { DUE_CARDS: "\uB2E4\uC2DC \uBCFC \uCE74\uB4DC\uB4E4", NEW_CARDS: "\uC0C8\uB85C\uC6B4 \uCE74\uB4DC\uB4E4", TOTAL_CARDS: "\uC804\uCCB4 \uCE74\uB4DC\uB4E4", + BACK: "Back", EDIT_LATER: "\uB098\uC911\uC5D0 \uD3B8\uC9D1\uD558\uAE30", RESET_CARD_PROGRESS: "\uCE74\uB4DC\uC758 \uC9C4\uD589\uC0C1\uD669\uC744 \uCD08\uAE30\uD654\uD569\uB2C8\uB2E4.", HARD: "\uC5B4\uB824\uC6C0(Hard)", @@ -846,12 +857,14 @@ var ko_default = { DISABLE_CLOZE_CARDS: "\uBE48 \uCE78 \uCC44\uC6B0\uAE30 \uCE74\uB4DC\uB97C \uBE44\uD65C\uC131\uD654\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", CONVERT_HIGHLIGHTS_TO_CLOZES: "==hightlights== \uB97C \uBE48 \uCE78 \uCC44\uC6B0\uAE30\uB85C \uC804\uD658\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", CONVERT_BOLD_TEXT_TO_CLOZES: "**bolded text** \uB97C \uBE48 \uCE78 \uCC44\uC6B0\uAE30\uB85C \uC804\uD658\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "{{curly brackets}} \uB97C \uBE48 \uCE78 \uCC44\uC6B0\uAE30\uB85C \uC804\uD658\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", INLINE_CARDS_SEPARATOR: "\uC778\uB77C\uC778 \uD50C\uB798\uC2DC\uCE74\uB4DC \uAD6C\uBD84\uC790", FIX_SEPARATORS_MANUALLY_WARNING: "\uC8FC\uC758: \uC774 \uC635\uC158\uC744 \uC218\uC815\uD55C \uD6C4\uC5D0\uB294 \uC774\uBBF8 \uC791\uC131\uB41C \uD50C\uB798\uC2DC\uCE74\uB4DC\uB97C \uC218\uB3D9\uC73C\uB85C \uC218\uC815\uD574\uC57C \uD568\uC744 \uC8FC\uC758\uD558\uC2ED\uC2DC\uC624.", INLINE_REVERSED_CARDS_SEPARATOR: "\uC778\uB77C\uC778 \uBC18\uC804 \uD50C\uB798\uC2DC\uCE74\uB4DC \uAD6C\uBD84\uC790", MULTILINE_CARDS_SEPARATOR: "\uC5EC\uB7EC \uC904 \uD50C\uB798\uC2DC\uCE74\uB4DC \uAD6C\uBD84\uC790", MULTILINE_REVERSED_CARDS_SEPARATOR: "\uC5EC\uB7EC \uC904 \uBC18\uC804 \uD50C\uB798\uC2DC\uCE74\uB4DC \uAD6C\uBD84\uC790", NOTES: "\uB178\uD2B8", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", TAGS_TO_REVIEW: "\uB9AC\uBDF0\uC5D0 \uC0AC\uC6A9\uD560 \uD0DC\uADF8", TAGS_TO_REVIEW_DESC: "\uD0DC\uADF8\uB97C \uACF5\uBC31 \uB610\uB294 \uBE48 \uC904\uB85C \uAD6C\uBD84\uD574\uC11C \uC785\uB825\uD574\uC8FC\uC138\uC694. \uC608) '#review #tag2 #tag3'", OPEN_RANDOM_NOTE: "\uB9AC\uBDF0\uB97C \uC704\uD574 \uB79C\uB364 \uB178\uD2B8\uB97C \uC5FD\uB2C8\uB2E4.", @@ -862,6 +875,9 @@ var ko_default = { MAX_N_DAYS_REVIEW_QUEUE: "\uC624\uB978\uCABD \uD328\uB110\uC5D0 \uD45C\uC2DC\uD560 \uCD5C\uB300 \uC77C\uC218", MIN_ONE_DAY: "\uC801\uC5B4\uB3C4 1\uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.", VALID_NUMBER_WARNING: "\uC720\uD6A8\uD55C \uC22B\uC790\uB97C \uC785\uB825\uD574\uC8FC\uC138\uC694.", + UI_PREFERENCES: "\uC0AC\uC6A9\uC790 \uC778\uD130\uD398\uC774\uC2A4 \uAE30\uBCF8 \uC124\uC815", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "\uB371 \uD2B8\uB9AC\uB294 \uCC98\uC74C\uC5D0 \uD655\uC7A5\uB41C \uAC83\uC73C\uB85C \uD45C\uC2DC\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "\uAC19\uC740 \uCE74\uB4DC\uC5D0 \uC911\uCCA9\uB41C \uB371\uC744 \uC811\uC73C\uB824\uBA74 \uC774 \uC635\uC158\uC744 \uB044\uC2ED\uC2DC\uC624. \uAC19\uC740 \uD30C\uC77C\uC5D0 \uC5EC\uB7EC \uB371\uC5D0 \uC18D\uD55C \uCE74\uB4DC\uAC00 \uC788\uB294 \uACBD\uC6B0 \uC720\uC6A9\uD569\uB2C8\uB2E4.", ALGORITHM: "\uC54C\uACE0\uB9AC\uC998", CHECK_ALGORITHM_WIKI: '\uB354 \uB9CE\uC740 \uC815\uBCF4\uB97C \uC6D0\uD558\uC2DC\uBA74, algorithm implementation\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694.', BASE_EASE: "\uAE30\uBCF8 ease", @@ -923,7 +939,142 @@ var pl_default = {}; var pt_default = {}; // src/lang/locale/pt-br.ts -var pt_br_default = {}; +var pt_br_default = { + DECKS: "Baralhos", + DUE_CARDS: "Cartas para Colocar em Dia", + NEW_CARDS: "Novas Cartas", + TOTAL_CARDS: "Total de Cartas", + BACK: "Back", + EDIT_LATER: "Editar Depois", + RESET_CARD_PROGRESS: "Reiniciar o Progresso da Carta", + HARD: "Dif\xEDcil", + GOOD: "OK", + EASY: "F\xE1cil", + SHOW_ANSWER: "Mostrar Resposta", + CARD_PROGRESS_RESET: "O Progresso da Carta foi reiniciado", + OPEN_NOTE_FOR_REVIEW: "Abrir uma nota para revisar", + REVIEW_CARDS: "Revisar flashcards", + REVIEW_EASY_FILE_MENU: "Revis\xE3o: F\xE1cil", + REVIEW_GOOD_FILE_MENU: "Revis\xE3o: OK", + REVIEW_HARD_FILE_MENU: "Revis\xE3o: Dif\xEDcil", + REVIEW_NOTE_EASY_CMD: "Revisar nota como f\xE1cil", + REVIEW_NOTE_GOOD_CMD: "Revisar nota como OK", + REVIEW_NOTE_HARD_CMD: "Revisar nota como dif\xEDcil", + REVIEW_CARDS_IN_NOTE: "Revisar flashcards nessa nota", + CRAM_CARDS_IN_NOTE: "Revisar todas as flashcards nessa nota", + REVIEW_ALL_CARDS: "Revisar flashcards de todas as notas", + VIEW_STATS: "Ver estat\xEDsticas", + STATUS_BAR: "Revis\xE3o: ${dueNotesCount} nota(s), ${dueFlashcardsCount} Carta(s) para colocar em dia", + SYNC_TIME_TAKEN: "Sicroniza\xE7\xE3o levou ${t}ms", + NOTE_IN_IGNORED_FOLDER: "Nota \xE9 salva na pasta ignorada (cheque as configura\xE7\xF5es).", + PLEASE_TAG_NOTE: "Por favor etiquete a nota apropriadamente para revisar (nas configura\xE7\xF5es).", + RESPONSE_RECEIVED: "Resposta recebida.", + NO_DECK_EXISTS: "Nenhum baralho existe para ${deckName}", + ALL_CAUGHT_UP: "Voc\xEA colocou tudo em prazo agora :D.", + DAYS_STR_IVL: "${interval} dia(s)", + MONTHS_STR_IVL: "${interval} m\xEAs(es)", + YEARS_STR_IVL: "${interval} ano(s)", + DAYS_STR_IVL_MOBILE: "${interval}d", + MONTHS_STR_IVL_MOBILE: "${interval}m", + YEARS_STR_IVL_MOBILE: "${interval}a", + SETTINGS_HEADER: "Plguin Spaced Repetition - Configura\xE7\xE3o", + CHECK_WIKI: 'Para mais informa\xE7\xF5es, checke o wiki.', + FOLDERS_TO_IGNORE: "Pastas para ignorar", + FOLDERS_TO_IGNORE_DESC: "Ensira o caminho das pastas separado por quebras de linha ex: Templates Meta/Scripts", + FLASHCARDS: "Flashcards", + FLASHCARD_EASY_LABEL: "Texto do Bot\xE3o de F\xE1cil", + FLASHCARD_GOOD_LABEL: "Texto do Bot\xE3o de OK", + FLASHCARD_HARD_LABEL: "Texto do Bot\xE3o de Dif\xEDcil", + FLASHCARD_EASY_DESC: 'Costumize o r\xF3tulo para o bot\xE3o de "F\xE1cil"', + FLASHCARD_GOOD_DESC: 'Costumize o r\xF3tulo para o bot\xE3o de "OK"', + FLASHCARD_HARD_DESC: 'Customize o r\xF3tulo para o bot\xE3o de "Dif\xEDcil"', + FLASHCARD_TAGS: "Etiquetas dos Flashcards", + FLASHCARD_TAGS_DESC: "Ensira etiquetas separadas por espa\xE7os ou quebras de linha ex: #flashcards #baralho2 #baralho3.", + CONVERT_FOLDERS_TO_DECKS: "Converter pastas para baralhos e sub-baralhos?", + CONVERT_FOLDERS_TO_DECKS_DESC: "Isso \xE9 uma alternativa para a op\xE7\xE3o de etiqueta dos Flashcards em cima.", + INLINE_SCHEDULING_COMMENTS: "Salvar coment\xE1rios de agendamento na mesma linha que a \xFAltima linha do flashcard?", + INLINE_SCHEDULING_COMMENTS_DESC: "Ligar isso vai fazer com que os coment\xE1rios em HTML n\xE3o quebrem a formata\xE7\xE3o de listas.", + BURY_SIBLINGS_TILL_NEXT_DAY: "Enterrar cartas irm\xE3s at\xE9 o pr\xF3ximo dia?", + BURY_SIBLINGS_TILL_NEXT_DAY_DESC: "Cartas irm\xE3s s\xE3o geradas pelo texto da mesma carta ex: omiss\xE3o de palavras", + SHOW_CARD_CONTEXT: "Mostrar conxtexto nas cartas?", + SHOW_CARD_CONTEXT_DESC: "ex: T\xEDtulo > Cabe\xE7alho 1 > Subcabe\xE7alho > ... > Subcabe\xE7alho", + CARD_MODAL_HEIGHT_PERCENT: "Porcentagem da Altura do Flashcard", + CARD_MODAL_SIZE_PERCENT_DESC: "Deveria estar configurado em 100% em dispositivos m\xF3veis ou se voc\xEA tem imagens muito grandes", + RESET_DEFAULT: "Reiniciar para a pr\xE9-defini\xE7\xE3o", + CARD_MODAL_WIDTH_PERCENT: "Porcentagem de Largura do Flashcard", + FILENAME_OR_OPEN_FILE: "Mostrar o nome do arquivo ao inv\xE9s de 'Editar Depois' na revis\xE3o dos flashcards?", + RANDOMIZE_CARD_ORDER: "Aleatorizar a ordem das cartas durante a revis\xE3o?", + DISABLE_CLOZE_CARDS: "Desabilitar cartas que usam omiss\xE3o de palavras?", + CONVERT_HIGHLIGHTS_TO_CLOZES: "Converter ==marca-texto== em omiss\xF5es?", + CONVERT_BOLD_TEXT_TO_CLOZES: "Converter **texto em negrito** em omiss\xF5es?", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "Converter {{chaves}} em omiss\xF5es?", + INLINE_CARDS_SEPARATOR: "Separador para flashcards inline", + FIX_SEPARATORS_MANUALLY_WARNING: "Note que depois de mudar isso voc\xEA vai ter que manualmente mudar quaisquer flashcards que voc\xEA tenha.", + INLINE_REVERSED_CARDS_SEPARATOR: "Separador para flashcards inline reversos", + MULTILINE_CARDS_SEPARATOR: "Separador para flashcards de m\xFAltiplas linhas", + MULTILINE_REVERSED_CARDS_SEPARATOR: "Separador para flashcards de m\xFAltiplas linhas reversos", + NOTES: "Notas", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", + TAGS_TO_REVIEW: "Etiquetas para revisar", + TAGS_TO_REVIEW_DESC: "Ensira etiquetas separadas por espa\xE7os ou quebra de linhas ex: #revisar #etiqueta2 #etiqueta3.", + OPEN_RANDOM_NOTE: "Abrir uma nota aleat\xF3ria para revisar", + OPEN_RANDOM_NOTE_DESC: "Quando voc\xEA desabilitar isso, as notas v\xE3o ser ordenadas por import\xE2ncia (PageRank).", + AUTO_NEXT_NOTE: "Abrir a pr\xF3xima nota automaticamente depois de uma revis\xE3o", + DISABLE_FILE_MENU_REVIEW_OPTIONS: "Desabilitar op\xE7\xF5es de revis\xE3o no menu de arquivos ex: Revis\xE3o: F\xE1cil OK Dif\xEDcil", + DISABLE_FILE_MENU_REVIEW_OPTIONS_DESC: "Depois de desabilitar, voc\xEA pode revisar usando os atalhos de comando. Reinicie Obsidian depois de mudar isso.", + MAX_N_DAYS_REVIEW_QUEUE: "N\xFAmero m\xE1ximo de dias para exibir no painel direito", + MIN_ONE_DAY: "O n\xFAmero de dias deve ser pelo menos 1.", + VALID_NUMBER_WARNING: "Por favor ensira um n\xFAmero v\xE1lido.", + UI_PREFERENCES: "Prefer\xEAncias de UI", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "\xC1rvores de baralhos devem inicialmente serem exibidas como expandidas", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "Desabilite isso para colapsar baralhos que est\xE3o um dentro do outro na mesma carta. \xDAtil se voc\xEA tem cartas que pertencem a muitos baralhos em um mesmo arquivo.", + ALGORITHM: "Algor\xEDtmo", + CHECK_ALGORITHM_WIKI: 'Para mais informa\xE7\xF5es, cheque a implementa\xE7\xE3o do algor\xEDtmo.', + BASE_EASE: "Facilidade base", + BASE_EASE_DESC: "m\xEDnimo = 130, preferivelmente aproximadamente 250.", + BASE_EASE_MIN_WARNING: "A facilidade base deve ser pelo menos 130.", + LAPSE_INTERVAL_CHANGE: "Mudan\xE7a de intervalo quando voc\xEA revisa um(a) flashcard/nota como dif\xEDcil", + LAPSE_INTERVAL_CHANGE_DESC: "novoIntervalo = velhoIntervalo * mudancaIntervalo / 100.", + EASY_BONUS: "B\xF4nus de F\xE1cil", + EASY_BONUS_DESC: "O b\xF4nus de f\xE1cil te permite mudar a difer\xEAncia entre intervalos de responder OK e F\xE1cil em um(a) flashcard/nota (m\xEDnimo = 100%).", + EASY_BONUS_MIN_WARNING: "O b\xF4nus de f\xE1cil deve ser pelo menos 100.", + MAX_INTERVAL: "Intervalo M\xE1ximo", + MAX_INTERVAL_DESC: "Te permite colocar um limite m\xE1ximo no intervalo (pr\xE9-defini\xE7\xE3o = 100 anos).", + MAX_INTERVAL_MIN_WARNING: "O intervalo m\xE1ximo deve ser pelo menos 1 dia.", + MAX_LINK_CONTRIB: "Contribui\xE7\xE3o M\xE1xima de Links", + MAX_LINK_CONTRIB_DESC: "Contribui\xE7\xE3o m\xE1xima da facilidade ponderada das notas linkadas \xE0 facilidade inicial.", + LOGGING: "Logging", + DISPLAY_DEBUG_INFO: "Mostrar informa\xE7\xE3o de debugging no console de desenvolvimento?", + NOTES_REVIEW_QUEUE: "Fila de Notas para Revisar", + CLOSE: "Fechar", + NEW: "Novo", + YESTERDAY: "Ontem", + TODAY: "Hoje", + TOMORROW: "Amanh\xE3", + STATS_TITLE: "Estat\xEDsticas", + MONTH: "M\xEAs", + QUARTER: "Quarto", + YEAR: "Ano", + LIFETIME: "Tempo Total", + FORECAST: "Previs\xE3o", + FORECAST_DESC: "O n\xFAmero de cartas a serem colocadas em dia no futuro", + SCHEDULED: "Agendado", + DAYS: "Dias", + NUMBER_OF_CARDS: "N\xFAmero de cartas", + REVIEWS_PER_DAY: "M\xE9dia: ${avg} revis\xF5es/dia", + INTERVALS: "Intervalos", + INTERVALS_DESC: "Atrasos at\xE9 que as revis\xF5es sejam exibidas de novo", + COUNT: "Contagem", + INTERVALS_SUMMARY: "Intervalo em m\xE9dia: ${avg}, Maior intervalo: ${longest}", + EASES: "Facilidades", + EASES_SUMMARY: "Facilidade em m\xE9dia: ${avgEase}", + CARD_TYPES: "Tipos de Cartas", + CARD_TYPES_DESC: "Isso tamb\xE9m inclui cartas enterrados, caso existam", + CARD_TYPE_NEW: "Novo", + CARD_TYPE_YOUNG: "Jovem", + CARD_TYPE_MATURE: "Amadurecido", + CARD_TYPES_SUMMARY: "Total de cartas: ${totalCardsCount}" +}; // src/lang/locale/ro.ts var ro_default = {}; @@ -935,6 +1086,7 @@ var ru_default = { NEW_CARDS: "\u041D\u043E\u0432\u044B\u0435 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438", TOTAL_CARDS: "\u0412\u0441\u0435\u0433\u043E \u043A\u0430\u0440\u0442\u043E\u0447\u0435\u043A", EDIT_LATER: "\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u0441\u043B\u0435", + BACK: "Back", RESET_CARD_PROGRESS: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0440\u043E\u0433\u0440\u0435\u0441\u0441 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438", HARD: "\u0421\u043B\u043E\u0436\u043D\u043E", GOOD: "\u041D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E", @@ -996,12 +1148,14 @@ var ru_default = { DISABLE_CLOZE_CARDS: "\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u0430\u0440\u0442\u044B \u0441 \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430\u043C\u0438(\u043F\u0440\u0438\u043C\u0435\u0440: [...])?", CONVERT_HIGHLIGHTS_TO_CLOZES: "\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C ==\u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442== \u0432 \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0438(\u043F\u0440\u0438\u043C\u0435\u0440: [...])?", CONVERT_BOLD_TEXT_TO_CLOZES: "\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C **\u0436\u0438\u0440\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442** \u0432 \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0438(\u043F\u0440\u0438\u043C\u0435\u0440: [...])?", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C {{\u0444\u0438\u0433\u0443\u0440\u043D\u044B\u0435 \u0441\u043A\u043E\u0431\u043A\u0438}} \u0432 \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0438(\u043F\u0440\u0438\u043C\u0435\u0440: [...])?", INLINE_CARDS_SEPARATOR: "\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0434\u043B\u044F \u0432\u043D\u0443\u0442\u0440\u0438\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0445 \u043A\u0430\u0440\u0442\u043E\u0447\u0435\u043A", FIX_SEPARATORS_MANUALLY_WARNING: "\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435! \u043F\u043E\u0441\u043B\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u044D\u0442\u043E\u0433\u043E \u0432\u0430\u043C \u043F\u0440\u0438\u0434\u0451\u0442\u0441\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438", INLINE_REVERSED_CARDS_SEPARATOR: "\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0434\u043B\u044F \u043E\u0431\u0440\u0430\u0442\u043D\u044B\u0445 \u0432\u043D\u0443\u0442\u0440\u0438\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0445 \u043A\u0430\u0440\u0442\u043E\u0447\u0435\u043A", MULTILINE_CARDS_SEPARATOR: "\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0434\u043B\u044F \u043C\u043D\u043E\u0433\u043E\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0445 \u043A\u0430\u0440\u0442\u043E\u0447\u0435\u043A", MULTILINE_REVERSED_CARDS_SEPARATOR: "\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0434\u043B\u044F \u043E\u0431\u0440\u0430\u0442\u043D\u044B\u0445 \u043C\u043D\u043E\u0433\u043E\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0445 \u043A\u0430\u0440\u0442\u043E\u0447\u0435\u043A", NOTES: "\u0417\u0430\u043C\u0435\u0442\u043A\u0438", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", TAGS_TO_REVIEW: "\u0422\u044D\u0433\u0438 \u0434\u043B\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F", TAGS_TO_REVIEW_DESC: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u044D\u0433\u0438, \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u0430\u043C\u0438 \u0438\u043B\u0438 enter`\u0430\u043C\u0438, \u043F\u0440\u0438\u043C\u0435\u0440: #review #tag2 #tag3.", OPEN_RANDOM_NOTE: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443 \u0434\u043B\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u044F", @@ -1012,6 +1166,9 @@ var ru_default = { MAX_N_DAYS_REVIEW_QUEUE: "\u041D\u0430\u0438\u0431\u043E\u043B\u044C\u0448\u0435\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u043D\u0435\u0439 \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u0438 \u0441\u043F\u0440\u0430\u0432\u0430", MIN_ONE_DAY: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u043D\u0435\u0439 \u043D\u0435 \u043C\u0435\u043D\u044C\u0448\u0435 1.", VALID_NUMBER_WARNING: "\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0435\u0435 \u0447\u0438\u0441\u043B\u043E.", + UI_PREFERENCES: "\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "\u0414\u0435\u0440\u0435\u0432\u044C\u044F \u043A\u043E\u043B\u043E\u0434 \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u0437\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u043A \u0440\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044B\u0435", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u044D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440, \u0447\u0442\u043E\u0431\u044B \u0441\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043A\u043E\u043B\u043E\u0434\u044B \u043D\u0430 \u043E\u0434\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0435. \u041F\u043E\u043B\u0435\u0437\u043D\u043E, \u0435\u0441\u043B\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044C \u043A\u0430\u0440\u0442\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u0440\u0438\u043D\u0430\u0434\u043B\u0435\u0436\u0430\u0442 \u043C\u043D\u043E\u0433\u0438\u043C \u043A\u043E\u043B\u043E\u0434\u0430\u043C \u0432 \u043E\u0434\u043D\u043E\u043C \u0444\u0430\u0439\u043B\u0435.", ALGORITHM: "\u0410\u043B\u0433\u043E\u0440\u0438\u0442\u043C", CHECK_ALGORITHM_WIKI: '\u0417\u0430 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439 \u043E\u0431\u0440\u0430\u0449\u0430\u0439\u0442\u0435\u0441\u044C \u043A \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u0430(\u0441\u043A\u043E\u0440\u043E \u0431\u0443\u0434\u0435\u0442 \u043F\u0435\u0440\u0435\u0432\u043E\u0434).', BASE_EASE: "\u0411\u0430\u0437\u043E\u0432\u0430\u044F \u041B\u0451\u0433\u043A\u043E\u0441\u0442\u044C", @@ -1069,6 +1226,7 @@ var zh_cn_default = { DUE_CARDS: "\u5230\u671F\u5361\u7247", NEW_CARDS: "\u65B0\u5361\u7247", TOTAL_CARDS: "\u5168\u90E8\u5361\u7247", + BACK: "Back", EDIT_LATER: "\u7A0D\u540E\u7F16\u8F91", RESET_CARD_PROGRESS: "\u91CD\u7F6E\u5361\u7247", HARD: "\u8F83\u96BE", @@ -1106,12 +1264,12 @@ var zh_cn_default = { FOLDERS_TO_IGNORE: "\u5FFD\u7565\u6B64\u6587\u4EF6\u5939", FOLDERS_TO_IGNORE_DESC: "\u8F93\u5165\u6587\u4EF6\u5939\u8DEF\u5F84\uFF0C\u7528\u65B0\u5EFA\u884C\u5206\u9694\uFF0C\u4F8B\u5982\uFF1ATemplates Meta/Scripts", FLASHCARDS: "\u5361\u7247", - FLASHCARD_EASY_LABEL: "Easy Button Text", - FLASHCARD_GOOD_LABEL: "Good Button Text", - FLASHCARD_HARD_LABEL: "Hard Button Text", - FLASHCARD_EASY_DESC: 'Customize the label for the "Easy" Button', - FLASHCARD_GOOD_DESC: 'Customize the label for the "Good" Button', - FLASHCARD_HARD_DESC: 'Customize the label for the "Hard" Button', + FLASHCARD_EASY_LABEL: "\u201C\u7B80\u5355\u201D\u6309\u94AE\u6587\u672C", + FLASHCARD_GOOD_LABEL: "\u201C\u8BB0\u5F97\u201D\u6309\u94AE\u6587\u672C", + FLASHCARD_HARD_LABEL: "\u201C\u8F83\u96BE\u201D\u6309\u94AE\u6587\u672C", + FLASHCARD_EASY_DESC: "\u81EA\u5B9A\u4E49\u201C\u7B80\u5355\u201D\u6309\u94AE\u7684\u6807\u7B7E", + FLASHCARD_GOOD_DESC: "\u81EA\u5B9A\u4E49\u201C\u8BB0\u5F97\u201D\u6309\u94AE\u7684\u6807\u7B7E", + FLASHCARD_HARD_DESC: "\u81EA\u5B9A\u4E49\u201C\u8F83\u96BE\u201D\u6309\u94AE\u7684\u6807\u7B7E", FLASHCARD_TAGS: "\u5361\u7247\u6807\u7B7E", FLASHCARD_TAGS_DESC: "\u8F93\u5165\u6807\u7B7E\uFF0C\u7528\u7A7A\u683C\u6216\u65B0\u5EFA\u884C\u5206\u9694\uFF0C\u4F8B\u5982\uFF1A#flashcards #deck2 #deck3.", CONVERT_FOLDERS_TO_DECKS: "\u662F\u5426\u5C06\u6587\u4EF6\u5939\u5185\u5BB9\u8F6C\u6362\u4E3A\u5361\u7247\u7EC4\u548C\u5B50\u5361\u7247\u7EC4\uFF1F", @@ -1131,12 +1289,14 @@ var zh_cn_default = { DISABLE_CLOZE_CARDS: "\u4E0D\u8FDB\u884C\u5B8C\u5F62\u586B\u7A7A\uFF1F", CONVERT_HIGHLIGHTS_TO_CLOZES: "\u5C06 ==\u9AD8\u4EAE== \u8F6C\u6362\u4E3A\u5B8C\u5F62\u586B\u7A7A\uFF1F", CONVERT_BOLD_TEXT_TO_CLOZES: "\u5C06 **\u7C97\u4F53** \u8F6C\u6362\u4E3A\u5B8C\u5F62\u586B\u7A7A\uFF1F", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "\u5C06 {{\u5927\u62EC\u53F7}} \u8F6C\u6362\u4E3A\u5B8C\u5F62\u586B\u7A7A\uFF1F", INLINE_CARDS_SEPARATOR: "\u5355\u884C\u5361\u7247\u7684\u5206\u9694\u7B26", FIX_SEPARATORS_MANUALLY_WARNING: "\u6CE8\u610F\uFF1A\u66F4\u6539\u6B64\u9009\u9879\u540E\u4F60\u5C06\u9700\u8981\u81EA\u884C\u66F4\u6539\u5DF2\u5B58\u5728\u5361\u7247\u7684\u5206\u9694\u7B26\u3002", INLINE_REVERSED_CARDS_SEPARATOR: "\u5355\u884C\u7FFB\u8F6C\u5361\u7247\u7684\u5206\u9694\u7B26", MULTILINE_CARDS_SEPARATOR: "\u591A\u884C\u5361\u7247\u7684\u5206\u9694\u7B26", MULTILINE_REVERSED_CARDS_SEPARATOR: "\u591A\u884C\u7FFB\u8F6C\u5361\u7247\u7684\u5206\u9694\u7B26", NOTES: "\u7B14\u8BB0", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", TAGS_TO_REVIEW: "\u590D\u4E60\u6807\u7B7E", TAGS_TO_REVIEW_DESC: "\u8F93\u5165\u6807\u7B7E\uFF0C\u7528\u7A7A\u683C\u6216\u65B0\u5EFA\u884C\u5206\u9694\uFF0C\u4F8B\u5982\uFF1A#review #tag2 #tag3.", OPEN_RANDOM_NOTE: "\u590D\u4E60\u968F\u673A\u7B14\u8BB0", @@ -1147,6 +1307,9 @@ var zh_cn_default = { MAX_N_DAYS_REVIEW_QUEUE: "\u53F3\u8FB9\u680F\u4E2D\u663E\u793A\u7684\u6700\u5927\u5929\u6570", MIN_ONE_DAY: "\u5929\u6570\u6700\u5C0F\u503C\u4E3A1", VALID_NUMBER_WARNING: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u6570\u5B57\u3002", + UI_PREFERENCES: "\u7528\u6237\u754C\u9762\u9996\u9009\u9879", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "\u7532\u677F\u6811\u6700\u521D\u5E94\u663E\u793A\u4E3A\u5C55\u5F00", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "\u5173\u95ED\u6B64\u9009\u9879\u53EF\u6298\u53E0\u540C\u4E00\u5F20\u5361\u7247\u4E2D\u7684\u5D4C\u5957\u724C\u7EC4\u3002\u5982\u679C\u60A8\u7684\u5361\u7247\u5C5E\u4E8E\u540C\u4E00\u6587\u4EF6\u4E2D\u7684\u8BB8\u591A\u5957\u724C\uFF0C\u5219\u5F88\u6709\u7528\u3002", ALGORITHM: "\u7B97\u6CD5", CHECK_ALGORITHM_WIKI: '\u4E86\u89E3\u66F4\u591A, \u8BF7\u70B9\u51FB algorithm implementation.', BASE_EASE: "\u57FA\u7840\u638C\u63E1\u7A0B\u5EA6", @@ -1196,7 +1359,142 @@ var zh_cn_default = { }; // src/lang/locale/zh-tw.ts -var zh_tw_default = {}; +var zh_tw_default = { + DECKS: "\u724C\u7D44", + DUE_CARDS: "\u5230\u671F\u5361\u7247", + NEW_CARDS: "\u65B0\u5361\u7247", + TOTAL_CARDS: "\u5168\u90E8\u5361\u7247", + EDIT_LATER: "\u7A0D\u5F8C\u7DE8\u8F2F", + BACK: "Back", + RESET_CARD_PROGRESS: "\u91CD\u7F6E\u5361\u7247", + HARD: "\u8F03\u96E3", + GOOD: "\u8A18\u5F97", + EASY: "\u7C21\u55AE", + SHOW_ANSWER: "\u986F\u793A\u7B54\u6848", + CARD_PROGRESS_RESET: "\u5361\u7247\u5DF2\u88AB\u91CD\u7F6E\u3002", + OPEN_NOTE_FOR_REVIEW: "\u6253\u958B\u4E00\u500B\u7B46\u8A18\u958B\u59CB\u5FA9\u7FD2", + REVIEW_CARDS: "\u5FA9\u7FD2\u5361\u7247", + REVIEW_EASY_FILE_MENU: "\u5FA9\u7FD2\uFF1A\u7C21\u55AE", + REVIEW_GOOD_FILE_MENU: "\u5FA9\u7FD2\uFF1A\u8A18\u5F97", + REVIEW_HARD_FILE_MENU: "\u5FA9\u7FD2\uFF1A\u8F03\u96E3", + REVIEW_NOTE_EASY_CMD: "\u6A19\u8A18\u70BA\u300C\u7C21\u55AE\u300D", + REVIEW_NOTE_GOOD_CMD: "\u6A19\u8A18\u70BA\u300C\u8A18\u5F97\u300D", + REVIEW_NOTE_HARD_CMD: "\u6A19\u8A18\u70BA\u300C\u8F03\u96E3\u300D", + REVIEW_CARDS_IN_NOTE: "\u5FA9\u7FD2\u6B64\u7B46\u8A18\u4E2D\u7684\u5361\u7247", + CRAM_CARDS_IN_NOTE: "\u96C6\u4E2D\u5FA9\u7FD2\u6B64\u7B46\u8A18\u4E2D\u7684\u5361\u7247", + REVIEW_ALL_CARDS: "\u5FA9\u7FD2\u6240\u6709\u7B46\u8A18\u4E2D\u7684\u5361\u7247", + VIEW_STATS: "\u6AA2\u8996\u6578\u64DA", + STATUS_BAR: "\u5FA9\u7FD2: ${dueNotesCount} \u7B46\u8A18, ${dueFlashcardsCount} \u5361\u7247\u5DF2\u5230\u671F", + SYNC_TIME_TAKEN: "\u540C\u6B65\u6642\u9593 ${t}ms", + NOTE_IN_IGNORED_FOLDER: "\u7B46\u8A18\u5132\u5B58\u5728\u5DF2\u88AB\u5FFD\u7565\u7684\u8DEF\u5F91\u4E2D\uFF08\u6AA2\u67E5\u8A2D\u5B9A\u9078\u9805\uFF09\u3002", + PLEASE_TAG_NOTE: "\u8ACB\u5C07\u9700\u8981\u5FA9\u7FD2\u7684\u7B46\u8A18\u4E2D\u52A0\u5165\u6B63\u78BA\u7684\u6A19\u7C64\uFF08\u6AA2\u67E5\u8A2D\u5B9A\u9078\u9805\uFF09\u3002", + RESPONSE_RECEIVED: "\u56DE\u994B\u5DF2\u6536\u5230", + NO_DECK_EXISTS: "\u6C92\u6709 ${deckName} \u724C\u7D44", + ALL_CAUGHT_UP: "\u90FD\u5FA9\u7FD2\u5B8C\u5566\uFF0C\u4F60\u771F\u68D2\uFF01", + DAYS_STR_IVL: "${interval} \u5929", + MONTHS_STR_IVL: "${interval} \u6708", + YEARS_STR_IVL: "${interval} \u5E74", + DAYS_STR_IVL_MOBILE: "${interval}\u5929", + MONTHS_STR_IVL_MOBILE: "${interval}\u6708", + YEARS_STR_IVL_MOBILE: "${interval}\u5E74", + SETTINGS_HEADER: "\u9593\u9694\u91CD\u8907\u5916\u639B - \u8A2D\u5B9A", + CHECK_WIKI: '\u77AD\u89E3\u66F4\u591A, \u8ACB\u9EDE\u9078 wiki.', + FOLDERS_TO_IGNORE: "\u5FFD\u7565\u6B64\u8CC7\u6599\u593E", + FOLDERS_TO_IGNORE_DESC: "\u8F38\u5165\u8CC7\u6599\u593E\u8DEF\u5F91\uFF08\u7528\u63DB\u884C\u5B57\u5143\u5206\u9694\uFF09\uFF0C\u4F8B\u5982\uFF1ATemplates Meta/Scripts", + FLASHCARDS: "\u5361\u7247", + FLASHCARD_EASY_LABEL: "\u7C21\u55AE\u6309\u9215\u6587\u5B57", + FLASHCARD_GOOD_LABEL: "\u8A18\u5F97\u6309\u9215\u6587\u5B57", + FLASHCARD_HARD_LABEL: "\u8F03\u96E3\u6309\u9215\u6587\u5B57", + FLASHCARD_EASY_DESC: "\u81EA\u8A02\u300C\u7C21\u55AE\u300D\u6309\u9215\u7684\u6A19\u7C64", + FLASHCARD_GOOD_DESC: "\u81EA\u8A02\u300C\u8A18\u5F97\u300D\u6309\u9215\u7684\u6A19\u7C64", + FLASHCARD_HARD_DESC: "\u81EA\u8A02\u300C\u8F03\u96E3\u300D\u6309\u9215\u7684\u6A19\u7C64", + FLASHCARD_TAGS: "\u5361\u7247\u6A19\u7C64", + FLASHCARD_TAGS_DESC: "\u8F38\u5165\u6A19\u7C64\uFF08\u7528\u7A7A\u767D\u6216\u63DB\u884C\u5B57\u5143\u5206\u9694\uFF09\uFF0C\u4F8B\u5982\uFF1A#flashcards #deck2 #deck3.", + CONVERT_FOLDERS_TO_DECKS: "\u662F\u5426\u5C07\u8CC7\u6599\u593E\u5167\u5BB9\u8F49\u63DB\u70BA\u724C\u7D44\u548C\u5B50\u724C\u7D44\uFF1F", + CONVERT_FOLDERS_TO_DECKS_DESC: "\u6B64\u9078\u9805\u70BA\u5361\u7247\u6A19\u7C64\u9078\u9805\u7684\u66FF\u4EE3\u9078\u9805\u3002", + INLINE_SCHEDULING_COMMENTS: "\u662F\u5426\u5C07\u8A08\u5283\u91CD\u8907\u6642\u9593\u5132\u5B58\u5728\u5361\u7247\u6700\u5F8C\u4E00\u884C\u7684\u540C\u4E00\u884C\uFF1F", + INLINE_SCHEDULING_COMMENTS_DESC: "\u52FE\u9078\u5F8CHTML\u8A3B\u89E3\u4E0D\u6703\u7834\u58DE\u5217\u8868\u683C\u5F0F\u554F\u984C\u3002", + BURY_SIBLINGS_TILL_NEXT_DAY: "\u5C07\u53CD\u8F49\u5361\u7247\u96B1\u85CF\u81F3\u4E0B\u4E00\u5929\uFF1F", + BURY_SIBLINGS_TILL_NEXT_DAY_DESC: "\u53CD\u8F49\u5361\u7247\u7531\u540C\u4E00\u5361\u7247\u6587\u5B57\u7522\u751F\uFF0C\u4F8B\u5982\uFF1A\u586B\u7A7A\u514B\u6F0F\u5B57", + SHOW_CARD_CONTEXT: "\u5728\u5361\u7247\u4E2D\u986F\u793A\u4E0A\u4E0B\u6587\uFF1F", + SHOW_CARD_CONTEXT_DESC: "\u4F8B\u5982\uFF1A\u6A19\u984C > \u526F\u6A19\u984C > \u5C0F\u6A19\u984C > ... > \u5C0F\u6A19\u984C", + CARD_MODAL_HEIGHT_PERCENT: "\u5361\u7247\u9AD8\u5EA6\u767E\u5206\u6BD4", + CARD_MODAL_SIZE_PERCENT_DESC: "\u5728\u79FB\u52D5\u7AEF\u6216\u9700\u8981\u8F03\u5927\u5716\u7247\u6642\u61C9\u8A2D\u5B9A\u70BA100%", + RESET_DEFAULT: "\u91CD\u7F6E\u70BA\u9810\u8A2D\u503C", + CARD_MODAL_WIDTH_PERCENT: "\u5361\u7247\u5BEC\u5EA6\u767E\u5206\u6BD4", + FILENAME_OR_OPEN_FILE: "\u5728\u5FA9\u7FD2\u5361\u7247\u6642\u986F\u793A\u6A94\u540D\u800C\u4E0D\u662F\u300C\u7A0D\u5F8C\u7DE8\u8F2F\u300D\uFF1F", + RANDOMIZE_CARD_ORDER: "\u5FA9\u7FD2\u6642\u96A8\u6A5F\u986F\u793A\u5361\u7247\uFF1F", + DISABLE_CLOZE_CARDS: "\u505C\u7528\u586B\u7A7A\u514B\u6F0F\u5B57\u5361\u7247\uFF1F", + CONVERT_HIGHLIGHTS_TO_CLOZES: "\u5C07 ==\u9AD8\u4EAE== \u8F49\u63DB\u70BA\u586B\u7A7A\u514B\u6F0F\u5B57\uFF1F", + CONVERT_BOLD_TEXT_TO_CLOZES: "\u5C07 **\u7C97\u9AD4** \u8F49\u63DB\u70BA\u586B\u7A7A\u514B\u6F0F\u5B57\uFF1F", + CONVERT_CURLY_BRACKETS_TO_CLOZES: "\u5C07 {{\u5927\u62EC\u865F}} \u8F49\u63DB\u70BA\u586B\u7A7A\u514B\u6F0F\u5B57\uFF1F", + INLINE_CARDS_SEPARATOR: "\u55AE\u884C\u5361\u7247\u7684\u5206\u9694\u5B57\u5143", + FIX_SEPARATORS_MANUALLY_WARNING: "\u6CE8\u610F\uFF1A\u66F4\u6539\u6B64\u9078\u9805\u5F8C\u4F60\u5C07\u9700\u8981\u81EA\u884C\u66F4\u6539\u5DF2\u5B58\u5728\u5361\u7247\u7684\u5206\u9694\u5B57\u5143\u3002", + INLINE_REVERSED_CARDS_SEPARATOR: "\u55AE\u884C\u53CD\u8F49\u5361\u7247\u7684\u5206\u9694\u5B57\u5143", + MULTILINE_CARDS_SEPARATOR: "\u591A\u884C\u5361\u7247\u7684\u5206\u9694\u5B57\u5143", + MULTILINE_REVERSED_CARDS_SEPARATOR: "\u591A\u884C\u7FFB\u8F49\u5361\u7247\u7684\u5206\u9694\u5B57\u5143", + NOTES: "\u7B46\u8A18", + REVIEW_PANE_ON_STARTUP: "Enable note review pane on startup", + TAGS_TO_REVIEW: "\u5FA9\u7FD2\u6A19\u7C64", + TAGS_TO_REVIEW_DESC: "\u8F38\u5165\u6A19\u7C64\uFF0C\u7528\u7A7A\u683C\u6216\u63DB\u884C\u5B57\u5143\u5206\u9694\uFF0C\u4F8B\u5982\uFF1A#review #tag2 #tag3.", + OPEN_RANDOM_NOTE: "\u5FA9\u7FD2\u96A8\u6A5F\u7B46\u8A18", + OPEN_RANDOM_NOTE_DESC: "\u95DC\u9589\u6B64\u9078\u9805\uFF0C\u7B46\u8A18\u5C07\u4EE5\u91CD\u8981\u5EA6(PageRank)\u6392\u5E8F\u3002", + AUTO_NEXT_NOTE: "\u5FA9\u7FD2\u5F8C\u81EA\u52D5\u6253\u958B\u4E0B\u4E00\u500B\u7B46\u8A18", + DISABLE_FILE_MENU_REVIEW_OPTIONS: "\u95DC\u9589\u6A94\u6848\u9078\u55AE\u4E2D\u7684\u5FA9\u7FD2\u9078\u9805 \u4F8B\u5982\uFF1A\u5FA9\u7FD2\uFF1A\u7C21\u55AE \u8A18\u5F97 \u8F03\u96E3", + DISABLE_FILE_MENU_REVIEW_OPTIONS_DESC: "\u95DC\u9589\u6A94\u6848\u9078\u55AE\u7684\u5FA9\u7FD2\u9078\u9805\uFF0C\u4F8B\u5982\uFF1A\u5FA9\u7FD2: \u7C21\u55AE \u8A18\u5F97 \u8F03\u96E3\u3002", + MAX_N_DAYS_REVIEW_QUEUE: "\u53F3\u908A\u9762\u677F\u986F\u793A\u7684\u6700\u5927\u5929\u6578", + MIN_ONE_DAY: "\u5929\u6578\u6700\u5C0F\u503C\u70BA1", + VALID_NUMBER_WARNING: "\u8ACB\u8F38\u5165\u6709\u6548\u7684\u6578\u5B57\u3002", + UI_PREFERENCES: "\u7528\u6236\u4ECB\u9762\u9996\u9078\u9805", + INITIALLY_EXPAND_SUBDECKS_IN_TREE: "\u724C\u7D44\u6A39\u6700\u521D\u61C9\u986F\u793A\u70BA\u5C55\u958B", + INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC: "\u95DC\u9589\u6B64\u9078\u9805\u53EF\u647A\u758A\u540C\u4E00\u5F35\u5361\u7247\u4E2D\u7684\u5DE2\u72C0\u724C\u7D44\u3002\u5982\u679C\u60A8\u7684\u5361\u7247\u5C6C\u65BC\u540C\u4E00\u6A94\u6848\u4E2D\u7684\u8A31\u591A\u5957\u724C\uFF0C\u5247\u5F88\u6709\u7528\u3002", + ALGORITHM: "\u6F14\u7B97\u6CD5", + CHECK_ALGORITHM_WIKI: '\u77AD\u89E3\u66F4\u591A, \u8ACB\u9EDE\u9078 algorithm implementation.', + BASE_EASE: "\u57FA\u790E\u638C\u63E1\u7A0B\u5EA6", + BASE_EASE_DESC: "\u6700\u5C0F\u503C130\uFF0C\u63A8\u85A6\u503C\u7D04250.", + BASE_EASE_MIN_WARNING: "\u57FA\u790E\u638C\u63E1\u7A0B\u5EA6\u7684\u6700\u5C0F\u503C\u70BA130\u3002", + LAPSE_INTERVAL_CHANGE: "\u5C07\u5FA9\u7FD2\u6642\u6A19\u8A3B\u70BA\u300C\u8F03\u96E3\u300D\u7684\u5361\u7247\u6216\u7B46\u8A18\u5FA9\u7FD2\u9593\u9694\u7E2E\u77ED", + LAPSE_INTERVAL_CHANGE_DESC: "\u65B0\u5FA9\u7FD2\u9593\u9694 = \u539F\u5FA9\u7FD2\u9593\u9694 * \u9593\u9694\u6539\u8B8A\u4FC2\u6578 / 100.", + EASY_BONUS: "\u7C21\u55AE\u734E\u52F5", + EASY_BONUS_DESC: "\u7C21\u55AE\u734E\u52F5\u8A2D\u5B9A\u300C\u8A18\u5F97\u300D\u548C\u300C\u7C21\u55AE\u300D\u5361\u7247\u6216\u7B46\u8A18\u7684\u5FA9\u7FD2\u9593\u9694\u5DEE\u8DDD\uFF08\u6700\u5C0F\u503C100%\uFF09\u3002", + EASY_BONUS_MIN_WARNING: "\u7C21\u55AE\u734E\u52F5\u81F3\u5C11\u70BA100\u3002", + MAX_INTERVAL: "\u6700\u5927\u9593\u9694", + MAX_INTERVAL_DESC: "\u8A2D\u5B9A\u5FA9\u7FD2\u7684\u6700\u5927\u9593\u9694\u6642\u9593\uFF08\u9810\u8A2D\u503C100\u5E74\uFF09\u3002", + MAX_INTERVAL_MIN_WARNING: "\u6700\u5927\u9593\u9694\u81F3\u5C11\u70BA1\u5929", + MAX_LINK_CONTRIB: "\u6700\u5927\u93C8\u63A5\u8CA2\u737B", + MAX_LINK_CONTRIB_DESC: "Maximum contribution of the weighted ease of linked notes to the initial ease.", + LOGGING: "\u8A18\u9304\u4E2D", + DISPLAY_DEBUG_INFO: "\u5728\u958B\u767C\u8005\u63A7\u5236\u53F0\u4E2D\u986F\u793A\u9664\u932F\u8CC7\u8A0A\uFF1F", + NOTES_REVIEW_QUEUE: "\u7B46\u8A18\u5FA9\u7FD2\u5E8F\u5217", + CLOSE: "\u81E8\u8FD1", + NEW: "\u65B0", + YESTERDAY: "\u6628\u5929", + TODAY: "\u4ECA\u5929", + TOMORROW: "\u660E\u5929", + STATS_TITLE: "\u7D71\u8A08", + MONTH: "\u6708", + QUARTER: "\u5B63", + YEAR: "\u5E74", + LIFETIME: "\u5168\u90E8", + FORECAST: "\u9810\u6E2C", + FORECAST_DESC: "\u5C07\u8981\u5230\u671F\u7684\u5361\u7247\u6578\u91CF", + SCHEDULED: "\u5DF2\u6392\u7A0B", + DAYS: "\u5929", + NUMBER_OF_CARDS: "\u5361\u7247\u6578\u91CF", + REVIEWS_PER_DAY: "\u5E73\u5747: \u5FA9\u7FD2${avg} /\u5929", + INTERVALS: "\u9593\u9694", + INTERVALS_DESC: "\u5230\u4E0B\u4E00\u6B21\u5FA9\u7FD2\u7684\u6642\u9593\u9593\u9694", + COUNT: "\u8A08\u6578", + INTERVALS_SUMMARY: "\u5E73\u5747\u9593\u9694\u6642\u9593: ${avg}, \u6700\u9577\u9593\u9694\u6642\u9593: ${longest}", + EASES: "Eases", + EASES_SUMMARY: "\u5E73\u5747\u638C\u63E1\u7A0B\u5EA6: ${avgEase}", + CARD_TYPES: "\u5361\u7247\u578B\u5225", + CARD_TYPES_DESC: "\u5982\u6709\uFF0C\u5C07\u986F\u793A\u96B1\u85CF\u7684\u5361\u7247", + CARD_TYPE_NEW: "\u65B0", + CARD_TYPE_YOUNG: "\u8F03\u65B0", + CARD_TYPE_MATURE: "\u719F\u6089", + CARD_TYPES_SUMMARY: "\u7E3D\u5361\u7247\u6578: ${totalCardsCount}" +}; // src/lang/helpers.ts var localeMap = { @@ -1241,7 +1539,7 @@ function t(str, params) { return result; } -// src/settings.tsx +// src/settings.ts var DEFAULT_SETTINGS = { flashcardEasyText: t("EASY"), flashcardGoodText: t("GOOD"), @@ -1257,16 +1555,19 @@ var DEFAULT_SETTINGS = { randomizeCardOrder: true, convertHighlightsToClozes: true, convertBoldTextToClozes: false, - singlelineCardSeparator: "::", - singlelineReversedCardSeparator: ":::", + convertCurlyBracketsToClozes: false, + singleLineCardSeparator: "::", + singleLineReversedCardSeparator: ":::", multilineCardSeparator: "?", multilineReversedCardSeparator: "??", + enableNoteReviewPaneOnStartup: true, tagsToReview: ["#review"], noteFoldersToIgnore: [], openRandomNote: false, autoNextNote: false, disableFileMenuReviewOptions: false, maxNDaysNotesReviewQueue: 365, + initiallyExpandAllSubdecksInTree: false, baseEase: 250, lapsesIntervalChange: 0.5, easyBonus: 1.3, @@ -1280,336 +1581,409 @@ function applySettingsUpdate(callback2) { applyDebounceTimer = window.setTimeout(callback2, 512); } var SRSettingTab = class extends import_obsidian2.PluginSettingTab { - constructor(app, plugin) { - super(app, plugin); + constructor(app2, plugin) { + super(app2, plugin); this.plugin = plugin; } display() { const { containerEl } = this; containerEl.empty(); - containerEl.createDiv().innerHTML = /* @__PURE__ */ (0, import_vhtml.default)("h2", null, t("SETTINGS_HEADER")); + containerEl.createEl("h2", { text: `${t("SETTINGS_HEADER")}` }); containerEl.createDiv().innerHTML = t("CHECK_WIKI", { wiki_url: "https://github.com/st3v3nmw/obsidian-spaced-repetition/wiki" }); - new import_obsidian2.Setting(containerEl).setName(t("FOLDERS_TO_IGNORE")).setDesc(t("FOLDERS_TO_IGNORE_DESC")).addTextArea((text) => text.setValue(this.plugin.data.settings.noteFoldersToIgnore.join("\n")).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.noteFoldersToIgnore = value.split(/\n+/).map((v) => v.trim()).filter((v) => v); - yield this.plugin.savePluginData(); - })); - })); - containerEl.createDiv().innerHTML = /* @__PURE__ */ (0, import_vhtml.default)("h3", null, t("FLASHCARDS")); - new import_obsidian2.Setting(containerEl).setName(t("FLASHCARD_TAGS")).setDesc(t("FLASHCARD_TAGS_DESC")).addTextArea((text) => text.setValue(this.plugin.data.settings.flashcardTags.join(" ")).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.flashcardTags = value.split(/\s+/); - yield this.plugin.savePluginData(); - })); - })); - new import_obsidian2.Setting(containerEl).setName(t("CONVERT_FOLDERS_TO_DECKS")).setDesc(t("CONVERT_FOLDERS_TO_DECKS_DESC")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.convertFoldersToDecks).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.convertFoldersToDecks = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("INLINE_SCHEDULING_COMMENTS")).setDesc(t("INLINE_SCHEDULING_COMMENTS_DESC")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.cardCommentOnSameLine).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.cardCommentOnSameLine = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("BURY_SIBLINGS_TILL_NEXT_DAY")).setDesc(t("BURY_SIBLINGS_TILL_NEXT_DAY_DESC")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.burySiblingCards).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.burySiblingCards = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("SHOW_CARD_CONTEXT")).setDesc(t("SHOW_CARD_CONTEXT_DESC")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.showContextInCards).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.showContextInCards = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("CARD_MODAL_HEIGHT_PERCENT")).setDesc(t("CARD_MODAL_SIZE_PERCENT_DESC")).addSlider((slider) => slider.setLimits(10, 100, 5).setValue(this.plugin.data.settings.flashcardHeightPercentage).setDynamicTooltip().onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.flashcardHeightPercentage = value; - yield this.plugin.savePluginData(); - }))).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("FOLDERS_TO_IGNORE")).setDesc(t("FOLDERS_TO_IGNORE_DESC")).addTextArea( + (text) => text.setValue(this.plugin.data.settings.noteFoldersToIgnore.join("\n")).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.noteFoldersToIgnore = value.split(/\n+/).map((v) => v.trim()).filter((v) => v); + await this.plugin.savePluginData(); + }); + }) + ); + containerEl.createEl("h3", { text: `${t("FLASHCARDS")}` }); + new import_obsidian2.Setting(containerEl).setName(t("FLASHCARD_TAGS")).setDesc(t("FLASHCARD_TAGS_DESC")).addTextArea( + (text) => text.setValue(this.plugin.data.settings.flashcardTags.join(" ")).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.flashcardTags = value.split(/\s+/); + await this.plugin.savePluginData(); + }); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("CONVERT_FOLDERS_TO_DECKS")).setDesc(t("CONVERT_FOLDERS_TO_DECKS_DESC")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.convertFoldersToDecks).onChange(async (value) => { + this.plugin.data.settings.convertFoldersToDecks = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("INLINE_SCHEDULING_COMMENTS")).setDesc(t("INLINE_SCHEDULING_COMMENTS_DESC")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.cardCommentOnSameLine).onChange(async (value) => { + this.plugin.data.settings.cardCommentOnSameLine = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("BURY_SIBLINGS_TILL_NEXT_DAY")).setDesc(t("BURY_SIBLINGS_TILL_NEXT_DAY_DESC")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.burySiblingCards).onChange(async (value) => { + this.plugin.data.settings.burySiblingCards = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("SHOW_CARD_CONTEXT")).setDesc(t("SHOW_CARD_CONTEXT_DESC")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.showContextInCards).onChange(async (value) => { + this.plugin.data.settings.showContextInCards = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("CARD_MODAL_HEIGHT_PERCENT")).setDesc(t("CARD_MODAL_SIZE_PERCENT_DESC")).addSlider( + (slider) => slider.setLimits(10, 100, 5).setValue(this.plugin.data.settings.flashcardHeightPercentage).setDynamicTooltip().onChange(async (value) => { + this.plugin.data.settings.flashcardHeightPercentage = value; + await this.plugin.savePluginData(); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.flashcardHeightPercentage = DEFAULT_SETTINGS.flashcardHeightPercentage; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("CARD_MODAL_WIDTH_PERCENT")).setDesc(t("CARD_MODAL_SIZE_PERCENT_DESC")).addSlider((slider) => slider.setLimits(10, 100, 5).setValue(this.plugin.data.settings.flashcardWidthPercentage).setDynamicTooltip().onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.flashcardWidthPercentage = value; - yield this.plugin.savePluginData(); - }))).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("CARD_MODAL_WIDTH_PERCENT")).setDesc(t("CARD_MODAL_SIZE_PERCENT_DESC")).addSlider( + (slider) => slider.setLimits(10, 100, 5).setValue(this.plugin.data.settings.flashcardWidthPercentage).setDynamicTooltip().onChange(async (value) => { + this.plugin.data.settings.flashcardWidthPercentage = value; + await this.plugin.savePluginData(); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.flashcardWidthPercentage = DEFAULT_SETTINGS.flashcardWidthPercentage; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("FILENAME_OR_OPEN_FILE")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.showFileNameInFileLink).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.showFileNameInFileLink = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("RANDOMIZE_CARD_ORDER")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.randomizeCardOrder).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.randomizeCardOrder = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("CONVERT_HIGHLIGHTS_TO_CLOZES")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.convertHighlightsToClozes).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.convertHighlightsToClozes = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("CONVERT_BOLD_TEXT_TO_CLOZES")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.convertBoldTextToClozes).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.convertBoldTextToClozes = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("INLINE_CARDS_SEPARATOR")).setDesc(t("FIX_SEPARATORS_MANUALLY_WARNING")).addText((text) => text.setValue(this.plugin.data.settings.singlelineCardSeparator).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.singlelineCardSeparator = value; - yield this.plugin.savePluginData(); - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { - this.plugin.data.settings.singlelineCardSeparator = DEFAULT_SETTINGS.singlelineCardSeparator; - yield this.plugin.savePluginData(); + new import_obsidian2.Setting(containerEl).setName(t("FILENAME_OR_OPEN_FILE")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.showFileNameInFileLink).onChange(async (value) => { + this.plugin.data.settings.showFileNameInFileLink = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("RANDOMIZE_CARD_ORDER")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.randomizeCardOrder).onChange(async (value) => { + this.plugin.data.settings.randomizeCardOrder = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("CONVERT_HIGHLIGHTS_TO_CLOZES")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.convertHighlightsToClozes).onChange(async (value) => { + this.plugin.data.settings.convertHighlightsToClozes = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("CONVERT_BOLD_TEXT_TO_CLOZES")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.convertBoldTextToClozes).onChange(async (value) => { + this.plugin.data.settings.convertBoldTextToClozes = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("CONVERT_CURLY_BRACKETS_TO_CLOZES")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.convertCurlyBracketsToClozes).onChange(async (value) => { + this.plugin.data.settings.convertCurlyBracketsToClozes = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("INLINE_CARDS_SEPARATOR")).setDesc(t("FIX_SEPARATORS_MANUALLY_WARNING")).addText( + (text) => text.setValue(this.plugin.data.settings.singleLineCardSeparator).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.singleLineCardSeparator = value; + await this.plugin.savePluginData(); + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { + this.plugin.data.settings.singleLineCardSeparator = DEFAULT_SETTINGS.singleLineCardSeparator; + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("INLINE_REVERSED_CARDS_SEPARATOR")).setDesc(t("FIX_SEPARATORS_MANUALLY_WARNING")).addText((text) => text.setValue(this.plugin.data.settings.singlelineReversedCardSeparator).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.singlelineReversedCardSeparator = value; - yield this.plugin.savePluginData(); - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { - this.plugin.data.settings.singlelineReversedCardSeparator = DEFAULT_SETTINGS.singlelineReversedCardSeparator; - yield this.plugin.savePluginData(); + new import_obsidian2.Setting(containerEl).setName(t("INLINE_REVERSED_CARDS_SEPARATOR")).setDesc(t("FIX_SEPARATORS_MANUALLY_WARNING")).addText( + (text) => text.setValue(this.plugin.data.settings.singleLineReversedCardSeparator).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.singleLineReversedCardSeparator = value; + await this.plugin.savePluginData(); + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { + this.plugin.data.settings.singleLineReversedCardSeparator = DEFAULT_SETTINGS.singleLineReversedCardSeparator; + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("MULTILINE_CARDS_SEPARATOR")).setDesc(t("FIX_SEPARATORS_MANUALLY_WARNING")).addText((text) => text.setValue(this.plugin.data.settings.multilineCardSeparator).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.multilineCardSeparator = value; - yield this.plugin.savePluginData(); - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("MULTILINE_CARDS_SEPARATOR")).setDesc(t("FIX_SEPARATORS_MANUALLY_WARNING")).addText( + (text) => text.setValue(this.plugin.data.settings.multilineCardSeparator).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.multilineCardSeparator = value; + await this.plugin.savePluginData(); + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.multilineCardSeparator = DEFAULT_SETTINGS.multilineCardSeparator; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("MULTILINE_REVERSED_CARDS_SEPARATOR")).setDesc(t("FIX_SEPARATORS_MANUALLY_WARNING")).addText((text) => text.setValue(this.plugin.data.settings.multilineReversedCardSeparator).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.multilineReversedCardSeparator = value; - yield this.plugin.savePluginData(); - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("MULTILINE_REVERSED_CARDS_SEPARATOR")).setDesc(t("FIX_SEPARATORS_MANUALLY_WARNING")).addText( + (text) => text.setValue(this.plugin.data.settings.multilineReversedCardSeparator).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.multilineReversedCardSeparator = value; + await this.plugin.savePluginData(); + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.multilineReversedCardSeparator = DEFAULT_SETTINGS.multilineReversedCardSeparator; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("FLASHCARD_EASY_LABEL")).setDesc(t("FLASHCARD_EASY_DESC")).addText((text) => text.setValue(this.plugin.data.settings.flashcardEasyText).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.flashcardEasyText = value; - yield this.plugin.savePluginData(); - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("FLASHCARD_EASY_LABEL")).setDesc(t("FLASHCARD_EASY_DESC")).addText( + (text) => text.setValue(this.plugin.data.settings.flashcardEasyText).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.flashcardEasyText = value; + await this.plugin.savePluginData(); + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.flashcardEasyText = DEFAULT_SETTINGS.flashcardEasyText; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("FLASHCARD_GOOD_LABEL")).setDesc(t("FLASHCARD_GOOD_DESC")).addText((text) => text.setValue(this.plugin.data.settings.flashcardGoodText).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.flashcardGoodText = value; - yield this.plugin.savePluginData(); - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("FLASHCARD_GOOD_LABEL")).setDesc(t("FLASHCARD_GOOD_DESC")).addText( + (text) => text.setValue(this.plugin.data.settings.flashcardGoodText).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.flashcardGoodText = value; + await this.plugin.savePluginData(); + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.flashcardGoodText = DEFAULT_SETTINGS.flashcardGoodText; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("FLASHCARD_HARD_LABEL")).setDesc(t("FLASHCARD_HARD_DESC")).addText((text) => text.setValue(this.plugin.data.settings.flashcardHardText).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.flashcardHardText = value; - yield this.plugin.savePluginData(); - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("FLASHCARD_HARD_LABEL")).setDesc(t("FLASHCARD_HARD_DESC")).addText( + (text) => text.setValue(this.plugin.data.settings.flashcardHardText).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.flashcardHardText = value; + await this.plugin.savePluginData(); + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.flashcardHardText = DEFAULT_SETTINGS.flashcardHardText; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - containerEl.createDiv().innerHTML = /* @__PURE__ */ (0, import_vhtml.default)("h3", null, t("NOTES")); - new import_obsidian2.Setting(containerEl).setName(t("TAGS_TO_REVIEW")).setDesc(t("TAGS_TO_REVIEW_DESC")).addTextArea((text) => text.setValue(this.plugin.data.settings.tagsToReview.join(" ")).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - this.plugin.data.settings.tagsToReview = value.split(/\s+/); - yield this.plugin.savePluginData(); - })); - })); - new import_obsidian2.Setting(containerEl).setName(t("OPEN_RANDOM_NOTE")).setDesc(t("OPEN_RANDOM_NOTE_DESC")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.openRandomNote).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.openRandomNote = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("AUTO_NEXT_NOTE")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.autoNextNote).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.autoNextNote = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("DISABLE_FILE_MENU_REVIEW_OPTIONS")).setDesc(t("DISABLE_FILE_MENU_REVIEW_OPTIONS_DESC")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.disableFileMenuReviewOptions).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.disableFileMenuReviewOptions = value; - yield this.plugin.savePluginData(); - }))); - new import_obsidian2.Setting(containerEl).setName(t("MAX_N_DAYS_REVIEW_QUEUE")).addText((text) => text.setValue(this.plugin.data.settings.maxNDaysNotesReviewQueue.toString()).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - const numValue = Number.parseInt(value); - if (!isNaN(numValue)) { - if (numValue < 1) { - new import_obsidian2.Notice(t("MIN_ONE_DAY")); - text.setValue(this.plugin.data.settings.maxNDaysNotesReviewQueue.toString()); - return; + containerEl.createEl("h3", { text: `${t("NOTES")}` }); + new import_obsidian2.Setting(containerEl).setName(t("REVIEW_PANE_ON_STARTUP")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.enableNoteReviewPaneOnStartup).onChange(async (value) => { + this.plugin.data.settings.enableNoteReviewPaneOnStartup = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("TAGS_TO_REVIEW")).setDesc(t("TAGS_TO_REVIEW_DESC")).addTextArea( + (text) => text.setValue(this.plugin.data.settings.tagsToReview.join(" ")).onChange((value) => { + applySettingsUpdate(async () => { + this.plugin.data.settings.tagsToReview = value.split(/\s+/); + await this.plugin.savePluginData(); + }); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("OPEN_RANDOM_NOTE")).setDesc(t("OPEN_RANDOM_NOTE_DESC")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.openRandomNote).onChange(async (value) => { + this.plugin.data.settings.openRandomNote = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("AUTO_NEXT_NOTE")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.autoNextNote).onChange(async (value) => { + this.plugin.data.settings.autoNextNote = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("DISABLE_FILE_MENU_REVIEW_OPTIONS")).setDesc(t("DISABLE_FILE_MENU_REVIEW_OPTIONS_DESC")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.disableFileMenuReviewOptions).onChange(async (value) => { + this.plugin.data.settings.disableFileMenuReviewOptions = value; + await this.plugin.savePluginData(); + }) + ); + new import_obsidian2.Setting(containerEl).setName(t("MAX_N_DAYS_REVIEW_QUEUE")).addText( + (text) => text.setValue(this.plugin.data.settings.maxNDaysNotesReviewQueue.toString()).onChange((value) => { + applySettingsUpdate(async () => { + const numValue = Number.parseInt(value); + if (!isNaN(numValue)) { + if (numValue < 1) { + new import_obsidian2.Notice(t("MIN_ONE_DAY")); + text.setValue( + this.plugin.data.settings.maxNDaysNotesReviewQueue.toString() + ); + return; + } + this.plugin.data.settings.maxNDaysNotesReviewQueue = numValue; + await this.plugin.savePluginData(); + } else { + new import_obsidian2.Notice(t("VALID_NUMBER_WARNING")); } - this.plugin.data.settings.maxNDaysNotesReviewQueue = numValue; - yield this.plugin.savePluginData(); - } else { - new import_obsidian2.Notice(t("VALID_NUMBER_WARNING")); - } - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.maxNDaysNotesReviewQueue = DEFAULT_SETTINGS.maxNDaysNotesReviewQueue; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - containerEl.createDiv().innerHTML = /* @__PURE__ */ (0, import_vhtml.default)("h3", null, t("ALGORITHM")); + containerEl.createEl("h3", { text: `${t("UI_PREFERENCES")}` }); + new import_obsidian2.Setting(containerEl).setName(t("INITIALLY_EXPAND_SUBDECKS_IN_TREE")).setDesc(t("INITIALLY_EXPAND_SUBDECKS_IN_TREE_DESC")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.initiallyExpandAllSubdecksInTree).onChange(async (value) => { + this.plugin.data.settings.initiallyExpandAllSubdecksInTree = value; + await this.plugin.savePluginData(); + }) + ); + containerEl.createEl("h3", { text: `${t("ALGORITHM")}` }); containerEl.createDiv().innerHTML = t("CHECK_ALGORITHM_WIKI", { algo_url: "https://github.com/st3v3nmw/obsidian-spaced-repetition/wiki/Spaced-Repetition-Algorithm" }); - new import_obsidian2.Setting(containerEl).setName(t("BASE_EASE")).setDesc(t("BASE_EASE_DESC")).addText((text) => text.setValue(this.plugin.data.settings.baseEase.toString()).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - const numValue = Number.parseInt(value); - if (!isNaN(numValue)) { - if (numValue < 130) { - new import_obsidian2.Notice(t("BASE_EASE_MIN_WARNING")); - text.setValue(this.plugin.data.settings.baseEase.toString()); - return; + new import_obsidian2.Setting(containerEl).setName(t("BASE_EASE")).setDesc(t("BASE_EASE_DESC")).addText( + (text) => text.setValue(this.plugin.data.settings.baseEase.toString()).onChange((value) => { + applySettingsUpdate(async () => { + const numValue = Number.parseInt(value); + if (!isNaN(numValue)) { + if (numValue < 130) { + new import_obsidian2.Notice(t("BASE_EASE_MIN_WARNING")); + text.setValue(this.plugin.data.settings.baseEase.toString()); + return; + } + this.plugin.data.settings.baseEase = numValue; + await this.plugin.savePluginData(); + } else { + new import_obsidian2.Notice(t("VALID_NUMBER_WARNING")); } - this.plugin.data.settings.baseEase = numValue; - yield this.plugin.savePluginData(); - } else { - new import_obsidian2.Notice(t("VALID_NUMBER_WARNING")); - } - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.baseEase = DEFAULT_SETTINGS.baseEase; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("LAPSE_INTERVAL_CHANGE")).setDesc(t("LAPSE_INTERVAL_CHANGE_DESC")).addSlider((slider) => slider.setLimits(1, 99, 1).setValue(this.plugin.data.settings.lapsesIntervalChange * 100).setDynamicTooltip().onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.lapsesIntervalChange = value / 100; - yield this.plugin.savePluginData(); - }))).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("LAPSE_INTERVAL_CHANGE")).setDesc(t("LAPSE_INTERVAL_CHANGE_DESC")).addSlider( + (slider) => slider.setLimits(1, 99, 1).setValue(this.plugin.data.settings.lapsesIntervalChange * 100).setDynamicTooltip().onChange(async (value) => { + this.plugin.data.settings.lapsesIntervalChange = value / 100; + await this.plugin.savePluginData(); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.lapsesIntervalChange = DEFAULT_SETTINGS.lapsesIntervalChange; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("EASY_BONUS")).setDesc(t("EASY_BONUS_DESC")).addText((text) => text.setValue((this.plugin.data.settings.easyBonus * 100).toString()).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - const numValue = Number.parseInt(value) / 100; - if (!isNaN(numValue)) { - if (numValue < 1) { - new import_obsidian2.Notice(t("EASY_BONUS_MIN_WARNING")); - text.setValue((this.plugin.data.settings.easyBonus * 100).toString()); - return; + new import_obsidian2.Setting(containerEl).setName(t("EASY_BONUS")).setDesc(t("EASY_BONUS_DESC")).addText( + (text) => text.setValue((this.plugin.data.settings.easyBonus * 100).toString()).onChange((value) => { + applySettingsUpdate(async () => { + const numValue = Number.parseInt(value) / 100; + if (!isNaN(numValue)) { + if (numValue < 1) { + new import_obsidian2.Notice(t("EASY_BONUS_MIN_WARNING")); + text.setValue( + (this.plugin.data.settings.easyBonus * 100).toString() + ); + return; + } + this.plugin.data.settings.easyBonus = numValue; + await this.plugin.savePluginData(); + } else { + new import_obsidian2.Notice(t("VALID_NUMBER_WARNING")); } - this.plugin.data.settings.easyBonus = numValue; - yield this.plugin.savePluginData(); - } else { - new import_obsidian2.Notice(t("VALID_NUMBER_WARNING")); - } - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.easyBonus = DEFAULT_SETTINGS.easyBonus; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("MAX_INTERVAL")).setDesc(t("MAX_INTERVAL_DESC")).addText((text) => text.setValue(this.plugin.data.settings.maximumInterval.toString()).onChange((value) => { - applySettingsUpdate(() => __async(this, null, function* () { - const numValue = Number.parseInt(value); - if (!isNaN(numValue)) { - if (numValue < 1) { - new import_obsidian2.Notice(t("MAX_INTERVAL_MIN_WARNING")); - text.setValue(this.plugin.data.settings.maximumInterval.toString()); - return; + new import_obsidian2.Setting(containerEl).setName(t("MAX_INTERVAL")).setDesc(t("MAX_INTERVAL_DESC")).addText( + (text) => text.setValue(this.plugin.data.settings.maximumInterval.toString()).onChange((value) => { + applySettingsUpdate(async () => { + const numValue = Number.parseInt(value); + if (!isNaN(numValue)) { + if (numValue < 1) { + new import_obsidian2.Notice(t("MAX_INTERVAL_MIN_WARNING")); + text.setValue( + this.plugin.data.settings.maximumInterval.toString() + ); + return; + } + this.plugin.data.settings.maximumInterval = numValue; + await this.plugin.savePluginData(); + } else { + new import_obsidian2.Notice(t("VALID_NUMBER_WARNING")); } - this.plugin.data.settings.maximumInterval = numValue; - yield this.plugin.savePluginData(); - } else { - new import_obsidian2.Notice(t("VALID_NUMBER_WARNING")); - } - })); - })).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + }); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.maximumInterval = DEFAULT_SETTINGS.maximumInterval; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - new import_obsidian2.Setting(containerEl).setName(t("MAX_LINK_CONTRIB")).setDesc(t("MAX_LINK_CONTRIB_DESC")).addSlider((slider) => slider.setLimits(0, 100, 1).setValue(this.plugin.data.settings.maxLinkFactor * 100).setDynamicTooltip().onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.maxLinkFactor = value / 100; - yield this.plugin.savePluginData(); - }))).addExtraButton((button) => { - button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(() => __async(this, null, function* () { + new import_obsidian2.Setting(containerEl).setName(t("MAX_LINK_CONTRIB")).setDesc(t("MAX_LINK_CONTRIB_DESC")).addSlider( + (slider) => slider.setLimits(0, 100, 1).setValue(this.plugin.data.settings.maxLinkFactor * 100).setDynamicTooltip().onChange(async (value) => { + this.plugin.data.settings.maxLinkFactor = value / 100; + await this.plugin.savePluginData(); + }) + ).addExtraButton((button) => { + button.setIcon("reset").setTooltip(t("RESET_DEFAULT")).onClick(async () => { this.plugin.data.settings.maxLinkFactor = DEFAULT_SETTINGS.maxLinkFactor; - yield this.plugin.savePluginData(); + await this.plugin.savePluginData(); this.display(); - })); + }); }); - containerEl.createDiv().innerHTML = /* @__PURE__ */ (0, import_vhtml.default)("h3", null, t("LOGGING")); - new import_obsidian2.Setting(containerEl).setName(t("DISPLAY_DEBUG_INFO")).addToggle((toggle) => toggle.setValue(this.plugin.data.settings.showDebugMessages).onChange((value) => __async(this, null, function* () { - this.plugin.data.settings.showDebugMessages = value; - yield this.plugin.savePluginData(); - }))); + containerEl.createEl("h3", { text: `${t("LOGGING")}` }); + new import_obsidian2.Setting(containerEl).setName(t("DISPLAY_DEBUG_INFO")).addToggle( + (toggle) => toggle.setValue(this.plugin.data.settings.showDebugMessages).onChange(async (value) => { + this.plugin.data.settings.showDebugMessages = value; + await this.plugin.savePluginData(); + }) + ); } }; // src/flashcard-modal.tsx -var import_obsidian3 = __toModule(require("obsidian")); -var import_vhtml2 = __toModule(require_vhtml()); +var import_obsidian3 = require("obsidian"); +var import_vhtml = __toESM(require_vhtml()); // src/scheduling.ts -var ReviewResponse; -(function(ReviewResponse2) { - ReviewResponse2[ReviewResponse2["Easy"] = 0] = "Easy"; - ReviewResponse2[ReviewResponse2["Good"] = 1] = "Good"; - ReviewResponse2[ReviewResponse2["Hard"] = 2] = "Hard"; - ReviewResponse2[ReviewResponse2["Reset"] = 3] = "Reset"; -})(ReviewResponse || (ReviewResponse = {})); -var CardType; -(function(CardType2) { - CardType2[CardType2["SingleLineBasic"] = 0] = "SingleLineBasic"; - CardType2[CardType2["SingleLineReversed"] = 1] = "SingleLineReversed"; - CardType2[CardType2["MultiLineBasic"] = 2] = "MultiLineBasic"; - CardType2[CardType2["MultiLineReversed"] = 3] = "MultiLineReversed"; - CardType2[CardType2["Cloze"] = 4] = "Cloze"; -})(CardType || (CardType = {})); function schedule(response, interval, ease, delayBeforeReview, settingsObj, dueDates) { delayBeforeReview = Math.max(0, Math.floor(delayBeforeReview / (24 * 3600 * 1e3))); - if (response === 0) { + if (response === 0 /* Easy */) { ease += 20; interval = (interval + delayBeforeReview) * ease / 100; interval *= settingsObj.easyBonus; - } else if (response === 1) { + } else if (response === 1 /* Good */) { interval = (interval + delayBeforeReview / 2) * ease / 100; - } else if (response === 2) { + } else if (response === 2 /* Hard */) { ease = Math.max(130, ease - 20); - interval = Math.max(1, (interval + delayBeforeReview / 4) * settingsObj.lapsesIntervalChange); + interval = Math.max( + 1, + (interval + delayBeforeReview / 4) * settingsObj.lapsesIntervalChange + ); } if (dueDates !== void 0) { interval = Math.round(interval); @@ -1680,31 +2054,25 @@ function getTypedObjectEntries(obj) { var getKeysPreserveType = Object.keys; var escapeRegexString = (text) => text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); function cyrb53(str, seed = 0) { - let h12 = 3735928559 ^ seed, h23 = 1103547991 ^ seed; + let h12 = 3735928559 ^ seed, h22 = 1103547991 ^ seed; for (let i = 0, ch; i < str.length; i++) { ch = str.charCodeAt(i); h12 = Math.imul(h12 ^ ch, 2654435761); - h23 = Math.imul(h23 ^ ch, 1597334677); + h22 = Math.imul(h22 ^ ch, 1597334677); } - h12 = Math.imul(h12 ^ h12 >>> 16, 2246822507) ^ Math.imul(h23 ^ h23 >>> 13, 3266489909); - h23 = Math.imul(h23 ^ h23 >>> 16, 2246822507) ^ Math.imul(h12 ^ h12 >>> 13, 3266489909); - return (4294967296 * (2097151 & h23) + (h12 >>> 0)).toString(16); + h12 = Math.imul(h12 ^ h12 >>> 16, 2246822507) ^ Math.imul(h22 ^ h22 >>> 13, 3266489909); + h22 = Math.imul(h22 ^ h22 >>> 16, 2246822507) ^ Math.imul(h12 ^ h12 >>> 13, 3266489909); + return (4294967296 * (2097151 & h22) + (h12 >>> 0)).toString(16); } // src/flashcard-modal.tsx -var FlashcardModalMode; -(function(FlashcardModalMode2) { - FlashcardModalMode2[FlashcardModalMode2["DecksList"] = 0] = "DecksList"; - FlashcardModalMode2[FlashcardModalMode2["Front"] = 1] = "Front"; - FlashcardModalMode2[FlashcardModalMode2["Back"] = 2] = "Back"; - FlashcardModalMode2[FlashcardModalMode2["Closed"] = 3] = "Closed"; -})(FlashcardModalMode || (FlashcardModalMode = {})); var FlashcardModal = class extends import_obsidian3.Modal { - constructor(app, plugin, ignoreStats = false) { - super(app); + constructor(app2, plugin, ignoreStats = false) { + super(app2); this.plugin = plugin; this.ignoreStats = ignoreStats; this.titleEl.setText(t("DECKS")); + this.titleEl.addClass("sr-centered"); if (import_obsidian3.Platform.isMobile) { this.contentEl.style.display = "block"; } @@ -1714,22 +2082,25 @@ var FlashcardModal = class extends import_obsidian3.Modal { this.contentEl.style.height = "92%"; this.contentEl.addClass("sr-modal-content"); document.body.onkeydown = (e) => { - if (this.mode !== 0) { - if (this.mode !== 3 && e.code === "KeyS") { - this.currentDeck.deleteFlashcardAtIndex(this.currentCardIdx, this.currentCard.isDue); + if (this.mode !== 0 /* DecksList */) { + if (this.mode !== 3 /* Closed */ && e.code === "KeyS") { + this.currentDeck.deleteFlashcardAtIndex( + this.currentCardIdx, + this.currentCard.isDue + ); this.burySiblingCards(false); this.currentDeck.nextCard(this); - } else if (this.mode === 1 && (e.code === "Space" || e.code === "Enter")) { + } else if (this.mode === 1 /* Front */ && (e.code === "Space" || e.code === "Enter")) { this.showAnswer(); - } else if (this.mode === 2) { + } else if (this.mode === 2 /* Back */) { if (e.code === "Numpad1" || e.code === "Digit1") { - this.processReview(ReviewResponse.Hard); + this.processReview(2 /* Hard */); } else if (e.code === "Numpad2" || e.code === "Digit2" || e.code === "Space") { - this.processReview(ReviewResponse.Good); + this.processReview(1 /* Good */); } else if (e.code === "Numpad3" || e.code === "Digit3") { - this.processReview(ReviewResponse.Easy); + this.processReview(0 /* Easy */); } else if (e.code === "Numpad0" || e.code === "Digit0") { - this.processReview(ReviewResponse.Reset); + this.processReview(3 /* Reset */); } } } @@ -1739,26 +2110,47 @@ var FlashcardModal = class extends import_obsidian3.Modal { this.decksList(); } onClose() { - this.mode = 3; + this.mode = 3 /* Closed */; } decksList() { - this.mode = 0; + const aimDeck = this.plugin.deckTree.subdecks.filter( + (deck) => deck.deckName === this.plugin.data.historyDeck + ); + if (this.plugin.data.historyDeck && aimDeck.length > 0) { + const deck = aimDeck[0]; + this.currentDeck = deck; + this.checkDeck = deck.parent; + this.setupCardsView(); + deck.nextCard(this); + return; + } + this.mode = 0 /* DecksList */; this.titleEl.setText(t("DECKS")); - this.titleEl.innerHTML += /* @__PURE__ */ (0, import_vhtml2.default)("p", { - style: "margin:0px;line-height:12px;" - }, /* @__PURE__ */ (0, import_vhtml2.default)("span", { - style: "background-color:#4caf50;color:#ffffff;", - "aria-label": t("DUE_CARDS"), - class: "tag-pane-tag-count tree-item-flair" - }, this.plugin.deckTree.dueFlashcardsCount.toString()), /* @__PURE__ */ (0, import_vhtml2.default)("span", { - style: "background-color:#2196f3;", - "aria-label": t("NEW_CARDS"), - class: "tag-pane-tag-count tree-item-flair sr-deck-counts" - }, this.plugin.deckTree.newFlashcardsCount.toString()), /* @__PURE__ */ (0, import_vhtml2.default)("span", { - style: "background-color:#ff7043;", - "aria-label": t("TOTAL_CARDS"), - class: "tag-pane-tag-count tree-item-flair sr-deck-counts" - }, this.plugin.deckTree.totalFlashcards.toString())); + this.titleEl.innerHTML += /* @__PURE__ */ (0, import_vhtml.default)("p", { style: "margin:0px;line-height:12px;" }, /* @__PURE__ */ (0, import_vhtml.default)( + "span", + { + style: "background-color:#4caf50;color:#ffffff;", + "aria-label": t("DUE_CARDS"), + class: "tag-pane-tag-count tree-item-flair sr-deck-counts" + }, + this.plugin.deckTree.dueFlashcardsCount.toString() + ), /* @__PURE__ */ (0, import_vhtml.default)( + "span", + { + style: "background-color:#2196f3;", + "aria-label": t("NEW_CARDS"), + class: "tag-pane-tag-count tree-item-flair sr-deck-counts" + }, + this.plugin.deckTree.newFlashcardsCount.toString() + ), /* @__PURE__ */ (0, import_vhtml.default)( + "span", + { + style: "background-color:#ff7043;", + "aria-label": t("TOTAL_CARDS"), + class: "tag-pane-tag-count tree-item-flair sr-deck-counts" + }, + this.plugin.deckTree.totalFlashcards.toString() + )); this.contentEl.innerHTML = ""; this.contentEl.setAttribute("id", "sr-flashcard-view"); for (const deck of this.plugin.deckTree.subdecks) { @@ -1767,18 +2159,48 @@ var FlashcardModal = class extends import_obsidian3.Modal { } setupCardsView() { this.contentEl.innerHTML = ""; + const historyLinkView = this.contentEl.createEl("button"); + historyLinkView.addClass("sr-back-btn"); + historyLinkView.setAttribute("aria-label", t("BACK")); + historyLinkView.innerHTML += /* @__PURE__ */ (0, import_vhtml.default)( + "svg", + { + xmlns: "http://www.w3.org/2000/svg", + width: "24", + height: "24", + viewbox: "0 0 24 24", + fill: "none", + stroke: "currentColor", + "stroke-width": "2", + "stroke-linecap": "round", + "stroke-linejoin": "round", + class: "svg-icon lucide-arrow-left" + }, + /* @__PURE__ */ (0, import_vhtml.default)("line", { x1: "19", y1: "12", x2: "5", y2: "12" }), + /* @__PURE__ */ (0, import_vhtml.default)("polyline", { points: "12 19 5 12 12 5" }) + ); + historyLinkView.addEventListener("click", (e) => { + if (e.pointerType.length > 0) { + this.plugin.data.historyDeck = ""; + this.decksList(); + } + }); this.fileLinkView = this.contentEl.createDiv("sr-link"); this.fileLinkView.setText(t("EDIT_LATER")); if (this.plugin.data.settings.showFileNameInFileLink) { this.fileLinkView.setAttribute("aria-label", t("EDIT_LATER")); } - this.fileLinkView.addEventListener("click", () => __async(this, null, function* () { + this.fileLinkView.addEventListener("click", async () => { const activeLeaf = this.plugin.app.workspace.getLeaf(); if (this.plugin.app.workspace.getActiveFile() === null) - yield activeLeaf.openFile(this.currentCard.note); + await activeLeaf.openFile(this.currentCard.note); else { - const newLeaf = this.plugin.app.workspace.createLeafBySplit(activeLeaf, "vertical", false); - yield newLeaf.openFile(this.currentCard.note, { active: true }); + const newLeaf = this.plugin.app.workspace.createLeafBySplit( + activeLeaf, + "vertical", + false + ); + await newLeaf.openFile(this.currentCard.note, { active: true }); } const activeView = this.app.workspace.getActiveViewOfType(import_obsidian3.MarkdownView); activeView.editor.setCursor({ @@ -1788,11 +2210,11 @@ var FlashcardModal = class extends import_obsidian3.Modal { this.currentDeck.deleteFlashcardAtIndex(this.currentCardIdx, this.currentCard.isDue); this.burySiblingCards(false); this.currentDeck.nextCard(this); - })); + }); this.resetLinkView = this.contentEl.createDiv("sr-link"); this.resetLinkView.setText(t("RESET_CARD_PROGRESS")); this.resetLinkView.addEventListener("click", () => { - this.processReview(ReviewResponse.Reset); + this.processReview(3 /* Reset */); }); this.resetLinkView.style.float = "right"; if (this.plugin.data.settings.showContextInCards) { @@ -1806,21 +2228,21 @@ var FlashcardModal = class extends import_obsidian3.Modal { this.hardBtn.setAttribute("id", "sr-hard-btn"); this.hardBtn.setText(this.plugin.data.settings.flashcardHardText); this.hardBtn.addEventListener("click", () => { - this.processReview(ReviewResponse.Hard); + this.processReview(2 /* Hard */); }); this.responseDiv.appendChild(this.hardBtn); this.goodBtn = document.createElement("button"); this.goodBtn.setAttribute("id", "sr-good-btn"); this.goodBtn.setText(this.plugin.data.settings.flashcardGoodText); this.goodBtn.addEventListener("click", () => { - this.processReview(ReviewResponse.Good); + this.processReview(1 /* Good */); }); this.responseDiv.appendChild(this.goodBtn); this.easyBtn = document.createElement("button"); this.easyBtn.setAttribute("id", "sr-easy-btn"); this.easyBtn.setText(this.plugin.data.settings.flashcardEasyText); this.easyBtn.addEventListener("click", () => { - this.processReview(ReviewResponse.Easy); + this.processReview(0 /* Easy */); }); this.responseDiv.appendChild(this.easyBtn); this.responseDiv.style.display = "none"; @@ -1838,13 +2260,13 @@ var FlashcardModal = class extends import_obsidian3.Modal { } } showAnswer() { - this.mode = 2; + this.mode = 2 /* Back */; this.answerBtn.style.display = "none"; this.responseDiv.style.display = "grid"; if (this.currentCard.isDue) { this.resetLinkView.style.display = "inline-block"; } - if (this.currentCard.cardType !== CardType.Cloze) { + if (this.currentCard.cardType !== 4 /* Cloze */) { const hr = document.createElement("hr"); hr.setAttribute("id", "sr-hr-card-divide"); this.flashcardView.appendChild(hr); @@ -1853,128 +2275,156 @@ var FlashcardModal = class extends import_obsidian3.Modal { } this.renderMarkdownWrapper(this.currentCard.back, this.flashcardView); } - processReview(response) { - return __async(this, null, function* () { - if (this.ignoreStats) { - if (response == ReviewResponse.Easy) { - this.currentDeck.deleteFlashcardAtIndex(this.currentCardIdx, this.currentCard.isDue); - } - this.currentDeck.nextCard(this); - return; + async processReview(response) { + if (this.ignoreStats) { + if (response == 0 /* Easy */) { + this.currentDeck.deleteFlashcardAtIndex( + this.currentCardIdx, + this.currentCard.isDue + ); } - let interval, ease, due; - this.currentDeck.deleteFlashcardAtIndex(this.currentCardIdx, this.currentCard.isDue); - if (response !== ReviewResponse.Reset) { - let schedObj; - if (this.currentCard.isDue) { - schedObj = schedule(response, this.currentCard.interval, this.currentCard.ease, this.currentCard.delayBeforeReview, this.plugin.data.settings, this.plugin.dueDatesFlashcards); - } else { - let initial_ease = this.plugin.data.settings.baseEase; - if (Object.prototype.hasOwnProperty.call(this.plugin.easeByPath, this.currentCard.note.path)) { - initial_ease = Math.round(this.plugin.easeByPath[this.currentCard.note.path]); - } - schedObj = schedule(response, 1, initial_ease, 0, this.plugin.data.settings, this.plugin.dueDatesFlashcards); - interval = schedObj.interval; - ease = schedObj.ease; + this.currentDeck.nextCard(this); + return; + } + let interval, ease, due; + this.currentDeck.deleteFlashcardAtIndex(this.currentCardIdx, this.currentCard.isDue); + if (response !== 3 /* Reset */) { + let schedObj; + if (this.currentCard.isDue) { + schedObj = schedule( + response, + this.currentCard.interval, + this.currentCard.ease, + this.currentCard.delayBeforeReview, + this.plugin.data.settings, + this.plugin.dueDatesFlashcards + ); + } else { + let initial_ease = this.plugin.data.settings.baseEase; + if (Object.prototype.hasOwnProperty.call( + this.plugin.easeByPath, + this.currentCard.note.path + )) { + initial_ease = Math.round(this.plugin.easeByPath[this.currentCard.note.path]); } + schedObj = schedule( + response, + 1, + initial_ease, + 0, + this.plugin.data.settings, + this.plugin.dueDatesFlashcards + ); interval = schedObj.interval; ease = schedObj.ease; - due = window.moment(Date.now() + interval * 24 * 3600 * 1e3); + } + interval = schedObj.interval; + ease = schedObj.ease; + due = window.moment(Date.now() + interval * 24 * 3600 * 1e3); + } else { + this.currentCard.interval = 1; + this.currentCard.ease = this.plugin.data.settings.baseEase; + if (this.currentCard.isDue) { + this.currentDeck.dueFlashcards.push(this.currentCard); } else { - this.currentCard.interval = 1; - this.currentCard.ease = this.plugin.data.settings.baseEase; - if (this.currentCard.isDue) { - this.currentDeck.dueFlashcards.push(this.currentCard); - } else { - this.currentDeck.newFlashcards.push(this.currentCard); - } - due = window.moment(Date.now()); - new import_obsidian3.Notice(t("CARD_PROGRESS_RESET")); - this.currentDeck.nextCard(this); - return; + this.currentDeck.newFlashcards.push(this.currentCard); } - const dueString = due.format("YYYY-MM-DD"); - let fileText = yield this.app.vault.read(this.currentCard.note); - const replacementRegex = new RegExp(escapeRegexString(this.currentCard.cardText), "gm"); - let sep = this.plugin.data.settings.cardCommentOnSameLine ? " " : "\n"; - if (this.currentCard.cardText.endsWith("```") && sep !== "\n") { - sep = "\n"; - } - if (this.currentCard.cardText.lastIndexOf("`; - } else { - let scheduling = [ - ...this.currentCard.cardText.matchAll(MULTI_SCHEDULING_EXTRACTOR) - ]; - if (scheduling.length === 0) { - scheduling = [...this.currentCard.cardText.matchAll(LEGACY_SCHEDULING_EXTRACTOR)]; - } - const currCardSched = ["0", dueString, interval.toString(), ease.toString()]; - if (this.currentCard.isDue) { - scheduling[this.currentCard.siblingIdx] = currCardSched; - } else { - scheduling.push(currCardSched); - } - this.currentCard.cardText = this.currentCard.cardText.replace(//gm, ""); - this.currentCard.cardText += ""; - } - fileText = fileText.replace(replacementRegex, () => this.currentCard.cardText); - for (const sibling of this.currentCard.siblings) { - sibling.cardText = this.currentCard.cardText; - } - if (this.plugin.data.settings.burySiblingCards) { - this.burySiblingCards(true); - } - yield this.app.vault.modify(this.currentCard.note, fileText); + due = window.moment(Date.now()); + new import_obsidian3.Notice(t("CARD_PROGRESS_RESET")); this.currentDeck.nextCard(this); - }); - } - burySiblingCards(tillNextDay) { - return __async(this, null, function* () { - if (tillNextDay) { - this.plugin.data.buryList.push(cyrb53(this.currentCard.cardText)); - yield this.plugin.savePluginData(); + return; + } + const dueString = due.format("YYYY-MM-DD"); + let fileText = await this.app.vault.read(this.currentCard.note); + const replacementRegex = new RegExp(escapeRegexString(this.currentCard.cardText), "gm"); + let sep = this.plugin.data.settings.cardCommentOnSameLine ? " " : "\n"; + if (this.currentCard.cardText.endsWith("```") && sep !== "\n") { + sep = "\n"; + } + if (this.currentCard.cardText.lastIndexOf("`; + } else { + let scheduling = [ + ...this.currentCard.cardText.matchAll(MULTI_SCHEDULING_EXTRACTOR) + ]; + if (scheduling.length === 0) { + scheduling = [...this.currentCard.cardText.matchAll(LEGACY_SCHEDULING_EXTRACTOR)]; } - for (const sibling of this.currentCard.siblings) { - const dueIdx = this.currentDeck.dueFlashcards.indexOf(sibling); - const newIdx = this.currentDeck.newFlashcards.indexOf(sibling); - if (dueIdx !== -1) { - this.currentDeck.deleteFlashcardAtIndex(dueIdx, this.currentDeck.dueFlashcards[dueIdx].isDue); - } else if (newIdx !== -1) { - this.currentDeck.deleteFlashcardAtIndex(newIdx, this.currentDeck.newFlashcards[newIdx].isDue); + const currCardSched = ["0", dueString, interval.toString(), ease.toString()]; + if (this.currentCard.isDue) { + scheduling[this.currentCard.siblingIdx] = currCardSched; + } else { + scheduling.push(currCardSched); + } + this.currentCard.cardText = this.currentCard.cardText.replace(//gm, ""); + this.currentCard.cardText += ""; + } + fileText = fileText.replace(replacementRegex, () => this.currentCard.cardText); + for (const sibling of this.currentCard.siblings) { + sibling.cardText = this.currentCard.cardText; + } + if (this.plugin.data.settings.burySiblingCards) { + this.burySiblingCards(true); + } + await this.app.vault.modify(this.currentCard.note, fileText); + this.currentDeck.nextCard(this); + } + async burySiblingCards(tillNextDay) { + if (tillNextDay) { + this.plugin.data.buryList.push(cyrb53(this.currentCard.cardText)); + await this.plugin.savePluginData(); + } + for (const sibling of this.currentCard.siblings) { + const dueIdx = this.currentDeck.dueFlashcards.indexOf(sibling); + const newIdx = this.currentDeck.newFlashcards.indexOf(sibling); + if (dueIdx !== -1) { + this.currentDeck.deleteFlashcardAtIndex( + dueIdx, + this.currentDeck.dueFlashcards[dueIdx].isDue + ); + } else if (newIdx !== -1) { + this.currentDeck.deleteFlashcardAtIndex( + newIdx, + this.currentDeck.newFlashcards[newIdx].isDue + ); + } + } + } + async renderMarkdownWrapper(markdownString, containerEl, recursiveDepth = 0) { + if (recursiveDepth > 4) + return; + import_obsidian3.MarkdownRenderer.renderMarkdown( + markdownString, + containerEl, + this.currentCard.note.path, + this.plugin + ); + containerEl.findAll(".internal-embed").forEach((el) => { + const link2 = this.parseLink(el.getAttribute("src")); + if (!link2.target) { + el.innerText = link2.text; + } else if (link2.target instanceof import_obsidian3.TFile) { + if (link2.target.extension !== "md") { + this.embedMediaFile(el, link2.target); + } else { + el.innerText = ""; + this.renderTransclude(el, link2, recursiveDepth); } } }); } - renderMarkdownWrapper(markdownString, containerEl, recursiveDepth = 0) { - return __async(this, null, function* () { - if (recursiveDepth > 4) - return; - import_obsidian3.MarkdownRenderer.renderMarkdown(markdownString, containerEl, this.currentCard.note.path, this.plugin); - containerEl.findAll(".internal-embed").forEach((el) => { - const link2 = this.parseLink(el.getAttribute("src")); - if (!link2.target) { - el.innerText = link2.text; - } else if (link2.target instanceof import_obsidian3.TFile) { - if (link2.target.extension !== "md") { - this.embedMediaFile(el, link2.target); - } else { - el.innerText = ""; - this.renderTransclude(el, link2, recursiveDepth); - } - } - }); - }); - } parseLink(src) { const linkComponentsRegex = /^(?[^#^]+)?(?:#(?!\^)(?.+)|#\^(?.+)|#)?$/; const matched = typeof src === "string" && src.match(linkComponentsRegex); const file = matched.groups.file || this.currentCard.note.path; - const target = this.plugin.app.metadataCache.getFirstLinkpathDest(file, this.currentCard.note.path); + const target = this.plugin.app.metadataCache.getFirstLinkpathDest( + file, + this.currentCard.note.path + ); return { text: matched[0], file: matched.groups.file, @@ -1986,58 +2436,69 @@ var FlashcardModal = class extends import_obsidian3.Modal { embedMediaFile(el, target) { el.innerText = ""; if (IMAGE_FORMATS.includes(target.extension)) { - el.createEl("img", { - attr: { - src: this.plugin.app.vault.getResourcePath(target) + el.createEl( + "img", + { + attr: { + src: this.plugin.app.vault.getResourcePath(target) + } + }, + (img) => { + if (el.hasAttribute("width")) + img.setAttribute("width", el.getAttribute("width")); + else + img.setAttribute("width", "100%"); + if (el.hasAttribute("alt")) + img.setAttribute("alt", el.getAttribute("alt")); + el.addEventListener( + "click", + (ev) => ev.target.style.minWidth = ev.target.style.minWidth === "100%" ? null : "100%" + ); } - }, (img) => { - if (el.hasAttribute("width")) - img.setAttribute("width", el.getAttribute("width")); - else - img.setAttribute("width", "100%"); - if (el.hasAttribute("alt")) - img.setAttribute("alt", el.getAttribute("alt")); - el.addEventListener("click", (ev) => ev.target.style.minWidth = ev.target.style.minWidth === "100%" ? null : "100%"); - }); + ); el.addClasses(["image-embed", "is-loaded"]); } else if (AUDIO_FORMATS.includes(target.extension) || VIDEO_FORMATS.includes(target.extension)) { - el.createEl(AUDIO_FORMATS.includes(target.extension) ? "audio" : "video", { - attr: { - controls: "", - src: this.plugin.app.vault.getResourcePath(target) + el.createEl( + AUDIO_FORMATS.includes(target.extension) ? "audio" : "video", + { + attr: { + controls: "", + src: this.plugin.app.vault.getResourcePath(target) + } + }, + (audio) => { + if (el.hasAttribute("alt")) + audio.setAttribute("alt", el.getAttribute("alt")); } - }, (audio) => { - if (el.hasAttribute("alt")) - audio.setAttribute("alt", el.getAttribute("alt")); - }); + ); el.addClasses(["media-embed", "is-loaded"]); } else { el.innerText = target.path; } } - renderTransclude(el, link2, recursiveDepth) { - return __async(this, null, function* () { - var _a, _b, _c, _d; - const cache = this.app.metadataCache.getCache(link2.target.path); - const text = yield this.app.vault.cachedRead(link2.target); - let blockText; - if (link2.heading) { - const clean = (s) => s.replace(/[\W\s]/g, ""); - const headingIndex = (_a = cache.headings) == null ? void 0 : _a.findIndex((h4) => clean(h4.heading) === clean(link2.heading)); - const heading = cache.headings[headingIndex]; - const startAt = heading.position.start.offset; - const endAt = ((_d = (_c = (_b = cache.headings.slice(headingIndex + 1).find((h4) => h4.level <= heading.level)) == null ? void 0 : _b.position) == null ? void 0 : _c.start) == null ? void 0 : _d.offset) || text.length; - blockText = text.substring(startAt, endAt); - } else if (link2.blockId) { - const block = cache.blocks[link2.blockId]; - const startAt = block.position.start.offset; - const endAt = block.position.end.offset; - blockText = text.substring(startAt, endAt); - } else { - blockText = text; - } - this.renderMarkdownWrapper(blockText, el, recursiveDepth + 1); - }); + async renderTransclude(el, link2, recursiveDepth) { + var _a, _b, _c, _d; + const cache = this.app.metadataCache.getCache(link2.target.path); + const text = await this.app.vault.cachedRead(link2.target); + let blockText; + if (link2.heading) { + const clean = (s) => s.replace(/[\W\s]/g, ""); + const headingIndex = (_a = cache.headings) == null ? void 0 : _a.findIndex( + (h4) => clean(h4.heading) === clean(link2.heading) + ); + const heading = cache.headings[headingIndex]; + const startAt = heading.position.start.offset; + const endAt = ((_d = (_c = (_b = cache.headings.slice(headingIndex + 1).find((h4) => h4.level <= heading.level)) == null ? void 0 : _b.position) == null ? void 0 : _c.start) == null ? void 0 : _d.offset) || text.length; + blockText = text.substring(startAt, endAt); + } else if (link2.blockId) { + const block = cache.blocks[link2.blockId]; + const startAt = block.position.start.offset; + const endAt = block.position.end.offset; + blockText = text.substring(startAt, endAt); + } else { + blockText = text; + } + this.renderMarkdownWrapper(blockText, el, recursiveDepth + 1); } }; var Deck = class { @@ -2135,38 +2596,52 @@ var Deck = class { } render(containerEl, modal) { const deckView = containerEl.createDiv("tree-item"); - const deckViewSelf = deckView.createDiv("tree-item-self tag-pane-tag is-clickable"); - let collapsed = true; + const deckViewSelf = deckView.createDiv( + "tree-item-self tag-pane-tag is-clickable" + ); + const shouldBeInitiallyExpanded = modal.plugin.data.settings.initiallyExpandAllSubdecksInTree; + let collapsed = shouldBeInitiallyExpanded; let collapseIconEl = null; if (this.subdecks.length > 0) { collapseIconEl = deckViewSelf.createDiv("tree-item-icon collapse-icon"); collapseIconEl.innerHTML = COLLAPSE_ICON; - collapseIconEl.childNodes[0].style.transform = "rotate(-90deg)"; + collapseIconEl.childNodes[0].style.transform = shouldBeInitiallyExpanded ? "" : "rotate(-90deg)"; } const deckViewInner = deckViewSelf.createDiv("tree-item-inner"); deckViewInner.addEventListener("click", () => { + modal.plugin.data.historyDeck = this.deckName; modal.currentDeck = this; modal.checkDeck = this.parent; modal.setupCardsView(); this.nextCard(modal); }); const deckViewInnerText = deckViewInner.createDiv("tag-pane-tag-text"); - deckViewInnerText.innerHTML += /* @__PURE__ */ (0, import_vhtml2.default)("span", { - class: "tag-pane-tag-self" - }, this.deckName); + deckViewInnerText.innerHTML += /* @__PURE__ */ (0, import_vhtml.default)("span", { class: "tag-pane-tag-self" }, this.deckName); const deckViewOuter = deckViewSelf.createDiv("tree-item-flair-outer"); - deckViewOuter.innerHTML += /* @__PURE__ */ (0, import_vhtml2.default)("span", null, /* @__PURE__ */ (0, import_vhtml2.default)("span", { - style: "background-color:#4caf50;", - class: "tag-pane-tag-count tree-item-flair sr-deck-counts" - }, this.dueFlashcardsCount.toString()), /* @__PURE__ */ (0, import_vhtml2.default)("span", { - style: "background-color:#2196f3;", - class: "tag-pane-tag-count tree-item-flair sr-deck-counts" - }, this.newFlashcardsCount.toString()), /* @__PURE__ */ (0, import_vhtml2.default)("span", { - style: "background-color:#ff7043;", - class: "tag-pane-tag-count tree-item-flair sr-deck-counts" - }, this.totalFlashcards.toString())); + deckViewOuter.innerHTML += /* @__PURE__ */ (0, import_vhtml.default)("span", null, /* @__PURE__ */ (0, import_vhtml.default)( + "span", + { + style: "background-color:#4caf50;", + class: "tag-pane-tag-count tree-item-flair sr-deck-counts" + }, + this.dueFlashcardsCount.toString() + ), /* @__PURE__ */ (0, import_vhtml.default)( + "span", + { + style: "background-color:#2196f3;", + class: "tag-pane-tag-count tree-item-flair sr-deck-counts" + }, + this.newFlashcardsCount.toString() + ), /* @__PURE__ */ (0, import_vhtml.default)( + "span", + { + style: "background-color:#ff7043;", + class: "tag-pane-tag-count tree-item-flair sr-deck-counts" + }, + this.totalFlashcards.toString() + )); const deckViewChildren = deckView.createDiv("tree-item-children"); - deckViewChildren.style.display = "none"; + deckViewChildren.style.display = shouldBeInitiallyExpanded ? "block" : "none"; if (this.subdecks.length > 0) { collapseIconEl.addEventListener("click", () => { if (collapsed) { @@ -2195,6 +2670,7 @@ var Deck = class { } } if (this.parent == modal.checkDeck) { + modal.plugin.data.historyDeck = ""; modal.decksList(); } else { this.parent.nextCard(modal); @@ -2203,10 +2679,12 @@ var Deck = class { } modal.responseDiv.style.display = "none"; modal.resetLinkView.style.display = "none"; - modal.titleEl.setText(`${this.deckName}: ${this.dueFlashcardsCount + this.newFlashcardsCount}`); + modal.titleEl.setText( + `${this.deckName}: ${this.dueFlashcardsCount + this.newFlashcardsCount}` + ); modal.answerBtn.style.display = "initial"; modal.flashcardView.innerHTML = ""; - modal.mode = 1; + modal.mode = 1 /* Front */; let interval = 1, ease = modal.plugin.data.settings.baseEase, delayBeforeReview = 0; if (this.dueFlashcards.length > 0) { if (modal.plugin.data.settings.randomizeCardOrder) { @@ -2236,13 +2714,34 @@ var Deck = class { } modal.currentCard = this.newFlashcards[modal.currentCardIdx]; modal.renderMarkdownWrapper(modal.currentCard.front, modal.flashcardView); - if (Object.prototype.hasOwnProperty.call(modal.plugin.easeByPath, modal.currentCard.note.path)) { + if (Object.prototype.hasOwnProperty.call( + modal.plugin.easeByPath, + modal.currentCard.note.path + )) { ease = modal.plugin.easeByPath[modal.currentCard.note.path]; } } - const hardInterval = schedule(ReviewResponse.Hard, interval, ease, delayBeforeReview, modal.plugin.data.settings).interval; - const goodInterval = schedule(ReviewResponse.Good, interval, ease, delayBeforeReview, modal.plugin.data.settings).interval; - const easyInterval = schedule(ReviewResponse.Easy, interval, ease, delayBeforeReview, modal.plugin.data.settings).interval; + const hardInterval = schedule( + 2 /* Hard */, + interval, + ease, + delayBeforeReview, + modal.plugin.data.settings + ).interval; + const goodInterval = schedule( + 1 /* Good */, + interval, + ease, + delayBeforeReview, + modal.plugin.data.settings + ).interval; + const easyInterval = schedule( + 0 /* Easy */, + interval, + ease, + delayBeforeReview, + modal.plugin.data.settings + ).interval; if (modal.ignoreStats) { modal.hardBtn.setText(`${modal.plugin.data.settings.flashcardHardText}`); modal.easyBtn.setText(`${modal.plugin.data.settings.flashcardEasyText}`); @@ -2251,9 +2750,24 @@ var Deck = class { modal.goodBtn.setText(textInterval(goodInterval, true)); modal.easyBtn.setText(textInterval(easyInterval, true)); } else { - modal.hardBtn.setText(`${modal.plugin.data.settings.flashcardHardText} - ${textInterval(hardInterval, false)}`); - modal.goodBtn.setText(`${modal.plugin.data.settings.flashcardGoodText} - ${textInterval(goodInterval, false)}`); - modal.easyBtn.setText(`${modal.plugin.data.settings.flashcardEasyText} - ${textInterval(easyInterval, false)}`); + modal.hardBtn.setText( + `${modal.plugin.data.settings.flashcardHardText} - ${textInterval( + hardInterval, + false + )}` + ); + modal.goodBtn.setText( + `${modal.plugin.data.settings.flashcardGoodText} - ${textInterval( + goodInterval, + false + )}` + ); + modal.easyBtn.setText( + `${modal.plugin.data.settings.flashcardEasyText} - ${textInterval( + easyInterval, + false + )}` + ); } if (modal.plugin.data.settings.showContextInCards) modal.contextView.setText(modal.currentCard.context); @@ -2263,59 +2777,16 @@ var Deck = class { }; // src/stats-modal.tsx -var import_obsidian4 = __toModule(require("obsidian")); -var import_vhtml3 = __toModule(require_vhtml()); +var import_obsidian4 = require("obsidian"); +var import_vhtml2 = __toESM(require_vhtml()); // node_modules/chart.js/dist/chunks/helpers.segment.js -var requestAnimFrame = function() { - if (typeof window === "undefined") { - return function(callback2) { - return callback2(); - }; - } - return window.requestAnimationFrame; -}(); -function throttled(fn, thisArg, updateFn) { - const updateArgs = updateFn || ((args2) => Array.prototype.slice.call(args2)); - let ticking = false; - let args = []; - return function(...rest) { - args = updateArgs(rest); - if (!ticking) { - ticking = true; - requestAnimFrame.call(window, () => { - ticking = false; - fn.apply(thisArg, args); - }); - } - }; -} -function debounce(fn, delay) { - let timeout; - return function(...args) { - if (delay) { - clearTimeout(timeout); - timeout = setTimeout(fn, delay, args); - } else { - fn.apply(this, args); - } - return delay; - }; -} -var _toLeftRightCenter = (align) => align === "start" ? "left" : align === "end" ? "right" : "center"; -var _alignStartEnd = (align, start, end) => align === "start" ? start : align === "end" ? end : (start + end) / 2; -var _textX = (align, left, right, rtl) => { - const check = rtl ? "left" : "right"; - return align === check ? right : align === "center" ? (left + right) / 2 : left; -}; function noop() { } -var uid = function() { +var uid = (() => { let id = 0; - return function() { - return id++; - }; -}(); + return () => id++; +})(); function isNullOrUndef(value) { return value === null || typeof value === "undefined"; } @@ -2332,14 +2803,16 @@ function isArray(value) { function isObject(value) { return value !== null && Object.prototype.toString.call(value) === "[object Object]"; } -var isNumberFinite = (value) => (typeof value === "number" || value instanceof Number) && isFinite(+value); +function isNumberFinite(value) { + return (typeof value === "number" || value instanceof Number) && isFinite(+value); +} function finiteOrDefault(value, defaultValue) { return isNumberFinite(value) ? value : defaultValue; } function valueOrDefault(value, defaultValue) { return typeof value === "undefined" ? defaultValue : value; } -var toPercentage = (value, dimension) => typeof value === "string" && value.endsWith("%") ? parseFloat(value) / 100 : value / dimension; +var toPercentage = (value, dimension) => typeof value === "string" && value.endsWith("%") ? parseFloat(value) / 100 : +value / dimension; var toDimension = (value, dimension) => typeof value === "string" && value.endsWith("%") ? parseFloat(value) / 100 * dimension : +value; function callback(fn, args, thisArg) { if (fn && typeof fn.call === "function") { @@ -2386,7 +2859,7 @@ function clone$1(source) { return source.map(clone$1); } if (isObject(source)) { - const target = Object.create(null); + const target = /* @__PURE__ */ Object.create(null); const keys = Object.keys(source); const klen = keys.length; let k = 0; @@ -2398,7 +2871,11 @@ function clone$1(source) { return source; } function isValidKey(key) { - return ["__proto__", "prototype", "constructor"].indexOf(key) === -1; + return [ + "__proto__", + "prototype", + "constructor" + ].indexOf(key) === -1; } function _merger(key, target, source, options) { if (!isValidKey(key)) { @@ -2413,27 +2890,32 @@ function _merger(key, target, source, options) { } } function merge(target, source, options) { - const sources = isArray(source) ? source : [source]; + const sources = isArray(source) ? source : [ + source + ]; const ilen = sources.length; if (!isObject(target)) { return target; } options = options || {}; const merger = options.merger || _merger; + let current; for (let i = 0; i < ilen; ++i) { - source = sources[i]; - if (!isObject(source)) { + current = sources[i]; + if (!isObject(current)) { continue; } - const keys = Object.keys(source); + const keys = Object.keys(current); for (let k = 0, klen = keys.length; k < klen; ++k) { - merger(keys[k], target, source, options); + merger(keys[k], target, current, options); } } return target; } function mergeIf(target, source) { - return merge(target, source, { merger: _mergerIf }); + return merge(target, source, { + merger: _mergerIf + }); } function _mergerIf(key, target, source) { if (!isValidKey(key)) { @@ -2447,24 +2929,41 @@ function _mergerIf(key, target, source) { target[key] = clone$1(sval); } } -var emptyString = ""; -var dot = "."; -function indexOfDotOrLength(key, start) { - const idx = key.indexOf(dot, start); - return idx === -1 ? key.length : idx; +var keyResolvers = { + "": (v) => v, + x: (o) => o.x, + y: (o) => o.y +}; +function _splitKey(key) { + const parts = key.split("."); + const keys = []; + let tmp = ""; + for (const part of parts) { + tmp += part; + if (tmp.endsWith("\\")) { + tmp = tmp.slice(0, -1) + "."; + } else { + keys.push(tmp); + tmp = ""; + } + } + return keys; +} +function _getKeyResolver(key) { + const keys = _splitKey(key); + return (obj) => { + for (const k of keys) { + if (k === "") { + break; + } + obj = obj && obj[k]; + } + return obj; + }; } function resolveObjectKey(obj, key) { - if (key === emptyString) { - return obj; - } - let pos = 0; - let idx = indexOfDotOrLength(key, pos); - while (obj && idx > pos) { - obj = obj[key.slice(pos, idx)]; - pos = idx + 1; - idx = indexOfDotOrLength(key, pos); - } - return obj; + const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key)); + return resolver(obj); } function _capitalize(str) { return str.charAt(0).toUpperCase() + str.slice(1); @@ -2495,6 +2994,9 @@ var QUARTER_PI = PI / 4; var TWO_THIRDS_PI = PI * 2 / 3; var log10 = Math.log10; var sign = Math.sign; +function almostEquals(x, y, epsilon) { + return Math.abs(x - y) < epsilon; +} function niceNum(range) { const roundedRange = Math.round(range); range = almostEquals(range, roundedRange, range / 1e3) ? roundedRange : range; @@ -2522,9 +3024,6 @@ function _factorize(value) { function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); } -function almostEquals(x, y, epsilon) { - return Math.abs(x - y) < epsilon; -} function almostWhole(x, epsilon) { const rounded = Math.round(x); return rounded - epsilon <= x && rounded + epsilon >= x; @@ -2573,9 +3072,6 @@ function getAngleFromPoint(centrePoint, anglePoint) { function distanceBetweenPoints(pt1, pt2) { return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2)); } -function _angleDiff(a, b) { - return (a - b + PITAU) % TAU - PI; -} function _normalizeAngle(a) { return (a % TAU + TAU) % TAU; } @@ -2598,6 +3094,146 @@ function _int16Range(value) { function _isBetween(value, start, end, epsilon = 1e-6) { return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon; } +function _lookup(table, value, cmp) { + cmp = cmp || ((index) => table[index] < value); + let hi = table.length - 1; + let lo = 0; + let mid; + while (hi - lo > 1) { + mid = lo + hi >> 1; + if (cmp(mid)) { + lo = mid; + } else { + hi = mid; + } + } + return { + lo, + hi + }; +} +var _lookupByKey = (table, key, value, last) => _lookup(table, value, last ? (index) => { + const ti = table[index][key]; + return ti < value || ti === value && table[index + 1][key] === value; +} : (index) => table[index][key] < value); +var _rlookupByKey = (table, key, value) => _lookup(table, value, (index) => table[index][key] >= value); +function _filterBetween(values, min, max) { + let start = 0; + let end = values.length; + while (start < end && values[start] < min) { + start++; + } + while (end > start && values[end - 1] > max) { + end--; + } + return start > 0 || end < values.length ? values.slice(start, end) : values; +} +var arrayEvents = [ + "push", + "pop", + "shift", + "splice", + "unshift" +]; +function listenArrayEvents(array, listener) { + if (array._chartjs) { + array._chartjs.listeners.push(listener); + return; + } + Object.defineProperty(array, "_chartjs", { + configurable: true, + enumerable: false, + value: { + listeners: [ + listener + ] + } + }); + arrayEvents.forEach((key) => { + const method = "_onData" + _capitalize(key); + const base = array[key]; + Object.defineProperty(array, key, { + configurable: true, + enumerable: false, + value(...args) { + const res = base.apply(this, args); + array._chartjs.listeners.forEach((object) => { + if (typeof object[method] === "function") { + object[method](...args); + } + }); + return res; + } + }); + }); +} +function unlistenArrayEvents(array, listener) { + const stub = array._chartjs; + if (!stub) { + return; + } + const listeners = stub.listeners; + const index = listeners.indexOf(listener); + if (index !== -1) { + listeners.splice(index, 1); + } + if (listeners.length > 0) { + return; + } + arrayEvents.forEach((key) => { + delete array[key]; + }); + delete array._chartjs; +} +function _arrayUnique(items) { + const set2 = /* @__PURE__ */ new Set(); + let i, ilen; + for (i = 0, ilen = items.length; i < ilen; ++i) { + set2.add(items[i]); + } + if (set2.size === ilen) { + return items; + } + return Array.from(set2); +} +var requestAnimFrame = function() { + if (typeof window === "undefined") { + return function(callback2) { + return callback2(); + }; + } + return window.requestAnimationFrame; +}(); +function throttled(fn, thisArg) { + let ticking = false; + return function(...args) { + if (!ticking) { + ticking = true; + requestAnimFrame.call(window, () => { + ticking = false; + fn.apply(thisArg, args); + }); + } + }; +} +function debounce(fn, delay) { + let timeout; + return function(...args) { + if (delay) { + clearTimeout(timeout); + timeout = setTimeout(fn, delay, args); + } else { + fn.apply(this, args); + } + return delay; + }; +} +var _toLeftRightCenter = (align) => align === "start" ? "left" : align === "end" ? "right" : "center"; +var _alignStartEnd = (align, start, end) => align === "start" ? start : align === "end" ? end : (start + end) / 2; +var _textX = (align, left, right, rtl) => { + const check = rtl ? "left" : "right"; + return align === check ? right : align === "center" ? (left + right) / 2 : left; +}; var atEdge = (t2) => t2 === 0 || t2 === 1; var elasticIn = (t2, s, p) => -(Math.pow(2, 10 * (t2 -= 1)) * Math.sin((t2 - s) * TAU / p)); var elasticOut = (t2, s, p) => Math.pow(2, -10 * t2) * Math.sin((t2 - s) * TAU / p) + 1; @@ -2663,6 +3299,7 @@ var effects = { }, easeInOutBounce: (t2) => t2 < 0.5 ? effects.easeInBounce(t2 * 2) * 0.5 : effects.easeOutBounce(t2 * 2 - 1) * 0.5 + 0.5 }; +var effects$1 = effects; function round(v) { return v + 0.5 | 0; } @@ -2682,7 +3319,7 @@ function n2p(v) { var map$1 = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15 }; var hex = [..."0123456789ABCDEF"]; var h1 = (b) => hex[b & 15]; -var h22 = (b) => hex[(b & 240) >> 4] + hex[b & 15]; +var h2 = (b) => hex[(b & 240) >> 4] + hex[b & 15]; var eq = (b) => (b & 240) >> 4 === (b & 15); var isShort = (v) => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a); function hexParse(str) { @@ -2709,7 +3346,7 @@ function hexParse(str) { } var alpha = (a, f) => a < 255 ? f(a) : ""; function hexString(v) { - var f = isShort(v) ? h1 : h22; + var f = isShort(v) ? h1 : h2; return v ? "#" + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f) : void 0; } var HUE_RE = /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/; @@ -3234,8 +3871,236 @@ function color(value) { function getHoverColor(value) { return isPatternOrGradient(value) ? value : index_esm(value).saturate(0.5).darken(0.1).hexString(); } -var overrides = Object.create(null); -var descriptors = Object.create(null); +var numbers = [ + "x", + "y", + "borderWidth", + "radius", + "tension" +]; +var colors = [ + "color", + "borderColor", + "backgroundColor" +]; +function applyAnimationsDefaults(defaults2) { + defaults2.set("animation", { + delay: void 0, + duration: 1e3, + easing: "easeOutQuart", + fn: void 0, + from: void 0, + loop: void 0, + to: void 0, + type: void 0 + }); + defaults2.describe("animation", { + _fallback: false, + _indexable: false, + _scriptable: (name2) => name2 !== "onProgress" && name2 !== "onComplete" && name2 !== "fn" + }); + defaults2.set("animations", { + colors: { + type: "color", + properties: colors + }, + numbers: { + type: "number", + properties: numbers + } + }); + defaults2.describe("animations", { + _fallback: "animation" + }); + defaults2.set("transitions", { + active: { + animation: { + duration: 400 + } + }, + resize: { + animation: { + duration: 0 + } + }, + show: { + animations: { + colors: { + from: "transparent" + }, + visible: { + type: "boolean", + duration: 0 + } + } + }, + hide: { + animations: { + colors: { + to: "transparent" + }, + visible: { + type: "boolean", + easing: "linear", + fn: (v) => v | 0 + } + } + } + }); +} +function applyLayoutsDefaults(defaults2) { + defaults2.set("layout", { + autoPadding: true, + padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + } + }); +} +var intlCache = /* @__PURE__ */ new Map(); +function getNumberFormat(locale2, options) { + options = options || {}; + const cacheKey = locale2 + JSON.stringify(options); + let formatter = intlCache.get(cacheKey); + if (!formatter) { + formatter = new Intl.NumberFormat(locale2, options); + intlCache.set(cacheKey, formatter); + } + return formatter; +} +function formatNumber(num, locale2, options) { + return getNumberFormat(locale2, options).format(num); +} +var formatters = { + values(value) { + return isArray(value) ? value : "" + value; + }, + numeric(tickValue, index, ticks) { + if (tickValue === 0) { + return "0"; + } + const locale2 = this.chart.options.locale; + let notation; + let delta = tickValue; + if (ticks.length > 1) { + const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value)); + if (maxTick < 1e-4 || maxTick > 1e15) { + notation = "scientific"; + } + delta = calculateDelta(tickValue, ticks); + } + const logDelta = log10(Math.abs(delta)); + const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0); + const options = { + notation, + minimumFractionDigits: numDecimal, + maximumFractionDigits: numDecimal + }; + Object.assign(options, this.options.ticks.format); + return formatNumber(tickValue, locale2, options); + }, + logarithmic(tickValue, index, ticks) { + if (tickValue === 0) { + return "0"; + } + const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue))); + if ([ + 1, + 2, + 3, + 5, + 10, + 15 + ].includes(remain) || index > 0.8 * ticks.length) { + return formatters.numeric.call(this, tickValue, index, ticks); + } + return ""; + } +}; +function calculateDelta(tickValue, ticks) { + let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value; + if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) { + delta = tickValue - Math.floor(tickValue); + } + return delta; +} +var Ticks = { + formatters +}; +function applyScaleDefaults(defaults2) { + defaults2.set("scale", { + display: true, + offset: false, + reverse: false, + beginAtZero: false, + bounds: "ticks", + grace: 0, + grid: { + display: true, + lineWidth: 1, + drawOnChartArea: true, + drawTicks: true, + tickLength: 8, + tickWidth: (_ctx, options) => options.lineWidth, + tickColor: (_ctx, options) => options.color, + offset: false + }, + border: { + display: true, + dash: [], + dashOffset: 0, + width: 1 + }, + title: { + display: false, + text: "", + padding: { + top: 4, + bottom: 4 + } + }, + ticks: { + minRotation: 0, + maxRotation: 50, + mirror: false, + textStrokeWidth: 0, + textStrokeColor: "", + padding: 3, + display: true, + autoSkip: true, + autoSkipPadding: 3, + labelOffset: 0, + callback: Ticks.formatters.values, + minor: {}, + major: {}, + align: "center", + crossAlign: "near", + showLabelBackdrop: false, + backdropColor: "rgba(255, 255, 255, 0.75)", + backdropPadding: 2 + } + }); + defaults2.route("scale.ticks", "color", "", "color"); + defaults2.route("scale.grid", "color", "", "borderColor"); + defaults2.route("scale.border", "color", "", "borderColor"); + defaults2.route("scale.title", "color", "", "color"); + defaults2.describe("scale", { + _fallback: false, + _scriptable: (name2) => !name2.startsWith("before") && !name2.startsWith("after") && name2 !== "callback" && name2 !== "parser", + _indexable: (name2) => name2 !== "borderDash" && name2 !== "tickBorderDash" && name2 !== "dash" + }); + defaults2.describe("scales", { + _fallback: "scale" + }); + defaults2.describe("scale.ticks", { + _scriptable: (name2) => name2 !== "backdropPadding" && name2 !== "callback", + _indexable: (name2) => name2 !== "backdropPadding" + }); +} +var overrides = /* @__PURE__ */ Object.create(null); +var descriptors = /* @__PURE__ */ Object.create(null); function getScope$1(node, key) { if (!key) { return node; @@ -3243,7 +4108,7 @@ function getScope$1(node, key) { const keys = key.split("."); for (let i = 0, n = keys.length; i < n; ++i) { const k = keys[i]; - node = node[k] || (node[k] = Object.create(null)); + node = node[k] || (node[k] = /* @__PURE__ */ Object.create(null)); } return node; } @@ -3254,7 +4119,7 @@ function set(root, scope, values) { return merge(getScope$1(root, ""), scope); } var Defaults = class { - constructor(_descriptors2) { + constructor(_descriptors2, _appliers) { this.animation = void 0; this.backgroundColor = "rgba(0,0,0,0.1)"; this.borderColor = "rgba(0,0,0,0.1)"; @@ -3297,6 +4162,7 @@ var Defaults = class { this.showLine = true; this.drawActiveElementsOnTop = true; this.describe(_descriptors2); + this.apply(_appliers); } set(scope, values) { return set(this, scope, values); @@ -3310,16 +4176,16 @@ var Defaults = class { override(scope, values) { return set(overrides, scope, values); } - route(scope, name, targetScope, targetName) { + route(scope, name2, targetScope, targetName) { const scopeObject = getScope$1(this, scope); const targetScopeObject = getScope$1(this, targetScope); - const privateName = "_" + name; + const privateName = "_" + name2; Object.defineProperties(scopeObject, { [privateName]: { - value: scopeObject[name], + value: scopeObject[name2], writable: true }, - [name]: { + [name2]: { enumerable: true, get() { const local = this[privateName]; @@ -3335,10 +4201,13 @@ var Defaults = class { } }); } + apply(appliers) { + appliers.forEach((apply) => apply(this)); + } }; -var defaults = new Defaults({ - _scriptable: (name) => !name.startsWith("on"), - _indexable: (name) => name !== "events", +var defaults = /* @__PURE__ */ new Defaults({ + _scriptable: (name2) => !name2.startsWith("on"), + _indexable: (name2) => name2 !== "events", hover: { _fallback: "interaction" }, @@ -3346,7 +4215,11 @@ var defaults = new Defaults({ _scriptable: false, _indexable: false } -}); +}, [ + applyAnimationsDefaults, + applyLayoutsDefaults, + applyScaleDefaults +]); function toFontString(font) { if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) { return null; @@ -3414,7 +4287,10 @@ function clearCanvas(canvas, ctx) { ctx.restore(); } function drawPoint(ctx, options, x, y) { - let type, xOffset, yOffset, size, cornerRadius; + drawPointLegend(ctx, options, x, y, null); +} +function drawPointLegend(ctx, options, x, y, w) { + let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW; const style = options.pointStyle; const rotation = options.rotation; const radius = options.radius; @@ -3436,78 +4312,94 @@ function drawPoint(ctx, options, x, y) { ctx.beginPath(); switch (style) { default: - ctx.arc(x, y, radius, 0, TAU); + if (w) { + ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU); + } else { + ctx.arc(x, y, radius, 0, TAU); + } ctx.closePath(); break; case "triangle": - ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius); + width = w ? w / 2 : radius; + ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); rad += TWO_THIRDS_PI; - ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius); + ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); rad += TWO_THIRDS_PI; - ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius); + ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); ctx.closePath(); break; case "rectRounded": cornerRadius = radius * 0.516; size = radius - cornerRadius; xOffset = Math.cos(rad + QUARTER_PI) * size; + xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size); yOffset = Math.sin(rad + QUARTER_PI) * size; - ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI); - ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad); - ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI); - ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI); + yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size); + ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI); + ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad); + ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI); + ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI); ctx.closePath(); break; case "rect": if (!rotation) { size = Math.SQRT1_2 * radius; - ctx.rect(x - size, y - size, 2 * size, 2 * size); + width = w ? w / 2 : size; + ctx.rect(x - width, y - size, 2 * width, 2 * size); break; } rad += QUARTER_PI; case "rectRot": + xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); xOffset = Math.cos(rad) * radius; yOffset = Math.sin(rad) * radius; - ctx.moveTo(x - xOffset, y - yOffset); - ctx.lineTo(x + yOffset, y - xOffset); - ctx.lineTo(x + xOffset, y + yOffset); - ctx.lineTo(x - yOffset, y + xOffset); + yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); + ctx.moveTo(x - xOffsetW, y - yOffset); + ctx.lineTo(x + yOffsetW, y - xOffset); + ctx.lineTo(x + xOffsetW, y + yOffset); + ctx.lineTo(x - yOffsetW, y + xOffset); ctx.closePath(); break; case "crossRot": rad += QUARTER_PI; case "cross": + xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); xOffset = Math.cos(rad) * radius; yOffset = Math.sin(rad) * radius; - ctx.moveTo(x - xOffset, y - yOffset); - ctx.lineTo(x + xOffset, y + yOffset); - ctx.moveTo(x + yOffset, y - xOffset); - ctx.lineTo(x - yOffset, y + xOffset); + yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); + ctx.moveTo(x - xOffsetW, y - yOffset); + ctx.lineTo(x + xOffsetW, y + yOffset); + ctx.moveTo(x + yOffsetW, y - xOffset); + ctx.lineTo(x - yOffsetW, y + xOffset); break; case "star": + xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); xOffset = Math.cos(rad) * radius; yOffset = Math.sin(rad) * radius; - ctx.moveTo(x - xOffset, y - yOffset); - ctx.lineTo(x + xOffset, y + yOffset); - ctx.moveTo(x + yOffset, y - xOffset); - ctx.lineTo(x - yOffset, y + xOffset); + yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); + ctx.moveTo(x - xOffsetW, y - yOffset); + ctx.lineTo(x + xOffsetW, y + yOffset); + ctx.moveTo(x + yOffsetW, y - xOffset); + ctx.lineTo(x - yOffsetW, y + xOffset); rad += QUARTER_PI; + xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); xOffset = Math.cos(rad) * radius; yOffset = Math.sin(rad) * radius; - ctx.moveTo(x - xOffset, y - yOffset); - ctx.lineTo(x + xOffset, y + yOffset); - ctx.moveTo(x + yOffset, y - xOffset); - ctx.lineTo(x - yOffset, y + xOffset); + yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); + ctx.moveTo(x - xOffsetW, y - yOffset); + ctx.lineTo(x + xOffsetW, y + yOffset); + ctx.moveTo(x + yOffsetW, y - xOffset); + ctx.lineTo(x - yOffsetW, y + xOffset); break; case "line": - xOffset = Math.cos(rad) * radius; + xOffset = w ? w / 2 : Math.cos(rad) * radius; yOffset = Math.sin(rad) * radius; ctx.moveTo(x - xOffset, y - yOffset); ctx.lineTo(x + xOffset, y + yOffset); break; case "dash": ctx.moveTo(x, y); - ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius); + ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius); break; } ctx.fill(); @@ -3528,29 +4420,10 @@ function clipArea(ctx, area) { function unclipArea(ctx) { ctx.restore(); } -function _steppedLineTo(ctx, previous, target, flip, mode) { - if (!previous) { - return ctx.lineTo(target.x, target.y); - } - if (mode === "middle") { - const midpoint = (previous.x + target.x) / 2; - ctx.lineTo(midpoint, previous.y); - ctx.lineTo(midpoint, target.y); - } else if (mode === "after" !== !!flip) { - ctx.lineTo(previous.x, target.y); - } else { - ctx.lineTo(target.x, previous.y); - } - ctx.lineTo(target.x, target.y); -} -function _bezierCurveTo(ctx, previous, target, flip) { - if (!previous) { - return ctx.lineTo(target.x, target.y); - } - ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y); -} function renderText(ctx, text, x, y, font, opts = {}) { - const lines = isArray(text) ? text : [text]; + const lines = isArray(text) ? text : [ + text + ]; const stroke = opts.strokeWidth > 0 && opts.strokeColor !== ""; let i, line; ctx.save(); @@ -3558,6 +4431,9 @@ function renderText(ctx, text, x, y, font, opts = {}) { setRenderOpts(ctx, opts); for (i = 0; i < lines.length; ++i) { line = lines[i]; + if (opts.backdrop) { + drawBackdrop(ctx, opts.backdrop); + } if (stroke) { if (opts.strokeColor) { ctx.strokeStyle = opts.strokeColor; @@ -3606,6 +4482,12 @@ function decorateText(ctx, x, y, line, opts) { ctx.stroke(); } } +function drawBackdrop(ctx, opts) { + const oldColor = ctx.fillStyle; + ctx.fillStyle = opts.color; + ctx.fillRect(opts.left, opts.top, opts.width, opts.height); + ctx.fillStyle = oldColor; +} function addRoundedRectPath(ctx, rect) { const { x, y, w, h: h4, radius } = rect; ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true); @@ -3617,8 +4499,8 @@ function addRoundedRectPath(ctx, rect) { ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true); ctx.lineTo(x + radius.topLeft, y); } -var LINE_HEIGHT = new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/); -var FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/); +var LINE_HEIGHT = /^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/; +var FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/; function toLineHeight(value, size) { const matches = ("" + value).match(LINE_HEIGHT); if (!matches || matches[1] === "normal") { @@ -3646,10 +4528,20 @@ function _readValueToProps(value, props) { return ret; } function toTRBL(value) { - return _readValueToProps(value, { top: "y", right: "x", bottom: "y", left: "x" }); + return _readValueToProps(value, { + top: "y", + right: "x", + bottom: "y", + left: "x" + }); } function toTRBLCorners(value) { - return _readValueToProps(value, ["topLeft", "topRight", "bottomLeft", "bottomRight"]); + return _readValueToProps(value, [ + "topLeft", + "topRight", + "bottomLeft", + "bottomRight" + ]); } function toPadding(value) { const obj = toTRBL(value); @@ -3667,7 +4559,7 @@ function toFont(options, fallback) { let style = valueOrDefault(options.style, fallback.style); if (style && !("" + style).match(FONT_STYLE)) { console.warn('Invalid font style specified: "' + style + '"'); - style = ""; + style = void 0; } const font = { family: valueOrDefault(options.family, fallback.family), @@ -3716,95 +4608,9 @@ function _addGrace(minmax, grace, beginAtZero) { function createContext(parentContext, context) { return Object.assign(Object.create(parentContext), context); } -function _lookup(table, value, cmp) { - cmp = cmp || ((index) => table[index] < value); - let hi = table.length - 1; - let lo = 0; - let mid; - while (hi - lo > 1) { - mid = lo + hi >> 1; - if (cmp(mid)) { - lo = mid; - } else { - hi = mid; - } - } - return { lo, hi }; -} -var _lookupByKey = (table, key, value) => _lookup(table, value, (index) => table[index][key] < value); -var _rlookupByKey = (table, key, value) => _lookup(table, value, (index) => table[index][key] >= value); -function _filterBetween(values, min, max) { - let start = 0; - let end = values.length; - while (start < end && values[start] < min) { - start++; - } - while (end > start && values[end - 1] > max) { - end--; - } - return start > 0 || end < values.length ? values.slice(start, end) : values; -} -var arrayEvents = ["push", "pop", "shift", "splice", "unshift"]; -function listenArrayEvents(array, listener) { - if (array._chartjs) { - array._chartjs.listeners.push(listener); - return; - } - Object.defineProperty(array, "_chartjs", { - configurable: true, - enumerable: false, - value: { - listeners: [listener] - } - }); - arrayEvents.forEach((key) => { - const method = "_onData" + _capitalize(key); - const base = array[key]; - Object.defineProperty(array, key, { - configurable: true, - enumerable: false, - value(...args) { - const res = base.apply(this, args); - array._chartjs.listeners.forEach((object) => { - if (typeof object[method] === "function") { - object[method](...args); - } - }); - return res; - } - }); - }); -} -function unlistenArrayEvents(array, listener) { - const stub = array._chartjs; - if (!stub) { - return; - } - const listeners = stub.listeners; - const index = listeners.indexOf(listener); - if (index !== -1) { - listeners.splice(index, 1); - } - if (listeners.length > 0) { - return; - } - arrayEvents.forEach((key) => { - delete array[key]; - }); - delete array._chartjs; -} -function _arrayUnique(items) { - const set2 = new Set(); - let i, ilen; - for (i = 0, ilen = items.length; i < ilen; ++i) { - set2.add(items[i]); - } - if (set2.size === ilen) { - return items; - } - return Array.from(set2); -} -function _createResolver(scopes, prefixes = [""], rootScopes = scopes, fallback, getTarget = () => scopes[0]) { +function _createResolver(scopes, prefixes = [ + "" +], rootScopes = scopes, fallback, getTarget = () => scopes[0]) { if (!defined(fallback)) { fallback = _resolve("_fallback", scopes); } @@ -3815,7 +4621,10 @@ function _createResolver(scopes, prefixes = [""], rootScopes = scopes, fallback, _rootScopes: rootScopes, _fallback: fallback, _getTarget: getTarget, - override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback) + override: (scope) => _createResolver([ + scope, + ...scopes + ], prefixes, rootScopes, fallback) }; return new Proxy(cache, { deleteProperty(target, prop) { @@ -3853,7 +4662,7 @@ function _attachContext(proxy, context, subProxy, descriptorDefaults) { _proxy: proxy, _context: context, _subProxy: subProxy, - _stack: new Set(), + _stack: /* @__PURE__ */ new Set(), _descriptors: _descriptors(proxy, descriptorDefaults), setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults), override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults) @@ -3868,7 +4677,10 @@ function _attachContext(proxy, context, subProxy, descriptorDefaults) { return _cached(target, prop, () => _resolveWithContext(target, prop, receiver)); }, getOwnPropertyDescriptor(target, prop) { - return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? { enumerable: true, configurable: true } : void 0 : Reflect.getOwnPropertyDescriptor(proxy, prop); + return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? { + enumerable: true, + configurable: true + } : void 0 : Reflect.getOwnPropertyDescriptor(proxy, prop); }, getPrototypeOf() { return Reflect.getPrototypeOf(proxy); @@ -3886,7 +4698,10 @@ function _attachContext(proxy, context, subProxy, descriptorDefaults) { } }); } -function _descriptors(proxy, defaults2 = { scriptable: true, indexable: true }) { +function _descriptors(proxy, defaults2 = { + scriptable: true, + indexable: true +}) { const { _scriptable = defaults2.scriptable, _indexable = defaults2.indexable, _allKeys = defaults2.allKeys } = proxy; return { allKeys: _allKeys, @@ -3896,7 +4711,7 @@ function _descriptors(proxy, defaults2 = { scriptable: true, indexable: true }) isIndexable: isFunction(_indexable) ? _indexable : () => _indexable }; } -var readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name; +var readKey = (prefix, name2) => prefix ? prefix + _capitalize(name2) : name2; var needsSubResolver = (prop, value) => isObject(value) && prop !== "adapters" && (Object.getPrototypeOf(value) === null || value.constructor === Object); function _cached(target, prop, resolve2) { if (Object.prototype.hasOwnProperty.call(target, prop)) { @@ -3970,8 +4785,11 @@ function addScopes(set2, parentScopes, key, parentFallback, value) { function createSubResolver(parentScopes, resolver, prop, value) { const rootScopes = resolver._rootScopes; const fallback = resolveFallback(resolver._fallback, prop, value); - const allScopes = [...parentScopes, ...rootScopes]; - const set2 = new Set(); + const allScopes = [ + ...parentScopes, + ...rootScopes + ]; + const set2 = /* @__PURE__ */ new Set(); set2.add(value); let key = addScopesFromKey(set2, allScopes, prop, fallback || prop, value); if (key === null) { @@ -3983,7 +4801,9 @@ function createSubResolver(parentScopes, resolver, prop, value) { return false; } } - return _createResolver(Array.from(set2), [""], rootScopes, fallback, () => subGetTarget(resolver, prop, value)); + return _createResolver(Array.from(set2), [ + "" + ], rootScopes, fallback, () => subGetTarget(resolver, prop, value)); } function addScopesFromKey(set2, allScopes, key, fallback, item) { while (key) { @@ -4000,7 +4820,7 @@ function subGetTarget(resolver, prop, value) { if (isArray(target) && isObject(value)) { return value; } - return target; + return target || {}; } function _resolveWithPrefixes(prop, prefixes, scopes, proxy) { let value; @@ -4030,7 +4850,7 @@ function getKeysFromAllScopes(target) { return keys; } function resolveKeysFromAllScopes(scopes) { - const set2 = new Set(); + const set2 = /* @__PURE__ */ new Set(); for (const scope of scopes) { for (const key of Object.keys(scope).filter((k) => !k.startsWith("_"))) { set2.add(key); @@ -4038,167 +4858,7 @@ function resolveKeysFromAllScopes(scopes) { } return Array.from(set2); } -function _parseObjectDataRadialScale(meta, data, start, count) { - const { iScale } = meta; - const { key = "r" } = this._parsing; - const parsed = new Array(count); - let i, ilen, index, item; - for (i = 0, ilen = count; i < ilen; ++i) { - index = i + start; - item = data[index]; - parsed[i] = { - r: iScale.parse(resolveObjectKey(item, key), index) - }; - } - return parsed; -} var EPSILON = Number.EPSILON || 1e-14; -var getPoint = (points, i) => i < points.length && !points[i].skip && points[i]; -var getValueAxis = (indexAxis) => indexAxis === "x" ? "y" : "x"; -function splineCurve(firstPoint, middlePoint, afterPoint, t2) { - const previous = firstPoint.skip ? middlePoint : firstPoint; - const current = middlePoint; - const next = afterPoint.skip ? middlePoint : afterPoint; - const d01 = distanceBetweenPoints(current, previous); - const d12 = distanceBetweenPoints(next, current); - let s01 = d01 / (d01 + d12); - let s12 = d12 / (d01 + d12); - s01 = isNaN(s01) ? 0 : s01; - s12 = isNaN(s12) ? 0 : s12; - const fa = t2 * s01; - const fb = t2 * s12; - return { - previous: { - x: current.x - fa * (next.x - previous.x), - y: current.y - fa * (next.y - previous.y) - }, - next: { - x: current.x + fb * (next.x - previous.x), - y: current.y + fb * (next.y - previous.y) - } - }; -} -function monotoneAdjust(points, deltaK, mK) { - const pointsLen = points.length; - let alphaK, betaK, tauK, squaredMagnitude, pointCurrent; - let pointAfter = getPoint(points, 0); - for (let i = 0; i < pointsLen - 1; ++i) { - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent || !pointAfter) { - continue; - } - if (almostEquals(deltaK[i], 0, EPSILON)) { - mK[i] = mK[i + 1] = 0; - continue; - } - alphaK = mK[i] / deltaK[i]; - betaK = mK[i + 1] / deltaK[i]; - squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2); - if (squaredMagnitude <= 9) { - continue; - } - tauK = 3 / Math.sqrt(squaredMagnitude); - mK[i] = alphaK * tauK * deltaK[i]; - mK[i + 1] = betaK * tauK * deltaK[i]; - } -} -function monotoneCompute(points, mK, indexAxis = "x") { - const valueAxis = getValueAxis(indexAxis); - const pointsLen = points.length; - let delta, pointBefore, pointCurrent; - let pointAfter = getPoint(points, 0); - for (let i = 0; i < pointsLen; ++i) { - pointBefore = pointCurrent; - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent) { - continue; - } - const iPixel = pointCurrent[indexAxis]; - const vPixel = pointCurrent[valueAxis]; - if (pointBefore) { - delta = (iPixel - pointBefore[indexAxis]) / 3; - pointCurrent[`cp1${indexAxis}`] = iPixel - delta; - pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i]; - } - if (pointAfter) { - delta = (pointAfter[indexAxis] - iPixel) / 3; - pointCurrent[`cp2${indexAxis}`] = iPixel + delta; - pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i]; - } - } -} -function splineCurveMonotone(points, indexAxis = "x") { - const valueAxis = getValueAxis(indexAxis); - const pointsLen = points.length; - const deltaK = Array(pointsLen).fill(0); - const mK = Array(pointsLen); - let i, pointBefore, pointCurrent; - let pointAfter = getPoint(points, 0); - for (i = 0; i < pointsLen; ++i) { - pointBefore = pointCurrent; - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent) { - continue; - } - if (pointAfter) { - const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis]; - deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0; - } - mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2; - } - monotoneAdjust(points, deltaK, mK); - monotoneCompute(points, mK, indexAxis); -} -function capControlPoint(pt, min, max) { - return Math.max(Math.min(pt, max), min); -} -function capBezierPoints(points, area) { - let i, ilen, point, inArea, inAreaPrev; - let inAreaNext = _isPointInArea(points[0], area); - for (i = 0, ilen = points.length; i < ilen; ++i) { - inAreaPrev = inArea; - inArea = inAreaNext; - inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area); - if (!inArea) { - continue; - } - point = points[i]; - if (inAreaPrev) { - point.cp1x = capControlPoint(point.cp1x, area.left, area.right); - point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom); - } - if (inAreaNext) { - point.cp2x = capControlPoint(point.cp2x, area.left, area.right); - point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom); - } - } -} -function _updateBezierControlPoints(points, options, area, loop, indexAxis) { - let i, ilen, point, controlPoints; - if (options.spanGaps) { - points = points.filter((pt) => !pt.skip); - } - if (options.cubicInterpolationMode === "monotone") { - splineCurveMonotone(points, indexAxis); - } else { - let prev = loop ? points[points.length - 1] : points[0]; - for (i = 0, ilen = points.length; i < ilen; ++i) { - point = points[i]; - controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension); - point.cp1x = controlPoints.previous.x; - point.cp1y = controlPoints.previous.y; - point.cp2x = controlPoints.next.x; - point.cp2y = controlPoints.next.y; - prev = point; - } - } - if (options.capBezierPoints) { - capBezierPoints(points, area); - } -} function _isDomSupported() { return typeof window !== "undefined" && typeof document !== "undefined"; } @@ -4221,11 +4881,16 @@ function parseMaxStyle(styleValue, node, parentProperty) { } return valueInPixels; } -var getComputedStyle = (element) => window.getComputedStyle(element, null); +var getComputedStyle = (element) => element.ownerDocument.defaultView.getComputedStyle(element, null); function getStyle(el, property) { return getComputedStyle(el).getPropertyValue(property); } -var positions = ["top", "right", "bottom", "left"]; +var positions = [ + "top", + "right", + "bottom", + "left" +]; function getPositionedStyle(styles, style, suffix) { const result = {}; suffix = suffix ? "-" + suffix : ""; @@ -4253,18 +4918,22 @@ function getCanvasPosition(e, canvas) { y = source.clientY - rect.top; box = true; } - return { x, y, box }; + return { + x, + y, + box + }; } -function getRelativePosition(evt, chart) { - if ("native" in evt) { - return evt; +function getRelativePosition(event, chart) { + if ("native" in event) { + return event; } const { canvas, currentDevicePixelRatio } = chart; const style = getComputedStyle(canvas); const borderBox = style.boxSizing === "border-box"; const paddings = getPositionedStyle(style, "padding"); const borders = getPositionedStyle(style, "border", "width"); - const { x, y, box } = getCanvasPosition(evt, canvas); + const { x, y, box } = getCanvasPosition(event, canvas); const xOffset = paddings.left + (box && borders.left); const yOffset = paddings.top + (box && borders.top); let { width, height } = chart; @@ -4323,6 +4992,11 @@ function getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) { if (width && !height) { height = round1(width / 2); } + const maintainHeight = bbWidth !== void 0 || bbHeight !== void 0; + if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) { + height = containerSize.height; + width = round1(Math.floor(height * aspectRatio)); + } return { width, height @@ -4368,42 +5042,6 @@ function readUsedSize(element, property) { const matches = value && value.match(/^(\d+)(\.\d+)?px$/); return matches ? +matches[1] : void 0; } -function _pointInLine(p1, p2, t2, mode) { - return { - x: p1.x + t2 * (p2.x - p1.x), - y: p1.y + t2 * (p2.y - p1.y) - }; -} -function _steppedInterpolation(p1, p2, t2, mode) { - return { - x: p1.x + t2 * (p2.x - p1.x), - y: mode === "middle" ? t2 < 0.5 ? p1.y : p2.y : mode === "after" ? t2 < 1 ? p1.y : p2.y : t2 > 0 ? p2.y : p1.y - }; -} -function _bezierInterpolation(p1, p2, t2, mode) { - const cp1 = { x: p1.cp2x, y: p1.cp2y }; - const cp2 = { x: p2.cp1x, y: p2.cp1y }; - const a = _pointInLine(p1, cp1, t2); - const b = _pointInLine(cp1, cp2, t2); - const c = _pointInLine(cp2, p2, t2); - const d = _pointInLine(a, b, t2); - const e = _pointInLine(b, c, t2); - return _pointInLine(d, e, t2); -} -var intlCache = new Map(); -function getNumberFormat(locale2, options) { - options = options || {}; - const cacheKey = locale2 + JSON.stringify(options); - let formatter = intlCache.get(cacheKey); - if (!formatter) { - formatter = new Intl.NumberFormat(locale2, options); - intlCache.set(cacheKey, formatter); - } - return formatter; -} -function formatNumber(num, locale2, options) { - return getNumberFormat(locale2, options).format(num); -} var getRightToLeftAdapter = function(rectX, width) { return { x(x) { @@ -4465,247 +5103,12 @@ function restoreTextDirection(ctx, original) { ctx.canvas.style.setProperty("direction", original[0], original[1]); } } -function propertyFn(property) { - if (property === "angle") { - return { - between: _angleBetween, - compare: _angleDiff, - normalize: _normalizeAngle - }; - } - return { - between: _isBetween, - compare: (a, b) => a - b, - normalize: (x) => x - }; -} -function normalizeSegment({ start, end, count, loop, style }) { - return { - start: start % count, - end: end % count, - loop: loop && (end - start + 1) % count === 0, - style - }; -} -function getSegment(segment, points, bounds) { - const { property, start: startBound, end: endBound } = bounds; - const { between, normalize } = propertyFn(property); - const count = points.length; - let { start, end, loop } = segment; - let i, ilen; - if (loop) { - start += count; - end += count; - for (i = 0, ilen = count; i < ilen; ++i) { - if (!between(normalize(points[start % count][property]), startBound, endBound)) { - break; - } - start--; - end--; - } - start %= count; - end %= count; - } - if (end < start) { - end += count; - } - return { start, end, loop, style: segment.style }; -} -function _boundSegment(segment, points, bounds) { - if (!bounds) { - return [segment]; - } - const { property, start: startBound, end: endBound } = bounds; - const count = points.length; - const { compare, between, normalize } = propertyFn(property); - const { start, end, loop, style } = getSegment(segment, points, bounds); - const result = []; - let inside = false; - let subStart = null; - let value, point, prevValue; - const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0; - const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value); - const shouldStart = () => inside || startIsBefore(); - const shouldStop = () => !inside || endIsBefore(); - for (let i = start, prev = start; i <= end; ++i) { - point = points[i % count]; - if (point.skip) { - continue; - } - value = normalize(point[property]); - if (value === prevValue) { - continue; - } - inside = between(value, startBound, endBound); - if (subStart === null && shouldStart()) { - subStart = compare(value, startBound) === 0 ? i : prev; - } - if (subStart !== null && shouldStop()) { - result.push(normalizeSegment({ start: subStart, end: i, loop, count, style })); - subStart = null; - } - prev = i; - prevValue = value; - } - if (subStart !== null) { - result.push(normalizeSegment({ start: subStart, end, loop, count, style })); - } - return result; -} -function _boundSegments(line, bounds) { - const result = []; - const segments = line.segments; - for (let i = 0; i < segments.length; i++) { - const sub = _boundSegment(segments[i], line.points, bounds); - if (sub.length) { - result.push(...sub); - } - } - return result; -} -function findStartAndEnd(points, count, loop, spanGaps) { - let start = 0; - let end = count - 1; - if (loop && !spanGaps) { - while (start < count && !points[start].skip) { - start++; - } - } - while (start < count && points[start].skip) { - start++; - } - start %= count; - if (loop) { - end += start; - } - while (end > start && points[end % count].skip) { - end--; - } - end %= count; - return { start, end }; -} -function solidSegments(points, start, max, loop) { - const count = points.length; - const result = []; - let last = start; - let prev = points[start]; - let end; - for (end = start + 1; end <= max; ++end) { - const cur = points[end % count]; - if (cur.skip || cur.stop) { - if (!prev.skip) { - loop = false; - result.push({ start: start % count, end: (end - 1) % count, loop }); - start = last = cur.stop ? end : null; - } - } else { - last = end; - if (prev.skip) { - start = end; - } - } - prev = cur; - } - if (last !== null) { - result.push({ start: start % count, end: last % count, loop }); - } - return result; -} -function _computeSegments(line, segmentOptions) { - const points = line.points; - const spanGaps = line.options.spanGaps; - const count = points.length; - if (!count) { - return []; - } - const loop = !!line._loop; - const { start, end } = findStartAndEnd(points, count, loop, spanGaps); - if (spanGaps === true) { - return splitByStyles(line, [{ start, end, loop }], points, segmentOptions); - } - const max = end < start ? end + count : end; - const completeLoop = !!line._fullLoop && start === 0 && end === count - 1; - return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions); -} -function splitByStyles(line, segments, points, segmentOptions) { - if (!segmentOptions || !segmentOptions.setContext || !points) { - return segments; - } - return doSplitByStyles(line, segments, points, segmentOptions); -} -function doSplitByStyles(line, segments, points, segmentOptions) { - const chartContext = line._chart.getContext(); - const baseStyle = readStyle(line.options); - const { _datasetIndex: datasetIndex, options: { spanGaps } } = line; - const count = points.length; - const result = []; - let prevStyle = baseStyle; - let start = segments[0].start; - let i = start; - function addStyle(s, e, l, st) { - const dir = spanGaps ? -1 : 1; - if (s === e) { - return; - } - s += count; - while (points[s % count].skip) { - s -= dir; - } - while (points[e % count].skip) { - e += dir; - } - if (s % count !== e % count) { - result.push({ start: s % count, end: e % count, loop: l, style: st }); - prevStyle = st; - start = e % count; - } - } - for (const segment of segments) { - start = spanGaps ? start : segment.start; - let prev = points[start % count]; - let style; - for (i = start + 1; i <= segment.end; i++) { - const pt = points[i % count]; - style = readStyle(segmentOptions.setContext(createContext(chartContext, { - type: "segment", - p0: prev, - p1: pt, - p0DataIndex: (i - 1) % count, - p1DataIndex: i % count, - datasetIndex - }))); - if (styleChanged(style, prevStyle)) { - addStyle(start, i - 1, segment.loop, prevStyle); - } - prev = pt; - prevStyle = style; - } - if (start < i - 1) { - addStyle(start, i - 1, segment.loop, prevStyle); - } - } - return result; -} -function readStyle(options) { - return { - backgroundColor: options.backgroundColor, - borderCapStyle: options.borderCapStyle, - borderDash: options.borderDash, - borderDashOffset: options.borderDashOffset, - borderJoinStyle: options.borderJoinStyle, - borderWidth: options.borderWidth, - borderColor: options.borderColor - }; -} -function styleChanged(style, prevStyle) { - return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle); -} -// node_modules/chart.js/dist/chart.esm.js +// node_modules/chart.js/dist/chart.js var Animator = class { constructor() { this._request = null; - this._charts = new Map(); + this._charts = /* @__PURE__ */ new Map(); this._running = false; this._lastDate = void 0; } @@ -4740,7 +5143,7 @@ var Animator = class { } const items = anims.items; let i = items.length - 1; - let draw2 = false; + let draw = false; let item; for (; i >= 0; --i) { item = items[i]; @@ -4749,13 +5152,13 @@ var Animator = class { anims.duration = item._total; } item.tick(date); - draw2 = true; + draw = true; } else { items[i] = items[items.length - 1]; items.pop(); } } - if (draw2) { + if (draw) { chart.draw(); this._notify(chart, anims, date, "progress"); } @@ -4837,7 +5240,7 @@ var Animator = class { return this._charts.delete(chart); } }; -var animator = new Animator(); +var animator = /* @__PURE__ */ new Animator(); var transparent = "transparent"; var interpolators = { boolean(from2, to2, factor) { @@ -4855,11 +5258,20 @@ var interpolators = { var Animation = class { constructor(cfg, target, prop, to2) { const currentValue = target[prop]; - to2 = resolve([cfg.to, to2, currentValue, cfg.from]); - const from2 = resolve([cfg.from, currentValue, to2]); + to2 = resolve([ + cfg.to, + to2, + currentValue, + cfg.from + ]); + const from2 = resolve([ + cfg.from, + currentValue, + to2 + ]); this._active = true; this._fn = cfg.fn || interpolators[cfg.type || typeof from2]; - this._easing = effects[cfg.easing] || effects.linear; + this._easing = effects$1[cfg.easing] || effects$1.linear; this._start = Math.floor(Date.now() + (cfg.delay || 0)); this._duration = this._total = Math.floor(cfg.duration); this._loop = !!cfg.loop; @@ -4882,8 +5294,17 @@ var Animation = class { this._duration = Math.floor(Math.max(remain, cfg.duration)); this._total += elapsed; this._loop = !!cfg.loop; - this._to = resolve([cfg.to, to2, currentValue, cfg.from]); - this._from = resolve([cfg.from, currentValue, to2]); + this._to = resolve([ + cfg.to, + to2, + currentValue, + cfg.from + ]); + this._from = resolve([ + cfg.from, + currentValue, + to2 + ]); } } cancel() { @@ -4919,7 +5340,10 @@ var Animation = class { wait() { const promises = this._promises || (this._promises = []); return new Promise((res, rej) => { - promises.push({ res, rej }); + promises.push({ + res, + rej + }); }); } _notify(resolved) { @@ -4930,82 +5354,17 @@ var Animation = class { } } }; -var numbers = ["x", "y", "borderWidth", "radius", "tension"]; -var colors = ["color", "borderColor", "backgroundColor"]; -defaults.set("animation", { - delay: void 0, - duration: 1e3, - easing: "easeOutQuart", - fn: void 0, - from: void 0, - loop: void 0, - to: void 0, - type: void 0 -}); -var animationOptions = Object.keys(defaults.animation); -defaults.describe("animation", { - _fallback: false, - _indexable: false, - _scriptable: (name) => name !== "onProgress" && name !== "onComplete" && name !== "fn" -}); -defaults.set("animations", { - colors: { - type: "color", - properties: colors - }, - numbers: { - type: "number", - properties: numbers - } -}); -defaults.describe("animations", { - _fallback: "animation" -}); -defaults.set("transitions", { - active: { - animation: { - duration: 400 - } - }, - resize: { - animation: { - duration: 0 - } - }, - show: { - animations: { - colors: { - from: "transparent" - }, - visible: { - type: "boolean", - duration: 0 - } - } - }, - hide: { - animations: { - colors: { - to: "transparent" - }, - visible: { - type: "boolean", - easing: "linear", - fn: (v) => v | 0 - } - } - } -}); var Animations = class { constructor(chart, config) { this._chart = chart; - this._properties = new Map(); + this._properties = /* @__PURE__ */ new Map(); this.configure(config); } configure(config) { if (!isObject(config)) { return; } + const animationOptions = Object.keys(defaults.animation); const animatedProps = this._properties; Object.getOwnPropertyNames(config).forEach((key) => { const cfg = config[key]; @@ -5016,7 +5375,9 @@ var Animations = class { for (const option of animationOptions) { resolved[option] = cfg[option]; } - (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => { + (isArray(cfg.properties) && cfg.properties || [ + key + ]).forEach((prop) => { if (prop === key || !animatedProps.has(prop)) { animatedProps.set(prop, resolved); } @@ -5107,7 +5468,10 @@ function resolveTargetOptions(target, newOptions) { return; } if (options.$shared) { - target.options = options = Object.assign({}, options, { $shared: false, $animations: {} }); + target.options = options = Object.assign({}, options, { + $shared: false, + $animations: {} + }); } return options; } @@ -5177,7 +5541,7 @@ function applyStack(stack, value, dsIndex, options = {}) { break; } otherValue = stack.values[datasetIndex]; - if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) { + if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) { value += otherValue; } } @@ -5285,7 +5649,10 @@ function clearStacks(meta, items) { } var isDirectUpdateMode = (mode) => mode === "reset" || mode === "none"; var cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached); -var createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked && { keys: getSortedDatasetIndices(chart, true), values: null }; +var createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked && { + keys: getSortedDatasetIndices(chart, true), + values: null +}; var DatasetController = class { constructor(chart, datasetIndex) { this.chart = chart; @@ -5305,6 +5672,8 @@ var DatasetController = class { this.supportsDecimation = false; this.$context = void 0; this._syncList = []; + this.datasetElementType = new.target.datasetElementType; + this.dataElementType = new.target.dataElementType; this.initialize(); } initialize() { @@ -5313,6 +5682,9 @@ var DatasetController = class { this.linkScales(); meta._stacked = isStacked(meta.vScale, meta); this.addElements(); + if (this.options.fill && !this.chart.isPluginEnabled("filler")) { + console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options"); + } } updateIndex(datasetIndex) { if (this.index !== datasetIndex) { @@ -5509,7 +5881,9 @@ var DatasetController = class { keys: getSortedDatasetIndices(chart, true), values: parsed._stacks[scale.axis] }; - return applyStack(stack, value, meta.index, { mode }); + return applyStack(stack, value, meta.index, { + mode + }); } updateRangeFromParsed(range, scale, parsed, stack) { const parsedValue = parsed[scale.axis]; @@ -5529,7 +5903,10 @@ var DatasetController = class { const ilen = _parsed.length; const otherScale = this._getOtherScale(scale); const stack = createStack(canStack, meta, this.chart); - const range = { min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY }; + const range = { + min: Number.POSITIVE_INFINITY, + max: Number.NEGATIVE_INFINITY + }; const { min: otherMin, max: otherMax } = getUserBounds(otherScale); let i, parsed; function _skip() { @@ -5657,7 +6034,15 @@ var DatasetController = class { } const config = this.chart.config; const scopeKeys = config.datasetElementScopeKeys(this._type, elementType); - const prefixes = active ? [`${elementType}Hover`, "hover", elementType, ""] : [elementType, ""]; + const prefixes = active ? [ + `${elementType}Hover`, + "hover", + elementType, + "" + ] : [ + elementType, + "" + ]; const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); const names2 = Object.keys(defaults.elements[elementType]); const context = () => this.getContext(index, active); @@ -5698,6 +6083,17 @@ var DatasetController = class { includeOptions(mode, sharedOptions) { return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled; } + _getSharedOptions(start, mode) { + const firstOpts = this.resolveDataElementOptions(start, mode); + const previouslySharedOptions = this._sharedOptions; + const sharedOptions = this.getSharedOptions(firstOpts); + const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions; + this.updateSharedOptions(sharedOptions, mode, firstOpts); + return { + sharedOptions, + includeOptions + }; + } updateElement(element, index, properties, mode) { if (isDirectUpdateMode(mode)) { Object.assign(element, properties); @@ -5796,34 +6192,61 @@ var DatasetController = class { const [method, arg1, arg2] = args; this[method](arg1, arg2); } - this.chart._dataChanges.push([this.index, ...args]); + this.chart._dataChanges.push([ + this.index, + ...args + ]); } _onDataPush() { const count = arguments.length; - this._sync(["_insertElements", this.getDataset().data.length - count, count]); + this._sync([ + "_insertElements", + this.getDataset().data.length - count, + count + ]); } _onDataPop() { - this._sync(["_removeElements", this._cachedMeta.data.length - 1, 1]); + this._sync([ + "_removeElements", + this._cachedMeta.data.length - 1, + 1 + ]); } _onDataShift() { - this._sync(["_removeElements", 0, 1]); + this._sync([ + "_removeElements", + 0, + 1 + ]); } _onDataSplice(start, count) { if (count) { - this._sync(["_removeElements", start, count]); + this._sync([ + "_removeElements", + start, + count + ]); } const newCount = arguments.length - 2; if (newCount) { - this._sync(["_insertElements", start, newCount]); + this._sync([ + "_insertElements", + start, + newCount + ]); } } _onDataUnshift() { - this._sync(["_insertElements", 0, arguments.length]); + this._sync([ + "_insertElements", + 0, + arguments.length + ]); } }; -DatasetController.defaults = {}; -DatasetController.prototype.datasetElementType = null; -DatasetController.prototype.dataElementType = null; +__publicField(DatasetController, "defaults", {}); +__publicField(DatasetController, "datasetElementType", null); +__publicField(DatasetController, "dataElementType", null); function getAllScaleValues(scale, type) { if (!scale._cache.$bar) { const visibleMetas = scale.getMatchingVisibleMetas(type); @@ -5967,7 +6390,13 @@ function borderProps(properties) { top = "start"; bottom = "end"; } - return { start, end, reverse, top, bottom }; + return { + start, + end, + reverse, + top, + bottom + }; } function setBorderSkipped(properties, options, stack, index) { let edge = options.borderSkipped; @@ -5976,6 +6405,15 @@ function setBorderSkipped(properties, options, stack, index) { properties.borderSkipped = res; return; } + if (edge === true) { + properties.borderSkipped = { + top: true, + right: true, + bottom: true, + left: true + }; + return; + } const { start, end, reverse, top, bottom } = borderProps(properties); if (edge === "middle" && stack) { properties.enableBorderRadius = true; @@ -6069,19 +6507,19 @@ var BarController = class extends DatasetController { const base = vScale.getBasePixel(); const horizontal = vScale.isHorizontal(); const ruler = this._getRuler(); - const firstOpts = this.resolveDataElementOptions(start, mode); - const sharedOptions = this.getSharedOptions(firstOpts); - const includeOptions = this.includeOptions(mode, sharedOptions); - this.updateSharedOptions(sharedOptions, mode, firstOpts); + const { sharedOptions, includeOptions } = this._getSharedOptions(start, mode); for (let i = start; i < start + count; i++) { const parsed = this.getParsed(i); - const vpixels = reset2 || isNullOrUndef(parsed[vScale.axis]) ? { base, head: base } : this._calculateBarValuePixels(i); + const vpixels = reset2 || isNullOrUndef(parsed[vScale.axis]) ? { + base, + head: base + } : this._calculateBarValuePixels(i); const ipixels = this._calculateBarIndexPixels(i, ruler); const stack = (parsed._stacks || {})[vScale.axis]; const properties = { horizontal, base: vpixels.base, - enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom), + enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom, x: horizontal ? vpixels.head : ipixels.center, y: horizontal ? ipixels.center : vpixels.head, height: horizontal ? ipixels.size : Math.abs(vpixels.size), @@ -6097,28 +6535,25 @@ var BarController = class extends DatasetController { } } _getStacks(last, dataIndex) { - const meta = this._cachedMeta; - const iScale = meta.iScale; - const metasets = iScale.getMatchingVisibleMetas(this._type); + const { iScale } = this._cachedMeta; + const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta) => meta.controller.options.grouped); const stacked = iScale.options.stacked; - const ilen = metasets.length; const stacks = []; - let i, item; - for (i = 0; i < ilen; ++i) { - item = metasets[i]; - if (!item.controller.options.grouped) { + const skipNull = (meta) => { + const parsed = meta.controller.getParsed(dataIndex); + const val = parsed && parsed[meta.vScale.axis]; + if (isNullOrUndef(val) || isNaN(val)) { + return true; + } + }; + for (const meta of metasets) { + if (dataIndex !== void 0 && skipNull(meta)) { continue; } - if (typeof dataIndex !== "undefined") { - const val = item.controller.getParsed(dataIndex)[item.controller._cachedMeta.vScale.axis]; - if (isNullOrUndef(val) || isNaN(val)) { - continue; - } + if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === void 0 && meta.stack === void 0) { + stacks.push(meta.stack); } - if (stacked === false || stacks.indexOf(item.stack) === -1 || stacked === void 0 && item.stack === void 0) { - stacks.push(item.stack); - } - if (item.index === last) { + if (meta.index === last) { break; } } @@ -6130,9 +6565,9 @@ var BarController = class extends DatasetController { _getStackCount(index) { return this._getStacks(void 0, index).length; } - _getStackIndex(datasetIndex, name, dataIndex) { + _getStackIndex(datasetIndex, name2, dataIndex) { const stacks = this._getStacks(datasetIndex, dataIndex); - const index = name !== void 0 ? stacks.indexOf(name) : -1; + const index = name2 !== void 0 ? stacks.indexOf(name2) : -1; return index === -1 ? stacks.length - 1 : index; } _getRuler() { @@ -6247,8 +6682,8 @@ var BarController = class extends DatasetController { } } }; -BarController.id = "bar"; -BarController.defaults = { +__publicField(BarController, "id", "bar"); +__publicField(BarController, "defaults", { datasetElementType: false, dataElementType: "bar", categoryPercentage: 0.8, @@ -6257,11 +6692,17 @@ BarController.defaults = { animations: { numbers: { type: "number", - properties: ["x", "y", "base", "width", "height"] + properties: [ + "x", + "y", + "base", + "width", + "height" + ] } } -}; -BarController.overrides = { +}); +__publicField(BarController, "overrides", { scales: { _index_: { type: "category", @@ -6275,128 +6716,7 @@ BarController.overrides = { beginAtZero: true } } -}; -var BubbleController = class extends DatasetController { - initialize() { - this.enableOptionSharing = true; - super.initialize(); - } - parsePrimitiveData(meta, data, start, count) { - const parsed = super.parsePrimitiveData(meta, data, start, count); - for (let i = 0; i < parsed.length; i++) { - parsed[i]._custom = this.resolveDataElementOptions(i + start).radius; - } - return parsed; - } - parseArrayData(meta, data, start, count) { - const parsed = super.parseArrayData(meta, data, start, count); - for (let i = 0; i < parsed.length; i++) { - const item = data[start + i]; - parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius); - } - return parsed; - } - parseObjectData(meta, data, start, count) { - const parsed = super.parseObjectData(meta, data, start, count); - for (let i = 0; i < parsed.length; i++) { - const item = data[start + i]; - parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius); - } - return parsed; - } - getMaxOverflow() { - const data = this._cachedMeta.data; - let max = 0; - for (let i = data.length - 1; i >= 0; --i) { - max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); - } - return max > 0 && max; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const { xScale, yScale } = meta; - const parsed = this.getParsed(index); - const x = xScale.getLabelForValue(parsed.x); - const y = yScale.getLabelForValue(parsed.y); - const r = parsed._custom; - return { - label: meta.label, - value: "(" + x + ", " + y + (r ? ", " + r : "") + ")" - }; - } - update(mode) { - const points = this._cachedMeta.data; - this.updateElements(points, 0, points.length, mode); - } - updateElements(points, start, count, mode) { - const reset2 = mode === "reset"; - const { iScale, vScale } = this._cachedMeta; - const firstOpts = this.resolveDataElementOptions(start, mode); - const sharedOptions = this.getSharedOptions(firstOpts); - const includeOptions = this.includeOptions(mode, sharedOptions); - const iAxis = iScale.axis; - const vAxis = vScale.axis; - for (let i = start; i < start + count; i++) { - const point = points[i]; - const parsed = !reset2 && this.getParsed(i); - const properties = {}; - const iPixel = properties[iAxis] = reset2 ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]); - const vPixel = properties[vAxis] = reset2 ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]); - properties.skip = isNaN(iPixel) || isNaN(vPixel); - if (includeOptions) { - properties.options = this.resolveDataElementOptions(i, point.active ? "active" : mode); - if (reset2) { - properties.options.radius = 0; - } - } - this.updateElement(point, i, properties, mode); - } - this.updateSharedOptions(sharedOptions, mode, firstOpts); - } - resolveDataElementOptions(index, mode) { - const parsed = this.getParsed(index); - let values = super.resolveDataElementOptions(index, mode); - if (values.$shared) { - values = Object.assign({}, values, { $shared: false }); - } - const radius = values.radius; - if (mode !== "active") { - values.radius = 0; - } - values.radius += valueOrDefault(parsed && parsed._custom, radius); - return values; - } -}; -BubbleController.id = "bubble"; -BubbleController.defaults = { - datasetElementType: false, - dataElementType: "point", - animations: { - numbers: { - type: "number", - properties: ["x", "y", "borderWidth", "radius"] - } - } -}; -BubbleController.overrides = { - scales: { - x: { - type: "linear" - }, - y: { - type: "linear" - } - }, - plugins: { - tooltip: { - callbacks: { - title() { - return ""; - } - } - } - } -}; +}); function getRatioAndOffset(rotation, circumference, cutout) { let ratioX = 1; let ratioY = 1; @@ -6420,7 +6740,12 @@ function getRatioAndOffset(rotation, circumference, cutout) { offsetX = -(maxX + minX) / 2; offsetY = -(maxY + minY) / 2; } - return { ratioX, ratioY, offsetX, offsetY }; + return { + ratioX, + ratioY, + offsetX, + offsetY + }; } var DoughnutController = class extends DatasetController { constructor(chart, datasetIndex) { @@ -6460,7 +6785,7 @@ var DoughnutController = class extends DatasetController { let min = TAU; let max = -TAU; for (let i = 0; i < this.chart.data.datasets.length; ++i) { - if (this.chart.isDatasetVisible(i)) { + if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) { const controller = this.chart.getDatasetMeta(i).controller; const rotation = controller._getRotation(); const circumference = controller._getCircumference(); @@ -6517,9 +6842,7 @@ var DoughnutController = class extends DatasetController { const animateScale = reset2 && animationOpts.animateScale; const innerRadius = animateScale ? 0 : this.innerRadius; const outerRadius = animateScale ? 0 : this.outerRadius; - const firstOpts = this.resolveDataElementOptions(start, mode); - const sharedOptions = this.getSharedOptions(firstOpts); - const includeOptions = this.includeOptions(mode, sharedOptions); + const { sharedOptions, includeOptions } = this._getSharedOptions(start, mode); let startAngle = this._getRotation(); let i; for (i = 0; i < start; ++i) { @@ -6543,7 +6866,6 @@ var DoughnutController = class extends DatasetController { startAngle += circumference; this.updateElement(arc, i, properties, mode); } - this.updateSharedOptions(sharedOptions, mode, firstOpts); } calculateTotal() { const meta = this._cachedMeta; @@ -6624,8 +6946,8 @@ var DoughnutController = class extends DatasetController { return this._getRingWeightOffset(this.chart.data.datasets.length) || 1; } }; -DoughnutController.id = "doughnut"; -DoughnutController.defaults = { +__publicField(DoughnutController, "id", "doughnut"); +__publicField(DoughnutController, "defaults", { datasetElementType: false, dataElementType: "arc", animation: { @@ -6635,7 +6957,18 @@ DoughnutController.defaults = { animations: { numbers: { type: "number", - properties: ["circumference", "endAngle", "innerRadius", "outerRadius", "startAngle", "x", "y", "offset", "borderWidth", "spacing"] + properties: [ + "circumference", + "endAngle", + "innerRadius", + "outerRadius", + "startAngle", + "x", + "y", + "offset", + "borderWidth", + "spacing" + ] } }, cutout: "50%", @@ -6644,12 +6977,12 @@ DoughnutController.defaults = { radius: "100%", spacing: 0, indexAxis: "r" -}; -DoughnutController.descriptors = { - _scriptable: (name) => name !== "spacing", - _indexable: (name) => name !== "spacing" -}; -DoughnutController.overrides = { +}); +__publicField(DoughnutController, "descriptors", { + _scriptable: (name2) => name2 !== "spacing", + _indexable: (name2) => name2 !== "spacing" +}); +__publicField(DoughnutController, "overrides", { aspectRatio: 1, plugins: { legend: { @@ -6657,7 +6990,7 @@ DoughnutController.overrides = { generateLabels(chart) { const data = chart.data; if (data.labels.length && data.datasets.length) { - const { labels: { pointStyle } } = chart.legend.options; + const { labels: { pointStyle, color: color2 } } = chart.legend.options; return data.labels.map((label, i) => { const meta = chart.getDatasetMeta(0); const style = meta.controller.getStyle(i); @@ -6665,6 +6998,7 @@ DoughnutController.overrides = { text: label, fillStyle: style.backgroundColor, strokeStyle: style.borderColor, + fontColor: color2, lineWidth: style.borderWidth, pointStyle, hidden: !chart.getDataVisibility(i), @@ -6679,492 +7013,54 @@ DoughnutController.overrides = { legend.chart.toggleDataVisibility(legendItem.index); legend.chart.update(); } - }, - tooltip: { - callbacks: { - title() { - return ""; - }, - label(tooltipItem) { - let dataLabel = tooltipItem.label; - const value = ": " + tooltipItem.formattedValue; - if (isArray(dataLabel)) { - dataLabel = dataLabel.slice(); - dataLabel[0] += value; - } else { - dataLabel += value; - } - return dataLabel; - } - } } } -}; -var LineController = class extends DatasetController { - initialize() { - this.enableOptionSharing = true; - this.supportsDecimation = true; - super.initialize(); - } - update(mode) { - const meta = this._cachedMeta; - const { dataset: line, data: points = [], _dataset } = meta; - const animationsDisabled = this.chart._animationsDisabled; - let { start, count } = getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); - this._drawStart = start; - this._drawCount = count; - if (scaleRangesChanged(meta)) { - start = 0; - count = points.length; - } - line._chart = this.chart; - line._datasetIndex = this.index; - line._decimated = !!_dataset._decimated; - line.points = points; - const options = this.resolveDatasetElementOptions(mode); - if (!this.options.showLine) { - options.borderWidth = 0; - } - options.segment = this.options.segment; - this.updateElement(line, void 0, { - animated: !animationsDisabled, - options - }, mode); - this.updateElements(points, start, count, mode); - } - updateElements(points, start, count, mode) { - const reset2 = mode === "reset"; - const { iScale, vScale, _stacked, _dataset } = this._cachedMeta; - const firstOpts = this.resolveDataElementOptions(start, mode); - const sharedOptions = this.getSharedOptions(firstOpts); - const includeOptions = this.includeOptions(mode, sharedOptions); - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const { spanGaps, segment } = this.options; - const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; - const directUpdate = this.chart._animationsDisabled || reset2 || mode === "none"; - let prevParsed = start > 0 && this.getParsed(start - 1); - for (let i = start; i < start + count; ++i) { - const point = points[i]; - const parsed = this.getParsed(i); - const properties = directUpdate ? point : {}; - const nullData = isNullOrUndef(parsed[vAxis]); - const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); - const vPixel = properties[vAxis] = reset2 || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); - properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; - properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength; - if (segment) { - properties.parsed = parsed; - properties.raw = _dataset.data[i]; - } - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? "active" : mode); - } - if (!directUpdate) { - this.updateElement(point, i, properties, mode); - } - prevParsed = parsed; - } - this.updateSharedOptions(sharedOptions, mode, firstOpts); - } - getMaxOverflow() { - const meta = this._cachedMeta; - const dataset = meta.dataset; - const border = dataset.options && dataset.options.borderWidth || 0; - const data = meta.data || []; - if (!data.length) { - return border; - } - const firstPoint = data[0].size(this.resolveDataElementOptions(0)); - const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); - return Math.max(border, firstPoint, lastPoint) / 2; - } - draw() { - const meta = this._cachedMeta; - meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis); - super.draw(); - } -}; -LineController.id = "line"; -LineController.defaults = { - datasetElementType: "line", - dataElementType: "point", - showLine: true, - spanGaps: false -}; -LineController.overrides = { - scales: { - _index_: { - type: "category" - }, - _value_: { - type: "linear" - } - } -}; -function getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) { - const pointCount = points.length; - let start = 0; - let count = pointCount; - if (meta._sorted) { - const { iScale, _parsed } = meta; - const axis = iScale.axis; - const { min, max, minDefined, maxDefined } = iScale.getUserBounds(); - if (minDefined) { - start = _limitValue(Math.min(_lookupByKey(_parsed, iScale.axis, min).lo, animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), 0, pointCount - 1); - } - if (maxDefined) { - count = _limitValue(Math.max(_lookupByKey(_parsed, iScale.axis, max).hi + 1, animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max)).hi + 1), start, pointCount) - start; - } else { - count = pointCount - start; - } - } - return { start, count }; -} -function scaleRangesChanged(meta) { - const { xScale, yScale, _scaleRanges } = meta; - const newRanges = { - xmin: xScale.min, - xmax: xScale.max, - ymin: yScale.min, - ymax: yScale.max - }; - if (!_scaleRanges) { - meta._scaleRanges = newRanges; - return true; - } - const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max; - Object.assign(_scaleRanges, newRanges); - return changed; -} -var PolarAreaController = class extends DatasetController { - constructor(chart, datasetIndex) { - super(chart, datasetIndex); - this.innerRadius = void 0; - this.outerRadius = void 0; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const chart = this.chart; - const labels = chart.data.labels || []; - const value = formatNumber(meta._parsed[index].r, chart.options.locale); - return { - label: labels[index] || "", - value - }; - } - parseObjectData(meta, data, start, count) { - return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); - } - update(mode) { - const arcs = this._cachedMeta.data; - this._updateRadius(); - this.updateElements(arcs, 0, arcs.length, mode); - } - getMinMax() { - const meta = this._cachedMeta; - const range = { min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY }; - meta.data.forEach((element, index) => { - const parsed = this.getParsed(index).r; - if (!isNaN(parsed) && this.chart.getDataVisibility(index)) { - if (parsed < range.min) { - range.min = parsed; - } - if (parsed > range.max) { - range.max = parsed; - } - } - }); - return range; - } - _updateRadius() { - const chart = this.chart; - const chartArea = chart.chartArea; - const opts = chart.options; - const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top); - const outerRadius = Math.max(minSize / 2, 0); - const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0); - const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount(); - this.outerRadius = outerRadius - radiusLength * this.index; - this.innerRadius = this.outerRadius - radiusLength; - } - updateElements(arcs, start, count, mode) { - const reset2 = mode === "reset"; - const chart = this.chart; - const opts = chart.options; - const animationOpts = opts.animation; - const scale = this._cachedMeta.rScale; - const centerX = scale.xCenter; - const centerY = scale.yCenter; - const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; - let angle = datasetStartAngle; - let i; - const defaultAngle = 360 / this.countVisibleElements(); - for (i = 0; i < start; ++i) { - angle += this._computeAngle(i, mode, defaultAngle); - } - for (i = start; i < start + count; i++) { - const arc = arcs[i]; - let startAngle = angle; - let endAngle = angle + this._computeAngle(i, mode, defaultAngle); - let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0; - angle = endAngle; - if (reset2) { - if (animationOpts.animateScale) { - outerRadius = 0; - } - if (animationOpts.animateRotate) { - startAngle = endAngle = datasetStartAngle; - } - } - const properties = { - x: centerX, - y: centerY, - innerRadius: 0, - outerRadius, - startAngle, - endAngle, - options: this.resolveDataElementOptions(i, arc.active ? "active" : mode) - }; - this.updateElement(arc, i, properties, mode); - } - } - countVisibleElements() { - const meta = this._cachedMeta; - let count = 0; - meta.data.forEach((element, index) => { - if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) { - count++; - } - }); - return count; - } - _computeAngle(index, mode, defaultAngle) { - return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0; - } -}; -PolarAreaController.id = "polarArea"; -PolarAreaController.defaults = { - dataElementType: "arc", - animation: { - animateRotate: true, - animateScale: true - }, - animations: { - numbers: { - type: "number", - properties: ["x", "y", "startAngle", "endAngle", "innerRadius", "outerRadius"] - } - }, - indexAxis: "r", - startAngle: 0 -}; -PolarAreaController.overrides = { - aspectRatio: 1, - plugins: { - legend: { - labels: { - generateLabels(chart) { - const data = chart.data; - if (data.labels.length && data.datasets.length) { - const { labels: { pointStyle } } = chart.legend.options; - return data.labels.map((label, i) => { - const meta = chart.getDatasetMeta(0); - const style = meta.controller.getStyle(i); - return { - text: label, - fillStyle: style.backgroundColor, - strokeStyle: style.borderColor, - lineWidth: style.borderWidth, - pointStyle, - hidden: !chart.getDataVisibility(i), - index: i - }; - }); - } - return []; - } - }, - onClick(e, legendItem, legend) { - legend.chart.toggleDataVisibility(legendItem.index); - legend.chart.update(); - } - }, - tooltip: { - callbacks: { - title() { - return ""; - }, - label(context) { - return context.chart.data.labels[context.dataIndex] + ": " + context.formattedValue; - } - } - } - }, - scales: { - r: { - type: "radialLinear", - angleLines: { - display: false - }, - beginAtZero: true, - grid: { - circular: true - }, - pointLabels: { - display: false - }, - startAngle: 0 - } - } -}; +}); var PieController = class extends DoughnutController { }; -PieController.id = "pie"; -PieController.defaults = { +__publicField(PieController, "id", "pie"); +__publicField(PieController, "defaults", { cutout: 0, rotation: 0, circumference: 360, radius: "100%" -}; -var RadarController = class extends DatasetController { - getLabelAndValue(index) { - const vScale = this._cachedMeta.vScale; - const parsed = this.getParsed(index); - return { - label: vScale.getLabels()[index], - value: "" + vScale.getLabelForValue(parsed[vScale.axis]) - }; - } - parseObjectData(meta, data, start, count) { - return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); - } - update(mode) { - const meta = this._cachedMeta; - const line = meta.dataset; - const points = meta.data || []; - const labels = meta.iScale.getLabels(); - line.points = points; - if (mode !== "resize") { - const options = this.resolveDatasetElementOptions(mode); - if (!this.options.showLine) { - options.borderWidth = 0; - } - const properties = { - _loop: true, - _fullLoop: labels.length === points.length, - options - }; - this.updateElement(line, void 0, properties, mode); - } - this.updateElements(points, 0, points.length, mode); - } - updateElements(points, start, count, mode) { - const scale = this._cachedMeta.rScale; - const reset2 = mode === "reset"; - for (let i = start; i < start + count; i++) { - const point = points[i]; - const options = this.resolveDataElementOptions(i, point.active ? "active" : mode); - const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r); - const x = reset2 ? scale.xCenter : pointPosition.x; - const y = reset2 ? scale.yCenter : pointPosition.y; - const properties = { - x, - y, - angle: pointPosition.angle, - skip: isNaN(x) || isNaN(y), - options - }; - this.updateElement(point, i, properties, mode); - } - } -}; -RadarController.id = "radar"; -RadarController.defaults = { - datasetElementType: "line", - dataElementType: "point", - indexAxis: "r", - showLine: true, - elements: { - line: { - fill: "start" - } - } -}; -RadarController.overrides = { - aspectRatio: 1, - scales: { - r: { - type: "radialLinear" - } - } -}; -var ScatterController = class extends LineController { -}; -ScatterController.id = "scatter"; -ScatterController.defaults = { - showLine: false, - fill: false -}; -ScatterController.overrides = { - interaction: { - mode: "point" - }, - plugins: { - tooltip: { - callbacks: { - title() { - return ""; - }, - label(item) { - return "(" + item.label + ", " + item.formattedValue + ")"; - } - } - } - }, - scales: { - x: { - type: "linear" - }, - y: { - type: "linear" - } - } -}; +}); function abstract() { throw new Error("This method is not implemented: Check that a complete date adapter is provided."); } -var DateAdapter = class { +var DateAdapterBase = class { + static override(members) { + Object.assign(DateAdapterBase.prototype, members); + } constructor(options) { this.options = options || {}; } + init() { + } formats() { return abstract(); } - parse(value, format) { + parse() { return abstract(); } - format(timestamp, format) { + format() { return abstract(); } - add(timestamp, amount, unit) { + add() { return abstract(); } - diff(a, b, unit) { + diff() { return abstract(); } - startOf(timestamp, unit, weekday) { + startOf() { return abstract(); } - endOf(timestamp, unit) { + endOf() { return abstract(); } }; -DateAdapter.override = function(members) { - Object.assign(DateAdapter.prototype, members); -}; var adapters = { - _date: DateAdapter + _date: DateAdapterBase }; function binarySearch(metaset, axis, value, intersect) { const { controller, data, _sorted } = metaset; @@ -7179,11 +7075,17 @@ function binarySearch(metaset, axis, value, intersect) { if (range) { const start = lookupMethod(data, axis, value - range); const end = lookupMethod(data, axis, value + range); - return { lo: start.lo, hi: end.hi }; + return { + lo: start.lo, + hi: end.hi + }; } } } - return { lo: 0, hi: data.length - 1 }; + return { + lo: 0, + hi: data.length - 1 + }; } function evaluateInteractionItems(chart, axis, position, handler, intersect) { const metasets = chart.getSortedVisibleDatasetMetas(); @@ -7218,7 +7120,11 @@ function getIntersectItems(chart, position, axis, useFinalPosition, includeInvis return; } if (element.inRange(position.x, position.y, useFinalPosition)) { - items.push({ element, datasetIndex, index }); + items.push({ + element, + datasetIndex, + index + }); } }; evaluateInteractionItems(chart, axis, position, evaluationFunc, true); @@ -7227,10 +7133,20 @@ function getIntersectItems(chart, position, axis, useFinalPosition, includeInvis function getNearestRadialItems(chart, position, axis, useFinalPosition) { let items = []; function evaluationFunc(element, datasetIndex, index) { - const { startAngle, endAngle } = element.getProps(["startAngle", "endAngle"], useFinalPosition); - const { angle } = getAngleFromPoint(element, { x: position.x, y: position.y }); + const { startAngle, endAngle } = element.getProps([ + "startAngle", + "endAngle" + ], useFinalPosition); + const { angle } = getAngleFromPoint(element, { + x: position.x, + y: position.y + }); if (_angleBetween(angle, startAngle, endAngle)) { - items.push({ element, datasetIndex, index }); + items.push({ + element, + datasetIndex, + index + }); } } evaluateInteractionItems(chart, axis, position, evaluationFunc); @@ -7252,10 +7168,20 @@ function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosi } const distance = distanceMetric(position, center); if (distance < minDistance) { - items = [{ element, datasetIndex, index }]; + items = [ + { + element, + datasetIndex, + index + } + ]; minDistance = distance; } else if (distance === minDistance) { - items.push({ element, datasetIndex, index }); + items.push({ + element, + datasetIndex, + index + }); } } evaluateInteractionItems(chart, axis, position, evaluationFunc); @@ -7273,7 +7199,11 @@ function getAxisItems(chart, position, axis, intersect, useFinalPosition) { let intersectsItem = false; evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => { if (element[rangeMethod](position[axis], useFinalPosition)) { - items.push({ element, datasetIndex, index }); + items.push({ + element, + datasetIndex, + index + }); intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition); } }); @@ -7298,7 +7228,11 @@ var Interaction = { const index = items[0].index; const element = meta.data[index]; if (element && !element.skip) { - elements.push({ element, datasetIndex: meta.index, index }); + elements.push({ + element, + datasetIndex: meta.index, + index + }); } }); return elements; @@ -7313,7 +7247,11 @@ var Interaction = { const data = chart.getDatasetMeta(datasetIndex).data; items = []; for (let i = 0; i < data.length; ++i) { - items.push({ element: data[i], datasetIndex, index: i }); + items.push({ + element: data[i], + datasetIndex, + index: i + }); } } return items; @@ -7340,7 +7278,12 @@ var Interaction = { } } }; -var STATIC_POSITIONS = ["left", "top", "right", "bottom"]; +var STATIC_POSITIONS = [ + "left", + "top", + "right", + "bottom" +]; function filterByPosition(array, position) { return array.filter((v) => v.pos === position); } @@ -7379,7 +7322,12 @@ function buildStacks(layouts2) { if (!stack || !STATIC_POSITIONS.includes(pos)) { continue; } - const _stack = stacks[stack] || (stacks[stack] = { count: 0, placed: 0, weight: 0, size: 0 }); + const _stack = stacks[stack] || (stacks[stack] = { + count: 0, + placed: 0, + weight: 0, + size: 0 + }); _stack.count++; _stack.weight += stackWeight; } @@ -7438,7 +7386,10 @@ function updateDims(chartArea, params, layout, stacks) { if (layout.size) { chartArea[pos] -= layout.size; } - const stack = stacks[layout.stack] || { size: 0, count: 1 }; + const stack = stacks[layout.stack] || { + size: 0, + count: 1 + }; stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width); layout.size = stack.size / stack.count; chartArea[pos] += layout.size; @@ -7452,7 +7403,13 @@ function updateDims(chartArea, params, layout, stacks) { const heightChanged = newHeight !== chartArea.h; chartArea.w = newWidth; chartArea.h = newHeight; - return layout.horizontal ? { same: widthChanged, other: heightChanged } : { same: heightChanged, other: widthChanged }; + return layout.horizontal ? { + same: widthChanged, + other: heightChanged + } : { + same: heightChanged, + other: widthChanged + }; } function handleMaxPadding(chartArea) { const maxPadding = chartArea.maxPadding; @@ -7469,13 +7426,24 @@ function handleMaxPadding(chartArea) { function getMargins(horizontal, chartArea) { const maxPadding = chartArea.maxPadding; function marginForPositions(positions2) { - const margin = { left: 0, top: 0, right: 0, bottom: 0 }; + const margin = { + left: 0, + top: 0, + right: 0, + bottom: 0 + }; positions2.forEach((pos) => { margin[pos] = Math.max(chartArea[pos], maxPadding[pos]); }); return margin; } - return horizontal ? marginForPositions(["left", "right"]) : marginForPositions(["top", "bottom"]); + return horizontal ? marginForPositions([ + "left", + "right" + ]) : marginForPositions([ + "top", + "bottom" + ]); } function fitBoxes(boxes, chartArea, params, stacks) { const refitBoxes = []; @@ -7506,7 +7474,11 @@ function placeBoxes(boxes, chartArea, params, stacks) { let { x, y } = chartArea; for (const layout of boxes) { const box = layout.box; - const stack = stacks[layout.stack] || { count: 1, placed: 0, weight: 1 }; + const stack = stacks[layout.stack] || { + count: 1, + placed: 0, + weight: 1 + }; const weight = layout.stackWeight / stack.weight || 1; if (layout.horizontal) { const width = chartArea.w * weight; @@ -7523,33 +7495,24 @@ function placeBoxes(boxes, chartArea, params, stacks) { stack.placed += width; y = box.bottom; } else { - const height = chartArea.h * weight; - const width = stack.size || box.width; + const height1 = chartArea.h * weight; + const width1 = stack.size || box.width; if (defined(stack.start)) { x = stack.start; } if (box.fullSize) { - setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top); + setBoxDims(box, x, userPadding.top, width1, params.outerHeight - userPadding.bottom - userPadding.top); } else { - setBoxDims(box, x, chartArea.top + stack.placed, width, height); + setBoxDims(box, x, chartArea.top + stack.placed, width1, height1); } stack.start = x; - stack.placed += height; + stack.placed += height1; x = box.right; } } chartArea.x = x; chartArea.y = y; } -defaults.set("layout", { - autoPadding: true, - padding: { - top: 0, - right: 0, - bottom: 0, - left: 0 - } -}); var layouts = { addBox(chart, item) { if (!chart.boxes) { @@ -7559,12 +7522,14 @@ var layouts = { item.position = item.position || "top"; item.weight = item.weight || 0; item._layers = item._layers || function() { - return [{ - z: 0, - draw(chartArea) { - item.draw(chartArea); + return [ + { + z: 0, + draw(chartArea) { + item.draw(chartArea); + } } - }]; + ]; }; chart.boxes.push(item); }, @@ -7635,7 +7600,12 @@ var layouts = { each(boxes.chartArea, (layout) => { const box = layout.box; Object.assign(box, chart.chartArea); - box.update(chartArea.w, chartArea.h, { left: 0, top: 0, right: 0, bottom: 0 }); + box.update(chartArea.w, chartArea.h, { + left: 0, + top: 0, + right: 0, + bottom: 0 + }); }); } }; @@ -7722,7 +7692,9 @@ function initCanvas(canvas, aspectRatio) { } return canvas; } -var eventListenerOptions = supportsEventListenerOptions ? { passive: true } : false; +var eventListenerOptions = supportsEventListenerOptions ? { + passive: true +} : false; function addListener(node, type, listener) { node.addEventListener(type, listener, eventListenerOptions); } @@ -7759,7 +7731,10 @@ function createAttachObserver(chart, type, listener) { listener(); } }); - observer.observe(document, { childList: true, subtree: true }); + observer.observe(document, { + childList: true, + subtree: true + }); return observer; } function createDetachObserver(chart, type, listener) { @@ -7774,10 +7749,13 @@ function createDetachObserver(chart, type, listener) { listener(); } }); - observer.observe(document, { childList: true, subtree: true }); + observer.observe(document, { + childList: true, + subtree: true + }); return observer; } -var drpListeningCharts = new Map(); +var drpListeningCharts = /* @__PURE__ */ new Map(); var oldDevicePixelRatio = 0; function onWindowResize() { const dpr = window.devicePixelRatio; @@ -7843,10 +7821,7 @@ function createProxyAndListen(chart, type, listener) { if (chart.ctx !== null) { listener(fromNativeEvent(event, chart)); } - }, chart, (args) => { - const event = args[0]; - return [event, event.offsetX, event.offsetY]; - }); + }, chart); addListener(canvas, type, proxy); return proxy; } @@ -7865,7 +7840,10 @@ var DomPlatform = class extends BasePlatform { return false; } const initial = canvas[EXPANDO_KEY].initial; - ["height", "width"].forEach((prop) => { + [ + "height", + "width" + ].forEach((prop) => { const value = initial[prop]; if (isNullOrUndef(value)) { canvas.removeAttribute(prop); @@ -7926,15 +7904,17 @@ function _detectPlatform(canvas) { } var Element = class { constructor() { - this.x = void 0; - this.y = void 0; - this.active = false; - this.options = void 0; - this.$animations = void 0; + __publicField(this, "active", false); } tooltipPosition(useFinalPosition) { - const { x, y } = this.getProps(["x", "y"], useFinalPosition); - return { x, y }; + const { x, y } = this.getProps([ + "x", + "y" + ], useFinalPosition); + return { + x, + y + }; } hasValue() { return isNumber(this.x) && isNumber(this.y); @@ -7951,120 +7931,12 @@ var Element = class { return ret; } }; -Element.defaults = {}; -Element.defaultRoutes = void 0; -var formatters = { - values(value) { - return isArray(value) ? value : "" + value; - }, - numeric(tickValue, index, ticks) { - if (tickValue === 0) { - return "0"; - } - const locale2 = this.chart.options.locale; - let notation; - let delta = tickValue; - if (ticks.length > 1) { - const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value)); - if (maxTick < 1e-4 || maxTick > 1e15) { - notation = "scientific"; - } - delta = calculateDelta(tickValue, ticks); - } - const logDelta = log10(Math.abs(delta)); - const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0); - const options = { notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal }; - Object.assign(options, this.options.ticks.format); - return formatNumber(tickValue, locale2, options); - }, - logarithmic(tickValue, index, ticks) { - if (tickValue === 0) { - return "0"; - } - const remain = tickValue / Math.pow(10, Math.floor(log10(tickValue))); - if (remain === 1 || remain === 2 || remain === 5) { - return formatters.numeric.call(this, tickValue, index, ticks); - } - return ""; - } -}; -function calculateDelta(tickValue, ticks) { - let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value; - if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) { - delta = tickValue - Math.floor(tickValue); - } - return delta; -} -var Ticks = { formatters }; -defaults.set("scale", { - display: true, - offset: false, - reverse: false, - beginAtZero: false, - bounds: "ticks", - grace: 0, - grid: { - display: true, - lineWidth: 1, - drawBorder: true, - drawOnChartArea: true, - drawTicks: true, - tickLength: 8, - tickWidth: (_ctx, options) => options.lineWidth, - tickColor: (_ctx, options) => options.color, - offset: false, - borderDash: [], - borderDashOffset: 0, - borderWidth: 1 - }, - title: { - display: false, - text: "", - padding: { - top: 4, - bottom: 4 - } - }, - ticks: { - minRotation: 0, - maxRotation: 50, - mirror: false, - textStrokeWidth: 0, - textStrokeColor: "", - padding: 3, - display: true, - autoSkip: true, - autoSkipPadding: 3, - labelOffset: 0, - callback: Ticks.formatters.values, - minor: {}, - major: {}, - align: "center", - crossAlign: "near", - showLabelBackdrop: false, - backdropColor: "rgba(255, 255, 255, 0.75)", - backdropPadding: 2 - } -}); -defaults.route("scale.ticks", "color", "", "color"); -defaults.route("scale.grid", "color", "", "borderColor"); -defaults.route("scale.grid", "borderColor", "", "borderColor"); -defaults.route("scale.title", "color", "", "color"); -defaults.describe("scale", { - _fallback: false, - _scriptable: (name) => !name.startsWith("before") && !name.startsWith("after") && name !== "callback" && name !== "parser", - _indexable: (name) => name !== "borderDash" && name !== "tickBorderDash" -}); -defaults.describe("scales", { - _fallback: "scale" -}); -defaults.describe("scale.ticks", { - _scriptable: (name) => name !== "backdropPadding" && name !== "callback", - _indexable: (name) => name !== "backdropPadding" -}); +__publicField(Element, "defaults", {}); +__publicField(Element, "defaultRoutes"); function autoSkip(scale, ticks) { const tickOpts = scale.options.ticks; - const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale); + const determinedMaxTicks = determineMaxTicks(scale); + const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks); const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : []; const numMajorIndices = majorIndices.length; const first = majorIndices[0]; @@ -8270,9 +8142,9 @@ function titleArgs(scale, offset, position, align) { maxWidth = right - left; } else { if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - titleX = scales[positionAxisID].getPixelForValue(value) - width + offset; + const positionAxisID1 = Object.keys(position)[0]; + const value1 = position[positionAxisID1]; + titleX = scales[positionAxisID1].getPixelForValue(value1) - width + offset; } else if (position === "center") { titleX = (chartArea.left + chartArea.right) / 2 - width + offset; } else { @@ -8281,7 +8153,12 @@ function titleArgs(scale, offset, position, align) { titleY = _alignStartEnd(align, bottom, top); rotation = position === "left" ? -HALF_PI : HALF_PI; } - return { titleX, titleY, maxWidth, rotation }; + return { + titleX, + titleY, + maxWidth, + rotation + }; } var Scale = class extends Element { constructor(cfg) { @@ -8362,7 +8239,10 @@ var Scale = class extends Element { let { min, max, minDefined, maxDefined } = this.getUserBounds(); let range; if (minDefined && maxDefined) { - return { min, max }; + return { + min, + max + }; } const metas = this.getMatchingVisibleMetas(); for (let i = 0, ilen = metas.length; i < ilen; ++i) { @@ -8401,7 +8281,9 @@ var Scale = class extends Element { this._dataLimitsCached = false; } beforeUpdate() { - callback(this.options.beforeUpdate, [this]); + callback(this.options.beforeUpdate, [ + this + ]); } update(maxWidth, maxHeight, margins) { const { beginAtZero, grace, ticks: tickOpts } = this.options; @@ -8470,10 +8352,14 @@ var Scale = class extends Element { this._alignToPixels = this.options.alignToPixels; } afterUpdate() { - callback(this.options.afterUpdate, [this]); + callback(this.options.afterUpdate, [ + this + ]); } beforeSetDimensions() { - callback(this.options.beforeSetDimensions, [this]); + callback(this.options.beforeSetDimensions, [ + this + ]); } setDimensions() { if (this.isHorizontal()) { @@ -8491,11 +8377,15 @@ var Scale = class extends Element { this.paddingBottom = 0; } afterSetDimensions() { - callback(this.options.afterSetDimensions, [this]); + callback(this.options.afterSetDimensions, [ + this + ]); } - _callHooks(name) { - this.chart.notifyPlugins(name, this.getContext()); - callback(this.options[name], [this]); + _callHooks(name2) { + this.chart.notifyPlugins(name2, this.getContext()); + callback(this.options[name2], [ + this + ]); } beforeDataLimits() { this._callHooks("beforeDataLimits"); @@ -8515,21 +8405,31 @@ var Scale = class extends Element { this._callHooks("afterBuildTicks"); } beforeTickToLabelConversion() { - callback(this.options.beforeTickToLabelConversion, [this]); + callback(this.options.beforeTickToLabelConversion, [ + this + ]); } generateTickLabels(ticks) { const tickOpts = this.options.ticks; let i, ilen, tick; for (i = 0, ilen = ticks.length; i < ilen; i++) { tick = ticks[i]; - tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this); + tick.label = callback(tickOpts.callback, [ + tick.value, + i, + ticks + ], this); } } afterTickToLabelConversion() { - callback(this.options.afterTickToLabelConversion, [this]); + callback(this.options.afterTickToLabelConversion, [ + this + ]); } beforeCalculateLabelRotation() { - callback(this.options.beforeCalculateLabelRotation, [this]); + callback(this.options.beforeCalculateLabelRotation, [ + this + ]); } calculateLabelRotation() { const options = this.options; @@ -8558,12 +8458,16 @@ var Scale = class extends Element { this.labelRotation = labelRotation; } afterCalculateLabelRotation() { - callback(this.options.afterCalculateLabelRotation, [this]); + callback(this.options.afterCalculateLabelRotation, [ + this + ]); } afterAutoSkip() { } beforeFit() { - callback(this.options.beforeFit, [this]); + callback(this.options.beforeFit, [ + this + ]); } fit() { const minSize = { @@ -8657,7 +8561,9 @@ var Scale = class extends Element { } } afterFit() { - callback(this.options.afterFit, [this]); + callback(this.options.afterFit, [ + this + ]); } isHorizontal() { const { axis, position } = this.options; @@ -8702,7 +8608,10 @@ var Scale = class extends Element { label = ticks[i].label; tickFont = this._resolveTickFontOptions(i); ctx.font = fontString = tickFont.string; - cache = caches[fontString] = caches[fontString] || { data: {}, gc: [] }; + cache = caches[fontString] = caches[fontString] || { + data: {}, + gc: [] + }; lineHeight = tickFont.lineHeight; width = height = 0; if (!isNullOrUndef(label) && !isArray(label)) { @@ -8725,7 +8634,10 @@ var Scale = class extends Element { garbageCollect(caches, length); const widest = widths.indexOf(widestLabelSize); const highest = heights.indexOf(highestLabelSize); - const valueAt = (idx) => ({ width: widths[idx] || 0, height: heights[idx] || 0 }); + const valueAt = (idx) => ({ + width: widths[idx] || 0, + height: heights[idx] || 0 + }); return { first: valueAt(0), last: valueAt(length - 1), @@ -8798,15 +8710,15 @@ var Scale = class extends Element { const axis = this.axis; const chart = this.chart; const options = this.options; - const { grid, position } = options; + const { grid, position, border } = options; const offset = grid.offset; const isHorizontal = this.isHorizontal(); const ticks = this.ticks; const ticksLength = ticks.length + (offset ? 1 : 0); const tl = getTickMarkLength(grid); const items = []; - const borderOpts = grid.setContext(this.getContext()); - const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0; + const borderOpts = border.setContext(this.getContext()); + const axisWidth = borderOpts.display ? borderOpts.width : 0; const axisHalfWidth = axisWidth / 2; const alignBorderValue = function(pixel) { return _alignPixel(chart, pixel, axisWidth); @@ -8853,9 +8765,9 @@ var Scale = class extends Element { if (position === "center") { borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2); } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); + const positionAxisID1 = Object.keys(position)[0]; + const value1 = position[positionAxisID1]; + borderValue = alignBorderValue(this.chart.scales[positionAxisID1].getPixelForValue(value1)); } tx1 = borderValue - axisHalfWidth; tx2 = tx1 - tl; @@ -8865,11 +8777,13 @@ var Scale = class extends Element { const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength); const step = Math.max(1, Math.ceil(ticksLength / limit)); for (i = 0; i < ticksLength; i += step) { - const optsAtIndex = grid.setContext(this.getContext(i)); + const context = this.getContext(i); + const optsAtIndex = grid.setContext(context); + const optsAtIndexBorder = border.setContext(context); const lineWidth = optsAtIndex.lineWidth; const lineColor = optsAtIndex.color; - const borderDash = grid.borderDash || []; - const borderDashOffset = optsAtIndex.borderDashOffset; + const borderDash = optsAtIndexBorder.dash || []; + const borderDashOffset = optsAtIndexBorder.dashOffset; const tickWidth = optsAtIndex.tickWidth; const tickColor = optsAtIndex.tickColor; const tickBorderDash = optsAtIndex.tickBorderDash || []; @@ -8932,9 +8846,9 @@ var Scale = class extends Element { textAlign = ret.textAlign; x = ret.x; } else if (position === "right") { - const ret = this._getYAxisLabelAlignment(tl); - textAlign = ret.textAlign; - x = ret.x; + const ret1 = this._getYAxisLabelAlignment(tl); + textAlign = ret1.textAlign; + x = ret1.x; } else if (axis === "x") { if (position === "center") { y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding; @@ -8948,9 +8862,9 @@ var Scale = class extends Element { if (position === "center") { x = (chartArea.left + chartArea.right) / 2 - tickAndPadding; } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - x = this.chart.scales[positionAxisID].getPixelForValue(value); + const positionAxisID1 = Object.keys(position)[0]; + const value1 = position[positionAxisID1]; + x = this.chart.scales[positionAxisID1].getPixelForValue(value1); } textAlign = this._getYAxisLabelAlignment(tl).textAlign; } @@ -9006,6 +8920,9 @@ var Scale = class extends Element { if (mirror) { textOffset *= -1; } + if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) { + x += lineHeight / 2 * Math.sin(rotation); + } } else { y = pixel; textOffset = (1 - lineCount) * lineHeight / 2; @@ -9015,8 +8932,8 @@ var Scale = class extends Element { const labelPadding = toPadding(optsAtIndex.backdropPadding); const height = labelSizes.heights[i]; const width = labelSizes.widths[i]; - let top = y + textOffset - labelPadding.top; - let left = x - labelPadding.left; + let top = textOffset - labelPadding.top; + let left = 0 - labelPadding.left; switch (textBaseline) { case "middle": top -= height / 2; @@ -9051,7 +8968,10 @@ var Scale = class extends Element { textOffset, textAlign: tickTextAlign, textBaseline, - translation: [x, y], + translation: [ + x, + y + ], backdrop }); } @@ -9131,7 +9051,10 @@ var Scale = class extends Element { } else { textAlign = "right"; } - return { textAlign, x }; + return { + textAlign, + x + }; } _computeLabelArea() { if (this.options.ticks.mirror) { @@ -9140,10 +9063,20 @@ var Scale = class extends Element { const chart = this.chart; const position = this.options.position; if (position === "left" || position === "right") { - return { top: 0, left: this.left, bottom: chart.height, right: this.right }; + return { + top: 0, + left: this.left, + bottom: chart.height, + right: this.right + }; } if (position === "top" || position === "bottom") { - return { top: this.top, left: 0, bottom: this.bottom, right: chart.width }; + return { + top: this.top, + left: 0, + bottom: this.bottom, + right: chart.width + }; } } drawBackground() { @@ -9192,10 +9125,22 @@ var Scale = class extends Element { for (i = 0, ilen = items.length; i < ilen; ++i) { const item = items[i]; if (grid.drawOnChartArea) { - drawLine({ x: item.x1, y: item.y1 }, { x: item.x2, y: item.y2 }, item); + drawLine({ + x: item.x1, + y: item.y1 + }, { + x: item.x2, + y: item.y2 + }, item); } if (grid.drawTicks) { - drawLine({ x: item.tx1, y: item.ty1 }, { x: item.tx2, y: item.ty2 }, { + drawLine({ + x: item.tx1, + y: item.ty1 + }, { + x: item.tx2, + y: item.ty2 + }, { color: item.tickColor, width: item.tickWidth, borderDash: item.tickBorderDash, @@ -9206,9 +9151,9 @@ var Scale = class extends Element { } } drawBorder() { - const { chart, ctx, options: { grid } } = this; - const borderOpts = grid.setContext(this.getContext()); - const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0; + const { chart, ctx, options: { border, grid } } = this; + const borderOpts = border.setContext(this.getContext()); + const axisWidth = border.display ? borderOpts.width : 0; if (!axisWidth) { return; } @@ -9225,8 +9170,8 @@ var Scale = class extends Element { x1 = x2 = borderValue; } ctx.save(); - ctx.lineWidth = borderOpts.borderWidth; - ctx.strokeStyle = borderOpts.borderColor; + ctx.lineWidth = borderOpts.width; + ctx.strokeStyle = borderOpts.color; ctx.beginPath(); ctx.moveTo(x1, y1); ctx.lineTo(x2, y2); @@ -9249,10 +9194,6 @@ var Scale = class extends Element { const item = items[i]; const tickFont = item.font; const label = item.label; - if (item.backdrop) { - ctx.fillStyle = item.backdrop.color; - ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height); - } let y = item.textOffset; renderText(ctx, label, 0, y, tickFont, item); } @@ -9284,7 +9225,10 @@ var Scale = class extends Element { rotation, textAlign: titleAlign(align, position, reverse), textBaseline: "middle", - translation: [titleX, titleY] + translation: [ + titleX, + titleY + ] }); } draw(chartArea) { @@ -9301,32 +9245,39 @@ var Scale = class extends Element { const opts = this.options; const tz = opts.ticks && opts.ticks.z || 0; const gz = valueOrDefault(opts.grid && opts.grid.z, -1); + const bz = valueOrDefault(opts.border && opts.border.z, 0); if (!this._isVisible() || this.draw !== Scale.prototype.draw) { - return [{ + return [ + { + z: tz, + draw: (chartArea) => { + this.draw(chartArea); + } + } + ]; + } + return [ + { + z: gz, + draw: (chartArea) => { + this.drawBackground(); + this.drawGrid(chartArea); + this.drawTitle(); + } + }, + { + z: bz, + draw: () => { + this.drawBorder(); + } + }, + { z: tz, draw: (chartArea) => { - this.draw(chartArea); + this.drawLabels(chartArea); } - }]; - } - return [{ - z: gz, - draw: (chartArea) => { - this.drawBackground(); - this.drawGrid(chartArea); - this.drawTitle(); } - }, { - z: gz + 1, - draw: () => { - this.drawBorder(); - } - }, { - z: tz, - draw: (chartArea) => { - this.drawLabels(chartArea); - } - }]; + ]; } getMatchingVisibleMetas(type) { const metas = this.chart.getSortedVisibleDatasetMetas(); @@ -9355,7 +9306,7 @@ var TypedRegistry = class { this.type = type; this.scope = scope; this.override = override; - this.items = Object.create(null); + this.items = /* @__PURE__ */ Object.create(null); } isForType(type) { return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype); @@ -9401,7 +9352,7 @@ var TypedRegistry = class { } }; function registerDefaults(item, scope, parentScope) { - const itemDefaults = merge(Object.create(null), [ + const itemDefaults = merge(/* @__PURE__ */ Object.create(null), [ parentScope ? defaults.get(parentScope) : {}, defaults.get(scope), item.defaults @@ -9418,7 +9369,9 @@ function routeDefaults(scope, routes) { Object.keys(routes).forEach((property) => { const propertyParts = property.split("."); const sourceName = propertyParts.pop(); - const sourceScope = [scope].concat(propertyParts).join("."); + const sourceScope = [ + scope + ].concat(propertyParts).join("."); const parts = routes[property].split("."); const targetName = parts.pop(); const targetScope = parts.join("."); @@ -9434,7 +9387,11 @@ var Registry = class { this.elements = new TypedRegistry(Element, "elements"); this.plugins = new TypedRegistry(Object, "plugins"); this.scales = new TypedRegistry(Scale, "scales"); - this._typedRegistries = [this.controllers, this.scales, this.elements]; + this._typedRegistries = [ + this.controllers, + this.scales, + this.elements + ]; } add(...args) { this._each("register", args); @@ -9479,7 +9436,9 @@ var Registry = class { this._each("unregister", args, this.scales); } _each(method, args, typedRegistry) { - [...args].forEach((arg) => { + [ + ...args + ].forEach((arg) => { const reg = typedRegistry || this._getRegistryForType(arg); if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) { this._exec(method, reg, arg); @@ -9514,7 +9473,7 @@ var Registry = class { return item; } }; -var registry = new Registry(); +var registry = /* @__PURE__ */ new Registry(); var PluginService = class { constructor() { this._init = []; @@ -9537,7 +9496,11 @@ var PluginService = class { for (const descriptor of descriptors2) { const plugin = descriptor.plugin; const method = plugin[hook]; - const params = [chart, args, descriptor.options]; + const params = [ + chart, + args, + descriptor.options + ]; if (callback(method, params, plugin) === false && args.cancelable) { return false; } @@ -9573,19 +9536,24 @@ var PluginService = class { } }; function allPlugins(config) { + const localIds = {}; const plugins = []; const keys = Object.keys(registry.plugins.items); for (let i = 0; i < keys.length; i++) { plugins.push(registry.getPlugin(keys[i])); } const local = config.plugins || []; - for (let i = 0; i < local.length; i++) { - const plugin = local[i]; + for (let i1 = 0; i1 < local.length; i1++) { + const plugin = local[i1]; if (plugins.indexOf(plugin) === -1) { plugins.push(plugin); + localIds[plugin.id] = true; } } - return plugins; + return { + plugins, + localIds + }; } function getOpts(options, all) { if (!all && options === false) { @@ -9596,11 +9564,10 @@ function getOpts(options, all) { } return options; } -function createDescriptors(chart, plugins, options, all) { +function createDescriptors(chart, { plugins, localIds }, options, all) { const result = []; const context = chart.getContext(); - for (let i = 0; i < plugins.length; i++) { - const plugin = plugins[i]; + for (const plugin of plugins) { const id = plugin.id; const opts = getOpts(options[id], all); if (opts === null) { @@ -9608,15 +9575,27 @@ function createDescriptors(chart, plugins, options, all) { } result.push({ plugin, - options: pluginOpts(chart.config, plugin, opts, context) + options: pluginOpts(chart.config, { + plugin, + local: localIds[id] + }, opts, context) }); } return result; } -function pluginOpts(config, plugin, opts, context) { +function pluginOpts(config, { plugin, local }, opts, context) { const keys = config.pluginScopeKeys(plugin); const scopes = config.getOptionScopes(opts, keys); - return config.createResolver(scopes, context, [""], { scriptable: false, indexable: false, allKeys: true }); + if (local && plugin.defaults) { + scopes.push(plugin.defaults); + } + return config.createResolver(scopes, context, [ + "" + ], { + scriptable: false, + indexable: false, + allKeys: true + }); } function getIndexAxis(type, options) { const datasetDefaults = defaults.datasets[type] || {}; @@ -9644,17 +9623,22 @@ function axisFromPosition(position) { } } function determineAxis(id, scaleOptions) { - if (id === "x" || id === "y") { + if (id === "x" || id === "y" || id === "r") { return id; } - return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase(); + id = scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.length > 1 && determineAxis(id[0].toLowerCase(), scaleOptions); + if (id) { + return id; + } + throw new Error(`Cannot determine type of '${name}' axis. Please provide 'axis' or 'position' option.`); } function mergeScaleConfig(config, options) { - const chartDefaults = overrides[config.type] || { scales: {} }; + const chartDefaults = overrides[config.type] || { + scales: {} + }; const configScales = options.scales || {}; const chartIndexAxis = getIndexAxis(config.type, options); - const firstIDs = Object.create(null); - const scales = Object.create(null); + const scales = /* @__PURE__ */ Object.create(null); Object.keys(configScales).forEach((id) => { const scaleConf = configScales[id]; if (!isObject(scaleConf)) { @@ -9666,8 +9650,14 @@ function mergeScaleConfig(config, options) { const axis = determineAxis(id, scaleConf); const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis); const defaultScaleOptions = chartDefaults.scales || {}; - firstIDs[axis] = firstIDs[axis] || id; - scales[id] = mergeIf(Object.create(null), [{ axis }, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]); + scales[id] = mergeIf(/* @__PURE__ */ Object.create(null), [ + { + axis + }, + scaleConf, + defaultScaleOptions[axis], + defaultScaleOptions[defaultId] + ]); }); config.data.datasets.forEach((dataset) => { const type = dataset.type || config.type; @@ -9676,14 +9666,23 @@ function mergeScaleConfig(config, options) { const defaultScaleOptions = datasetDefaults.scales || {}; Object.keys(defaultScaleOptions).forEach((defaultID) => { const axis = getAxisFromDefaultScaleID(defaultID, indexAxis); - const id = dataset[axis + "AxisID"] || firstIDs[axis] || axis; - scales[id] = scales[id] || Object.create(null); - mergeIf(scales[id], [{ axis }, configScales[id], defaultScaleOptions[defaultID]]); + const id = dataset[axis + "AxisID"] || axis; + scales[id] = scales[id] || /* @__PURE__ */ Object.create(null); + mergeIf(scales[id], [ + { + axis + }, + configScales[id], + defaultScaleOptions[defaultID] + ]); }); }); Object.keys(scales).forEach((key) => { const scale = scales[key]; - mergeIf(scale, [defaults.scales[scale.type], defaults.scale]); + mergeIf(scale, [ + defaults.scales[scale.type], + defaults.scale + ]); }); return scales; } @@ -9704,8 +9703,8 @@ function initConfig(config) { initOptions(config); return config; } -var keyCache = new Map(); -var keysCached = new Set(); +var keyCache = /* @__PURE__ */ new Map(); +var keysCached = /* @__PURE__ */ new Set(); function cachedKeys(cacheKey, generate) { let keys = keyCache.get(cacheKey); if (!keys) { @@ -9724,8 +9723,8 @@ var addIfFound = (set2, obj, key) => { var Config = class { constructor(config) { this._config = initConfig(config); - this._scopeCache = new Map(); - this._resolverCache = new Map(); + this._scopeCache = /* @__PURE__ */ new Map(); + this._resolverCache = /* @__PURE__ */ new Map(); } get platform() { return this._config.platform; @@ -9761,10 +9760,12 @@ var Config = class { this._resolverCache.clear(); } datasetScopeKeys(datasetType) { - return cachedKeys(datasetType, () => [[ - `datasets.${datasetType}`, - "" - ]]); + return cachedKeys(datasetType, () => [ + [ + `datasets.${datasetType}`, + "" + ] + ]); } datasetAnimationScopeKeys(datasetType, transition) { return cachedKeys(`${datasetType}.transition.${transition}`, () => [ @@ -9779,26 +9780,30 @@ var Config = class { ]); } datasetElementScopeKeys(datasetType, elementType) { - return cachedKeys(`${datasetType}-${elementType}`, () => [[ - `datasets.${datasetType}.elements.${elementType}`, - `datasets.${datasetType}`, - `elements.${elementType}`, - "" - ]]); + return cachedKeys(`${datasetType}-${elementType}`, () => [ + [ + `datasets.${datasetType}.elements.${elementType}`, + `datasets.${datasetType}`, + `elements.${elementType}`, + "" + ] + ]); } pluginScopeKeys(plugin) { const id = plugin.id; const type = this.type; - return cachedKeys(`${type}-plugin-${id}`, () => [[ - `plugins.${id}`, - ...plugin.additionalOptionScopes || [] - ]]); + return cachedKeys(`${type}-plugin-${id}`, () => [ + [ + `plugins.${id}`, + ...plugin.additionalOptionScopes || [] + ] + ]); } _cachedScopes(mainScope, resetCache) { const _scopeCache = this._scopeCache; let cache = _scopeCache.get(mainScope); if (!cache || resetCache) { - cache = new Map(); + cache = /* @__PURE__ */ new Map(); _scopeCache.set(mainScope, cache); } return cache; @@ -9810,7 +9815,7 @@ var Config = class { if (cached) { return cached; } - const scopes = new Set(); + const scopes = /* @__PURE__ */ new Set(); keyLists.forEach((keys) => { if (mainScope) { scopes.add(mainScope); @@ -9823,7 +9828,7 @@ var Config = class { }); const array = Array.from(scopes); if (array.length === 0) { - array.push(Object.create(null)); + array.push(/* @__PURE__ */ Object.create(null)); } if (keysCached.has(keyLists)) { cache.set(keyLists, array); @@ -9836,13 +9841,19 @@ var Config = class { options, overrides[type] || {}, defaults.datasets[type] || {}, - { type }, + { + type + }, defaults, descriptors ]; } - resolveNamedOptions(scopes, names2, context, prefixes = [""]) { - const result = { $shared: true }; + resolveNamedOptions(scopes, names2, context, prefixes = [ + "" + ]) { + const result = { + $shared: true + }; const { resolver, subPrefixes } = getResolver(this._resolverCache, scopes, prefixes); let options = resolver; if (needContext(resolver, names2)) { @@ -9856,7 +9867,9 @@ var Config = class { } return result; } - createResolver(scopes, context, prefixes = [""], descriptorDefaults) { + createResolver(scopes, context, prefixes = [ + "" + ], descriptorDefaults) { const { resolver } = getResolver(this._resolverCache, scopes, prefixes); return isObject(context) ? _attachContext(resolver, context, void 0, descriptorDefaults) : resolver; } @@ -9864,7 +9877,7 @@ var Config = class { function getResolver(resolverCache, scopes, prefixes) { let cache = resolverCache.get(scopes); if (!cache) { - cache = new Map(); + cache = /* @__PURE__ */ new Map(); resolverCache.set(scopes, cache); } const cacheKey = prefixes.join(); @@ -9892,8 +9905,14 @@ function needContext(proxy, names2) { } return false; } -var version = "3.8.0"; -var KNOWN_POSITIONS = ["top", "bottom", "left", "right", "chartArea"]; +var version = "4.0.1"; +var KNOWN_POSITIONS = [ + "top", + "bottom", + "left", + "right", + "chartArea" +]; function positionIsHorizontal(position, axis) { return position === "top" || position === "bottom" || KNOWN_POSITIONS.indexOf(position) === -1 && axis === "x"; } @@ -9904,14 +9923,18 @@ function compare2Level(l1, l2) { } function onAnimationsComplete(context) { const chart = context.chart; - const animationOptions2 = chart.options.animation; + const animationOptions = chart.options.animation; chart.notifyPlugins("afterRender"); - callback(animationOptions2 && animationOptions2.onComplete, [context], chart); + callback(animationOptions && animationOptions.onComplete, [ + context + ], chart); } function onAnimationProgress(context) { const chart = context.chart; - const animationOptions2 = chart.options.animation; - callback(animationOptions2 && animationOptions2.onProgress, [context], chart); + const animationOptions = chart.options.animation; + callback(animationOptions && animationOptions.onProgress, [ + context + ], chart); } function getCanvas(item) { if (_isDomSupported() && typeof item === "string") { @@ -9951,13 +9974,32 @@ function determineLastEvent(e, lastEvent, inChartArea, isClick) { } return e; } +function getDatasetArea(meta) { + const { xScale, yScale } = meta; + if (xScale && yScale) { + return { + left: xScale.left, + right: xScale.right, + top: yScale.top, + bottom: yScale.bottom + }; + } +} var Chart = class { + static register(...items) { + registry.add(...items); + invalidatePlugins(); + } + static unregister(...items) { + registry.remove(...items); + invalidatePlugins(); + } constructor(item, userConfig) { const config = this.config = new Config(userConfig); const initialCanvas = getCanvas(item); const existingChart = getChart(initialCanvas); if (existingChart) { - throw new Error("Canvas is already in use. Chart with ID '" + existingChart.id + "' must be destroyed before the canvas can be reused."); + throw new Error("Canvas is already in use. Chart with ID '" + existingChart.id + "' must be destroyed before the canvas with ID '" + existingChart.canvas.id + "' can be reused."); } const options = config.createResolver(config.chartOptionScopes(), this.getContext()); this.platform = new (config.platform || _detectPlatform(initialCanvas))(); @@ -10027,6 +10069,9 @@ var Chart = class { set options(options) { this.config.options = options; } + get registry() { + return registry; + } _initialize() { this.notifyPlugins("beforeInit"); if (this.options.responsive) { @@ -10050,7 +10095,10 @@ var Chart = class { if (!animator.running(this)) { this._resize(width, height); } else { - this._resizeBeforeDraw = { width, height }; + this._resizeBeforeDraw = { + width, + height + }; } } _resize(width, height) { @@ -10066,8 +10114,13 @@ var Chart = class { if (!retinaScale(this, newRatio, true)) { return; } - this.notifyPlugins("resize", { size: newSize }); - callback(options.onResize, [this, newSize], this); + this.notifyPlugins("resize", { + size: newSize + }); + callback(options.onResize, [ + this, + newSize + ], this); if (this.attached) { if (this._doResize(mode)) { this.render(); @@ -10186,7 +10239,7 @@ var Chart = class { } else { const ControllerClass = registry.getController(type); const { datasetElementType, dataElementType } = defaults.datasets[type]; - Object.assign(ControllerClass.prototype, { + Object.assign(ControllerClass, { dataElementType: registry.getElement(dataElementType), datasetElementType: datasetElementType && registry.getElement(datasetElementType) }); @@ -10215,7 +10268,10 @@ var Chart = class { this._checkEventBindings(); this._updateHiddenIndices(); this._plugins.invalidate(); - if (this.notifyPlugins("beforeUpdate", { mode, cancelable: true }) === false) { + if (this.notifyPlugins("beforeUpdate", { + mode, + cancelable: true + }) === false) { return; } const newControllers = this.buildOrUpdateControllers(); @@ -10235,7 +10291,9 @@ var Chart = class { }); } this._updateDatasets(mode); - this.notifyPlugins("afterUpdate", { mode }); + this.notifyPlugins("afterUpdate", { + mode + }); this._layers.sort(compare2Level("z", "_idx")); const { _active, _lastEvent } = this; if (_lastEvent) { @@ -10283,10 +10341,16 @@ var Chart = class { return; } } - return Array.from(changeSet).map((c) => c.split(",")).map((a) => ({ method: a[1], start: +a[2], count: +a[3] })); + return Array.from(changeSet).map((c) => c.split(",")).map((a) => ({ + method: a[1], + start: +a[2], + count: +a[3] + })); } _updateLayout(minPadding) { - if (this.notifyPlugins("beforeLayout", { cancelable: true }) === false) { + if (this.notifyPlugins("beforeLayout", { + cancelable: true + }) === false) { return; } layouts.update(this, this.width, this.height, minPadding); @@ -10308,20 +10372,32 @@ var Chart = class { this.notifyPlugins("afterLayout"); } _updateDatasets(mode) { - if (this.notifyPlugins("beforeDatasetsUpdate", { mode, cancelable: true }) === false) { + if (this.notifyPlugins("beforeDatasetsUpdate", { + mode, + cancelable: true + }) === false) { return; } for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { this.getDatasetMeta(i).controller.configure(); } - for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { - this._updateDataset(i, isFunction(mode) ? mode({ datasetIndex: i }) : mode); + for (let i1 = 0, ilen1 = this.data.datasets.length; i1 < ilen1; ++i1) { + this._updateDataset(i1, isFunction(mode) ? mode({ + datasetIndex: i1 + }) : mode); } - this.notifyPlugins("afterDatasetsUpdate", { mode }); + this.notifyPlugins("afterDatasetsUpdate", { + mode + }); } _updateDataset(index, mode) { const meta = this.getDatasetMeta(index); - const args = { meta, index, mode, cancelable: true }; + const args = { + meta, + index, + mode, + cancelable: true + }; if (this.notifyPlugins("beforeDatasetUpdate", args) === false) { return; } @@ -10330,7 +10406,9 @@ var Chart = class { this.notifyPlugins("afterDatasetUpdate", args); } render() { - if (this.notifyPlugins("beforeRender", { cancelable: true }) === false) { + if (this.notifyPlugins("beforeRender", { + cancelable: true + }) === false) { return; } if (animator.has(this)) { @@ -10339,7 +10417,9 @@ var Chart = class { } } else { this.draw(); - onAnimationsComplete({ chart: this }); + onAnimationsComplete({ + chart: this + }); } } draw() { @@ -10353,7 +10433,9 @@ var Chart = class { if (this.width <= 0 || this.height <= 0) { return; } - if (this.notifyPlugins("beforeDraw", { cancelable: true }) === false) { + if (this.notifyPlugins("beforeDraw", { + cancelable: true + }) === false) { return; } const layers = this._layers; @@ -10382,7 +10464,9 @@ var Chart = class { return this._getSortedDatasetMetas(true); } _drawDatasets() { - if (this.notifyPlugins("beforeDatasetsDraw", { cancelable: true }) === false) { + if (this.notifyPlugins("beforeDatasetsDraw", { + cancelable: true + }) === false) { return; } const metasets = this.getSortedVisibleDatasetMetas(); @@ -10395,7 +10479,7 @@ var Chart = class { const ctx = this.ctx; const clip = meta._clip; const useClip = !clip.disabled; - const area = this.chartArea; + const area = getDatasetArea(meta) || this.chartArea; const args = { meta, index: meta.index, @@ -10453,7 +10537,10 @@ var Chart = class { return meta; } getContext() { - return this.$context || (this.$context = createContext(null, { chart: this, type: "chart" })); + return this.$context || (this.$context = createContext(null, { + chart: this, + type: "chart" + })); } getVisibleDatasetCount() { return this.getSortedVisibleDatasetMetas().length; @@ -10485,7 +10572,9 @@ var Chart = class { this.update(); } else { this.setDatasetVisibility(datasetIndex, visible); - anims.update(meta, { visible }); + anims.update(meta, { + visible + }); this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : void 0); } } @@ -10522,7 +10611,6 @@ var Chart = class { this.canvas = null; this.ctx = null; } - this.notifyPlugins("destroy"); delete instances[this.id]; this.notifyPlugins("afterDestroy"); } @@ -10644,6 +10732,9 @@ var Chart = class { notifyPlugins(hook, args, filter) { return this._plugins.notify(this, hook, args, filter); } + isPluginEnabled(pluginId) { + return this._plugins._cache.filter((p) => p.plugin.id === pluginId).length === 1; + } _updateHoverStyles(active, lastActive, replay) { const hoverOptions = this.options.hover; const diff = (a, b) => a.filter((x) => !b.some((y) => x.datasetIndex === y.datasetIndex && x.index === y.index)); @@ -10683,9 +10774,17 @@ var Chart = class { const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick); if (inChartArea) { this._lastEvent = null; - callback(options.onHover, [e, active, this], this); + callback(options.onHover, [ + e, + active, + this + ], this); if (isClick) { - callback(options.onClick, [e, active, this], this); + callback(options.onClick, [ + e, + active, + this + ], this); } } const changed = !_elementsEqual(active, lastActive); @@ -10707,48 +10806,16 @@ var Chart = class { return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition); } }; -var invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate()); -var enumerable = true; -Object.defineProperties(Chart, { - defaults: { - enumerable, - value: defaults - }, - instances: { - enumerable, - value: instances - }, - overrides: { - enumerable, - value: overrides - }, - registry: { - enumerable, - value: registry - }, - version: { - enumerable, - value: version - }, - getChart: { - enumerable, - value: getChart - }, - register: { - enumerable, - value: (...items) => { - registry.add(...items); - invalidatePlugins(); - } - }, - unregister: { - enumerable, - value: (...items) => { - registry.remove(...items); - invalidatePlugins(); - } - } -}); +__publicField(Chart, "defaults", defaults); +__publicField(Chart, "instances", instances); +__publicField(Chart, "overrides", overrides); +__publicField(Chart, "registry", registry); +__publicField(Chart, "version", version); +__publicField(Chart, "getChart", getChart); +function invalidatePlugins() { + return each(Chart.instances, (chart) => chart._plugins.invalidate()); +} +var Chart$1 = Chart; function clipArc(ctx, element, endAngle) { const { startAngle, pixelMargin, x, y, outerRadius, innerRadius } = element; let angleMargin = pixelMargin / outerRadius; @@ -10764,7 +10831,12 @@ function clipArc(ctx, element, endAngle) { ctx.clip(); } function toRadiusCorners(value) { - return _readValueToProps(value, ["outerStart", "outerEnd", "innerStart", "innerEnd"]); + return _readValueToProps(value, [ + "outerStart", + "outerEnd", + "innerStart", + "innerEnd" + ]); } function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) { const o = toRadiusCorners(arc.options.borderRadius); @@ -10787,7 +10859,7 @@ function rThetaToXY(r, theta, x, y) { y: y + r * Math.sin(theta) }; } -function pathArc(ctx, element, offset, spacing, end) { +function pathArc(ctx, element, offset, spacing, end, circular) { const { x, y, startAngle: start, pixelMargin, innerRadius: innerR } = element; const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0); const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0; @@ -10814,70 +10886,62 @@ function pathArc(ctx, element, offset, spacing, end) { const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius; const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius; ctx.beginPath(); - ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle); - if (outerEnd > 0) { - const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI); - } - const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y); - ctx.lineTo(p4.x, p4.y); - if (innerEnd > 0) { - const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI); - } - ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, startAngle + innerStart / innerRadius, true); - if (innerStart > 0) { - const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI); - } - const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y); - ctx.lineTo(p8.x, p8.y); - if (outerStart > 0) { - const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle); + if (circular) { + const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2; + ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle); + ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle); + if (outerEnd > 0) { + const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI); + } + const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y); + ctx.lineTo(p4.x, p4.y); + if (innerEnd > 0) { + const pCenter1 = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y); + ctx.arc(pCenter1.x, pCenter1.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI); + } + const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2; + ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true); + ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true); + if (innerStart > 0) { + const pCenter2 = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y); + ctx.arc(pCenter2.x, pCenter2.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI); + } + const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y); + ctx.lineTo(p8.x, p8.y); + if (outerStart > 0) { + const pCenter3 = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y); + ctx.arc(pCenter3.x, pCenter3.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle); + } + } else { + ctx.moveTo(x, y); + const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x; + const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y; + ctx.lineTo(outerStartX, outerStartY); + const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x; + const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y; + ctx.lineTo(outerEndX, outerEndY); } ctx.closePath(); } -function drawArc(ctx, element, offset, spacing) { +function drawArc(ctx, element, offset, spacing, circular) { const { fullCircles, startAngle, circumference } = element; let endAngle = element.endAngle; if (fullCircles) { - pathArc(ctx, element, offset, spacing, startAngle + TAU); + pathArc(ctx, element, offset, spacing, endAngle, circular); for (let i = 0; i < fullCircles; ++i) { ctx.fill(); } if (!isNaN(circumference)) { - endAngle = startAngle + circumference % TAU; - if (circumference % TAU === 0) { - endAngle += TAU; - } + endAngle = startAngle + (circumference % TAU || TAU); } } - pathArc(ctx, element, offset, spacing, endAngle); + pathArc(ctx, element, offset, spacing, endAngle, circular); ctx.fill(); return endAngle; } -function drawFullCircleBorders(ctx, element, inner) { - const { x, y, startAngle, pixelMargin, fullCircles } = element; - const outerRadius = Math.max(element.outerRadius - pixelMargin, 0); - const innerRadius = element.innerRadius + pixelMargin; - let i; - if (inner) { - clipArc(ctx, element, startAngle + TAU); - } - ctx.beginPath(); - ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true); - for (i = 0; i < fullCircles; ++i) { - ctx.stroke(); - } - ctx.beginPath(); - ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU); - for (i = 0; i < fullCircles; ++i) { - ctx.stroke(); - } -} -function drawBorder(ctx, element, offset, spacing, endAngle) { - const { options } = element; +function drawBorder(ctx, element, offset, spacing, circular) { + const { fullCircles, startAngle, circumference, options } = element; const { borderWidth, borderJoinStyle } = options; const inner = options.borderAlign === "inner"; if (!borderWidth) { @@ -10890,14 +10954,23 @@ function drawBorder(ctx, element, offset, spacing, endAngle) { ctx.lineWidth = borderWidth; ctx.lineJoin = borderJoinStyle || "bevel"; } - if (element.fullCircles) { - drawFullCircleBorders(ctx, element, inner); + let endAngle = element.endAngle; + if (fullCircles) { + pathArc(ctx, element, offset, spacing, endAngle, circular); + for (let i = 0; i < fullCircles; ++i) { + ctx.stroke(); + } + if (!isNaN(circumference)) { + endAngle = startAngle + (circumference % TAU || TAU); + } } if (inner) { clipArc(ctx, element, endAngle); } - pathArc(ctx, element, offset, spacing, endAngle); - ctx.stroke(); + if (!fullCircles) { + pathArc(ctx, element, offset, spacing, endAngle, circular); + ctx.stroke(); + } } var ArcElement = class extends Element { constructor(cfg) { @@ -10915,8 +10988,14 @@ var ArcElement = class extends Element { } } inRange(chartX, chartY, useFinalPosition) { - const point = this.getProps(["x", "y"], useFinalPosition); - const { angle, distance } = getAngleFromPoint(point, { x: chartX, y: chartY }); + const point = this.getProps([ + "x", + "y" + ], useFinalPosition); + const { angle, distance } = getAngleFromPoint(point, { + x: chartX, + y: chartY + }); const { startAngle, endAngle, innerRadius, outerRadius, circumference } = this.getProps([ "startAngle", "endAngle", @@ -10953,32 +11032,28 @@ var ArcElement = class extends Element { } draw(ctx) { const { options, circumference } = this; - const offset = (options.offset || 0) / 2; + const offset = (options.offset || 0) / 4; const spacing = (options.spacing || 0) / 2; + const circular = options.circular; this.pixelMargin = options.borderAlign === "inner" ? 0.33 : 0; this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0; if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) { return; } ctx.save(); - let radiusOffset = 0; - if (offset) { - radiusOffset = offset / 2; - const halfAngle = (this.startAngle + this.endAngle) / 2; - ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset); - if (this.circumference >= PI) { - radiusOffset = offset; - } - } + const halfAngle = (this.startAngle + this.endAngle) / 2; + ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset); + const fix = 1 - Math.sin(Math.min(PI, circumference || 0)); + const radiusOffset = offset * fix; ctx.fillStyle = options.backgroundColor; ctx.strokeStyle = options.borderColor; - const endAngle = drawArc(ctx, this, radiusOffset, spacing); - drawBorder(ctx, this, radiusOffset, spacing, endAngle); + drawArc(ctx, this, radiusOffset, spacing, circular); + drawBorder(ctx, this, radiusOffset, spacing, circular); ctx.restore(); } }; -ArcElement.id = "arc"; -ArcElement.defaults = { +__publicField(ArcElement, "id", "arc"); +__publicField(ArcElement, "defaults", { borderAlign: "center", borderColor: "#fff", borderJoinStyle: void 0, @@ -10986,355 +11061,20 @@ ArcElement.defaults = { borderWidth: 2, offset: 0, spacing: 0, - angle: void 0 -}; -ArcElement.defaultRoutes = { + angle: void 0, + circular: true +}); +__publicField(ArcElement, "defaultRoutes", { backgroundColor: "backgroundColor" -}; -function setStyle(ctx, options, style = options) { - ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle); - ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash)); - ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset); - ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle); - ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth); - ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor); -} -function lineTo(ctx, previous, target) { - ctx.lineTo(target.x, target.y); -} -function getLineMethod(options) { - if (options.stepped) { - return _steppedLineTo; - } - if (options.tension || options.cubicInterpolationMode === "monotone") { - return _bezierCurveTo; - } - return lineTo; -} -function pathVars(points, segment, params = {}) { - const count = points.length; - const { start: paramsStart = 0, end: paramsEnd = count - 1 } = params; - const { start: segmentStart, end: segmentEnd } = segment; - const start = Math.max(paramsStart, segmentStart); - const end = Math.min(paramsEnd, segmentEnd); - const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd; - return { - count, - start, - loop: segment.loop, - ilen: end < start && !outside ? count + end - start : end - start - }; -} -function pathSegment(ctx, line, segment, params) { - const { points, options } = line; - const { count, start, loop, ilen } = pathVars(points, segment, params); - const lineMethod = getLineMethod(options); - let { move = true, reverse } = params || {}; - let i, point, prev; - for (i = 0; i <= ilen; ++i) { - point = points[(start + (reverse ? ilen - i : i)) % count]; - if (point.skip) { - continue; - } else if (move) { - ctx.moveTo(point.x, point.y); - move = false; - } else { - lineMethod(ctx, prev, point, reverse, options.stepped); - } - prev = point; - } - if (loop) { - point = points[(start + (reverse ? ilen : 0)) % count]; - lineMethod(ctx, prev, point, reverse, options.stepped); - } - return !!loop; -} -function fastPathSegment(ctx, line, segment, params) { - const points = line.points; - const { count, start, ilen } = pathVars(points, segment, params); - const { move = true, reverse } = params || {}; - let avgX = 0; - let countX = 0; - let i, point, prevX, minY, maxY, lastY; - const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count; - const drawX = () => { - if (minY !== maxY) { - ctx.lineTo(avgX, maxY); - ctx.lineTo(avgX, minY); - ctx.lineTo(avgX, lastY); - } - }; - if (move) { - point = points[pointIndex(0)]; - ctx.moveTo(point.x, point.y); - } - for (i = 0; i <= ilen; ++i) { - point = points[pointIndex(i)]; - if (point.skip) { - continue; - } - const x = point.x; - const y = point.y; - const truncX = x | 0; - if (truncX === prevX) { - if (y < minY) { - minY = y; - } else if (y > maxY) { - maxY = y; - } - avgX = (countX * avgX + x) / ++countX; - } else { - drawX(); - ctx.lineTo(x, y); - prevX = truncX; - countX = 0; - minY = maxY = y; - } - lastY = y; - } - drawX(); -} -function _getSegmentMethod(line) { - const opts = line.options; - const borderDash = opts.borderDash && opts.borderDash.length; - const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== "monotone" && !opts.stepped && !borderDash; - return useFastPath ? fastPathSegment : pathSegment; -} -function _getInterpolationMethod(options) { - if (options.stepped) { - return _steppedInterpolation; - } - if (options.tension || options.cubicInterpolationMode === "monotone") { - return _bezierInterpolation; - } - return _pointInLine; -} -function strokePathWithCache(ctx, line, start, count) { - let path = line._path; - if (!path) { - path = line._path = new Path2D(); - if (line.path(path, start, count)) { - path.closePath(); - } - } - setStyle(ctx, line.options); - ctx.stroke(path); -} -function strokePathDirect(ctx, line, start, count) { - const { segments, options } = line; - const segmentMethod = _getSegmentMethod(line); - for (const segment of segments) { - setStyle(ctx, options, segment.style); - ctx.beginPath(); - if (segmentMethod(ctx, line, segment, { start, end: start + count - 1 })) { - ctx.closePath(); - } - ctx.stroke(); - } -} -var usePath2D = typeof Path2D === "function"; -function draw(ctx, line, start, count) { - if (usePath2D && !line.options.segment) { - strokePathWithCache(ctx, line, start, count); - } else { - strokePathDirect(ctx, line, start, count); - } -} -var LineElement = class extends Element { - constructor(cfg) { - super(); - this.animated = true; - this.options = void 0; - this._chart = void 0; - this._loop = void 0; - this._fullLoop = void 0; - this._path = void 0; - this._points = void 0; - this._segments = void 0; - this._decimated = false; - this._pointsUpdated = false; - this._datasetIndex = void 0; - if (cfg) { - Object.assign(this, cfg); - } - } - updateControlPoints(chartArea, indexAxis) { - const options = this.options; - if ((options.tension || options.cubicInterpolationMode === "monotone") && !options.stepped && !this._pointsUpdated) { - const loop = options.spanGaps ? this._loop : this._fullLoop; - _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis); - this._pointsUpdated = true; - } - } - set points(points) { - this._points = points; - delete this._segments; - delete this._path; - this._pointsUpdated = false; - } - get points() { - return this._points; - } - get segments() { - return this._segments || (this._segments = _computeSegments(this, this.options.segment)); - } - first() { - const segments = this.segments; - const points = this.points; - return segments.length && points[segments[0].start]; - } - last() { - const segments = this.segments; - const points = this.points; - const count = segments.length; - return count && points[segments[count - 1].end]; - } - interpolate(point, property) { - const options = this.options; - const value = point[property]; - const points = this.points; - const segments = _boundSegments(this, { property, start: value, end: value }); - if (!segments.length) { - return; - } - const result = []; - const _interpolate = _getInterpolationMethod(options); - let i, ilen; - for (i = 0, ilen = segments.length; i < ilen; ++i) { - const { start, end } = segments[i]; - const p1 = points[start]; - const p2 = points[end]; - if (p1 === p2) { - result.push(p1); - continue; - } - const t2 = Math.abs((value - p1[property]) / (p2[property] - p1[property])); - const interpolated = _interpolate(p1, p2, t2, options.stepped); - interpolated[property] = point[property]; - result.push(interpolated); - } - return result.length === 1 ? result[0] : result; - } - pathSegment(ctx, segment, params) { - const segmentMethod = _getSegmentMethod(this); - return segmentMethod(ctx, this, segment, params); - } - path(ctx, start, count) { - const segments = this.segments; - const segmentMethod = _getSegmentMethod(this); - let loop = this._loop; - start = start || 0; - count = count || this.points.length - start; - for (const segment of segments) { - loop &= segmentMethod(ctx, this, segment, { start, end: start + count - 1 }); - } - return !!loop; - } - draw(ctx, chartArea, start, count) { - const options = this.options || {}; - const points = this.points || []; - if (points.length && options.borderWidth) { - ctx.save(); - draw(ctx, this, start, count); - ctx.restore(); - } - if (this.animated) { - this._pointsUpdated = false; - this._path = void 0; - } - } -}; -LineElement.id = "line"; -LineElement.defaults = { - borderCapStyle: "butt", - borderDash: [], - borderDashOffset: 0, - borderJoinStyle: "miter", - borderWidth: 3, - capBezierPoints: true, - cubicInterpolationMode: "default", - fill: false, - spanGaps: false, - stepped: false, - tension: 0 -}; -LineElement.defaultRoutes = { - backgroundColor: "backgroundColor", - borderColor: "borderColor" -}; -LineElement.descriptors = { - _scriptable: true, - _indexable: (name) => name !== "borderDash" && name !== "fill" -}; -function inRange$1(el, pos, axis, useFinalPosition) { - const options = el.options; - const { [axis]: value } = el.getProps([axis], useFinalPosition); - return Math.abs(pos - value) < options.radius + options.hitRadius; -} -var PointElement = class extends Element { - constructor(cfg) { - super(); - this.options = void 0; - this.parsed = void 0; - this.skip = void 0; - this.stop = void 0; - if (cfg) { - Object.assign(this, cfg); - } - } - inRange(mouseX, mouseY, useFinalPosition) { - const options = this.options; - const { x, y } = this.getProps(["x", "y"], useFinalPosition); - return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2); - } - inXRange(mouseX, useFinalPosition) { - return inRange$1(this, mouseX, "x", useFinalPosition); - } - inYRange(mouseY, useFinalPosition) { - return inRange$1(this, mouseY, "y", useFinalPosition); - } - getCenterPoint(useFinalPosition) { - const { x, y } = this.getProps(["x", "y"], useFinalPosition); - return { x, y }; - } - size(options) { - options = options || this.options || {}; - let radius = options.radius || 0; - radius = Math.max(radius, radius && options.hoverRadius || 0); - const borderWidth = radius && options.borderWidth || 0; - return (radius + borderWidth) * 2; - } - draw(ctx, area) { - const options = this.options; - if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) { - return; - } - ctx.strokeStyle = options.borderColor; - ctx.lineWidth = options.borderWidth; - ctx.fillStyle = options.backgroundColor; - drawPoint(ctx, options, this.x, this.y); - } - getRange() { - const options = this.options || {}; - return options.radius + options.hitRadius; - } -}; -PointElement.id = "point"; -PointElement.defaults = { - borderWidth: 1, - hitRadius: 1, - hoverBorderWidth: 1, - hoverRadius: 4, - pointStyle: "circle", - radius: 3, - rotation: 0 -}; -PointElement.defaultRoutes = { - backgroundColor: "backgroundColor", - borderColor: "borderColor" -}; +}); function getBarBounds(bar, useFinalPosition) { - const { x, y, base, width, height } = bar.getProps(["x", "y", "base", "width", "height"], useFinalPosition); + const { x, y, base, width, height } = bar.getProps([ + "x", + "y", + "base", + "width", + "height" + ], useFinalPosition); let left, right, top, bottom, half; if (bar.horizontal) { half = height / 2; @@ -11349,7 +11089,12 @@ function getBarBounds(bar, useFinalPosition) { top = Math.min(y, base); bottom = Math.max(y, base); } - return { left, top, right, bottom }; + return { + left, + top, + right, + bottom + }; } function skipOrLimit(skip2, value, min, max) { return skip2 ? 0 : _limitValue(value, min, max); @@ -11366,7 +11111,9 @@ function parseBorderWidth(bar, maxW, maxH) { }; } function parseBorderRadius(bar, maxW, maxH) { - const { enableBorderRadius } = bar.getProps(["enableBorderRadius"]); + const { enableBorderRadius } = bar.getProps([ + "enableBorderRadius" + ]); const value = bar.options.borderRadius; const o = toTRBLCorners(value); const maxR = Math.min(maxW, maxH); @@ -11475,7 +11222,12 @@ var BarElement = class extends Element { return inRange(this, null, mouseY, useFinalPosition); } getCenterPoint(useFinalPosition) { - const { x, y, base, horizontal } = this.getProps(["x", "y", "base", "horizontal"], useFinalPosition); + const { x, y, base, horizontal } = this.getProps([ + "x", + "y", + "base", + "horizontal" + ], useFinalPosition); return { x: horizontal ? (x + base) / 2 : x, y: horizontal ? y : (y + base) / 2 @@ -11485,23 +11237,23 @@ var BarElement = class extends Element { return axis === "x" ? this.width / 2 : this.height / 2; } }; -BarElement.id = "bar"; -BarElement.defaults = { +__publicField(BarElement, "id", "bar"); +__publicField(BarElement, "defaults", { borderSkipped: "start", borderWidth: 0, borderRadius: 0, inflateAmount: "auto", pointStyle: void 0 -}; -BarElement.defaultRoutes = { +}); +__publicField(BarElement, "defaultRoutes", { backgroundColor: "backgroundColor", borderColor: "borderColor" -}; +}); var getBoxSize = (labelOpts, fontSize) => { let { boxHeight = fontSize, boxWidth = fontSize } = labelOpts; if (labelOpts.usePointStyle) { boxHeight = Math.min(boxHeight, fontSize); - boxWidth = Math.min(boxWidth, fontSize); + boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize); } return { boxWidth, @@ -11557,7 +11309,9 @@ var Legend = class extends Element { } buildLabels() { const labelOpts = this.options.labels || {}; - let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || []; + let legendItems = callback(labelOpts.generateLabels, [ + this.chart + ], this) || []; if (labelOpts.filter) { legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data)); } @@ -11587,7 +11341,7 @@ var Legend = class extends Element { height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10; } else { height = this.maxHeight; - width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10; + width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10; } this.width = Math.min(width, options.maxWidth || this.maxWidth); this.height = Math.min(height, options.maxHeight || this.maxHeight); @@ -11595,7 +11349,9 @@ var Legend = class extends Element { _fitRows(titleHeight, fontSize, boxWidth, itemHeight) { const { ctx, maxWidth, options: { labels: { padding } } } = this; const hitboxes = this.legendHitBoxes = []; - const lineWidths = this.lineWidths = [0]; + const lineWidths = this.lineWidths = [ + 0 + ]; const lineHeight = itemHeight + padding; let totalHeight = titleHeight; ctx.textAlign = "left"; @@ -11610,12 +11366,18 @@ var Legend = class extends Element { top += lineHeight; row++; } - hitboxes[i] = { left: 0, top, row, width: itemWidth, height: itemHeight }; + hitboxes[i] = { + left: 0, + top, + row, + width: itemWidth, + height: itemHeight + }; lineWidths[lineWidths.length - 1] += itemWidth + padding; }); return totalHeight; } - _fitCols(titleHeight, fontSize, boxWidth, itemHeight) { + _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) { const { ctx, maxHeight, options: { labels: { padding } } } = this; const hitboxes = this.legendHitBoxes = []; const columnSizes = this.columnSizes = []; @@ -11626,20 +11388,32 @@ var Legend = class extends Element { let left = 0; let col = 0; this.legendItems.forEach((legendItem, i) => { - const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width; + const { itemWidth, itemHeight } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight); if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) { totalWidth += currentColWidth + padding; - columnSizes.push({ width: currentColWidth, height: currentColHeight }); + columnSizes.push({ + width: currentColWidth, + height: currentColHeight + }); left += currentColWidth + padding; col++; currentColWidth = currentColHeight = 0; } - hitboxes[i] = { left, top: currentColHeight, col, width: itemWidth, height: itemHeight }; + hitboxes[i] = { + left, + top: currentColHeight, + col, + width: itemWidth, + height: itemHeight + }; currentColWidth = Math.max(currentColWidth, itemWidth); currentColHeight += itemHeight + padding; }); totalWidth += currentColWidth; - columnSizes.push({ width: currentColWidth, height: currentColHeight }); + columnSizes.push({ + width: currentColWidth, + height: currentColHeight + }); return totalWidth; } adjustHitBoxes() { @@ -11664,15 +11438,15 @@ var Legend = class extends Element { } else { let col = 0; let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); - for (const hitbox of hitboxes) { - if (hitbox.col !== col) { - col = hitbox.col; + for (const hitbox1 of hitboxes) { + if (hitbox1.col !== col) { + col = hitbox1.col; top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); } - hitbox.top = top; - hitbox.left += this.left + padding; - hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width); - top += hitbox.height + padding; + hitbox1.top = top; + hitbox1.left += this.left + padding; + hitbox1.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox1.left), hitbox1.width); + top += hitbox1.height + padding; } } } @@ -11693,7 +11467,7 @@ var Legend = class extends Element { const defaultColor = defaults.color; const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); const labelFont = toFont(labelOpts.font); - const { color: fontColor, padding } = labelOpts; + const { padding } = labelOpts; const fontSize = labelFont.size; const halfFontSize = fontSize / 2; let cursor; @@ -11718,14 +11492,14 @@ var Legend = class extends Element { ctx.setLineDash(valueOrDefault(legendItem.lineDash, [])); if (labelOpts.usePointStyle) { const drawOptions = { - radius: boxWidth * Math.SQRT2 / 2, + radius: boxHeight * Math.SQRT2 / 2, pointStyle: legendItem.pointStyle, rotation: legendItem.rotation, borderWidth: lineWidth }; const centerX = rtlHelper.xPlus(x, boxWidth / 2); const centerY = y + halfFontSize; - drawPoint(ctx, drawOptions, centerX, centerY); + drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth); } else { const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0); const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth); @@ -11773,8 +11547,8 @@ var Legend = class extends Element { overrideTextDirection(this.ctx, opts.textDirection); const lineHeight = itemHeight + padding; this.legendItems.forEach((legendItem, i) => { - ctx.strokeStyle = legendItem.fontColor || fontColor; - ctx.fillStyle = legendItem.fontColor || fontColor; + ctx.strokeStyle = legendItem.fontColor; + ctx.fillStyle = legendItem.fontColor; const textWidth = ctx.measureText(legendItem.text).width; const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign)); const width = boxWidth + halfFontSize + textWidth; @@ -11798,6 +11572,9 @@ var Legend = class extends Element { fillText(rtlHelper.x(x), y, legendItem); if (isHorizontal) { cursor.x += width + padding; + } else if (typeof legendItem.text !== "string") { + const fontLineHeight = labelFont.lineHeight; + cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight); } else { cursor.y += lineHeight; } @@ -11865,17 +11642,55 @@ var Legend = class extends Element { const previous = this._hoveredItem; const sameItem = itemsEqual(previous, hoveredItem); if (previous && !sameItem) { - callback(opts.onLeave, [e, previous, this], this); + callback(opts.onLeave, [ + e, + previous, + this + ], this); } this._hoveredItem = hoveredItem; if (hoveredItem && !sameItem) { - callback(opts.onHover, [e, hoveredItem, this], this); + callback(opts.onHover, [ + e, + hoveredItem, + this + ], this); } } else if (hoveredItem) { - callback(opts.onClick, [e, hoveredItem, this], this); + callback(opts.onClick, [ + e, + hoveredItem, + this + ], this); } } }; +function calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) { + const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx); + const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight); + return { + itemWidth, + itemHeight + }; +} +function calculateItemWidth(legendItem, boxWidth, labelFont, ctx) { + let legendItemText = legendItem.text; + if (legendItemText && typeof legendItemText !== "string") { + legendItemText = legendItemText.reduce((a, b) => a.length > b.length ? a : b); + } + return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width; +} +function calculateItemHeight(_itemHeight, legendItem, fontLineHeight) { + let itemHeight = _itemHeight; + if (typeof legendItem.text !== "string") { + itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight); + } + return itemHeight; +} +function calculateLegendItemHeight(legendItem, fontLineHeight) { + const labelHeight = legendItem.text ? legendItem.text.length + 0.5 : 0; + return fontLineHeight * labelHeight; +} function isListened(type, opts) { if ((type === "mousemove" || type === "mouseout") && (opts.onHover || opts.onLeave)) { return true; @@ -11889,7 +11704,11 @@ var plugin_legend = { id: "legend", _element: Legend, start(chart, _args, options) { - const legend = chart.legend = new Legend({ ctx: chart.ctx, options, chart }); + const legend = chart.legend = new Legend({ + ctx: chart.ctx, + options, + chart + }); layouts.configure(chart, legend, options); layouts.addBox(chart, legend); }, @@ -11938,7 +11757,7 @@ var plugin_legend = { padding: 10, generateLabels(chart) { const datasets = chart.data.datasets; - const { labels: { usePointStyle, pointStyle, textAlign, color: color2 } } = chart.legend.options; + const { labels: { usePointStyle, pointStyle, textAlign, color: color2, useBorderRadius, borderRadius } } = chart.legend.options; return chart._getSortedDatasetMetas().map((meta) => { const style = meta.controller.getStyle(usePointStyle ? 0 : void 0); const borderWidth = toPadding(style.borderWidth); @@ -11956,7 +11775,7 @@ var plugin_legend = { pointStyle: pointStyle || style.pointStyle, rotation: style.rotation, textAlign: textAlign || style.textAlign, - borderRadius: 0, + borderRadius: useBorderRadius && (borderRadius || style.borderRadius), datasetIndex: meta.index }; }, this); @@ -11970,9 +11789,13 @@ var plugin_legend = { } }, descriptors: { - _scriptable: (name) => !name.startsWith("on"), + _scriptable: (name2) => !name2.startsWith("on"), labels: { - _scriptable: (name) => !["generateLabels", "filter", "sort"].includes(name) + _scriptable: (name2) => ![ + "generateLabels", + "filter", + "sort" + ].includes(name2) } } }; @@ -12037,7 +11860,12 @@ var Title = class extends Element { } maxWidth = bottom - top; } - return { titleX, titleY, maxWidth, rotation }; + return { + titleX, + titleY, + maxWidth, + rotation + }; } draw() { const ctx = this.ctx; @@ -12055,7 +11883,10 @@ var Title = class extends Element { rotation, textAlign: _toLeftRightCenter(opts.align), textBaseline: "middle", - translation: [titleX, titleY] + translation: [ + titleX, + titleY + ] }); } }; @@ -12105,7 +11936,7 @@ var plugin_title = { _indexable: false } }; -var map2 = new WeakMap(); +var map2 = /* @__PURE__ */ new WeakMap(); var plugin_subtitle = { id: "subtitle", start(chart, _args, options) { @@ -12277,7 +12108,10 @@ function getTooltipSize(tooltip, options) { each(tooltip.footer, maxLineWidth); ctx.restore(); width += padding.width; - return { width, height }; + return { + width, + height + }; } function determineYAlign(chart, size) { const { y, height } = size; @@ -12382,6 +12216,76 @@ function overrideCallbacks(callbacks, context) { const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks; return override ? callbacks.override(override) : callbacks; } +var defaultCallbacks = { + beforeTitle: noop, + title(tooltipItems) { + if (tooltipItems.length > 0) { + const item = tooltipItems[0]; + const labels = item.chart.data.labels; + const labelCount = labels ? labels.length : 0; + if (this && this.options && this.options.mode === "dataset") { + return item.dataset.label || ""; + } else if (item.label) { + return item.label; + } else if (labelCount > 0 && item.dataIndex < labelCount) { + return labels[item.dataIndex]; + } + } + return ""; + }, + afterTitle: noop, + beforeBody: noop, + beforeLabel: noop, + label(tooltipItem) { + if (this && this.options && this.options.mode === "dataset") { + return tooltipItem.label + ": " + tooltipItem.formattedValue || tooltipItem.formattedValue; + } + let label = tooltipItem.dataset.label || ""; + if (label) { + label += ": "; + } + const value = tooltipItem.formattedValue; + if (!isNullOrUndef(value)) { + label += value; + } + return label; + }, + labelColor(tooltipItem) { + const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); + const options = meta.controller.getStyle(tooltipItem.dataIndex); + return { + borderColor: options.borderColor, + backgroundColor: options.backgroundColor, + borderWidth: options.borderWidth, + borderDash: options.borderDash, + borderDashOffset: options.borderDashOffset, + borderRadius: 0 + }; + }, + labelTextColor() { + return this.options.bodyColor; + }, + labelPointStyle(tooltipItem) { + const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); + const options = meta.controller.getStyle(tooltipItem.dataIndex); + return { + pointStyle: options.pointStyle, + rotation: options.rotation + }; + }, + afterLabel: noop, + afterBody: noop, + beforeFooter: noop, + footer: noop, + afterFooter: noop +}; +function invokeCallbackWithFallback(callbacks, name2, ctx, arg) { + const result = callbacks[name2].call(ctx, arg); + if (typeof result === "undefined") { + return defaultCallbacks[name2].call(ctx, arg); + } + return result; +} var Tooltip = class extends Element { constructor(config) { super(); @@ -12393,8 +12297,7 @@ var Tooltip = class extends Element { this._tooltipItems = []; this.$animations = void 0; this.$context = void 0; - this.chart = config.chart || config._chart; - this._chart = this.chart; + this.chart = config.chart; this.options = config.options; this.dataPoints = void 0; this.title = void 0; @@ -12438,9 +12341,9 @@ var Tooltip = class extends Element { } getTitle(context, options) { const { callbacks } = options; - const beforeTitle = callbacks.beforeTitle.apply(this, [context]); - const title = callbacks.title.apply(this, [context]); - const afterTitle = callbacks.afterTitle.apply(this, [context]); + const beforeTitle = invokeCallbackWithFallback(callbacks, "beforeTitle", this, context); + const title = invokeCallbackWithFallback(callbacks, "title", this, context); + const afterTitle = invokeCallbackWithFallback(callbacks, "afterTitle", this, context); let lines = []; lines = pushOrConcat(lines, splitNewlines(beforeTitle)); lines = pushOrConcat(lines, splitNewlines(title)); @@ -12448,7 +12351,7 @@ var Tooltip = class extends Element { return lines; } getBeforeBody(tooltipItems, options) { - return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems])); + return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, "beforeBody", this, tooltipItems)); } getBody(tooltipItems, options) { const { callbacks } = options; @@ -12460,21 +12363,21 @@ var Tooltip = class extends Element { after: [] }; const scoped = overrideCallbacks(callbacks, context); - pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context))); - pushOrConcat(bodyItem.lines, scoped.label.call(this, context)); - pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context))); + pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, "beforeLabel", this, context))); + pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, "label", this, context)); + pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, "afterLabel", this, context))); bodyItems.push(bodyItem); }); return bodyItems; } getAfterBody(tooltipItems, options) { - return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems])); + return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, "afterBody", this, tooltipItems)); } getFooter(tooltipItems, options) { const { callbacks } = options; - const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]); - const footer = callbacks.footer.apply(this, [tooltipItems]); - const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]); + const beforeFooter = invokeCallbackWithFallback(callbacks, "beforeFooter", this, tooltipItems); + const footer = invokeCallbackWithFallback(callbacks, "footer", this, tooltipItems); + const afterFooter = invokeCallbackWithFallback(callbacks, "afterFooter", this, tooltipItems); let lines = []; lines = pushOrConcat(lines, splitNewlines(beforeFooter)); lines = pushOrConcat(lines, splitNewlines(footer)); @@ -12500,9 +12403,9 @@ var Tooltip = class extends Element { } each(tooltipItems, (context) => { const scoped = overrideCallbacks(options.callbacks, context); - labelColors.push(scoped.labelColor.call(this, context)); - labelPointStyles.push(scoped.labelPointStyle.call(this, context)); - labelTextColors.push(scoped.labelTextColor.call(this, context)); + labelColors.push(invokeCallbackWithFallback(scoped, "labelColor", this, context)); + labelPointStyles.push(invokeCallbackWithFallback(scoped, "labelPointStyle", this, context)); + labelTextColors.push(invokeCallbackWithFallback(scoped, "labelTextColor", this, context)); }); this.labelColors = labelColors; this.labelPointStyles = labelPointStyles; @@ -12551,7 +12454,11 @@ var Tooltip = class extends Element { this._resolveAnimations().update(this, properties); } if (changed && options.external) { - options.external.call(this, { chart: this.chart, tooltip: this, replay }); + options.external.call(this, { + chart: this.chart, + tooltip: this, + replay + }); } } drawCaret(tooltipPoint, ctx, size, options) { @@ -12602,7 +12509,14 @@ var Tooltip = class extends Element { } y3 = y1; } - return { x1, x2, x3, y1, y2, y3 }; + return { + x1, + x2, + x3, + y1, + y2, + y3 + }; } drawTitle(pt, ctx, options) { const title = this.title; @@ -12651,7 +12565,7 @@ var Tooltip = class extends Element { ctx.fillStyle = labelColors.backgroundColor; drawPoint(ctx, drawOptions, centerX, centerY); } else { - ctx.lineWidth = labelColors.borderWidth || 1; + ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : labelColors.borderWidth || 1; ctx.strokeStyle = labelColors.borderColor; ctx.setLineDash(labelColors.borderDash || []); ctx.lineDashOffset = labelColors.borderDashOffset || 0; @@ -12912,14 +12826,17 @@ var Tooltip = class extends Element { return position !== false && (caretX !== position.x || caretY !== position.y); } }; -Tooltip.positioners = positioners; +__publicField(Tooltip, "positioners", positioners); var plugin_tooltip = { id: "tooltip", _element: Tooltip, positioners, afterInit(chart, _args, options) { if (options) { - chart.tooltip = new Tooltip({ chart, options }); + chart.tooltip = new Tooltip({ + chart, + options + }); } }, beforeUpdate(chart, _args, options) { @@ -12938,7 +12855,10 @@ var plugin_tooltip = { const args = { tooltip }; - if (chart.notifyPlugins("beforeTooltipDraw", args) === false) { + if (chart.notifyPlugins("beforeTooltipDraw", { + ...args, + cancelable: true + }) === false) { return; } tooltip.draw(chart.ctx); @@ -12994,76 +12914,21 @@ var plugin_tooltip = { animations: { numbers: { type: "number", - properties: ["x", "y", "width", "height", "caretX", "caretY"] + properties: [ + "x", + "y", + "width", + "height", + "caretX", + "caretY" + ] }, opacity: { easing: "linear", duration: 200 } }, - callbacks: { - beforeTitle: noop, - title(tooltipItems) { - if (tooltipItems.length > 0) { - const item = tooltipItems[0]; - const labels = item.chart.data.labels; - const labelCount = labels ? labels.length : 0; - if (this && this.options && this.options.mode === "dataset") { - return item.dataset.label || ""; - } else if (item.label) { - return item.label; - } else if (labelCount > 0 && item.dataIndex < labelCount) { - return labels[item.dataIndex]; - } - } - return ""; - }, - afterTitle: noop, - beforeBody: noop, - beforeLabel: noop, - label(tooltipItem) { - if (this && this.options && this.options.mode === "dataset") { - return tooltipItem.label + ": " + tooltipItem.formattedValue || tooltipItem.formattedValue; - } - let label = tooltipItem.dataset.label || ""; - if (label) { - label += ": "; - } - const value = tooltipItem.formattedValue; - if (!isNullOrUndef(value)) { - label += value; - } - return label; - }, - labelColor(tooltipItem) { - const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); - const options = meta.controller.getStyle(tooltipItem.dataIndex); - return { - borderColor: options.borderColor, - backgroundColor: options.backgroundColor, - borderWidth: options.borderWidth, - borderDash: options.borderDash, - borderDashOffset: options.borderDashOffset, - borderRadius: 0 - }; - }, - labelTextColor() { - return this.options.bodyColor; - }, - labelPointStyle(tooltipItem) { - const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); - const options = meta.controller.getStyle(tooltipItem.dataIndex); - return { - pointStyle: options.pointStyle, - rotation: options.rotation - }; - }, - afterLabel: noop, - afterBody: noop, - beforeFooter: noop, - footer: noop, - afterFooter: noop - } + callbacks: defaultCallbacks }, defaultRoutes: { bodyFont: "font", @@ -13071,7 +12936,7 @@ var plugin_tooltip = { titleFont: "font" }, descriptors: { - _scriptable: (name) => name !== "filter" && name !== "itemSort" && name !== "external", + _scriptable: (name2) => name2 !== "filter" && name2 !== "itemSort" && name2 !== "external", _indexable: false, callbacks: { _scriptable: false, @@ -13084,12 +12949,17 @@ var plugin_tooltip = { _fallback: "animation" } }, - additionalOptionScopes: ["interaction"] + additionalOptionScopes: [ + "interaction" + ] }; var addIfString = (labels, raw, index, addedLabels) => { if (typeof raw === "string") { index = labels.push(raw) - 1; - addedLabels.unshift({ index, label: raw }); + addedLabels.unshift({ + index, + label: raw + }); } else if (isNaN(raw)) { index = null; } @@ -13104,6 +12974,13 @@ function findOrAddLabel(labels, raw, index, addedLabels) { return first !== last ? index : first; } var validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max); +function _getLabelForValue(value) { + const labels = this.getLabels(); + if (value >= 0 && value < labels.length) { + return labels[value]; + } + return value; +} var CategoryScale = class extends Scale { constructor(cfg) { super(cfg); @@ -13156,16 +13033,14 @@ var CategoryScale = class extends Scale { this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1); this._startValue = this.min - (offset ? 0.5 : 0); for (let value = min; value <= max; value++) { - ticks.push({ value }); + ticks.push({ + value + }); } return ticks; } getLabelForValue(value) { - const labels = this.getLabels(); - if (value >= 0 && value < labels.length) { - return labels[value]; - } - return value; + return _getLabelForValue.call(this, value); } configure() { super.configure(); @@ -13193,12 +13068,12 @@ var CategoryScale = class extends Scale { return this.bottom; } }; -CategoryScale.id = "category"; -CategoryScale.defaults = { +__publicField(CategoryScale, "id", "category"); +__publicField(CategoryScale, "defaults", { ticks: { - callback: CategoryScale.prototype.getLabelForValue + callback: _getLabelForValue } -}; +}); function generateTicks$1(generationOptions, dataRange) { const ticks = []; const MIN_SPACING = 1e-14; @@ -13213,7 +13088,14 @@ function generateTicks$1(generationOptions, dataRange) { let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit; let factor, niceMin, niceMax, numSpaces; if (spacing < MIN_SPACING && !minDefined && !maxDefined) { - return [{ value: rmin }, { value: rmax }]; + return [ + { + value: rmin + }, + { + value: rmax + } + ]; } numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing); if (numSpaces > maxSpaces) { @@ -13255,7 +13137,9 @@ function generateTicks$1(generationOptions, dataRange) { let j = 0; if (minDefined) { if (includeBounds && niceMin !== min) { - ticks.push({ value: min }); + ticks.push({ + value: min + }); if (niceMin < min) { j++; } @@ -13267,16 +13151,22 @@ function generateTicks$1(generationOptions, dataRange) { } } for (; j < numSpaces; ++j) { - ticks.push({ value: Math.round((niceMin + j * spacing) * factor) / factor }); + ticks.push({ + value: Math.round((niceMin + j * spacing) * factor) / factor + }); } if (maxDefined && includeBounds && niceMax !== max) { if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) { ticks[ticks.length - 1].value = max; } else { - ticks.push({ value: max }); + ticks.push({ + value: max + }); } } else if (!maxDefined || niceMax === max) { - ticks.push({ value: niceMax }); + ticks.push({ + value: niceMax + }); } return ticks; } @@ -13320,10 +13210,7 @@ var LinearScaleBase = class extends Scale { } } if (min === max) { - let offset = 1; - if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) { - offset = Math.abs(max * 0.05); - } + let offset = max === 0 ? 1 : Math.abs(max * 0.05); setMax(max + offset); if (!beginAtZero) { setMin(min - offset); @@ -13427,36 +13314,71 @@ var LinearScale = class extends LinearScaleBase { return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange; } }; -LinearScale.id = "linear"; -LinearScale.defaults = { +__publicField(LinearScale, "id", "linear"); +__publicField(LinearScale, "defaults", { ticks: { callback: Ticks.formatters.numeric } -}; +}); +var log10Floor = (v) => Math.floor(log10(v)); +var changeExponent = (v, m) => Math.pow(10, log10Floor(v) + m); function isMajor(tickVal) { - const remain = tickVal / Math.pow(10, Math.floor(log10(tickVal))); + const remain = tickVal / Math.pow(10, log10Floor(tickVal)); return remain === 1; } -function generateTicks(generationOptions, dataRange) { - const endExp = Math.floor(log10(dataRange.max)); - const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp)); +function steps(min, max, rangeExp) { + const rangeStep = Math.pow(10, rangeExp); + const start = Math.floor(min / rangeStep); + const end = Math.ceil(max / rangeStep); + return end - start; +} +function startExp(min, max) { + const range = max - min; + let rangeExp = log10Floor(range); + while (steps(min, max, rangeExp) > 10) { + rangeExp++; + } + while (steps(min, max, rangeExp) < 10) { + rangeExp--; + } + return Math.min(rangeExp, log10Floor(min)); +} +function generateTicks(generationOptions, { min, max }) { + min = finiteOrDefault(generationOptions.min, min); const ticks = []; - let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min)))); - let exp = Math.floor(log10(tickVal)); - let significand = Math.floor(tickVal / Math.pow(10, exp)); + const minExp = log10Floor(min); + let exp = startExp(min, max); let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1; - do { - ticks.push({ value: tickVal, major: isMajor(tickVal) }); - ++significand; - if (significand === 10) { - significand = 1; - ++exp; + const stepSize = Math.pow(10, exp); + const base = minExp > exp ? Math.pow(10, minExp) : 0; + const start = Math.round((min - base) * precision) / precision; + const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10; + let significand = Math.floor((start - offset) / Math.pow(10, exp)); + let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision); + while (value < max) { + ticks.push({ + value, + major: isMajor(value), + significand + }); + if (significand >= 10) { + significand = significand < 15 ? 15 : 20; + } else { + significand++; + } + if (significand >= 20) { + exp++; + significand = 2; precision = exp >= 0 ? 1 : precision; } - tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision; - } while (exp < endExp || exp === endExp && significand < endSignificand); - const lastTick = finiteOrDefault(generationOptions.max, tickVal); - ticks.push({ value: lastTick, major: isMajor(tickVal) }); + value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision; + } + const lastTick = finiteOrDefault(generationOptions.max, value); + ticks.push({ + value: lastTick, + major: isMajor(lastTick), + significand + }); return ticks; } var LogarithmicScale = class extends Scale { @@ -13468,7 +13390,10 @@ var LogarithmicScale = class extends Scale { this._valueRange = 0; } parse(raw, index) { - const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]); + const value = LinearScaleBase.prototype.parse.apply(this, [ + raw, + index + ]); if (value === 0) { this._zero = true; return void 0; @@ -13482,6 +13407,9 @@ var LogarithmicScale = class extends Scale { if (this.options.beginAtZero) { this._zero = true; } + if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) { + this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0); + } this.handleTickRangeOptions(); } handleTickRangeOptions() { @@ -13490,24 +13418,20 @@ var LogarithmicScale = class extends Scale { let max = this.max; const setMin = (v) => min = minDefined ? min : v; const setMax = (v) => max = maxDefined ? max : v; - const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m); if (min === max) { if (min <= 0) { setMin(1); setMax(10); } else { - setMin(exp(min, -1)); - setMax(exp(max, 1)); + setMin(changeExponent(min, -1)); + setMax(changeExponent(max, 1)); } } if (min <= 0) { - setMin(exp(max, -1)); + setMin(changeExponent(max, -1)); } if (max <= 0) { - setMax(exp(min, 1)); - } - if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) { - setMin(exp(min, -1)); + setMax(changeExponent(min, 1)); } this.min = min; this.max = max; @@ -13555,15 +13479,15 @@ var LogarithmicScale = class extends Scale { return Math.pow(10, this._startValue + decimal * this._valueRange); } }; -LogarithmicScale.id = "logarithmic"; -LogarithmicScale.defaults = { +__publicField(LogarithmicScale, "id", "logarithmic"); +__publicField(LogarithmicScale, "defaults", { ticks: { callback: Ticks.formatters.logarithmic, major: { enabled: true } } -}; +}); function getTickBackdropHeight(opts) { const tickOpts = opts.ticks; if (tickOpts.display && opts.display) { @@ -13573,7 +13497,9 @@ function getTickBackdropHeight(opts) { return 0; } function measureLabelSize(ctx, font, label) { - label = isArray(label) ? label : [label]; + label = isArray(label) ? label : [ + label + ]; return { w: _longestText(ctx, font.string, label), h: label.length * font.lineHeight @@ -13744,7 +13670,7 @@ function pathRadiusLine(scale, radius, circular, labelCount) { } } } -function drawRadiusLine(scale, gridLineOpts, radius, labelCount) { +function drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) { const ctx = scale.ctx; const circular = gridLineOpts.circular; const { color: color2, lineWidth } = gridLineOpts; @@ -13754,8 +13680,8 @@ function drawRadiusLine(scale, gridLineOpts, radius, labelCount) { ctx.save(); ctx.strokeStyle = color2; ctx.lineWidth = lineWidth; - ctx.setLineDash(gridLineOpts.borderDash); - ctx.lineDashOffset = gridLineOpts.borderDashOffset; + ctx.setLineDash(borderOpts.dash); + ctx.lineDashOffset = borderOpts.dashOffset; ctx.beginPath(); pathRadiusLine(scale, radius, circular, labelCount); ctx.closePath(); @@ -13798,7 +13724,10 @@ var RadialLinearScale = class extends LinearScaleBase { generateTickLabels(ticks) { LinearScaleBase.prototype.generateTickLabels.call(this, ticks); this._pointLabels = this.getLabels().map((value, index) => { - const label = callback(this.options.pointLabels.callback, [value, index], this); + const label = callback(this.options.pointLabels.callback, [ + value, + index + ], this); return label || label === 0 ? label : ""; }).filter((v, i) => this.chart.getDataVisibility(i)); } @@ -13883,7 +13812,7 @@ var RadialLinearScale = class extends LinearScaleBase { drawGrid() { const ctx = this.ctx; const opts = this.options; - const { angleLines, grid } = opts; + const { angleLines, grid, border } = opts; const labelCount = this._pointLabels.length; let i, offset, position; if (opts.pointLabels.display) { @@ -13893,8 +13822,10 @@ var RadialLinearScale = class extends LinearScaleBase { this.ticks.forEach((tick, index) => { if (index !== 0) { offset = this.getDistanceFromCenterForValue(tick.value); - const optsAtIndex = grid.setContext(this.getContext(index - 1)); - drawRadiusLine(this, optsAtIndex, offset, labelCount); + const context = this.getContext(index); + const optsAtIndex = grid.setContext(context); + const optsAtIndexBorder = border.setContext(context); + drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder); } }); } @@ -13959,8 +13890,8 @@ var RadialLinearScale = class extends LinearScaleBase { drawTitle() { } }; -RadialLinearScale.id = "radialLinear"; -RadialLinearScale.defaults = { +__publicField(RadialLinearScale, "id", "radialLinear"); +__publicField(RadialLinearScale, "defaults", { display: true, animate: true, position: "chartArea", @@ -13991,29 +13922,64 @@ RadialLinearScale.defaults = { padding: 5, centerPointLabels: false } -}; -RadialLinearScale.defaultRoutes = { +}); +__publicField(RadialLinearScale, "defaultRoutes", { "angleLines.color": "borderColor", "pointLabels.color": "color", "ticks.color": "color" -}; -RadialLinearScale.descriptors = { +}); +__publicField(RadialLinearScale, "descriptors", { angleLines: { _fallback: "grid" } -}; +}); var INTERVALS = { - millisecond: { common: true, size: 1, steps: 1e3 }, - second: { common: true, size: 1e3, steps: 60 }, - minute: { common: true, size: 6e4, steps: 60 }, - hour: { common: true, size: 36e5, steps: 24 }, - day: { common: true, size: 864e5, steps: 30 }, - week: { common: false, size: 6048e5, steps: 4 }, - month: { common: true, size: 2628e6, steps: 12 }, - quarter: { common: false, size: 7884e6, steps: 4 }, - year: { common: true, size: 3154e7 } + millisecond: { + common: true, + size: 1, + steps: 1e3 + }, + second: { + common: true, + size: 1e3, + steps: 60 + }, + minute: { + common: true, + size: 6e4, + steps: 60 + }, + hour: { + common: true, + size: 36e5, + steps: 24 + }, + day: { + common: true, + size: 864e5, + steps: 30 + }, + week: { + common: false, + size: 6048e5, + steps: 4 + }, + month: { + common: true, + size: 2628e6, + steps: 12 + }, + quarter: { + common: false, + size: 7884e6, + steps: 4 + }, + year: { + common: true, + size: 3154e7 + } }; -var UNITS = Object.keys(INTERVALS); +var UNITS = /* @__PURE__ */ Object.keys(INTERVALS); function sorter(a, b) { return a - b; } @@ -14116,9 +14082,10 @@ var TimeScale = class extends Scale { this._normalized = false; this._parseOpts = void 0; } - init(scaleOpts, opts) { + init(scaleOpts, opts = {}) { const time = scaleOpts.time || (scaleOpts.time = {}); const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date); + adapter.init(opts); mergeIf(time.displayFormats, adapter.formats()); this._parseOpts = { parser: time.parser, @@ -14174,7 +14141,10 @@ var TimeScale = class extends Scale { min = arr[0]; max = arr[arr.length - 1]; } - return { min, max }; + return { + min, + max + }; } buildTicks() { const options = this.options; @@ -14201,7 +14171,7 @@ var TimeScale = class extends Scale { this.initOffsets(this.ticks.map((tick) => +tick.value)); } } - initOffsets(timestamps) { + initOffsets(timestamps = []) { let start = 0; let end = 0; let first, last; @@ -14222,7 +14192,11 @@ var TimeScale = class extends Scale { const limit = timestamps.length < 3 ? 0.5 : 0.25; start = _limitValue(start, 0, limit); end = _limitValue(end, 0, limit); - this._offsets = { start, end, factor: 1 / (start + 1 + end) }; + this._offsets = { + start, + end, + factor: 1 / (start + 1 + end) + }; } _generate() { const adapter = this._adapter; @@ -14231,7 +14205,7 @@ var TimeScale = class extends Scale { const options = this.options; const timeOpts = options.time; const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min)); - const stepSize = valueOrDefault(timeOpts.stepSize, 1); + const stepSize = valueOrDefault(options.ticks.stepSize, 1); const weekday = minor === "week" ? timeOpts.isoWeekday : false; const hasWeekday = isNumber(weekday) || weekday === true; const ticks = {}; @@ -14263,6 +14237,14 @@ var TimeScale = class extends Scale { } _tickFormatFunction(time, index, ticks, format) { const options = this.options; + const formatter = options.ticks.callback; + if (formatter) { + return callback(formatter, [ + time, + index, + ticks + ], this); + } const formats = options.time.displayFormats; const unit = this._unit; const majorUnit = this._majorUnit; @@ -14270,9 +14252,7 @@ var TimeScale = class extends Scale { const majorFormat = majorUnit && formats[majorUnit]; const tick = ticks[index]; const major = majorUnit && majorFormat && tick && tick.major; - const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat)); - const formatter = options.ticks.callback; - return formatter ? callback(formatter, [label, index, ticks], this) : label; + return this._adapter.format(time, format || (major ? majorFormat : minorFormat)); } generateTickLabels(ticks) { let i, ilen, tick; @@ -14310,7 +14290,9 @@ var TimeScale = class extends Scale { const timeOpts = this.options.time; const displayFormats = timeOpts.displayFormats; const format = displayFormats[timeOpts.unit] || displayFormats.millisecond; - const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format); + const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [ + exampleTime + ], this._majorUnit), format); const size = this._getLabelSize(exampleLabel); const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1; return capacity > 0 ? capacity : 1; @@ -14346,8 +14328,8 @@ var TimeScale = class extends Scale { return _arrayUnique(values.sort(sorter)); } }; -TimeScale.id = "time"; -TimeScale.defaults = { +__publicField(TimeScale, "id", "time"); +__publicField(TimeScale, "defaults", { bounds: "data", adapters: {}, time: { @@ -14360,11 +14342,12 @@ TimeScale.defaults = { }, ticks: { source: "auto", + callback: false, major: { enabled: false } } -}; +}); function interpolate3(table, val, reverse) { let lo = 0; let hi = table.length - 1; @@ -14412,8 +14395,14 @@ var TimeSeriesScale = class extends TimeScale { } if (items.length < 2) { return [ - { time: min, pos: 0 }, - { time: max, pos: 1 } + { + time: min, + pos: 0 + }, + { + time: max, + pos: 1 + } ]; } for (i = 0, ilen = items.length; i < ilen; ++i) { @@ -14421,7 +14410,10 @@ var TimeSeriesScale = class extends TimeScale { prev = items[i - 1]; curr = items[i]; if (Math.round((next + prev) / 2) !== curr) { - table.push({ time: curr, pos: i / (ilen - 1) }); + table.push({ + time: curr, + pos: i / (ilen - 1) + }); } } return table; @@ -14450,28 +14442,28 @@ var TimeSeriesScale = class extends TimeScale { return interpolate3(this._table, decimal * this._tableRange + this._minPos, true); } }; -TimeSeriesScale.id = "timeseries"; -TimeSeriesScale.defaults = TimeScale.defaults; +__publicField(TimeSeriesScale, "id", "timeseries"); +__publicField(TimeSeriesScale, "defaults", TimeScale.defaults); // src/stats-modal.tsx -Chart.register(BarElement, BarController, plugin_legend, plugin_title, plugin_tooltip, plugin_subtitle, CategoryScale, LinearScale, PieController, ArcElement); +Chart$1.register( + BarElement, + BarController, + plugin_legend, + plugin_title, + plugin_tooltip, + plugin_subtitle, + CategoryScale, + LinearScale, + PieController, + ArcElement +); var StatsModal = class extends import_obsidian4.Modal { - constructor(app, plugin) { - super(app); + constructor(app2, plugin) { + super(app2); this.plugin = plugin; this.titleEl.setText(`${t("STATS_TITLE")} `); - this.titleEl.innerHTML += /* @__PURE__ */ (0, import_vhtml3.default)("select", { - id: "chartPeriod" - }, /* @__PURE__ */ (0, import_vhtml3.default)("option", { - value: "month", - selected: true - }, t("MONTH")), /* @__PURE__ */ (0, import_vhtml3.default)("option", { - value: "quarter" - }, t("QUARTER")), /* @__PURE__ */ (0, import_vhtml3.default)("option", { - value: "year" - }, t("YEAR")), /* @__PURE__ */ (0, import_vhtml3.default)("option", { - value: "lifetime" - }, t("LIFETIME"))); + this.titleEl.innerHTML += /* @__PURE__ */ (0, import_vhtml2.default)("select", { id: "chartPeriod" }, /* @__PURE__ */ (0, import_vhtml2.default)("option", { value: "month", selected: true }, t("MONTH")), /* @__PURE__ */ (0, import_vhtml2.default)("option", { value: "quarter" }, t("QUARTER")), /* @__PURE__ */ (0, import_vhtml2.default)("option", { value: "year" }, t("YEAR")), /* @__PURE__ */ (0, import_vhtml2.default)("option", { value: "lifetime" }, t("LIFETIME"))); this.modalEl.style.height = "100%"; this.modalEl.style.width = "100%"; if (import_obsidian4.Platform.isMobile) { @@ -14498,48 +14490,87 @@ var StatsModal = class extends import_obsidian4.Modal { const cardStats = this.plugin.cardStats; const scheduledCount = cardStats.youngCount + cardStats.matureCount; maxN = Math.max(maxN, 1); - contentEl.innerHTML += /* @__PURE__ */ (0, import_vhtml3.default)("div", null, /* @__PURE__ */ (0, import_vhtml3.default)("canvas", { - id: "forecastChart" - }), /* @__PURE__ */ (0, import_vhtml3.default)("span", { - id: "forecastChartSummary" - }), /* @__PURE__ */ (0, import_vhtml3.default)("p", null), /* @__PURE__ */ (0, import_vhtml3.default)("canvas", { - id: "intervalsChart" - }), /* @__PURE__ */ (0, import_vhtml3.default)("span", { - id: "intervalsChartSummary" - }), /* @__PURE__ */ (0, import_vhtml3.default)("p", null), /* @__PURE__ */ (0, import_vhtml3.default)("canvas", { - id: "easesChart" - }), /* @__PURE__ */ (0, import_vhtml3.default)("span", { - id: "easesChartSummary" - }), /* @__PURE__ */ (0, import_vhtml3.default)("p", null), /* @__PURE__ */ (0, import_vhtml3.default)("div", { - style: "width: 50%; margin: auto;" - }, /* @__PURE__ */ (0, import_vhtml3.default)("canvas", { - id: "cardTypesChart" - })), /* @__PURE__ */ (0, import_vhtml3.default)("span", { - id: "cardTypesChartSummary" - })); - createStatsChart("bar", "forecastChart", t("FORECAST"), t("FORECAST_DESC"), Object.keys(dueDatesFlashcardsCopy), Object.values(dueDatesFlashcardsCopy), t("REVIEWS_PER_DAY", { avg: (scheduledCount / maxN).toFixed(1) }), t("SCHEDULED"), t("DAYS"), t("NUMBER_OF_CARDS")); + contentEl.innerHTML += /* @__PURE__ */ (0, import_vhtml2.default)("div", null, /* @__PURE__ */ (0, import_vhtml2.default)("canvas", { id: "forecastChart" }), /* @__PURE__ */ (0, import_vhtml2.default)("span", { id: "forecastChartSummary" }), /* @__PURE__ */ (0, import_vhtml2.default)("p", null), /* @__PURE__ */ (0, import_vhtml2.default)("canvas", { id: "intervalsChart" }), /* @__PURE__ */ (0, import_vhtml2.default)("span", { id: "intervalsChartSummary" }), /* @__PURE__ */ (0, import_vhtml2.default)("p", null), /* @__PURE__ */ (0, import_vhtml2.default)("canvas", { id: "easesChart" }), /* @__PURE__ */ (0, import_vhtml2.default)("span", { id: "easesChartSummary" }), /* @__PURE__ */ (0, import_vhtml2.default)("p", null), /* @__PURE__ */ (0, import_vhtml2.default)("div", { style: "width: 50%; margin: auto;" }, /* @__PURE__ */ (0, import_vhtml2.default)("canvas", { id: "cardTypesChart" })), /* @__PURE__ */ (0, import_vhtml2.default)("span", { id: "cardTypesChartSummary" })); + createStatsChart( + "bar", + "forecastChart", + t("FORECAST"), + t("FORECAST_DESC"), + Object.keys(dueDatesFlashcardsCopy), + Object.values(dueDatesFlashcardsCopy), + t("REVIEWS_PER_DAY", { avg: (scheduledCount / maxN).toFixed(1) }), + t("SCHEDULED"), + t("DAYS"), + t("NUMBER_OF_CARDS") + ); maxN = Math.max(...getKeysPreserveType(cardStats.intervals)); for (let interval = 0; interval <= maxN; interval++) { if (!Object.prototype.hasOwnProperty.call(cardStats.intervals, interval)) { cardStats.intervals[interval] = 0; } } - const average_interval = textInterval(Math.round(getTypedObjectEntries(cardStats.intervals).map(([interval, count]) => interval * count).reduce((a, b) => a + b, 0) / scheduledCount * 10) / 10 || 0, false), longest_interval = textInterval(Math.max(...getKeysPreserveType(cardStats.intervals)) || 0, false); - createStatsChart("bar", "intervalsChart", t("INTERVALS"), t("INTERVALS_DESC"), Object.keys(cardStats.intervals), Object.values(cardStats.intervals), t("INTERVALS_SUMMARY", { avg: average_interval, longest: longest_interval }), t("COUNT"), t("DAYS"), t("NUMBER_OF_CARDS")); + const average_interval = textInterval( + Math.round( + getTypedObjectEntries(cardStats.intervals).map(([interval, count]) => interval * count).reduce((a, b) => a + b, 0) / scheduledCount * 10 + ) / 10 || 0, + false + ), longest_interval = textInterval( + Math.max(...getKeysPreserveType(cardStats.intervals)) || 0, + false + ); + createStatsChart( + "bar", + "intervalsChart", + t("INTERVALS"), + t("INTERVALS_DESC"), + Object.keys(cardStats.intervals), + Object.values(cardStats.intervals), + t("INTERVALS_SUMMARY", { avg: average_interval, longest: longest_interval }), + t("COUNT"), + t("DAYS"), + t("NUMBER_OF_CARDS") + ); const eases = getKeysPreserveType(cardStats.eases); for (let ease = Math.min(...eases); ease <= Math.max(...eases); ease++) { if (!Object.prototype.hasOwnProperty.call(cardStats.eases, ease)) { cardStats.eases[ease] = 0; } } - const average_ease = Math.round(getTypedObjectEntries(cardStats.eases).map(([ease, count]) => ease * count).reduce((a, b) => a + b, 0) / scheduledCount) || 0; - createStatsChart("bar", "easesChart", t("EASES"), "", Object.keys(cardStats.eases), Object.values(cardStats.eases), t("EASES_SUMMARY", { avgEase: average_ease }), t("COUNT"), t("EASES"), t("NUMBER_OF_CARDS")); + const average_ease = Math.round( + getTypedObjectEntries(cardStats.eases).map(([ease, count]) => ease * count).reduce((a, b) => a + b, 0) / scheduledCount + ) || 0; + createStatsChart( + "bar", + "easesChart", + t("EASES"), + "", + Object.keys(cardStats.eases), + Object.values(cardStats.eases), + t("EASES_SUMMARY", { avgEase: average_ease }), + t("COUNT"), + t("EASES"), + t("NUMBER_OF_CARDS") + ); const totalCardsCount = this.plugin.deckTree.totalFlashcards; - createStatsChart("pie", "cardTypesChart", t("CARD_TYPES"), t("CARD_TYPES_DESC"), [ - `${t("CARD_TYPE_NEW")} - ${Math.round(cardStats.newCount / totalCardsCount * 100)}%`, - `${t("CARD_TYPE_YOUNG")} - ${Math.round(cardStats.youngCount / totalCardsCount * 100)}%`, - `${t("CARD_TYPE_MATURE")} - ${Math.round(cardStats.matureCount / totalCardsCount * 100)}%` - ], [cardStats.newCount, cardStats.youngCount, cardStats.matureCount], t("CARD_TYPES_SUMMARY", { totalCardsCount })); + createStatsChart( + "pie", + "cardTypesChart", + t("CARD_TYPES"), + t("CARD_TYPES_DESC"), + [ + `${t("CARD_TYPE_NEW")} - ${Math.round( + cardStats.newCount / totalCardsCount * 100 + )}%`, + `${t("CARD_TYPE_YOUNG")} - ${Math.round( + cardStats.youngCount / totalCardsCount * 100 + )}%`, + `${t("CARD_TYPE_MATURE")} - ${Math.round( + cardStats.matureCount / totalCardsCount * 100 + )}%` + ], + [cardStats.newCount, cardStats.youngCount, cardStats.matureCount], + t("CARD_TYPES_SUMMARY", { totalCardsCount }) + ); } onClose() { const { contentEl } = this; @@ -14567,7 +14598,7 @@ function createStatsChart(type, canvasId, title, subtitle, labels, data, summary backgroundColor = ["#2196f3", "#4caf50", "green"]; } const shouldFilter = canvasId === "forecastChart" || canvasId === "intervalsChart"; - const statsChart = new Chart(document.getElementById(canvasId), { + const statsChart = new Chart$1(document.getElementById(canvasId), { type, data: { labels: shouldFilter ? labels.slice(0, 31) : labels, @@ -14633,7 +14664,7 @@ function createStatsChart(type, canvasId, title, subtitle, labels, data, summary } // src/sidebar.ts -var import_obsidian5 = __toModule(require("obsidian")); +var import_obsidian5 = require("obsidian"); var REVIEW_QUEUE_VIEW_TYPE = "review-queue-list-view"; var ReviewQueueListView = class extends import_obsidian5.ItemView { constructor(leaf, plugin) { @@ -14665,9 +14696,21 @@ var ReviewQueueListView = class extends import_obsidian5.ItemView { for (const deckKey in this.plugin.reviewDecks) { const deck = this.plugin.reviewDecks[deckKey]; const deckCollapsed = !deck.activeFolders.has(deck.deckName); - const deckFolderEl = this.createRightPaneFolder(childrenEl, deckKey, deckCollapsed, false, deck).getElementsByClassName("nav-folder-children")[0]; + const deckFolderEl = this.createRightPaneFolder( + childrenEl, + deckKey, + deckCollapsed, + false, + deck + ).getElementsByClassName("nav-folder-children")[0]; if (deck.newNotes.length > 0) { - const newNotesFolderEl = this.createRightPaneFolder(deckFolderEl, t("NEW"), !deck.activeFolders.has(t("NEW")), deckCollapsed, deck); + const newNotesFolderEl = this.createRightPaneFolder( + deckFolderEl, + t("NEW"), + !deck.activeFolders.has(t("NEW")), + deckCollapsed, + deck + ); for (const newFile of deck.newNotes) { const fileIsOpen = activeFile && newFile.path === activeFile.path; if (fileIsOpen) { @@ -14676,7 +14719,14 @@ var ReviewQueueListView = class extends import_obsidian5.ItemView { this.changeFolderIconToExpanded(newNotesFolderEl); this.changeFolderIconToExpanded(deckFolderEl); } - this.createRightPaneFile(newNotesFolderEl, newFile, fileIsOpen, !deck.activeFolders.has(t("NEW")), deck, this.plugin); + this.createRightPaneFile( + newNotesFolderEl, + newFile, + fileIsOpen, + !deck.activeFolders.has(t("NEW")), + deck, + this.plugin + ); } } if (deck.scheduledNotes.length > 0) { @@ -14699,7 +14749,13 @@ var ReviewQueueListView = class extends import_obsidian5.ItemView { } else { folderTitle = new Date(sNote.dueUnix).toDateString(); } - schedFolderEl = this.createRightPaneFolder(deckFolderEl, folderTitle, !deck.activeFolders.has(folderTitle), deckCollapsed, deck); + schedFolderEl = this.createRightPaneFolder( + deckFolderEl, + folderTitle, + !deck.activeFolders.has(folderTitle), + deckCollapsed, + deck + ); currUnix = sNote.dueUnix; } const fileIsOpen = activeFile && sNote.note.path === activeFile.path; @@ -14709,7 +14765,14 @@ var ReviewQueueListView = class extends import_obsidian5.ItemView { this.changeFolderIconToExpanded(schedFolderEl); this.changeFolderIconToExpanded(deckFolderEl); } - this.createRightPaneFile(schedFolderEl, sNote.note, fileIsOpen, !deck.activeFolders.has(folderTitle), deck, this.plugin); + this.createRightPaneFile( + schedFolderEl, + sNote.note, + fileIsOpen, + !deck.activeFolders.has(folderTitle), + deck, + this.plugin + ); } } } @@ -14721,7 +14784,9 @@ var ReviewQueueListView = class extends import_obsidian5.ItemView { const folderEl = parentEl.createDiv("nav-folder"); const folderTitleEl = folderEl.createDiv("nav-folder-title"); const childrenEl = folderEl.createDiv("nav-folder-children"); - const collapseIconEl = folderTitleEl.createDiv("nav-folder-collapse-indicator collapse-icon"); + const collapseIconEl = folderTitleEl.createDiv( + "nav-folder-collapse-indicator collapse-icon" + ); collapseIconEl.innerHTML = COLLAPSE_ICON; if (collapsed) { collapseIconEl.childNodes[0].style.transform = "rotate(-90deg)"; @@ -14755,22 +14820,30 @@ var ReviewQueueListView = class extends import_obsidian5.ItemView { navFileTitle.addClass("is-active"); } navFileTitle.createDiv("nav-file-title-content").setText(file.basename); - navFileTitle.addEventListener("click", (event) => __async(this, null, function* () { - event.preventDefault(); - plugin.lastSelectedReviewDeck = deck.deckName; - yield this.app.workspace.getLeaf().openFile(file); - return false; - }), false); - navFileTitle.addEventListener("contextmenu", (event) => { - event.preventDefault(); - const fileMenu = new import_obsidian5.Menu(); - this.app.workspace.trigger("file-menu", fileMenu, file, "my-context-menu", null); - fileMenu.showAtPosition({ - x: event.pageX, - y: event.pageY - }); - return false; - }, false); + navFileTitle.addEventListener( + "click", + async (event) => { + event.preventDefault(); + plugin.lastSelectedReviewDeck = deck.deckName; + await this.app.workspace.getLeaf().openFile(file); + return false; + }, + false + ); + navFileTitle.addEventListener( + "contextmenu", + (event) => { + event.preventDefault(); + const fileMenu = new import_obsidian5.Menu(); + this.app.workspace.trigger("file-menu", fileMenu, file, "my-context-menu", null); + fileMenu.showAtPosition({ + x: event.pageX, + y: event.pageY + }); + return false; + }, + false + ); } changeFolderIconToExpanded(folderEl) { const collapseIconEl = folderEl.find("div.nav-folder-collapse-indicator"); @@ -14779,17 +14852,19 @@ var ReviewQueueListView = class extends import_obsidian5.ItemView { }; // src/review-deck.ts -var import_obsidian6 = __toModule(require("obsidian")); +var import_obsidian6 = require("obsidian"); var ReviewDeck = class { - constructor(name) { + constructor(name2) { this.newNotes = []; this.scheduledNotes = []; this.dueNotesCount = 0; - this.deckName = name; - this.activeFolders = new Set([this.deckName, t("TODAY")]); + this.deckName = name2; + this.activeFolders = /* @__PURE__ */ new Set([this.deckName, t("TODAY")]); } sortNotes(pageranks) { - this.newNotes = this.newNotes.sort((a, b) => (pageranks[b.path] || 0) - (pageranks[a.path] || 0)); + this.newNotes = this.newNotes.sort( + (a, b) => (pageranks[b.path] || 0) - (pageranks[a.path] || 0) + ); this.scheduledNotes = this.scheduledNotes.sort((a, b) => { const result = a.dueUnix - b.dueUnix; if (result != 0) { @@ -14800,8 +14875,8 @@ var ReviewDeck = class { } }; var ReviewDeckSelectionModal = class extends import_obsidian6.FuzzySuggestModal { - constructor(app, deckKeys) { - super(app); + constructor(app2, deckKeys) { + super(app2); this.deckKeys = []; this.deckKeys = deckKeys; } @@ -14818,12 +14893,12 @@ var ReviewDeckSelectionModal = class extends import_obsidian6.FuzzySuggestModal }; // src/parser.ts -function parse2(text, singlelineCardSeparator, singlelineReversedCardSeparator, multilineCardSeparator, multilineReversedCardSeparator, convertHighlightsToClozes, convertBoldTextToClozes) { +function parse2(text, singlelineCardSeparator, singlelineReversedCardSeparator, multilineCardSeparator, multilineReversedCardSeparator, convertHighlightsToClozes, convertBoldTextToClozes, convertCurlyBracketsToClozes) { let cardText = ""; const cards = []; let cardType = null; let lineNo = 0; - const lines = text.split("\n"); + const lines = text.replaceAll("\r\n", "\n").split("\n"); for (let i = 0; i < lines.length; i++) { if (lines[i].length === 0) { if (cardType) { @@ -14843,7 +14918,7 @@ function parse2(text, singlelineCardSeparator, singlelineReversedCardSeparator, } cardText += lines[i]; if (lines[i].includes(singlelineReversedCardSeparator) || lines[i].includes(singlelineCardSeparator)) { - cardType = lines[i].includes(singlelineReversedCardSeparator) ? CardType.SingleLineReversed : CardType.SingleLineBasic; + cardType = lines[i].includes(singlelineReversedCardSeparator) ? 1 /* SingleLineReversed */ : 0 /* SingleLineBasic */; cardText = lines[i]; lineNo = i; if (i + 1 < lines.length && lines[i + 1].startsWith(""; + const replacementRegex = new RegExp(escapeRegexString(cardText), "gm"); + fileText = fileText.replace(replacementRegex, () => newCardText); + fileChanged = true; + } + const context = settings.showContextInCards ? getCardContext(lineNo, headings) : ""; + const siblings = []; + for (let i = 0; i < siblingMatches.length; i++) { + const front = siblingMatches[i][0].trim(), back = siblingMatches[i][1].trim(); + const cardObj = { + isDue: i < scheduling.length, + note, + lineNo, + front, + back, + cardText, + context, + cardType, + siblingIdx: i, + siblings + }; + if (ignoreStats) { + this.cardStats.newCount++; + cardObj.isDue = true; + this.deckTree.insertFlashcard([...deckPath], cardObj); + } else if (i < scheduling.length) { + const dueUnix = window.moment(scheduling[i][1], ["YYYY-MM-DD", "DD-MM-YYYY"]).valueOf(); + const nDays = Math.ceil((dueUnix - now) / (24 * 3600 * 1e3)); + if (!Object.prototype.hasOwnProperty.call(this.dueDatesFlashcards, nDays)) { + this.dueDatesFlashcards[nDays] = 0; + } + this.dueDatesFlashcards[nDays]++; + const interval = parseInt(scheduling[i][2]), ease = parseInt(scheduling[i][3]); + if (!Object.prototype.hasOwnProperty.call(this.cardStats.intervals, interval)) { + this.cardStats.intervals[interval] = 0; + } + this.cardStats.intervals[interval]++; + if (!Object.prototype.hasOwnProperty.call(this.cardStats.eases, ease)) { + this.cardStats.eases[ease] = 0; + } + this.cardStats.eases[ease]++; + totalNoteEase += ease; + scheduledCount++; + if (interval >= 32) { + this.cardStats.matureCount++; + } else { + this.cardStats.youngCount++; + } + if (this.data.buryList.includes(cardTextHash)) { + this.deckTree.countFlashcard([...deckPath]); + continue; + } + if (dueUnix <= now) { + cardObj.interval = interval; + cardObj.ease = ease; + cardObj.delayBeforeReview = now - dueUnix; + this.deckTree.insertFlashcard([...deckPath], cardObj); + } else { + this.deckTree.countFlashcard([...deckPath]); + continue; } } else { - let idx; - if (cardType === CardType.SingleLineBasic) { - idx = cardText.indexOf(settings.singlelineCardSeparator); - siblingMatches.push([ - cardText.substring(0, idx), - cardText.substring(idx + settings.singlelineCardSeparator.length) - ]); - } else if (cardType === CardType.SingleLineReversed) { - idx = cardText.indexOf(settings.singlelineReversedCardSeparator); - const side1 = cardText.substring(0, idx), side2 = cardText.substring(idx + settings.singlelineReversedCardSeparator.length); - siblingMatches.push([side1, side2]); - siblingMatches.push([side2, side1]); - } else if (cardType === CardType.MultiLineBasic) { - idx = cardText.indexOf("\n" + settings.multilineCardSeparator + "\n"); - siblingMatches.push([ - cardText.substring(0, idx), - cardText.substring(idx + 2 + settings.multilineCardSeparator.length) - ]); - } else if (cardType === CardType.MultiLineReversed) { - idx = cardText.indexOf("\n" + settings.multilineReversedCardSeparator + "\n"); - const side1 = cardText.substring(0, idx), side2 = cardText.substring(idx + 2 + settings.multilineReversedCardSeparator.length); - siblingMatches.push([side1, side2]); - siblingMatches.push([side2, side1]); + this.cardStats.newCount++; + if (this.data.buryList.includes(cyrb53(cardText))) { + this.deckTree.countFlashcard([...deckPath]); + continue; } + this.deckTree.insertFlashcard([...deckPath], cardObj); } - let scheduling = [...cardText.matchAll(MULTI_SCHEDULING_EXTRACTOR)]; - if (scheduling.length === 0) - scheduling = [...cardText.matchAll(LEGACY_SCHEDULING_EXTRACTOR)]; - if (scheduling.length > siblingMatches.length) { - const idxSched = cardText.lastIndexOf(""; - const replacementRegex = new RegExp(escapeRegexString(cardText), "gm"); - fileText = fileText.replace(replacementRegex, () => newCardText); - fileChanged = true; - } - const context = settings.showContextInCards ? getCardContext(lineNo, headings) : ""; - const siblings = []; - for (let i = 0; i < siblingMatches.length; i++) { - const front = siblingMatches[i][0].trim(), back = siblingMatches[i][1].trim(); - const cardObj = { - isDue: i < scheduling.length, - note, - lineNo, - front, - back, - cardText, - context, - cardType, - siblingIdx: i, - siblings - }; - if (ignoreStats) { - this.cardStats.newCount++; - cardObj.isDue = true; - this.deckTree.insertFlashcard([...deckPath], cardObj); - } else if (i < scheduling.length) { - const dueUnix = window.moment(scheduling[i][1], ["YYYY-MM-DD", "DD-MM-YYYY"]).valueOf(); - const nDays = Math.ceil((dueUnix - now) / (24 * 3600 * 1e3)); - if (!Object.prototype.hasOwnProperty.call(this.dueDatesFlashcards, nDays)) { - this.dueDatesFlashcards[nDays] = 0; - } - this.dueDatesFlashcards[nDays]++; - const interval = parseInt(scheduling[i][2]), ease = parseInt(scheduling[i][3]); - if (!Object.prototype.hasOwnProperty.call(this.cardStats.intervals, interval)) { - this.cardStats.intervals[interval] = 0; - } - this.cardStats.intervals[interval]++; - if (!Object.prototype.hasOwnProperty.call(this.cardStats.eases, ease)) { - this.cardStats.eases[ease] = 0; - } - this.cardStats.eases[ease]++; - totalNoteEase += ease; - scheduledCount++; - if (interval >= 32) { - this.cardStats.matureCount++; - } else { - this.cardStats.youngCount++; - } - if (this.data.buryList.includes(cardTextHash)) { - this.deckTree.countFlashcard([...deckPath]); - continue; - } - if (dueUnix <= now) { - cardObj.interval = interval; - cardObj.ease = ease; - cardObj.delayBeforeReview = now - dueUnix; - this.deckTree.insertFlashcard([...deckPath], cardObj); - } else { - this.deckTree.countFlashcard([...deckPath]); - continue; - } - } else { - this.cardStats.newCount++; - if (this.data.buryList.includes(cyrb53(cardText))) { - this.deckTree.countFlashcard([...deckPath]); - continue; - } - this.deckTree.insertFlashcard([...deckPath], cardObj); - } - siblings.push(cardObj); - } + siblings.push(cardObj); } - if (fileChanged) { - yield this.app.vault.modify(note, fileText); - } - if (scheduledCount > 0) { - const flashcardsInNoteAvgEase = totalNoteEase / scheduledCount; - const flashcardContribution = Math.min(1, Math.log(scheduledCount + 0.5) / Math.log(64)); - return flashcardsInNoteAvgEase * flashcardContribution + settings.baseEase * (1 - flashcardContribution); - } - return 0; - }); + } + if (fileChanged) { + await this.app.vault.modify(note, fileText); + } + if (scheduledCount > 0) { + const flashcardsInNoteAvgEase = totalNoteEase / scheduledCount; + const flashcardContribution = Math.min( + 1, + Math.log(scheduledCount + 0.5) / Math.log(64) + ); + return flashcardsInNoteAvgEase * flashcardContribution + settings.baseEase * (1 - flashcardContribution); + } + return 0; } - loadPluginData() { - return __async(this, null, function* () { - this.data = Object.assign({}, DEFAULT_DATA, yield this.loadData()); - this.data.settings = Object.assign({}, DEFAULT_SETTINGS, this.data.settings); - }); + async loadPluginData() { + this.data = Object.assign({}, DEFAULT_DATA, await this.loadData()); + this.data.settings = Object.assign({}, DEFAULT_SETTINGS, this.data.settings); } - savePluginData() { - return __async(this, null, function* () { - yield this.saveData(this.data); - }); + async savePluginData() { + await this.saveData(this.data); } initView() { - if (this.app.workspace.getLeavesOfType(REVIEW_QUEUE_VIEW_TYPE).length) { - return; + this.registerView( + REVIEW_QUEUE_VIEW_TYPE, + (leaf) => this.reviewQueueView = new ReviewQueueListView(leaf, this) + ); + if (this.data.settings.enableNoteReviewPaneOnStartup && app.workspace.getLeavesOfType(REVIEW_QUEUE_VIEW_TYPE).length == 0) { + this.app.workspace.getRightLeaf(false).setViewState({ + type: REVIEW_QUEUE_VIEW_TYPE, + active: true + }); } - this.app.workspace.getRightLeaf(false).setViewState({ - type: REVIEW_QUEUE_VIEW_TYPE, - active: true - }); } }; function getCardContext(cardLine, headings) { @@ -15537,16 +15648,4 @@ function getCardContext(cardLine, headings) { } return context.slice(0, -3); } -/*! - * @kurkle/color v0.2.1 - * https://github.com/kurkle/color#readme - * (c) 2022 Jukka Kurkela - * Released under the MIT License - */ -/*! - * Chart.js v3.8.0 - * https://www.chartjs.org - * (c) 2022 Chart.js Contributors - * Released under the MIT License - */ -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vbm9kZV9tb2R1bGVzL3BhZ2VyYW5rLmpzL2xpYi9pbmRleC5qcyIsICIuLi9ub2RlX21vZHVsZXMvdmh0bWwvc3JjL2VtcHR5LXRhZ3MuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3ZodG1sL3NyYy92aHRtbC5qcyIsICIuLi9zcmMvbWFpbi50cyIsICIuLi9zcmMvc2V0dGluZ3MudHN4IiwgIi4uL3NyYy9sYW5nL2hlbHBlcnMudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2FyLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9jei50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvZGEudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2RlLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9lbi50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvZW4tZ2IudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2VzLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9mci50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvaGkudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2lkLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9pdC50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvamEudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2tvLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9ubC50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvbm8udHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL3BsLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9wdC50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvcHQtYnIudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL3JvLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9ydS50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvdHIudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL3poLWNuLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS96aC10dy50cyIsICIuLi9zcmMvZmxhc2hjYXJkLW1vZGFsLnRzeCIsICIuLi9zcmMvc2NoZWR1bGluZy50cyIsICIuLi9zcmMvY29uc3RhbnRzLnRzIiwgIi4uL3NyYy91dGlscy50cyIsICIuLi9zcmMvc3RhdHMtbW9kYWwudHN4IiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9kaXN0L2NodW5rcy9oZWxwZXJzLnNlZ21lbnQuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL2Rpc3QvY2hhcnQuZXNtLmpzIiwgIi4uL3NyYy9zaWRlYmFyLnRzIiwgIi4uL3NyYy9yZXZpZXctZGVjay50cyIsICIuLi9zcmMvcGFyc2VyLnRzIiwgIi4uL3NyYy9pY29ucy9hcHBpY29uLnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFFQSxvQkFBZ0IsUUFBUSxXQUFVO0FBQzlCLFVBQUssT0FBTyxXQUFXLFlBQWMsT0FBTyxjQUFhLFlBQWE7QUFDbEUsaUJBQVMsT0FBTyxRQUFRO0FBQ3BCLGNBQUksT0FBTyxlQUFlLFNBQVMsTUFBTTtBQUNyQyxnQkFBSSxVQUFTLEtBQUssT0FBTyxVQUFVLE9BQU87QUFDdEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT3BCLFlBQU8sVUFBVyxXQUFZO0FBQzFCLFVBQUksT0FBTztBQUFBLFFBQ1AsT0FBTztBQUFBLFFBQ1AsT0FBTztBQUFBLFFBQ1AsT0FBTztBQUFBO0FBR1gsV0FBSyxPQUFPLFNBQVUsUUFBUSxRQUFRLFFBQVE7QUFDMUMsWUFBSyxTQUFTLFlBQVksUUFBVSxXQUFXLE1BQU87QUFDbEQsbUJBQVM7QUFBQTtBQUdiLGlCQUFTLFdBQVc7QUFFcEIsWUFBSSxLQUFLLE1BQU0sZUFBZSxZQUFZLE1BQU07QUFDNUMsZUFBSztBQUNMLGVBQUssTUFBTSxVQUFVO0FBQUEsWUFDakIsUUFBUTtBQUFBLFlBQ1IsVUFBVTtBQUFBO0FBQUE7QUFJbEIsYUFBSyxNQUFNLFFBQVEsWUFBWTtBQUUvQixZ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SCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUEsRUFDSCxHQUFHO0FBQUE7QUFFTCxJQUFNLFVBQVU7QUFBQSxFQUNkLFFBQVE7QUFBQSxFQUNSLGFBQWE7QUFBQSxFQUNiLE1BQU07QUFBQSxFQUNOLFdBQVc7QUFBQSxFQUNYLE1BQU07QUFBQSxFQUNOLE9BQU87QUFBQSxFQUNQLFFBQVE7QUFBQSxFQUNSLE9BQU87QUFBQSxFQUNQLGNBQWM7QUFBQSxFQUNkLElBQUk7QUFBQSxFQUNKLFNBQVM7QUFBQSxFQUNULE1BQU07QUFBQSxFQUNOLFdBQVc7QUFBQSxFQUNYLFFBQVE7QUFBQSxFQUNSLFVBQVU7QUFBQSxFQUNWLFNBQVM7QUFBQSxFQUNULEtBQUs7QUFBQSxFQUNMLGFBQWE7QUFBQSxFQUNiLFNBQVM7QUFBQSxFQUNULFNBQVM7QUFBQSxFQUNULE1BQU07QUFBQSxFQUNOLEtBQUs7QUFBQSxFQUNMLE9BQU87QUFBQSxFQUNQLFNBQVM7QUFBQSxFQUNULE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxFQUNOLFFBQVE7QUFBQSxFQUNSLFNBQVM7QUFBQSxFQUNULFVBQVU7QUFBQSxFQUNWLFFBQVE7QUFBQSxFQUNSLE9BQU87QUFBQSxFQUNQLEtBQUs7QUFBQSxFQUNMLFFBQVE7QUFBQSxFQUNSLFFBQVE7QUFBQSxFQUNSLE1BQU07QUFBQSxFQUNOLE9BQU87QUFBQSxFQUNQLE9BQU87QUFBQSxFQUNQLEtBQUs7QUFBQSxFQUNMLFFBQVE7QUFBQSxFQUNSLFFBQVE7QUFBQSxFQUNSLFVBQVU7QUFBQSxFQUNWLFFBQVE7QUFBQSxFQUNSLFFBQVE7QUFBQSxFQUNSLFVBQVU7QUFBQSxFQUNWLFVBQVU7QUFBQSxFQUNWLFVBQVU7QUFBQSxFQUNWLFVBQVU7QUFBQSxFQUNWLFFBQVE7QUFBQSxFQUNSLFNBQVM7QUFBQSxFQUNULFdBQVc7QUFBQSxFQUNYLEtBQUs7QUFBQSxFQUNMLFFBQVE7QUFBQSxFQUNSLEtBQUs7QUFBQSxFQUNMLEtBQUs7QUFBQSxFQUNMLE9BQU87QUFBQSxFQUNQLEtBQUs7QUFBQSxFQUNMLFNBQVM7QUFBQSxFQUNULFFBQVE7QUFBQSxFQUNSLFNBQVM7QUFBQSxFQUNULE9BQU87QUFBQSxFQUNQLE1BQU07QUFBQSxFQUNOLE9BQU87QUFBQSxFQUNQLFFBQVE7QUFBQSxFQUNSLFdBQVc7QUFBQSxFQUNYLFNBQVM7QUFBQSxFQUNULFlBQVk7QUFBQSxFQUNaLEtBQUs7QUFBQSxFQUNMLE1BQU07QUFBQSxFQUNOLE9BQU87QUFBQSxFQUNQLFdBQVc7QUFBQSxFQUNYLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxFQUNOLFFBQVE7QUFBQSxFQUNSLFFBQVE7QUFBQSxFQUNSLFFBQVE7QUFBQSxFQUNSLE9BQU87QUFBQSxFQUNQLE9BQU87QUFBQSxFQUNQLFNBQVM7QUFBQSxFQUNULEtBQUs7QUFBQSxFQUNMLE1BQU07QUFBQSxFQUNOLFNBQVM7QUFBQSxFQUNULEtBQUs7QUFBQSxFQUNMLFFBQVE7QUFBQSxFQUNSLE9BQU87QUFBQSxFQUNQLFlBQVk7QUFBQSxFQUNaLEtBQUs7QUFBQSxFQUNMLE9BQU87QUFBQSxFQUNQLFFBQVE7QUFBQSxFQUNSLFFBQVE7QUFBQSxFQUNSLE1BQU07QUFBQSxFQUNOLFdBQVc7QUFBQSxFQUNYLEtBQUs7QUFB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 +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vbm9kZV9tb2R1bGVzL3BhZ2VyYW5rLmpzL2xpYi9pbmRleC5qcyIsICIuLi9ub2RlX21vZHVsZXMvdmh0bWwvc3JjL2VtcHR5LXRhZ3MuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3ZodG1sL3NyYy92aHRtbC5qcyIsICIuLi9zcmMvbWFpbi50cyIsICIuLi9zcmMvc2V0dGluZ3MudHMiLCAiLi4vc3JjL2xhbmcvaGVscGVycy50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvYXIudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2N6LnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9kYS50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvZGUudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2VuLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9lbi1nYi50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvZXMudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2ZyLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9oaS50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvaWQudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL2l0LnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9qYS50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUva28udHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL25sLnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9uby50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvcGwudHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL3B0LnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS9wdC1ici50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvcm8udHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL3J1LnRzIiwgIi4uL3NyYy9sYW5nL2xvY2FsZS90ci50cyIsICIuLi9zcmMvbGFuZy9sb2NhbGUvemgtY24udHMiLCAiLi4vc3JjL2xhbmcvbG9jYWxlL3poLXR3LnRzIiwgIi4uL3NyYy9mbGFzaGNhcmQtbW9kYWwudHN4IiwgIi4uL3NyYy9zY2hlZHVsaW5nLnRzIiwgIi4uL3NyYy9jb25zdGFudHMudHMiLCAiLi4vc3JjL3V0aWxzLnRzIiwgIi4uL3NyYy9zdGF0cy1tb2RhbC50c3giLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9oZWxwZXJzL2hlbHBlcnMuY29yZS50cyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2hlbHBlcnMvaGVscGVycy5tYXRoLnRzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvaGVscGVycy9oZWxwZXJzLmNvbGxlY3Rpb24udHMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9oZWxwZXJzL2hlbHBlcnMuZXh0cmFzLnRzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvaGVscGVycy9oZWxwZXJzLmVhc2luZy50cyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvbm9kZV9tb2R1bGVzLy5wbnBtL0BrdXJrbGUrY29sb3JAMC4yLjEvbm9kZV9tb2R1bGVzL0BrdXJrbGUvY29sb3IvZGlzdC9jb2xvci5lc20uanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9oZWxwZXJzL2hlbHBlcnMuY29sb3IudHMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb3JlL2NvcmUuYW5pbWF0aW9ucy5kZWZhdWx0cy5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvcmUvY29yZS5sYXlvdXRzLmRlZmF1bHRzLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvaGVscGVycy9oZWxwZXJzLmludGwudHMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb3JlL2NvcmUudGlja3MuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb3JlL2NvcmUuc2NhbGUuZGVmYXVsdHMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb3JlL2NvcmUuZGVmYXVsdHMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9oZWxwZXJzL2hlbHBlcnMuY2FudmFzLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvaGVscGVycy9oZWxwZXJzLm9wdGlvbnMudHMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9oZWxwZXJzL2hlbHBlcnMuY29uZmlnLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvaGVscGVycy9oZWxwZXJzLmN1cnZlLnRzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvaGVscGVycy9oZWxwZXJzLmRvbS50cyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2hlbHBlcnMvaGVscGVycy5pbnRlcnBvbGF0aW9uLnRzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvaGVscGVycy9oZWxwZXJzLnJ0bC50cyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2hlbHBlcnMvaGVscGVycy5zZWdtZW50LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvY29yZS9jb3JlLmFuaW1hdG9yLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvY29yZS9jb3JlLmFuaW1hdGlvbi5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvcmUvY29yZS5hbmltYXRpb25zLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvY29yZS9jb3JlLmRhdGFzZXRDb250cm9sbGVyLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvY29udHJvbGxlcnMvY29udHJvbGxlci5iYXIuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb250cm9sbGVycy9jb250cm9sbGVyLmJ1YmJsZS5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIuZG91Z2hudXQuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb250cm9sbGVycy9jb250cm9sbGVyLmxpbmUuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb250cm9sbGVycy9jb250cm9sbGVyLnBvbGFyQXJlYS5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIucGllLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvY29udHJvbGxlcnMvY29udHJvbGxlci5yYWRhci5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIuc2NhdHRlci5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvcmUvY29yZS5hZGFwdGVycy50cyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvcmUvY29yZS5pbnRlcmFjdGlvbi5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvcmUvY29yZS5sYXlvdXRzLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvcGxhdGZvcm0vcGxhdGZvcm0uYmFzZS5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL3BsYXRmb3JtL3BsYXRmb3JtLmJhc2ljLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvcGxhdGZvcm0vcGxhdGZvcm0uZG9tLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvcGxhdGZvcm0vaW5kZXguanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb3JlL2NvcmUuZWxlbWVudC50cyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvcmUvY29yZS5zY2FsZS5hdXRvc2tpcC5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvcmUvY29yZS5zY2FsZS5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2NvcmUvY29yZS50eXBlZFJlZ2lzdHJ5LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvY29yZS9jb3JlLnJlZ2lzdHJ5LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvY29yZS9jb3JlLnBsdWdpbnMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9jb3JlL2NvcmUuY29uZmlnLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvY29yZS9jb3JlLmNvbnRyb2xsZXIuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9lbGVtZW50cy9lbGVtZW50LmFyYy50cyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2VsZW1lbnRzL2VsZW1lbnQubGluZS5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2VsZW1lbnRzL2VsZW1lbnQucG9pbnQudHMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9lbGVtZW50cy9lbGVtZW50LmJhci5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL3BsdWdpbnMvcGx1Z2luLmNvbG9ycy50cyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL3BsdWdpbnMvcGx1Z2luLmRlY2ltYXRpb24uanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9wbHVnaW5zL3BsdWdpbi5maWxsZXIvZmlsbGVyLnNlZ21lbnQuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9wbHVnaW5zL3BsdWdpbi5maWxsZXIvZmlsbGVyLmhlbHBlci5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL3BsdWdpbnMvcGx1Z2luLmZpbGxlci9maWxsZXIub3B0aW9ucy5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL3BsdWdpbnMvcGx1Z2luLmZpbGxlci9maWxsZXIudGFyZ2V0LnN0YWNrLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvcGx1Z2lucy9wbHVnaW4uZmlsbGVyL3NpbXBsZUFyYy5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL3BsdWdpbnMvcGx1Z2luLmZpbGxlci9maWxsZXIudGFyZ2V0LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvcGx1Z2lucy9wbHVnaW4uZmlsbGVyL2ZpbGxlci5kcmF3aW5nLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvcGx1Z2lucy9wbHVnaW4uZmlsbGVyL2luZGV4LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvcGx1Z2lucy9wbHVnaW4ubGVnZW5kLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvcGx1Z2lucy9wbHVnaW4udGl0bGUuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9wbHVnaW5zL3BsdWdpbi5zdWJ0aXRsZS5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL3BsdWdpbnMvcGx1Z2luLnRvb2x0aXAuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9zY2FsZXMvc2NhbGUuY2F0ZWdvcnkuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9zY2FsZXMvc2NhbGUubGluZWFyYmFzZS5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL3NjYWxlcy9zY2FsZS5saW5lYXIuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9zY2FsZXMvc2NhbGUubG9nYXJpdGhtaWMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9zY2FsZXMvc2NhbGUucmFkaWFsTGluZWFyLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9jaGFydC5qcy9zcmMvc2NhbGVzL3NjYWxlLnRpbWUuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2NoYXJ0LmpzL3NyYy9zY2FsZXMvc2NhbGUudGltZXNlcmllcy5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhcnQuanMvc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9zaWRlYmFyLnRzIiwgIi4uL3NyYy9yZXZpZXctZGVjay50cyIsICIuLi9zcmMvcGFyc2VyLnRzIiwgIi4uL3NyYy9pY29ucy9hcHBpY29uLnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBLG1EQUFBQSxTQUFBO0FBQUE7QUFFQSxhQUFTLE9BQU8sUUFBUUMsV0FBVTtBQUM5QixVQUFLLE9BQU8sV0FBVyxZQUFjLE9BQU9BLGNBQWEsWUFBYTtBQUNsRSxpQkFBUyxPQUFPLFFBQVE7QUFDcEIsY0FBSSxPQUFPLGVBQWUsR0FBRyxNQUFNLE1BQU07QUFDckMsZ0JBQUlBLFVBQVMsS0FBSyxPQUFPLElBQUksTUFBTSxPQUFPO0FBQ3RDO0FBQUEsWUFDSjtBQUFBLFVBQ0o7QUFBQSxRQUNKO0FBQUEsTUFDSjtBQUFBLElBQ0o7QUFFQSxJQUFBRCxRQUFPLFVBQVcsV0FBWTtBQUMxQixVQUFJLE9BQU87QUFBQSxRQUNQLE9BQU87QUFBQSxRQUNQLE9BQU8sQ0FBQztBQUFBLFFBQ1IsT0FBTyxDQUFDO0FBQUEsTUFDWjtBQUVBLFdBQUssT0FBTyxTQUFVLFFBQVEsUUFBUSxRQUFRO0FBQzFDLFlBQUssU0FBUyxNQUFNLE1BQU0sUUFBVSxXQUFXLE1BQU87QUFDbEQsbUJBQVM7QUFBQSxRQUNiO0FBRUEsaUJBQVMsV0FBVyxNQUFNO0FBRTFCLFlBQUksS0FBSyxNQUFNLGVBQWUsTUFBTSxNQUFNLE1BQU07QUFDNUMsZUFBSztBQUNMLGVBQUssTUFBTSxVQUFVO0FBQUEsWUFDakIsUUFBUTtBQUFBLFlBQ1IsVUFBVTtBQUFBLFVBQ2Q7QUFBQSxRQUNKO0FBRUEsYUFBSyxNQUFNLFFBQVEsWUFBWTtBQUUvQixZQUFJLEtBQUssTUFBTSxlQUFlLE1BQU0sTUFBTSxNQUFNO0FBQzVDLGVBQUs7QUFDTCxlQUFLLE1BQU0sVUFBVTtBQUFBLFlBQ2pCLFFBQVE7QUFBQSxZQUNS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QUFNLFFBQXdCLENBQUM7QUFDL0IsYUFBVyxXQUFXLFVBQVU7QUFDNUIsUUFBSSxRQUFRLFNBQVMsTUFBTSxPQUFPLFVBQVU7QUFDeEM7QUFBQSxJQUNKO0FBRUEsV0FBTyxNQUFNLFNBQVMsS0FBSyxNQUFNLE1BQU0sU0FBUyxHQUFHLFNBQVMsUUFBUSxPQUFPO0FBQ3ZFLFlBQU0sSUFBSTtBQUFBLElBQ2Q7QUFFQSxVQUFNLEtBQUssT0FBTztBQUFBLEVBQ3RCO0FBRUEsTUFBSSxVQUFVO0FBQ2QsYUFBVyxjQUFjLE9BQU87QUFDNUIsZUFBVyxVQUFVLFdBQVcsUUFBUSxRQUFRLGVBQWUsRUFBRSxFQUFFLEtBQUs7QUFDeEUsZUFBVyxXQUFXLFVBQVU7QUFBQSxFQUNwQztBQUNBLFNBQU8sUUFBUSxNQUFNLEdBQUcsRUFBRTtBQUM5QjsiLAogICJuYW1lcyI6IFsibW9kdWxlIiwgImNhbGxiYWNrIiwgImFscGhhIiwgImVzYyIsICJTdHJpbmciLCAic3RyIiwgInJlcGxhY2UiLCAibWFwIiwgInMiLCAic2V0SW5uZXJIVE1MQXR0ciIsICJET01BdHRyaWJ1dGVOYW1lcyIsICJzYW5pdGl6ZWQiLCAiaCIsICJuYW1lIiwgImF0dHJzIiwgInN0YWNrIiwgImkiLCAiYXJndW1lbnRzIiwgImxlbmd0aCIsICJwdXNoIiwgImNoaWxkcmVuIiwgInJldmVyc2UiLCAiZW1wdHlUYWdzIiwgImluZGV4T2YiLCAiX19odG1sIiwgImNoaWxkIiwgInBvcCIsICJpbXBvcnRfb2JzaWRpYW4iLCAiaW1wb3J0X29ic2lkaWFuIiwgIm5hbWVzIiwgImNhbGxiYWNrIiwgImFwcCIsICJpbXBvcnRfb2JzaWRpYW4iLCAiaDEiLCAiaDIiLCAiYXBwIiwgImgiLCAibGluayIsICJkZWNrIiwgImltcG9ydF9vYnNpZGlhbiIsICJpbXBvcnRfdmh0bWwiLCAibm9vcCIsICJ1aWQiLCAiaWQiLCAiaXNOdWxsT3JVbmRlZiIsICJ2YWx1ZSIsICJpc0FycmF5IiwgIkFycmF5IiwgInR5cGUiLCAiT2JqZWN0IiwgInByb3RvdHlwZSIsICJ0b1N0cmluZyIsICJjYWxsIiwgInNsaWNlIiwgImlzT2JqZWN0IiwgImlzTnVtYmVyRmluaXRlIiwgIk51bWJlciIsICJpc0Zpbml0ZSIsICJmaW5pdGVPckRlZmF1bHQiLCAiZGVmYXVsdFZhbHVlIiwgInZhbHVlT3JEZWZhdWx0IiwgInRvUGVyY2VudGFnZSIsICJkaW1lbnNpb24iLCAiZW5kc1dpdGgiLCAicGFyc2VGbG9hdCIsICJ0b0RpbWVuc2lvbiIsICJjYWxsYmFjayIsICJmbiIsICJhcmdzIiwgInRoaXNBcmciLCAiYXBwbHkiLCAiZWFjaCIsICJsb29wYWJsZSIsICJyZXZlcnNlIiwgImkiLCAibGVuIiwgImtleXMiLCAibGVuZ3RoIiwgIl9lbGVtZW50c0VxdWFsIiwgImEwIiwgImExIiwgImlsZW4iLCAidjAiLCAidjEiLCAiZGF0YXNldEluZGV4IiwgImluZGV4IiwgImNsb25lIiwgInNvdXJjZSIsICJtYXAiLCAidGFyZ2V0IiwgImNyZWF0ZSIsICJrbGVuIiwgImsiLCAiaXNWYWxpZEtleSIsICJrZXkiLCAiaW5kZXhPZiIsICJfbWVyZ2VyIiwgIm9wdGlvbnMiLCAidHZhbCIsICJzdmFsIiwgIm1lcmdlIiwgInNvdXJjZXMiLCAibWVyZ2VyIiwgImN1cnJlbnQiLCAibWVyZ2VJZiIsICJfbWVyZ2VySWYiLCAiaGFzT3duUHJvcGVydHkiLCAia2V5UmVzb2x2ZXJzIiwgInYiLCAieCIsICJvIiwgInkiLCAiX3NwbGl0S2V5IiwgImtleSIsICJwYXJ0cyIsICJzcGxpdCIsICJrZXlzIiwgInRtcCIsICJwYXJ0IiwgImVuZHNXaXRoIiwgInNsaWNlIiwgInB1c2giLCAiX2dldEtleVJlc29sdmVyIiwgIm9iaiIsICJrIiwgInJlc29sdmVPYmplY3RLZXkiLCAicmVzb2x2ZXIiLCAiX2NhcGl0YWxpemUiLCAic3RyIiwgImNoYXJBdCIsICJ0b1VwcGVyQ2FzZSIsICJkZWZpbmVkIiwgInZhbHVlIiwgImlzRnVuY3Rpb24iLCAic2V0c0VxdWFsIiwgImEiLCAiYiIsICJzaXplIiwgIml0ZW0iLCAiaGFzIiwgIl9pc0NsaWNrRXZlbnQiLCAiZSIsICJ0eXBlIiwgIlBJIiwgIk1hdGgiLCAiVEFVIiwgIlBJVEFVIiwgIklORklOSVRZIiwgIk51bWJlciIsICJQT1NJVElWRV9JTkZJTklUWSIsICJSQURfUEVSX0RFRyIsICJIQUxGX1BJIiwgIlFVQVJURVJfUEkiLCAiVFdPX1RISVJEU19QSSIsICJsb2cxMCIsICJzaWduIiwgImFsbW9zdEVxdWFscyIsICJlcHNpbG9uIiwgImFicyIsICJuaWNlTnVtIiwgInJhbmdlIiwgInJvdW5kZWRSYW5nZSIsICJyb3VuZCIsICJuaWNlUmFuZ2UiLCAicG93IiwgImZsb29yIiwgImZyYWN0aW9uIiwgIm5pY2VGcmFjdGlvbiIsICJfZmFjdG9yaXplIiwgInJlc3VsdCIsICJzcXJ0IiwgImkiLCAic29ydCIsICJwb3AiLCAiaXNOdW1iZXIiLCAibiIsICJpc05hTiIsICJwYXJzZUZsb2F0IiwgImlzRmluaXRlIiwgImFsbW9zdFdob2xlIiwgInJvdW5kZWQiLCAiX3NldE1pbkFuZE1heEJ5S2V5IiwgImFycmF5IiwgInRhcmdldCIsICJwcm9wZXJ0eSIsICJpbGVuIiwgImxlbmd0aCIsICJtaW4iLCAibWF4IiwgInRvUmFkaWFucyIsICJkZWdyZWVzIiwgInRvRGVncmVlcyIsICJyYWRpYW5zIiwgIl9kZWNpbWFsUGxhY2VzIiwgImlzRmluaXRlTnVtYmVyIiwgInAiLCAiZ2V0QW5nbGVGcm9tUG9pbnQiLCAiY2VudHJlUG9pbnQiLCAiYW5nbGVQb2ludCIsICJkaXN0YW5jZUZyb21YQ2VudGVyIiwgImRpc3RhbmNlRnJvbVlDZW50ZXIiLCAicmFkaWFsRGlzdGFuY2VGcm9tQ2VudGVyIiwgImFuZ2xlIiwgImF0YW4yIiwgImRpc3RhbmNlIiwgImRpc3RhbmNlQmV0d2VlblBvaW50cyIsICJwdDEiLCAicHQyIiwgIl9ub3JtYWxpemVBbmdsZSIsICJhIiwgIlRBVSIsICJfYW5nbGVCZXR3ZWVuIiwgImFuZ2xlIiwgInN0YXJ0IiwgImVuZCIsICJzYW1lQW5nbGVJc0Z1bGxDaXJjbGUiLCAicyIsICJlIiwgImFuZ2xlVG9TdGFydCIsICJhbmdsZVRvRW5kIiwgInN0YXJ0VG9BbmdsZSIsICJlbmRUb0FuZ2xlIiwgIl9saW1pdFZhbHVlIiwgInZhbHVlIiwgIm1pbiIsICJtYXgiLCAiTWF0aCIsICJfaW50MTZSYW5nZSIsICJfaXNCZXR3ZWVuIiwgImVwc2lsb24iLCAiX2xvb2t1cCIsICJ0YWJsZSIsICJjbXAiLCAiaW5kZXgiLCAiaGkiLCAibGVuZ3RoIiwgImxvIiwgIm1pZCIsICJfbG9va3VwQnlLZXkiLCAia2V5IiwgImxhc3QiLCAidGkiLCAiX3Jsb29rdXBCeUtleSIsICJfZmlsdGVyQmV0d2VlbiIsICJ2YWx1ZXMiLCAic2xpY2UiLCAiYXJyYXlFdmVudHMiLCAibGlzdGVuQXJyYXlFdmVudHMiLCAiYXJyYXkiLCAibGlzdGVuZXIiLCAiX2NoYXJ0anMiLCAibGlzdGVuZXJzIiwgInB1c2giLCAiT2JqZWN0IiwgImRlZmluZVByb3BlcnR5IiwgImNvbmZpZ3VyYWJsZSIsICJlbnVtZXJhYmxlIiwgImZvckVhY2giLCAibWV0aG9kIiwgIl9jYXBpdGFsaXplIiwgImJhc2UiLCAiYXJncyIsICJyZXMiLCAiYXBwbHkiLCAib2JqZWN0IiwgInVubGlzdGVuQXJyYXlFdmVudHMiLCAic3R1YiIsICJpbmRleE9mIiwgInNwbGljZSIsICJfYXJyYXlVbmlxdWUiLCAiaXRlbXMiLCAic2V0IiwgIlNldCIsICJpIiwgImlsZW4iLCAiYWRkIiwgInNpemUiLCAiQXJyYXkiLCAiZnJvbSIsICJyZXF1ZXN0QW5pbUZyYW1lIiwgIndpbmRvdyIsICJjYWxsYmFjayIsICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCAidGhyb3R0bGVkIiwgImZuIiwgInRoaXNBcmciLCAidGlja2luZyIsICJhcmdzIiwgImNhbGwiLCAiYXBwbHkiLCAiZGVib3VuY2UiLCAiZGVsYXkiLCAidGltZW91dCIsICJjbGVhclRpbWVvdXQiLCAic2V0VGltZW91dCIsICJfdG9MZWZ0UmlnaHRDZW50ZXIiLCAiYWxpZ24iLCAiX2FsaWduU3RhcnRFbmQiLCAic3RhcnQiLCAiZW5kIiwgIl90ZXh0WCIsICJsZWZ0IiwgInJpZ2h0IiwgInJ0bCIsICJjaGVjayIsICJhdEVkZ2UiLCAidCIsICJlbGFzdGljSW4iLCAicyIsICJwIiwgIk1hdGgiLCAicG93IiwgInNpbiIsICJUQVUiLCAiZWxhc3RpY091dCIsICJlZmZlY3RzIiwgImxpbmVhciIsICJlYXNlSW5RdWFkIiwgImVhc2VPdXRRdWFkIiwgImVhc2VJbk91dFF1YWQiLCAiZWFzZUluQ3ViaWMiLCAiZWFzZU91dEN1YmljIiwgImVhc2VJbk91dEN1YmljIiwgImVhc2VJblF1YXJ0IiwgImVhc2VPdXRRdWFydCIsICJlYXNlSW5PdXRRdWFydCIsICJlYXNlSW5RdWludCIsICJlYXNlT3V0UXVpbnQiLCAiZWFzZUluT3V0UXVpbnQiLCAiZWFzZUluU2luZSIsICJjb3MiLCAiSEFMRl9QSSIsICJlYXNlT3V0U2luZSIsICJlYXNlSW5PdXRTaW5lIiwgIlBJIiwgImVhc2VJbkV4cG8iLCAiZWFzZU91dEV4cG8iLCAiZWFzZUluT3V0RXhwbyIsICJlYXNlSW5DaXJjIiwgInNxcnQiLCAiZWFzZU91dENpcmMiLCAiZWFzZUluT3V0Q2lyYyIsICJlYXNlSW5FbGFzdGljIiwgImVhc2VPdXRFbGFzdGljIiwgImVhc2VJbk91dEVsYXN0aWMiLCAiZWFzZUluQmFjayIsICJlYXNlT3V0QmFjayIsICJlYXNlSW5PdXRCYWNrIiwgImVhc2VJbkJvdW5jZSIsICJlYXNlT3V0Qm91bmNlIiwgIm0iLCAiZCIsICJlYXNlSW5PdXRCb3VuY2UiLCAiaCIsICJpbnRlcnBvbGF0ZSIsICJjb2xvciIsICJpc1BhdHRlcm5PckdyYWRpZW50IiwgInZhbHVlIiwgInR5cGUiLCAidG9TdHJpbmciLCAiY29sb3JMaWIiLCAiZ2V0SG92ZXJDb2xvciIsICJzYXR1cmF0ZSIsICJkYXJrZW4iLCAiaGV4U3RyaW5nIiwgIm51bWJlcnMiLCAiY29sb3JzIiwgImFwcGx5QW5pbWF0aW9uc0RlZmF1bHRzIiwgImRlZmF1bHRzIiwgInNldCIsICJkZWxheSIsICJ1bmRlZmluZWQiLCAiZHVyYXRpb24iLCAiZWFzaW5nIiwgImZuIiwgImZyb20iLCAibG9vcCIsICJ0byIsICJkZXNjcmliZSIsICJfZmFsbGJhY2siLCAiX2luZGV4YWJsZSIsICJfc2NyaXB0YWJsZSIsICJuYW1lIiwgInByb3BlcnRpZXMiLCAiYWN0aXZlIiwgImFuaW1hdGlvbiIsICJyZXNpemUiLCAic2hvdyIsICJhbmltYXRpb25zIiwgInZpc2libGUiLCAiaGlkZSIsICJ2IiwgImFwcGx5TGF5b3V0c0RlZmF1bHRzIiwgImF1dG9QYWRkaW5nIiwgInBhZGRpbmciLCAidG9wIiwgInJpZ2h0IiwgImJvdHRvbSIsICJsZWZ0IiwgImludGxDYWNoZSIsICJNYXAiLCAiZ2V0TnVtYmVyRm9ybWF0IiwgImxvY2FsZSIsICJvcHRpb25zIiwgImNhY2hlS2V5IiwgIkpTT04iLCAic3RyaW5naWZ5IiwgImZvcm1hdHRlciIsICJnZXQiLCAiSW50bCIsICJOdW1iZXJGb3JtYXQiLCAiZm9ybWF0TnVtYmVyIiwgIm51bSIsICJmb3JtYXQiLCAiZm9ybWF0dGVycyIsICJ2YWx1ZXMiLCAiaXNBcnJheSIsICJudW1lcmljIiwgInRpY2tWYWx1ZSIsICJpbmRleCIsICJ0aWNrcyIsICJjaGFydCIsICJub3RhdGlvbiIsICJkZWx0YSIsICJsZW5ndGgiLCAibWF4VGljayIsICJtYXgiLCAiYWJzIiwgImNhbGN1bGF0ZURlbHRhIiwgImxvZ0RlbHRhIiwgImxvZzEwIiwgIm51bURlY2ltYWwiLCAibWluIiwgImZsb29yIiwgIm1pbmltdW1GcmFjdGlvbkRpZ2l0cyIsICJtYXhpbXVtRnJhY3Rpb25EaWdpdHMiLCAiT2JqZWN0IiwgImFzc2lnbiIsICJsb2dhcml0aG1pYyIsICJyZW1haW4iLCAic2lnbmlmaWNhbmQiLCAiaW5jbHVkZXMiLCAiY2FsbCIsICJhcHBseVNjYWxlRGVmYXVsdHMiLCAiZGlzcGxheSIsICJvZmZzZXQiLCAicmV2ZXJzZSIsICJiZWdpbkF0WmVybyIsICJib3VuZHMiLCAiZ3JhY2UiLCAiZ3JpZCIsICJsaW5lV2lkdGgiLCAiZHJhd09uQ2hhcnRBcmVhIiwgImRyYXdUaWNrcyIsICJ0aWNrTGVuZ3RoIiwgInRpY2tXaWR0aCIsICJfY3R4IiwgInRpY2tDb2xvciIsICJib3JkZXIiLCAiZGFzaCIsICJkYXNoT2Zmc2V0IiwgIndpZHRoIiwgInRpdGxlIiwgInRleHQiLCAibWluUm90YXRpb24iLCAibWF4Um90YXRpb24iLCAibWlycm9yIiwgInRleHRTdHJva2VXaWR0aCIsICJ0ZXh0U3Ryb2tlQ29sb3IiLCAiYXV0b1NraXAiLCAiYXV0b1NraXBQYWRkaW5nIiwgImxhYmVsT2Zmc2V0IiwgImNhbGxiYWNrIiwgIlRpY2tzIiwgIm1pbm9yIiwgIm1ham9yIiwgImFsaWduIiwgImNyb3NzQWxpZ24iLCAic2hvd0xhYmVsQmFja2Ryb3AiLCAiYmFja2Ryb3BDb2xvciIsICJiYWNrZHJvcFBhZGRpbmciLCAicm91dGUiLCAic3RhcnRzV2l0aCIsICJvdmVycmlkZXMiLCAiY3JlYXRlIiwgImRlc2NyaXB0b3JzIiwgImdldFNjb3BlIiwgIm5vZGUiLCAia2V5IiwgImtleXMiLCAic3BsaXQiLCAiaSIsICJuIiwgImsiLCAicm9vdCIsICJzY29wZSIsICJtZXJnZSIsICJEZWZhdWx0cyIsICJjb25zdHJ1Y3RvciIsICJfZGVzY3JpcHRvcnMiLCAiX2FwcGxpZXJzIiwgImJhY2tncm91bmRDb2xvciIsICJib3JkZXJDb2xvciIsICJkYXRhc2V0cyIsICJkZXZpY2VQaXhlbFJhdGlvIiwgImNvbnRleHQiLCAicGxhdGZvcm0iLCAiZ2V0RGV2aWNlUGl4ZWxSYXRpbyIsICJlbGVtZW50cyIsICJldmVudHMiLCAiZm9udCIsICJmYW1pbHkiLCAic2l6ZSIsICJzdHlsZSIsICJsaW5lSGVpZ2h0IiwgIndlaWdodCIsICJob3ZlciIsICJob3ZlckJhY2tncm91bmRDb2xvciIsICJjdHgiLCAiaG92ZXJCb3JkZXJDb2xvciIsICJob3ZlckNvbG9yIiwgImluZGV4QXhpcyIsICJpbnRlcmFjdGlvbiIsICJtb2RlIiwgImludGVyc2VjdCIsICJpbmNsdWRlSW52aXNpYmxlIiwgIm1haW50YWluQXNwZWN0UmF0aW8iLCAib25Ib3ZlciIsICJvbkNsaWNrIiwgInBhcnNpbmciLCAicGx1Z2lucyIsICJyZXNwb25zaXZlIiwgInNjYWxlIiwgInNjYWxlcyIsICJzaG93TGluZSIsICJkcmF3QWN0aXZlRWxlbWVudHNPblRvcCIsICJhcHBseSIsICJvdmVycmlkZSIsICJ0YXJnZXRTY29wZSIsICJ0YXJnZXROYW1lIiwgInNjb3BlT2JqZWN0IiwgInRhcmdldFNjb3BlT2JqZWN0IiwgInByaXZhdGVOYW1lIiwgImRlZmluZVByb3BlcnRpZXMiLCAid3JpdGFibGUiLCAiZW51bWVyYWJsZSIsICJsb2NhbCIsICJ0YXJnZXQiLCAiaXNPYmplY3QiLCAidmFsdWVPckRlZmF1bHQiLCAiYXBwbGllcnMiLCAiZm9yRWFjaCIsICJ0b0ZvbnRTdHJpbmciLCAiaXNOdWxsT3JVbmRlZiIsICJfbWVhc3VyZVRleHQiLCAiZGF0YSIsICJnYyIsICJsb25nZXN0IiwgInN0cmluZyIsICJ0ZXh0V2lkdGgiLCAibWVhc3VyZVRleHQiLCAicHVzaCIsICJfbG9uZ2VzdFRleHQiLCAiYXJyYXlPZlRoaW5ncyIsICJjYWNoZSIsICJnYXJiYWdlQ29sbGVjdCIsICJzYXZlIiwgImlsZW4iLCAiaiIsICJqbGVuIiwgInRoaW5nIiwgIm5lc3RlZFRoaW5nIiwgInJlc3RvcmUiLCAiZ2NMZW4iLCAic3BsaWNlIiwgIl9hbGlnblBpeGVsIiwgInBpeGVsIiwgImN1cnJlbnREZXZpY2VQaXhlbFJhdGlvIiwgImhhbGZXaWR0aCIsICJyb3VuZCIsICJjbGVhckNhbnZhcyIsICJjYW52YXMiLCAiZ2V0Q29udGV4dCIsICJyZXNldFRyYW5zZm9ybSIsICJjbGVhclJlY3QiLCAiaGVpZ2h0IiwgImRyYXdQb2ludCIsICJ4IiwgInkiLCAiZHJhd1BvaW50TGVnZW5kIiwgInciLCAieE9mZnNldCIsICJ5T2Zmc2V0IiwgImNvcm5lclJhZGl1cyIsICJ4T2Zmc2V0VyIsICJ5T2Zmc2V0VyIsICJwb2ludFN0eWxlIiwgInJvdGF0aW9uIiwgInJhZGl1cyIsICJyYWQiLCAiUkFEX1BFUl9ERUciLCAidHJhbnNsYXRlIiwgInJvdGF0ZSIsICJkcmF3SW1hZ2UiLCAiaXNOYU4iLCAiYmVnaW5QYXRoIiwgImVsbGlwc2UiLCAiYXJjIiwgImNsb3NlUGF0aCIsICJtb3ZlVG8iLCAiVFdPX1RISVJEU19QSSIsICJsaW5lVG8iLCAiUVVBUlRFUl9QSSIsICJTUVJUMV8yIiwgInJlY3QiLCAiZmlsbCIsICJib3JkZXJXaWR0aCIsICJzdHJva2UiLCAiX2lzUG9pbnRJbkFyZWEiLCAicG9pbnQiLCAiYXJlYSIsICJtYXJnaW4iLCAiY2xpcEFyZWEiLCAiY2xpcCIsICJ1bmNsaXBBcmVhIiwgInJlbmRlclRleHQiLCAiY3R4IiwgInRleHQiLCAieCIsICJ5IiwgImZvbnQiLCAib3B0cyIsICJsaW5lcyIsICJpc0FycmF5IiwgInN0cm9rZSIsICJzdHJva2VXaWR0aCIsICJzdHJva2VDb2xvciIsICJpIiwgImxpbmUiLCAic2F2ZSIsICJzdHJpbmciLCAic2V0UmVuZGVyT3B0cyIsICJsZW5ndGgiLCAiYmFja2Ryb3AiLCAiZHJhd0JhY2tkcm9wIiwgInN0cm9rZVN0eWxlIiwgImlzTnVsbE9yVW5kZWYiLCAibGluZVdpZHRoIiwgInN0cm9rZVRleHQiLCAibWF4V2lkdGgiLCAiZmlsbFRleHQiLCAiZGVjb3JhdGVUZXh0IiwgImxpbmVIZWlnaHQiLCAicmVzdG9yZSIsICJ0cmFuc2xhdGlvbiIsICJ0cmFuc2xhdGUiLCAicm90YXRpb24iLCAicm90YXRlIiwgImNvbG9yIiwgImZpbGxTdHlsZSIsICJ0ZXh0QWxpZ24iLCAidGV4dEJhc2VsaW5lIiwgInN0cmlrZXRocm91Z2giLCAidW5kZXJsaW5lIiwgIm1ldHJpY3MiLCAibWVhc3VyZVRleHQiLCAibGVmdCIsICJhY3R1YWxCb3VuZGluZ0JveExlZnQiLCAicmlnaHQiLCAiYWN0dWFsQm91bmRpbmdCb3hSaWdodCIsICJ0b3AiLCAiYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQiLCAiYm90dG9tIiwgImFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCIsICJ5RGVjb3JhdGlvbiIsICJiZWdpblBhdGgiLCAiZGVjb3JhdGlvbldpZHRoIiwgIm1vdmVUbyIsICJsaW5lVG8iLCAib2xkQ29sb3IiLCAiZmlsbFJlY3QiLCAid2lkdGgiLCAiaGVpZ2h0IiwgImFkZFJvdW5kZWRSZWN0UGF0aCIsICJyZWN0IiwgInciLCAiaCIsICJyYWRpdXMiLCAiYXJjIiwgInRvcExlZnQiLCAiSEFMRl9QSSIsICJQSSIsICJib3R0b21MZWZ0IiwgImJvdHRvbVJpZ2h0IiwgInRvcFJpZ2h0IiwgIkxJTkVfSEVJR0hUIiwgIkZPTlRfU1RZTEUiLCAidG9MaW5lSGVpZ2h0IiwgInZhbHVlIiwgInNpemUiLCAibWF0Y2hlcyIsICJtYXRjaCIsICJudW1iZXJPclplcm8iLCAidiIsICJfcmVhZFZhbHVlVG9Qcm9wcyIsICJwcm9wcyIsICJyZXQiLCAib2JqUHJvcHMiLCAiaXNPYmplY3QiLCAia2V5cyIsICJPYmplY3QiLCAicmVhZCIsICJwcm9wIiwgInZhbHVlT3JEZWZhdWx0IiwgInRvVFJCTCIsICJ0b1RSQkxDb3JuZXJzIiwgInRvUGFkZGluZyIsICJvYmoiLCAidG9Gb250IiwgIm9wdGlvbnMiLCAiZmFsbGJhY2siLCAiZGVmYXVsdHMiLCAicGFyc2VJbnQiLCAic3R5bGUiLCAiY29uc29sZSIsICJ3YXJuIiwgInVuZGVmaW5lZCIsICJmYW1pbHkiLCAid2VpZ2h0IiwgInRvRm9udFN0cmluZyIsICJyZXNvbHZlIiwgImlucHV0cyIsICJjb250ZXh0IiwgImluZGV4IiwgImluZm8iLCAiY2FjaGVhYmxlIiwgImlsZW4iLCAiX2FkZEdyYWNlIiwgIm1pbm1heCIsICJncmFjZSIsICJiZWdpbkF0WmVybyIsICJtaW4iLCAibWF4IiwgImNoYW5nZSIsICJ0b0RpbWVuc2lvbiIsICJrZWVwWmVybyIsICJhZGQiLCAiTWF0aCIsICJhYnMiLCAiY3JlYXRlQ29udGV4dCIsICJwYXJlbnRDb250ZXh0IiwgImFzc2lnbiIsICJjcmVhdGUiLCAiX2NyZWF0ZVJlc29sdmVyIiwgInNjb3BlcyIsICJwcmVmaXhlcyIsICJyb290U2NvcGVzIiwgImdldFRhcmdldCIsICJkZWZpbmVkIiwgIl9yZXNvbHZlIiwgImNhY2hlIiwgIlN5bWJvbCIsICJ0b1N0cmluZ1RhZyIsICJfY2FjaGVhYmxlIiwgIl9zY29wZXMiLCAiX3Jvb3RTY29wZXMiLCAiX2ZhbGxiYWNrIiwgIl9nZXRUYXJnZXQiLCAib3ZlcnJpZGUiLCAic2NvcGUiLCAiUHJveHkiLCAiZGVsZXRlUHJvcGVydHkiLCAidGFyZ2V0IiwgIl9rZXlzIiwgImdldCIsICJfY2FjaGVkIiwgIl9yZXNvbHZlV2l0aFByZWZpeGVzIiwgImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsICJSZWZsZWN0IiwgImdldFByb3RvdHlwZU9mIiwgImhhcyIsICJnZXRLZXlzRnJvbUFsbFNjb3BlcyIsICJpbmNsdWRlcyIsICJvd25LZXlzIiwgInNldCIsICJzdG9yYWdlIiwgIl9zdG9yYWdlIiwgIl9hdHRhY2hDb250ZXh0IiwgInByb3h5IiwgInN1YlByb3h5IiwgImRlc2NyaXB0b3JEZWZhdWx0cyIsICJfcHJveHkiLCAiX2NvbnRleHQiLCAiX3N1YlByb3h5IiwgIl9zdGFjayIsICJTZXQiLCAiX2Rlc2NyaXB0b3JzIiwgInNldENvbnRleHQiLCAicmVjZWl2ZXIiLCAiX3Jlc29sdmVXaXRoQ29udGV4dCIsICJhbGxLZXlzIiwgImVudW1lcmFibGUiLCAiY29uZmlndXJhYmxlIiwgInNjcmlwdGFibGUiLCAiaW5kZXhhYmxlIiwgIl9zY3JpcHRhYmxlIiwgIl9pbmRleGFibGUiLCAiX2FsbEtleXMiLCAiaXNTY3JpcHRhYmxlIiwgImlzRnVuY3Rpb24iLCAiaXNJbmRleGFibGUiLCAicmVhZEtleSIsICJwcmVmaXgiLCAibmFtZSIsICJfY2FwaXRhbGl6ZSIsICJuZWVkc1N1YlJlc29sdmVyIiwgImNvbnN0cnVjdG9yIiwgInByb3RvdHlwZSIsICJoYXNPd25Qcm9wZXJ0eSIsICJjYWxsIiwgImRlc2NyaXB0b3JzIiwgIl9yZXNvbHZlU2NyaXB0YWJsZSIsICJfcmVzb2x2ZUFycmF5IiwgIkVycm9yIiwgIkFycmF5IiwgImZyb20iLCAiam9pbiIsICJkZWxldGUiLCAiY3JlYXRlU3ViUmVzb2x2ZXIiLCAiYXJyIiwgImZpbHRlciIsICJzIiwgIml0ZW0iLCAicmVzb2x2ZXIiLCAicHVzaCIsICJyZXNvbHZlRmFsbGJhY2siLCAiZ2V0U2NvcGUiLCAia2V5IiwgInBhcmVudCIsICJyZXNvbHZlT2JqZWN0S2V5IiwgImFkZFNjb3BlcyIsICJwYXJlbnRTY29wZXMiLCAicGFyZW50RmFsbGJhY2siLCAiYWxsU2NvcGVzIiwgImFkZFNjb3Blc0Zyb21LZXkiLCAic3ViR2V0VGFyZ2V0IiwgInJlc29sdmVLZXlzRnJvbUFsbFNjb3BlcyIsICJrIiwgInN0YXJ0c1dpdGgiLCAiRVBTSUxPTiIsICJOdW1iZXIiLCAiX2lzRG9tU3VwcG9ydGVkIiwgIndpbmRvdyIsICJkb2N1bWVudCIsICJfZ2V0UGFyZW50Tm9kZSIsICJkb21Ob2RlIiwgInBhcmVudCIsICJwYXJlbnROb2RlIiwgInRvU3RyaW5nIiwgImhvc3QiLCAicGFyc2VNYXhTdHlsZSIsICJzdHlsZVZhbHVlIiwgIm5vZGUiLCAicGFyZW50UHJvcGVydHkiLCAidmFsdWVJblBpeGVscyIsICJwYXJzZUludCIsICJpbmRleE9mIiwgImdldENvbXB1dGVkU3R5bGUiLCAiZWxlbWVudCIsICJvd25lckRvY3VtZW50IiwgImRlZmF1bHRWaWV3IiwgImdldFN0eWxlIiwgImVsIiwgInByb3BlcnR5IiwgImdldFByb3BlcnR5VmFsdWUiLCAicG9zaXRpb25zIiwgImdldFBvc2l0aW9uZWRTdHlsZSIsICJzdHlsZXMiLCAic3R5bGUiLCAic3VmZml4IiwgInJlc3VsdCIsICJpIiwgInBvcyIsICJwYXJzZUZsb2F0IiwgIndpZHRoIiwgImxlZnQiLCAicmlnaHQiLCAiaGVpZ2h0IiwgInRvcCIsICJib3R0b20iLCAidXNlT2Zmc2V0UG9zIiwgIngiLCAieSIsICJ0YXJnZXQiLCAic2hhZG93Um9vdCIsICJnZXRDYW52YXNQb3NpdGlvbiIsICJlIiwgImNhbnZhcyIsICJ0b3VjaGVzIiwgInNvdXJjZSIsICJsZW5ndGgiLCAib2Zmc2V0WCIsICJvZmZzZXRZIiwgImJveCIsICJyZWN0IiwgImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsICJjbGllbnRYIiwgImNsaWVudFkiLCAiZ2V0UmVsYXRpdmVQb3NpdGlvbiIsICJldmVudCIsICJjaGFydCIsICJjdXJyZW50RGV2aWNlUGl4ZWxSYXRpbyIsICJib3JkZXJCb3giLCAiYm94U2l6aW5nIiwgInBhZGRpbmdzIiwgImJvcmRlcnMiLCAieE9mZnNldCIsICJ5T2Zmc2V0IiwgIk1hdGgiLCAicm91bmQiLCAiZ2V0Q29udGFpbmVyU2l6ZSIsICJtYXhXaWR0aCIsICJtYXhIZWlnaHQiLCAidW5kZWZpbmVkIiwgImNvbnRhaW5lciIsICJjbGllbnRXaWR0aCIsICJjbGllbnRIZWlnaHQiLCAiY29udGFpbmVyU3R5bGUiLCAiY29udGFpbmVyQm9yZGVyIiwgImNvbnRhaW5lclBhZGRpbmciLCAiSU5GSU5JVFkiLCAicm91bmQxIiwgInYiLCAiZ2V0TWF4aW11bVNpemUiLCAiYmJXaWR0aCIsICJiYkhlaWdodCIsICJhc3BlY3RSYXRpbyIsICJtYXJnaW5zIiwgImNvbnRhaW5lclNpemUiLCAibWF4IiwgImZsb29yIiwgIm1pbiIsICJtYWludGFpbkhlaWdodCIsICJyZXRpbmFTY2FsZSIsICJmb3JjZVJhdGlvIiwgImZvcmNlU3R5bGUiLCAicGl4ZWxSYXRpbyIsICJkZXZpY2VIZWlnaHQiLCAiZGV2aWNlV2lkdGgiLCAiY3R4IiwgInNldFRyYW5zZm9ybSIsICJzdXBwb3J0c0V2ZW50TGlzdGVuZXJPcHRpb25zIiwgInBhc3NpdmVTdXBwb3J0ZWQiLCAib3B0aW9ucyIsICJwYXNzaXZlIiwgImFkZEV2ZW50TGlzdGVuZXIiLCAicmVtb3ZlRXZlbnRMaXN0ZW5lciIsICJyZWFkVXNlZFNpemUiLCAidmFsdWUiLCAibWF0Y2hlcyIsICJtYXRjaCIsICJnZXRSaWdodFRvTGVmdEFkYXB0ZXIiLCAicmVjdFgiLCAid2lkdGgiLCAieCIsICJzZXRXaWR0aCIsICJ3IiwgInRleHRBbGlnbiIsICJhbGlnbiIsICJ4UGx1cyIsICJ2YWx1ZSIsICJsZWZ0Rm9yTHRyIiwgIml0ZW1XaWR0aCIsICJnZXRMZWZ0VG9SaWdodEFkYXB0ZXIiLCAiX2l0ZW1XaWR0aCIsICJnZXRSdGxBZGFwdGVyIiwgInJ0bCIsICJvdmVycmlkZVRleHREaXJlY3Rpb24iLCAiY3R4IiwgImRpcmVjdGlvbiIsICJzdHlsZSIsICJvcmlnaW5hbCIsICJjYW52YXMiLCAiZ2V0UHJvcGVydHlWYWx1ZSIsICJnZXRQcm9wZXJ0eVByaW9yaXR5IiwgInNldFByb3BlcnR5IiwgInByZXZUZXh0RGlyZWN0aW9uIiwgInJlc3RvcmVUZXh0RGlyZWN0aW9uIiwgInVuZGVmaW5lZCIsICJBbmltYXRvciIsICJjb25zdHJ1Y3RvciIsICJfcmVxdWVzdCIsICJfY2hhcnRzIiwgIk1hcCIsICJfcnVubmluZyIsICJfbGFzdERhdGUiLCAidW5kZWZpbmVkIiwgIl9ub3RpZnkiLCAiY2hhcnQiLCAiYW5pbXMiLCAiZGF0ZSIsICJ0eXBlIiwgImNhbGxiYWNrcyIsICJsaXN0ZW5lcnMiLCAibnVtU3RlcHMiLCAiZHVyYXRpb24iLCAiZm9yRWFjaCIsICJmbiIsICJpbml0aWFsIiwgImN1cnJlbnRTdGVwIiwgIk1hdGgiLCAibWluIiwgInN0YXJ0IiwgIl9yZWZyZXNoIiwgInJlcXVlc3RBbmltRnJhbWUiLCAiY2FsbCIsICJ3aW5kb3ciLCAiX3VwZGF0ZSIsICJEYXRlIiwgIm5vdyIsICJyZW1haW5pbmciLCAicnVubmluZyIsICJpdGVtcyIsICJsZW5ndGgiLCAiaSIsICJkcmF3IiwgIml0ZW0iLCAiX2FjdGl2ZSIsICJfdG90YWwiLCAidGljayIsICJwb3AiLCAiX2dldEFuaW1zIiwgImNoYXJ0cyIsICJnZXQiLCAiY29tcGxldGUiLCAicHJvZ3Jlc3MiLCAic2V0IiwgImxpc3RlbiIsICJldmVudCIsICJjYiIsICJwdXNoIiwgImFkZCIsICJoYXMiLCAicmVkdWNlIiwgImFjYyIsICJjdXIiLCAibWF4IiwgIl9kdXJhdGlvbiIsICJzdG9wIiwgImNhbmNlbCIsICJyZW1vdmUiLCAiZGVsZXRlIiwgInRyYW5zcGFyZW50IiwgImludGVycG9sYXRvcnMiLCAiYm9vbGVhbiIsICJmcm9tIiwgInRvIiwgImZhY3RvciIsICJjb2xvciIsICJjMCIsICJoZWxwZXJzQ29sb3IiLCAiYzEiLCAidmFsaWQiLCAibWl4IiwgImhleFN0cmluZyIsICJudW1iZXIiLCAiQW5pbWF0aW9uIiwgImNmZyIsICJ0YXJnZXQiLCAicHJvcCIsICJjdXJyZW50VmFsdWUiLCAicmVzb2x2ZSIsICJfZm4iLCAiX2Vhc2luZyIsICJlZmZlY3RzIiwgImVhc2luZyIsICJsaW5lYXIiLCAiX3N0YXJ0IiwgImZsb29yIiwgImRlbGF5IiwgIl9sb29wIiwgImxvb3AiLCAiX3RhcmdldCIsICJfcHJvcCIsICJfZnJvbSIsICJfdG8iLCAiX3Byb21pc2VzIiwgImFjdGl2ZSIsICJ1cGRhdGUiLCAiZWxhcHNlZCIsICJyZW1haW4iLCAid2FpdCIsICJwcm9taXNlcyIsICJQcm9taXNlIiwgInJlcyIsICJyZWoiLCAicmVzb2x2ZWQiLCAibWV0aG9kIiwgIkFuaW1hdGlvbnMiLCAiY29uZmlnIiwgIl9jaGFydCIsICJfcHJvcGVydGllcyIsICJjb25maWd1cmUiLCAiaXNPYmplY3QiLCAiYW5pbWF0aW9uT3B0aW9ucyIsICJPYmplY3QiLCAia2V5cyIsICJkZWZhdWx0cyIsICJhbmltYXRpb24iLCAiYW5pbWF0ZWRQcm9wcyIsICJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwgImtleSIsICJvcHRpb24iLCAiaXNBcnJheSIsICJwcm9wZXJ0aWVzIiwgIl9hbmltYXRlT3B0aW9ucyIsICJ2YWx1ZXMiLCAibmV3T3B0aW9ucyIsICJvcHRpb25zIiwgInJlc29sdmVUYXJnZXRPcHRpb25zIiwgImFuaW1hdGlvbnMiLCAiX2NyZWF0ZUFuaW1hdGlvbnMiLCAiJHNoYXJlZCIsICJhd2FpdEFsbCIsICIkYW5pbWF0aW9ucyIsICJ0aGVuIiwgInByb3BzIiwgImNoYXJBdCIsICJ2YWx1ZSIsICJzaXplIiwgImFzc2lnbiIsICJhbmltYXRvciIsICJhbmltIiwgImFsbCIsICJzY2FsZUNsaXAiLCAic2NhbGUiLCAiYWxsb3dlZE92ZXJmbG93IiwgIm9wdHMiLCAicmV2ZXJzZSIsICJlbmQiLCAiZGVmYXVsdENsaXAiLCAieFNjYWxlIiwgInlTY2FsZSIsICJ4IiwgInkiLCAidG9wIiwgInJpZ2h0IiwgImJvdHRvbSIsICJsZWZ0IiwgInRvQ2xpcCIsICJ0IiwgInIiLCAiYiIsICJsIiwgImRpc2FibGVkIiwgImdldFNvcnRlZERhdGFzZXRJbmRpY2VzIiwgImZpbHRlclZpc2libGUiLCAibWV0YXNldHMiLCAiX2dldFNvcnRlZERhdGFzZXRNZXRhcyIsICJpbGVuIiwgImluZGV4IiwgImFwcGx5U3RhY2siLCAic3RhY2siLCAiZHNJbmRleCIsICJzaW5nbGVNb2RlIiwgIm1vZGUiLCAiZGF0YXNldEluZGV4IiwgIm90aGVyVmFsdWUiLCAiaXNGaW5pdGUiLCAic2lnbiIsICJjb252ZXJ0T2JqZWN0RGF0YVRvQXJyYXkiLCAiZGF0YSIsICJhZGF0YSIsICJBcnJheSIsICJpc1N0YWNrZWQiLCAibWV0YSIsICJzdGFja2VkIiwgImdldFN0YWNrS2V5IiwgImluZGV4U2NhbGUiLCAidmFsdWVTY2FsZSIsICJpZCIsICJnZXRVc2VyQm91bmRzIiwgIm1pbkRlZmluZWQiLCAibWF4RGVmaW5lZCIsICJOdW1iZXIiLCAiTkVHQVRJVkVfSU5GSU5JVFkiLCAiUE9TSVRJVkVfSU5GSU5JVFkiLCAiZ2V0T3JDcmVhdGVTdGFjayIsICJzdGFja3MiLCAic3RhY2tLZXkiLCAiaW5kZXhWYWx1ZSIsICJzdWJTdGFjayIsICJnZXRMYXN0SW5kZXhJblN0YWNrIiwgInZTY2FsZSIsICJwb3NpdGl2ZSIsICJnZXRNYXRjaGluZ1Zpc2libGVNZXRhcyIsICJ1cGRhdGVTdGFja3MiLCAiY29udHJvbGxlciIsICJwYXJzZWQiLCAiX2NhY2hlZE1ldGEiLCAiX3N0YWNrcyIsICJpU2NhbGUiLCAiaUF4aXMiLCAiYXhpcyIsICJ2QXhpcyIsICJpdGVtU3RhY2tzIiwgIl90b3AiLCAiX2JvdHRvbSIsICJnZXRGaXJzdFNjYWxlSWQiLCAic2NhbGVzIiwgImZpbHRlciIsICJzaGlmdCIsICJjcmVhdGVEYXRhc2V0Q29udGV4dCIsICJwYXJlbnQiLCAiY3JlYXRlQ29udGV4dCIsICJkYXRhc2V0IiwgImNyZWF0ZURhdGFDb250ZXh0IiwgImVsZW1lbnQiLCAiZGF0YUluZGV4IiwgInJhdyIsICJjbGVhclN0YWNrcyIsICJfcGFyc2VkIiwgImlzRGlyZWN0VXBkYXRlTW9kZSIsICJjbG9uZUlmTm90U2hhcmVkIiwgImNhY2hlZCIsICJzaGFyZWQiLCAiY3JlYXRlU3RhY2siLCAiY2FuU3RhY2siLCAiaGlkZGVuIiwgIl9zdGFja2VkIiwgIkRhdGFzZXRDb250cm9sbGVyIiwgIl9jdHgiLCAiY3R4IiwgIl9jYWNoZWREYXRhT3B0cyIsICJnZXRNZXRhIiwgIl90eXBlIiwgIl9wYXJzaW5nIiwgIl9kYXRhIiwgIl9vYmplY3REYXRhIiwgIl9zaGFyZWRPcHRpb25zIiwgIl9kcmF3U3RhcnQiLCAiX2RyYXdDb3VudCIsICJlbmFibGVPcHRpb25TaGFyaW5nIiwgInN1cHBvcnRzRGVjaW1hdGlvbiIsICIkY29udGV4dCIsICJfc3luY0xpc3QiLCAiZGF0YXNldEVsZW1lbnRUeXBlIiwgImRhdGFFbGVtZW50VHlwZSIsICJpbml0aWFsaXplIiwgImxpbmtTY2FsZXMiLCAiYWRkRWxlbWVudHMiLCAiZmlsbCIsICJpc1BsdWdpbkVuYWJsZWQiLCAiY29uc29sZSIsICJ3YXJuIiwgInVwZGF0ZUluZGV4IiwgImdldERhdGFzZXQiLCAiY2hvb3NlSWQiLCAieGlkIiwgInhBeGlzSUQiLCAidmFsdWVPckRlZmF1bHQiLCAieWlkIiwgInlBeGlzSUQiLCAicmlkIiwgInJBeGlzSUQiLCAiaW5kZXhBeGlzIiwgImlpZCIsICJpQXhpc0lEIiwgInZpZCIsICJ2QXhpc0lEIiwgImdldFNjYWxlRm9ySWQiLCAiclNjYWxlIiwgImRhdGFzZXRzIiwgImdldERhdGFzZXRNZXRhIiwgInNjYWxlSUQiLCAiX2dldE90aGVyU2NhbGUiLCAicmVzZXQiLCAiX2Rlc3Ryb3kiLCAidW5saXN0ZW5BcnJheUV2ZW50cyIsICJfZGF0YUNoZWNrIiwgImlzRXh0ZW5zaWJsZSIsICJsaXN0ZW5BcnJheUV2ZW50cyIsICJidWlsZE9yVXBkYXRlRWxlbWVudHMiLCAicmVzZXROZXdFbGVtZW50cyIsICJzdGFja0NoYW5nZWQiLCAib2xkU3RhY2tlZCIsICJfcmVzeW5jRWxlbWVudHMiLCAic2NvcGVLZXlzIiwgImRhdGFzZXRTY29wZUtleXMiLCAic2NvcGVzIiwgImdldE9wdGlvblNjb3BlcyIsICJjcmVhdGVSZXNvbHZlciIsICJnZXRDb250ZXh0IiwgInBhcnNpbmciLCAicGFyc2UiLCAiY291bnQiLCAic29ydGVkIiwgIl9zb3J0ZWQiLCAicHJldiIsICJwYXJzZUFycmF5RGF0YSIsICJwYXJzZU9iamVjdERhdGEiLCAicGFyc2VQcmltaXRpdmVEYXRhIiwgImlzTm90SW5PcmRlckNvbXBhcmVkVG9QcmV2IiwgImxhYmVscyIsICJnZXRMYWJlbHMiLCAic2luZ2xlU2NhbGUiLCAieEF4aXNLZXkiLCAieUF4aXNLZXkiLCAicmVzb2x2ZU9iamVjdEtleSIsICJnZXRQYXJzZWQiLCAiZ2V0RGF0YUVsZW1lbnQiLCAidXBkYXRlUmFuZ2VGcm9tUGFyc2VkIiwgInJhbmdlIiwgInBhcnNlZFZhbHVlIiwgIk5hTiIsICJnZXRNaW5NYXgiLCAib3RoZXJTY2FsZSIsICJvdGhlck1pbiIsICJvdGhlck1heCIsICJfc2tpcCIsICJnZXRBbGxQYXJzZWRWYWx1ZXMiLCAiZ2V0TWF4T3ZlcmZsb3ciLCAiZ2V0TGFiZWxBbmRWYWx1ZSIsICJsYWJlbCIsICJnZXRMYWJlbEZvclZhbHVlIiwgIl9jbGlwIiwgImNsaXAiLCAiZWxlbWVudHMiLCAiYXJlYSIsICJjaGFydEFyZWEiLCAiZHJhd0FjdGl2ZUVsZW1lbnRzT25Ub3AiLCAiZ2V0U3R5bGUiLCAicmVzb2x2ZURhdGFzZXRFbGVtZW50T3B0aW9ucyIsICJyZXNvbHZlRGF0YUVsZW1lbnRPcHRpb25zIiwgImNvbnRleHQiLCAiX3Jlc29sdmVFbGVtZW50T3B0aW9ucyIsICJlbGVtZW50VHlwZSIsICJjYWNoZSIsICJjYWNoZUtleSIsICJzaGFyaW5nIiwgImRlZmluZWQiLCAiZGF0YXNldEVsZW1lbnRTY29wZUtleXMiLCAicHJlZml4ZXMiLCAibmFtZXMiLCAicmVzb2x2ZU5hbWVkT3B0aW9ucyIsICJmcmVlemUiLCAiX3Jlc29sdmVBbmltYXRpb25zIiwgInRyYW5zaXRpb24iLCAiZGF0YXNldEFuaW1hdGlvblNjb3BlS2V5cyIsICJfY2FjaGVhYmxlIiwgImdldFNoYXJlZE9wdGlvbnMiLCAiaW5jbHVkZU9wdGlvbnMiLCAic2hhcmVkT3B0aW9ucyIsICJfYW5pbWF0aW9uc0Rpc2FibGVkIiwgIl9nZXRTaGFyZWRPcHRpb25zIiwgImZpcnN0T3B0cyIsICJwcmV2aW91c2x5U2hhcmVkT3B0aW9ucyIsICJ1cGRhdGVTaGFyZWRPcHRpb25zIiwgInVwZGF0ZUVsZW1lbnQiLCAiX3NldFN0eWxlIiwgInJlbW92ZUhvdmVyU3R5bGUiLCAic2V0SG92ZXJTdHlsZSIsICJfcmVtb3ZlRGF0YXNldEhvdmVyU3R5bGUiLCAiX3NldERhdGFzZXRIb3ZlclN0eWxlIiwgImFyZzEiLCAiYXJnMiIsICJudW1NZXRhIiwgIm51bURhdGEiLCAiX2luc2VydEVsZW1lbnRzIiwgIl9yZW1vdmVFbGVtZW50cyIsICJtb3ZlIiwgImFyciIsICJ1cGRhdGVFbGVtZW50cyIsICJyZW1vdmVkIiwgInNwbGljZSIsICJfc3luYyIsICJhcmdzIiwgIl9kYXRhQ2hhbmdlcyIsICJfb25EYXRhUHVzaCIsICJhcmd1bWVudHMiLCAiX29uRGF0YVBvcCIsICJfb25EYXRhU2hpZnQiLCAiX29uRGF0YVNwbGljZSIsICJuZXdDb3VudCIsICJfb25EYXRhVW5zaGlmdCIsICJnZXRBbGxTY2FsZVZhbHVlcyIsICJfY2FjaGUiLCAiJGJhciIsICJ2aXNpYmxlTWV0YXMiLCAiY29uY2F0IiwgIl9hcnJheVVuaXF1ZSIsICJzb3J0IiwgImEiLCAiY29tcHV0ZU1pblNhbXBsZVNpemUiLCAiX2xlbmd0aCIsICJjdXJyIiwgInVwZGF0ZU1pbkFuZFByZXYiLCAiYWJzIiwgImdldFBpeGVsRm9yVmFsdWUiLCAidGlja3MiLCAiZ2V0UGl4ZWxGb3JUaWNrIiwgImNvbXB1dGVGaXRDYXRlZ29yeVRyYWl0cyIsICJydWxlciIsICJzdGFja0NvdW50IiwgInRoaWNrbmVzcyIsICJiYXJUaGlja25lc3MiLCAicmF0aW8iLCAiaXNOdWxsT3JVbmRlZiIsICJjYXRlZ29yeVBlcmNlbnRhZ2UiLCAiYmFyUGVyY2VudGFnZSIsICJjaHVuayIsICJwaXhlbHMiLCAiY29tcHV0ZUZsZXhDYXRlZ29yeVRyYWl0cyIsICJuZXh0IiwgInBlcmNlbnQiLCAicGFyc2VGbG9hdEJhciIsICJlbnRyeSIsICJzdGFydFZhbHVlIiwgImVuZFZhbHVlIiwgImJhclN0YXJ0IiwgImJhckVuZCIsICJfY3VzdG9tIiwgInBhcnNlVmFsdWUiLCAicGFyc2VBcnJheU9yUHJpbWl0aXZlIiwgImlzRmxvYXRCYXIiLCAiY3VzdG9tIiwgImJhclNpZ24iLCAiYWN0dWFsQmFzZSIsICJpc0hvcml6b250YWwiLCAiYm9yZGVyUHJvcHMiLCAiaG9yaXpvbnRhbCIsICJiYXNlIiwgInNldEJvcmRlclNraXBwZWQiLCAiZWRnZSIsICJib3JkZXJTa2lwcGVkIiwgImVuYWJsZUJvcmRlclJhZGl1cyIsICJwYXJzZUVkZ2UiLCAic3dhcCIsICJzdGFydEVuZCIsICJvcmlnIiwgInYxIiwgInYyIiwgInYiLCAic2V0SW5mbGF0ZUFtb3VudCIsICJpbmZsYXRlQW1vdW50IiwgIkJhckNvbnRyb2xsZXIiLCAiaUF4aXNLZXkiLCAidkF4aXNLZXkiLCAib2JqIiwgImJhcnMiLCAiZ2V0QmFzZVBpeGVsIiwgIl9nZXRSdWxlciIsICJ2cGl4ZWxzIiwgImhlYWQiLCAiX2NhbGN1bGF0ZUJhclZhbHVlUGl4ZWxzIiwgImlwaXhlbHMiLCAiX2NhbGN1bGF0ZUJhckluZGV4UGl4ZWxzIiwgImNlbnRlciIsICJoZWlnaHQiLCAid2lkdGgiLCAiX2dldFN0YWNrcyIsICJsYXN0IiwgImdyb3VwZWQiLCAic2tpcE51bGwiLCAidmFsIiwgImlzTmFOIiwgImluZGV4T2YiLCAiX2dldFN0YWNrQ291bnQiLCAiX2dldFN0YWNrSW5kZXgiLCAibmFtZSIsICJfc3RhcnRQaXhlbCIsICJfZW5kUGl4ZWwiLCAiYmFzZVZhbHVlIiwgIm1pbkJhckxlbmd0aCIsICJmbG9hdGluZyIsICJnZXREYXRhVmlzaWJpbGl0eSIsICJzdGFydFBpeGVsIiwgImdldFBpeGVsRm9yRGVjaW1hbCIsICJlbmRQaXhlbCIsICJoYWxmR3JpZCIsICJnZXRMaW5lV2lkdGhGb3JWYWx1ZSIsICJtYXhCYXJUaGlja25lc3MiLCAiSW5maW5pdHkiLCAic3RhY2tJbmRleCIsICJyZWN0cyIsICJudW1iZXJzIiwgIm92ZXJyaWRlcyIsICJfaW5kZXhfIiwgIm9mZnNldCIsICJncmlkIiwgIl92YWx1ZV8iLCAiYmVnaW5BdFplcm8iLCAiZ2V0UmF0aW9BbmRPZmZzZXQiLCAicm90YXRpb24iLCAiY2lyY3VtZmVyZW5jZSIsICJjdXRvdXQiLCAicmF0aW9YIiwgInJhdGlvWSIsICJvZmZzZXRYIiwgIm9mZnNldFkiLCAiVEFVIiwgInN0YXJ0QW5nbGUiLCAiZW5kQW5nbGUiLCAic3RhcnRYIiwgIk1hdGgiLCAiY29zIiwgInN0YXJ0WSIsICJzaW4iLCAiZW5kWCIsICJlbmRZIiwgImNhbGNNYXgiLCAiYW5nbGUiLCAiYSIsICJiIiwgIl9hbmdsZUJldHdlZW4iLCAibWF4IiwgImNhbGNNaW4iLCAibWluIiwgIm1heFgiLCAibWF4WSIsICJIQUxGX1BJIiwgIm1pblgiLCAiUEkiLCAibWluWSIsICJEb3VnaG51dENvbnRyb2xsZXIiLCAiRGF0YXNldENvbnRyb2xsZXIiLCAiY29uc3RydWN0b3IiLCAiY2hhcnQiLCAiZGF0YXNldEluZGV4IiwgImVuYWJsZU9wdGlvblNoYXJpbmciLCAiaW5uZXJSYWRpdXMiLCAidW5kZWZpbmVkIiwgIm91dGVyUmFkaXVzIiwgImxpbmtTY2FsZXMiLCAicGFyc2UiLCAic3RhcnQiLCAiY291bnQiLCAiZGF0YSIsICJnZXREYXRhc2V0IiwgIm1ldGEiLCAiX2NhY2hlZE1ldGEiLCAiX3BhcnNpbmciLCAiX3BhcnNlZCIsICJnZXR0ZXIiLCAiaSIsICJpc09iamVjdCIsICJrZXkiLCAicmVzb2x2ZU9iamVjdEtleSIsICJpbGVuIiwgIl9nZXRSb3RhdGlvbiIsICJ0b1JhZGlhbnMiLCAib3B0aW9ucyIsICJfZ2V0Q2lyY3VtZmVyZW5jZSIsICJfZ2V0Um90YXRpb25FeHRlbnRzIiwgImRhdGFzZXRzIiwgImxlbmd0aCIsICJpc0RhdGFzZXRWaXNpYmxlIiwgImdldERhdGFzZXRNZXRhIiwgInR5cGUiLCAiX3R5cGUiLCAiY29udHJvbGxlciIsICJ1cGRhdGUiLCAibW9kZSIsICJjaGFydEFyZWEiLCAiYXJjcyIsICJzcGFjaW5nIiwgImdldE1heEJvcmRlcldpZHRoIiwgImdldE1heE9mZnNldCIsICJtYXhTaXplIiwgIndpZHRoIiwgImhlaWdodCIsICJ0b1BlcmNlbnRhZ2UiLCAiY2hhcnRXZWlnaHQiLCAiX2dldFJpbmdXZWlnaHQiLCAiaW5kZXgiLCAibWF4V2lkdGgiLCAibWF4SGVpZ2h0IiwgIm1heFJhZGl1cyIsICJ0b0RpbWVuc2lvbiIsICJyYWRpdXMiLCAicmFkaXVzTGVuZ3RoIiwgIl9nZXRWaXNpYmxlRGF0YXNldFdlaWdodFRvdGFsIiwgInRvdGFsIiwgImNhbGN1bGF0ZVRvdGFsIiwgIl9nZXRSaW5nV2VpZ2h0T2Zmc2V0IiwgInVwZGF0ZUVsZW1lbnRzIiwgIl9jaXJjdW1mZXJlbmNlIiwgInJlc2V0IiwgIm9wdHMiLCAiYW5pbWF0aW9uIiwgImFuaW1hdGVSb3RhdGUiLCAiZ2V0RGF0YVZpc2liaWxpdHkiLCAiaGlkZGVuIiwgImNhbGN1bGF0ZUNpcmN1bWZlcmVuY2UiLCAiYW5pbWF0aW9uT3B0cyIsICJjZW50ZXJYIiwgImxlZnQiLCAicmlnaHQiLCAiY2VudGVyWSIsICJ0b3AiLCAiYm90dG9tIiwgImFuaW1hdGVTY2FsZSIsICJzaGFyZWRPcHRpb25zIiwgImluY2x1ZGVPcHRpb25zIiwgIl9nZXRTaGFyZWRPcHRpb25zIiwgImFyYyIsICJwcm9wZXJ0aWVzIiwgIngiLCAieSIsICJyZXNvbHZlRGF0YUVsZW1lbnRPcHRpb25zIiwgImFjdGl2ZSIsICJ1cGRhdGVFbGVtZW50IiwgIm1ldGFEYXRhIiwgInZhbHVlIiwgImlzTmFOIiwgImFicyIsICJnZXRMYWJlbEFuZFZhbHVlIiwgImxhYmVscyIsICJmb3JtYXROdW1iZXIiLCAibG9jYWxlIiwgImxhYmVsIiwgImJvcmRlckFsaWduIiwgImJvcmRlcldpZHRoIiwgImhvdmVyQm9yZGVyV2lkdGgiLCAib2Zmc2V0IiwgImhvdmVyT2Zmc2V0IiwgInJpbmdXZWlnaHRPZmZzZXQiLCAidmFsdWVPckRlZmF1bHQiLCAid2VpZ2h0IiwgImlkIiwgImRlZmF1bHRzIiwgImRhdGFzZXRFbGVtZW50VHlwZSIsICJkYXRhRWxlbWVudFR5cGUiLCAiYW5pbWF0aW9ucyIsICJudW1iZXJzIiwgImluZGV4QXhpcyIsICJkZXNjcmlwdG9ycyIsICJfc2NyaXB0YWJsZSIsICJuYW1lIiwgIl9pbmRleGFibGUiLCAib3ZlcnJpZGVzIiwgImFzcGVjdFJhdGlvIiwgInBsdWdpbnMiLCAibGVnZW5kIiwgImdlbmVyYXRlTGFiZWxzIiwgInBvaW50U3R5bGUiLCAiY29sb3IiLCAibWFwIiwgInN0eWxlIiwgImdldFN0eWxlIiwgInRleHQiLCAiZmlsbFN0eWxlIiwgImJhY2tncm91bmRDb2xvciIsICJzdHJva2VTdHlsZSIsICJib3JkZXJDb2xvciIsICJmb250Q29sb3IiLCAibGluZVdpZHRoIiwgIm9uQ2xpY2siLCAiZSIsICJsZWdlbmRJdGVtIiwgInRvZ2dsZURhdGFWaXNpYmlsaXR5IiwgIlBpZUNvbnRyb2xsZXIiLCAiRG91Z2hudXRDb250cm9sbGVyIiwgImlkIiwgImRlZmF1bHRzIiwgImN1dG91dCIsICJyb3RhdGlvbiIsICJjaXJjdW1mZXJlbmNlIiwgInJhZGl1cyIsICJhYnN0cmFjdCIsICJFcnJvciIsICJEYXRlQWRhcHRlckJhc2UiLCAib3ZlcnJpZGUiLCAibWVtYmVycyIsICJPYmplY3QiLCAiYXNzaWduIiwgInByb3RvdHlwZSIsICJjb25zdHJ1Y3RvciIsICJvcHRpb25zIiwgImluaXQiLCAiZm9ybWF0cyIsICJwYXJzZSIsICJmb3JtYXQiLCAiYWRkIiwgImRpZmYiLCAic3RhcnRPZiIsICJlbmRPZiIsICJfZGF0ZSIsICJiaW5hcnlTZWFyY2giLCAibWV0YXNldCIsICJheGlzIiwgInZhbHVlIiwgImludGVyc2VjdCIsICJjb250cm9sbGVyIiwgImRhdGEiLCAiX3NvcnRlZCIsICJpU2NhbGUiLCAiX2NhY2hlZE1ldGEiLCAibGVuZ3RoIiwgImxvb2t1cE1ldGhvZCIsICJfcmV2ZXJzZVBpeGVscyIsICJfcmxvb2t1cEJ5S2V5IiwgIl9sb29rdXBCeUtleSIsICJfc2hhcmVkT3B0aW9ucyIsICJlbCIsICJyYW5nZSIsICJnZXRSYW5nZSIsICJzdGFydCIsICJlbmQiLCAibG8iLCAiaGkiLCAiZXZhbHVhdGVJbnRlcmFjdGlvbkl0ZW1zIiwgImNoYXJ0IiwgInBvc2l0aW9uIiwgImhhbmRsZXIiLCAibWV0YXNldHMiLCAiZ2V0U29ydGVkVmlzaWJsZURhdGFzZXRNZXRhcyIsICJpIiwgImlsZW4iLCAiaW5kZXgiLCAiaiIsICJlbGVtZW50IiwgInNraXAiLCAiZ2V0RGlzdGFuY2VNZXRyaWNGb3JBeGlzIiwgInVzZVgiLCAiaW5kZXhPZiIsICJ1c2VZIiwgInB0MSIsICJwdDIiLCAiZGVsdGFYIiwgIk1hdGgiLCAiYWJzIiwgIngiLCAiZGVsdGFZIiwgInkiLCAic3FydCIsICJwb3ciLCAiZ2V0SW50ZXJzZWN0SXRlbXMiLCAidXNlRmluYWxQb3NpdGlvbiIsICJpbmNsdWRlSW52aXNpYmxlIiwgIml0ZW1zIiwgImlzUG9pbnRJbkFyZWEiLCAiZXZhbHVhdGlvbkZ1bmMiLCAiZGF0YXNldEluZGV4IiwgIl9pc1BvaW50SW5BcmVhIiwgImNoYXJ0QXJlYSIsICJpblJhbmdlIiwgInB1c2giLCAiZ2V0TmVhcmVzdFJhZGlhbEl0ZW1zIiwgInN0YXJ0QW5nbGUiLCAiZW5kQW5nbGUiLCAiZ2V0UHJvcHMiLCAiYW5nbGUiLCAiZ2V0QW5nbGVGcm9tUG9pbnQiLCAiX2FuZ2xlQmV0d2VlbiIsICJnZXROZWFyZXN0Q2FydGVzaWFuSXRlbXMiLCAiZGlzdGFuY2VNZXRyaWMiLCAibWluRGlzdGFuY2UiLCAiTnVtYmVyIiwgIlBPU0lUSVZFX0lORklOSVRZIiwgImNlbnRlciIsICJnZXRDZW50ZXJQb2ludCIsICJwb2ludEluQXJlYSIsICJkaXN0YW5jZSIsICJnZXROZWFyZXN0SXRlbXMiLCAiZ2V0QXhpc0l0ZW1zIiwgInJhbmdlTWV0aG9kIiwgImludGVyc2VjdHNJdGVtIiwgIm1vZGVzIiwgImUiLCAiZ2V0UmVsYXRpdmVQb3NpdGlvbiIsICJlbGVtZW50cyIsICJmb3JFYWNoIiwgIm1ldGEiLCAiZGF0YXNldCIsICJnZXREYXRhc2V0TWV0YSIsICJwb2ludCIsICJuZWFyZXN0IiwgIlNUQVRJQ19QT1NJVElPTlMiLCAiZmlsdGVyQnlQb3NpdGlvbiIsICJhcnJheSIsICJmaWx0ZXIiLCAidiIsICJwb3MiLCAiZmlsdGVyRHluYW1pY1Bvc2l0aW9uQnlBeGlzIiwgImJveCIsICJzb3J0QnlXZWlnaHQiLCAicmV2ZXJzZSIsICJzb3J0IiwgImEiLCAiYiIsICJ2MCIsICJ2MSIsICJ3ZWlnaHQiLCAid3JhcEJveGVzIiwgImJveGVzIiwgImxheW91dEJveGVzIiwgInN0YWNrIiwgInN0YWNrV2VpZ2h0IiwgImhvcml6b250YWwiLCAiaXNIb3Jpem9udGFsIiwgImJ1aWxkU3RhY2tzIiwgImxheW91dHMiLCAic3RhY2tzIiwgIndyYXAiLCAiaW5jbHVkZXMiLCAiX3N0YWNrIiwgImNvdW50IiwgInBsYWNlZCIsICJzaXplIiwgInNldExheW91dERpbXMiLCAicGFyYW1zIiwgInZCb3hNYXhXaWR0aCIsICJoQm94TWF4SGVpZ2h0IiwgImxheW91dCIsICJmdWxsU2l6ZSIsICJmYWN0b3IiLCAid2lkdGgiLCAiYXZhaWxhYmxlV2lkdGgiLCAiaGVpZ2h0IiwgImF2YWlsYWJsZUhlaWdodCIsICJidWlsZExheW91dEJveGVzIiwgImxlZnQiLCAicmlnaHQiLCAidG9wIiwgImJvdHRvbSIsICJjZW50ZXJIb3Jpem9udGFsIiwgImNlbnRlclZlcnRpY2FsIiwgImxlZnRBbmRUb3AiLCAiY29uY2F0IiwgInJpZ2h0QW5kQm90dG9tIiwgInZlcnRpY2FsIiwgImdldENvbWJpbmVkTWF4IiwgIm1heFBhZGRpbmciLCAibWF4IiwgInVwZGF0ZU1heFBhZGRpbmciLCAiYm94UGFkZGluZyIsICJ1cGRhdGVEaW1zIiwgImlzT2JqZWN0IiwgImdldFBhZGRpbmciLCAibmV3V2lkdGgiLCAib3V0ZXJXaWR0aCIsICJuZXdIZWlnaHQiLCAib3V0ZXJIZWlnaHQiLCAid2lkdGhDaGFuZ2VkIiwgInciLCAiaGVpZ2h0Q2hhbmdlZCIsICJoIiwgInNhbWUiLCAib3RoZXIiLCAiaGFuZGxlTWF4UGFkZGluZyIsICJ1cGRhdGVQb3MiLCAiY2hhbmdlIiwgImdldE1hcmdpbnMiLCAibWFyZ2luRm9yUG9zaXRpb25zIiwgInBvc2l0aW9ucyIsICJtYXJnaW4iLCAiZml0Qm94ZXMiLCAicmVmaXRCb3hlcyIsICJyZWZpdCIsICJjaGFuZ2VkIiwgInVwZGF0ZSIsICJzZXRCb3hEaW1zIiwgInBsYWNlQm94ZXMiLCAidXNlclBhZGRpbmciLCAicGFkZGluZyIsICJkZWZpbmVkIiwgImFkZEJveCIsICJpdGVtIiwgIl9sYXllcnMiLCAieiIsICJkcmF3IiwgInJlbW92ZUJveCIsICJsYXlvdXRJdGVtIiwgInNwbGljZSIsICJjb25maWd1cmUiLCAibWluUGFkZGluZyIsICJ0b1BhZGRpbmciLCAidmVydGljYWxCb3hlcyIsICJob3Jpem9udGFsQm94ZXMiLCAiZWFjaCIsICJiZWZvcmVMYXlvdXQiLCAidmlzaWJsZVZlcnRpY2FsQm94Q291bnQiLCAicmVkdWNlIiwgInRvdGFsIiwgImRpc3BsYXkiLCAiZnJlZXplIiwgIkJhc2VQbGF0Zm9ybSIsICJhY3F1aXJlQ29udGV4dCIsICJjYW52YXMiLCAiYXNwZWN0UmF0aW8iLCAicmVsZWFzZUNvbnRleHQiLCAiY29udGV4dCIsICJhZGRFdmVudExpc3RlbmVyIiwgInR5cGUiLCAibGlzdGVuZXIiLCAicmVtb3ZlRXZlbnRMaXN0ZW5lciIsICJnZXREZXZpY2VQaXhlbFJhdGlvIiwgImdldE1heGltdW1TaXplIiwgImZsb29yIiwgImlzQXR0YWNoZWQiLCAidXBkYXRlQ29uZmlnIiwgImNvbmZpZyIsICJCYXNpY1BsYXRmb3JtIiwgImdldENvbnRleHQiLCAiYW5pbWF0aW9uIiwgIkVYUEFORE9fS0VZIiwgIkVWRU5UX1RZUEVTIiwgInRvdWNoc3RhcnQiLCAidG91Y2htb3ZlIiwgInRvdWNoZW5kIiwgInBvaW50ZXJlbnRlciIsICJwb2ludGVyZG93biIsICJwb2ludGVybW92ZSIsICJwb2ludGVydXAiLCAicG9pbnRlcmxlYXZlIiwgInBvaW50ZXJvdXQiLCAiaXNOdWxsT3JFbXB0eSIsICJpbml0Q2FudmFzIiwgInN0eWxlIiwgInJlbmRlckhlaWdodCIsICJnZXRBdHRyaWJ1dGUiLCAicmVuZGVyV2lkdGgiLCAiaW5pdGlhbCIsICJib3hTaXppbmciLCAiZGlzcGxheVdpZHRoIiwgInJlYWRVc2VkU2l6ZSIsICJ1bmRlZmluZWQiLCAiZGlzcGxheUhlaWdodCIsICJldmVudExpc3RlbmVyT3B0aW9ucyIsICJzdXBwb3J0c0V2ZW50TGlzdGVuZXJPcHRpb25zIiwgInBhc3NpdmUiLCAiYWRkTGlzdGVuZXIiLCAibm9kZSIsICJyZW1vdmVMaXN0ZW5lciIsICJmcm9tTmF0aXZlRXZlbnQiLCAiZXZlbnQiLCAibmF0aXZlIiwgIm5vZGVMaXN0Q29udGFpbnMiLCAibm9kZUxpc3QiLCAiY29udGFpbnMiLCAiY3JlYXRlQXR0YWNoT2JzZXJ2ZXIiLCAib2JzZXJ2ZXIiLCAiTXV0YXRpb25PYnNlcnZlciIsICJlbnRyaWVzIiwgInRyaWdnZXIiLCAiZW50cnkiLCAiYWRkZWROb2RlcyIsICJyZW1vdmVkTm9kZXMiLCAib2JzZXJ2ZSIsICJkb2N1bWVudCIsICJjaGlsZExpc3QiLCAic3VidHJlZSIsICJjcmVhdGVEZXRhY2hPYnNlcnZlciIsICJkcnBMaXN0ZW5pbmdDaGFydHMiLCAiTWFwIiwgIm9sZERldmljZVBpeGVsUmF0aW8iLCAib25XaW5kb3dSZXNpemUiLCAiZHByIiwgIndpbmRvdyIsICJkZXZpY2VQaXhlbFJhdGlvIiwgInJlc2l6ZSIsICJjdXJyZW50RGV2aWNlUGl4ZWxSYXRpbyIsICJsaXN0ZW5EZXZpY2VQaXhlbFJhdGlvQ2hhbmdlcyIsICJzZXQiLCAidW5saXN0ZW5EZXZpY2VQaXhlbFJhdGlvQ2hhbmdlcyIsICJkZWxldGUiLCAiY3JlYXRlUmVzaXplT2JzZXJ2ZXIiLCAiY29udGFpbmVyIiwgIl9nZXRQYXJlbnROb2RlIiwgInRocm90dGxlZCIsICJjbGllbnRXaWR0aCIsICJSZXNpemVPYnNlcnZlciIsICJjb250ZW50UmVjdCIsICJyZWxlYXNlT2JzZXJ2ZXIiLCAiZGlzY29ubmVjdCIsICJjcmVhdGVQcm94eUFuZExpc3RlbiIsICJwcm94eSIsICJjdHgiLCAiRG9tUGxhdGZvcm0iLCAicHJvcCIsICJpc051bGxPclVuZGVmIiwgInJlbW92ZUF0dHJpYnV0ZSIsICJzZXRBdHRyaWJ1dGUiLCAia2V5cyIsICJrZXkiLCAicHJveGllcyIsICIkcHJveGllcyIsICJoYW5kbGVycyIsICJhdHRhY2giLCAiZGV0YWNoIiwgImlzQ29ubmVjdGVkIiwgIl9kZXRlY3RQbGF0Zm9ybSIsICJfaXNEb21TdXBwb3J0ZWQiLCAiT2Zmc2NyZWVuQ2FudmFzIiwgIkVsZW1lbnQiLCAiYWN0aXZlIiwgInRvb2x0aXBQb3NpdGlvbiIsICJoYXNWYWx1ZSIsICJpc051bWJlciIsICJwcm9wcyIsICJmaW5hbCIsICJhbmltcyIsICIkYW5pbWF0aW9ucyIsICJyZXQiLCAiX3RvIiwgImRlZmF1bHRzIiwgImRlZmF1bHRSb3V0ZXMiLCAiYXV0b1NraXAiLCAic2NhbGUiLCAidGlja3MiLCAidGlja09wdHMiLCAiZGV0ZXJtaW5lZE1heFRpY2tzIiwgImRldGVybWluZU1heFRpY2tzIiwgInRpY2tzTGltaXQiLCAibWluIiwgIm1heFRpY2tzTGltaXQiLCAibWFqb3JJbmRpY2VzIiwgIm1ham9yIiwgImVuYWJsZWQiLCAiZ2V0TWFqb3JJbmRpY2VzIiwgIm51bU1ham9ySW5kaWNlcyIsICJmaXJzdCIsICJsYXN0IiwgIm5ld1RpY2tzIiwgInNraXBNYWpvcnMiLCAic3BhY2luZyIsICJjYWxjdWxhdGVTcGFjaW5nIiwgImF2Z01ham9yU3BhY2luZyIsICJyb3VuZCIsICJvZmZzZXQiLCAidGlja0xlbmd0aCIsICJfdGlja1NpemUiLCAibWF4U2NhbGUiLCAiX2xlbmd0aCIsICJtYXhDaGFydCIsICJfbWF4TGVuZ3RoIiwgImV2ZW5NYWpvclNwYWNpbmciLCAiZ2V0RXZlblNwYWNpbmciLCAiZmFjdG9ycyIsICJfZmFjdG9yaXplIiwgInJlc3VsdCIsICJuZXh0IiwgImNlaWwiLCAibWFqb3JTdGFydCIsICJtYWpvckVuZCIsICJ2YWx1ZU9yRGVmYXVsdCIsICJhcnIiLCAibGVuIiwgInJldmVyc2VBbGlnbiIsICJhbGlnbiIsICJvZmZzZXRGcm9tRWRnZSIsICJlZGdlIiwgInNhbXBsZSIsICJudW1JdGVtcyIsICJpbmNyZW1lbnQiLCAiZ2V0UGl4ZWxGb3JHcmlkTGluZSIsICJvZmZzZXRHcmlkTGluZXMiLCAidmFsaWRJbmRleCIsICJfc3RhcnRQaXhlbCIsICJfZW5kUGl4ZWwiLCAiZXBzaWxvbiIsICJsaW5lVmFsdWUiLCAiZ2V0UGl4ZWxGb3JUaWNrIiwgImdhcmJhZ2VDb2xsZWN0IiwgImNhY2hlcyIsICJjYWNoZSIsICJnYyIsICJnY0xlbiIsICJnZXRUaWNrTWFya0xlbmd0aCIsICJkcmF3VGlja3MiLCAiZ2V0VGl0bGVIZWlnaHQiLCAiZmFsbGJhY2siLCAiZm9udCIsICJ0b0ZvbnQiLCAibGluZXMiLCAiaXNBcnJheSIsICJ0ZXh0IiwgImxpbmVIZWlnaHQiLCAiY3JlYXRlU2NhbGVDb250ZXh0IiwgInBhcmVudCIsICJjcmVhdGVDb250ZXh0IiwgImNyZWF0ZVRpY2tDb250ZXh0IiwgInRpY2siLCAidGl0bGVBbGlnbiIsICJfdG9MZWZ0UmlnaHRDZW50ZXIiLCAidGl0bGVBcmdzIiwgInNjYWxlcyIsICJyb3RhdGlvbiIsICJtYXhXaWR0aCIsICJ0aXRsZVgiLCAidGl0bGVZIiwgIl9hbGlnblN0YXJ0RW5kIiwgInBvc2l0aW9uQXhpc0lEIiwgImdldFBpeGVsRm9yVmFsdWUiLCAiSEFMRl9QSSIsICJTY2FsZSIsICJjZmciLCAiaWQiLCAiX21hcmdpbnMiLCAibWF4SGVpZ2h0IiwgInBhZGRpbmdUb3AiLCAicGFkZGluZ0JvdHRvbSIsICJwYWRkaW5nTGVmdCIsICJwYWRkaW5nUmlnaHQiLCAibGFiZWxSb3RhdGlvbiIsICJfcmFuZ2UiLCAiX2dyaWRMaW5lSXRlbXMiLCAiX2xhYmVsSXRlbXMiLCAiX2xhYmVsU2l6ZXMiLCAiX2xvbmdlc3RUZXh0Q2FjaGUiLCAiX3VzZXJNYXgiLCAiX3VzZXJNaW4iLCAiX3N1Z2dlc3RlZE1heCIsICJfc3VnZ2VzdGVkTWluIiwgIl90aWNrc0xlbmd0aCIsICJfYm9yZGVyVmFsdWUiLCAiX2NhY2hlIiwgIl9kYXRhTGltaXRzQ2FjaGVkIiwgIiRjb250ZXh0IiwgInNldENvbnRleHQiLCAic3VnZ2VzdGVkTWluIiwgInN1Z2dlc3RlZE1heCIsICJyYXciLCAiZ2V0VXNlckJvdW5kcyIsICJmaW5pdGVPckRlZmF1bHQiLCAiTkVHQVRJVkVfSU5GSU5JVFkiLCAibWluRGVmaW5lZCIsICJpc0Zpbml0ZSIsICJtYXhEZWZpbmVkIiwgImdldE1pbk1heCIsICJjYW5TdGFjayIsICJtZXRhcyIsICJnZXRNYXRjaGluZ1Zpc2libGVNZXRhcyIsICJnZXRUaWNrcyIsICJnZXRMYWJlbHMiLCAibGFiZWxzIiwgInhMYWJlbHMiLCAieUxhYmVscyIsICJiZWZvcmVVcGRhdGUiLCAiY2FsbCIsICJtYXJnaW5zIiwgImJlZ2luQXRaZXJvIiwgImdyYWNlIiwgInNhbXBsZVNpemUiLCAiYmVmb3JlU2V0RGltZW5zaW9ucyIsICJzZXREaW1lbnNpb25zIiwgImFmdGVyU2V0RGltZW5zaW9ucyIsICJiZWZvcmVEYXRhTGltaXRzIiwgImRldGVybWluZURhdGFMaW1pdHMiLCAiYWZ0ZXJEYXRhTGltaXRzIiwgIl9hZGRHcmFjZSIsICJiZWZvcmVCdWlsZFRpY2tzIiwgImJ1aWxkVGlja3MiLCAiYWZ0ZXJCdWlsZFRpY2tzIiwgInNhbXBsaW5nRW5hYmxlZCIsICJfY29udmVydFRpY2tzVG9MYWJlbHMiLCAiYmVmb3JlQ2FsY3VsYXRlTGFiZWxSb3RhdGlvbiIsICJjYWxjdWxhdGVMYWJlbFJvdGF0aW9uIiwgImFmdGVyQ2FsY3VsYXRlTGFiZWxSb3RhdGlvbiIsICJzb3VyY2UiLCAiYWZ0ZXJBdXRvU2tpcCIsICJiZWZvcmVGaXQiLCAiZml0IiwgImFmdGVyRml0IiwgImFmdGVyVXBkYXRlIiwgInJldmVyc2VQaXhlbHMiLCAic3RhcnRQaXhlbCIsICJlbmRQaXhlbCIsICJfYWxpZ25Ub1BpeGVscyIsICJhbGlnblRvUGl4ZWxzIiwgIl9jYWxsSG9va3MiLCAibmFtZSIsICJub3RpZnlQbHVnaW5zIiwgImJlZm9yZVRpY2tUb0xhYmVsQ29udmVyc2lvbiIsICJnZW5lcmF0ZVRpY2tMYWJlbHMiLCAibGFiZWwiLCAiY2FsbGJhY2siLCAiYWZ0ZXJUaWNrVG9MYWJlbENvbnZlcnNpb24iLCAibnVtVGlja3MiLCAibWluUm90YXRpb24iLCAibWF4Um90YXRpb24iLCAidGlja1dpZHRoIiwgIm1heExhYmVsRGlhZ29uYWwiLCAiX2lzVmlzaWJsZSIsICJsYWJlbFNpemVzIiwgIl9nZXRMYWJlbFNpemVzIiwgIm1heExhYmVsV2lkdGgiLCAid2lkZXN0IiwgIm1heExhYmVsSGVpZ2h0IiwgImhpZ2hlc3QiLCAiX2xpbWl0VmFsdWUiLCAiZ3JpZCIsICJ0aXRsZSIsICJ0b0RlZ3JlZXMiLCAiYXNpbiIsICJtaW5TaXplIiwgInRpdGxlT3B0cyIsICJncmlkT3B0cyIsICJ0aXRsZUhlaWdodCIsICJ0aWNrUGFkZGluZyIsICJhbmdsZVJhZGlhbnMiLCAidG9SYWRpYW5zIiwgImNvcyIsICJzaW4iLCAibGFiZWxIZWlnaHQiLCAibWlycm9yIiwgImxhYmVsV2lkdGgiLCAiX2NhbGN1bGF0ZVBhZGRpbmciLCAiX2hhbmRsZU1hcmdpbnMiLCAiaXNSb3RhdGVkIiwgImxhYmVsc0JlbG93VGlja3MiLCAib2Zmc2V0TGVmdCIsICJvZmZzZXRSaWdodCIsICJpc0Z1bGxTaXplIiwgIl9jb21wdXRlTGFiZWxTaXplcyIsICJ3aWR0aHMiLCAiaGVpZ2h0cyIsICJ3aWRlc3RMYWJlbFNpemUiLCAiaGlnaGVzdExhYmVsU2l6ZSIsICJqbGVuIiwgInRpY2tGb250IiwgImZvbnRTdHJpbmciLCAibmVzdGVkTGFiZWwiLCAiX3Jlc29sdmVUaWNrRm9udE9wdGlvbnMiLCAic3RyaW5nIiwgIl9tZWFzdXJlVGV4dCIsICJ2YWx1ZUF0IiwgImlkeCIsICJnZXRMYWJlbEZvclZhbHVlIiwgIk5hTiIsICJnZXRWYWx1ZUZvclBpeGVsIiwgInBpeGVsIiwgImdldFBpeGVsRm9yRGVjaW1hbCIsICJkZWNpbWFsIiwgIl9pbnQxNlJhbmdlIiwgIl9hbGlnblBpeGVsIiwgImdldERlY2ltYWxGb3JQaXhlbCIsICJnZXRCYXNlUGl4ZWwiLCAiZ2V0QmFzZVZhbHVlIiwgIm9wdGlvblRpY2tzIiwgInJvdCIsICJhdXRvU2tpcFBhZGRpbmciLCAiX2NvbXB1dGVHcmlkTGluZUl0ZW1zIiwgImJvcmRlciIsICJ0aWNrc0xlbmd0aCIsICJ0bCIsICJib3JkZXJPcHRzIiwgImF4aXNXaWR0aCIsICJheGlzSGFsZldpZHRoIiwgImFsaWduQm9yZGVyVmFsdWUiLCAiYm9yZGVyVmFsdWUiLCAiYWxpZ25lZExpbmVWYWx1ZSIsICJ0eDEiLCAidHkxIiwgInR4MiIsICJ0eTIiLCAieDEiLCAieTEiLCAieDIiLCAieTIiLCAibGltaXQiLCAic3RlcCIsICJvcHRzQXRJbmRleCIsICJvcHRzQXRJbmRleEJvcmRlciIsICJsaW5lV2lkdGgiLCAibGluZUNvbG9yIiwgImNvbG9yIiwgImJvcmRlckRhc2giLCAiZGFzaCIsICJib3JkZXJEYXNoT2Zmc2V0IiwgImRhc2hPZmZzZXQiLCAidGlja0NvbG9yIiwgInRpY2tCb3JkZXJEYXNoIiwgInRpY2tCb3JkZXJEYXNoT2Zmc2V0IiwgIl9jb21wdXRlTGFiZWxJdGVtcyIsICJjcm9zc0FsaWduIiwgInRpY2tBbmRQYWRkaW5nIiwgImhUaWNrQW5kUGFkZGluZyIsICJ0ZXh0QWxpZ24iLCAibGluZUNvdW50IiwgInRleHRPZmZzZXQiLCAidGV4dEJhc2VsaW5lIiwgIl9nZXRYQXhpc0xhYmVsQWxpZ25tZW50IiwgIl9nZXRZQXhpc0xhYmVsQWxpZ25tZW50IiwgImxhYmVsT2Zmc2V0IiwgImhhbGZDb3VudCIsICJzdHJva2VDb2xvciIsICJ0ZXh0U3Ryb2tlQ29sb3IiLCAic3Ryb2tlV2lkdGgiLCAidGV4dFN0cm9rZVdpZHRoIiwgInRpY2tUZXh0QWxpZ24iLCAic2hvd0xhYmVsQmFja2Ryb3AiLCAiYmFja2Ryb3AiLCAibGFiZWxQYWRkaW5nIiwgImJhY2tkcm9wUGFkZGluZyIsICJiYWNrZHJvcENvbG9yIiwgInRyYW5zbGF0aW9uIiwgIl9jb21wdXRlTGFiZWxBcmVhIiwgImRyYXdCYWNrZ3JvdW5kIiwgImJhY2tncm91bmRDb2xvciIsICJzYXZlIiwgImZpbGxTdHlsZSIsICJmaWxsUmVjdCIsICJyZXN0b3JlIiwgImdldExpbmVXaWR0aEZvclZhbHVlIiwgImZpbmRJbmRleCIsICJ0IiwgIm9wdHMiLCAiZHJhd0dyaWQiLCAiZHJhd0xpbmUiLCAicDEiLCAicDIiLCAic3Ryb2tlU3R5bGUiLCAic2V0TGluZURhc2giLCAibGluZURhc2hPZmZzZXQiLCAiYmVnaW5QYXRoIiwgIm1vdmVUbyIsICJsaW5lVG8iLCAic3Ryb2tlIiwgImRyYXdPbkNoYXJ0QXJlYSIsICJkcmF3Qm9yZGVyIiwgImxhc3RMaW5lV2lkdGgiLCAiZHJhd0xhYmVscyIsICJhcmVhIiwgImNsaXBBcmVhIiwgInJlbmRlclRleHQiLCAidW5jbGlwQXJlYSIsICJkcmF3VGl0bGUiLCAidHoiLCAiZ3oiLCAiYnoiLCAiYXhpc0lEIiwgIl9tYXhEaWdpdHMiLCAiZm9udFNpemUiLCAiVHlwZWRSZWdpc3RyeSIsICJzY29wZSIsICJjcmVhdGUiLCAiaXNGb3JUeXBlIiwgImlzUHJvdG90eXBlT2YiLCAicmVnaXN0ZXIiLCAicHJvdG8iLCAiZ2V0UHJvdG90eXBlT2YiLCAicGFyZW50U2NvcGUiLCAiaXNJQ2hhcnRDb21wb25lbnQiLCAicmVnaXN0ZXJEZWZhdWx0cyIsICJvdmVycmlkZXMiLCAiZ2V0IiwgInVucmVnaXN0ZXIiLCAiaXRlbURlZmF1bHRzIiwgIm1lcmdlIiwgInJvdXRlRGVmYXVsdHMiLCAiZGVzY3JpcHRvcnMiLCAiZGVzY3JpYmUiLCAicm91dGVzIiwgInByb3BlcnR5IiwgInByb3BlcnR5UGFydHMiLCAic3BsaXQiLCAic291cmNlTmFtZSIsICJwb3AiLCAic291cmNlU2NvcGUiLCAiam9pbiIsICJwYXJ0cyIsICJ0YXJnZXROYW1lIiwgInRhcmdldFNjb3BlIiwgInJvdXRlIiwgIlJlZ2lzdHJ5IiwgImNvbnRyb2xsZXJzIiwgIkRhdGFzZXRDb250cm9sbGVyIiwgInBsdWdpbnMiLCAiX3R5cGVkUmVnaXN0cmllcyIsICJhcmdzIiwgIl9lYWNoIiwgInJlbW92ZSIsICJhZGRDb250cm9sbGVycyIsICJhZGRFbGVtZW50cyIsICJhZGRQbHVnaW5zIiwgImFkZFNjYWxlcyIsICJnZXRDb250cm9sbGVyIiwgIl9nZXQiLCAiZ2V0RWxlbWVudCIsICJnZXRQbHVnaW4iLCAiZ2V0U2NhbGUiLCAicmVtb3ZlQ29udHJvbGxlcnMiLCAicmVtb3ZlRWxlbWVudHMiLCAicmVtb3ZlUGx1Z2lucyIsICJyZW1vdmVTY2FsZXMiLCAibWV0aG9kIiwgInR5cGVkUmVnaXN0cnkiLCAiYXJnIiwgInJlZyIsICJfZ2V0UmVnaXN0cnlGb3JUeXBlIiwgIl9leGVjIiwgIml0ZW1SZWciLCAicmVnaXN0cnkiLCAiY29tcG9uZW50IiwgImNhbWVsTWV0aG9kIiwgIl9jYXBpdGFsaXplIiwgIlBsdWdpblNlcnZpY2UiLCAiX2luaXQiLCAibm90aWZ5IiwgImhvb2siLCAiX2NyZWF0ZURlc2NyaXB0b3JzIiwgIl9ub3RpZnkiLCAiX2Rlc2NyaXB0b3JzIiwgImRlc2NyaXB0b3IiLCAicGx1Z2luIiwgImNhbGxDYWxsYmFjayIsICJjYW5jZWxhYmxlIiwgImludmFsaWRhdGUiLCAiX29sZENhY2hlIiwgIl9ub3RpZnlTdGF0ZUNoYW5nZXMiLCAiYWxsIiwgImFsbFBsdWdpbnMiLCAiY3JlYXRlRGVzY3JpcHRvcnMiLCAicHJldmlvdXNEZXNjcmlwdG9ycyIsICJzb21lIiwgImxvY2FsSWRzIiwgImxvY2FsIiwgImdldE9wdHMiLCAicGx1Z2luT3B0cyIsICJwbHVnaW5TY29wZUtleXMiLCAic2NvcGVzIiwgImdldE9wdGlvblNjb3BlcyIsICJjcmVhdGVSZXNvbHZlciIsICJzY3JpcHRhYmxlIiwgImluZGV4YWJsZSIsICJhbGxLZXlzIiwgImdldEluZGV4QXhpcyIsICJkYXRhc2V0RGVmYXVsdHMiLCAiZGF0YXNldHMiLCAiZGF0YXNldE9wdGlvbnMiLCAiaW5kZXhBeGlzIiwgImdldEF4aXNGcm9tRGVmYXVsdFNjYWxlSUQiLCAiZ2V0RGVmYXVsdFNjYWxlSURGcm9tQXhpcyIsICJheGlzRnJvbVBvc2l0aW9uIiwgImRldGVybWluZUF4aXMiLCAic2NhbGVPcHRpb25zIiwgInRvTG93ZXJDYXNlIiwgIm1lcmdlU2NhbGVDb25maWciLCAiY2hhcnREZWZhdWx0cyIsICJjb25maWdTY2FsZXMiLCAiY2hhcnRJbmRleEF4aXMiLCAic2NhbGVDb25mIiwgImNvbnNvbGUiLCAiZXJyb3IiLCAiX3Byb3h5IiwgIndhcm4iLCAiZGVmYXVsdElkIiwgImRlZmF1bHRTY2FsZU9wdGlvbnMiLCAibWVyZ2VJZiIsICJkZWZhdWx0SUQiLCAiaW5pdE9wdGlvbnMiLCAiaW5pdERhdGEiLCAiaW5pdENvbmZpZyIsICJrZXlDYWNoZSIsICJrZXlzQ2FjaGVkIiwgIlNldCIsICJjYWNoZWRLZXlzIiwgImNhY2hlS2V5IiwgImdlbmVyYXRlIiwgImFkZElmRm91bmQiLCAib2JqIiwgInJlc29sdmVPYmplY3RLZXkiLCAiQ29uZmlnIiwgIl9jb25maWciLCAiX3Njb3BlQ2FjaGUiLCAiX3Jlc29sdmVyQ2FjaGUiLCAicGxhdGZvcm0iLCAiY2xlYXJDYWNoZSIsICJjbGVhciIsICJkYXRhc2V0U2NvcGVLZXlzIiwgImRhdGFzZXRUeXBlIiwgImRhdGFzZXRBbmltYXRpb25TY29wZUtleXMiLCAidHJhbnNpdGlvbiIsICJkYXRhc2V0RWxlbWVudFNjb3BlS2V5cyIsICJlbGVtZW50VHlwZSIsICJhZGRpdGlvbmFsT3B0aW9uU2NvcGVzIiwgIl9jYWNoZWRTY29wZXMiLCAibWFpblNjb3BlIiwgInJlc2V0Q2FjaGUiLCAia2V5TGlzdHMiLCAiY2FjaGVkIiwgIkFycmF5IiwgImZyb20iLCAiaGFzIiwgImNoYXJ0T3B0aW9uU2NvcGVzIiwgInJlc29sdmVOYW1lZE9wdGlvbnMiLCAibmFtZXMiLCAicHJlZml4ZXMiLCAiJHNoYXJlZCIsICJyZXNvbHZlciIsICJzdWJQcmVmaXhlcyIsICJnZXRSZXNvbHZlciIsICJuZWVkQ29udGV4dCIsICJpc0Z1bmN0aW9uIiwgInN1YlJlc29sdmVyIiwgIl9hdHRhY2hDb250ZXh0IiwgImRlc2NyaXB0b3JEZWZhdWx0cyIsICJyZXNvbHZlckNhY2hlIiwgIl9jcmVhdGVSZXNvbHZlciIsICJwIiwgImhhc0Z1bmN0aW9uIiwgImdldE93blByb3BlcnR5TmFtZXMiLCAiYWNjIiwgImlzU2NyaXB0YWJsZSIsICJpc0luZGV4YWJsZSIsICJLTk9XTl9QT1NJVElPTlMiLCAicG9zaXRpb25Jc0hvcml6b250YWwiLCAiY29tcGFyZTJMZXZlbCIsICJsMSIsICJsMiIsICJvbkFuaW1hdGlvbnNDb21wbGV0ZSIsICJhbmltYXRpb25PcHRpb25zIiwgIm9uQ29tcGxldGUiLCAib25BbmltYXRpb25Qcm9ncmVzcyIsICJvblByb2dyZXNzIiwgImdldENhbnZhcyIsICJnZXRFbGVtZW50QnlJZCIsICJpbnN0YW5jZXMiLCAiZ2V0Q2hhcnQiLCAidmFsdWVzIiwgImMiLCAibW92ZU51bWVyaWNLZXlzIiwgIm1vdmUiLCAiaW50S2V5IiwgImRldGVybWluZUxhc3RFdmVudCIsICJsYXN0RXZlbnQiLCAiaW5DaGFydEFyZWEiLCAiaXNDbGljayIsICJnZXREYXRhc2V0QXJlYSIsICJ4U2NhbGUiLCAieVNjYWxlIiwgIkNoYXJ0IiwgImludmFsaWRhdGVQbHVnaW5zIiwgInVzZXJDb25maWciLCAiaW5pdGlhbENhbnZhcyIsICJleGlzdGluZ0NoYXJ0IiwgInVpZCIsICJfb3B0aW9ucyIsICJfYXNwZWN0UmF0aW8iLCAiX21ldGFzZXRzIiwgIl9zdGFja3MiLCAiX2FjdGl2ZSIsICJfbGFzdEV2ZW50IiwgIl9saXN0ZW5lcnMiLCAiX3Jlc3BvbnNpdmVMaXN0ZW5lcnMiLCAiX3NvcnRlZE1ldGFzZXRzIiwgIl9wbHVnaW5zIiwgIl9oaWRkZW5JbmRpY2VzIiwgImF0dGFjaGVkIiwgIl9hbmltYXRpb25zRGlzYWJsZWQiLCAiX2RvUmVzaXplIiwgImRlYm91bmNlIiwgIm1vZGUiLCAicmVzaXplRGVsYXkiLCAiX2RhdGFDaGFuZ2VzIiwgImFuaW1hdG9yIiwgImxpc3RlbiIsICJfaW5pdGlhbGl6ZSIsICJtYWludGFpbkFzcGVjdFJhdGlvIiwgInJlc3BvbnNpdmUiLCAicmV0aW5hU2NhbGUiLCAiYmluZEV2ZW50cyIsICJjbGVhckNhbnZhcyIsICJzdG9wIiwgInJ1bm5pbmciLCAiX3Jlc2l6ZSIsICJfcmVzaXplQmVmb3JlRHJhdyIsICJuZXdTaXplIiwgIm5ld1JhdGlvIiwgIm9uUmVzaXplIiwgInJlbmRlciIsICJlbnN1cmVTY2FsZXNIYXZlSURzIiwgInNjYWxlc09wdGlvbnMiLCAiYXhpc09wdGlvbnMiLCAiYnVpbGRPclVwZGF0ZVNjYWxlcyIsICJzY2FsZU9wdHMiLCAidXBkYXRlZCIsICJtYXAiLCAiaXNSYWRpYWwiLCAiZHBvc2l0aW9uIiwgImR0eXBlIiwgInNjYWxlVHlwZSIsICJzY2FsZUNsYXNzIiwgImhhc1VwZGF0ZWQiLCAiX3VwZGF0ZU1ldGFzZXRzIiwgIm51bURhdGEiLCAibnVtTWV0YSIsICJfZGVzdHJveURhdGFzZXRNZXRhIiwgInNsaWNlIiwgIl9yZW1vdmVVbnJlZmVyZW5jZWRNZXRhc2V0cyIsICJfZGF0YXNldCIsICJidWlsZE9yVXBkYXRlQ29udHJvbGxlcnMiLCAibmV3Q29udHJvbGxlcnMiLCAib3JkZXIiLCAidmlzaWJsZSIsICJpc0RhdGFzZXRWaXNpYmxlIiwgInVwZGF0ZUluZGV4IiwgImxpbmtTY2FsZXMiLCAiQ29udHJvbGxlckNsYXNzIiwgImRhdGFzZXRFbGVtZW50VHlwZSIsICJkYXRhRWxlbWVudFR5cGUiLCAiX3Jlc2V0RWxlbWVudHMiLCAicmVzZXQiLCAiYW5pbXNEaXNhYmxlZCIsICJfdXBkYXRlU2NhbGVzIiwgIl9jaGVja0V2ZW50QmluZGluZ3MiLCAiX3VwZGF0ZUhpZGRlbkluZGljZXMiLCAiYnVpbGRPclVwZGF0ZUVsZW1lbnRzIiwgImdldE1heE92ZXJmbG93IiwgIl9taW5QYWRkaW5nIiwgImF1dG9QYWRkaW5nIiwgIl91cGRhdGVMYXlvdXQiLCAiX3VwZGF0ZURhdGFzZXRzIiwgIl9ldmVudEhhbmRsZXIiLCAiX3VwZGF0ZUhvdmVyU3R5bGVzIiwgImV4aXN0aW5nRXZlbnRzIiwgIm5ld0V2ZW50cyIsICJldmVudHMiLCAic2V0c0VxdWFsIiwgInVuYmluZEV2ZW50cyIsICJjaGFuZ2VzIiwgIl9nZXRVbmlmb3JtRGF0YUNoYW5nZXMiLCAiZGF0YXNldENvdW50IiwgIm1ha2VTZXQiLCAiY2hhbmdlU2V0IiwgIm5vQXJlYSIsICJfaWR4IiwgIl91cGRhdGVEYXRhc2V0IiwgIl91cGRhdGUiLCAibGF5ZXJzIiwgIl9kcmF3RGF0YXNldHMiLCAiX2dldFNvcnRlZERhdGFzZXRNZXRhcyIsICJmaWx0ZXJWaXNpYmxlIiwgIl9kcmF3RGF0YXNldCIsICJjbGlwIiwgIl9jbGlwIiwgInVzZUNsaXAiLCAiZGlzYWJsZWQiLCAiZ2V0RWxlbWVudHNBdEV2ZW50Rm9yTW9kZSIsICJJbnRlcmFjdGlvbiIsICJoaWRkZW4iLCAieEF4aXNJRCIsICJ5QXhpc0lEIiwgIl9wYXJzZWQiLCAiZ2V0VmlzaWJsZURhdGFzZXRDb3VudCIsICJzZXREYXRhc2V0VmlzaWJpbGl0eSIsICJ0b2dnbGVEYXRhVmlzaWJpbGl0eSIsICJnZXREYXRhVmlzaWJpbGl0eSIsICJfdXBkYXRlVmlzaWJpbGl0eSIsICJkYXRhSW5kZXgiLCAiX3Jlc29sdmVBbmltYXRpb25zIiwgImhpZGUiLCAic2hvdyIsICJfZGVzdHJveSIsICJfc3RvcCIsICJkZXN0cm95IiwgInRvQmFzZTY0SW1hZ2UiLCAidG9EYXRhVVJMIiwgImJpbmRVc2VyRXZlbnRzIiwgImJpbmRSZXNwb25zaXZlRXZlbnRzIiwgImxpc3RlbmVycyIsICJfYWRkIiwgIm9mZnNldFgiLCAib2Zmc2V0WSIsICJfcmVtb3ZlIiwgImRldGFjaGVkIiwgInVwZGF0ZUhvdmVyU3R5bGUiLCAicHJlZml4IiwgImdldEFjdGl2ZUVsZW1lbnRzIiwgInNldEFjdGl2ZUVsZW1lbnRzIiwgImFjdGl2ZUVsZW1lbnRzIiwgImxhc3RBY3RpdmUiLCAiX2VsZW1lbnRzRXF1YWwiLCAiaXNQbHVnaW5FbmFibGVkIiwgInBsdWdpbklkIiwgInJlcGxheSIsICJob3Zlck9wdGlvbnMiLCAiaG92ZXIiLCAiZGVhY3RpdmF0ZWQiLCAiYWN0aXZhdGVkIiwgImV2ZW50RmlsdGVyIiwgIl9oYW5kbGVFdmVudCIsICJfZ2V0QWN0aXZlRWxlbWVudHMiLCAiX2lzQ2xpY2tFdmVudCIsICJvbkhvdmVyIiwgIm9uQ2xpY2siLCAidmVyc2lvbiIsICJjbGlwQXJjIiwgInBpeGVsTWFyZ2luIiwgIm91dGVyUmFkaXVzIiwgImlubmVyUmFkaXVzIiwgImFuZ2xlTWFyZ2luIiwgImFyYyIsICJjbG9zZVBhdGgiLCAidG9SYWRpdXNDb3JuZXJzIiwgIl9yZWFkVmFsdWVUb1Byb3BzIiwgInBhcnNlQm9yZGVyUmFkaXVzIiwgImFuZ2xlRGVsdGEiLCAibyIsICJib3JkZXJSYWRpdXMiLCAiaGFsZlRoaWNrbmVzcyIsICJpbm5lckxpbWl0IiwgImNvbXB1dGVPdXRlckxpbWl0IiwgInZhbCIsICJvdXRlckFyY0xpbWl0IiwgIm91dGVyU3RhcnQiLCAib3V0ZXJFbmQiLCAiaW5uZXJTdGFydCIsICJpbm5lckVuZCIsICJyVGhldGFUb1hZIiwgInIiLCAidGhldGEiLCAicGF0aEFyYyIsICJjaXJjdWxhciIsICJpbm5lclIiLCAic3BhY2luZ09mZnNldCIsICJhbHBoYSIsICJub1NwYWNpbmdJbm5lclJhZGl1cyIsICJub1NwYWNpbmdPdXRlclJhZGl1cyIsICJhdk5vZ1NwYWNpbmdSYWRpdXMiLCAiYWRqdXN0ZWRBbmdsZSIsICJiZXRhIiwgIlBJIiwgImFuZ2xlT2Zmc2V0IiwgIm91dGVyU3RhcnRBZGp1c3RlZFJhZGl1cyIsICJvdXRlckVuZEFkanVzdGVkUmFkaXVzIiwgIm91dGVyU3RhcnRBZGp1c3RlZEFuZ2xlIiwgIm91dGVyRW5kQWRqdXN0ZWRBbmdsZSIsICJpbm5lclN0YXJ0QWRqdXN0ZWRSYWRpdXMiLCAiaW5uZXJFbmRBZGp1c3RlZFJhZGl1cyIsICJpbm5lclN0YXJ0QWRqdXN0ZWRBbmdsZSIsICJpbm5lckVuZEFkanVzdGVkQW5nbGUiLCAib3V0ZXJNaWRBZGp1c3RlZEFuZ2xlIiwgInBDZW50ZXIiLCAicDQiLCAiaW5uZXJNaWRBZGp1c3RlZEFuZ2xlIiwgInA4IiwgIm91dGVyU3RhcnRYIiwgIm91dGVyU3RhcnRZIiwgIm91dGVyRW5kWCIsICJvdXRlckVuZFkiLCAiZHJhd0FyYyIsICJmdWxsQ2lyY2xlcyIsICJjaXJjdW1mZXJlbmNlIiwgImZpbGwiLCAiaXNOYU4iLCAiVEFVIiwgImJvcmRlcldpZHRoIiwgImJvcmRlckpvaW5TdHlsZSIsICJpbm5lciIsICJib3JkZXJBbGlnbiIsICJsaW5lSm9pbiIsICJBcmNFbGVtZW50IiwgImNoYXJ0WCIsICJjaGFydFkiLCAickFkanVzdCIsICJfY2lyY3VtZmVyZW5jZSIsICJiZXR3ZWVuQW5nbGVzIiwgIndpdGhpblJhZGl1cyIsICJfaXNCZXR3ZWVuIiwgImhhbGZBbmdsZSIsICJoYWxmUmFkaXVzIiwgInRyYW5zbGF0ZSIsICJmaXgiLCAicmFkaXVzT2Zmc2V0IiwgImJvcmRlckNvbG9yIiwgImdldEJhckJvdW5kcyIsICJiYXIiLCAidXNlRmluYWxQb3NpdGlvbiIsICJ4IiwgInkiLCAiYmFzZSIsICJ3aWR0aCIsICJoZWlnaHQiLCAiZ2V0UHJvcHMiLCAibGVmdCIsICJyaWdodCIsICJ0b3AiLCAiYm90dG9tIiwgImhhbGYiLCAiaG9yaXpvbnRhbCIsICJNYXRoIiwgIm1pbiIsICJtYXgiLCAic2tpcE9yTGltaXQiLCAic2tpcCIsICJ2YWx1ZSIsICJfbGltaXRWYWx1ZSIsICJwYXJzZUJvcmRlcldpZHRoIiwgIm1heFciLCAibWF4SCIsICJvcHRpb25zIiwgImJvcmRlcldpZHRoIiwgImJvcmRlclNraXBwZWQiLCAibyIsICJ0b1RSQkwiLCAidCIsICJyIiwgImIiLCAibCIsICJwYXJzZUJvcmRlclJhZGl1cyIsICJlbmFibGVCb3JkZXJSYWRpdXMiLCAiYm9yZGVyUmFkaXVzIiwgInRvVFJCTENvcm5lcnMiLCAibWF4UiIsICJlbmFibGVCb3JkZXIiLCAiaXNPYmplY3QiLCAidG9wTGVmdCIsICJ0b3BSaWdodCIsICJib3R0b21MZWZ0IiwgImJvdHRvbVJpZ2h0IiwgImJvdW5kaW5nUmVjdHMiLCAiYm91bmRzIiwgImJvcmRlciIsICJyYWRpdXMiLCAib3V0ZXIiLCAidyIsICJoIiwgImlubmVyIiwgImluUmFuZ2UiLCAic2tpcFgiLCAic2tpcFkiLCAic2tpcEJvdGgiLCAiX2lzQmV0d2VlbiIsICJoYXNSYWRpdXMiLCAiYWRkTm9ybWFsUmVjdFBhdGgiLCAiY3R4IiwgInJlY3QiLCAiaW5mbGF0ZVJlY3QiLCAiYW1vdW50IiwgInJlZlJlY3QiLCAiQmFyRWxlbWVudCIsICJFbGVtZW50IiwgImNvbnN0cnVjdG9yIiwgImNmZyIsICJ1bmRlZmluZWQiLCAiaW5mbGF0ZUFtb3VudCIsICJPYmplY3QiLCAiYXNzaWduIiwgImRyYXciLCAiYm9yZGVyQ29sb3IiLCAiYmFja2dyb3VuZENvbG9yIiwgImFkZFJlY3RQYXRoIiwgImFkZFJvdW5kZWRSZWN0UGF0aCIsICJzYXZlIiwgImJlZ2luUGF0aCIsICJjbGlwIiwgImZpbGxTdHlsZSIsICJmaWxsIiwgInJlc3RvcmUiLCAibW91c2VYIiwgIm1vdXNlWSIsICJpblhSYW5nZSIsICJpbllSYW5nZSIsICJnZXRDZW50ZXJQb2ludCIsICJnZXRSYW5nZSIsICJheGlzIiwgImlkIiwgImRlZmF1bHRzIiwgInBvaW50U3R5bGUiLCAiZGVmYXVsdFJvdXRlcyIsICJnZXRCb3hTaXplIiwgImxhYmVsT3B0cyIsICJmb250U2l6ZSIsICJib3hIZWlnaHQiLCAiYm94V2lkdGgiLCAidXNlUG9pbnRTdHlsZSIsICJNYXRoIiwgIm1pbiIsICJwb2ludFN0eWxlV2lkdGgiLCAiaXRlbUhlaWdodCIsICJtYXgiLCAiaXRlbXNFcXVhbCIsICJhIiwgImIiLCAiZGF0YXNldEluZGV4IiwgImluZGV4IiwgIkxlZ2VuZCIsICJFbGVtZW50IiwgImNvbnN0cnVjdG9yIiwgImNvbmZpZyIsICJfYWRkZWQiLCAibGVnZW5kSGl0Qm94ZXMiLCAiX2hvdmVyZWRJdGVtIiwgImRvdWdobnV0TW9kZSIsICJjaGFydCIsICJvcHRpb25zIiwgImN0eCIsICJsZWdlbmRJdGVtcyIsICJ1bmRlZmluZWQiLCAiY29sdW1uU2l6ZXMiLCAibGluZVdpZHRocyIsICJtYXhIZWlnaHQiLCAibWF4V2lkdGgiLCAidG9wIiwgImJvdHRvbSIsICJsZWZ0IiwgInJpZ2h0IiwgImhlaWdodCIsICJ3aWR0aCIsICJfbWFyZ2lucyIsICJwb3NpdGlvbiIsICJ3ZWlnaHQiLCAiZnVsbFNpemUiLCAidXBkYXRlIiwgIm1hcmdpbnMiLCAic2V0RGltZW5zaW9ucyIsICJidWlsZExhYmVscyIsICJmaXQiLCAiaXNIb3Jpem9udGFsIiwgImxhYmVscyIsICJjYWxsIiwgImdlbmVyYXRlTGFiZWxzIiwgImZpbHRlciIsICJpdGVtIiwgImRhdGEiLCAic29ydCIsICJyZXZlcnNlIiwgImRpc3BsYXkiLCAibGFiZWxGb250IiwgInRvRm9udCIsICJmb250IiwgInNpemUiLCAidGl0bGVIZWlnaHQiLCAiX2NvbXB1dGVUaXRsZUhlaWdodCIsICJzdHJpbmciLCAiX2ZpdFJvd3MiLCAiX2ZpdENvbHMiLCAicGFkZGluZyIsICJoaXRib3hlcyIsICJsaW5lSGVpZ2h0IiwgInRvdGFsSGVpZ2h0IiwgInRleHRBbGlnbiIsICJ0ZXh0QmFzZWxpbmUiLCAicm93IiwgImZvckVhY2giLCAibGVnZW5kSXRlbSIsICJpIiwgIml0ZW1XaWR0aCIsICJtZWFzdXJlVGV4dCIsICJ0ZXh0IiwgImxlbmd0aCIsICJfaXRlbUhlaWdodCIsICJoZWlnaHRMaW1pdCIsICJ0b3RhbFdpZHRoIiwgImN1cnJlbnRDb2xXaWR0aCIsICJjdXJyZW50Q29sSGVpZ2h0IiwgImNvbCIsICJjYWxjdWxhdGVJdGVtU2l6ZSIsICJwdXNoIiwgImFkanVzdEhpdEJveGVzIiwgImFsaWduIiwgInJ0bCIsICJydGxIZWxwZXIiLCAiZ2V0UnRsQWRhcHRlciIsICJfYWxpZ25TdGFydEVuZCIsICJoaXRib3giLCAibGVmdEZvckx0ciIsICJ4IiwgImRyYXciLCAiY2xpcEFyZWEiLCAiX2RyYXciLCAidW5jbGlwQXJlYSIsICJvcHRzIiwgImRlZmF1bHRDb2xvciIsICJkZWZhdWx0cyIsICJjb2xvciIsICJoYWxmRm9udFNpemUiLCAiY3Vyc29yIiwgImRyYXdUaXRsZSIsICJsaW5lV2lkdGgiLCAiZHJhd0xlZ2VuZEJveCIsICJ5IiwgImlzTmFOIiwgInNhdmUiLCAidmFsdWVPckRlZmF1bHQiLCAiZmlsbFN0eWxlIiwgImxpbmVDYXAiLCAibGluZURhc2hPZmZzZXQiLCAibGluZUpvaW4iLCAic3Ryb2tlU3R5bGUiLCAic2V0TGluZURhc2giLCAibGluZURhc2giLCAiZHJhd09wdGlvbnMiLCAicmFkaXVzIiwgIlNRUlQyIiwgInBvaW50U3R5bGUiLCAicm90YXRpb24iLCAiYm9yZGVyV2lkdGgiLCAiY2VudGVyWCIsICJ4UGx1cyIsICJjZW50ZXJZIiwgImRyYXdQb2ludExlZ2VuZCIsICJ5Qm94VG9wIiwgInhCb3hMZWZ0IiwgImJvcmRlclJhZGl1cyIsICJ0b1RSQkxDb3JuZXJzIiwgImJlZ2luUGF0aCIsICJPYmplY3QiLCAidmFsdWVzIiwgInNvbWUiLCAidiIsICJhZGRSb3VuZGVkUmVjdFBhdGgiLCAidyIsICJoIiwgInJlY3QiLCAiZmlsbCIsICJzdHJva2UiLCAicmVzdG9yZSIsICJmaWxsVGV4dCIsICJyZW5kZXJUZXh0IiwgInN0cmlrZXRocm91Z2giLCAiaGlkZGVuIiwgImxpbmUiLCAib3ZlcnJpZGVUZXh0RGlyZWN0aW9uIiwgInRleHREaXJlY3Rpb24iLCAiZm9udENvbG9yIiwgInRleHRXaWR0aCIsICJzZXRXaWR0aCIsICJyZWFsWCIsICJfdGV4dFgiLCAiZm9udExpbmVIZWlnaHQiLCAiY2FsY3VsYXRlTGVnZW5kSXRlbUhlaWdodCIsICJyZXN0b3JlVGV4dERpcmVjdGlvbiIsICJ0aXRsZU9wdHMiLCAidGl0bGUiLCAidGl0bGVGb250IiwgInRpdGxlUGFkZGluZyIsICJ0b1BhZGRpbmciLCAidG9wUGFkZGluZ1BsdXNIYWxmRm9udFNpemUiLCAicmVkdWNlIiwgImFjYyIsICJfdG9MZWZ0UmlnaHRDZW50ZXIiLCAiX2dldExlZ2VuZEl0ZW1BdCIsICJoaXRCb3giLCAibGgiLCAiX2lzQmV0d2VlbiIsICJoYW5kbGVFdmVudCIsICJlIiwgImlzTGlzdGVuZWQiLCAidHlwZSIsICJob3ZlcmVkSXRlbSIsICJwcmV2aW91cyIsICJzYW1lSXRlbSIsICJvbkxlYXZlIiwgIm9uSG92ZXIiLCAib25DbGljayIsICJjYWxjdWxhdGVJdGVtV2lkdGgiLCAiY2FsY3VsYXRlSXRlbUhlaWdodCIsICJsZWdlbmRJdGVtVGV4dCIsICJsYWJlbEhlaWdodCIsICJpZCIsICJfZWxlbWVudCIsICJzdGFydCIsICJfYXJncyIsICJsZWdlbmQiLCAibGF5b3V0cyIsICJjb25maWd1cmUiLCAiYWRkQm94IiwgInN0b3AiLCAicmVtb3ZlQm94IiwgImJlZm9yZVVwZGF0ZSIsICJhZnRlclVwZGF0ZSIsICJhZnRlckV2ZW50IiwgImFyZ3MiLCAicmVwbGF5IiwgImV2ZW50IiwgImNpIiwgImlzRGF0YXNldFZpc2libGUiLCAiaGlkZSIsICJzaG93IiwgImRhdGFzZXRzIiwgInVzZUJvcmRlclJhZGl1cyIsICJfZ2V0U29ydGVkRGF0YXNldE1ldGFzIiwgIm1hcCIsICJtZXRhIiwgInN0eWxlIiwgImNvbnRyb2xsZXIiLCAiZ2V0U3R5bGUiLCAibGFiZWwiLCAiYmFja2dyb3VuZENvbG9yIiwgInZpc2libGUiLCAiYm9yZGVyQ2FwU3R5bGUiLCAiYm9yZGVyRGFzaCIsICJib3JkZXJEYXNoT2Zmc2V0IiwgImJvcmRlckpvaW5TdHlsZSIsICJib3JkZXJDb2xvciIsICJkZXNjcmlwdG9ycyIsICJfc2NyaXB0YWJsZSIsICJuYW1lIiwgInN0YXJ0c1dpdGgiLCAiaW5jbHVkZXMiLCAiVGl0bGUiLCAiX3BhZGRpbmciLCAibGluZUNvdW50IiwgImlzQXJyYXkiLCAidGV4dFNpemUiLCAicG9zIiwgIl9kcmF3QXJncyIsICJvZmZzZXQiLCAidGl0bGVYIiwgInRpdGxlWSIsICJQSSIsICJmb250T3B0cyIsICJ0cmFuc2xhdGlvbiIsICJjcmVhdGVUaXRsZSIsICJ0aXRsZUJsb2NrIiwgImRlZmF1bHRSb3V0ZXMiLCAiX2luZGV4YWJsZSIsICJXZWFrTWFwIiwgInNldCIsICJnZXQiLCAiZGVsZXRlIiwgInBvc2l0aW9uZXJzIiwgImF2ZXJhZ2UiLCAiaXRlbXMiLCAibGVuIiwgImNvdW50IiwgImVsIiwgImVsZW1lbnQiLCAiaGFzVmFsdWUiLCAidG9vbHRpcFBvc2l0aW9uIiwgIm5lYXJlc3QiLCAiZXZlbnRQb3NpdGlvbiIsICJtaW5EaXN0YW5jZSIsICJOdW1iZXIiLCAiUE9TSVRJVkVfSU5GSU5JVFkiLCAibmVhcmVzdEVsZW1lbnQiLCAiY2VudGVyIiwgImdldENlbnRlclBvaW50IiwgImQiLCAiZGlzdGFuY2VCZXR3ZWVuUG9pbnRzIiwgInRwIiwgInB1c2hPckNvbmNhdCIsICJiYXNlIiwgInRvUHVzaCIsICJBcnJheSIsICJwcm90b3R5cGUiLCAiYXBwbHkiLCAic3BsaXROZXdsaW5lcyIsICJzdHIiLCAiU3RyaW5nIiwgImluZGV4T2YiLCAic3BsaXQiLCAiY3JlYXRlVG9vbHRpcEl0ZW0iLCAiZ2V0RGF0YXNldE1ldGEiLCAidmFsdWUiLCAiZ2V0TGFiZWxBbmRWYWx1ZSIsICJwYXJzZWQiLCAiZ2V0UGFyc2VkIiwgInJhdyIsICJmb3JtYXR0ZWRWYWx1ZSIsICJkYXRhc2V0IiwgImdldERhdGFzZXQiLCAiZGF0YUluZGV4IiwgImdldFRvb2x0aXBTaXplIiwgInRvb2x0aXAiLCAiYm9keSIsICJmb290ZXIiLCAiYm9keUZvbnQiLCAiZm9vdGVyRm9udCIsICJ0aXRsZUxpbmVDb3VudCIsICJmb290ZXJMaW5lQ291bnQiLCAiYm9keUxpbmVJdGVtQ291bnQiLCAiY29tYmluZWRCb2R5TGVuZ3RoIiwgImJvZHlJdGVtIiwgImJlZm9yZSIsICJsaW5lcyIsICJhZnRlciIsICJiZWZvcmVCb2R5IiwgImFmdGVyQm9keSIsICJ0aXRsZVNwYWNpbmciLCAidGl0bGVNYXJnaW5Cb3R0b20iLCAiYm9keUxpbmVIZWlnaHQiLCAiZGlzcGxheUNvbG9ycyIsICJib2R5U3BhY2luZyIsICJmb290ZXJNYXJnaW5Ub3AiLCAiZm9vdGVyU3BhY2luZyIsICJ3aWR0aFBhZGRpbmciLCAibWF4TGluZVdpZHRoIiwgImVhY2giLCAiY29uY2F0IiwgImJveFBhZGRpbmciLCAiZGV0ZXJtaW5lWUFsaWduIiwgImRvZXNOb3RGaXRXaXRoQWxpZ24iLCAieEFsaWduIiwgImNhcmV0IiwgImNhcmV0U2l6ZSIsICJjYXJldFBhZGRpbmciLCAiZGV0ZXJtaW5lWEFsaWduIiwgInlBbGlnbiIsICJjaGFydFdpZHRoIiwgImNoYXJ0QXJlYSIsICJkZXRlcm1pbmVBbGlnbm1lbnQiLCAiYWxpZ25YIiwgImFsaWduWSIsICJwYWRkaW5nQW5kU2l6ZSIsICJnZXRCYWNrZ3JvdW5kUG9pbnQiLCAiYWxpZ25tZW50IiwgImNvcm5lclJhZGl1cyIsICJ0b3BMZWZ0IiwgInRvcFJpZ2h0IiwgImJvdHRvbUxlZnQiLCAiYm90dG9tUmlnaHQiLCAiX2xpbWl0VmFsdWUiLCAiZ2V0QWxpZ25lZFgiLCAiZ2V0QmVmb3JlQWZ0ZXJCb2R5TGluZXMiLCAiY2FsbGJhY2siLCAiY3JlYXRlVG9vbHRpcENvbnRleHQiLCAicGFyZW50IiwgInRvb2x0aXBJdGVtcyIsICJjcmVhdGVDb250ZXh0IiwgIm92ZXJyaWRlQ2FsbGJhY2tzIiwgImNhbGxiYWNrcyIsICJjb250ZXh0IiwgIm92ZXJyaWRlIiwgImRlZmF1bHRDYWxsYmFja3MiLCAiYmVmb3JlVGl0bGUiLCAibm9vcCIsICJsYWJlbENvdW50IiwgIm1vZGUiLCAiYWZ0ZXJUaXRsZSIsICJiZWZvcmVMYWJlbCIsICJ0b29sdGlwSXRlbSIsICJpc051bGxPclVuZGVmIiwgImxhYmVsQ29sb3IiLCAibGFiZWxUZXh0Q29sb3IiLCAiYm9keUNvbG9yIiwgImxhYmVsUG9pbnRTdHlsZSIsICJhZnRlckxhYmVsIiwgImJlZm9yZUZvb3RlciIsICJhZnRlckZvb3RlciIsICJpbnZva2VDYWxsYmFja1dpdGhGYWxsYmFjayIsICJhcmciLCAicmVzdWx0IiwgIlRvb2x0aXAiLCAib3BhY2l0eSIsICJfYWN0aXZlIiwgIl9ldmVudFBvc2l0aW9uIiwgIl9zaXplIiwgIl9jYWNoZWRBbmltYXRpb25zIiwgIl90b29sdGlwSXRlbXMiLCAiJGFuaW1hdGlvbnMiLCAiJGNvbnRleHQiLCAiZGF0YVBvaW50cyIsICJjYXJldFgiLCAiY2FyZXRZIiwgImxhYmVsQ29sb3JzIiwgImxhYmVsUG9pbnRTdHlsZXMiLCAibGFiZWxUZXh0Q29sb3JzIiwgImluaXRpYWxpemUiLCAiX3Jlc29sdmVBbmltYXRpb25zIiwgImNhY2hlZCIsICJzZXRDb250ZXh0IiwgImdldENvbnRleHQiLCAiZW5hYmxlZCIsICJhbmltYXRpb24iLCAiYW5pbWF0aW9ucyIsICJBbmltYXRpb25zIiwgIl9jYWNoZWFibGUiLCAiZnJlZXplIiwgImdldFRpdGxlIiwgImdldEJlZm9yZUJvZHkiLCAiZ2V0Qm9keSIsICJib2R5SXRlbXMiLCAic2NvcGVkIiwgImdldEFmdGVyQm9keSIsICJnZXRGb290ZXIiLCAiX2NyZWF0ZUl0ZW1zIiwgImFjdGl2ZSIsICJhcnJheSIsICJpdGVtU29ydCIsICJjaGFuZ2VkIiwgInByb3BlcnRpZXMiLCAicG9zaXRpb25BbmRTaXplIiwgImFzc2lnbiIsICJiYWNrZ3JvdW5kUG9pbnQiLCAiZXh0ZXJuYWwiLCAiZHJhd0NhcmV0IiwgInRvb2x0aXBQb2ludCIsICJjYXJldFBvc2l0aW9uIiwgImdldENhcmV0UG9zaXRpb24iLCAibGluZVRvIiwgIngxIiwgInkxIiwgIngyIiwgInkyIiwgIngzIiwgInkzIiwgInB0WCIsICJwdFkiLCAicHQiLCAidGl0bGVBbGlnbiIsICJ0aXRsZUNvbG9yIiwgIl9kcmF3Q29sb3JCb3giLCAiY29sb3JYIiwgInJ0bENvbG9yWCIsICJ5T2ZmU2V0IiwgImNvbG9yWSIsICJtdWx0aUtleUJhY2tncm91bmQiLCAiZHJhd1BvaW50IiwgImlzT2JqZWN0IiwgIm91dGVyWCIsICJpbm5lclgiLCAiZmlsbFJlY3QiLCAic3Ryb2tlUmVjdCIsICJkcmF3Qm9keSIsICJib2R5QWxpZ24iLCAieExpbmVQYWRkaW5nIiwgImZpbGxMaW5lT2ZUZXh0IiwgImJvZHlBbGlnbkZvckNhbGN1bGF0aW9uIiwgInRleHRDb2xvciIsICJqIiwgImlsZW4iLCAiamxlbiIsICJkcmF3Rm9vdGVyIiwgImZvb3RlckFsaWduIiwgImZvb3RlckNvbG9yIiwgImRyYXdCYWNrZ3JvdW5kIiwgInRvb2x0aXBTaXplIiwgIm1vdmVUbyIsICJxdWFkcmF0aWNDdXJ2ZVRvIiwgImNsb3NlUGF0aCIsICJfdXBkYXRlQW5pbWF0aW9uVGFyZ2V0IiwgImFuaW1zIiwgImFuaW1YIiwgImFuaW1ZIiwgInBvaW50IiwgIl90byIsICJfd2lsbFJlbmRlciIsICJhYnMiLCAiaGFzVG9vbHRpcENvbnRlbnQiLCAiZ2xvYmFsQWxwaGEiLCAiZ2V0QWN0aXZlRWxlbWVudHMiLCAic2V0QWN0aXZlRWxlbWVudHMiLCAiYWN0aXZlRWxlbWVudHMiLCAibGFzdEFjdGl2ZSIsICJFcnJvciIsICJfZWxlbWVudHNFcXVhbCIsICJwb3NpdGlvbkNoYW5nZWQiLCAiX3Bvc2l0aW9uQ2hhbmdlZCIsICJfaWdub3JlUmVwbGF5RXZlbnRzIiwgImluQ2hhcnRBcmVhIiwgIl9nZXRBY3RpdmVFbGVtZW50cyIsICJnZXRFbGVtZW50c0F0RXZlbnRGb3JNb2RlIiwgImFmdGVySW5pdCIsICJyZXNldCIsICJhZnRlckRyYXciLCAibm90aWZ5UGx1Z2lucyIsICJjYW5jZWxhYmxlIiwgInVzZUZpbmFsUG9zaXRpb24iLCAiZHVyYXRpb24iLCAiZWFzaW5nIiwgIm51bWJlcnMiLCAiX2ZhbGxiYWNrIiwgImFkZGl0aW9uYWxPcHRpb25TY29wZXMiLCAiYWRkSWZTdHJpbmciLCAibGFiZWxzIiwgInJhdyIsICJpbmRleCIsICJhZGRlZExhYmVscyIsICJwdXNoIiwgInVuc2hpZnQiLCAibGFiZWwiLCAiaXNOYU4iLCAiZmluZE9yQWRkTGFiZWwiLCAiZmlyc3QiLCAiaW5kZXhPZiIsICJsYXN0IiwgImxhc3RJbmRleE9mIiwgInZhbGlkSW5kZXgiLCAibWF4IiwgIl9saW1pdFZhbHVlIiwgIk1hdGgiLCAicm91bmQiLCAiX2dldExhYmVsRm9yVmFsdWUiLCAidmFsdWUiLCAiZ2V0TGFiZWxzIiwgImxlbmd0aCIsICJDYXRlZ29yeVNjYWxlIiwgIlNjYWxlIiwgImNvbnN0cnVjdG9yIiwgImNmZyIsICJfc3RhcnRWYWx1ZSIsICJ1bmRlZmluZWQiLCAiX3ZhbHVlUmFuZ2UiLCAiX2FkZGVkTGFiZWxzIiwgImluaXQiLCAic2NhbGVPcHRpb25zIiwgImFkZGVkIiwgInNwbGljZSIsICJwYXJzZSIsICJpc051bGxPclVuZGVmIiwgImlzRmluaXRlIiwgInZhbHVlT3JEZWZhdWx0IiwgImRldGVybWluZURhdGFMaW1pdHMiLCAibWluRGVmaW5lZCIsICJtYXhEZWZpbmVkIiwgImdldFVzZXJCb3VuZHMiLCAibWluIiwgImdldE1pbk1heCIsICJvcHRpb25zIiwgImJvdW5kcyIsICJidWlsZFRpY2tzIiwgIm9mZnNldCIsICJ0aWNrcyIsICJzbGljZSIsICJnZXRMYWJlbEZvclZhbHVlIiwgImNhbGwiLCAiY29uZmlndXJlIiwgImlzSG9yaXpvbnRhbCIsICJfcmV2ZXJzZVBpeGVscyIsICJnZXRQaXhlbEZvclZhbHVlIiwgIk5hTiIsICJnZXRQaXhlbEZvckRlY2ltYWwiLCAiZ2V0UGl4ZWxGb3JUaWNrIiwgImdldFZhbHVlRm9yUGl4ZWwiLCAicGl4ZWwiLCAiZ2V0RGVjaW1hbEZvclBpeGVsIiwgImdldEJhc2VQaXhlbCIsICJib3R0b20iLCAiaWQiLCAiZGVmYXVsdHMiLCAiY2FsbGJhY2siLCAiZ2VuZXJhdGVUaWNrcyIsICJnZW5lcmF0aW9uT3B0aW9ucyIsICJkYXRhUmFuZ2UiLCAiTUlOX1NQQUNJTkciLCAic3RlcCIsICJwcmVjaXNpb24iLCAiY291bnQiLCAibWF4VGlja3MiLCAibWF4RGlnaXRzIiwgImluY2x1ZGVCb3VuZHMiLCAidW5pdCIsICJtYXhTcGFjZXMiLCAicm1pbiIsICJybWF4IiwgImNvdW50RGVmaW5lZCIsICJtaW5TcGFjaW5nIiwgInNwYWNpbmciLCAibmljZU51bSIsICJmYWN0b3IiLCAibmljZU1pbiIsICJuaWNlTWF4IiwgIm51bVNwYWNlcyIsICJjZWlsIiwgImZsb29yIiwgInBvdyIsICJhbG1vc3RXaG9sZSIsICJhbG1vc3RFcXVhbHMiLCAiZGVjaW1hbFBsYWNlcyIsICJfZGVjaW1hbFBsYWNlcyIsICJqIiwgInJlbGF0aXZlTGFiZWxTaXplIiwgImhvcml6b250YWwiLCAibWluUm90YXRpb24iLCAicmFkIiwgInRvUmFkaWFucyIsICJyYXRpbyIsICJzaW4iLCAiY29zIiwgIkxpbmVhclNjYWxlQmFzZSIsICJzdGFydCIsICJlbmQiLCAiX2VuZFZhbHVlIiwgIk51bWJlciIsICJoYW5kbGVUaWNrUmFuZ2VPcHRpb25zIiwgImJlZ2luQXRaZXJvIiwgInNldE1pbiIsICJ2IiwgInNldE1heCIsICJtaW5TaWduIiwgInNpZ24iLCAibWF4U2lnbiIsICJhYnMiLCAiZ2V0VGlja0xpbWl0IiwgInRpY2tPcHRzIiwgIm1heFRpY2tzTGltaXQiLCAic3RlcFNpemUiLCAiY29uc29sZSIsICJ3YXJuIiwgImNvbXB1dGVUaWNrTGltaXQiLCAiUE9TSVRJVkVfSU5GSU5JVFkiLCAib3B0cyIsICJudW1lcmljR2VuZXJhdG9yT3B0aW9ucyIsICJfbWF4RGlnaXRzIiwgIl9yYW5nZSIsICJfc2V0TWluQW5kTWF4QnlLZXkiLCAicmV2ZXJzZSIsICJmb3JtYXROdW1iZXIiLCAiY2hhcnQiLCAibG9jYWxlIiwgImZvcm1hdCIsICJMaW5lYXJTY2FsZSIsICJ3aWR0aCIsICJoZWlnaHQiLCAidGlja0ZvbnQiLCAiX3Jlc29sdmVUaWNrRm9udE9wdGlvbnMiLCAibGluZUhlaWdodCIsICJUaWNrcyIsICJmb3JtYXR0ZXJzIiwgIm51bWVyaWMiLCAibG9nMTBGbG9vciIsICJsb2cxMCIsICJjaGFuZ2VFeHBvbmVudCIsICJtIiwgImlzTWFqb3IiLCAidGlja1ZhbCIsICJyZW1haW4iLCAic3RlcHMiLCAicmFuZ2VFeHAiLCAicmFuZ2VTdGVwIiwgInN0YXJ0RXhwIiwgInJhbmdlIiwgImZpbml0ZU9yRGVmYXVsdCIsICJtaW5FeHAiLCAiZXhwIiwgImJhc2UiLCAic2lnbmlmaWNhbmQiLCAibWFqb3IiLCAibGFzdFRpY2siLCAiTG9nYXJpdGhtaWNTY2FsZSIsICJwcm90b3R5cGUiLCAiYXBwbHkiLCAiX3plcm8iLCAiX3N1Z2dlc3RlZE1pbiIsICJfdXNlck1pbiIsICJfdXNlck1heCIsICJkZWNpbWFsIiwgImxvZ2FyaXRobWljIiwgImVuYWJsZWQiLCAiZ2V0VGlja0JhY2tkcm9wSGVpZ2h0IiwgImRpc3BsYXkiLCAicGFkZGluZyIsICJ0b1BhZGRpbmciLCAiYmFja2Ryb3BQYWRkaW5nIiwgImZvbnQiLCAic2l6ZSIsICJtZWFzdXJlTGFiZWxTaXplIiwgImN0eCIsICJpc0FycmF5IiwgInciLCAiX2xvbmdlc3RUZXh0IiwgInN0cmluZyIsICJoIiwgImRldGVybWluZUxpbWl0cyIsICJhbmdsZSIsICJwb3MiLCAiZml0V2l0aFBvaW50TGFiZWxzIiwgInNjYWxlIiwgIm9yaWciLCAibCIsICJsZWZ0IiwgIl9wYWRkaW5nIiwgInIiLCAicmlnaHQiLCAidCIsICJ0b3AiLCAiYiIsICJsaW1pdHMiLCAiT2JqZWN0IiwgImFzc2lnbiIsICJsYWJlbFNpemVzIiwgInZhbHVlQ291bnQiLCAiX3BvaW50TGFiZWxzIiwgInBvaW50TGFiZWxPcHRzIiwgInBvaW50TGFiZWxzIiwgImFkZGl0aW9uYWxBbmdsZSIsICJjZW50ZXJQb2ludExhYmVscyIsICJQSSIsICJpIiwgInNldENvbnRleHQiLCAiZ2V0UG9pbnRMYWJlbENvbnRleHQiLCAicG9pbnRQb3NpdGlvbiIsICJnZXRQb2ludFBvc2l0aW9uIiwgImRyYXdpbmdBcmVhIiwgInBsRm9udCIsICJ0b0ZvbnQiLCAidGV4dFNpemUiLCAiYW5nbGVSYWRpYW5zIiwgIl9ub3JtYWxpemVBbmdsZSIsICJnZXRJbmRleEFuZ2xlIiwgInRvRGVncmVlcyIsICJoTGltaXRzIiwgIngiLCAidkxpbWl0cyIsICJ5IiwgInVwZGF0ZUxpbWl0cyIsICJzZXRDZW50ZXJQb2ludCIsICJfcG9pbnRMYWJlbEl0ZW1zIiwgImJ1aWxkUG9pbnRMYWJlbEl0ZW1zIiwgIml0ZW1zIiwgImV4dHJhIiwgIm91dGVyRGlzdGFuY2UiLCAicG9pbnRMYWJlbFBvc2l0aW9uIiwgIkhBTEZfUEkiLCAieUZvckFuZ2xlIiwgInRleHRBbGlnbiIsICJnZXRUZXh0QWxpZ25Gb3JBbmdsZSIsICJsZWZ0Rm9yVGV4dEFsaWduIiwgImFsaWduIiwgImRyYXdQb2ludExhYmVscyIsICJsYWJlbENvdW50IiwgIm9wdHNBdEluZGV4IiwgImJhY2tkcm9wQ29sb3IiLCAiYm9yZGVyUmFkaXVzIiwgInRvVFJCTENvcm5lcnMiLCAiZmlsbFN0eWxlIiwgImJhY2tkcm9wTGVmdCIsICJiYWNrZHJvcFRvcCIsICJiYWNrZHJvcFdpZHRoIiwgImJhY2tkcm9wSGVpZ2h0IiwgInZhbHVlcyIsICJzb21lIiwgImJlZ2luUGF0aCIsICJhZGRSb3VuZGVkUmVjdFBhdGgiLCAicmFkaXVzIiwgImZpbGwiLCAiZmlsbFJlY3QiLCAicmVuZGVyVGV4dCIsICJjb2xvciIsICJ0ZXh0QmFzZWxpbmUiLCAicGF0aFJhZGl1c0xpbmUiLCAiY2lyY3VsYXIiLCAiYXJjIiwgInhDZW50ZXIiLCAieUNlbnRlciIsICJUQVUiLCAibW92ZVRvIiwgImxpbmVUbyIsICJkcmF3UmFkaXVzTGluZSIsICJncmlkTGluZU9wdHMiLCAiYm9yZGVyT3B0cyIsICJsaW5lV2lkdGgiLCAic2F2ZSIsICJzdHJva2VTdHlsZSIsICJzZXRMaW5lRGFzaCIsICJkYXNoIiwgImxpbmVEYXNoT2Zmc2V0IiwgImRhc2hPZmZzZXQiLCAiY2xvc2VQYXRoIiwgInN0cm9rZSIsICJyZXN0b3JlIiwgImNyZWF0ZVBvaW50TGFiZWxDb250ZXh0IiwgInBhcmVudCIsICJjcmVhdGVDb250ZXh0IiwgInR5cGUiLCAiUmFkaWFsTGluZWFyU2NhbGUiLCAic2V0RGltZW5zaW9ucyIsICJtYXhXaWR0aCIsICJtYXhIZWlnaHQiLCAiZ2VuZXJhdGVUaWNrTGFiZWxzIiwgIm1hcCIsICJjYWxsQ2FsbGJhY2siLCAiZmlsdGVyIiwgImdldERhdGFWaXNpYmlsaXR5IiwgImZpdCIsICJsZWZ0TW92ZW1lbnQiLCAicmlnaHRNb3ZlbWVudCIsICJ0b3BNb3ZlbWVudCIsICJib3R0b21Nb3ZlbWVudCIsICJhbmdsZU11bHRpcGxpZXIiLCAic3RhcnRBbmdsZSIsICJnZXREaXN0YW5jZUZyb21DZW50ZXJGb3JWYWx1ZSIsICJzY2FsaW5nRmFjdG9yIiwgImdldFZhbHVlRm9yRGlzdGFuY2VGcm9tQ2VudGVyIiwgImRpc3RhbmNlIiwgInNjYWxlZERpc3RhbmNlIiwgInBvaW50TGFiZWwiLCAiZ2V0Q29udGV4dCIsICJkaXN0YW5jZUZyb21DZW50ZXIiLCAiZ2V0UG9pbnRQb3NpdGlvbkZvclZhbHVlIiwgImdldEJhc2VQb3NpdGlvbiIsICJnZXRCYXNlVmFsdWUiLCAiZ2V0UG9pbnRMYWJlbFBvc2l0aW9uIiwgImRyYXdCYWNrZ3JvdW5kIiwgImJhY2tncm91bmRDb2xvciIsICJncmlkIiwgImRyYXdHcmlkIiwgImFuZ2xlTGluZXMiLCAiYm9yZGVyIiwgInBvc2l0aW9uIiwgImZvckVhY2giLCAidGljayIsICJjb250ZXh0IiwgIm9wdHNBdEluZGV4Qm9yZGVyIiwgImJvcmRlckRhc2giLCAiYm9yZGVyRGFzaE9mZnNldCIsICJkcmF3Qm9yZGVyIiwgImRyYXdMYWJlbHMiLCAidHJhbnNsYXRlIiwgInJvdGF0ZSIsICJzaG93TGFiZWxCYWNrZHJvcCIsICJtZWFzdXJlVGV4dCIsICJkcmF3VGl0bGUiLCAiYW5pbWF0ZSIsICJkZWZhdWx0Um91dGVzIiwgImRlc2NyaXB0b3JzIiwgIl9mYWxsYmFjayIsICJJTlRFUlZBTFMiLCAibWlsbGlzZWNvbmQiLCAiY29tbW9uIiwgInNlY29uZCIsICJtaW51dGUiLCAiaG91ciIsICJkYXkiLCAid2VlayIsICJtb250aCIsICJxdWFydGVyIiwgInllYXIiLCAiVU5JVFMiLCAia2V5cyIsICJzb3J0ZXIiLCAiYSIsICJpbnB1dCIsICJhZGFwdGVyIiwgIl9hZGFwdGVyIiwgInBhcnNlciIsICJpc29XZWVrZGF5IiwgIl9wYXJzZU9wdHMiLCAiaXNOdW1iZXIiLCAic3RhcnRPZiIsICJkZXRlcm1pbmVVbml0Rm9yQXV0b1RpY2tzIiwgIm1pblVuaXQiLCAiY2FwYWNpdHkiLCAiaWxlbiIsICJpbnRlcnZhbCIsICJNQVhfU0FGRV9JTlRFR0VSIiwgImRldGVybWluZVVuaXRGb3JGb3JtYXR0aW5nIiwgIm51bVRpY2tzIiwgImRpZmYiLCAiZGV0ZXJtaW5lTWFqb3JVbml0IiwgImFkZFRpY2siLCAidGltZSIsICJ0aW1lc3RhbXBzIiwgImxvIiwgImhpIiwgIl9sb29rdXAiLCAidGltZXN0YW1wIiwgInNldE1ham9yVGlja3MiLCAibWFqb3JVbml0IiwgImFkZCIsICJ0aWNrc0Zyb21UaW1lc3RhbXBzIiwgIlRpbWVTY2FsZSIsICJwcm9wcyIsICJfY2FjaGUiLCAiZGF0YSIsICJhbGwiLCAiX3VuaXQiLCAiX21ham9yVW5pdCIsICJfb2Zmc2V0cyIsICJfbm9ybWFsaXplZCIsICJzY2FsZU9wdHMiLCAiYWRhcHRlcnMiLCAiX2RhdGUiLCAiZGF0ZSIsICJtZXJnZUlmIiwgImRpc3BsYXlGb3JtYXRzIiwgImZvcm1hdHMiLCAibm9ybWFsaXplZCIsICJiZWZvcmVMYXlvdXQiLCAiX2FwcGx5Qm91bmRzIiwgIl9nZXRMYWJlbEJvdW5kcyIsICJzb3VyY2UiLCAiRGF0ZSIsICJub3ciLCAiZW5kT2YiLCAiYXJyIiwgImdldExhYmVsVGltZXN0YW1wcyIsICJORUdBVElWRV9JTkZJTklUWSIsICJ0aW1lT3B0cyIsICJfZ2VuZXJhdGUiLCAiX2ZpbHRlckJldHdlZW4iLCAiYXV0b1NraXAiLCAiX2dldExhYmVsQ2FwYWNpdHkiLCAiaW5pdE9mZnNldHMiLCAiYWZ0ZXJBdXRvU2tpcCIsICJvZmZzZXRBZnRlckF1dG9za2lwIiwgImdldERlY2ltYWxGb3JWYWx1ZSIsICJsaW1pdCIsICJtaW5vciIsICJ3ZWVrZGF5IiwgImhhc1dlZWtkYXkiLCAiRXJyb3IiLCAiZ2V0RGF0YVRpbWVzdGFtcHMiLCAic29ydCIsICJ0b29sdGlwRm9ybWF0IiwgImRhdGV0aW1lIiwgIl90aWNrRm9ybWF0RnVuY3Rpb24iLCAiZm9ybWF0dGVyIiwgIm1pbm9yRm9ybWF0IiwgIm1ham9yRm9ybWF0IiwgIm9mZnNldHMiLCAiX2dldExhYmVsU2l6ZSIsICJ0aWNrc09wdHMiLCAidGlja0xhYmVsV2lkdGgiLCAibWF4Um90YXRpb24iLCAiY29zUm90YXRpb24iLCAic2luUm90YXRpb24iLCAidGlja0ZvbnRTaXplIiwgImV4YW1wbGVUaW1lIiwgImV4YW1wbGVMYWJlbCIsICJtZXRhcyIsICJnZXRNYXRjaGluZ1Zpc2libGVNZXRhcyIsICJjb250cm9sbGVyIiwgImdldEFsbFBhcnNlZFZhbHVlcyIsICJjb25jYXQiLCAibm9ybWFsaXplIiwgIl9hcnJheVVuaXF1ZSIsICJpbnRlcnBvbGF0ZSIsICJ0YWJsZSIsICJ2YWwiLCAicHJldlNvdXJjZSIsICJuZXh0U291cmNlIiwgInByZXZUYXJnZXQiLCAibmV4dFRhcmdldCIsICJfbG9va3VwQnlLZXkiLCAic3BhbiIsICJUaW1lU2VyaWVzU2NhbGUiLCAiX3RhYmxlIiwgIl9taW5Qb3MiLCAiX3RhYmxlUmFuZ2UiLCAiX2dldFRpbWVzdGFtcHNGb3JUYWJsZSIsICJidWlsZExvb2t1cFRhYmxlIiwgInByZXYiLCAiY3VyciIsICJuZXh0IiwgImFwcCIsICJoIiwgImltcG9ydF9vYnNpZGlhbiIsICJpbXBvcnRfb2JzaWRpYW4iLCAibmFtZSIsICJhcHAiLCAicGFyc2UiLCAiaW1wb3J0X29ic2lkaWFuIiwgInJhbmsiLCAiZWFzZSIsICJwYXJzZSIsICJzaWJsaW5ncyJdCn0K diff --git a/notes/.obsidian/plugins/obsidian-spaced-repetition/manifest.json b/notes/.obsidian/plugins/obsidian-spaced-repetition/manifest.json index ac58805..7a1fa64 100644 --- a/notes/.obsidian/plugins/obsidian-spaced-repetition/manifest.json +++ b/notes/.obsidian/plugins/obsidian-spaced-repetition/manifest.json @@ -1,10 +1,11 @@ { "id": "obsidian-spaced-repetition", "name": "Spaced Repetition", - "version": "1.8.0", + "version": "1.9.1", "minAppVersion": "0.15.4", "description": "Fight the forgetting curve by reviewing flashcards & entire notes.", "author": "Stephen Mwangi", "authorUrl": "https://github.com/st3v3nmw", - "isDesktopOnly": false + "isDesktopOnly": false, + "fundingUrl": "https://ko-fi.com/M4M44DEN6" } diff --git a/notes/.obsidian/plugins/obsidian-spaced-repetition/styles.css b/notes/.obsidian/plugins/obsidian-spaced-repetition/styles.css index c1d9554..70c339f 100644 --- a/notes/.obsidian/plugins/obsidian-spaced-repetition/styles.css +++ b/notes/.obsidian/plugins/obsidian-spaced-repetition/styles.css @@ -9,10 +9,17 @@ .sr-response { display: inline-grid; width: 100%; - grid-template-columns: auto auto auto; + grid-template-columns: auto auto auto auto; position: absolute; bottom: 0; } + +.sr-ignorestats-btn { + /* Bit of a hack, but it works. */ + margin: 0px !important; + margin-right: 12px !important; +} + .sr-ignorestats-response { grid-template-columns: auto auto !important; } @@ -21,11 +28,20 @@ display: flex; justify-content: center; align-items: center; + flex-direction: column; } .sr-deck-counts { color: #ffffff; margin-left: 4px; + padding: 4px; +} + +.sr-back-btn { + background-color: transparent !important; + box-shadow: none !important; + padding: 0 !important; + margin-right: 4px; } #sr-show-answer { @@ -74,16 +90,11 @@ } #sr-flashcard-view { + font-size: var(--font-text-size); overflow-y: auto; height: 80%; } -.sr-ignorestats-btn { - /* Bit of a hack, but it works. */ - margin: 0px !important; - margin-right: 12px !important; -} - @media only screen and (max-width: 600px) { .sr-modal-content::-webkit-scrollbar, #sr-flashcard-view::-webkit-scrollbar { diff --git a/notes/.obsidian/plugins/table-editor-obsidian/main.js b/notes/.obsidian/plugins/table-editor-obsidian/main.js index fbe5101..ad79700 100644 --- a/notes/.obsidian/plugins/table-editor-obsidian/main.js +++ b/notes/.obsidian/plugins/table-editor-obsidian/main.js @@ -23454,8 +23454,13 @@ var TableControlsView = /** @class */ (function (_super) { _this.draw = function () { var container = _this.containerEl.children[1]; var rootEl = document.createElement('div'); + rootEl.addClass("advanced-tables-buttons"); + rootEl.createDiv(). + createSpan({ cls: 'title' }). + setText("Advanced Tables"); var navHeader = rootEl.createDiv({ cls: 'nav-header' }); var rowOneBtns = navHeader.createDiv({ cls: 'nav-buttons-container' }); + rowOneBtns.createSpan({ cls: 'advanced-tables-row-label' }).setText("Align:"); _this.drawBtn(rowOneBtns, 'alignLeft', 'left align column', function (te) { return te.leftAlignColumn(); }); @@ -23466,6 +23471,7 @@ var TableControlsView = /** @class */ (function (_super) { return te.rightAlignColumn(); }); var rowTwoBtns = navHeader.createDiv({ cls: 'nav-buttons-container' }); + rowTwoBtns.createSpan({ cls: 'advanced-tables-row-label' }).setText("Move:"); _this.drawBtn(rowTwoBtns, 'moveRowDown', 'move row down', function (te) { return te.moveRowDown(); }); @@ -23479,6 +23485,7 @@ var TableControlsView = /** @class */ (function (_super) { return te.moveColumnLeft(); }); var rowThreeBtns = navHeader.createDiv({ cls: 'nav-buttons-container' }); + rowThreeBtns.createSpan({ cls: 'advanced-tables-row-label' }).setText("Edit:"); _this.drawBtn(rowThreeBtns, 'insertRow', 'insert row above', function (te) { return te.insertRow(); }); @@ -23492,6 +23499,7 @@ var TableControlsView = /** @class */ (function (_super) { return te.deleteColumn(); }); var rowFourBtns = navHeader.createDiv({ cls: 'nav-buttons-container' }); + rowFourBtns.createSpan({ cls: 'advanced-tables-row-label' }).setText("Sort/F:"); _this.drawBtn(rowFourBtns, 'sortAsc', 'sort by column ascending', function (te) { return te.sortRowsAsc(); }); @@ -23502,6 +23510,7 @@ var TableControlsView = /** @class */ (function (_super) { return te.evaluateFormulas(); }); var rowFiveBtns = navHeader.createDiv({ cls: 'nav-buttons-container' }); + rowFiveBtns.createSpan({ cls: 'advanced-tables-row-label' }).setText("Misc:"); _this.drawBtn(rowFiveBtns, 'csv', 'export as csv', function (te) { return te.exportCSVModal(); }); @@ -23518,7 +23527,7 @@ var TableControlsView = /** @class */ (function (_super) { } return te.cursorIsInTable(); }; - var button = parent.createDiv({ cls: 'nav-action-button', title: title }); + var button = parent.createDiv({ cls: 'advanced-tables-button nav-action-button', title: title }); button.onClickEvent(function () { return _this.withTE(fn, cursorCheck); }); button.appendChild(Element(icons[iconName])); }; @@ -23976,7 +23985,7 @@ var TableEditorSettingsTab = /** @class */ (function (_super) { }); new obsidian.Setting(containerEl) .setName('Pad cell width using spaces') - .setDesc('If enabled, table cells will have spaces added to match the with of the ' + + .setDesc('If enabled, table cells will have spaces added to match the width of the ' + 'longest cell in the column.') .addToggle(function (toggle) { return toggle @@ -24026,4 +24035,4 @@ var buyMeACoffee = "\n\n\n\n\n\n\n\n"; module.exports = TableEditorPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9pY29ucy50cyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3BvaW50LmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvcmFuZ2UuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9mb2N1cy5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2FsaWdubWVudC5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3RhYmxlLWNlbGwuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi90YWJsZS1yb3cuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9uZXZlcnRocm93L25ldmVydGhyb3cuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL2FzdF91dGlscy5qcyIsIm5vZGVfbW9kdWxlcy9sb2Rhc2gvbG9kYXNoLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9yZXN1bHRzLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9hbGdlYnJhaWNfb3BlcmF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9jb25kaXRpb25hbF9mdW5jdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2NhbGMvY29uc3RhbnQuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL2NvbHVtbi5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2NhbGMvcm93LmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9yZWZlcmVuY2UuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL3JhbmdlLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9kZXN0aW5hdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2NhbGMvZGlzcGxheV9kaXJlY3RpdmUuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL3NpbmdsZV9wYXJhbV9mdW5jdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvVG9rZW5FcnJvci5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvUGFyc2VyLmpzIiwibm9kZV9tb2R1bGVzL2VibmYvZGlzdC9TZW1hbnRpY0hlbHBlcnMuanMiLCJub2RlX21vZHVsZXMvZWJuZi9kaXN0L0dyYW1tYXJzL0JORi5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvR3JhbW1hcnMvVzNDRUJORi5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvR3JhbW1hcnMvQ3VzdG9tLmpzIiwibm9kZV9tb2R1bGVzL2VibmYvZGlzdC9HcmFtbWFycy9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvaW5kZXguanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL2NhbGMuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi90YWJsZS5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3BhcnNlci5qcyIsIm5vZGVfbW9kdWxlcy9tZWF3L2xpYi9pbmRleC5tanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9mb3JtYXR0ZXIuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9lZGl0LXNjcmlwdC5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3RleHQtZWRpdG9yLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvb3B0aW9ucy5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3RhYmxlLWVkaXRvci5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2luZGV4LmpzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL29ic2lkaWFuLXRleHQtZWRpdG9yLnRzIiwic3JjL3RhYmxlLWVkaXRvci50cyIsInNyYy90YWJsZS1jb250cm9scy12aWV3LnRzIiwic3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwgcCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fY3JlYXRlQmluZGluZyA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfSk7XHJcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgbykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxudmFyIF9fc2V0TW9kdWxlRGVmYXVsdCA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgdikge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xyXG59KSA6IGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIG9bXCJkZWZhdWx0XCJdID0gdjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xyXG4gICAgX19zZXRNb2R1bGVEZWZhdWx0KHJlc3VsdCwgbW9kKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgcHJpdmF0ZU1hcCkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YXRlTWFwLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHByaXZhdGVNYXAuc2V0KHJlY2VpdmVyLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbn1cclxuIiwiaW1wb3J0IHsgYWRkSWNvbiB9IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGNvbnN0IGljb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBzcHJlYWRzaGVldDogYFxuPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCA0ODIuODEgNDgyLjgxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIm00NTcuNTggMjUuNDY0LTQzMi44MyAwLjQyMTUxYy0xMy42NTggMC4wMTMzMTQtMjQuNzU4IDExLjExNS0yNC43NTcgMjQuNzU3bDAuMDMxMDI0IDM0Ny40NWM3LjQ4MzNlLTQgOC4zODA4IDQuMjExIDE1Ljc3MiAxMC42MDggMjAuMjU5IDMuNDUzMyAyLjQ0OTkgNS4wNzE2IDMuMjkwMSA4Ljg3OSAzLjkwMjIgMS43MDMzIDAuMzczMzMgMy40NTYxIDAuNTk0NzEgNS4yNjkyIDAuNTkyOTRsNDMyLjg0LTAuNDIxNTFjMS44MDktMWUtMyAzLjU2MTgtMC4yMTgyMyA1LjI1NjgtMC41OTI5NGgxLjIxNzR2LTAuMzcxOTZjMTAuNTA1LTIuODcyNyAxOC4yNzktMTIuMzk3IDE4LjI3OC0yMy43ODhsLTAuMDMxLTM0Ny40M2MxZS0zIC0xMy42NDktMTEuMTA3LTI0Ljc2My0yNC43NjgtMjQuNzYzem0zLjU0NTMgMjQuNzYzdjcxLjM0NGgtMTYzLjMxdi03NC44ODZoMTU5Ljc2YzEuOTY0MSAwLjAwMTQgMy41NDY3IDEuNTkyMiAzLjU0NjcgMy41NDI1em0tMS42NzM3IDM1MC4zN2gtMTYxLjZ2LTY3LjIwN2gxNjMuMzF2NjQuMjY4YzFlLTMgMS4yNTcyLTAuNzA1NDkgMi4zMjEtMS43MDMzIDIuOTM4NnptLTQzOC4yMS0yLjUxNzF2LTY0LjI2OGg3Ni42NDZ2NjcuMjA3aC03NC45NDJjLTAuOTk3ODQtMC42MTc2NS0xLjcwMzMtMS42ODE0LTEuNzAzMy0yLjkzODZ6bTI1NS4yOC0xNTUuMTh2NjkuNjg4aC0xNTcuNDJ2LTY5LjY4OHptMCA5MC45MTN2NjcuMjA3aC0xNTcuNDJ2LTY3LjIwN3ptLTAuMDMxLTIxMS44M2gtMTU3LjQydi03NC44ODZoMTU3LjQyem0wIDIxLjIyNnY3Ny44MjZoLTE1Ny40MnYtNzcuODI2em0tMTc4LjY0IDc3LjgyNmgtNzYuNjQ2di03Ny44MjZoNzYuNjQ2em0wLjAzMTAyIDIxLjg2MnY2OS42ODhoLTc2LjY0NnYtNjkuNjg4em0xOTkuOTUgNjkuMjY4di02OS42OTdoMTYzLjMxdjY5LjY5N3ptLTAuMDMxLTkxLjU1MnYtNzcuODI2aDE2My4zMXY3Ny44MjZ6XCIgc3Ryb2tlLXdpZHRoPVwiMS4zNzI1XCIvPlxuPC9zdmc+YCxcbiAgYWxpZ25MZWZ0OiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgNTEyIDUxMlwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxnIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSAwIDAgMSA1MTIgMClcIj5cbiAgICA8cGF0aCBkPVwibTUwMS4zMyAxNzAuNjdoLTMyMGMtNS44OTYgMC0xMC42NjcgNC43NzEtMTAuNjY3IDEwLjY2N3YyMS4zMzNjMCA1Ljg5NiA0Ljc3MSAxMC42NjcgMTAuNjY3IDEwLjY2N2gzMjBjNS44OTYgMCAxMC42NjctNC43NzEgMTAuNjY3LTEwLjY2N3YtMjEuMzMzYzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42Njd6XCIvPlxuICAgIDxwYXRoIGQ9XCJtNTAxLjMzIDI5OC42N2gtNDkwLjY3Yy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY2djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDQ5MC42N2M1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjLTFlLTMgLTUuODk1LTQuNzcyLTEwLjY2Ni0xMC42NjgtMTAuNjY2elwiLz5cbiAgICA8cGF0aCBkPVwibTUwMS4zMyA0MjYuNjdoLTMyMGMtNS44OTYgMC0xMC42NjcgNC43NzEtMTAuNjY3IDEwLjY2N3YyMS4zMzNjMCA1Ljg5NiA0Ljc3MSAxMC42NjcgMTAuNjY3IDEwLjY2N2gzMjBjNS44OTYgMCAxMC42NjctNC43NzEgMTAuNjY3LTEwLjY2N3YtMjEuMzMzYzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42Njd6XCIvPlxuICAgIDxwYXRoIGQ9XCJtNTAxLjMzIDQyLjY2N2gtNDkwLjY3Yy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY2djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDQ5MC42N2M1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjLTFlLTMgLTUuODk1LTQuNzcyLTEwLjY2Ni0xMC42NjgtMTAuNjY2elwiLz5cbiAgPC9nPlxuPC9zdmc+YCxcbiAgYWxpZ25DZW50ZXI6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIGVuYWJsZS1iYWNrZ3JvdW5kPVwibmV3IDAgMCA1MTIgNTEyXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPGcgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDUxMiAwKVwiPlxuICAgIDxwYXRoIGQ9XCJtNDE2IDE3MC42N2gtMzIwYy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY3djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDMyMGM1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N3pcIi8+XG4gICAgPHBhdGggZD1cIm01MDEuMzMgMjk4LjY3aC00OTAuNjdjLTUuODk2IDAtMTAuNjY3IDQuNzcxLTEwLjY2NyAxMC42NjZ2MjEuMzMzYzAgNS44OTYgNC43NzEgMTAuNjY3IDEwLjY2NyAxMC42NjdoNDkwLjY3YzUuODk2IDAgMTAuNjY3LTQuNzcxIDEwLjY2Ny0xMC42Njd2LTIxLjMzM2MtMWUtMyAtNS44OTUtNC43NzItMTAuNjY2LTEwLjY2OC0xMC42NjZ6XCIvPlxuICAgIDxwYXRoIGQ9XCJtNDE2IDQyNi42N2gtMzIwYy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY3djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDMyMGM1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N3pcIi8+XG4gICAgPHBhdGggZD1cIm01MDEuMzMgNDIuNjY3aC00OTAuNjdjLTUuODk2IDAtMTAuNjY3IDQuNzcxLTEwLjY2NyAxMC42NjZ2MjEuMzMzYzAgNS44OTYgNC43NzEgMTAuNjY3IDEwLjY2NyAxMC42NjdoNDkwLjY3YzUuODk2IDAgMTAuNjY3LTQuNzcxIDEwLjY2Ny0xMC42Njd2LTIxLjMzM2MtMWUtMyAtNS44OTUtNC43NzItMTAuNjY2LTEwLjY2OC0xMC42NjZ6XCIvPlxuICA8L2c+XG48L3N2Zz5gLFxuICBhbGlnblJpZ2h0OiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgNTEyIDUxMlwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtNTAxLjMzIDE3MC42N2gtMzIwYy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY3djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDMyMGM1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N3pcIi8+XG4gIDxwYXRoIGQ9XCJtNTAxLjMzIDI5OC42N2gtNDkwLjY3Yy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY2djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDQ5MC42N2M1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjLTFlLTMgLTUuODk1LTQuNzcyLTEwLjY2Ni0xMC42NjgtMTAuNjY2elwiLz5cbiAgPHBhdGggZD1cIm01MDEuMzMgNDI2LjY3aC0zMjBjLTUuODk2IDAtMTAuNjY3IDQuNzcxLTEwLjY2NyAxMC42Njd2MjEuMzMzYzAgNS44OTYgNC43NzEgMTAuNjY3IDEwLjY2NyAxMC42NjdoMzIwYzUuODk2IDAgMTAuNjY3LTQuNzcxIDEwLjY2Ny0xMC42Njd2LTIxLjMzM2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3elwiLz5cbiAgPHBhdGggZD1cIm01MDEuMzMgNDIuNjY3aC00OTAuNjdjLTUuODk2IDAtMTAuNjY3IDQuNzcxLTEwLjY2NyAxMC42NjZ2MjEuMzMzYzAgNS44OTYgNC43NzEgMTAuNjY3IDEwLjY2NyAxMC42NjdoNDkwLjY3YzUuODk2IDAgMTAuNjY3LTQuNzcxIDEwLjY2Ny0xMC42Njd2LTIxLjMzM2MtMWUtMyAtNS44OTUtNC43NzItMTAuNjY2LTEwLjY2OC0xMC42NjZ6XCIvPlxuPC9zdmc+YCxcbiAgZGVsZXRlQ29sdW1uOiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgMjYgMjZcIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCAyNiAyNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0xMy41OTQgMjAuODV2My4xNWgtMTB2LTIyaDEwdjMuMTVjMC42MzMtMC4zMjMgMS4zMDQtMC41NjUgMi0wLjcyN3YtMy40MjNjMC0wLjU1MS0wLjQ0OC0xLTEtMWgtMTJjLTAuNTUgMC0xIDAuNDQ5LTEgMXYyNGMwIDAuNTUxIDAuNDQ5IDEgMSAxaDEyYzAuNTUyIDAgMS0wLjQ0OSAxLTF2LTMuNDI0Yy0wLjY5Ni0wLjE2MS0xLjM2Ny0wLjQwMy0yLTAuNzI2elwiLz5cbiAgPHBhdGggZD1cIm0xNy41OTQgNi4xODhjLTMuNzYyIDAtNi44MTMgMy4wNTEtNi44MTIgNi44MTMtMWUtMyAzLjc2MSAzLjA1IDYuODEyIDYuODEyIDYuODEyczYuODEzLTMuMDUxIDYuODEzLTYuODEzLTMuMDUyLTYuODEyLTYuODEzLTYuODEyem0zLjYzMiA3LjgwMi03LjI2NyAxZS0zdi0xLjk4Mmg3LjI2OGwtMWUtMyAxLjk4MXpcIi8+XG48L3N2Zz5gLFxuICBkZWxldGVSb3c6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIGVuYWJsZS1iYWNrZ3JvdW5kPVwibmV3IDAgMCAxNS4zODEgMTUuMzgxXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgMTUuMzgxIDE1LjM4MVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIk0wLDEuNzMydjcuNzMyaDYuMDUzYzAtMC4wMzUtMC4wMDQtMC4wNy0wLjAwNC0wLjEwNGMwLTAuNDM0LDAuMDYxLTAuODU0LDAuMTY1LTEuMjU1SDEuMzZWMy4wOTIgICAgaDEyLjY2MnYyLjE5MmMwLjU0NiwwLjM5NiwxLjAxLDAuODk3LDEuMzU5LDEuNDc3VjEuNzMySDB6XCIvPlxuICA8cGF0aCBkPVwibTExLjE5NiA1LjI4Yy0yLjMwNyAwLTQuMTgzIDEuODc3LTQuMTgzIDQuMTg0IDAgMi4zMDggMS44NzYgNC4xODUgNC4xODMgNC4xODUgMi4zMDkgMCA0LjE4NS0xLjg3NyA0LjE4NS00LjE4NSAwLTIuMzA3LTEuODc2LTQuMTg0LTQuMTg1LTQuMTg0em0wIDcuMjMzYy0xLjY3OSAwLTMuMDQ3LTEuMzY3LTMuMDQ3LTMuMDQ5IDAtMS42OCAxLjM2OC0zLjA0OSAzLjA0Ny0zLjA0OSAxLjY4NCAwIDMuMDUgMS4zNjkgMy4wNSAzLjA0OSAwIDEuNjgyLTEuMzY2IDMuMDQ5LTMuMDUgMy4wNDl6XCIvPlxuICA8cmVjdCB4PVwiOS4zMTJcIiB5PVwiOC43NTlcIiB3aWR0aD1cIjMuODQ0XCIgaGVpZ2h0PVwiMS4xMDRcIi8+XG48L3N2Zz5gLFxuICBpbnNlcnRDb2x1bW46IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiLTIxIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0yODggMTA2LjY3Yy0zLjkyNTggMC03Ljg1MTYtMS40Mjk3LTEwLjkyMi00LjMxMjVsLTgwLTc0LjY2NGMtNC44MDA4LTQuNDgwNS02LjM3ODktMTEuNDU3LTMuOTY4OC0xNy41NTkgMi40MTAyLTYuMTAxNiA4LjMyMDMtMTAuMTMzIDE0Ljg5MS0xMC4xMzNoMTYwYzYuNTcwMyAwIDEyLjQ4IDQuMDExNyAxNC44OTEgMTAuMTMzIDIuNDEwMiA2LjEyNSAwLjgzMjAzIDEzLjA3OC0zLjk2ODggMTcuNTU5bC04MCA3NC42NjRjLTMuMDcwMyAyLjg4MjgtNi45OTYxIDQuMzEyNS0xMC45MjIgNC4zMTI1em0tMzkuNDAyLTc0LjY2OCAzOS40MDIgMzYuNzc3IDM5LjQwMi0zNi43Nzd6XCIvPlxuICA8cGF0aCBkPVwibTQzMiA1MTJoLTUzLjMzMmMtMjAuNTkgMC0zNy4zMzYtMTYuNzQ2LTM3LjMzNi0zNy4zMzJ2LTMzMC42N2MwLTIwLjU4NiAxNi43NDYtMzcuMzMyIDM3LjMzNi0zNy4zMzJoNTMuMzMyYzIwLjU4NiAwIDM3LjMzMiAxNi43NDYgMzcuMzMyIDM3LjMzMnYzMzAuNjdjMCAyMC41ODYtMTYuNzQ2IDM3LjMzMi0zNy4zMzIgMzcuMzMyem0tNTMuMzMyLTM3My4zM2MtMi45NDUzIDAtNS4zMzU5IDIuMzg2Ny01LjMzNTkgNS4zMzJ2MzMwLjY3YzAgMi45NDE0IDIuMzkwNiA1LjMzMiA1LjMzNTkgNS4zMzJoNTMuMzMyYzIuOTQ1MyAwIDUuMzMyLTIuMzkwNiA1LjMzMi01LjMzMnYtMzMwLjY3YzAtMi45NDUzLTIuMzg2Ny01LjMzMi01LjMzMi01LjMzMnpcIi8+XG4gIDxwYXRoIGQ9XCJtMTk3LjMzIDUxMmgtMTYwYy0yMC41ODYgMC0zNy4zMzItMTYuNzQ2LTM3LjMzMi0zNy4zMzJ2LTMzMC42N2MwLTIwLjU4NiAxNi43NDYtMzcuMzMyIDM3LjMzMi0zNy4zMzJoMTYwYzIwLjU5IDAgMzcuMzM2IDE2Ljc0NiAzNy4zMzYgMzcuMzMydjMzMC42N2MwIDIwLjU4Ni0xNi43NDYgMzcuMzMyLTM3LjMzNiAzNy4zMzJ6bS0xNjAtMzczLjMzYy0yLjk0MTQgMC01LjMzMiAyLjM4NjctNS4zMzIgNS4zMzJ2MzMwLjY3YzAgMi45NDE0IDIuMzkwNiA1LjMzMiA1LjMzMiA1LjMzMmgxNjBjMi45NDUzIDAgNS4zMzU5LTIuMzkwNiA1LjMzNTktNS4zMzJ2LTMzMC42N2MwLTIuOTQ1My0yLjM5MDYtNS4zMzItNS4zMzU5LTUuMzMyelwiLz5cbiAgPHBhdGggZD1cIm00NTMuMzMgMzI1LjMzaC05NmMtOC44MzIgMC0xNi03LjE2OC0xNi0xNnM3LjE2OC0xNiAxNi0xNmg5NmM4LjgzMiAwIDE2IDcuMTY4IDE2IDE2cy03LjE2OCAxNi0xNiAxNnpcIi8+XG4gIDxwYXRoIGQ9XCJtMjE4LjY3IDMyNS4zM2gtMjAyLjY3Yy04LjgzMiAwLTE2LTcuMTY4LTE2LTE2czcuMTY4LTE2IDE2LTE2aDIwMi42N2M4LjgzMiAwIDE2IDcuMTY4IDE2IDE2cy03LjE2OCAxNi0xNiAxNnpcIi8+XG4gIDxwYXRoIGQ9XCJtMTE3LjMzIDUxMmMtOC44MzIgMC0xNi03LjE2OC0xNi0xNnYtMzczLjMzYzAtOC44MzIgNy4xNjgtMTYgMTYtMTZzMTYgNy4xNjggMTYgMTZ2MzczLjMzYzAgOC44MzItNy4xNjggMTYtMTYgMTZ6XCIvPlxuPC9zdmc+YCxcbiAgaW5zZXJ0Um93OiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgLTIxIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtMTYgMjc3LjMzYy0xLjk4NDQgMC0zLjk2ODgtMC4zNjMyOC01Ljg2NzItMS4xMDk0LTYuMTIxMS0yLjQxMDItMTAuMTMzLTguMzIwMy0xMC4xMzMtMTQuODkxdi0xNjBjMC02LjU3MDMgNC4wMTE3LTEyLjQ4IDEwLjEzMy0xNC44OTEgNi4xNDQ1LTIuNDEwMiAxMy4wNzgtMC44NTE1NiAxNy41NTkgMy45Njg4bDc0LjY2NCA4MGM1Ljc2MTcgNi4xNDQ1IDUuNzYxNyAxNS42OCAwIDIxLjgyNGwtNzQuNjY0IDgwYy0zLjA5MzggMy4zMjgxLTcuMzM5OCA1LjA5NzctMTEuNjkxIDUuMDk3N3ptMTYtMTM1LjR2NzguODA1bDM2Ljc3Ny0zOS40MDJ6XCIvPlxuICA8cGF0aCBkPVwibTQ3NC42NyAxMjhoLTMzMC42N2MtMjAuNTg2IDAtMzcuMzMyLTE2Ljc0Ni0zNy4zMzItMzcuMzMydi01My4zMzZjMC0yMC41ODYgMTYuNzQ2LTM3LjMzMiAzNy4zMzItMzcuMzMyaDMzMC42N2MyMC41ODYgMCAzNy4zMzIgMTYuNzQ2IDM3LjMzMiAzNy4zMzJ2NTMuMzM2YzAgMjAuNTg2LTE2Ljc0NiAzNy4zMzItMzcuMzMyIDM3LjMzMnptLTMzMC42Ny05NmMtMi45NDUzIDAtNS4zMzIgMi4zOTA2LTUuMzMyIDUuMzMydjUzLjMzNmMwIDIuOTQxNCAyLjM4NjcgNS4zMzIgNS4zMzIgNS4zMzJoMzMwLjY3YzIuOTQxNCAwIDUuMzMyLTIuMzkwNiA1LjMzMi01LjMzMnYtNTMuMzM2YzAtMi45NDE0LTIuMzkwNi01LjMzMi01LjMzMi01LjMzMnpcIi8+XG4gIDxwYXRoIGQ9XCJtNDc0LjY3IDQ2OS4zM2gtMzMwLjY3Yy0yMC41ODYgMC0zNy4zMzItMTYuNzQ2LTM3LjMzMi0zNy4zMzJ2LTE2MGMwLTIwLjU4NiAxNi43NDYtMzcuMzMyIDM3LjMzMi0zNy4zMzJoMzMwLjY3YzIwLjU4NiAwIDM3LjMzMiAxNi43NDYgMzcuMzMyIDM3LjMzMnYxNjBjMCAyMC41ODYtMTYuNzQ2IDM3LjMzMi0zNy4zMzIgMzcuMzMyem0tMzMwLjY3LTIwMi42NmMtMi45NDUzIDAtNS4zMzIgMi4zODY3LTUuMzMyIDUuMzMydjE2MGMwIDIuOTQ1MyAyLjM4NjcgNS4zMzIgNS4zMzIgNS4zMzJoMzMwLjY3YzIuOTQxNCAwIDUuMzMyLTIuMzg2NyA1LjMzMi01LjMzMnYtMTYwYzAtMi45NDUzLTIuMzkwNi01LjMzMi01LjMzMi01LjMzMnpcIi8+XG4gIDxwYXRoIGQ9XCJtMzA5LjMzIDEyOGMtOC44MzIgMC0xNi03LjE2OC0xNi0xNnYtOTZjMC04LjgzMiA3LjE2OC0xNiAxNi0xNnMxNiA3LjE2OCAxNiAxNnY5NmMwIDguODMyLTcuMTY4IDE2LTE2IDE2elwiLz5cbiAgPHBhdGggZD1cIm0zMDkuMzMgNDY5LjMzYy04LjgzMiAwLTE2LTcuMTY4LTE2LTE2di0yMDIuNjZjMC04LjgzMiA3LjE2OC0xNiAxNi0xNnMxNiA3LjE2OCAxNiAxNnYyMDIuNjZjMCA4LjgzMi03LjE2OCAxNi0xNiAxNnpcIi8+XG4gIDxwYXRoIGQ9XCJtNDk2IDM2OGgtMzczLjMzYy04LjgzMiAwLTE2LTcuMTY4LTE2LTE2czcuMTY4LTE2IDE2LTE2aDM3My4zM2M4LjgzMiAwIDE2IDcuMTY4IDE2IDE2cy03LjE2OCAxNi0xNiAxNnpcIi8+XG48L3N2Zz5gLFxuICBtb3ZlQ29sdW1uTGVmdDogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyLjAyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0zNTcuMzUgNTEyLjAxaDk2YzMyLjM2MyAwIDU4LjY2OC0yNi4zMDUgNTguNjY4LTU4LjY2OHYtMzk0LjY2YzAtMzIuMzYzLTI2LjMwNS01OC42NjgtNTguNjY4LTU4LjY2OGgtOTZjLTMyLjM2MyAwLTU4LjY2NCAyNi4zMDUtNTguNjY0IDU4LjY2OHYzOTQuNjZjMCAzMi4zNjMgMjYuMzAxIDU4LjY2OCA1OC42NjQgNTguNjY4em05Ni00ODBjMTQuNjk5IDAgMjYuNjY4IDExLjk2OSAyNi42NjggMjYuNjY4djM5NC42NmMwIDE0LjY5OS0xMS45NjkgMjYuNjY4LTI2LjY2OCAyNi42NjhoLTk2Yy0xNC42OTkgMC0yNi42NjQtMTEuOTY5LTI2LjY2NC0yNi42Njh2LTM5NC42NmMwLTE0LjY5OSAxMS45NjUtMjYuNjY4IDI2LjY2NC0yNi42Njh6XCIvPlxuICA8cGF0aCBkPVwibTE2LjAxNiAyNzIuMDFoMjI0YzguODMyIDAgMTYtNy4xNjggMTYtMTZzLTcuMTY4LTE2LTE2LTE2aC0yMjRjLTguODMyIDAtMTYgNy4xNjgtMTYgMTZzNy4xNjggMTYgMTYgMTZ6XCIvPlxuICA8cGF0aCBkPVwibTEwMS4zNSAzNTcuMzRjNC4wOTc2IDAgOC4xOTE0LTEuNTU0NyAxMS4zMDktNC42OTE0IDYuMjUtNi4yNSA2LjI1LTE2LjM4MyAwLTIyLjYzN2wtNzQuMDI3LTc0LjAyMyA3NC4wMjctNzQuMDI3YzYuMjUtNi4yNSA2LjI1LTE2LjM4NyAwLTIyLjYzN3MtMTYuMzgzLTYuMjUtMjIuNjM3IDBsLTg1LjMzMiA4NS4zMzZjLTYuMjUgNi4yNS02LjI1IDE2LjM4MyAwIDIyLjYzM2w4NS4zMzIgODUuMzMyYzMuMTM2NyAzLjE2MDIgNy4yMzQ0IDQuNzE0OCAxMS4zMjggNC43MTQ4elwiLz5cbjwvc3ZnPmAsXG4gIG1vdmVDb2x1bW5SaWdodDogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyLjAyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0xNTQuNjcgNTEyLjAxaC05NmMtMzIuMzYzIDAtNTguNjY4LTI2LjMwNS01OC42NjgtNTguNjY4di0zOTQuNjZjMC0zMi4zNjMgMjYuMzA1LTU4LjY2OCA1OC42NjgtNTguNjY4aDk2YzMyLjM2MyAwIDU4LjY2NCAyNi4zMDUgNTguNjY0IDU4LjY2OHYzOTQuNjZjMCAzMi4zNjMtMjYuMzAxIDU4LjY2OC01OC42NjQgNTguNjY4em0tOTYtNDgwYy0xNC42OTkgMC0yNi42NjggMTEuOTY5LTI2LjY2OCAyNi42Njh2Mzk0LjY2YzAgMTQuNjk5IDExLjk2OSAyNi42NjggMjYuNjY4IDI2LjY2OGg5NmMxNC42OTkgMCAyNi42NjQtMTEuOTY5IDI2LjY2NC0yNi42Njh2LTM5NC42NmMwLTE0LjY5OS0xMS45NjUtMjYuNjY4LTI2LjY2NC0yNi42Njh6XCIvPlxuICA8cGF0aCBkPVwibTQ5NiAyNzIuMDFoLTIyNGMtOC44MzIgMC0xNi03LjE2OC0xNi0xNiAwLTguODMyIDcuMTY4LTE2IDE2LTE2aDIyNGM4LjgzMiAwIDE2IDcuMTY4IDE2IDE2IDAgOC44MzItNy4xNjggMTYtMTYgMTZ6XCIvPlxuICA8cGF0aCBkPVwibTQxMC42NyAzNTcuMzRjLTQuMDk3NyAwLTguMTkxNC0xLjU1NDctMTEuMzA5LTQuNjkxNC02LjI1LTYuMjUtNi4yNS0xNi4zODMgMC0yMi42MzdsNzQuMDI3LTc0LjAyMy03NC4wMjctNzQuMDI3Yy02LjI1LTYuMjUtNi4yNS0xNi4zODcgMC0yMi42MzdzMTYuMzgzLTYuMjUgMjIuNjM3IDBsODUuMzMyIDg1LjMzNmM2LjI1IDYuMjUgNi4yNSAxNi4zODMgMCAyMi42MzNsLTg1LjMzMiA4NS4zMzJjLTMuMTM2NyAzLjE2MDItNy4yMzQ0IDQuNzE0OC0xMS4zMjggNC43MTQ4elwiLz5cbjwvc3ZnPmAsXG4gIG1vdmVSb3dEb3duOiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICA8cGF0aCBkPVwibTQ1My4zMyAyMTMuMzNoLTM5NC42NmMtMzIuMzYzIDAtNTguNjY4LTI2LjMwMS01OC42NjgtNTguNjY0di05NmMwLTMyLjM2MyAyNi4zMDUtNTguNjY4IDU4LjY2OC01OC42NjhoMzk0LjY2YzMyLjM2MyAwIDU4LjY2OCAyNi4zMDUgNTguNjY4IDU4LjY2OHY5NmMwIDMyLjM2My0yNi4zMDUgNTguNjY0LTU4LjY2OCA1OC42NjR6bS0zOTQuNjYtMTgxLjMzYy0xNC42OTkgMC0yNi42NjggMTEuOTY5LTI2LjY2OCAyNi42Njh2OTZjMCAxNC42OTkgMTEuOTY5IDI2LjY2NCAyNi42NjggMjYuNjY0aDM5NC42NmMxNC42OTkgMCAyNi42NjgtMTEuOTY1IDI2LjY2OC0yNi42NjR2LTk2YzAtMTQuNjk5LTExLjk2OS0yNi42NjgtMjYuNjY4LTI2LjY2OHpcIi8+XG4gIDxwYXRoIGQ9XCJtMjU2IDUxMmMtOC44MzIgMC0xNi03LjE2OC0xNi0xNnYtMjI0YzAtOC44MzIgNy4xNjgtMTYgMTYtMTZzMTYgNy4xNjggMTYgMTZ2MjI0YzAgOC44MzItNy4xNjggMTYtMTYgMTZ6XCIvPlxuICA8cGF0aCBkPVwibTI1NiA1MTJjLTQuMDk3NyAwLTguMTkxNC0xLjU1ODYtMTEuMzA5LTQuNjkxNGwtODUuMzMyLTg1LjMzNmMtNi4yNS02LjI1LTYuMjUtMTYuMzgzIDAtMjIuNjMzczE2LjM4My02LjI1IDIyLjYzNyAwbDc0LjAyMyA3NC4wMjcgNzQuMDI3LTc0LjAyN2M2LjI1LTYuMjUgMTYuMzg3LTYuMjUgMjIuNjM3IDBzNi4yNSAxNi4zODMgMCAyMi42MzNsLTg1LjMzNiA4NS4zMzZjLTMuMTU2MiAzLjEzMjgtNy4yNSA0LjY5MTQtMTEuMzQ4IDQuNjkxNHpcIi8+XG48L3N2Zz5gLFxuICBtb3ZlUm93VXA6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtNDUzLjMzIDI5OC42N2gtMzk0LjY2Yy0zMi4zNjMgMC01OC42NjggMjYuMzAxLTU4LjY2OCA1OC42NjR2OTZjMCAzMi4zNjMgMjYuMzA1IDU4LjY2OCA1OC42NjggNTguNjY4aDM5NC42NmMzMi4zNjMgMCA1OC42NjgtMjYuMzA1IDU4LjY2OC01OC42Njh2LTk2YzAtMzIuMzYzLTI2LjMwNS01OC42NjQtNTguNjY4LTU4LjY2NHptLTM5NC42NiAxODEuMzNjLTE0LjY5OSAwLTI2LjY2OC0xMS45NjktMjYuNjY4LTI2LjY2OHYtOTZjMC0xNC42OTkgMTEuOTY5LTI2LjY2NCAyNi42NjgtMjYuNjY0aDM5NC42NmMxNC42OTkgMCAyNi42NjggMTEuOTY1IDI2LjY2OCAyNi42NjR2OTZjMCAxNC42OTktMTEuOTY5IDI2LjY2OC0yNi42NjggMjYuNjY4elwiLz5cbiAgPHBhdGggZD1cIm0yNTYgMGMtOC44MzIgMC0xNiA3LjE2OC0xNiAxNnYyMjRjMCA4LjgzMiA3LjE2OCAxNiAxNiAxNnMxNi03LjE2OCAxNi0xNnYtMjI0YzAtOC44MzItNy4xNjgtMTYtMTYtMTZ6XCIvPlxuICA8cGF0aCBkPVwibTI1NiAwYy00LjA5NzcgMC04LjE5MTQgMS41NTg2LTExLjMwOSA0LjY5MTRsLTg1LjMzMiA4NS4zMzZjLTYuMjUgNi4yNS02LjI1IDE2LjM4MyAwIDIyLjYzM3MxNi4zODMgNi4yNSAyMi42MzcgMGw3NC4wMjMtNzQuMDI3IDc0LjAyNyA3NC4wMjdjNi4yNSA2LjI1IDE2LjM4NyA2LjI1IDIyLjYzNyAwczYuMjUtMTYuMzgzIDAtMjIuNjMzbC04NS4zMzYtODUuMzM2Yy0zLjE1NjItMy4xMzI4LTcuMjUtNC42OTE0LTExLjM0OC00LjY5MTR6XCIvPlxuPC9zdmc+YCxcbiAgc29ydEFzYzogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIC0xIDAgNTAxLjE1KVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzM1wiPlxuICAgIDxwYXRoIGQ9XCJtMzUzLjYgNzQuNDg2Yy0xMS43NzYgMC0yMS4zMzMgOS41NTczLTIxLjMzMyAyMS4zMzN2Mjk4LjY3YzAgMTEuNzc2IDkuNTU3MyAyMS4zMzMgMjEuMzMzIDIxLjMzM3MyMS4zMzMtOS41NTczIDIxLjMzMy0yMS4zMzN2LTI5OC42N2MwLTExLjc3Ni05LjU1NzMtMjEuMzMzLTIxLjMzMy0yMS4zMzN6XCIvPlxuICAgIDxwYXRoIGQ9XCJtMzUzLjYgNzQuNDg2Yy01LjQ2MzYgMC0xMC45MjIgMi4wNzgxLTE1LjA3OSA2LjI1NTJsLTExMy43OCAxMTMuNzhjLTguMzMzMyA4LjMzMzMtOC4zMzMzIDIxLjg0NCAwIDMwLjE3NyA4LjMzMzMgOC4zMzMzIDIxLjg0NCA4LjMzMzMgMzAuMTgzIDBsOTguNjk3LTk4LjcwMyA5OC43MDMgOTguNzAzYzguMzMzMyA4LjMzMzMgMjEuODQ5IDguMzMzMyAzMC4xODMgMCA4LjMzMzMtOC4zMzMzIDguMzMzMy0yMS44NDQgMC0zMC4xNzdsLTExMy43OC0xMTMuNzhjLTQuMjA4My00LjE3NzEtOS42NjY3LTYuMjU1Mi0xNS4xMzEtNi4yNTUyelwiLz5cbiAgPC9nPlxuICA8cGF0aCBkPVwibTE2Ni4wNCAyMTAuMTFxLTUuMDk3MS0xMy40OTItOS41OTQ1LTI2LjM4NS00LjQ5NzQtMTMuMTkyLTkuMjk0Ny0yNi42ODVoLTk0LjE0NmwtMTguODg5IDUzLjA3aC0zMC4yODNxMTEuOTkzLTMyLjk4MSAyMi40ODctNjAuODY1IDEwLjQ5NC0yOC4xODQgMjAuMzg4LTUzLjM2OSAxMC4xOTQtMjUuMTg2IDIwLjA4OS00Ny45NzMgOS44OTQzLTIzLjA4NyAyMC42ODgtNDUuNTc0aDI2LjY4NXExMC43OTQgMjIuNDg3IDIwLjY4OCA0NS41NzQgOS44OTQzIDIyLjc4NyAxOS43ODkgNDcuOTczIDEwLjE5NCAyNS4xODYgMjAuNjg4IDUzLjM2OSAxMC40OTQgMjcuODg0IDIyLjQ4NyA2MC44NjV6bS0yNy4yODQtNzcuMDU2cS05LjU5NDUtMjYuMDg1LTE5LjE4OS01MC4zNzEtOS4yOTQ3LTI0LjU4Ni0xOS40ODktNDcuMDczLTEwLjQ5NCAyMi40ODctMjAuMDg5IDQ3LjA3My05LjI5NDcgMjQuMjg2LTE4LjU4OSA1MC4zNzF6XCIvPlxuICA8cGF0aCBkPVwibTE3My4yNCAzMjUuMjVxLTYuODk2IDcuNzk1NS0xNi4xOTEgMTguODg5LTguOTk0OCAxMC43OTQtMTkuMTg5IDI0LjI4Ni0xMC4xOTQgMTMuMTkyLTIwLjk4OCAyOC4xODQtMTAuNzk0IDE0LjY5Mi0yMS4yODggMjkuOTgzLTEwLjE5NCAxNC45OTEtMTkuNDg5IDI5Ljk4My05LjI5NDcgMTQuOTkxLTE2Ljc5IDI4LjQ4NGgxMTYuOTN2MjQuODg2aC0xNTAuODF2LTE5LjQ4OXE2LjI5NjQtMTEuOTkzIDE0LjY5Mi0yNi4zODUgOC42OTUtMTQuMzkyIDE4LjI5LTI5LjM4MyA5Ljg5NDMtMTQuOTkxIDIwLjM4OC0zMC4yODN0MjAuNjg4LTI5LjM4M3ExMC40OTQtMTQuMDkyIDIwLjA4OC0yNi4zODUgOS44OTQzLTEyLjI5MyAxNy45OS0yMS41ODhoLTEwNi43NHYtMjQuODg2aDE0Mi40MnpcIi8+XG48L3N2Zz5gLFxuICBzb3J0RGVzYzogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIC0xIDAgNTAxLjE1KVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzM1wiPlxuICAgIDxwYXRoIGQ9XCJtMzUzLjYgNzQuNDg2Yy0xMS43NzYgMC0yMS4zMzMgOS41NTczLTIxLjMzMyAyMS4zMzN2Mjk4LjY3YzAgMTEuNzc2IDkuNTU3MyAyMS4zMzMgMjEuMzMzIDIxLjMzM3MyMS4zMzMtOS41NTczIDIxLjMzMy0yMS4zMzN2LTI5OC42N2MwLTExLjc3Ni05LjU1NzMtMjEuMzMzLTIxLjMzMy0yMS4zMzN6XCIvPlxuICAgIDxwYXRoIGQ9XCJtMzUzLjYgNzQuNDg2Yy01LjQ2MzYgMC0xMC45MjIgMi4wNzgxLTE1LjA3OSA2LjI1NTJsLTExMy43OCAxMTMuNzhjLTguMzMzMyA4LjMzMzMtOC4zMzMzIDIxLjg0NCAwIDMwLjE3NyA4LjMzMzMgOC4zMzMzIDIxLjg0NCA4LjMzMzMgMzAuMTgzIDBsOTguNjk3LTk4LjcwMyA5OC43MDMgOTguNzAzYzguMzMzMyA4LjMzMzMgMjEuODQ5IDguMzMzMyAzMC4xODMgMCA4LjMzMzMtOC4zMzMzIDguMzMzMy0yMS44NDQgMC0zMC4xNzdsLTExMy43OC0xMTMuNzhjLTQuMjA4My00LjE3NzEtOS42NjY3LTYuMjU1Mi0xNS4xMzEtNi4yNTUyelwiLz5cbiAgPC9nPlxuICA8cGF0aCBkPVwibTE2OS4xMSA1MDcuNzJxLTUuMDk3MS0xMy40OTItOS41OTQ1LTI2LjM4NS00LjQ5NzQtMTMuMTkyLTkuMjk0Ny0yNi42ODVoLTk0LjE0NmwtMTguODg5IDUzLjA3aC0zMC4yODNxMTEuOTkzLTMyLjk4MSAyMi40ODctNjAuODY1IDEwLjQ5NC0yOC4xODQgMjAuMzg4LTUzLjM2OSAxMC4xOTQtMjUuMTg2IDIwLjA4OC00Ny45NzMgOS44OTQzLTIzLjA4NyAyMC42ODgtNDUuNTc0aDI2LjY4NXExMC43OTQgMjIuNDg3IDIwLjY4OCA0NS41NzQgOS44OTQzIDIyLjc4NyAxOS43ODkgNDcuOTczIDEwLjE5NCAyNS4xODYgMjAuNjg4IDUzLjM2OSAxMC40OTQgMjcuODg0IDIyLjQ4NyA2MC44NjV6bS0yNy4yODQtNzcuMDU2cS05LjU5NDUtMjYuMDg1LTE5LjE4OS01MC4zNzEtOS4yOTQ3LTI0LjU4Ni0xOS40ODktNDcuMDczLTEwLjQ5NCAyMi40ODctMjAuMDg5IDQ3LjA3My05LjI5NDcgMjQuMjg2LTE4LjU4OSA1MC4zNzF6XCIvPlxuICA8cGF0aCBkPVwibTE3Ni4zMSAyNy42MzlxLTYuODk2IDcuNzk1NS0xNi4xOTEgMTguODg5LTguOTk0OCAxMC43OTQtMTkuMTg5IDI0LjI4Ni0xMC4xOTQgMTMuMTkyLTIwLjk4OCAyOC4xODQtMTAuNzk0IDE0LjY5Mi0yMS4yODggMjkuOTgzLTEwLjE5NCAxNC45OTEtMTkuNDg5IDI5Ljk4My05LjI5NDcgMTQuOTkxLTE2Ljc5IDI4LjQ4NGgxMTYuOTN2MjQuODg2aC0xNTAuODF2LTE5LjQ4OXE2LjI5NjQtMTEuOTkzIDE0LjY5Mi0yNi4zODUgOC42OTUtMTQuMzkyIDE4LjI5LTI5LjM4MyA5Ljg5NDMtMTQuOTkxIDIwLjM4OC0zMC4yODMgMTAuNDk0LTE1LjI5MSAyMC42ODgtMjkuMzgzIDEwLjQ5NC0xNC4wOTIgMjAuMDg4LTI2LjM4NSA5Ljg5NDMtMTIuMjkzIDE3Ljk5LTIxLjU4OGgtMTA2Ljc0di0yNC44ODZoMTQyLjQyelwiLz5cbjwvc3ZnPmAsXG4gIGZvcm11bGE6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtMjYzLjUxIDYyLjk2N2MxLjY3Mi0xMS4xMzQgOS4zMjYtMjIuOTY3IDIwLjIyMi0yMi45NjcgMTEuMDI4IDAgMjAgOC45NzIgMjAgMjBoNDBjMC0zMy4wODQtMjYuOTE2LTYwLTYwLTYwLTMzLjYyOSAwLTU1LjUyNyAyOC42OTEtNTkuNzg0IDU3LjA3M2wtMTIuODYyIDg2LjkyN2gtNjEuMzU0djQwaDU1LjQzNmwtMzkuMjIgMjY1LjA3LTAuMTE2IDAuOTM3Yy0xLjA2MyAxMC42Mi05LjM5MyAyMS45OS0yMC4xIDIxLjk5LTExLjAyOCAwLTIwLTguOTcyLTIwLTIwaC00MGMwIDMzLjA4NCAyNi45MTYgNjAgNjAgNjAgMzMuNjYxIDAgNTYuNzcxLTI5LjE0MSA1OS44NDgtNTcuNDk2bDQwLjAyMy0yNzAuNWg2MC4xMjl2LTQwaC01NC4yMTFsMTEuOTg5LTgxLjAzM3pcIi8+XG4gIDxwb2x5Z29uIHBvaW50cz1cIjQyNi4yNyAyNDggMzc4LjI0IDI0OCAzNTIuMjUgMjg3LjA4IDMzNC45MiAyNDggMjkxLjE3IDI0OCAzMjYgMzI2LjU3IDI3MC41MiA0MTAgMzE4LjU2IDQxMCAzNDUuMjEgMzY5LjkyIDM2Mi45OCA0MTAgNDA2LjczIDQxMCAzNzEuNDYgMzMwLjQzXCIvPlxuPC9zdmc+YCxcbiAgaGVscDogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0yNDguMTYgMzQzLjIyYy0xNC42MzkgMC0yNi40OTEgMTIuMi0yNi40OTEgMjYuODQgMCAxNC4yOTEgMTEuNTAzIDI2Ljg0IDI2LjQ5MSAyNi44NHMyNi44NC0xMi41NDggMjYuODQtMjYuODRjMC0xNC42NC0xMi4xOTktMjYuODQtMjYuODQtMjYuODR6XCIvPlxuICA8cGF0aCBkPVwibTI1Mi42OSAxNDBjLTQ3LjA1NyAwLTY4LjY2OCAyNy44ODUtNjguNjY4IDQ2LjcwOCAwIDEzLjU5NSAxMS41MDIgMTkuODY5IDIwLjkxNCAxOS44NjkgMTguODIyIDAgMTEuMTU0LTI2Ljg0IDQ2LjcwOC0yNi44NCAxNy40MjkgMCAzMS4zNzIgNy42NjkgMzEuMzcyIDIzLjcwMyAwIDE4LjgyNC0xOS41MiAyOS42MjktMzEuMDIzIDM5LjM4OS0xMC4xMDggOC43MTQtMjMuMzU0IDIzLjAwNi0yMy4zNTQgNTIuOTgzIDAgMTguMTI1IDQuODc5IDIzLjM1NCAxOS4xNzEgMjMuMzU0IDE3LjA4IDAgMjAuNTY1LTcuNjY4IDIwLjU2NS0xNC4yOTEgMC0xOC4xMjYgMC4zNS0yOC41ODMgMTkuNTIxLTQzLjU3MSA5LjQxMS03LjMyIDM5LjA0LTMxLjAyMyAzOS4wNC02My43ODlzLTI5LjYyOS01Ny41MTUtNzQuMjQ2LTU3LjUxNXpcIi8+XG4gIDxwYXRoIGQ9XCJtMjU2IDBjLTE0MS40OCAwLTI1NiAxMTQuNS0yNTYgMjU2djIzNmMwIDExLjA0NiA4Ljk1NCAyMCAyMCAyMGgyMzZjMTQxLjQ4IDAgMjU2LTExNC41IDI1Ni0yNTYgMC0xNDEuNDgtMTE0LjUtMjU2LTI1Ni0yNTZ6bTAgNDcyaC0yMTZ2LTIxNmMwLTExOS4zOCA5Ni42MDctMjE2IDIxNi0yMTYgMTE5LjM4IDAgMjE2IDk2LjYwNyAyMTYgMjE2IDAgMTE5LjM4LTk2LjYwNyAyMTYtMjE2IDIxNnpcIi8+XG48L3N2Zz5gLFxuICBjc3Y6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuIDxwYXRoIGQ9XCJtNC45OTc5IDl2LThoMTQuNTAybDMuNSAzLjUgMmUtNyAxOC41aC0xOW0xNC0yMnY1aDVtLTE2IDdoLTJjLTEgMC0yIDAuNS0yIDEuNXYxLjVzMWUtOCAwLjUgMCAxLjUgMSAxLjUgMiAxLjVoMm02LjI1LTZoLTIuNWMtMS41IDAtMiAwLjUtMiAxLjVzMC41IDEuNSAyIDEuNSAyIDAuNSAyIDEuNS0wLjUgMS41LTIgMS41aC0yLjVtMTIuMjUtN3YwLjVjMCAwLjUtMi41IDYuNS0yLjUgNi41aC0wLjVzLTIuNS02LTIuNS02LjV2LTAuNVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwidmFyKC0tdGV4dC1tdXRlZClcIiBzdHJva2Utd2lkdGg9XCIxLjVcIi8+XG48L3N2Zz5gLFxuICBhcnJvd2VudGVyOiBgXG48c3ZnIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwibTQuNjQxMTkgMTIuNSAyLjg3MjgzIDIuNzAzOGMuMzAxNjMuMjgzOS4zMTYwMi43NTg2LjAzMjEzIDEuMDYwMi0uMjgzODkuMzAxNy0uNzU4NTQuMzE2LTEuMDYwMTcuMDMyMWwtNC4yNS00Yy0uMTUwNTktLjE0MTctLjIzNTk4LS4zMzkzLS4yMzU5OC0uNTQ2MXMuMDg1MzktLjQwNDQuMjM1OTgtLjU0NjJsNC4yNS0zLjk5OTk1Yy4zMDE2My0uMjgzODkuNzc2MjgtLjI2OTUgMS4wNjAxNy4wMzIxM3MuMjY5NS43NzYyOC0uMDMyMTMgMS4wNjAxN2wtMi44NzI4NCAyLjcwMzg1aDEwLjEwODgyYy45NjY1IDAgMS43NS0uNzgzNSAxLjc1LTEuNzV2LTQuNWMwLS40MTQyMS4zMzU4LS43NS43NS0uNzVzLjc1LjMzNTc5Ljc1Ljc1djQuNWMwIDEuNzk0OS0xLjQ1NTEgMy4yNS0zLjI1IDMuMjV6XCIvPlxuPC9zdmc+YCxcbiAgYXJyb3d0YWI6IGBcbjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJtMTguMjA3MTA2OCAxMS4yOTI4OTMyLTYuNS02LjQ5OTk5OTk4Yy0uMzkwNTI0My0uMzkwNTI0MjktMS4wMjM2ODkzLS4zOTA1MjQyOS0xLjQxNDIxMzYgMC0uMzYwNDgzOTQuMzYwNDgzOTYtLjM4ODIxMzQ4LjkyNzcxNTAyLS4wODMxODg2IDEuMzIwMDA2MjJsLjA4MzE4ODYuMDk0MjA3MzQgNC43OTMxMDY4IDQuNzkyODkzMjJoLTExLjA4NmMtLjUxMjgzNTg0IDAtLjkzNTUwNzE2LjM4NjA0MDItLjk5MzI3MjI3Ljg4MzM3ODlsLS4wMDY3Mjc3My4xMTY2MjExYzAgLjUxMjgzNTguMzg2MDQwMTkuOTM1NTA3Mi44ODMzNzg4Ny45OTMyNzIzbC4xMTY2MjExMy4wMDY3Mjc3aDExLjA4NmwtNC43OTMxMDY4IDQuNzkyODkzMmMtLjM2MDQ4Mzk0LjM2MDQ4NC0uMzg4MjEzNDguOTI3NzE1LS4wODMxODg2IDEuMzIwMDA2MmwuMDgzMTg4Ni4wOTQyMDc0Yy4zNjA0ODQuMzYwNDgzOS45Mjc3MTUuMzg4MjEzNSAxLjMyMDAwNjIuMDgzMTg4NmwuMDk0MjA3NC0uMDgzMTg4NiA2LjUtNi41Yy4zNjA0ODM5LS4zNjA0ODQuMzg4MjEzNS0uOTI3NzE1LjA4MzE4ODYtMS4zMjAwMDYybC0uMDgzMTg4Ni0uMDk0MjA3NC02LjUtNi40OTk5OTk5OHptMi43OTI4OTMyIDcuMjA3MTA2OHYtMTNjMC0uNTUyMjg0NzUtLjQ0NzcxNTMtMS0xLTFzLTEgLjQ0NzcxNTI1LTEgMXYxM2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF6XCIgZmlsbD1cIiMyMTIxMjFcIi8+XG48L3N2Zz5gLFxufTtcblxuZXhwb3J0IGNvbnN0IGFkZEljb25zID0gKCk6IHZvaWQgPT4ge1xuICBPYmplY3Qua2V5cyhpY29ucykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgLy8gRG9uJ3QgYWRkIHRoZSAnaGVscCcgaWNvbiBoZXJlIGFzIGl0IHdpbGwgb3ZlcndyaXRlIHRoZSBuYXRpdmUgb25lLlxuICAgIGlmIChrZXkgIT09ICdoZWxwJykge1xuICAgICAgYWRkSWNvbihrZXksIGljb25zW2tleV0pO1xuICAgIH1cbiAgfSk7XG59O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlBvaW50ID0gdm9pZCAwO1xuLyoqXG4gKiBBIGBQb2ludGAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRoZSB0ZXh0IGVkaXRvci5cbiAqL1xuY2xhc3MgUG9pbnQge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgYFBvaW50YCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93IC0gUm93IG9mIHRoZSBwb2ludCwgc3RhcnRzIGZyb20gMC5cbiAgICAgKiBAcGFyYW0gY29sdW1uIC0gQ29sdW1uIG9mIHRoZSBwb2ludCwgc3RhcnRzIGZyb20gMC5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihyb3csIGNvbHVtbikge1xuICAgICAgICB0aGlzLnJvdyA9IHJvdztcbiAgICAgICAgdGhpcy5jb2x1bW4gPSBjb2x1bW47XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgcG9pbnQgaXMgZXF1YWwgdG8gYW5vdGhlciBwb2ludC5cbiAgICAgKi9cbiAgICBlcXVhbHMocG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm93ID09PSBwb2ludC5yb3cgJiYgdGhpcy5jb2x1bW4gPT09IHBvaW50LmNvbHVtbjtcbiAgICB9XG59XG5leHBvcnRzLlBvaW50ID0gUG9pbnQ7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUmFuZ2UgPSB2b2lkIDA7XG4vKipcbiAqIEEgYFJhbmdlYCBvYmplY3QgcmVwcmVzZW50cyBhIHJhbmdlIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAqL1xuY2xhc3MgUmFuZ2Uge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgYFJhbmdlYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RhcnQgLSBUaGUgc3RhcnQgcG9pbnQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSBlbmQgLSBUaGUgZW5kIHBvaW50IG9mIHRoZSByYW5nZS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzdGFydCwgZW5kKSB7XG4gICAgICAgIHRoaXMuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgdGhpcy5lbmQgPSBlbmQ7XG4gICAgfVxufVxuZXhwb3J0cy5SYW5nZSA9IFJhbmdlO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkZvY3VzID0gdm9pZCAwO1xuLyoqXG4gKiBBIGBGb2N1c2Agb2JqZWN0IHJlcHJlc2VudHMgd2hpY2ggY2VsbCBpcyBmb2N1c2VkIGluIHRoZSB0YWJsZS5cbiAqXG4gKiBOb3RlIHRoYXQgYHJvd2AgYW5kIGBjb2x1bW5gIHByb3BlcnRpZXMgc3BlY2lmaXkgYSBjZWxsJ3MgcG9zaXRpb24gaW4gdGhlXG4gKiB0YWJsZSwgbm90IHRoZSBjdXJzb3IncyBwb3NpdGlvbiBpbiB0aGUgdGV4dCBlZGl0b3IgYXMge0BsaW5rIFBvaW50fSBjbGFzcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBGb2N1cyB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBgRm9jdXNgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb3cgLSBSb3cgb2YgdGhlIGZvY3VzZWQgY2VsbC5cbiAgICAgKiBAcGFyYW0gY29sdW1uIC0gQ29sdW1uIG9mIHRoZSBmb2N1c2VkIGNlbGwuXG4gICAgICogQHBhcmFtIG9mZnNldCAtIFJhdyBvZmZzZXQgaW4gdGhlIGNlbGwuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iocm93LCBjb2x1bW4sIG9mZnNldCkge1xuICAgICAgICB0aGlzLnJvdyA9IHJvdztcbiAgICAgICAgdGhpcy5jb2x1bW4gPSBjb2x1bW47XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gb2Zmc2V0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdHdvIGZvY3VzZXMgcG9pbnQgdGhlIHNhbWUgY2VsbC5cbiAgICAgKiBPZmZzZXRzIGFyZSBpZ25vcmVkLlxuICAgICAqL1xuICAgIHBvc0VxdWFscyhmb2N1cykge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3cgPT09IGZvY3VzLnJvdyAmJiB0aGlzLmNvbHVtbiA9PT0gZm9jdXMuY29sdW1uO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY29weSBvZiB0aGUgZm9jdXMgb2JqZWN0IGJ5IHNldHRpbmcgaXRzIHJvdyB0byB0aGUgc3BlY2lmaWVkIHZhbHVlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvdyAtIFJvdyBvZiB0aGUgZm9jdXNlZCBjZWxsLlxuICAgICAqIEByZXR1cm5zIEEgbmV3IGZvY3VzIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgcm93LlxuICAgICAqL1xuICAgIHNldFJvdyhyb3cpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGb2N1cyhyb3csIHRoaXMuY29sdW1uLCB0aGlzLm9mZnNldCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBmb2N1cyBvYmplY3QgYnkgc2V0dGluZyBpdHMgY29sdW1uIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29sdW1uIC0gQ29sdW1uIG9mIHRoZSBmb2N1c2VkIGNlbGwuXG4gICAgICogQHJldHVybnMgQSBuZXcgZm9jdXMgb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCBjb2x1bW4uXG4gICAgICovXG4gICAgc2V0Q29sdW1uKGNvbHVtbikge1xuICAgICAgICByZXR1cm4gbmV3IEZvY3VzKHRoaXMucm93LCBjb2x1bW4sIHRoaXMub2Zmc2V0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNvcHkgb2YgdGhlIGZvY3VzIG9iamVjdCBieSBzZXR0aW5nIGl0cyBvZmZzZXQgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZzZXQgLSBPZmZzZXQgaW4gdGhlIGZvY3VzZWQgY2VsbC5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBmb2N1cyBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIG9mZnNldC5cbiAgICAgKi9cbiAgICBzZXRPZmZzZXQob2Zmc2V0KSB7XG4gICAgICAgIHJldHVybiBuZXcgRm9jdXModGhpcy5yb3csIHRoaXMuY29sdW1uLCBvZmZzZXQpO1xuICAgIH1cbn1cbmV4cG9ydHMuRm9jdXMgPSBGb2N1cztcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5IZWFkZXJBbGlnbm1lbnQgPSBleHBvcnRzLkRlZmF1bHRBbGlnbm1lbnQgPSBleHBvcnRzLkFsaWdubWVudCA9IHZvaWQgMDtcbi8qKlxuICogUmVwcmVzZW50cyBjb2x1bW4gYWxpZ25tZW50LlxuICpcbiAqIC0gYEFsaWdubWVudC5OT05FYCAtIFVzZSBkZWZhdWx0IGFsaWdubWVudC5cbiAqIC0gYEFsaWdubWVudC5MRUZUYCAtIEFsaWduIGxlZnQuXG4gKiAtIGBBbGlnbm1lbnQuUklHSFRgIC0gQWxpZ24gcmlnaHQuXG4gKiAtIGBBbGlnbm1lbnQuQ0VOVEVSYCAtIEFsaWduIGNlbnRlci5cbiAqXG4gKi9cbnZhciBBbGlnbm1lbnQ7XG4oZnVuY3Rpb24gKEFsaWdubWVudCkge1xuICAgIEFsaWdubWVudFtcIk5PTkVcIl0gPSBcIm5vbmVcIjtcbiAgICBBbGlnbm1lbnRbXCJMRUZUXCJdID0gXCJsZWZ0XCI7XG4gICAgQWxpZ25tZW50W1wiUklHSFRcIl0gPSBcInJpZ2h0XCI7XG4gICAgQWxpZ25tZW50W1wiQ0VOVEVSXCJdID0gXCJjZW50ZXJcIjtcbn0pKEFsaWdubWVudCA9IGV4cG9ydHMuQWxpZ25tZW50IHx8IChleHBvcnRzLkFsaWdubWVudCA9IHt9KSk7XG4vKipcbiAqIFJlcHJlc2VudHMgZGVmYXVsdCBjb2x1bW4gYWxpZ25tZW50XG4gKlxuICogLSBgRGVmYXVsdEFsaWdubWVudC5MRUZUYCAtIEFsaWduIGxlZnQuXG4gKiAtIGBEZWZhdWx0QWxpZ25tZW50LlJJR0hUYCAtIEFsaWduIHJpZ2h0LlxuICogLSBgRGVmYXVsdEFsaWdubWVudC5DRU5URVJgIC0gQWxpZ24gY2VudGVyLlxuICpcbiAqL1xudmFyIERlZmF1bHRBbGlnbm1lbnQ7XG4oZnVuY3Rpb24gKERlZmF1bHRBbGlnbm1lbnQpIHtcbiAgICBEZWZhdWx0QWxpZ25tZW50W1wiTEVGVFwiXSA9IFwibGVmdFwiO1xuICAgIERlZmF1bHRBbGlnbm1lbnRbXCJSSUdIVFwiXSA9IFwicmlnaHRcIjtcbiAgICBEZWZhdWx0QWxpZ25tZW50W1wiQ0VOVEVSXCJdID0gXCJjZW50ZXJcIjtcbn0pKERlZmF1bHRBbGlnbm1lbnQgPSBleHBvcnRzLkRlZmF1bHRBbGlnbm1lbnQgfHwgKGV4cG9ydHMuRGVmYXVsdEFsaWdubWVudCA9IHt9KSk7XG4vKipcbiAqIFJlcHJlc2VudHMgYWxpZ25tZW50IG9mIGhlYWRlciBjZWxscy5cbiAqXG4gKiAtIGBIZWFkZXJBbGlnbm1lbnQuRk9MTE9XYCAtIEZvbGxvdyBjb2x1bW4ncyBhbGlnbm1lbnQuXG4gKiAtIGBIZWFkZXJBbGlnbm1lbnQuTEVGVGAgLSBBbGlnbiBsZWZ0LlxuICogLSBgSGVhZGVyQWxpZ25tZW50LlJJR0hUYCAtIEFsaWduIHJpZ2h0LlxuICogLSBgSGVhZGVyQWxpZ25tZW50LkNFTlRFUmAgLSBBbGlnbiBjZW50ZXIuXG4gKlxuICovXG52YXIgSGVhZGVyQWxpZ25tZW50O1xuKGZ1bmN0aW9uIChIZWFkZXJBbGlnbm1lbnQpIHtcbiAgICBIZWFkZXJBbGlnbm1lbnRbXCJGT0xMT1dcIl0gPSBcImZvbGxvd1wiO1xuICAgIEhlYWRlckFsaWdubWVudFtcIkxFRlRcIl0gPSBcImxlZnRcIjtcbiAgICBIZWFkZXJBbGlnbm1lbnRbXCJSSUdIVFwiXSA9IFwicmlnaHRcIjtcbiAgICBIZWFkZXJBbGlnbm1lbnRbXCJDRU5URVJcIl0gPSBcImNlbnRlclwiO1xufSkoSGVhZGVyQWxpZ25tZW50ID0gZXhwb3J0cy5IZWFkZXJBbGlnbm1lbnQgfHwgKGV4cG9ydHMuSGVhZGVyQWxpZ25tZW50ID0ge30pKTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UYWJsZUNlbGwgPSB2b2lkIDA7XG5jb25zdCBhbGlnbm1lbnRfMSA9IHJlcXVpcmUoXCIuL2FsaWdubWVudFwiKTtcbi8qKlxuICogQSBgVGFibGVDZWxsYCBvYmplY3QgcmVwcmVzZW50cyBhIHRhYmxlIGNlbGwuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY2xhc3MgVGFibGVDZWxsIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGBUYWJsZUNlbGxgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByYXdDb250ZW50IC0gUmF3IGNvbnRlbnQgb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocmF3Q29udGVudCkge1xuICAgICAgICB0aGlzLnJhd0NvbnRlbnQgPSByYXdDb250ZW50O1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSByYXdDb250ZW50LnRyaW0oKTtcbiAgICAgICAgdGhpcy5wYWRkaW5nTGVmdCA9XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQgPT09ICcnXG4gICAgICAgICAgICAgICAgPyB0aGlzLnJhd0NvbnRlbnQgPT09ICcnXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDFcbiAgICAgICAgICAgICAgICA6IHRoaXMucmF3Q29udGVudC5sZW5ndGggLSB0aGlzLnJhd0NvbnRlbnQudHJpbUxlZnQoKS5sZW5ndGg7XG4gICAgICAgIHRoaXMucGFkZGluZ1JpZ2h0ID1cbiAgICAgICAgICAgIHRoaXMucmF3Q29udGVudC5sZW5ndGggLSB0aGlzLmNvbnRlbnQubGVuZ3RoIC0gdGhpcy5wYWRkaW5nTGVmdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29udmVycyB0aGUgY2VsbCB0byBhIHRleHQgcmVwcmVzZW50YXRpb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgcmF3IGNvbnRlbnQgb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgdG9UZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yYXdDb250ZW50O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGNlbGwgaXMgYSBkZWxpbWl0ZXIgaS5lLiBpdCBvbmx5IGNvbnRhaW5zIGh5cGhlbnMgYC1gIHdpdGggb3B0aW9uYWwgb25lXG4gICAgICogbGVhZGluZyBhbmQgdHJhaWxpbmcgY29sb25zIGA6YC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY2VsbCBpcyBhIGRlbGltaXRlci5cbiAgICAgKi9cbiAgICBpc0RlbGltaXRlcigpIHtcbiAgICAgICAgcmV0dXJuIC9eXFxzKjo/LSs6P1xccyokLy50ZXN0KHRoaXMucmF3Q29udGVudCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGFsaWdubWVudCB0aGUgY2VsbCByZXByZXNlbnRzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIGFsaWdubWVudCB0aGUgY2VsbCByZXByZXNlbnRzOyBgdW5kZWZpbmVkYCBpZiB0aGUgY2VsbCBpcyBub3QgYSBkZWxpbWl0ZXIuXG4gICAgICovXG4gICAgZ2V0QWxpZ25tZW50KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNEZWxpbWl0ZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250ZW50WzBdID09PSAnOicpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRbdGhpcy5jb250ZW50Lmxlbmd0aCAtIDFdID09PSAnOicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWxpZ25tZW50XzEuQWxpZ25tZW50LkNFTlRFUjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTEVGVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250ZW50W3RoaXMuY29udGVudC5sZW5ndGggLSAxXSA9PT0gJzonKSB7XG4gICAgICAgICAgICByZXR1cm4gYWxpZ25tZW50XzEuQWxpZ25tZW50LlJJR0hUO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTk9ORTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgYSByZWxhdGl2ZSBwb3NpdGlvbiBpbiB0aGUgdHJpbW1lZCBjb250ZW50IGZyb20gdGhhdCBpbiB0aGUgcmF3IGNvbnRlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmF3T2Zmc2V0IC0gUmVsYXRpdmUgcG9zaXRpb24gaW4gdGhlIHJhdyBjb250ZW50LlxuICAgICAqIEByZXR1cm5zIC0gUmVsYXRpdmUgcG9zaXRpb24gaW4gdGhlIHRyaW1tZWQgY29udGVudC5cbiAgICAgKi9cbiAgICBjb21wdXRlQ29udGVudE9mZnNldChyYXdPZmZzZXQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudCA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyYXdPZmZzZXQgPCB0aGlzLnBhZGRpbmdMZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmF3T2Zmc2V0IDwgdGhpcy5wYWRkaW5nTGVmdCArIHRoaXMuY29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByYXdPZmZzZXQgLSB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQubGVuZ3RoO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBhIHJlbGF0aXZlIHBvc2l0aW9uIGluIHRoZSByYXcgY29udGVudCBmcm9tIHRoYXQgaW4gdGhlIHRyaW1tZWQgY29udGVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZW50T2Zmc2V0IC0gUmVsYXRpdmUgcG9zaXRpb24gaW4gdGhlIHRyaW1tZWQgY29udGVudC5cbiAgICAgKiBAcmV0dXJucyAtIFJlbGF0aXZlIHBvc2l0aW9uIGluIHRoZSByYXcgY29udGVudC5cbiAgICAgKi9cbiAgICBjb21wdXRlUmF3T2Zmc2V0KGNvbnRlbnRPZmZzZXQpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnRPZmZzZXQgKyB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgIH1cbn1cbmV4cG9ydHMuVGFibGVDZWxsID0gVGFibGVDZWxsO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlRhYmxlUm93ID0gdm9pZCAwO1xuY29uc3QgdGFibGVfY2VsbF8xID0gcmVxdWlyZShcIi4vdGFibGUtY2VsbFwiKTtcbi8qKlxuICogQSBgVGFibGVSb3dgIG9iamVjdCByZXByZXNlbnRzIGEgdGFibGUgcm93LlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIFRhYmxlUm93IHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGBUYWJsZVJvd2Agb2JqZWMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2VsbHMgLSBDZWxscyB0aGF0IHRoZSByb3cgY29udGFpbnMuXG4gICAgICogQHBhcmFtIG1hcmdpbkxlZnQgLSBNYXJnaW4gc3RyaW5nIGF0IHRoZSBsZWZ0IG9mIHRoZSByb3cuXG4gICAgICogQHBhcmFtIG1hcmdpblJpZ2h0IC0gTWFyZ2luIHN0cmluZyBhdCB0aGUgcmlnaHQgb2YgdGhlIHJvdy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihjZWxscywgbWFyZ2luTGVmdCwgbWFyZ2luUmlnaHQpIHtcbiAgICAgICAgdGhpcy5fY2VsbHMgPSBjZWxscy5zbGljZSgpO1xuICAgICAgICB0aGlzLm1hcmdpbkxlZnQgPSBtYXJnaW5MZWZ0O1xuICAgICAgICB0aGlzLm1hcmdpblJpZ2h0ID0gbWFyZ2luUmlnaHQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG51bWJlciBvZiB0aGUgY2VsbHMgaW4gdGhlIHJvdy5cbiAgICAgKi9cbiAgICBnZXRXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NlbGxzLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY2VsbHMgdGhhdCB0aGUgcm93IGNvbnRhaW5zLlxuICAgICAqL1xuICAgIGdldENlbGxzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2VsbHMuc2xpY2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyBhIGNlbGwgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbmRleCAtIEluZGV4LlxuICAgICAqIEByZXR1cm5zIFRoZSBjZWxsIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggaWYgZXhpc3RzOyBgdW5kZWZpbmVkYCBpZiBubyBjZWxsIGlzIGZvdW5kLlxuICAgICAqL1xuICAgIGdldENlbGxBdChpbmRleCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2VsbHNbaW5kZXhdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgY2VsbCBpbiB0aGUgcm93IHRvIGEgbmV3IHZhbHVlLCByZXR1cm5pbmcgYSBjb3B5IG9mIHRoZSByb3dcbiAgICAgKiB3aXRoIHRoZSBtb2RpZmllZCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIElmIGFuIGludmFsaWQgaW5kZXggaXMgcHJvdmlkZWQsIHRoZSByb3cgd2lsbCBiZSB1bmNoYW5nZWQuXG4gICAgICovXG4gICAgc2V0Q2VsbEF0KGluZGV4LCB2YWx1ZSkge1xuICAgICAgICBjb25zdCBjZWxscyA9IHRoaXMuZ2V0Q2VsbHMoKTsgLy8gYSBjb3B5XG4gICAgICAgIGNlbGxzW2luZGV4XSA9IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZVJvdyhjZWxscywgdGhpcy5tYXJnaW5MZWZ0LCB0aGlzLm1hcmdpblJpZ2h0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29udmVycyB0aGUgcm93IHRvIGEgdGV4dCByZXByZXNlbnRhdGlvbi5cbiAgICAgKi9cbiAgICB0b1RleHQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9jZWxscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1hcmdpbkxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2VsbHMgPSB0aGlzLl9jZWxscy5tYXAoKGNlbGwpID0+IGNlbGwudG9UZXh0KCkpLmpvaW4oJ3wnKTtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMubWFyZ2luTGVmdH18JHtjZWxsc318JHt0aGlzLm1hcmdpblJpZ2h0fWA7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgcm93IGlzIGEgZGVsaW1pdGVyIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcm93IGlzIGEgZGVsaW1pdGVyIGkuZS4gYWxsIHRoZSBjZWxscyBjb250YWluZWQgYXJlIGRlbGltaXRlcnMuXG4gICAgICovXG4gICAgaXNEZWxpbWl0ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jZWxscy5ldmVyeSgoY2VsbCkgPT4gY2VsbC5pc0RlbGltaXRlcigpKTtcbiAgICB9XG59XG5leHBvcnRzLlRhYmxlUm93ID0gVGFibGVSb3c7XG4iLCJcInVzZSBzdHJpY3RcIjtcbi8qKlxuICogUmV0cmlldmVkIGZyb21cbiAqICAgaHR0cHM6Ly9naXRodWIuY29tL3N1cGVybWFjcm8vbmV2ZXJ0aHJvd1xuICpcbiAqIE1JVCBMaWNlbnNlXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgR2lvcmdpbyBEZWxnYWRvXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuRXJyID0gZXhwb3J0cy5PayA9IGV4cG9ydHMuZXJyID0gZXhwb3J0cy5vayA9IHZvaWQgMDtcbmNvbnN0IG9rID0gKHZhbHVlKSA9PiBuZXcgT2sodmFsdWUpO1xuZXhwb3J0cy5vayA9IG9rO1xuY29uc3QgZXJyID0gKGVycikgPT4gbmV3IEVycihlcnIpO1xuZXhwb3J0cy5lcnIgPSBlcnI7XG5jbGFzcyBPayB7XG4gICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm1hdGNoID0gKG9rLCBfZXJyKSA9PiBvayh0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgaXNPaygpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlzRXJyKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNPaygpO1xuICAgIH1cbiAgICBtYXAoZikge1xuICAgICAgICByZXR1cm4gZXhwb3J0cy5vayhmKHRoaXMudmFsdWUpKTtcbiAgICB9XG4gICAgbWFwRXJyKF9mKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLm9rKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICAvLyBhZGQgaW5mbyBvbiBob3cgdGhpcyBpcyByZWFsbHkgdXNlZnVsIGZvciBjb252ZXJ0aW5nIGFcbiAgICAvLyBSZXN1bHQ8UmVzdWx0PFQsIEUyPiwgRTE+XG4gICAgLy8gaW50byBhIFJlc3VsdDxULCBFMj5cbiAgICBhbmRUaGVuKGYpIHtcbiAgICAgICAgcmV0dXJuIGYodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHVud3JhcE9yKF92KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICBfdW5zYWZlVW53cmFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG4gICAgX3Vuc2FmZVVud3JhcEVycigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsZWQgYF91bnNhZmVVbndyYXBFcnJgIG9uIGFuIE9rJyk7XG4gICAgfVxufVxuZXhwb3J0cy5PayA9IE9rO1xuY2xhc3MgRXJyIHtcbiAgICBjb25zdHJ1Y3RvcihlcnJvcikge1xuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMubWF0Y2ggPSAoX29rLCBlcnIpID0+IGVycih0aGlzLmVycm9yKTtcbiAgICB9XG4gICAgaXNPaygpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpc0VycigpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzT2soKTtcbiAgICB9XG4gICAgbWFwKF9mKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLmVycih0aGlzLmVycm9yKTtcbiAgICB9XG4gICAgbWFwRXJyKGYpIHtcbiAgICAgICAgcmV0dXJuIGV4cG9ydHMuZXJyKGYodGhpcy5lcnJvcikpO1xuICAgIH1cbiAgICBhbmRUaGVuKF9mKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLmVycih0aGlzLmVycm9yKTtcbiAgICB9XG4gICAgdW53cmFwT3Iodikge1xuICAgICAgICByZXR1cm4gdjtcbiAgICB9XG4gICAgX3Vuc2FmZVVud3JhcCgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsZWQgYF91bnNhZmVVbndyYXBgIG9uIGFuIEVycicpO1xuICAgIH1cbiAgICBfdW5zYWZlVW53cmFwRXJyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lcnJvcjtcbiAgICB9XG59XG5leHBvcnRzLkVyciA9IEVycjtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wcmV0dHlQcmludEFTVCA9IGV4cG9ydHMuY2hlY2tDaGlsZExlbmd0aCA9IGV4cG9ydHMuY2hlY2tUeXBlID0gZXhwb3J0cy5lcnJSZWxhdGl2ZVJlZmVyZW5jZUluZGV4ID0gZXhwb3J0cy5lcnJJbmRleDAgPSB2b2lkIDA7XG5leHBvcnRzLmVyckluZGV4MCA9IG5ldyBFcnJvcignSW5kZXggMCB1c2VkIHRvIGNyZWF0ZSBhIHJlZmVyZW5jZScpO1xuZXhwb3J0cy5lcnJSZWxhdGl2ZVJlZmVyZW5jZUluZGV4ID0gbmV3IEVycm9yKCdDYW4gbm90IHVzZSByZWxhdGl2ZSByZWZlcmVuY2Ugd2hlcmUgYWJzb2x1dGUgcmVmZXJlbmNlIGlzIHJlcXVpcmVkJyk7XG5jb25zdCBjaGVja1R5cGUgPSAoYXN0LCAuLi5leHBlY3RlZFR5cGVzKSA9PiB7XG4gICAgaWYgKGV4cGVjdGVkVHlwZXMuaW5kZXhPZihhc3QudHlwZSkgPj0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoYEZvcm11bGEgZWxlbWVudCAnJHthc3QudGV4dH0nIGlzIGEgJHthc3QudHlwZX0gYnV0IGV4cGVjdGVkIGAgK1xuICAgICAgICBgb25lIG9mICR7ZXhwZWN0ZWRUeXBlc30gaW4gdGhpcyBwb3NpdGlvbi5gKTtcbn07XG5leHBvcnRzLmNoZWNrVHlwZSA9IGNoZWNrVHlwZTtcbmNvbnN0IGNoZWNrQ2hpbGRMZW5ndGggPSAoYXN0LCBsZW4pID0+IHtcbiAgICBpZiAoYXN0LmNoaWxkcmVuLmxlbmd0aCA9PT0gbGVuKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBFcnJvcihgRm9ybXVsYSBlbGVtZW50ICcke2FzdC50ZXh0fScgd2FzIGV4cGVjdGVkIHRvIGhhdmUgJHtsZW59IGAgK1xuICAgICAgICBgZWxlbWVudHMsIGJ1dCBoYWQgJHthc3QuY2hpbGRyZW4ubGVuZ3RofWApO1xufTtcbmV4cG9ydHMuY2hlY2tDaGlsZExlbmd0aCA9IGNoZWNrQ2hpbGRMZW5ndGg7XG5jb25zdCBwcmV0dHlQcmludEFTVCA9ICh0b2tlbiwgbGV2ZWwgPSAwKSA9PiB7XG4gICAgY29uc29sZS5sb2coJyAgJy5yZXBlYXQobGV2ZWwpICtcbiAgICAgICAgYHwtJHt0b2tlbi50eXBlfSR7dG9rZW4uY2hpbGRyZW4ubGVuZ3RoID09PSAwID8gJz0nICsgdG9rZW4udGV4dCA6ICcnfWApO1xuICAgIGlmICh0b2tlbi5jaGlsZHJlbikge1xuICAgICAgICB0b2tlbi5jaGlsZHJlbi5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICBleHBvcnRzLnByZXR0eVByaW50QVNUKGMsIGxldmVsICsgMSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5leHBvcnRzLnByZXR0eVByaW50QVNUID0gcHJldHR5UHJpbnRBU1Q7XG4iLCIvKipcbiAqIEBsaWNlbnNlXG4gKiBMb2Rhc2ggPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBDb3B5cmlnaHQgT3BlbkpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyA8aHR0cHM6Ly9vcGVuanNmLm9yZy8+XG4gKiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+XG4gKiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPlxuICogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzXG4gKi9cbjsoZnVuY3Rpb24oKSB7XG5cbiAgLyoqIFVzZWQgYXMgYSBzYWZlIHJlZmVyZW5jZSBmb3IgYHVuZGVmaW5lZGAgaW4gcHJlLUVTNSBlbnZpcm9ubWVudHMuICovXG4gIHZhciB1bmRlZmluZWQ7XG5cbiAgLyoqIFVzZWQgYXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyLiAqL1xuICB2YXIgVkVSU0lPTiA9ICc0LjE3LjIwJztcblxuICAvKiogVXNlZCBhcyB0aGUgc2l6ZSB0byBlbmFibGUgbGFyZ2UgYXJyYXkgb3B0aW1pemF0aW9ucy4gKi9cbiAgdmFyIExBUkdFX0FSUkFZX1NJWkUgPSAyMDA7XG5cbiAgLyoqIEVycm9yIG1lc3NhZ2UgY29uc3RhbnRzLiAqL1xuICB2YXIgQ09SRV9FUlJPUl9URVhUID0gJ1Vuc3VwcG9ydGVkIGNvcmUtanMgdXNlLiBUcnkgaHR0cHM6Ly9ucG1zLmlvL3NlYXJjaD9xPXBvbnlmaWxsLicsXG4gICAgICBGVU5DX0VSUk9SX1RFWFQgPSAnRXhwZWN0ZWQgYSBmdW5jdGlvbic7XG5cbiAgLyoqIFVzZWQgdG8gc3RhbmQtaW4gZm9yIGB1bmRlZmluZWRgIGhhc2ggdmFsdWVzLiAqL1xuICB2YXIgSEFTSF9VTkRFRklORUQgPSAnX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyc7XG5cbiAgLyoqIFVzZWQgYXMgdGhlIG1heGltdW0gbWVtb2l6ZSBjYWNoZSBzaXplLiAqL1xuICB2YXIgTUFYX01FTU9JWkVfU0laRSA9IDUwMDtcblxuICAvKiogVXNlZCBhcyB0aGUgaW50ZXJuYWwgYXJndW1lbnQgcGxhY2Vob2xkZXIuICovXG4gIHZhciBQTEFDRUhPTERFUiA9ICdfX2xvZGFzaF9wbGFjZWhvbGRlcl9fJztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIGJpdG1hc2tzIGZvciBjbG9uaW5nLiAqL1xuICB2YXIgQ0xPTkVfREVFUF9GTEFHID0gMSxcbiAgICAgIENMT05FX0ZMQVRfRkxBRyA9IDIsXG4gICAgICBDTE9ORV9TWU1CT0xTX0ZMQUcgPSA0O1xuXG4gIC8qKiBVc2VkIHRvIGNvbXBvc2UgYml0bWFza3MgZm9yIHZhbHVlIGNvbXBhcmlzb25zLiAqL1xuICB2YXIgQ09NUEFSRV9QQVJUSUFMX0ZMQUcgPSAxLFxuICAgICAgQ09NUEFSRV9VTk9SREVSRURfRkxBRyA9IDI7XG5cbiAgLyoqIFVzZWQgdG8gY29tcG9zZSBiaXRtYXNrcyBmb3IgZnVuY3Rpb24gbWV0YWRhdGEuICovXG4gIHZhciBXUkFQX0JJTkRfRkxBRyA9IDEsXG4gICAgICBXUkFQX0JJTkRfS0VZX0ZMQUcgPSAyLFxuICAgICAgV1JBUF9DVVJSWV9CT1VORF9GTEFHID0gNCxcbiAgICAgIFdSQVBfQ1VSUllfRkxBRyA9IDgsXG4gICAgICBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcgPSAxNixcbiAgICAgIFdSQVBfUEFSVElBTF9GTEFHID0gMzIsXG4gICAgICBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyA9IDY0LFxuICAgICAgV1JBUF9BUllfRkxBRyA9IDEyOCxcbiAgICAgIFdSQVBfUkVBUkdfRkxBRyA9IDI1NixcbiAgICAgIFdSQVBfRkxJUF9GTEFHID0gNTEyO1xuXG4gIC8qKiBVc2VkIGFzIGRlZmF1bHQgb3B0aW9ucyBmb3IgYF8udHJ1bmNhdGVgLiAqL1xuICB2YXIgREVGQVVMVF9UUlVOQ19MRU5HVEggPSAzMCxcbiAgICAgIERFRkFVTFRfVFJVTkNfT01JU1NJT04gPSAnLi4uJztcblxuICAvKiogVXNlZCB0byBkZXRlY3QgaG90IGZ1bmN0aW9ucyBieSBudW1iZXIgb2YgY2FsbHMgd2l0aGluIGEgc3BhbiBvZiBtaWxsaXNlY29uZHMuICovXG4gIHZhciBIT1RfQ09VTlQgPSA4MDAsXG4gICAgICBIT1RfU1BBTiA9IDE2O1xuXG4gIC8qKiBVc2VkIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIGxhenkgaXRlcmF0ZWVzLiAqL1xuICB2YXIgTEFaWV9GSUxURVJfRkxBRyA9IDEsXG4gICAgICBMQVpZX01BUF9GTEFHID0gMixcbiAgICAgIExBWllfV0hJTEVfRkxBRyA9IDM7XG5cbiAgLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG4gIHZhciBJTkZJTklUWSA9IDEgLyAwLFxuICAgICAgTUFYX1NBRkVfSU5URUdFUiA9IDkwMDcxOTkyNTQ3NDA5OTEsXG4gICAgICBNQVhfSU5URUdFUiA9IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4LFxuICAgICAgTkFOID0gMCAvIDA7XG5cbiAgLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdGhlIG1heGltdW0gbGVuZ3RoIGFuZCBpbmRleCBvZiBhbiBhcnJheS4gKi9cbiAgdmFyIE1BWF9BUlJBWV9MRU5HVEggPSA0Mjk0OTY3Mjk1LFxuICAgICAgTUFYX0FSUkFZX0lOREVYID0gTUFYX0FSUkFZX0xFTkdUSCAtIDEsXG4gICAgICBIQUxGX01BWF9BUlJBWV9MRU5HVEggPSBNQVhfQVJSQVlfTEVOR1RIID4+PiAxO1xuXG4gIC8qKiBVc2VkIHRvIGFzc29jaWF0ZSB3cmFwIG1ldGhvZHMgd2l0aCB0aGVpciBiaXQgZmxhZ3MuICovXG4gIHZhciB3cmFwRmxhZ3MgPSBbXG4gICAgWydhcnknLCBXUkFQX0FSWV9GTEFHXSxcbiAgICBbJ2JpbmQnLCBXUkFQX0JJTkRfRkxBR10sXG4gICAgWydiaW5kS2V5JywgV1JBUF9CSU5EX0tFWV9GTEFHXSxcbiAgICBbJ2N1cnJ5JywgV1JBUF9DVVJSWV9GTEFHXSxcbiAgICBbJ2N1cnJ5UmlnaHQnLCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUddLFxuICAgIFsnZmxpcCcsIFdSQVBfRkxJUF9GTEFHXSxcbiAgICBbJ3BhcnRpYWwnLCBXUkFQX1BBUlRJQUxfRkxBR10sXG4gICAgWydwYXJ0aWFsUmlnaHQnLCBXUkFQX1BBUlRJQUxfUklHSFRfRkxBR10sXG4gICAgWydyZWFyZycsIFdSQVBfUkVBUkdfRkxBR11cbiAgXTtcblxuICAvKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG4gIHZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXScsXG4gICAgICBhcnJheVRhZyA9ICdbb2JqZWN0IEFycmF5XScsXG4gICAgICBhc3luY1RhZyA9ICdbb2JqZWN0IEFzeW5jRnVuY3Rpb25dJyxcbiAgICAgIGJvb2xUYWcgPSAnW29iamVjdCBCb29sZWFuXScsXG4gICAgICBkYXRlVGFnID0gJ1tvYmplY3QgRGF0ZV0nLFxuICAgICAgZG9tRXhjVGFnID0gJ1tvYmplY3QgRE9NRXhjZXB0aW9uXScsXG4gICAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXScsXG4gICAgICBmdW5jVGFnID0gJ1tvYmplY3QgRnVuY3Rpb25dJyxcbiAgICAgIGdlblRhZyA9ICdbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXScsXG4gICAgICBtYXBUYWcgPSAnW29iamVjdCBNYXBdJyxcbiAgICAgIG51bWJlclRhZyA9ICdbb2JqZWN0IE51bWJlcl0nLFxuICAgICAgbnVsbFRhZyA9ICdbb2JqZWN0IE51bGxdJyxcbiAgICAgIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nLFxuICAgICAgcHJvbWlzZVRhZyA9ICdbb2JqZWN0IFByb21pc2VdJyxcbiAgICAgIHByb3h5VGFnID0gJ1tvYmplY3QgUHJveHldJyxcbiAgICAgIHJlZ2V4cFRhZyA9ICdbb2JqZWN0IFJlZ0V4cF0nLFxuICAgICAgc2V0VGFnID0gJ1tvYmplY3QgU2V0XScsXG4gICAgICBzdHJpbmdUYWcgPSAnW29iamVjdCBTdHJpbmddJyxcbiAgICAgIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nLFxuICAgICAgdW5kZWZpbmVkVGFnID0gJ1tvYmplY3QgVW5kZWZpbmVkXScsXG4gICAgICB3ZWFrTWFwVGFnID0gJ1tvYmplY3QgV2Vha01hcF0nLFxuICAgICAgd2Vha1NldFRhZyA9ICdbb2JqZWN0IFdlYWtTZXRdJztcblxuICB2YXIgYXJyYXlCdWZmZXJUYWcgPSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nLFxuICAgICAgZGF0YVZpZXdUYWcgPSAnW29iamVjdCBEYXRhVmlld10nLFxuICAgICAgZmxvYXQzMlRhZyA9ICdbb2JqZWN0IEZsb2F0MzJBcnJheV0nLFxuICAgICAgZmxvYXQ2NFRhZyA9ICdbb2JqZWN0IEZsb2F0NjRBcnJheV0nLFxuICAgICAgaW50OFRhZyA9ICdbb2JqZWN0IEludDhBcnJheV0nLFxuICAgICAgaW50MTZUYWcgPSAnW29iamVjdCBJbnQxNkFycmF5XScsXG4gICAgICBpbnQzMlRhZyA9ICdbb2JqZWN0IEludDMyQXJyYXldJyxcbiAgICAgIHVpbnQ4VGFnID0gJ1tvYmplY3QgVWludDhBcnJheV0nLFxuICAgICAgdWludDhDbGFtcGVkVGFnID0gJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICAgIHVpbnQxNlRhZyA9ICdbb2JqZWN0IFVpbnQxNkFycmF5XScsXG4gICAgICB1aW50MzJUYWcgPSAnW29iamVjdCBVaW50MzJBcnJheV0nO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGVtcHR5IHN0cmluZyBsaXRlcmFscyBpbiBjb21waWxlZCB0ZW1wbGF0ZSBzb3VyY2UuICovXG4gIHZhciByZUVtcHR5U3RyaW5nTGVhZGluZyA9IC9cXGJfX3AgXFwrPSAnJzsvZyxcbiAgICAgIHJlRW1wdHlTdHJpbmdNaWRkbGUgPSAvXFxiKF9fcCBcXCs9KSAnJyBcXCsvZyxcbiAgICAgIHJlRW1wdHlTdHJpbmdUcmFpbGluZyA9IC8oX19lXFwoLio/XFwpfFxcYl9fdFxcKSkgXFwrXFxuJyc7L2c7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggSFRNTCBlbnRpdGllcyBhbmQgSFRNTCBjaGFyYWN0ZXJzLiAqL1xuICB2YXIgcmVFc2NhcGVkSHRtbCA9IC8mKD86YW1wfGx0fGd0fHF1b3R8IzM5KTsvZyxcbiAgICAgIHJlVW5lc2NhcGVkSHRtbCA9IC9bJjw+XCInXS9nLFxuICAgICAgcmVIYXNFc2NhcGVkSHRtbCA9IFJlZ0V4cChyZUVzY2FwZWRIdG1sLnNvdXJjZSksXG4gICAgICByZUhhc1VuZXNjYXBlZEh0bWwgPSBSZWdFeHAocmVVbmVzY2FwZWRIdG1sLnNvdXJjZSk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbiAgdmFyIHJlRXNjYXBlID0gLzwlLShbXFxzXFxTXSs/KSU+L2csXG4gICAgICByZUV2YWx1YXRlID0gLzwlKFtcXHNcXFNdKz8pJT4vZyxcbiAgICAgIHJlSW50ZXJwb2xhdGUgPSAvPCU9KFtcXHNcXFNdKz8pJT4vZztcblxuICAvKiogVXNlZCB0byBtYXRjaCBwcm9wZXJ0eSBuYW1lcyB3aXRoaW4gcHJvcGVydHkgcGF0aHMuICovXG4gIHZhciByZUlzRGVlcFByb3AgPSAvXFwufFxcWyg/OlteW1xcXV0qfChbXCInXSkoPzooPyFcXDEpW15cXFxcXXxcXFxcLikqP1xcMSlcXF0vLFxuICAgICAgcmVJc1BsYWluUHJvcCA9IC9eXFx3KiQvLFxuICAgICAgcmVQcm9wTmFtZSA9IC9bXi5bXFxdXSt8XFxbKD86KC0/XFxkKyg/OlxcLlxcZCspPyl8KFtcIiddKSgoPzooPyFcXDIpW15cXFxcXXxcXFxcLikqPylcXDIpXFxdfCg/PSg/OlxcLnxcXFtcXF0pKD86XFwufFxcW1xcXXwkKSkvZztcblxuICAvKipcbiAgICogVXNlZCB0byBtYXRjaCBgUmVnRXhwYFxuICAgKiBbc3ludGF4IGNoYXJhY3RlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXBhdHRlcm5zKS5cbiAgICovXG4gIHZhciByZVJlZ0V4cENoYXIgPSAvW1xcXFxeJC4qKz8oKVtcXF17fXxdL2csXG4gICAgICByZUhhc1JlZ0V4cENoYXIgPSBSZWdFeHAocmVSZWdFeHBDaGFyLnNvdXJjZSk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZS4gKi9cbiAgdmFyIHJlVHJpbSA9IC9eXFxzK3xcXHMrJC9nLFxuICAgICAgcmVUcmltU3RhcnQgPSAvXlxccysvLFxuICAgICAgcmVUcmltRW5kID0gL1xccyskLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB3cmFwIGRldGFpbCBjb21tZW50cy4gKi9cbiAgdmFyIHJlV3JhcENvbW1lbnQgPSAvXFx7KD86XFxuXFwvXFwqIFxcW3dyYXBwZWQgd2l0aCAuK1xcXSBcXCpcXC8pP1xcbj8vLFxuICAgICAgcmVXcmFwRGV0YWlscyA9IC9cXHtcXG5cXC9cXCogXFxbd3JhcHBlZCB3aXRoICguKylcXF0gXFwqLyxcbiAgICAgIHJlU3BsaXREZXRhaWxzID0gLyw/ICYgLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB3b3JkcyBjb21wb3NlZCBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycy4gKi9cbiAgdmFyIHJlQXNjaWlXb3JkID0gL1teXFx4MDAtXFx4MmZcXHgzYS1cXHg0MFxceDViLVxceDYwXFx4N2ItXFx4N2ZdKy9nO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGJhY2tzbGFzaGVzIGluIHByb3BlcnR5IHBhdGhzLiAqL1xuICB2YXIgcmVFc2NhcGVDaGFyID0gL1xcXFwoXFxcXCk/L2c7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWF0Y2hcbiAgICogW0VTIHRlbXBsYXRlIGRlbGltaXRlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRlbXBsYXRlLWxpdGVyYWwtbGV4aWNhbC1jb21wb25lbnRzKS5cbiAgICovXG4gIHZhciByZUVzVGVtcGxhdGUgPSAvXFwkXFx7KFteXFxcXH1dKig/OlxcXFwuW15cXFxcfV0qKSopXFx9L2c7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggYFJlZ0V4cGAgZmxhZ3MgZnJvbSB0aGVpciBjb2VyY2VkIHN0cmluZyB2YWx1ZXMuICovXG4gIHZhciByZUZsYWdzID0gL1xcdyokLztcblxuICAvKiogVXNlZCB0byBkZXRlY3QgYmFkIHNpZ25lZCBoZXhhZGVjaW1hbCBzdHJpbmcgdmFsdWVzLiAqL1xuICB2YXIgcmVJc0JhZEhleCA9IC9eWy0rXTB4WzAtOWEtZl0rJC9pO1xuXG4gIC8qKiBVc2VkIHRvIGRldGVjdCBiaW5hcnkgc3RyaW5nIHZhbHVlcy4gKi9cbiAgdmFyIHJlSXNCaW5hcnkgPSAvXjBiWzAxXSskL2k7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IGhvc3QgY29uc3RydWN0b3JzIChTYWZhcmkpLiAqL1xuICB2YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcblxuICAvKiogVXNlZCB0byBkZXRlY3Qgb2N0YWwgc3RyaW5nIHZhbHVlcy4gKi9cbiAgdmFyIHJlSXNPY3RhbCA9IC9eMG9bMC03XSskL2k7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IHVuc2lnbmVkIGludGVnZXIgdmFsdWVzLiAqL1xuICB2YXIgcmVJc1VpbnQgPSAvXig/OjB8WzEtOV1cXGQqKSQvO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIExhdGluIFVuaWNvZGUgbGV0dGVycyAoZXhjbHVkaW5nIG1hdGhlbWF0aWNhbCBvcGVyYXRvcnMpLiAqL1xuICB2YXIgcmVMYXRpbiA9IC9bXFx4YzAtXFx4ZDZcXHhkOC1cXHhmNlxceGY4LVxceGZmXFx1MDEwMC1cXHUwMTdmXS9nO1xuXG4gIC8qKiBVc2VkIHRvIGVuc3VyZSBjYXB0dXJpbmcgb3JkZXIgb2YgdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbiAgdmFyIHJlTm9NYXRjaCA9IC8oJF4pLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB1bmVzY2FwZWQgY2hhcmFjdGVycyBpbiBjb21waWxlZCBzdHJpbmcgbGl0ZXJhbHMuICovXG4gIHZhciByZVVuZXNjYXBlZFN0cmluZyA9IC9bJ1xcblxcclxcdTIwMjhcXHUyMDI5XFxcXF0vZztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIHVuaWNvZGUgY2hhcmFjdGVyIGNsYXNzZXMuICovXG4gIHZhciByc0FzdHJhbFJhbmdlID0gJ1xcXFx1ZDgwMC1cXFxcdWRmZmYnLFxuICAgICAgcnNDb21ib01hcmtzUmFuZ2UgPSAnXFxcXHUwMzAwLVxcXFx1MDM2ZicsXG4gICAgICByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgPSAnXFxcXHVmZTIwLVxcXFx1ZmUyZicsXG4gICAgICByc0NvbWJvU3ltYm9sc1JhbmdlID0gJ1xcXFx1MjBkMC1cXFxcdTIwZmYnLFxuICAgICAgcnNDb21ib1JhbmdlID0gcnNDb21ib01hcmtzUmFuZ2UgKyByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgKyByc0NvbWJvU3ltYm9sc1JhbmdlLFxuICAgICAgcnNEaW5nYmF0UmFuZ2UgPSAnXFxcXHUyNzAwLVxcXFx1MjdiZicsXG4gICAgICByc0xvd2VyUmFuZ2UgPSAnYS16XFxcXHhkZi1cXFxceGY2XFxcXHhmOC1cXFxceGZmJyxcbiAgICAgIHJzTWF0aE9wUmFuZ2UgPSAnXFxcXHhhY1xcXFx4YjFcXFxceGQ3XFxcXHhmNycsXG4gICAgICByc05vbkNoYXJSYW5nZSA9ICdcXFxceDAwLVxcXFx4MmZcXFxceDNhLVxcXFx4NDBcXFxceDViLVxcXFx4NjBcXFxceDdiLVxcXFx4YmYnLFxuICAgICAgcnNQdW5jdHVhdGlvblJhbmdlID0gJ1xcXFx1MjAwMC1cXFxcdTIwNmYnLFxuICAgICAgcnNTcGFjZVJhbmdlID0gJyBcXFxcdFxcXFx4MGJcXFxcZlxcXFx4YTBcXFxcdWZlZmZcXFxcblxcXFxyXFxcXHUyMDI4XFxcXHUyMDI5XFxcXHUxNjgwXFxcXHUxODBlXFxcXHUyMDAwXFxcXHUyMDAxXFxcXHUyMDAyXFxcXHUyMDAzXFxcXHUyMDA0XFxcXHUyMDA1XFxcXHUyMDA2XFxcXHUyMDA3XFxcXHUyMDA4XFxcXHUyMDA5XFxcXHUyMDBhXFxcXHUyMDJmXFxcXHUyMDVmXFxcXHUzMDAwJyxcbiAgICAgIHJzVXBwZXJSYW5nZSA9ICdBLVpcXFxceGMwLVxcXFx4ZDZcXFxceGQ4LVxcXFx4ZGUnLFxuICAgICAgcnNWYXJSYW5nZSA9ICdcXFxcdWZlMGVcXFxcdWZlMGYnLFxuICAgICAgcnNCcmVha1JhbmdlID0gcnNNYXRoT3BSYW5nZSArIHJzTm9uQ2hhclJhbmdlICsgcnNQdW5jdHVhdGlvblJhbmdlICsgcnNTcGFjZVJhbmdlO1xuXG4gIC8qKiBVc2VkIHRvIGNvbXBvc2UgdW5pY29kZSBjYXB0dXJlIGdyb3Vwcy4gKi9cbiAgdmFyIHJzQXBvcyA9IFwiWydcXHUyMDE5XVwiLFxuICAgICAgcnNBc3RyYWwgPSAnWycgKyByc0FzdHJhbFJhbmdlICsgJ10nLFxuICAgICAgcnNCcmVhayA9ICdbJyArIHJzQnJlYWtSYW5nZSArICddJyxcbiAgICAgIHJzQ29tYm8gPSAnWycgKyByc0NvbWJvUmFuZ2UgKyAnXScsXG4gICAgICByc0RpZ2l0cyA9ICdcXFxcZCsnLFxuICAgICAgcnNEaW5nYmF0ID0gJ1snICsgcnNEaW5nYmF0UmFuZ2UgKyAnXScsXG4gICAgICByc0xvd2VyID0gJ1snICsgcnNMb3dlclJhbmdlICsgJ10nLFxuICAgICAgcnNNaXNjID0gJ1teJyArIHJzQXN0cmFsUmFuZ2UgKyByc0JyZWFrUmFuZ2UgKyByc0RpZ2l0cyArIHJzRGluZ2JhdFJhbmdlICsgcnNMb3dlclJhbmdlICsgcnNVcHBlclJhbmdlICsgJ10nLFxuICAgICAgcnNGaXR6ID0gJ1xcXFx1ZDgzY1tcXFxcdWRmZmItXFxcXHVkZmZmXScsXG4gICAgICByc01vZGlmaWVyID0gJyg/OicgKyByc0NvbWJvICsgJ3wnICsgcnNGaXR6ICsgJyknLFxuICAgICAgcnNOb25Bc3RyYWwgPSAnW14nICsgcnNBc3RyYWxSYW5nZSArICddJyxcbiAgICAgIHJzUmVnaW9uYWwgPSAnKD86XFxcXHVkODNjW1xcXFx1ZGRlNi1cXFxcdWRkZmZdKXsyfScsXG4gICAgICByc1N1cnJQYWlyID0gJ1tcXFxcdWQ4MDAtXFxcXHVkYmZmXVtcXFxcdWRjMDAtXFxcXHVkZmZmXScsXG4gICAgICByc1VwcGVyID0gJ1snICsgcnNVcHBlclJhbmdlICsgJ10nLFxuICAgICAgcnNaV0ogPSAnXFxcXHUyMDBkJztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIHVuaWNvZGUgcmVnZXhlcy4gKi9cbiAgdmFyIHJzTWlzY0xvd2VyID0gJyg/OicgKyByc0xvd2VyICsgJ3wnICsgcnNNaXNjICsgJyknLFxuICAgICAgcnNNaXNjVXBwZXIgPSAnKD86JyArIHJzVXBwZXIgKyAnfCcgKyByc01pc2MgKyAnKScsXG4gICAgICByc09wdENvbnRyTG93ZXIgPSAnKD86JyArIHJzQXBvcyArICcoPzpkfGxsfG18cmV8c3x0fHZlKSk/JyxcbiAgICAgIHJzT3B0Q29udHJVcHBlciA9ICcoPzonICsgcnNBcG9zICsgJyg/OkR8TEx8TXxSRXxTfFR8VkUpKT8nLFxuICAgICAgcmVPcHRNb2QgPSByc01vZGlmaWVyICsgJz8nLFxuICAgICAgcnNPcHRWYXIgPSAnWycgKyByc1ZhclJhbmdlICsgJ10/JyxcbiAgICAgIHJzT3B0Sm9pbiA9ICcoPzonICsgcnNaV0ogKyAnKD86JyArIFtyc05vbkFzdHJhbCwgcnNSZWdpb25hbCwgcnNTdXJyUGFpcl0uam9pbignfCcpICsgJyknICsgcnNPcHRWYXIgKyByZU9wdE1vZCArICcpKicsXG4gICAgICByc09yZExvd2VyID0gJ1xcXFxkKig/OjFzdHwybmR8M3JkfCg/IVsxMjNdKVxcXFxkdGgpKD89XFxcXGJ8W0EtWl9dKScsXG4gICAgICByc09yZFVwcGVyID0gJ1xcXFxkKig/OjFTVHwyTkR8M1JEfCg/IVsxMjNdKVxcXFxkVEgpKD89XFxcXGJ8W2Etel9dKScsXG4gICAgICByc1NlcSA9IHJzT3B0VmFyICsgcmVPcHRNb2QgKyByc09wdEpvaW4sXG4gICAgICByc0Vtb2ppID0gJyg/OicgKyBbcnNEaW5nYmF0LCByc1JlZ2lvbmFsLCByc1N1cnJQYWlyXS5qb2luKCd8JykgKyAnKScgKyByc1NlcSxcbiAgICAgIHJzU3ltYm9sID0gJyg/OicgKyBbcnNOb25Bc3RyYWwgKyByc0NvbWJvICsgJz8nLCByc0NvbWJvLCByc1JlZ2lvbmFsLCByc1N1cnJQYWlyLCByc0FzdHJhbF0uam9pbignfCcpICsgJyknO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGFwb3N0cm9waGVzLiAqL1xuICB2YXIgcmVBcG9zID0gUmVnRXhwKHJzQXBvcywgJ2cnKTtcblxuICAvKipcbiAgICogVXNlZCB0byBtYXRjaCBbY29tYmluaW5nIGRpYWNyaXRpY2FsIG1hcmtzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3MpIGFuZFxuICAgKiBbY29tYmluaW5nIGRpYWNyaXRpY2FsIG1hcmtzIGZvciBzeW1ib2xzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3NfZm9yX1N5bWJvbHMpLlxuICAgKi9cbiAgdmFyIHJlQ29tYm9NYXJrID0gUmVnRXhwKHJzQ29tYm8sICdnJyk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggW3N0cmluZyBzeW1ib2xzXShodHRwczovL21hdGhpYXNieW5lbnMuYmUvbm90ZXMvamF2YXNjcmlwdC11bmljb2RlKS4gKi9cbiAgdmFyIHJlVW5pY29kZSA9IFJlZ0V4cChyc0ZpdHogKyAnKD89JyArIHJzRml0eiArICcpfCcgKyByc1N5bWJvbCArIHJzU2VxLCAnZycpO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGNvbXBsZXggb3IgY29tcG91bmQgd29yZHMuICovXG4gIHZhciByZVVuaWNvZGVXb3JkID0gUmVnRXhwKFtcbiAgICByc1VwcGVyICsgJz8nICsgcnNMb3dlciArICcrJyArIHJzT3B0Q29udHJMb3dlciArICcoPz0nICsgW3JzQnJlYWssIHJzVXBwZXIsICckJ10uam9pbignfCcpICsgJyknLFxuICAgIHJzTWlzY1VwcGVyICsgJysnICsgcnNPcHRDb250clVwcGVyICsgJyg/PScgKyBbcnNCcmVhaywgcnNVcHBlciArIHJzTWlzY0xvd2VyLCAnJCddLmpvaW4oJ3wnKSArICcpJyxcbiAgICByc1VwcGVyICsgJz8nICsgcnNNaXNjTG93ZXIgKyAnKycgKyByc09wdENvbnRyTG93ZXIsXG4gICAgcnNVcHBlciArICcrJyArIHJzT3B0Q29udHJVcHBlcixcbiAgICByc09yZFVwcGVyLFxuICAgIHJzT3JkTG93ZXIsXG4gICAgcnNEaWdpdHMsXG4gICAgcnNFbW9qaVxuICBdLmpvaW4oJ3wnKSwgJ2cnKTtcblxuICAvKiogVXNlZCB0byBkZXRlY3Qgc3RyaW5ncyB3aXRoIFt6ZXJvLXdpZHRoIGpvaW5lcnMgb3IgY29kZSBwb2ludHMgZnJvbSB0aGUgYXN0cmFsIHBsYW5lc10oaHR0cDovL2Vldi5lZS9ibG9nLzIwMTUvMDkvMTIvZGFyay1jb3JuZXJzLW9mLXVuaWNvZGUvKS4gKi9cbiAgdmFyIHJlSGFzVW5pY29kZSA9IFJlZ0V4cCgnWycgKyByc1pXSiArIHJzQXN0cmFsUmFuZ2UgICsgcnNDb21ib1JhbmdlICsgcnNWYXJSYW5nZSArICddJyk7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IHN0cmluZ3MgdGhhdCBuZWVkIGEgbW9yZSByb2J1c3QgcmVnZXhwIHRvIG1hdGNoIHdvcmRzLiAqL1xuICB2YXIgcmVIYXNVbmljb2RlV29yZCA9IC9bYS16XVtBLVpdfFtBLVpdezJ9W2Etel18WzAtOV1bYS16QS1aXXxbYS16QS1aXVswLTldfFteYS16QS1aMC05IF0vO1xuXG4gIC8qKiBVc2VkIHRvIGFzc2lnbiBkZWZhdWx0IGBjb250ZXh0YCBvYmplY3QgcHJvcGVydGllcy4gKi9cbiAgdmFyIGNvbnRleHRQcm9wcyA9IFtcbiAgICAnQXJyYXknLCAnQnVmZmVyJywgJ0RhdGFWaWV3JywgJ0RhdGUnLCAnRXJyb3InLCAnRmxvYXQzMkFycmF5JywgJ0Zsb2F0NjRBcnJheScsXG4gICAgJ0Z1bmN0aW9uJywgJ0ludDhBcnJheScsICdJbnQxNkFycmF5JywgJ0ludDMyQXJyYXknLCAnTWFwJywgJ01hdGgnLCAnT2JqZWN0JyxcbiAgICAnUHJvbWlzZScsICdSZWdFeHAnLCAnU2V0JywgJ1N0cmluZycsICdTeW1ib2wnLCAnVHlwZUVycm9yJywgJ1VpbnQ4QXJyYXknLFxuICAgICdVaW50OENsYW1wZWRBcnJheScsICdVaW50MTZBcnJheScsICdVaW50MzJBcnJheScsICdXZWFrTWFwJyxcbiAgICAnXycsICdjbGVhclRpbWVvdXQnLCAnaXNGaW5pdGUnLCAncGFyc2VJbnQnLCAnc2V0VGltZW91dCdcbiAgXTtcblxuICAvKiogVXNlZCB0byBtYWtlIHRlbXBsYXRlIHNvdXJjZVVSTHMgZWFzaWVyIHRvIGlkZW50aWZ5LiAqL1xuICB2YXIgdGVtcGxhdGVDb3VudGVyID0gLTE7XG5cbiAgLyoqIFVzZWQgdG8gaWRlbnRpZnkgYHRvU3RyaW5nVGFnYCB2YWx1ZXMgb2YgdHlwZWQgYXJyYXlzLiAqL1xuICB2YXIgdHlwZWRBcnJheVRhZ3MgPSB7fTtcbiAgdHlwZWRBcnJheVRhZ3NbZmxvYXQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1tmbG9hdDY0VGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW2ludDhUYWddID0gdHlwZWRBcnJheVRhZ3NbaW50MTZUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbaW50MzJUYWddID0gdHlwZWRBcnJheVRhZ3NbdWludDhUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1t1aW50MzJUYWddID0gdHJ1ZTtcbiAgdHlwZWRBcnJheVRhZ3NbYXJnc1RhZ10gPSB0eXBlZEFycmF5VGFnc1thcnJheVRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ10gPSB0eXBlZEFycmF5VGFnc1tib29sVGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW2RhdGFWaWV3VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2RhdGVUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbZXJyb3JUYWddID0gdHlwZWRBcnJheVRhZ3NbZnVuY1RhZ10gPVxuICB0eXBlZEFycmF5VGFnc1ttYXBUYWddID0gdHlwZWRBcnJheVRhZ3NbbnVtYmVyVGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW29iamVjdFRhZ10gPSB0eXBlZEFycmF5VGFnc1tyZWdleHBUYWddID1cbiAgdHlwZWRBcnJheVRhZ3Nbc2V0VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3N0cmluZ1RhZ10gPVxuICB0eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXSA9IGZhbHNlO1xuXG4gIC8qKiBVc2VkIHRvIGlkZW50aWZ5IGB0b1N0cmluZ1RhZ2AgdmFsdWVzIHN1cHBvcnRlZCBieSBgXy5jbG9uZWAuICovXG4gIHZhciBjbG9uZWFibGVUYWdzID0ge307XG4gIGNsb25lYWJsZVRhZ3NbYXJnc1RhZ10gPSBjbG9uZWFibGVUYWdzW2FycmF5VGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbYXJyYXlCdWZmZXJUYWddID0gY2xvbmVhYmxlVGFnc1tkYXRhVmlld1RhZ10gPVxuICBjbG9uZWFibGVUYWdzW2Jvb2xUYWddID0gY2xvbmVhYmxlVGFnc1tkYXRlVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbZmxvYXQzMlRhZ10gPSBjbG9uZWFibGVUYWdzW2Zsb2F0NjRUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tpbnQ4VGFnXSA9IGNsb25lYWJsZVRhZ3NbaW50MTZUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tpbnQzMlRhZ10gPSBjbG9uZWFibGVUYWdzW21hcFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW251bWJlclRhZ10gPSBjbG9uZWFibGVUYWdzW29iamVjdFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3JlZ2V4cFRhZ10gPSBjbG9uZWFibGVUYWdzW3NldFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3N0cmluZ1RhZ10gPSBjbG9uZWFibGVUYWdzW3N5bWJvbFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3VpbnQ4VGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbdWludDE2VGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG4gIGNsb25lYWJsZVRhZ3NbZXJyb3JUYWddID0gY2xvbmVhYmxlVGFnc1tmdW5jVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3Nbd2Vha01hcFRhZ10gPSBmYWxzZTtcblxuICAvKiogVXNlZCB0byBtYXAgTGF0aW4gVW5pY29kZSBsZXR0ZXJzIHRvIGJhc2ljIExhdGluIGxldHRlcnMuICovXG4gIHZhciBkZWJ1cnJlZExldHRlcnMgPSB7XG4gICAgLy8gTGF0aW4tMSBTdXBwbGVtZW50IGJsb2NrLlxuICAgICdcXHhjMCc6ICdBJywgICdcXHhjMSc6ICdBJywgJ1xceGMyJzogJ0EnLCAnXFx4YzMnOiAnQScsICdcXHhjNCc6ICdBJywgJ1xceGM1JzogJ0EnLFxuICAgICdcXHhlMCc6ICdhJywgICdcXHhlMSc6ICdhJywgJ1xceGUyJzogJ2EnLCAnXFx4ZTMnOiAnYScsICdcXHhlNCc6ICdhJywgJ1xceGU1JzogJ2EnLFxuICAgICdcXHhjNyc6ICdDJywgICdcXHhlNyc6ICdjJyxcbiAgICAnXFx4ZDAnOiAnRCcsICAnXFx4ZjAnOiAnZCcsXG4gICAgJ1xceGM4JzogJ0UnLCAgJ1xceGM5JzogJ0UnLCAnXFx4Y2EnOiAnRScsICdcXHhjYic6ICdFJyxcbiAgICAnXFx4ZTgnOiAnZScsICAnXFx4ZTknOiAnZScsICdcXHhlYSc6ICdlJywgJ1xceGViJzogJ2UnLFxuICAgICdcXHhjYyc6ICdJJywgICdcXHhjZCc6ICdJJywgJ1xceGNlJzogJ0knLCAnXFx4Y2YnOiAnSScsXG4gICAgJ1xceGVjJzogJ2knLCAgJ1xceGVkJzogJ2knLCAnXFx4ZWUnOiAnaScsICdcXHhlZic6ICdpJyxcbiAgICAnXFx4ZDEnOiAnTicsICAnXFx4ZjEnOiAnbicsXG4gICAgJ1xceGQyJzogJ08nLCAgJ1xceGQzJzogJ08nLCAnXFx4ZDQnOiAnTycsICdcXHhkNSc6ICdPJywgJ1xceGQ2JzogJ08nLCAnXFx4ZDgnOiAnTycsXG4gICAgJ1xceGYyJzogJ28nLCAgJ1xceGYzJzogJ28nLCAnXFx4ZjQnOiAnbycsICdcXHhmNSc6ICdvJywgJ1xceGY2JzogJ28nLCAnXFx4ZjgnOiAnbycsXG4gICAgJ1xceGQ5JzogJ1UnLCAgJ1xceGRhJzogJ1UnLCAnXFx4ZGInOiAnVScsICdcXHhkYyc6ICdVJyxcbiAgICAnXFx4ZjknOiAndScsICAnXFx4ZmEnOiAndScsICdcXHhmYic6ICd1JywgJ1xceGZjJzogJ3UnLFxuICAgICdcXHhkZCc6ICdZJywgICdcXHhmZCc6ICd5JywgJ1xceGZmJzogJ3knLFxuICAgICdcXHhjNic6ICdBZScsICdcXHhlNic6ICdhZScsXG4gICAgJ1xceGRlJzogJ1RoJywgJ1xceGZlJzogJ3RoJyxcbiAgICAnXFx4ZGYnOiAnc3MnLFxuICAgIC8vIExhdGluIEV4dGVuZGVkLUEgYmxvY2suXG4gICAgJ1xcdTAxMDAnOiAnQScsICAnXFx1MDEwMic6ICdBJywgJ1xcdTAxMDQnOiAnQScsXG4gICAgJ1xcdTAxMDEnOiAnYScsICAnXFx1MDEwMyc6ICdhJywgJ1xcdTAxMDUnOiAnYScsXG4gICAgJ1xcdTAxMDYnOiAnQycsICAnXFx1MDEwOCc6ICdDJywgJ1xcdTAxMGEnOiAnQycsICdcXHUwMTBjJzogJ0MnLFxuICAgICdcXHUwMTA3JzogJ2MnLCAgJ1xcdTAxMDknOiAnYycsICdcXHUwMTBiJzogJ2MnLCAnXFx1MDEwZCc6ICdjJyxcbiAgICAnXFx1MDEwZSc6ICdEJywgICdcXHUwMTEwJzogJ0QnLCAnXFx1MDEwZic6ICdkJywgJ1xcdTAxMTEnOiAnZCcsXG4gICAgJ1xcdTAxMTInOiAnRScsICAnXFx1MDExNCc6ICdFJywgJ1xcdTAxMTYnOiAnRScsICdcXHUwMTE4JzogJ0UnLCAnXFx1MDExYSc6ICdFJyxcbiAgICAnXFx1MDExMyc6ICdlJywgICdcXHUwMTE1JzogJ2UnLCAnXFx1MDExNyc6ICdlJywgJ1xcdTAxMTknOiAnZScsICdcXHUwMTFiJzogJ2UnLFxuICAgICdcXHUwMTFjJzogJ0cnLCAgJ1xcdTAxMWUnOiAnRycsICdcXHUwMTIwJzogJ0cnLCAnXFx1MDEyMic6ICdHJyxcbiAgICAnXFx1MDExZCc6ICdnJywgICdcXHUwMTFmJzogJ2cnLCAnXFx1MDEyMSc6ICdnJywgJ1xcdTAxMjMnOiAnZycsXG4gICAgJ1xcdTAxMjQnOiAnSCcsICAnXFx1MDEyNic6ICdIJywgJ1xcdTAxMjUnOiAnaCcsICdcXHUwMTI3JzogJ2gnLFxuICAgICdcXHUwMTI4JzogJ0knLCAgJ1xcdTAxMmEnOiAnSScsICdcXHUwMTJjJzogJ0knLCAnXFx1MDEyZSc6ICdJJywgJ1xcdTAxMzAnOiAnSScsXG4gICAgJ1xcdTAxMjknOiAnaScsICAnXFx1MDEyYic6ICdpJywgJ1xcdTAxMmQnOiAnaScsICdcXHUwMTJmJzogJ2knLCAnXFx1MDEzMSc6ICdpJyxcbiAgICAnXFx1MDEzNCc6ICdKJywgICdcXHUwMTM1JzogJ2onLFxuICAgICdcXHUwMTM2JzogJ0snLCAgJ1xcdTAxMzcnOiAnaycsICdcXHUwMTM4JzogJ2snLFxuICAgICdcXHUwMTM5JzogJ0wnLCAgJ1xcdTAxM2InOiAnTCcsICdcXHUwMTNkJzogJ0wnLCAnXFx1MDEzZic6ICdMJywgJ1xcdTAxNDEnOiAnTCcsXG4gICAgJ1xcdTAxM2EnOiAnbCcsICAnXFx1MDEzYyc6ICdsJywgJ1xcdTAxM2UnOiAnbCcsICdcXHUwMTQwJzogJ2wnLCAnXFx1MDE0Mic6ICdsJyxcbiAgICAnXFx1MDE0Myc6ICdOJywgICdcXHUwMTQ1JzogJ04nLCAnXFx1MDE0Nyc6ICdOJywgJ1xcdTAxNGEnOiAnTicsXG4gICAgJ1xcdTAxNDQnOiAnbicsICAnXFx1MDE0Nic6ICduJywgJ1xcdTAxNDgnOiAnbicsICdcXHUwMTRiJzogJ24nLFxuICAgICdcXHUwMTRjJzogJ08nLCAgJ1xcdTAxNGUnOiAnTycsICdcXHUwMTUwJzogJ08nLFxuICAgICdcXHUwMTRkJzogJ28nLCAgJ1xcdTAxNGYnOiAnbycsICdcXHUwMTUxJzogJ28nLFxuICAgICdcXHUwMTU0JzogJ1InLCAgJ1xcdTAxNTYnOiAnUicsICdcXHUwMTU4JzogJ1InLFxuICAgICdcXHUwMTU1JzogJ3InLCAgJ1xcdTAxNTcnOiAncicsICdcXHUwMTU5JzogJ3InLFxuICAgICdcXHUwMTVhJzogJ1MnLCAgJ1xcdTAxNWMnOiAnUycsICdcXHUwMTVlJzogJ1MnLCAnXFx1MDE2MCc6ICdTJyxcbiAgICAnXFx1MDE1Yic6ICdzJywgICdcXHUwMTVkJzogJ3MnLCAnXFx1MDE1Zic6ICdzJywgJ1xcdTAxNjEnOiAncycsXG4gICAgJ1xcdTAxNjInOiAnVCcsICAnXFx1MDE2NCc6ICdUJywgJ1xcdTAxNjYnOiAnVCcsXG4gICAgJ1xcdTAxNjMnOiAndCcsICAnXFx1MDE2NSc6ICd0JywgJ1xcdTAxNjcnOiAndCcsXG4gICAgJ1xcdTAxNjgnOiAnVScsICAnXFx1MDE2YSc6ICdVJywgJ1xcdTAxNmMnOiAnVScsICdcXHUwMTZlJzogJ1UnLCAnXFx1MDE3MCc6ICdVJywgJ1xcdTAxNzInOiAnVScsXG4gICAgJ1xcdTAxNjknOiAndScsICAnXFx1MDE2Yic6ICd1JywgJ1xcdTAxNmQnOiAndScsICdcXHUwMTZmJzogJ3UnLCAnXFx1MDE3MSc6ICd1JywgJ1xcdTAxNzMnOiAndScsXG4gICAgJ1xcdTAxNzQnOiAnVycsICAnXFx1MDE3NSc6ICd3JyxcbiAgICAnXFx1MDE3Nic6ICdZJywgICdcXHUwMTc3JzogJ3knLCAnXFx1MDE3OCc6ICdZJyxcbiAgICAnXFx1MDE3OSc6ICdaJywgICdcXHUwMTdiJzogJ1onLCAnXFx1MDE3ZCc6ICdaJyxcbiAgICAnXFx1MDE3YSc6ICd6JywgICdcXHUwMTdjJzogJ3onLCAnXFx1MDE3ZSc6ICd6JyxcbiAgICAnXFx1MDEzMic6ICdJSicsICdcXHUwMTMzJzogJ2lqJyxcbiAgICAnXFx1MDE1Mic6ICdPZScsICdcXHUwMTUzJzogJ29lJyxcbiAgICAnXFx1MDE0OSc6IFwiJ25cIiwgJ1xcdTAxN2YnOiAncydcbiAgfTtcblxuICAvKiogVXNlZCB0byBtYXAgY2hhcmFjdGVycyB0byBIVE1MIGVudGl0aWVzLiAqL1xuICB2YXIgaHRtbEVzY2FwZXMgPSB7XG4gICAgJyYnOiAnJmFtcDsnLFxuICAgICc8JzogJyZsdDsnLFxuICAgICc+JzogJyZndDsnLFxuICAgICdcIic6ICcmcXVvdDsnLFxuICAgIFwiJ1wiOiAnJiMzOTsnXG4gIH07XG5cbiAgLyoqIFVzZWQgdG8gbWFwIEhUTUwgZW50aXRpZXMgdG8gY2hhcmFjdGVycy4gKi9cbiAgdmFyIGh0bWxVbmVzY2FwZXMgPSB7XG4gICAgJyZhbXA7JzogJyYnLFxuICAgICcmbHQ7JzogJzwnLFxuICAgICcmZ3Q7JzogJz4nLFxuICAgICcmcXVvdDsnOiAnXCInLFxuICAgICcmIzM5Oyc6IFwiJ1wiXG4gIH07XG5cbiAgLyoqIFVzZWQgdG8gZXNjYXBlIGNoYXJhY3RlcnMgZm9yIGluY2x1c2lvbiBpbiBjb21waWxlZCBzdHJpbmcgbGl0ZXJhbHMuICovXG4gIHZhciBzdHJpbmdFc2NhcGVzID0ge1xuICAgICdcXFxcJzogJ1xcXFwnLFxuICAgIFwiJ1wiOiBcIidcIixcbiAgICAnXFxuJzogJ24nLFxuICAgICdcXHInOiAncicsXG4gICAgJ1xcdTIwMjgnOiAndTIwMjgnLFxuICAgICdcXHUyMDI5JzogJ3UyMDI5J1xuICB9O1xuXG4gIC8qKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB3aXRob3V0IGEgZGVwZW5kZW5jeSBvbiBgcm9vdGAuICovXG4gIHZhciBmcmVlUGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQsXG4gICAgICBmcmVlUGFyc2VJbnQgPSBwYXJzZUludDtcblxuICAvKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGdsb2JhbGAgZnJvbSBOb2RlLmpzLiAqL1xuICB2YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbiAgLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbiAgdmFyIGZyZWVTZWxmID0gdHlwZW9mIHNlbGYgPT0gJ29iamVjdCcgJiYgc2VsZiAmJiBzZWxmLk9iamVjdCA9PT0gT2JqZWN0ICYmIHNlbGY7XG5cbiAgLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG4gIHZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG4gIC8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZXhwb3J0c2AuICovXG4gIHZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzID09ICdvYmplY3QnICYmIGV4cG9ydHMgJiYgIWV4cG9ydHMubm9kZVR5cGUgJiYgZXhwb3J0cztcblxuICAvKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG4gIHZhciBmcmVlTW9kdWxlID0gZnJlZUV4cG9ydHMgJiYgdHlwZW9mIG1vZHVsZSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUgJiYgIW1vZHVsZS5ub2RlVHlwZSAmJiBtb2R1bGU7XG5cbiAgLyoqIERldGVjdCB0aGUgcG9wdWxhciBDb21tb25KUyBleHRlbnNpb24gYG1vZHVsZS5leHBvcnRzYC4gKi9cbiAgdmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbiAgLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBwcm9jZXNzYCBmcm9tIE5vZGUuanMuICovXG4gIHZhciBmcmVlUHJvY2VzcyA9IG1vZHVsZUV4cG9ydHMgJiYgZnJlZUdsb2JhbC5wcm9jZXNzO1xuXG4gIC8qKiBVc2VkIHRvIGFjY2VzcyBmYXN0ZXIgTm9kZS5qcyBoZWxwZXJzLiAqL1xuICB2YXIgbm9kZVV0aWwgPSAoZnVuY3Rpb24oKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFVzZSBgdXRpbC50eXBlc2AgZm9yIE5vZGUuanMgMTArLlxuICAgICAgdmFyIHR5cGVzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLnJlcXVpcmUgJiYgZnJlZU1vZHVsZS5yZXF1aXJlKCd1dGlsJykudHlwZXM7XG5cbiAgICAgIGlmICh0eXBlcykge1xuICAgICAgICByZXR1cm4gdHlwZXM7XG4gICAgICB9XG5cbiAgICAgIC8vIExlZ2FjeSBgcHJvY2Vzcy5iaW5kaW5nKCd1dGlsJylgIGZvciBOb2RlLmpzIDwgMTAuXG4gICAgICByZXR1cm4gZnJlZVByb2Nlc3MgJiYgZnJlZVByb2Nlc3MuYmluZGluZyAmJiBmcmVlUHJvY2Vzcy5iaW5kaW5nKCd1dGlsJyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfSgpKTtcblxuICAvKiBOb2RlLmpzIGhlbHBlciByZWZlcmVuY2VzLiAqL1xuICB2YXIgbm9kZUlzQXJyYXlCdWZmZXIgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc0FycmF5QnVmZmVyLFxuICAgICAgbm9kZUlzRGF0ZSA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzRGF0ZSxcbiAgICAgIG5vZGVJc01hcCA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzTWFwLFxuICAgICAgbm9kZUlzUmVnRXhwID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNSZWdFeHAsXG4gICAgICBub2RlSXNTZXQgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1NldCxcbiAgICAgIG5vZGVJc1R5cGVkQXJyYXkgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1R5cGVkQXJyYXk7XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgLyoqXG4gICAqIEEgZmFzdGVyIGFsdGVybmF0aXZlIHRvIGBGdW5jdGlvbiNhcHBseWAsIHRoaXMgZnVuY3Rpb24gaW52b2tlcyBgZnVuY2BcbiAgICogd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgYHRoaXNBcmdgIGFuZCB0aGUgYXJndW1lbnRzIG9mIGBhcmdzYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICAgKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGludm9rZSBgZnVuY2Agd2l0aC5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiBgZnVuY2AuXG4gICAqL1xuICBmdW5jdGlvbiBhcHBseShmdW5jLCB0aGlzQXJnLCBhcmdzKSB7XG4gICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgY2FzZSAwOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcpO1xuICAgICAgY2FzZSAxOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0pO1xuICAgICAgY2FzZSAyOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgY2FzZSAzOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgIH1cbiAgICByZXR1cm4gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VBZ2dyZWdhdG9yYCBmb3IgYXJyYXlzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHNldHRlciBUaGUgZnVuY3Rpb24gdG8gc2V0IGBhY2N1bXVsYXRvcmAgdmFsdWVzLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBhY2N1bXVsYXRvciBUaGUgaW5pdGlhbCBhZ2dyZWdhdGVkIG9iamVjdC5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBhY2N1bXVsYXRvcmAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUFnZ3JlZ2F0b3IoYXJyYXksIHNldHRlciwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgIHNldHRlcihhY2N1bXVsYXRvciwgdmFsdWUsIGl0ZXJhdGVlKHZhbHVlKSwgYXJyYXkpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmZvckVhY2hgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlFYWNoKGFycmF5LCBpdGVyYXRlZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBpZiAoaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpID09PSBmYWxzZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5mb3JFYWNoUmlnaHRgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlFYWNoUmlnaHQoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBpZiAoaXRlcmF0ZWUoYXJyYXlbbGVuZ3RoXSwgbGVuZ3RoLCBhcnJheSkgPT09IGZhbHNlKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmV2ZXJ5YCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFsbCBlbGVtZW50cyBwYXNzIHRoZSBwcmVkaWNhdGUgY2hlY2ssXG4gICAqICBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUV2ZXJ5KGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKCFwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmZpbHRlcmAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZpbHRlcmVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlGaWx0ZXIoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5pbmNsdWRlc2AgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIHNwZWNpZnlpbmcgYW4gaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gdGFyZ2V0IFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHRhcmdldGAgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5SW5jbHVkZXMoYXJyYXksIHZhbHVlKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIHJldHVybiAhIWxlbmd0aCAmJiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIDApID4gLTE7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlIGBhcnJheUluY2x1ZGVzYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGEgY29tcGFyYXRvci5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB0YXJnZXQgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB0YXJnZXRgIGlzIGZvdW5kLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUluY2x1ZGVzV2l0aChhcnJheSwgdmFsdWUsIGNvbXBhcmF0b3IpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGNvbXBhcmF0b3IodmFsdWUsIGFycmF5W2luZGV4XSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ubWFwYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAgICogc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgYXJyYXkuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheU1hcChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICAgIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmRzIHRoZSBlbGVtZW50cyBvZiBgdmFsdWVzYCB0byBgYXJyYXlgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byBhcHBlbmQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlQdXNoKGFycmF5LCB2YWx1ZXMpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgICAgb2Zmc2V0ID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGFycmF5W29mZnNldCArIGluZGV4XSA9IHZhbHVlc1tpbmRleF07XG4gICAgfVxuICAgIHJldHVybiBhcnJheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ucmVkdWNlYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0geyp9IFthY2N1bXVsYXRvcl0gVGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2luaXRBY2N1bV0gU3BlY2lmeSB1c2luZyB0aGUgZmlyc3QgZWxlbWVudCBvZiBgYXJyYXlgIGFzXG4gICAqICB0aGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGFjY3VtdWxhdGVkIHZhbHVlLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlSZWR1Y2UoYXJyYXksIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgaWYgKGluaXRBY2N1bSAmJiBsZW5ndGgpIHtcbiAgICAgIGFjY3VtdWxhdG9yID0gYXJyYXlbKytpbmRleF07XG4gICAgfVxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCBhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSk7XG4gICAgfVxuICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ucmVkdWNlUmlnaHRgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEBwYXJhbSB7Kn0gW2FjY3VtdWxhdG9yXSBUaGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBbaW5pdEFjY3VtXSBTcGVjaWZ5IHVzaW5nIHRoZSBsYXN0IGVsZW1lbnQgb2YgYGFycmF5YCBhc1xuICAgKiAgdGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5UmVkdWNlUmlnaHQoYXJyYXksIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIGlmIChpbml0QWNjdW0gJiYgbGVuZ3RoKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGFycmF5Wy0tbGVuZ3RoXTtcbiAgICB9XG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCBhcnJheVtsZW5ndGhdLCBsZW5ndGgsIGFycmF5KTtcbiAgICB9XG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zb21lYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAgICogc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFueSBlbGVtZW50IHBhc3NlcyB0aGUgcHJlZGljYXRlIGNoZWNrLFxuICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlTb21lKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzaXplIG9mIGFuIEFTQ0lJIGBzdHJpbmdgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgaW5zcGVjdC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3RyaW5nIHNpemUuXG4gICAqL1xuICB2YXIgYXNjaWlTaXplID0gYmFzZVByb3BlcnR5KCdsZW5ndGgnKTtcblxuICAvKipcbiAgICogQ29udmVydHMgYW4gQVNDSUkgYHN0cmluZ2AgdG8gYW4gYXJyYXkuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBhcnJheS5cbiAgICovXG4gIGZ1bmN0aW9uIGFzY2lpVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLnNwbGl0KCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdHMgYW4gQVNDSUkgYHN0cmluZ2AgaW50byBhbiBhcnJheSBvZiBpdHMgd29yZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgd29yZHMgb2YgYHN0cmluZ2AuXG4gICAqL1xuICBmdW5jdGlvbiBhc2NpaVdvcmRzKHN0cmluZykge1xuICAgIHJldHVybiBzdHJpbmcubWF0Y2gocmVBc2NpaVdvcmQpIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5maW5kS2V5YCBhbmQgYF8uZmluZExhc3RLZXlgLFxuICAgKiB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMsIHdoaWNoIGl0ZXJhdGVzIG92ZXIgYGNvbGxlY3Rpb25gXG4gICAqIHVzaW5nIGBlYWNoRnVuY2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBlYWNoRnVuYyBUaGUgZnVuY3Rpb24gdG8gaXRlcmF0ZSBvdmVyIGBjb2xsZWN0aW9uYC5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGZvdW5kIGVsZW1lbnQgb3IgaXRzIGtleSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VGaW5kS2V5KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZWFjaEZ1bmMpIHtcbiAgICB2YXIgcmVzdWx0O1xuICAgIGVhY2hGdW5jKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pIHtcbiAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGtleSwgY29sbGVjdGlvbikpIHtcbiAgICAgICAgcmVzdWx0ID0ga2V5O1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5maW5kSW5kZXhgIGFuZCBgXy5maW5kTGFzdEluZGV4YCB3aXRob3V0XG4gICAqIHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zyb21SaWdodF0gU3BlY2lmeSBpdGVyYXRpbmcgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZUZpbmRJbmRleChhcnJheSwgcHJlZGljYXRlLCBmcm9tSW5kZXgsIGZyb21SaWdodCkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIGluZGV4ID0gZnJvbUluZGV4ICsgKGZyb21SaWdodCA/IDEgOiAtMSk7XG5cbiAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSkge1xuICAgICAgaWYgKHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW5kZXhPZmAgd2l0aG91dCBgZnJvbUluZGV4YCBib3VuZHMgY2hlY2tzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWVcbiAgICAgID8gc3RyaWN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleClcbiAgICAgIDogYmFzZUZpbmRJbmRleChhcnJheSwgYmFzZUlzTmFOLCBmcm9tSW5kZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZSBgYmFzZUluZGV4T2ZgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYSBjb21wYXJhdG9yLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VJbmRleE9mV2l0aChhcnJheSwgdmFsdWUsIGZyb21JbmRleCwgY29tcGFyYXRvcikge1xuICAgIHZhciBpbmRleCA9IGZyb21JbmRleCAtIDEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBpZiAoY29tcGFyYXRvcihhcnJheVtpbmRleF0sIHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc05hTmAgd2l0aG91dCBzdXBwb3J0IGZvciBudW1iZXIgb2JqZWN0cy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGBOYU5gLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlSXNOYU4odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1lYW5gIGFuZCBgXy5tZWFuQnlgIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbWVhbi5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VNZWFuKGFycmF5LCBpdGVyYXRlZSkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICByZXR1cm4gbGVuZ3RoID8gKGJhc2VTdW0oYXJyYXksIGl0ZXJhdGVlKSAvIGxlbmd0aCkgOiBOQU47XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHJvcGVydHlgIHdpdGhvdXQgc3VwcG9ydCBmb3IgZGVlcCBwYXRocy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVByb3BlcnR5KGtleSkge1xuICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHJvcGVydHlPZmAgd2l0aG91dCBzdXBwb3J0IGZvciBkZWVwIHBhdGhzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVByb3BlcnR5T2Yob2JqZWN0KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGtleSkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZWR1Y2VgIGFuZCBgXy5yZWR1Y2VSaWdodGAsIHdpdGhvdXQgc3VwcG9ydFxuICAgKiBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcywgd2hpY2ggaXRlcmF0ZXMgb3ZlciBgY29sbGVjdGlvbmAgdXNpbmcgYGVhY2hGdW5jYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0geyp9IGFjY3VtdWxhdG9yIFRoZSBpbml0aWFsIHZhbHVlLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGluaXRBY2N1bSBTcGVjaWZ5IHVzaW5nIHRoZSBmaXJzdCBvciBsYXN0IGVsZW1lbnQgb2ZcbiAgICogIGBjb2xsZWN0aW9uYCBhcyB0aGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWFjaEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBgY29sbGVjdGlvbmAuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VSZWR1Y2UoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yLCBpbml0QWNjdW0sIGVhY2hGdW5jKSB7XG4gICAgZWFjaEZ1bmMoY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGluaXRBY2N1bVxuICAgICAgICA/IChpbml0QWNjdW0gPSBmYWxzZSwgdmFsdWUpXG4gICAgICAgIDogaXRlcmF0ZWUoYWNjdW11bGF0b3IsIHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbik7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvcnRCeWAgd2hpY2ggdXNlcyBgY29tcGFyZXJgIHRvIGRlZmluZSB0aGVcbiAgICogc29ydCBvcmRlciBvZiBgYXJyYXlgIGFuZCByZXBsYWNlcyBjcml0ZXJpYSBvYmplY3RzIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZ1xuICAgKiB2YWx1ZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzb3J0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjb21wYXJlciBUaGUgZnVuY3Rpb24gdG8gZGVmaW5lIHNvcnQgb3JkZXIuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVNvcnRCeShhcnJheSwgY29tcGFyZXIpIHtcbiAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgYXJyYXkuc29ydChjb21wYXJlcik7XG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBhcnJheVtsZW5ndGhdID0gYXJyYXlbbGVuZ3RoXS52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnN1bWAgYW5kIGBfLnN1bUJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHN1bS5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VTdW0oYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgdmFyIHJlc3VsdCxcbiAgICAgICAgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciBjdXJyZW50ID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdKTtcbiAgICAgIGlmIChjdXJyZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ID09PSB1bmRlZmluZWQgPyBjdXJyZW50IDogKHJlc3VsdCArIGN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRpbWVzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHNcbiAgICogb3IgbWF4IGFycmF5IGxlbmd0aCBjaGVja3MuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gaW52b2tlIGBpdGVyYXRlZWAuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VUaW1lcyhuLCBpdGVyYXRlZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICByZXN1bHQgPSBBcnJheShuKTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGluZGV4KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b1BhaXJzYCBhbmQgYF8udG9QYWlyc0luYCB3aGljaCBjcmVhdGVzIGFuIGFycmF5XG4gICAqIG9mIGtleS12YWx1ZSBwYWlycyBmb3IgYG9iamVjdGAgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvcGVydHkgbmFtZXMgb2YgYHByb3BzYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgbmFtZXMgdG8gZ2V0IHZhbHVlcyBmb3IuXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VUb1BhaXJzKG9iamVjdCwgcHJvcHMpIHtcbiAgICByZXR1cm4gYXJyYXlNYXAocHJvcHMsIGZ1bmN0aW9uKGtleSkge1xuICAgICAgcmV0dXJuIFtrZXksIG9iamVjdFtrZXldXTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy51bmFyeWAgd2l0aG91dCBzdXBwb3J0IGZvciBzdG9yaW5nIG1ldGFkYXRhLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjYXAgYXJndW1lbnRzIGZvci5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FwcGVkIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVVuYXJ5KGZ1bmMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnZhbHVlc2AgYW5kIGBfLnZhbHVlc0luYCB3aGljaCBjcmVhdGVzIGFuXG4gICAqIGFycmF5IG9mIGBvYmplY3RgIHByb3BlcnR5IHZhbHVlcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9wZXJ0eSBuYW1lc1xuICAgKiBvZiBgcHJvcHNgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBuYW1lcyB0byBnZXQgdmFsdWVzIGZvci5cbiAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgdmFsdWVzLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QsIHByb3BzKSB7XG4gICAgcmV0dXJuIGFycmF5TWFwKHByb3BzLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgIHJldHVybiBvYmplY3Rba2V5XTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBgY2FjaGVgIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjYWNoZSBUaGUgY2FjaGUgdG8gcXVlcnkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBjYWNoZUhhcyhjYWNoZSwga2V5KSB7XG4gICAgcmV0dXJuIGNhY2hlLmhhcyhrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udHJpbWAgYW5kIGBfLnRyaW1TdGFydGAgdG8gZ2V0IHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgc3RyaW5nIHN5bWJvbFxuICAgKiB0aGF0IGlzIG5vdCBmb3VuZCBpbiB0aGUgY2hhcmFjdGVyIHN5bWJvbHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IHN0clN5bWJvbHMgVGhlIHN0cmluZyBzeW1ib2xzIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGNoclN5bWJvbHMgVGhlIGNoYXJhY3RlciBzeW1ib2xzIHRvIGZpbmQuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCB1bm1hdGNoZWQgc3RyaW5nIHN5bWJvbC5cbiAgICovXG4gIGZ1bmN0aW9uIGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IHN0clN5bWJvbHMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGggJiYgYmFzZUluZGV4T2YoY2hyU3ltYm9scywgc3RyU3ltYm9sc1tpbmRleF0sIDApID4gLTEpIHt9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udHJpbWAgYW5kIGBfLnRyaW1FbmRgIHRvIGdldCB0aGUgaW5kZXggb2YgdGhlIGxhc3Qgc3RyaW5nIHN5bWJvbFxuICAgKiB0aGF0IGlzIG5vdCBmb3VuZCBpbiB0aGUgY2hhcmFjdGVyIHN5bWJvbHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IHN0clN5bWJvbHMgVGhlIHN0cmluZyBzeW1ib2xzIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGNoclN5bWJvbHMgVGhlIGNoYXJhY3RlciBzeW1ib2xzIHRvIGZpbmQuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBsYXN0IHVubWF0Y2hlZCBzdHJpbmcgc3ltYm9sLlxuICAgKi9cbiAgZnVuY3Rpb24gY2hhcnNFbmRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSB7XG4gICAgdmFyIGluZGV4ID0gc3RyU3ltYm9scy5sZW5ndGg7XG5cbiAgICB3aGlsZSAoaW5kZXgtLSAmJiBiYXNlSW5kZXhPZihjaHJTeW1ib2xzLCBzdHJTeW1ib2xzW2luZGV4XSwgMCkgPiAtMSkge31cbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGBwbGFjZWhvbGRlcmAgb2NjdXJyZW5jZXMgaW4gYGFycmF5YC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gcGxhY2Vob2xkZXIgVGhlIHBsYWNlaG9sZGVyIHRvIHNlYXJjaCBmb3IuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHBsYWNlaG9sZGVyIGNvdW50LlxuICAgKi9cbiAgZnVuY3Rpb24gY291bnRIb2xkZXJzKGFycmF5LCBwbGFjZWhvbGRlcikge1xuICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIHJlc3VsdCA9IDA7XG5cbiAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgIGlmIChhcnJheVtsZW5ndGhdID09PSBwbGFjZWhvbGRlcikge1xuICAgICAgICArK3Jlc3VsdDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLmRlYnVycmAgdG8gY29udmVydCBMYXRpbi0xIFN1cHBsZW1lbnQgYW5kIExhdGluIEV4dGVuZGVkLUFcbiAgICogbGV0dGVycyB0byBiYXNpYyBMYXRpbiBsZXR0ZXJzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbGV0dGVyIFRoZSBtYXRjaGVkIGxldHRlciB0byBkZWJ1cnIuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGRlYnVycmVkIGxldHRlci5cbiAgICovXG4gIHZhciBkZWJ1cnJMZXR0ZXIgPSBiYXNlUHJvcGVydHlPZihkZWJ1cnJlZExldHRlcnMpO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLmVzY2FwZWAgdG8gY29udmVydCBjaGFyYWN0ZXJzIHRvIEhUTUwgZW50aXRpZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaHIgVGhlIG1hdGNoZWQgY2hhcmFjdGVyIHRvIGVzY2FwZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIuXG4gICAqL1xuICB2YXIgZXNjYXBlSHRtbENoYXIgPSBiYXNlUHJvcGVydHlPZihodG1sRXNjYXBlcyk7XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udGVtcGxhdGVgIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hyIFRoZSBtYXRjaGVkIGNoYXJhY3RlciB0byBlc2NhcGUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVzY2FwZWQgY2hhcmFjdGVyLlxuICAgKi9cbiAgZnVuY3Rpb24gZXNjYXBlU3RyaW5nQ2hhcihjaHIpIHtcbiAgICByZXR1cm4gJ1xcXFwnICsgc3RyaW5nRXNjYXBlc1tjaHJdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCwga2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGBzdHJpbmdgIGNvbnRhaW5zIFVuaWNvZGUgc3ltYm9scy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhIHN5bWJvbCBpcyBmb3VuZCwgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gaGFzVW5pY29kZShzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVIYXNVbmljb2RlLnRlc3Qoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYHN0cmluZ2AgY29udGFpbnMgYSB3b3JkIGNvbXBvc2VkIG9mIFVuaWNvZGUgc3ltYm9scy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhIHdvcmQgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICovXG4gIGZ1bmN0aW9uIGhhc1VuaWNvZGVXb3JkKHN0cmluZykge1xuICAgIHJldHVybiByZUhhc1VuaWNvZGVXb3JkLnRlc3Qoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgaXRlcmF0b3JgIHRvIGFuIGFycmF5LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gaXRlcmF0b3IgVGhlIGl0ZXJhdG9yIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gaXRlcmF0b3JUb0FycmF5KGl0ZXJhdG9yKSB7XG4gICAgdmFyIGRhdGEsXG4gICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgd2hpbGUgKCEoZGF0YSA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgcmVzdWx0LnB1c2goZGF0YS52YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYG1hcGAgdG8gaXRzIGtleS12YWx1ZSBwYWlycy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IG1hcCBUaGUgbWFwIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXJzLlxuICAgKi9cbiAgZnVuY3Rpb24gbWFwVG9BcnJheShtYXApIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgcmVzdWx0ID0gQXJyYXkobWFwLnNpemUpO1xuXG4gICAgbWFwLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAgcmVzdWx0WysraW5kZXhdID0gW2tleSwgdmFsdWVdO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHVuYXJ5IGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCBpdHMgYXJndW1lbnQgdHJhbnNmb3JtZWQuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybSBUaGUgYXJndW1lbnQgdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICovXG4gIGZ1bmN0aW9uIG92ZXJBcmcoZnVuYywgdHJhbnNmb3JtKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGFyZykge1xuICAgICAgcmV0dXJuIGZ1bmModHJhbnNmb3JtKGFyZykpO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVwbGFjZXMgYWxsIGBwbGFjZWhvbGRlcmAgZWxlbWVudHMgaW4gYGFycmF5YCB3aXRoIGFuIGludGVybmFsIHBsYWNlaG9sZGVyXG4gICAqIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRoZWlyIGluZGV4ZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAqIEBwYXJhbSB7Kn0gcGxhY2Vob2xkZXIgVGhlIHBsYWNlaG9sZGVyIHRvIHJlcGxhY2UuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAqL1xuICBmdW5jdGlvbiByZXBsYWNlSG9sZGVycyhhcnJheSwgcGxhY2Vob2xkZXIpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICByZXNJbmRleCA9IDAsXG4gICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gcGxhY2Vob2xkZXIgfHwgdmFsdWUgPT09IFBMQUNFSE9MREVSKSB7XG4gICAgICAgIGFycmF5W2luZGV4XSA9IFBMQUNFSE9MREVSO1xuICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSBpbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc2V0YCB0byBhbiBhcnJheSBvZiBpdHMgdmFsdWVzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gc2V0IFRoZSBzZXQgdG8gY29udmVydC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB2YWx1ZXMuXG4gICAqL1xuICBmdW5jdGlvbiBzZXRUb0FycmF5KHNldCkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICByZXN1bHQgPSBBcnJheShzZXQuc2l6ZSk7XG5cbiAgICBzZXQuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgcmVzdWx0WysraW5kZXhdID0gdmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc2V0YCB0byBpdHMgdmFsdWUtdmFsdWUgcGFpcnMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBzZXQgVGhlIHNldCB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHZhbHVlLXZhbHVlIHBhaXJzLlxuICAgKi9cbiAgZnVuY3Rpb24gc2V0VG9QYWlycyhzZXQpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgcmVzdWx0ID0gQXJyYXkoc2V0LnNpemUpO1xuXG4gICAgc2V0LmZvckVhY2goZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJlc3VsdFsrK2luZGV4XSA9IFt2YWx1ZSwgdmFsdWVdO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmluZGV4T2ZgIHdoaWNoIHBlcmZvcm1zIHN0cmljdCBlcXVhbGl0eVxuICAgKiBjb21wYXJpc29ucyBvZiB2YWx1ZXMsIGkuZS4gYD09PWAuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcGFyYW0ge251bWJlcn0gZnJvbUluZGV4IFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICovXG4gIGZ1bmN0aW9uIHN0cmljdEluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICB2YXIgaW5kZXggPSBmcm9tSW5kZXggLSAxLFxuICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGFycmF5W2luZGV4XSA9PT0gdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmxhc3RJbmRleE9mYCB3aGljaCBwZXJmb3JtcyBzdHJpY3QgZXF1YWxpdHlcbiAgICogY29tcGFyaXNvbnMgb2YgdmFsdWVzLCBpLmUuIGA9PT1gLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAqL1xuICBmdW5jdGlvbiBzdHJpY3RMYXN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgIHZhciBpbmRleCA9IGZyb21JbmRleCArIDE7XG4gICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgIGlmIChhcnJheVtpbmRleF0gPT09IHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG51bWJlciBvZiBzeW1ib2xzIGluIGBzdHJpbmdgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3RyaW5nIHNpemUuXG4gICAqL1xuICBmdW5jdGlvbiBzdHJpbmdTaXplKHN0cmluZykge1xuICAgIHJldHVybiBoYXNVbmljb2RlKHN0cmluZylcbiAgICAgID8gdW5pY29kZVNpemUoc3RyaW5nKVxuICAgICAgOiBhc2NpaVNpemUoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBhbiBhcnJheS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gc3RyaW5nVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gaGFzVW5pY29kZShzdHJpbmcpXG4gICAgICA/IHVuaWNvZGVUb0FycmF5KHN0cmluZylcbiAgICAgIDogYXNjaWlUb0FycmF5KHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBieSBgXy51bmVzY2FwZWAgdG8gY29udmVydCBIVE1MIGVudGl0aWVzIHRvIGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaHIgVGhlIG1hdGNoZWQgY2hhcmFjdGVyIHRvIHVuZXNjYXBlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1bmVzY2FwZWQgY2hhcmFjdGVyLlxuICAgKi9cbiAgdmFyIHVuZXNjYXBlSHRtbENoYXIgPSBiYXNlUHJvcGVydHlPZihodG1sVW5lc2NhcGVzKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgc2l6ZSBvZiBhIFVuaWNvZGUgYHN0cmluZ2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyBpbnNwZWN0LlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzdHJpbmcgc2l6ZS5cbiAgICovXG4gIGZ1bmN0aW9uIHVuaWNvZGVTaXplKHN0cmluZykge1xuICAgIHZhciByZXN1bHQgPSByZVVuaWNvZGUubGFzdEluZGV4ID0gMDtcbiAgICB3aGlsZSAocmVVbmljb2RlLnRlc3Qoc3RyaW5nKSkge1xuICAgICAgKytyZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBVbmljb2RlIGBzdHJpbmdgIHRvIGFuIGFycmF5LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgYXJyYXkuXG4gICAqL1xuICBmdW5jdGlvbiB1bmljb2RlVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZSkgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogU3BsaXRzIGEgVW5pY29kZSBgc3RyaW5nYCBpbnRvIGFuIGFycmF5IG9mIGl0cyB3b3Jkcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB3b3JkcyBvZiBgc3RyaW5nYC5cbiAgICovXG4gIGZ1bmN0aW9uIHVuaWNvZGVXb3JkcyhzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZVdvcmQpIHx8IFtdO1xuICB9XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBwcmlzdGluZSBgbG9kYXNoYCBmdW5jdGlvbiB1c2luZyB0aGUgYGNvbnRleHRgIG9iamVjdC5cbiAgICpcbiAgICogQHN0YXRpY1xuICAgKiBAbWVtYmVyT2YgX1xuICAgKiBAc2luY2UgMS4xLjBcbiAgICogQGNhdGVnb3J5IFV0aWxcbiAgICogQHBhcmFtIHtPYmplY3R9IFtjb250ZXh0PXJvb3RdIFRoZSBjb250ZXh0IG9iamVjdC5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGEgbmV3IGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiBfLm1peGluKHsgJ2Zvbyc6IF8uY29uc3RhbnQoJ2ZvbycpIH0pO1xuICAgKlxuICAgKiB2YXIgbG9kYXNoID0gXy5ydW5JbkNvbnRleHQoKTtcbiAgICogbG9kYXNoLm1peGluKHsgJ2Jhcic6IGxvZGFzaC5jb25zdGFudCgnYmFyJykgfSk7XG4gICAqXG4gICAqIF8uaXNGdW5jdGlvbihfLmZvbyk7XG4gICAqIC8vID0+IHRydWVcbiAgICogXy5pc0Z1bmN0aW9uKF8uYmFyKTtcbiAgICogLy8gPT4gZmFsc2VcbiAgICpcbiAgICogbG9kYXNoLmlzRnVuY3Rpb24obG9kYXNoLmZvbyk7XG4gICAqIC8vID0+IGZhbHNlXG4gICAqIGxvZGFzaC5pc0Z1bmN0aW9uKGxvZGFzaC5iYXIpO1xuICAgKiAvLyA9PiB0cnVlXG4gICAqXG4gICAqIC8vIENyZWF0ZSBhIHN1cGVkLXVwIGBkZWZlcmAgaW4gTm9kZS5qcy5cbiAgICogdmFyIGRlZmVyID0gXy5ydW5JbkNvbnRleHQoeyAnc2V0VGltZW91dCc6IHNldEltbWVkaWF0ZSB9KS5kZWZlcjtcbiAgICovXG4gIHZhciBydW5JbkNvbnRleHQgPSAoZnVuY3Rpb24gcnVuSW5Db250ZXh0KGNvbnRleHQpIHtcbiAgICBjb250ZXh0ID0gY29udGV4dCA9PSBudWxsID8gcm9vdCA6IF8uZGVmYXVsdHMocm9vdC5PYmplY3QoKSwgY29udGV4dCwgXy5waWNrKHJvb3QsIGNvbnRleHRQcm9wcykpO1xuXG4gICAgLyoqIEJ1aWx0LWluIGNvbnN0cnVjdG9yIHJlZmVyZW5jZXMuICovXG4gICAgdmFyIEFycmF5ID0gY29udGV4dC5BcnJheSxcbiAgICAgICAgRGF0ZSA9IGNvbnRleHQuRGF0ZSxcbiAgICAgICAgRXJyb3IgPSBjb250ZXh0LkVycm9yLFxuICAgICAgICBGdW5jdGlvbiA9IGNvbnRleHQuRnVuY3Rpb24sXG4gICAgICAgIE1hdGggPSBjb250ZXh0Lk1hdGgsXG4gICAgICAgIE9iamVjdCA9IGNvbnRleHQuT2JqZWN0LFxuICAgICAgICBSZWdFeHAgPSBjb250ZXh0LlJlZ0V4cCxcbiAgICAgICAgU3RyaW5nID0gY29udGV4dC5TdHJpbmcsXG4gICAgICAgIFR5cGVFcnJvciA9IGNvbnRleHQuVHlwZUVycm9yO1xuXG4gICAgLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xuICAgIHZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlLFxuICAgICAgICBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgICAgIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuICAgIC8qKiBVc2VkIHRvIGRldGVjdCBvdmVycmVhY2hpbmcgY29yZS1qcyBzaGltcy4gKi9cbiAgICB2YXIgY29yZUpzRGF0YSA9IGNvbnRleHRbJ19fY29yZS1qc19zaGFyZWRfXyddO1xuXG4gICAgLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xuICAgIHZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbiAgICAvKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbiAgICB2YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuICAgIC8qKiBVc2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBJRHMuICovXG4gICAgdmFyIGlkQ291bnRlciA9IDA7XG5cbiAgICAvKiogVXNlZCB0byBkZXRlY3QgbWV0aG9kcyBtYXNxdWVyYWRpbmcgYXMgbmF0aXZlLiAqL1xuICAgIHZhciBtYXNrU3JjS2V5ID0gKGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHVpZCA9IC9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSAmJiBjb3JlSnNEYXRhLmtleXMgJiYgY29yZUpzRGF0YS5rZXlzLklFX1BST1RPIHx8ICcnKTtcbiAgICAgIHJldHVybiB1aWQgPyAoJ1N5bWJvbChzcmMpXzEuJyArIHVpZCkgOiAnJztcbiAgICB9KCkpO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byByZXNvbHZlIHRoZVxuICAgICAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICAgICAqIG9mIHZhbHVlcy5cbiAgICAgKi9cbiAgICB2YXIgbmF0aXZlT2JqZWN0VG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcblxuICAgIC8qKiBVc2VkIHRvIGluZmVyIHRoZSBgT2JqZWN0YCBjb25zdHJ1Y3Rvci4gKi9cbiAgICB2YXIgb2JqZWN0Q3RvclN0cmluZyA9IGZ1bmNUb1N0cmluZy5jYWxsKE9iamVjdCk7XG5cbiAgICAvKiogVXNlZCB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBgX2AgcmVmZXJlbmNlIGluIGBfLm5vQ29uZmxpY3RgLiAqL1xuICAgIHZhciBvbGREYXNoID0gcm9vdC5fO1xuXG4gICAgLyoqIFVzZWQgdG8gZGV0ZWN0IGlmIGEgbWV0aG9kIGlzIG5hdGl2ZS4gKi9cbiAgICB2YXIgcmVJc05hdGl2ZSA9IFJlZ0V4cCgnXicgK1xuICAgICAgZnVuY1RvU3RyaW5nLmNhbGwoaGFzT3duUHJvcGVydHkpLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgICAgIC5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcXFxcKCl8IGZvciAuKz8oPz1cXFxcXFxdKS9nLCAnJDEuKj8nKSArICckJ1xuICAgICk7XG5cbiAgICAvKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbiAgICB2YXIgQnVmZmVyID0gbW9kdWxlRXhwb3J0cyA/IGNvbnRleHQuQnVmZmVyIDogdW5kZWZpbmVkLFxuICAgICAgICBTeW1ib2wgPSBjb250ZXh0LlN5bWJvbCxcbiAgICAgICAgVWludDhBcnJheSA9IGNvbnRleHQuVWludDhBcnJheSxcbiAgICAgICAgYWxsb2NVbnNhZmUgPSBCdWZmZXIgPyBCdWZmZXIuYWxsb2NVbnNhZmUgOiB1bmRlZmluZWQsXG4gICAgICAgIGdldFByb3RvdHlwZSA9IG92ZXJBcmcoT2JqZWN0LmdldFByb3RvdHlwZU9mLCBPYmplY3QpLFxuICAgICAgICBvYmplY3RDcmVhdGUgPSBPYmplY3QuY3JlYXRlLFxuICAgICAgICBwcm9wZXJ0eUlzRW51bWVyYWJsZSA9IG9iamVjdFByb3RvLnByb3BlcnR5SXNFbnVtZXJhYmxlLFxuICAgICAgICBzcGxpY2UgPSBhcnJheVByb3RvLnNwbGljZSxcbiAgICAgICAgc3ByZWFkYWJsZVN5bWJvbCA9IFN5bWJvbCA/IFN5bWJvbC5pc0NvbmNhdFNwcmVhZGFibGUgOiB1bmRlZmluZWQsXG4gICAgICAgIHN5bUl0ZXJhdG9yID0gU3ltYm9sID8gU3ltYm9sLml0ZXJhdG9yIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1Ub1N0cmluZ1RhZyA9IFN5bWJvbCA/IFN5bWJvbC50b1N0cmluZ1RhZyA6IHVuZGVmaW5lZDtcblxuICAgIHZhciBkZWZpbmVQcm9wZXJ0eSA9IChmdW5jdGlvbigpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZhciBmdW5jID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2RlZmluZVByb3BlcnR5Jyk7XG4gICAgICAgIGZ1bmMoe30sICcnLCB7fSk7XG4gICAgICAgIHJldHVybiBmdW5jO1xuICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9KCkpO1xuXG4gICAgLyoqIE1vY2tlZCBidWlsdC1pbnMuICovXG4gICAgdmFyIGN0eENsZWFyVGltZW91dCA9IGNvbnRleHQuY2xlYXJUaW1lb3V0ICE9PSByb290LmNsZWFyVGltZW91dCAmJiBjb250ZXh0LmNsZWFyVGltZW91dCxcbiAgICAgICAgY3R4Tm93ID0gRGF0ZSAmJiBEYXRlLm5vdyAhPT0gcm9vdC5EYXRlLm5vdyAmJiBEYXRlLm5vdyxcbiAgICAgICAgY3R4U2V0VGltZW91dCA9IGNvbnRleHQuc2V0VGltZW91dCAhPT0gcm9vdC5zZXRUaW1lb3V0ICYmIGNvbnRleHQuc2V0VGltZW91dDtcblxuICAgIC8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbiAgICB2YXIgbmF0aXZlQ2VpbCA9IE1hdGguY2VpbCxcbiAgICAgICAgbmF0aXZlRmxvb3IgPSBNYXRoLmZsb29yLFxuICAgICAgICBuYXRpdmVHZXRTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxcbiAgICAgICAgbmF0aXZlSXNCdWZmZXIgPSBCdWZmZXIgPyBCdWZmZXIuaXNCdWZmZXIgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hdGl2ZUlzRmluaXRlID0gY29udGV4dC5pc0Zpbml0ZSxcbiAgICAgICAgbmF0aXZlSm9pbiA9IGFycmF5UHJvdG8uam9pbixcbiAgICAgICAgbmF0aXZlS2V5cyA9IG92ZXJBcmcoT2JqZWN0LmtleXMsIE9iamVjdCksXG4gICAgICAgIG5hdGl2ZU1heCA9IE1hdGgubWF4LFxuICAgICAgICBuYXRpdmVNaW4gPSBNYXRoLm1pbixcbiAgICAgICAgbmF0aXZlTm93ID0gRGF0ZS5ub3csXG4gICAgICAgIG5hdGl2ZVBhcnNlSW50ID0gY29udGV4dC5wYXJzZUludCxcbiAgICAgICAgbmF0aXZlUmFuZG9tID0gTWF0aC5yYW5kb20sXG4gICAgICAgIG5hdGl2ZVJldmVyc2UgPSBhcnJheVByb3RvLnJldmVyc2U7XG5cbiAgICAvKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB0aGF0IGFyZSB2ZXJpZmllZCB0byBiZSBuYXRpdmUuICovXG4gICAgdmFyIERhdGFWaWV3ID0gZ2V0TmF0aXZlKGNvbnRleHQsICdEYXRhVmlldycpLFxuICAgICAgICBNYXAgPSBnZXROYXRpdmUoY29udGV4dCwgJ01hcCcpLFxuICAgICAgICBQcm9taXNlID0gZ2V0TmF0aXZlKGNvbnRleHQsICdQcm9taXNlJyksXG4gICAgICAgIFNldCA9IGdldE5hdGl2ZShjb250ZXh0LCAnU2V0JyksXG4gICAgICAgIFdlYWtNYXAgPSBnZXROYXRpdmUoY29udGV4dCwgJ1dlYWtNYXAnKSxcbiAgICAgICAgbmF0aXZlQ3JlYXRlID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2NyZWF0ZScpO1xuXG4gICAgLyoqIFVzZWQgdG8gc3RvcmUgZnVuY3Rpb24gbWV0YWRhdGEuICovXG4gICAgdmFyIG1ldGFNYXAgPSBXZWFrTWFwICYmIG5ldyBXZWFrTWFwO1xuXG4gICAgLyoqIFVzZWQgdG8gbG9va3VwIHVubWluaWZpZWQgZnVuY3Rpb24gbmFtZXMuICovXG4gICAgdmFyIHJlYWxOYW1lcyA9IHt9O1xuXG4gICAgLyoqIFVzZWQgdG8gZGV0ZWN0IG1hcHMsIHNldHMsIGFuZCB3ZWFrbWFwcy4gKi9cbiAgICB2YXIgZGF0YVZpZXdDdG9yU3RyaW5nID0gdG9Tb3VyY2UoRGF0YVZpZXcpLFxuICAgICAgICBtYXBDdG9yU3RyaW5nID0gdG9Tb3VyY2UoTWFwKSxcbiAgICAgICAgcHJvbWlzZUN0b3JTdHJpbmcgPSB0b1NvdXJjZShQcm9taXNlKSxcbiAgICAgICAgc2V0Q3RvclN0cmluZyA9IHRvU291cmNlKFNldCksXG4gICAgICAgIHdlYWtNYXBDdG9yU3RyaW5nID0gdG9Tb3VyY2UoV2Vha01hcCk7XG5cbiAgICAvKiogVXNlZCB0byBjb252ZXJ0IHN5bWJvbHMgdG8gcHJpbWl0aXZlcyBhbmQgc3RyaW5ncy4gKi9cbiAgICB2YXIgc3ltYm9sUHJvdG8gPSBTeW1ib2wgPyBTeW1ib2wucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1ib2xWYWx1ZU9mID0gc3ltYm9sUHJvdG8gPyBzeW1ib2xQcm90by52YWx1ZU9mIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1ib2xUb1N0cmluZyA9IHN5bWJvbFByb3RvID8gc3ltYm9sUHJvdG8udG9TdHJpbmcgOiB1bmRlZmluZWQ7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYGxvZGFzaGAgb2JqZWN0IHdoaWNoIHdyYXBzIGB2YWx1ZWAgdG8gZW5hYmxlIGltcGxpY2l0IG1ldGhvZFxuICAgICAqIGNoYWluIHNlcXVlbmNlcy4gTWV0aG9kcyB0aGF0IG9wZXJhdGUgb24gYW5kIHJldHVybiBhcnJheXMsIGNvbGxlY3Rpb25zLFxuICAgICAqIGFuZCBmdW5jdGlvbnMgY2FuIGJlIGNoYWluZWQgdG9nZXRoZXIuIE1ldGhvZHMgdGhhdCByZXRyaWV2ZSBhIHNpbmdsZSB2YWx1ZVxuICAgICAqIG9yIG1heSByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUgd2lsbCBhdXRvbWF0aWNhbGx5IGVuZCB0aGUgY2hhaW4gc2VxdWVuY2VcbiAgICAgKiBhbmQgcmV0dXJuIHRoZSB1bndyYXBwZWQgdmFsdWUuIE90aGVyd2lzZSwgdGhlIHZhbHVlIG11c3QgYmUgdW53cmFwcGVkXG4gICAgICogd2l0aCBgXyN2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBFeHBsaWNpdCBjaGFpbiBzZXF1ZW5jZXMsIHdoaWNoIG11c3QgYmUgdW53cmFwcGVkIHdpdGggYF8jdmFsdWVgLCBtYXkgYmVcbiAgICAgKiBlbmFibGVkIHVzaW5nIGBfLmNoYWluYC5cbiAgICAgKlxuICAgICAqIFRoZSBleGVjdXRpb24gb2YgY2hhaW5lZCBtZXRob2RzIGlzIGxhenksIHRoYXQgaXMsIGl0J3MgZGVmZXJyZWQgdW50aWxcbiAgICAgKiBgXyN2YWx1ZWAgaXMgaW1wbGljaXRseSBvciBleHBsaWNpdGx5IGNhbGxlZC5cbiAgICAgKlxuICAgICAqIExhenkgZXZhbHVhdGlvbiBhbGxvd3Mgc2V2ZXJhbCBtZXRob2RzIHRvIHN1cHBvcnQgc2hvcnRjdXQgZnVzaW9uLlxuICAgICAqIFNob3J0Y3V0IGZ1c2lvbiBpcyBhbiBvcHRpbWl6YXRpb24gdG8gbWVyZ2UgaXRlcmF0ZWUgY2FsbHM7IHRoaXMgYXZvaWRzXG4gICAgICogdGhlIGNyZWF0aW9uIG9mIGludGVybWVkaWF0ZSBhcnJheXMgYW5kIGNhbiBncmVhdGx5IHJlZHVjZSB0aGUgbnVtYmVyIG9mXG4gICAgICogaXRlcmF0ZWUgZXhlY3V0aW9ucy4gU2VjdGlvbnMgb2YgYSBjaGFpbiBzZXF1ZW5jZSBxdWFsaWZ5IGZvciBzaG9ydGN1dFxuICAgICAqIGZ1c2lvbiBpZiB0aGUgc2VjdGlvbiBpcyBhcHBsaWVkIHRvIGFuIGFycmF5IGFuZCBpdGVyYXRlZXMgYWNjZXB0IG9ubHlcbiAgICAgKiBvbmUgYXJndW1lbnQuIFRoZSBoZXVyaXN0aWMgZm9yIHdoZXRoZXIgYSBzZWN0aW9uIHF1YWxpZmllcyBmb3Igc2hvcnRjdXRcbiAgICAgKiBmdXNpb24gaXMgc3ViamVjdCB0byBjaGFuZ2UuXG4gICAgICpcbiAgICAgKiBDaGFpbmluZyBpcyBzdXBwb3J0ZWQgaW4gY3VzdG9tIGJ1aWxkcyBhcyBsb25nIGFzIHRoZSBgXyN2YWx1ZWAgbWV0aG9kIGlzXG4gICAgICogZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBpbmNsdWRlZCBpbiB0aGUgYnVpbGQuXG4gICAgICpcbiAgICAgKiBJbiBhZGRpdGlvbiB0byBsb2Rhc2ggbWV0aG9kcywgd3JhcHBlcnMgaGF2ZSBgQXJyYXlgIGFuZCBgU3RyaW5nYCBtZXRob2RzLlxuICAgICAqXG4gICAgICogVGhlIHdyYXBwZXIgYEFycmF5YCBtZXRob2RzIGFyZTpcbiAgICAgKiBgY29uY2F0YCwgYGpvaW5gLCBgcG9wYCwgYHB1c2hgLCBgc2hpZnRgLCBgc29ydGAsIGBzcGxpY2VgLCBhbmQgYHVuc2hpZnRgXG4gICAgICpcbiAgICAgKiBUaGUgd3JhcHBlciBgU3RyaW5nYCBtZXRob2RzIGFyZTpcbiAgICAgKiBgcmVwbGFjZWAgYW5kIGBzcGxpdGBcbiAgICAgKlxuICAgICAqIFRoZSB3cmFwcGVyIG1ldGhvZHMgdGhhdCBzdXBwb3J0IHNob3J0Y3V0IGZ1c2lvbiBhcmU6XG4gICAgICogYGF0YCwgYGNvbXBhY3RgLCBgZHJvcGAsIGBkcm9wUmlnaHRgLCBgZHJvcFdoaWxlYCwgYGZpbHRlcmAsIGBmaW5kYCxcbiAgICAgKiBgZmluZExhc3RgLCBgaGVhZGAsIGBpbml0aWFsYCwgYGxhc3RgLCBgbWFwYCwgYHJlamVjdGAsIGByZXZlcnNlYCwgYHNsaWNlYCxcbiAgICAgKiBgdGFpbGAsIGB0YWtlYCwgYHRha2VSaWdodGAsIGB0YWtlUmlnaHRXaGlsZWAsIGB0YWtlV2hpbGVgLCBhbmQgYHRvQXJyYXlgXG4gICAgICpcbiAgICAgKiBUaGUgY2hhaW5hYmxlIHdyYXBwZXIgbWV0aG9kcyBhcmU6XG4gICAgICogYGFmdGVyYCwgYGFyeWAsIGBhc3NpZ25gLCBgYXNzaWduSW5gLCBgYXNzaWduSW5XaXRoYCwgYGFzc2lnbldpdGhgLCBgYXRgLFxuICAgICAqIGBiZWZvcmVgLCBgYmluZGAsIGBiaW5kQWxsYCwgYGJpbmRLZXlgLCBgY2FzdEFycmF5YCwgYGNoYWluYCwgYGNodW5rYCxcbiAgICAgKiBgY29tbWl0YCwgYGNvbXBhY3RgLCBgY29uY2F0YCwgYGNvbmZvcm1zYCwgYGNvbnN0YW50YCwgYGNvdW50QnlgLCBgY3JlYXRlYCxcbiAgICAgKiBgY3VycnlgLCBgZGVib3VuY2VgLCBgZGVmYXVsdHNgLCBgZGVmYXVsdHNEZWVwYCwgYGRlZmVyYCwgYGRlbGF5YCxcbiAgICAgKiBgZGlmZmVyZW5jZWAsIGBkaWZmZXJlbmNlQnlgLCBgZGlmZmVyZW5jZVdpdGhgLCBgZHJvcGAsIGBkcm9wUmlnaHRgLFxuICAgICAqIGBkcm9wUmlnaHRXaGlsZWAsIGBkcm9wV2hpbGVgLCBgZXh0ZW5kYCwgYGV4dGVuZFdpdGhgLCBgZmlsbGAsIGBmaWx0ZXJgLFxuICAgICAqIGBmbGF0TWFwYCwgYGZsYXRNYXBEZWVwYCwgYGZsYXRNYXBEZXB0aGAsIGBmbGF0dGVuYCwgYGZsYXR0ZW5EZWVwYCxcbiAgICAgKiBgZmxhdHRlbkRlcHRoYCwgYGZsaXBgLCBgZmxvd2AsIGBmbG93UmlnaHRgLCBgZnJvbVBhaXJzYCwgYGZ1bmN0aW9uc2AsXG4gICAgICogYGZ1bmN0aW9uc0luYCwgYGdyb3VwQnlgLCBgaW5pdGlhbGAsIGBpbnRlcnNlY3Rpb25gLCBgaW50ZXJzZWN0aW9uQnlgLFxuICAgICAqIGBpbnRlcnNlY3Rpb25XaXRoYCwgYGludmVydGAsIGBpbnZlcnRCeWAsIGBpbnZva2VNYXBgLCBgaXRlcmF0ZWVgLCBga2V5QnlgLFxuICAgICAqIGBrZXlzYCwgYGtleXNJbmAsIGBtYXBgLCBgbWFwS2V5c2AsIGBtYXBWYWx1ZXNgLCBgbWF0Y2hlc2AsIGBtYXRjaGVzUHJvcGVydHlgLFxuICAgICAqIGBtZW1vaXplYCwgYG1lcmdlYCwgYG1lcmdlV2l0aGAsIGBtZXRob2RgLCBgbWV0aG9kT2ZgLCBgbWl4aW5gLCBgbmVnYXRlYCxcbiAgICAgKiBgbnRoQXJnYCwgYG9taXRgLCBgb21pdEJ5YCwgYG9uY2VgLCBgb3JkZXJCeWAsIGBvdmVyYCwgYG92ZXJBcmdzYCxcbiAgICAgKiBgb3ZlckV2ZXJ5YCwgYG92ZXJTb21lYCwgYHBhcnRpYWxgLCBgcGFydGlhbFJpZ2h0YCwgYHBhcnRpdGlvbmAsIGBwaWNrYCxcbiAgICAgKiBgcGlja0J5YCwgYHBsYW50YCwgYHByb3BlcnR5YCwgYHByb3BlcnR5T2ZgLCBgcHVsbGAsIGBwdWxsQWxsYCwgYHB1bGxBbGxCeWAsXG4gICAgICogYHB1bGxBbGxXaXRoYCwgYHB1bGxBdGAsIGBwdXNoYCwgYHJhbmdlYCwgYHJhbmdlUmlnaHRgLCBgcmVhcmdgLCBgcmVqZWN0YCxcbiAgICAgKiBgcmVtb3ZlYCwgYHJlc3RgLCBgcmV2ZXJzZWAsIGBzYW1wbGVTaXplYCwgYHNldGAsIGBzZXRXaXRoYCwgYHNodWZmbGVgLFxuICAgICAqIGBzbGljZWAsIGBzb3J0YCwgYHNvcnRCeWAsIGBzcGxpY2VgLCBgc3ByZWFkYCwgYHRhaWxgLCBgdGFrZWAsIGB0YWtlUmlnaHRgLFxuICAgICAqIGB0YWtlUmlnaHRXaGlsZWAsIGB0YWtlV2hpbGVgLCBgdGFwYCwgYHRocm90dGxlYCwgYHRocnVgLCBgdG9BcnJheWAsXG4gICAgICogYHRvUGFpcnNgLCBgdG9QYWlyc0luYCwgYHRvUGF0aGAsIGB0b1BsYWluT2JqZWN0YCwgYHRyYW5zZm9ybWAsIGB1bmFyeWAsXG4gICAgICogYHVuaW9uYCwgYHVuaW9uQnlgLCBgdW5pb25XaXRoYCwgYHVuaXFgLCBgdW5pcUJ5YCwgYHVuaXFXaXRoYCwgYHVuc2V0YCxcbiAgICAgKiBgdW5zaGlmdGAsIGB1bnppcGAsIGB1bnppcFdpdGhgLCBgdXBkYXRlYCwgYHVwZGF0ZVdpdGhgLCBgdmFsdWVzYCxcbiAgICAgKiBgdmFsdWVzSW5gLCBgd2l0aG91dGAsIGB3cmFwYCwgYHhvcmAsIGB4b3JCeWAsIGB4b3JXaXRoYCwgYHppcGAsXG4gICAgICogYHppcE9iamVjdGAsIGB6aXBPYmplY3REZWVwYCwgYW5kIGB6aXBXaXRoYFxuICAgICAqXG4gICAgICogVGhlIHdyYXBwZXIgbWV0aG9kcyB0aGF0IGFyZSAqKm5vdCoqIGNoYWluYWJsZSBieSBkZWZhdWx0IGFyZTpcbiAgICAgKiBgYWRkYCwgYGF0dGVtcHRgLCBgY2FtZWxDYXNlYCwgYGNhcGl0YWxpemVgLCBgY2VpbGAsIGBjbGFtcGAsIGBjbG9uZWAsXG4gICAgICogYGNsb25lRGVlcGAsIGBjbG9uZURlZXBXaXRoYCwgYGNsb25lV2l0aGAsIGBjb25mb3Jtc1RvYCwgYGRlYnVycmAsXG4gICAgICogYGRlZmF1bHRUb2AsIGBkaXZpZGVgLCBgZWFjaGAsIGBlYWNoUmlnaHRgLCBgZW5kc1dpdGhgLCBgZXFgLCBgZXNjYXBlYCxcbiAgICAgKiBgZXNjYXBlUmVnRXhwYCwgYGV2ZXJ5YCwgYGZpbmRgLCBgZmluZEluZGV4YCwgYGZpbmRLZXlgLCBgZmluZExhc3RgLFxuICAgICAqIGBmaW5kTGFzdEluZGV4YCwgYGZpbmRMYXN0S2V5YCwgYGZpcnN0YCwgYGZsb29yYCwgYGZvckVhY2hgLCBgZm9yRWFjaFJpZ2h0YCxcbiAgICAgKiBgZm9ySW5gLCBgZm9ySW5SaWdodGAsIGBmb3JPd25gLCBgZm9yT3duUmlnaHRgLCBgZ2V0YCwgYGd0YCwgYGd0ZWAsIGBoYXNgLFxuICAgICAqIGBoYXNJbmAsIGBoZWFkYCwgYGlkZW50aXR5YCwgYGluY2x1ZGVzYCwgYGluZGV4T2ZgLCBgaW5SYW5nZWAsIGBpbnZva2VgLFxuICAgICAqIGBpc0FyZ3VtZW50c2AsIGBpc0FycmF5YCwgYGlzQXJyYXlCdWZmZXJgLCBgaXNBcnJheUxpa2VgLCBgaXNBcnJheUxpa2VPYmplY3RgLFxuICAgICAqIGBpc0Jvb2xlYW5gLCBgaXNCdWZmZXJgLCBgaXNEYXRlYCwgYGlzRWxlbWVudGAsIGBpc0VtcHR5YCwgYGlzRXF1YWxgLFxuICAgICAqIGBpc0VxdWFsV2l0aGAsIGBpc0Vycm9yYCwgYGlzRmluaXRlYCwgYGlzRnVuY3Rpb25gLCBgaXNJbnRlZ2VyYCwgYGlzTGVuZ3RoYCxcbiAgICAgKiBgaXNNYXBgLCBgaXNNYXRjaGAsIGBpc01hdGNoV2l0aGAsIGBpc05hTmAsIGBpc05hdGl2ZWAsIGBpc05pbGAsIGBpc051bGxgLFxuICAgICAqIGBpc051bWJlcmAsIGBpc09iamVjdGAsIGBpc09iamVjdExpa2VgLCBgaXNQbGFpbk9iamVjdGAsIGBpc1JlZ0V4cGAsXG4gICAgICogYGlzU2FmZUludGVnZXJgLCBgaXNTZXRgLCBgaXNTdHJpbmdgLCBgaXNVbmRlZmluZWRgLCBgaXNUeXBlZEFycmF5YCxcbiAgICAgKiBgaXNXZWFrTWFwYCwgYGlzV2Vha1NldGAsIGBqb2luYCwgYGtlYmFiQ2FzZWAsIGBsYXN0YCwgYGxhc3RJbmRleE9mYCxcbiAgICAgKiBgbG93ZXJDYXNlYCwgYGxvd2VyRmlyc3RgLCBgbHRgLCBgbHRlYCwgYG1heGAsIGBtYXhCeWAsIGBtZWFuYCwgYG1lYW5CeWAsXG4gICAgICogYG1pbmAsIGBtaW5CeWAsIGBtdWx0aXBseWAsIGBub0NvbmZsaWN0YCwgYG5vb3BgLCBgbm93YCwgYG50aGAsIGBwYWRgLFxuICAgICAqIGBwYWRFbmRgLCBgcGFkU3RhcnRgLCBgcGFyc2VJbnRgLCBgcG9wYCwgYHJhbmRvbWAsIGByZWR1Y2VgLCBgcmVkdWNlUmlnaHRgLFxuICAgICAqIGByZXBlYXRgLCBgcmVzdWx0YCwgYHJvdW5kYCwgYHJ1bkluQ29udGV4dGAsIGBzYW1wbGVgLCBgc2hpZnRgLCBgc2l6ZWAsXG4gICAgICogYHNuYWtlQ2FzZWAsIGBzb21lYCwgYHNvcnRlZEluZGV4YCwgYHNvcnRlZEluZGV4QnlgLCBgc29ydGVkTGFzdEluZGV4YCxcbiAgICAgKiBgc29ydGVkTGFzdEluZGV4QnlgLCBgc3RhcnRDYXNlYCwgYHN0YXJ0c1dpdGhgLCBgc3R1YkFycmF5YCwgYHN0dWJGYWxzZWAsXG4gICAgICogYHN0dWJPYmplY3RgLCBgc3R1YlN0cmluZ2AsIGBzdHViVHJ1ZWAsIGBzdWJ0cmFjdGAsIGBzdW1gLCBgc3VtQnlgLFxuICAgICAqIGB0ZW1wbGF0ZWAsIGB0aW1lc2AsIGB0b0Zpbml0ZWAsIGB0b0ludGVnZXJgLCBgdG9KU09OYCwgYHRvTGVuZ3RoYCxcbiAgICAgKiBgdG9Mb3dlcmAsIGB0b051bWJlcmAsIGB0b1NhZmVJbnRlZ2VyYCwgYHRvU3RyaW5nYCwgYHRvVXBwZXJgLCBgdHJpbWAsXG4gICAgICogYHRyaW1FbmRgLCBgdHJpbVN0YXJ0YCwgYHRydW5jYXRlYCwgYHVuZXNjYXBlYCwgYHVuaXF1ZUlkYCwgYHVwcGVyQ2FzZWAsXG4gICAgICogYHVwcGVyRmlyc3RgLCBgdmFsdWVgLCBhbmQgYHdvcmRzYFxuICAgICAqXG4gICAgICogQG5hbWUgX1xuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byB3cmFwIGluIGEgYGxvZGFzaGAgaW5zdGFuY2UuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIHNxdWFyZShuKSB7XG4gICAgICogICByZXR1cm4gbiAqIG47XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIHdyYXBwZWQgPSBfKFsxLCAyLCAzXSk7XG4gICAgICpcbiAgICAgKiAvLyBSZXR1cm5zIGFuIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKiB3cmFwcGVkLnJlZHVjZShfLmFkZCk7XG4gICAgICogLy8gPT4gNlxuICAgICAqXG4gICAgICogLy8gUmV0dXJucyBhIHdyYXBwZWQgdmFsdWUuXG4gICAgICogdmFyIHNxdWFyZXMgPSB3cmFwcGVkLm1hcChzcXVhcmUpO1xuICAgICAqXG4gICAgICogXy5pc0FycmF5KHNxdWFyZXMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoc3F1YXJlcy52YWx1ZSgpKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gbG9kYXNoKHZhbHVlKSB7XG4gICAgICBpZiAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiAhaXNBcnJheSh2YWx1ZSkgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIExhenlXcmFwcGVyKSkge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBMb2Rhc2hXcmFwcGVyKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCAnX193cmFwcGVkX18nKSkge1xuICAgICAgICAgIHJldHVybiB3cmFwcGVyQ2xvbmUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNyZWF0ZWAgd2l0aG91dCBzdXBwb3J0IGZvciBhc3NpZ25pbmdcbiAgICAgKiBwcm9wZXJ0aWVzIHRvIHRoZSBjcmVhdGVkIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHByb3RvIFRoZSBvYmplY3QgdG8gaW5oZXJpdCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICovXG4gICAgdmFyIGJhc2VDcmVhdGUgPSAoZnVuY3Rpb24oKSB7XG4gICAgICBmdW5jdGlvbiBvYmplY3QoKSB7fVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHByb3RvKSB7XG4gICAgICAgIGlmICghaXNPYmplY3QocHJvdG8pKSB7XG4gICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmplY3RDcmVhdGUpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0Q3JlYXRlKHByb3RvKTtcbiAgICAgICAgfVxuICAgICAgICBvYmplY3QucHJvdG90eXBlID0gcHJvdG87XG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgb2JqZWN0O1xuICAgICAgICBvYmplY3QucHJvdG90eXBlID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9KCkpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGZ1bmN0aW9uIHdob3NlIHByb3RvdHlwZSBjaGFpbiBzZXF1ZW5jZSB3cmFwcGVycyBpbmhlcml0IGZyb20uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VMb2Rhc2goKSB7XG4gICAgICAvLyBObyBvcGVyYXRpb24gcGVyZm9ybWVkLlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGNvbnN0cnVjdG9yIGZvciBjcmVhdGluZyBgbG9kYXNoYCB3cmFwcGVyIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbY2hhaW5BbGxdIEVuYWJsZSBleHBsaWNpdCBtZXRob2QgY2hhaW4gc2VxdWVuY2VzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIExvZGFzaFdyYXBwZXIodmFsdWUsIGNoYWluQWxsKSB7XG4gICAgICB0aGlzLl9fd3JhcHBlZF9fID0gdmFsdWU7XG4gICAgICB0aGlzLl9fYWN0aW9uc19fID0gW107XG4gICAgICB0aGlzLl9fY2hhaW5fXyA9ICEhY2hhaW5BbGw7XG4gICAgICB0aGlzLl9faW5kZXhfXyA9IDA7XG4gICAgICB0aGlzLl9fdmFsdWVzX18gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnkgZGVmYXVsdCwgdGhlIHRlbXBsYXRlIGRlbGltaXRlcnMgdXNlZCBieSBsb2Rhc2ggYXJlIGxpa2UgdGhvc2UgaW5cbiAgICAgKiBlbWJlZGRlZCBSdWJ5IChFUkIpIGFzIHdlbGwgYXMgRVMyMDE1IHRlbXBsYXRlIHN0cmluZ3MuIENoYW5nZSB0aGVcbiAgICAgKiBmb2xsb3dpbmcgdGVtcGxhdGUgc2V0dGluZ3MgdG8gdXNlIGFsdGVybmF0aXZlIGRlbGltaXRlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAqL1xuICAgIGxvZGFzaC50ZW1wbGF0ZVNldHRpbmdzID0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtSZWdFeHB9XG4gICAgICAgKi9cbiAgICAgICdlc2NhcGUnOiByZUVzY2FwZSxcblxuICAgICAgLyoqXG4gICAgICAgKiBVc2VkIHRvIGRldGVjdCBjb2RlIHRvIGJlIGV2YWx1YXRlZC5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgICAgICovXG4gICAgICAnZXZhbHVhdGUnOiByZUV2YWx1YXRlLFxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gaW5qZWN0LlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtSZWdFeHB9XG4gICAgICAgKi9cbiAgICAgICdpbnRlcnBvbGF0ZSc6IHJlSW50ZXJwb2xhdGUsXG5cbiAgICAgIC8qKlxuICAgICAgICogVXNlZCB0byByZWZlcmVuY2UgdGhlIGRhdGEgb2JqZWN0IGluIHRoZSB0ZW1wbGF0ZSB0ZXh0LlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICAgKi9cbiAgICAgICd2YXJpYWJsZSc6ICcnLFxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gaW1wb3J0IHZhcmlhYmxlcyBpbnRvIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAgICovXG4gICAgICAnaW1wb3J0cyc6IHtcblxuICAgICAgICAvKipcbiAgICAgICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAgICAgKlxuICAgICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNcbiAgICAgICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAgICAgKi9cbiAgICAgICAgJ18nOiBsb2Rhc2hcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gRW5zdXJlIHdyYXBwZXJzIGFyZSBpbnN0YW5jZXMgb2YgYGJhc2VMb2Rhc2hgLlxuICAgIGxvZGFzaC5wcm90b3R5cGUgPSBiYXNlTG9kYXNoLnByb3RvdHlwZTtcbiAgICBsb2Rhc2gucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gbG9kYXNoO1xuXG4gICAgTG9kYXNoV3JhcHBlci5wcm90b3R5cGUgPSBiYXNlQ3JlYXRlKGJhc2VMb2Rhc2gucHJvdG90eXBlKTtcbiAgICBMb2Rhc2hXcmFwcGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IExvZGFzaFdyYXBwZXI7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbGF6eSB3cmFwcGVyIG9iamVjdCB3aGljaCB3cmFwcyBgdmFsdWVgIHRvIGVuYWJsZSBsYXp5IGV2YWx1YXRpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gTGF6eVdyYXBwZXIodmFsdWUpIHtcbiAgICAgIHRoaXMuX193cmFwcGVkX18gPSB2YWx1ZTtcbiAgICAgIHRoaXMuX19hY3Rpb25zX18gPSBbXTtcbiAgICAgIHRoaXMuX19kaXJfXyA9IDE7XG4gICAgICB0aGlzLl9fZmlsdGVyZWRfXyA9IGZhbHNlO1xuICAgICAgdGhpcy5fX2l0ZXJhdGVlc19fID0gW107XG4gICAgICB0aGlzLl9fdGFrZUNvdW50X18gPSBNQVhfQVJSQVlfTEVOR1RIO1xuICAgICAgdGhpcy5fX3ZpZXdzX18gPSBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgdGhlIGxhenkgd3JhcHBlciBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGNsb25lXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIGBMYXp5V3JhcHBlcmAgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxhenlDbG9uZSgpIHtcbiAgICAgIHZhciByZXN1bHQgPSBuZXcgTGF6eVdyYXBwZXIodGhpcy5fX3dyYXBwZWRfXyk7XG4gICAgICByZXN1bHQuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7XG4gICAgICByZXN1bHQuX19kaXJfXyA9IHRoaXMuX19kaXJfXztcbiAgICAgIHJlc3VsdC5fX2ZpbHRlcmVkX18gPSB0aGlzLl9fZmlsdGVyZWRfXztcbiAgICAgIHJlc3VsdC5fX2l0ZXJhdGVlc19fID0gY29weUFycmF5KHRoaXMuX19pdGVyYXRlZXNfXyk7XG4gICAgICByZXN1bHQuX190YWtlQ291bnRfXyA9IHRoaXMuX190YWtlQ291bnRfXztcbiAgICAgIHJlc3VsdC5fX3ZpZXdzX18gPSBjb3B5QXJyYXkodGhpcy5fX3ZpZXdzX18pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnNlcyB0aGUgZGlyZWN0aW9uIG9mIGxhenkgaXRlcmF0aW9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSByZXZlcnNlXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IHJldmVyc2VkIGBMYXp5V3JhcHBlcmAgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxhenlSZXZlcnNlKCkge1xuICAgICAgaWYgKHRoaXMuX19maWx0ZXJlZF9fKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgTGF6eVdyYXBwZXIodGhpcyk7XG4gICAgICAgIHJlc3VsdC5fX2Rpcl9fID0gLTE7XG4gICAgICAgIHJlc3VsdC5fX2ZpbHRlcmVkX18gPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5jbG9uZSgpO1xuICAgICAgICByZXN1bHQuX19kaXJfXyAqPSAtMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXh0cmFjdHMgdGhlIHVud3JhcHBlZCB2YWx1ZSBmcm9tIGl0cyBsYXp5IHdyYXBwZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHZhbHVlXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsYXp5VmFsdWUoKSB7XG4gICAgICB2YXIgYXJyYXkgPSB0aGlzLl9fd3JhcHBlZF9fLnZhbHVlKCksXG4gICAgICAgICAgZGlyID0gdGhpcy5fX2Rpcl9fLFxuICAgICAgICAgIGlzQXJyID0gaXNBcnJheShhcnJheSksXG4gICAgICAgICAgaXNSaWdodCA9IGRpciA8IDAsXG4gICAgICAgICAgYXJyTGVuZ3RoID0gaXNBcnIgPyBhcnJheS5sZW5ndGggOiAwLFxuICAgICAgICAgIHZpZXcgPSBnZXRWaWV3KDAsIGFyckxlbmd0aCwgdGhpcy5fX3ZpZXdzX18pLFxuICAgICAgICAgIHN0YXJ0ID0gdmlldy5zdGFydCxcbiAgICAgICAgICBlbmQgPSB2aWV3LmVuZCxcbiAgICAgICAgICBsZW5ndGggPSBlbmQgLSBzdGFydCxcbiAgICAgICAgICBpbmRleCA9IGlzUmlnaHQgPyBlbmQgOiAoc3RhcnQgLSAxKSxcbiAgICAgICAgICBpdGVyYXRlZXMgPSB0aGlzLl9faXRlcmF0ZWVzX18sXG4gICAgICAgICAgaXRlckxlbmd0aCA9IGl0ZXJhdGVlcy5sZW5ndGgsXG4gICAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICAgIHRha2VDb3VudCA9IG5hdGl2ZU1pbihsZW5ndGgsIHRoaXMuX190YWtlQ291bnRfXyk7XG5cbiAgICAgIGlmICghaXNBcnIgfHwgKCFpc1JpZ2h0ICYmIGFyckxlbmd0aCA9PSBsZW5ndGggJiYgdGFrZUNvdW50ID09IGxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VXcmFwcGVyVmFsdWUoYXJyYXksIHRoaXMuX19hY3Rpb25zX18pO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuXG4gICAgICBvdXRlcjpcbiAgICAgIHdoaWxlIChsZW5ndGgtLSAmJiByZXNJbmRleCA8IHRha2VDb3VudCkge1xuICAgICAgICBpbmRleCArPSBkaXI7XG5cbiAgICAgICAgdmFyIGl0ZXJJbmRleCA9IC0xLFxuICAgICAgICAgICAgdmFsdWUgPSBhcnJheVtpbmRleF07XG5cbiAgICAgICAgd2hpbGUgKCsraXRlckluZGV4IDwgaXRlckxlbmd0aCkge1xuICAgICAgICAgIHZhciBkYXRhID0gaXRlcmF0ZWVzW2l0ZXJJbmRleF0sXG4gICAgICAgICAgICAgIGl0ZXJhdGVlID0gZGF0YS5pdGVyYXRlZSxcbiAgICAgICAgICAgICAgdHlwZSA9IGRhdGEudHlwZSxcbiAgICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSh2YWx1ZSk7XG5cbiAgICAgICAgICBpZiAodHlwZSA9PSBMQVpZX01BUF9GTEFHKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGNvbXB1dGVkO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWNvbXB1dGVkKSB7XG4gICAgICAgICAgICBpZiAodHlwZSA9PSBMQVpZX0ZJTFRFUl9GTEFHKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG91dGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgYExhenlXcmFwcGVyYCBpcyBhbiBpbnN0YW5jZSBvZiBgYmFzZUxvZGFzaGAuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlID0gYmFzZUNyZWF0ZShiYXNlTG9kYXNoLnByb3RvdHlwZSk7XG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTGF6eVdyYXBwZXI7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgaGFzaCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIEhhc2goZW50cmllcykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gZW50cmllcyA9PSBudWxsID8gMCA6IGVudHJpZXMubGVuZ3RoO1xuXG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2luZGV4XTtcbiAgICAgICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCBrZXktdmFsdWUgZW50cmllcyBmcm9tIHRoZSBoYXNoLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBjbGVhclxuICAgICAqIEBtZW1iZXJPZiBIYXNoXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaENsZWFyKCkge1xuICAgICAgdGhpcy5fX2RhdGFfXyA9IG5hdGl2ZUNyZWF0ZSA/IG5hdGl2ZUNyZWF0ZShudWxsKSA6IHt9O1xuICAgICAgdGhpcy5zaXplID0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgaGFzaC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZGVsZXRlXG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gaGFzaCBUaGUgaGFzaCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc2hEZWxldGUoa2V5KSB7XG4gICAgICB2YXIgcmVzdWx0ID0gdGhpcy5oYXMoa2V5KSAmJiBkZWxldGUgdGhpcy5fX2RhdGFfX1trZXldO1xuICAgICAgdGhpcy5zaXplIC09IHJlc3VsdCA/IDEgOiAwO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBoYXNoIHZhbHVlIGZvciBga2V5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZ2V0XG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaEdldChrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIGlmIChuYXRpdmVDcmVhdGUpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGRhdGFba2V5XTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCA9PT0gSEFTSF9VTkRFRklORUQgPyB1bmRlZmluZWQgOiByZXN1bHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpID8gZGF0YVtrZXldIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhIGhhc2ggdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgaGFzXG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaEhhcyhrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIHJldHVybiBuYXRpdmVDcmVhdGUgPyAoZGF0YVtrZXldICE9PSB1bmRlZmluZWQpIDogaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGhhc2ggYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgaGFzaCBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBoYXNoU2V0KGtleSwgdmFsdWUpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIHRoaXMuc2l6ZSArPSB0aGlzLmhhcyhrZXkpID8gMCA6IDE7XG4gICAgICBkYXRhW2tleV0gPSAobmF0aXZlQ3JlYXRlICYmIHZhbHVlID09PSB1bmRlZmluZWQpID8gSEFTSF9VTkRFRklORUQgOiB2YWx1ZTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBIYXNoYC5cbiAgICBIYXNoLnByb3RvdHlwZS5jbGVhciA9IGhhc2hDbGVhcjtcbiAgICBIYXNoLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBoYXNoRGVsZXRlO1xuICAgIEhhc2gucHJvdG90eXBlLmdldCA9IGhhc2hHZXQ7XG4gICAgSGFzaC5wcm90b3R5cGUuaGFzID0gaGFzaEhhcztcbiAgICBIYXNoLnByb3RvdHlwZS5zZXQgPSBoYXNoU2V0O1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBsaXN0IGNhY2hlIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gTGlzdENhY2hlKGVudHJpZXMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGVudHJpZXMgPT0gbnVsbCA/IDAgOiBlbnRyaWVzLmxlbmd0aDtcblxuICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgICAgIHRoaXMuc2V0KGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgbGlzdCBjYWNoZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgY2xlYXJcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICovXG4gICAgZnVuY3Rpb24gbGlzdENhY2hlQ2xlYXIoKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fID0gW107XG4gICAgICB0aGlzLnNpemUgPSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYGtleWAgYW5kIGl0cyB2YWx1ZSBmcm9tIHRoZSBsaXN0IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBkZWxldGVcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgICAgICBpbmRleCA9IGFzc29jSW5kZXhPZihkYXRhLCBrZXkpO1xuXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBsYXN0SW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gICAgICBpZiAoaW5kZXggPT0gbGFzdEluZGV4KSB7XG4gICAgICAgIGRhdGEucG9wKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcGxpY2UuY2FsbChkYXRhLCBpbmRleCwgMSk7XG4gICAgICB9XG4gICAgICAtLXRoaXMuc2l6ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxpc3QgY2FjaGUgdmFsdWUgZm9yIGBrZXlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBnZXRcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUdldChrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgICAgICBpbmRleCA9IGFzc29jSW5kZXhPZihkYXRhLCBrZXkpO1xuXG4gICAgICByZXR1cm4gaW5kZXggPCAwID8gdW5kZWZpbmVkIDogZGF0YVtpbmRleF1bMV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgbGlzdCBjYWNoZSB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBoYXNcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUhhcyhrZXkpIHtcbiAgICAgIHJldHVybiBhc3NvY0luZGV4T2YodGhpcy5fX2RhdGFfXywga2V5KSA+IC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGxpc3QgY2FjaGUgYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIExpc3RDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBsaXN0IGNhY2hlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICArK3RoaXMuc2l6ZTtcbiAgICAgICAgZGF0YS5wdXNoKFtrZXksIHZhbHVlXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhW2luZGV4XVsxXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYExpc3RDYWNoZWAuXG4gICAgTGlzdENhY2hlLnByb3RvdHlwZS5jbGVhciA9IGxpc3RDYWNoZUNsZWFyO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGVbJ2RlbGV0ZSddID0gbGlzdENhY2hlRGVsZXRlO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbGlzdENhY2hlR2V0O1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuaGFzID0gbGlzdENhY2hlSGFzO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuc2V0ID0gbGlzdENhY2hlU2V0O1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG1hcCBjYWNoZSBvYmplY3QgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBNYXBDYWNoZShlbnRyaWVzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBlbnRyaWVzID09IG51bGwgPyAwIDogZW50cmllcy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaW5kZXhdO1xuICAgICAgICB0aGlzLnNldChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIG1hcC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgY2xlYXJcbiAgICAgKiBAbWVtYmVyT2YgTWFwQ2FjaGVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZUNsZWFyKCkge1xuICAgICAgdGhpcy5zaXplID0gMDtcbiAgICAgIHRoaXMuX19kYXRhX18gPSB7XG4gICAgICAgICdoYXNoJzogbmV3IEhhc2gsXG4gICAgICAgICdtYXAnOiBuZXcgKE1hcCB8fCBMaXN0Q2FjaGUpLFxuICAgICAgICAnc3RyaW5nJzogbmV3IEhhc2hcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIG1hcC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZGVsZXRlXG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlRGVsZXRlKGtleSkge1xuICAgICAgdmFyIHJlc3VsdCA9IGdldE1hcERhdGEodGhpcywga2V5KVsnZGVsZXRlJ10oa2V5KTtcbiAgICAgIHRoaXMuc2l6ZSAtPSByZXN1bHQgPyAxIDogMDtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbWFwIHZhbHVlIGZvciBga2V5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZ2V0XG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlR2V0KGtleSkge1xuICAgICAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5nZXQoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYSBtYXAgdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgaGFzXG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlSGFzKGtleSkge1xuICAgICAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5oYXMoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBtYXAgYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG1hcCBjYWNoZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IGdldE1hcERhdGEodGhpcywga2V5KSxcbiAgICAgICAgICBzaXplID0gZGF0YS5zaXplO1xuXG4gICAgICBkYXRhLnNldChrZXksIHZhbHVlKTtcbiAgICAgIHRoaXMuc2l6ZSArPSBkYXRhLnNpemUgPT0gc2l6ZSA/IDAgOiAxO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYE1hcENhY2hlYC5cbiAgICBNYXBDYWNoZS5wcm90b3R5cGUuY2xlYXIgPSBtYXBDYWNoZUNsZWFyO1xuICAgIE1hcENhY2hlLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBtYXBDYWNoZURlbGV0ZTtcbiAgICBNYXBDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbWFwQ2FjaGVHZXQ7XG4gICAgTWFwQ2FjaGUucHJvdG90eXBlLmhhcyA9IG1hcENhY2hlSGFzO1xuICAgIE1hcENhY2hlLnByb3RvdHlwZS5zZXQgPSBtYXBDYWNoZVNldDtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBjYWNoZSBvYmplY3QgdG8gc3RvcmUgdW5pcXVlIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBTZXRDYWNoZSh2YWx1ZXMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHZhbHVlcyA9PSBudWxsID8gMCA6IHZhbHVlcy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuX19kYXRhX18gPSBuZXcgTWFwQ2FjaGU7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB0aGlzLmFkZCh2YWx1ZXNbaW5kZXhdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGB2YWx1ZWAgdG8gdGhlIGFycmF5IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBhZGRcbiAgICAgKiBAbWVtYmVyT2YgU2V0Q2FjaGVcbiAgICAgKiBAYWxpYXMgcHVzaFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNhY2hlLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNhY2hlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldENhY2hlQWRkKHZhbHVlKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fLnNldCh2YWx1ZSwgSEFTSF9VTkRFRklORUQpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgaW4gdGhlIGFycmF5IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBoYXNcbiAgICAgKiBAbWVtYmVyT2YgU2V0Q2FjaGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzZXRDYWNoZUhhcyh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0byBgU2V0Q2FjaGVgLlxuICAgIFNldENhY2hlLnByb3RvdHlwZS5hZGQgPSBTZXRDYWNoZS5wcm90b3R5cGUucHVzaCA9IHNldENhY2hlQWRkO1xuICAgIFNldENhY2hlLnByb3RvdHlwZS5oYXMgPSBzZXRDYWNoZUhhcztcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzdGFjayBjYWNoZSBvYmplY3QgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBTdGFjayhlbnRyaWVzKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18gPSBuZXcgTGlzdENhY2hlKGVudHJpZXMpO1xuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIHN0YWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBjbGVhclxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0YWNrQ2xlYXIoKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fID0gbmV3IExpc3RDYWNoZTtcbiAgICAgIHRoaXMuc2l6ZSA9IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIHN0YWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBkZWxldGVcbiAgICAgKiBAbWVtYmVyT2YgU3RhY2tcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhY2tEZWxldGUoa2V5KSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICAgICAgcmVzdWx0ID0gZGF0YVsnZGVsZXRlJ10oa2V5KTtcblxuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzdGFjayB2YWx1ZSBmb3IgYGtleWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGdldFxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja0dldChrZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmdldChrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhIHN0YWNrIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGhhc1xuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja0hhcyhrZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0YWNrIGBrZXlgIHRvIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHNldFxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBzdGFjayBjYWNoZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja1NldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gICAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIExpc3RDYWNoZSkge1xuICAgICAgICB2YXIgcGFpcnMgPSBkYXRhLl9fZGF0YV9fO1xuICAgICAgICBpZiAoIU1hcCB8fCAocGFpcnMubGVuZ3RoIDwgTEFSR0VfQVJSQVlfU0laRSAtIDEpKSB7XG4gICAgICAgICAgcGFpcnMucHVzaChba2V5LCB2YWx1ZV0pO1xuICAgICAgICAgIHRoaXMuc2l6ZSA9ICsrZGF0YS5zaXplO1xuICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEgPSB0aGlzLl9fZGF0YV9fID0gbmV3IE1hcENhY2hlKHBhaXJzKTtcbiAgICAgIH1cbiAgICAgIGRhdGEuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYFN0YWNrYC5cbiAgICBTdGFjay5wcm90b3R5cGUuY2xlYXIgPSBzdGFja0NsZWFyO1xuICAgIFN0YWNrLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBzdGFja0RlbGV0ZTtcbiAgICBTdGFjay5wcm90b3R5cGUuZ2V0ID0gc3RhY2tHZXQ7XG4gICAgU3RhY2sucHJvdG90eXBlLmhhcyA9IHN0YWNrSGFzO1xuICAgIFN0YWNrLnByb3RvdHlwZS5zZXQgPSBzdGFja1NldDtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgdGhlIGFycmF5LWxpa2UgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBpbmhlcml0ZWQgU3BlY2lmeSByZXR1cm5pbmcgaW5oZXJpdGVkIHByb3BlcnR5IG5hbWVzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlMaWtlS2V5cyh2YWx1ZSwgaW5oZXJpdGVkKSB7XG4gICAgICB2YXIgaXNBcnIgPSBpc0FycmF5KHZhbHVlKSxcbiAgICAgICAgICBpc0FyZyA9ICFpc0FyciAmJiBpc0FyZ3VtZW50cyh2YWx1ZSksXG4gICAgICAgICAgaXNCdWZmID0gIWlzQXJyICYmICFpc0FyZyAmJiBpc0J1ZmZlcih2YWx1ZSksXG4gICAgICAgICAgaXNUeXBlID0gIWlzQXJyICYmICFpc0FyZyAmJiAhaXNCdWZmICYmIGlzVHlwZWRBcnJheSh2YWx1ZSksXG4gICAgICAgICAgc2tpcEluZGV4ZXMgPSBpc0FyciB8fCBpc0FyZyB8fCBpc0J1ZmYgfHwgaXNUeXBlLFxuICAgICAgICAgIHJlc3VsdCA9IHNraXBJbmRleGVzID8gYmFzZVRpbWVzKHZhbHVlLmxlbmd0aCwgU3RyaW5nKSA6IFtdLFxuICAgICAgICAgIGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICBpZiAoKGluaGVyaXRlZCB8fCBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrZXkpKSAmJlxuICAgICAgICAgICAgIShza2lwSW5kZXhlcyAmJiAoXG4gICAgICAgICAgICAgICAvLyBTYWZhcmkgOSBoYXMgZW51bWVyYWJsZSBgYXJndW1lbnRzLmxlbmd0aGAgaW4gc3RyaWN0IG1vZGUuXG4gICAgICAgICAgICAgICBrZXkgPT0gJ2xlbmd0aCcgfHxcbiAgICAgICAgICAgICAgIC8vIE5vZGUuanMgMC4xMCBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiBidWZmZXJzLlxuICAgICAgICAgICAgICAgKGlzQnVmZiAmJiAoa2V5ID09ICdvZmZzZXQnIHx8IGtleSA9PSAncGFyZW50JykpIHx8XG4gICAgICAgICAgICAgICAvLyBQaGFudG9tSlMgMiBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiB0eXBlZCBhcnJheXMuXG4gICAgICAgICAgICAgICAoaXNUeXBlICYmIChrZXkgPT0gJ2J1ZmZlcicgfHwga2V5ID09ICdieXRlTGVuZ3RoJyB8fCBrZXkgPT0gJ2J5dGVPZmZzZXQnKSkgfHxcbiAgICAgICAgICAgICAgIC8vIFNraXAgaW5kZXggcHJvcGVydGllcy5cbiAgICAgICAgICAgICAgIGlzSW5kZXgoa2V5LCBsZW5ndGgpXG4gICAgICAgICAgICApKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnNhbXBsZWAgZm9yIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHNhbXBsZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlTYW1wbGUoYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYXJyYXlbYmFzZVJhbmRvbSgwLCBsZW5ndGggLSAxKV0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnNhbXBsZVNpemVgIGZvciBhcnJheXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzYW1wbGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byBzYW1wbGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlTYW1wbGVTaXplKGFycmF5LCBuKSB7XG4gICAgICByZXR1cm4gc2h1ZmZsZVNlbGYoY29weUFycmF5KGFycmF5KSwgYmFzZUNsYW1wKG4sIDAsIGFycmF5Lmxlbmd0aCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zaHVmZmxlYCBmb3IgYXJyYXlzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2h1ZmZsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzaHVmZmxlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBhcnJheVNodWZmbGUoYXJyYXkpIHtcbiAgICAgIHJldHVybiBzaHVmZmxlU2VsZihjb3B5QXJyYXkoYXJyYXkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGxpa2UgYGFzc2lnblZhbHVlYCBleGNlcHQgdGhhdCBpdCBkb2Vzbid0IGFzc2lnblxuICAgICAqIGB1bmRlZmluZWRgIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGFzc2lnbi5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgICAgIGlmICgodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZXEob2JqZWN0W2tleV0sIHZhbHVlKSkgfHxcbiAgICAgICAgICAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSkge1xuICAgICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc3NpZ25zIGB2YWx1ZWAgdG8gYGtleWAgb2YgYG9iamVjdGAgaWYgdGhlIGV4aXN0aW5nIHZhbHVlIGlzIG5vdCBlcXVpdmFsZW50XG4gICAgICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICAgICAgdmFyIG9ialZhbHVlID0gb2JqZWN0W2tleV07XG4gICAgICBpZiAoIShoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSAmJiBlcShvYmpWYWx1ZSwgdmFsdWUpKSB8fFxuICAgICAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmICEoa2V5IGluIG9iamVjdCkpKSB7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGluZGV4IGF0IHdoaWNoIHRoZSBga2V5YCBpcyBmb3VuZCBpbiBgYXJyYXlgIG9mIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXNzb2NJbmRleE9mKGFycmF5LCBrZXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgaWYgKGVxKGFycmF5W2xlbmd0aF1bMF0sIGtleSkpIHtcbiAgICAgICAgICByZXR1cm4gbGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWdncmVnYXRlcyBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAgb24gYGFjY3VtdWxhdG9yYCB3aXRoIGtleXMgdHJhbnNmb3JtZWRcbiAgICAgKiBieSBgaXRlcmF0ZWVgIGFuZCB2YWx1ZXMgc2V0IGJ5IGBzZXR0ZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc2V0dGVyIFRoZSBmdW5jdGlvbiB0byBzZXQgYGFjY3VtdWxhdG9yYCB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIHRvIHRyYW5zZm9ybSBrZXlzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBhY2N1bXVsYXRvciBUaGUgaW5pdGlhbCBhZ2dyZWdhdGVkIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGFjY3VtdWxhdG9yYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQWdncmVnYXRvcihjb2xsZWN0aW9uLCBzZXR0ZXIsIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgICAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGtleSwgY29sbGVjdGlvbikge1xuICAgICAgICBzZXR0ZXIoYWNjdW11bGF0b3IsIHZhbHVlLCBpdGVyYXRlZSh2YWx1ZSksIGNvbGxlY3Rpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uYXNzaWduYCB3aXRob3V0IHN1cHBvcnQgZm9yIG11bHRpcGxlIHNvdXJjZXNcbiAgICAgKiBvciBgY3VzdG9taXplcmAgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VBc3NpZ24ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgY29weU9iamVjdChzb3VyY2UsIGtleXMoc291cmNlKSwgb2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5hc3NpZ25JbmAgd2l0aG91dCBzdXBwb3J0IGZvciBtdWx0aXBsZSBzb3VyY2VzXG4gICAgICogb3IgYGN1c3RvbWl6ZXJgIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQXNzaWduSW4ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBhc3NpZ25WYWx1ZWAgYW5kIGBhc3NpZ25NZXJnZVZhbHVlYCB3aXRob3V0XG4gICAgICogdmFsdWUgY2hlY2tzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gICAgICBpZiAoa2V5ID09ICdfX3Byb3RvX18nICYmIGRlZmluZVByb3BlcnR5KSB7XG4gICAgICAgIGRlZmluZVByb3BlcnR5KG9iamVjdCwga2V5LCB7XG4gICAgICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsXG4gICAgICAgICAgJ2VudW1lcmFibGUnOiB0cnVlLFxuICAgICAgICAgICd2YWx1ZSc6IHZhbHVlLFxuICAgICAgICAgICd3cml0YWJsZSc6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmF0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWwgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gcGF0aHMgVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBwaWNrZWQgZWxlbWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUF0KG9iamVjdCwgcGF0aHMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGhzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBBcnJheShsZW5ndGgpLFxuICAgICAgICAgIHNraXAgPSBvYmplY3QgPT0gbnVsbDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W2luZGV4XSA9IHNraXAgPyB1bmRlZmluZWQgOiBnZXQob2JqZWN0LCBwYXRoc1tpbmRleF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5jbGFtcGAgd2hpY2ggZG9lc24ndCBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gY2xhbXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsb3dlcl0gVGhlIGxvd2VyIGJvdW5kLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB1cHBlciBUaGUgdXBwZXIgYm91bmQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY2xhbXBlZCBudW1iZXIuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUNsYW1wKG51bWJlciwgbG93ZXIsIHVwcGVyKSB7XG4gICAgICBpZiAobnVtYmVyID09PSBudW1iZXIpIHtcbiAgICAgICAgaWYgKHVwcGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBudW1iZXIgPSBudW1iZXIgPD0gdXBwZXIgPyBudW1iZXIgOiB1cHBlcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIG51bWJlciA9IG51bWJlciA+PSBsb3dlciA/IG51bWJlciA6IGxvd2VyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVtYmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNsb25lYCBhbmQgYF8uY2xvbmVEZWVwYCB3aGljaCB0cmFja3NcbiAgICAgKiB0cmF2ZXJzZWQgb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLlxuICAgICAqICAxIC0gRGVlcCBjbG9uZVxuICAgICAqICAyIC0gRmxhdHRlbiBpbmhlcml0ZWQgcHJvcGVydGllc1xuICAgICAqICA0IC0gQ2xvbmUgc3ltYm9sc1xuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNsb25pbmcuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtrZXldIFRoZSBrZXkgb2YgYHZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIHBhcmVudCBvYmplY3Qgb2YgYHZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIG9iamVjdHMgYW5kIHRoZWlyIGNsb25lIGNvdW50ZXJwYXJ0cy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VDbG9uZSh2YWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwga2V5LCBvYmplY3QsIHN0YWNrKSB7XG4gICAgICB2YXIgcmVzdWx0LFxuICAgICAgICAgIGlzRGVlcCA9IGJpdG1hc2sgJiBDTE9ORV9ERUVQX0ZMQUcsXG4gICAgICAgICAgaXNGbGF0ID0gYml0bWFzayAmIENMT05FX0ZMQVRfRkxBRyxcbiAgICAgICAgICBpc0Z1bGwgPSBiaXRtYXNrICYgQ0xPTkVfU1lNQk9MU19GTEFHO1xuXG4gICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICByZXN1bHQgPSBvYmplY3QgPyBjdXN0b21pemVyKHZhbHVlLCBrZXksIG9iamVjdCwgc3RhY2spIDogY3VzdG9taXplcih2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzQXJyKSB7XG4gICAgICAgIHJlc3VsdCA9IGluaXRDbG9uZUFycmF5KHZhbHVlKTtcbiAgICAgICAgaWYgKCFpc0RlZXApIHtcbiAgICAgICAgICByZXR1cm4gY29weUFycmF5KHZhbHVlLCByZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKHZhbHVlKSxcbiAgICAgICAgICAgIGlzRnVuYyA9IHRhZyA9PSBmdW5jVGFnIHx8IHRhZyA9PSBnZW5UYWc7XG5cbiAgICAgICAgaWYgKGlzQnVmZmVyKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBjbG9uZUJ1ZmZlcih2YWx1ZSwgaXNEZWVwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFnID09IG9iamVjdFRhZyB8fCB0YWcgPT0gYXJnc1RhZyB8fCAoaXNGdW5jICYmICFvYmplY3QpKSB7XG4gICAgICAgICAgcmVzdWx0ID0gKGlzRmxhdCB8fCBpc0Z1bmMpID8ge30gOiBpbml0Q2xvbmVPYmplY3QodmFsdWUpO1xuICAgICAgICAgIGlmICghaXNEZWVwKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNGbGF0XG4gICAgICAgICAgICAgID8gY29weVN5bWJvbHNJbih2YWx1ZSwgYmFzZUFzc2lnbkluKHJlc3VsdCwgdmFsdWUpKVxuICAgICAgICAgICAgICA6IGNvcHlTeW1ib2xzKHZhbHVlLCBiYXNlQXNzaWduKHJlc3VsdCwgdmFsdWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFjbG9uZWFibGVUYWdzW3RhZ10pIHtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3QgPyB2YWx1ZSA6IHt9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQgPSBpbml0Q2xvbmVCeVRhZyh2YWx1ZSwgdGFnLCBpc0RlZXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBDaGVjayBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcyBhbmQgcmV0dXJuIGl0cyBjb3JyZXNwb25kaW5nIGNsb25lLlxuICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgIHZhciBzdGFja2VkID0gc3RhY2suZ2V0KHZhbHVlKTtcbiAgICAgIGlmIChzdGFja2VkKSB7XG4gICAgICAgIHJldHVybiBzdGFja2VkO1xuICAgICAgfVxuICAgICAgc3RhY2suc2V0KHZhbHVlLCByZXN1bHQpO1xuXG4gICAgICBpZiAoaXNTZXQodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goZnVuY3Rpb24oc3ViVmFsdWUpIHtcbiAgICAgICAgICByZXN1bHQuYWRkKGJhc2VDbG9uZShzdWJWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3ViVmFsdWUsIHZhbHVlLCBzdGFjaykpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaXNNYXAodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goZnVuY3Rpb24oc3ViVmFsdWUsIGtleSkge1xuICAgICAgICAgIHJlc3VsdC5zZXQoa2V5LCBiYXNlQ2xvbmUoc3ViVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGtleSwgdmFsdWUsIHN0YWNrKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB2YXIga2V5c0Z1bmMgPSBpc0Z1bGxcbiAgICAgICAgPyAoaXNGbGF0ID8gZ2V0QWxsS2V5c0luIDogZ2V0QWxsS2V5cylcbiAgICAgICAgOiAoaXNGbGF0ID8ga2V5c0luIDoga2V5cyk7XG5cbiAgICAgIHZhciBwcm9wcyA9IGlzQXJyID8gdW5kZWZpbmVkIDoga2V5c0Z1bmModmFsdWUpO1xuICAgICAgYXJyYXlFYWNoKHByb3BzIHx8IHZhbHVlLCBmdW5jdGlvbihzdWJWYWx1ZSwga2V5KSB7XG4gICAgICAgIGlmIChwcm9wcykge1xuICAgICAgICAgIGtleSA9IHN1YlZhbHVlO1xuICAgICAgICAgIHN1YlZhbHVlID0gdmFsdWVba2V5XTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZWN1cnNpdmVseSBwb3B1bGF0ZSBjbG9uZSAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICBhc3NpZ25WYWx1ZShyZXN1bHQsIGtleSwgYmFzZUNsb25lKHN1YlZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBrZXksIHZhbHVlLCBzdGFjaykpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNvbmZvcm1zYCB3aGljaCBkb2Vzbid0IGNsb25lIGBzb3VyY2VgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgcHJlZGljYXRlcyB0byBjb25mb3JtIHRvLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUNvbmZvcm1zKHNvdXJjZSkge1xuICAgICAgdmFyIHByb3BzID0ga2V5cyhzb3VyY2UpO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICByZXR1cm4gYmFzZUNvbmZvcm1zVG8ob2JqZWN0LCBzb3VyY2UsIHByb3BzKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uY29uZm9ybXNUb2Agd2hpY2ggYWNjZXB0cyBgcHJvcHNgIHRvIGNoZWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgcHJlZGljYXRlcyB0byBjb25mb3JtIHRvLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgb2JqZWN0YCBjb25mb3JtcywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBwcm9wcykge1xuICAgICAgdmFyIGxlbmd0aCA9IHByb3BzLmxlbmd0aDtcbiAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gIWxlbmd0aDtcbiAgICAgIH1cbiAgICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIHZhciBrZXkgPSBwcm9wc1tsZW5ndGhdLFxuICAgICAgICAgICAgcHJlZGljYXRlID0gc291cmNlW2tleV0sXG4gICAgICAgICAgICB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgICAgIGlmICgodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSB8fCAhcHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZGVsYXlgIGFuZCBgXy5kZWZlcmAgd2hpY2ggYWNjZXB0cyBgYXJnc2BcbiAgICAgKiB0byBwcm92aWRlIHRvIGBmdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZGVsYXkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHdhaXQgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkgaW52b2NhdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gcHJvdmlkZSB0byBgZnVuY2AuXG4gICAgICogQHJldHVybnMge251bWJlcnxPYmplY3R9IFJldHVybnMgdGhlIHRpbWVyIGlkIG9yIHRpbWVvdXQgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VEZWxheShmdW5jLCB3YWl0LCBhcmdzKSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpIHsgZnVuYy5hcHBseSh1bmRlZmluZWQsIGFyZ3MpOyB9LCB3YWl0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2RzIGxpa2UgYF8uZGlmZmVyZW5jZWAgd2l0aG91dCBzdXBwb3J0XG4gICAgICogZm9yIGV4Y2x1ZGluZyBtdWx0aXBsZSBhcnJheXMgb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWVdIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlRGlmZmVyZW5jZShhcnJheSwgdmFsdWVzLCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgaW5jbHVkZXMgPSBhcnJheUluY2x1ZGVzLFxuICAgICAgICAgIGlzQ29tbW9uID0gdHJ1ZSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0gW10sXG4gICAgICAgICAgdmFsdWVzTGVuZ3RoID0gdmFsdWVzLmxlbmd0aDtcblxuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGlmIChpdGVyYXRlZSkge1xuICAgICAgICB2YWx1ZXMgPSBhcnJheU1hcCh2YWx1ZXMsIGJhc2VVbmFyeShpdGVyYXRlZSkpO1xuICAgICAgfVxuICAgICAgaWYgKGNvbXBhcmF0b3IpIHtcbiAgICAgICAgaW5jbHVkZXMgPSBhcnJheUluY2x1ZGVzV2l0aDtcbiAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHZhbHVlcy5sZW5ndGggPj0gTEFSR0VfQVJSQVlfU0laRSkge1xuICAgICAgICBpbmNsdWRlcyA9IGNhY2hlSGFzO1xuICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICB2YWx1ZXMgPSBuZXcgU2V0Q2FjaGUodmFsdWVzKTtcbiAgICAgIH1cbiAgICAgIG91dGVyOlxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSA9PSBudWxsID8gdmFsdWUgOiBpdGVyYXRlZSh2YWx1ZSk7XG5cbiAgICAgICAgdmFsdWUgPSAoY29tcGFyYXRvciB8fCB2YWx1ZSAhPT0gMCkgPyB2YWx1ZSA6IDA7XG4gICAgICAgIGlmIChpc0NvbW1vbiAmJiBjb21wdXRlZCA9PT0gY29tcHV0ZWQpIHtcbiAgICAgICAgICB2YXIgdmFsdWVzSW5kZXggPSB2YWx1ZXNMZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKHZhbHVlc0luZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXNbdmFsdWVzSW5kZXhdID09PSBjb21wdXRlZCkge1xuICAgICAgICAgICAgICBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFpbmNsdWRlcyh2YWx1ZXMsIGNvbXB1dGVkLCBjb21wYXJhdG9yKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mb3JFYWNoYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqL1xuICAgIHZhciBiYXNlRWFjaCA9IGNyZWF0ZUJhc2VFYWNoKGJhc2VGb3JPd24pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yRWFjaFJpZ2h0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqL1xuICAgIHZhciBiYXNlRWFjaFJpZ2h0ID0gY3JlYXRlQmFzZUVhY2goYmFzZUZvck93blJpZ2h0LCB0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmV2ZXJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYWxsIGVsZW1lbnRzIHBhc3MgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUV2ZXJ5KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHRydWU7XG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgcmVzdWx0ID0gISFwcmVkaWNhdGUodmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2RzIGxpa2UgYF8ubWF4YCBhbmQgYF8ubWluYCB3aGljaCBhY2NlcHRzIGFcbiAgICAgKiBgY29tcGFyYXRvcmAgdG8gZGV0ZXJtaW5lIHRoZSBleHRyZW11bSB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgdXNlZCB0byBjb21wYXJlIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZXh0cmVtdW0gdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUV4dHJlbXVtKGFycmF5LCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBjdXJyZW50ID0gaXRlcmF0ZWUodmFsdWUpO1xuXG4gICAgICAgIGlmIChjdXJyZW50ICE9IG51bGwgJiYgKGNvbXB1dGVkID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyAoY3VycmVudCA9PT0gY3VycmVudCAmJiAhaXNTeW1ib2woY3VycmVudCkpXG4gICAgICAgICAgICAgIDogY29tcGFyYXRvcihjdXJyZW50LCBjb21wdXRlZClcbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICB2YXIgY29tcHV0ZWQgPSBjdXJyZW50LFxuICAgICAgICAgICAgICByZXN1bHQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5maWxsYCB3aXRob3V0IGFuIGl0ZXJhdGVlIGNhbGwgZ3VhcmQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmaWxsLlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGZpbGwgYGFycmF5YCB3aXRoLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZW5kPWFycmF5Lmxlbmd0aF0gVGhlIGVuZCBwb3NpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlRmlsbChhcnJheSwgdmFsdWUsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICAgIHN0YXJ0ID0gdG9JbnRlZ2VyKHN0YXJ0KTtcbiAgICAgIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgc3RhcnQgPSAtc3RhcnQgPiBsZW5ndGggPyAwIDogKGxlbmd0aCArIHN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGVuZCA9IChlbmQgPT09IHVuZGVmaW5lZCB8fCBlbmQgPiBsZW5ndGgpID8gbGVuZ3RoIDogdG9JbnRlZ2VyKGVuZCk7XG4gICAgICBpZiAoZW5kIDwgMCkge1xuICAgICAgICBlbmQgKz0gbGVuZ3RoO1xuICAgICAgfVxuICAgICAgZW5kID0gc3RhcnQgPiBlbmQgPyAwIDogdG9MZW5ndGgoZW5kKTtcbiAgICAgIHdoaWxlIChzdGFydCA8IGVuZCkge1xuICAgICAgICBhcnJheVtzdGFydCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmZpbHRlcmAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmlsdGVyZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZpbHRlcihjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbikge1xuICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbikpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mbGF0dGVuYCB3aXRoIHN1cHBvcnQgZm9yIHJlc3RyaWN0aW5nIGZsYXR0ZW5pbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmbGF0dGVuLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkZXB0aCBUaGUgbWF4aW11bSByZWN1cnNpb24gZGVwdGguXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbcHJlZGljYXRlPWlzRmxhdHRlbmFibGVdIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdHJpY3RdIFJlc3RyaWN0IHRvIHZhbHVlcyB0aGF0IHBhc3MgYHByZWRpY2F0ZWAgY2hlY2tzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtyZXN1bHQ9W11dIFRoZSBpbml0aWFsIHJlc3VsdCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZsYXR0ZW4oYXJyYXksIGRlcHRoLCBwcmVkaWNhdGUsIGlzU3RyaWN0LCByZXN1bHQpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgICAgcHJlZGljYXRlIHx8IChwcmVkaWNhdGUgPSBpc0ZsYXR0ZW5hYmxlKTtcbiAgICAgIHJlc3VsdCB8fCAocmVzdWx0ID0gW10pO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgIGlmIChkZXB0aCA+IDAgJiYgcHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgIGlmIChkZXB0aCA+IDEpIHtcbiAgICAgICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGZsYXR0ZW4gYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgICAgICBiYXNlRmxhdHRlbih2YWx1ZSwgZGVwdGggLSAxLCBwcmVkaWNhdGUsIGlzU3RyaWN0LCByZXN1bHQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcnJheVB1c2gocmVzdWx0LCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKCFpc1N0cmljdCkge1xuICAgICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBiYXNlRm9yT3duYCB3aGljaCBpdGVyYXRlcyBvdmVyIGBvYmplY3RgXG4gICAgICogcHJvcGVydGllcyByZXR1cm5lZCBieSBga2V5c0Z1bmNgIGFuZCBpbnZva2VzIGBpdGVyYXRlZWAgZm9yIGVhY2ggcHJvcGVydHkuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBgb2JqZWN0YC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIHZhciBiYXNlRm9yID0gY3JlYXRlQmFzZUZvcigpO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlIGBiYXNlRm9yYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIHByb3BlcnRpZXNcbiAgICAgKiBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBrZXlzRnVuYyBUaGUgZnVuY3Rpb24gdG8gZ2V0IHRoZSBrZXlzIG9mIGBvYmplY3RgLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgdmFyIGJhc2VGb3JSaWdodCA9IGNyZWF0ZUJhc2VGb3IodHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mb3JPd25gIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZvck93bihvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3Iob2JqZWN0LCBpdGVyYXRlZSwga2V5cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yT3duUmlnaHRgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZvck93blJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvclJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUsIGtleXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmZ1bmN0aW9uc2Agd2hpY2ggY3JlYXRlcyBhbiBhcnJheSBvZlxuICAgICAqIGBvYmplY3RgIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZpbHRlcmVkIGZyb20gYHByb3BzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IG5hbWVzIHRvIGZpbHRlci5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGZ1bmN0aW9uIG5hbWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VGdW5jdGlvbnMob2JqZWN0LCBwcm9wcykge1xuICAgICAgcmV0dXJuIGFycmF5RmlsdGVyKHByb3BzLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgcmV0dXJuIGlzRnVuY3Rpb24ob2JqZWN0W2tleV0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZ2V0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZmF1bHQgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldChvYmplY3QsIHBhdGgpIHtcbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuXG4gICAgICB2YXIgaW5kZXggPSAwLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAob2JqZWN0ICE9IG51bGwgJiYgaW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgb2JqZWN0ID0gb2JqZWN0W3RvS2V5KHBhdGhbaW5kZXgrK10pXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoaW5kZXggJiYgaW5kZXggPT0gbGVuZ3RoKSA/IG9iamVjdCA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgZ2V0QWxsS2V5c2AgYW5kIGBnZXRBbGxLZXlzSW5gIHdoaWNoIHVzZXNcbiAgICAgKiBga2V5c0Z1bmNgIGFuZCBgc3ltYm9sc0Z1bmNgIHRvIGdldCB0aGUgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBhbmRcbiAgICAgKiBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBgb2JqZWN0YC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzeW1ib2xzRnVuYyBUaGUgZnVuY3Rpb24gdG8gZ2V0IHRoZSBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldEFsbEtleXMob2JqZWN0LCBrZXlzRnVuYywgc3ltYm9sc0Z1bmMpIHtcbiAgICAgIHZhciByZXN1bHQgPSBrZXlzRnVuYyhvYmplY3QpO1xuICAgICAgcmV0dXJuIGlzQXJyYXkob2JqZWN0KSA/IHJlc3VsdCA6IGFycmF5UHVzaChyZXN1bHQsIHN5bWJvbHNGdW5jKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBnZXRUYWdgIHdpdGhvdXQgZmFsbGJhY2tzIGZvciBidWdneSBlbnZpcm9ubWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWRUYWcgOiBudWxsVGFnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChzeW1Ub1N0cmluZ1RhZyAmJiBzeW1Ub1N0cmluZ1RhZyBpbiBPYmplY3QodmFsdWUpKVxuICAgICAgICA/IGdldFJhd1RhZyh2YWx1ZSlcbiAgICAgICAgOiBvYmplY3RUb1N0cmluZyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZ3RgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGdyZWF0ZXIgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUd0KHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIHZhbHVlID4gb3RoZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaGFzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUhhcyhvYmplY3QsIGtleSkge1xuICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmhhc0luYCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUhhc0luKG9iamVjdCwga2V5KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYga2V5IGluIE9iamVjdChvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmluUmFuZ2VgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCBUaGUgc3RhcnQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlbmQgVGhlIGVuZCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBudW1iZXJgIGlzIGluIHRoZSByYW5nZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJblJhbmdlKG51bWJlciwgc3RhcnQsIGVuZCkge1xuICAgICAgcmV0dXJuIG51bWJlciA+PSBuYXRpdmVNaW4oc3RhcnQsIGVuZCkgJiYgbnVtYmVyIDwgbmF0aXZlTWF4KHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5pbnRlcnNlY3Rpb25gLCB3aXRob3V0IHN1cHBvcnRcbiAgICAgKiBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcywgdGhhdCBhY2NlcHRzIGFuIGFycmF5IG9mIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheXMgVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2Ygc2hhcmVkIHZhbHVlcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSW50ZXJzZWN0aW9uKGFycmF5cywgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpIHtcbiAgICAgIHZhciBpbmNsdWRlcyA9IGNvbXBhcmF0b3IgPyBhcnJheUluY2x1ZGVzV2l0aCA6IGFycmF5SW5jbHVkZXMsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXlzWzBdLmxlbmd0aCxcbiAgICAgICAgICBvdGhMZW5ndGggPSBhcnJheXMubGVuZ3RoLFxuICAgICAgICAgIG90aEluZGV4ID0gb3RoTGVuZ3RoLFxuICAgICAgICAgIGNhY2hlcyA9IEFycmF5KG90aExlbmd0aCksXG4gICAgICAgICAgbWF4TGVuZ3RoID0gSW5maW5pdHksXG4gICAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICAgIHdoaWxlIChvdGhJbmRleC0tKSB7XG4gICAgICAgIHZhciBhcnJheSA9IGFycmF5c1tvdGhJbmRleF07XG4gICAgICAgIGlmIChvdGhJbmRleCAmJiBpdGVyYXRlZSkge1xuICAgICAgICAgIGFycmF5ID0gYXJyYXlNYXAoYXJyYXksIGJhc2VVbmFyeShpdGVyYXRlZSkpO1xuICAgICAgICB9XG4gICAgICAgIG1heExlbmd0aCA9IG5hdGl2ZU1pbihhcnJheS5sZW5ndGgsIG1heExlbmd0aCk7XG4gICAgICAgIGNhY2hlc1tvdGhJbmRleF0gPSAhY29tcGFyYXRvciAmJiAoaXRlcmF0ZWUgfHwgKGxlbmd0aCA+PSAxMjAgJiYgYXJyYXkubGVuZ3RoID49IDEyMCkpXG4gICAgICAgICAgPyBuZXcgU2V0Q2FjaGUob3RoSW5kZXggJiYgYXJyYXkpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBhcnJheSA9IGFycmF5c1swXTtcblxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgc2VlbiA9IGNhY2hlc1swXTtcblxuICAgICAgb3V0ZXI6XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCAmJiByZXN1bHQubGVuZ3RoIDwgbWF4TGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPyBpdGVyYXRlZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgICAgICB2YWx1ZSA9IChjb21wYXJhdG9yIHx8IHZhbHVlICE9PSAwKSA/IHZhbHVlIDogMDtcbiAgICAgICAgaWYgKCEoc2VlblxuICAgICAgICAgICAgICA/IGNhY2hlSGFzKHNlZW4sIGNvbXB1dGVkKVxuICAgICAgICAgICAgICA6IGluY2x1ZGVzKHJlc3VsdCwgY29tcHV0ZWQsIGNvbXBhcmF0b3IpXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgb3RoSW5kZXggPSBvdGhMZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKC0tb3RoSW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBjYWNoZSA9IGNhY2hlc1tvdGhJbmRleF07XG4gICAgICAgICAgICBpZiAoIShjYWNoZVxuICAgICAgICAgICAgICAgICAgPyBjYWNoZUhhcyhjYWNoZSwgY29tcHV0ZWQpXG4gICAgICAgICAgICAgICAgICA6IGluY2x1ZGVzKGFycmF5c1tvdGhJbmRleF0sIGNvbXB1dGVkLCBjb21wYXJhdG9yKSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzZWVuKSB7XG4gICAgICAgICAgICBzZWVuLnB1c2goY29tcHV0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW52ZXJ0YCBhbmQgYF8uaW52ZXJ0QnlgIHdoaWNoIGludmVydHNcbiAgICAgKiBgb2JqZWN0YCB3aXRoIHZhbHVlcyB0cmFuc2Zvcm1lZCBieSBgaXRlcmF0ZWVgIGFuZCBzZXQgYnkgYHNldHRlcmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc2V0dGVyIFRoZSBmdW5jdGlvbiB0byBzZXQgYGFjY3VtdWxhdG9yYCB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIHRvIHRyYW5zZm9ybSB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGFjY3VtdWxhdG9yIFRoZSBpbml0aWFsIGludmVydGVkIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGFjY3VtdWxhdG9yYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSW52ZXJ0ZXIob2JqZWN0LCBzZXR0ZXIsIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgICAgYmFzZUZvck93bihvYmplY3QsIGZ1bmN0aW9uKHZhbHVlLCBrZXksIG9iamVjdCkge1xuICAgICAgICBzZXR0ZXIoYWNjdW11bGF0b3IsIGl0ZXJhdGVlKHZhbHVlKSwga2V5LCBvYmplY3QpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW52b2tlYCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWxcbiAgICAgKiBtZXRob2QgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIG1ldGhvZCB0byBpbnZva2UuXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGludm9rZSB0aGUgbWV0aG9kIHdpdGguXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgaW52b2tlZCBtZXRob2QuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUludm9rZShvYmplY3QsIHBhdGgsIGFyZ3MpIHtcbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgb2JqZWN0ID0gcGFyZW50KG9iamVjdCwgcGF0aCk7XG4gICAgICB2YXIgZnVuYyA9IG9iamVjdCA9PSBudWxsID8gb2JqZWN0IDogb2JqZWN0W3RvS2V5KGxhc3QocGF0aCkpXTtcbiAgICAgIHJldHVybiBmdW5jID09IG51bGwgPyB1bmRlZmluZWQgOiBhcHBseShmdW5jLCBvYmplY3QsIGFyZ3MpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzQXJndW1lbnRzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc0FyZ3VtZW50cyh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gYXJnc1RhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc0FycmF5QnVmZmVyYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXkgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzQXJyYXlCdWZmZXIodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGFycmF5QnVmZmVyVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzRGF0ZWAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZGF0ZSBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNEYXRlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBkYXRlVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzRXF1YWxgIHdoaWNoIHN1cHBvcnRzIHBhcnRpYWwgY29tcGFyaXNvbnNcbiAgICAgKiBhbmQgdHJhY2tzIHRyYXZlcnNlZCBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLlxuICAgICAqICAxIC0gVW5vcmRlcmVkIGNvbXBhcmlzb25cbiAgICAgKiAgMiAtIFBhcnRpYWwgY29tcGFyaXNvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbc3RhY2tdIFRyYWNrcyB0cmF2ZXJzZWQgYHZhbHVlYCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzRXF1YWwodmFsdWUsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaykge1xuICAgICAgaWYgKHZhbHVlID09PSBvdGhlcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IG90aGVyID09IG51bGwgfHwgKCFpc09iamVjdExpa2UodmFsdWUpICYmICFpc09iamVjdExpa2Uob3RoZXIpKSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlSXNFcXVhbERlZXAodmFsdWUsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBiYXNlSXNFcXVhbCwgc3RhY2spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxgIGZvciBhcnJheXMgYW5kIG9iamVjdHMgd2hpY2ggcGVyZm9ybXNcbiAgICAgKiBkZWVwIGNvbXBhcmlzb25zIGFuZCB0cmFja3MgdHJhdmVyc2VkIG9iamVjdHMgZW5hYmxpbmcgb2JqZWN0cyB3aXRoIGNpcmN1bGFyXG4gICAgICogcmVmZXJlbmNlcyB0byBiZSBjb21wYXJlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBiYXNlSXNFcXVhbGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjdXN0b21pemVyIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29tcGFyaXNvbnMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZXF1YWxGdW5jIFRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZXF1aXZhbGVudHMgb2YgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbc3RhY2tdIFRyYWNrcyB0cmF2ZXJzZWQgYG9iamVjdGAgYW5kIGBvdGhlcmAgb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG9iamVjdHMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNFcXVhbERlZXAob2JqZWN0LCBvdGhlciwgYml0bWFzaywgY3VzdG9taXplciwgZXF1YWxGdW5jLCBzdGFjaykge1xuICAgICAgdmFyIG9iaklzQXJyID0gaXNBcnJheShvYmplY3QpLFxuICAgICAgICAgIG90aElzQXJyID0gaXNBcnJheShvdGhlciksXG4gICAgICAgICAgb2JqVGFnID0gb2JqSXNBcnIgPyBhcnJheVRhZyA6IGdldFRhZyhvYmplY3QpLFxuICAgICAgICAgIG90aFRhZyA9IG90aElzQXJyID8gYXJyYXlUYWcgOiBnZXRUYWcob3RoZXIpO1xuXG4gICAgICBvYmpUYWcgPSBvYmpUYWcgPT0gYXJnc1RhZyA/IG9iamVjdFRhZyA6IG9ialRhZztcbiAgICAgIG90aFRhZyA9IG90aFRhZyA9PSBhcmdzVGFnID8gb2JqZWN0VGFnIDogb3RoVGFnO1xuXG4gICAgICB2YXIgb2JqSXNPYmogPSBvYmpUYWcgPT0gb2JqZWN0VGFnLFxuICAgICAgICAgIG90aElzT2JqID0gb3RoVGFnID09IG9iamVjdFRhZyxcbiAgICAgICAgICBpc1NhbWVUYWcgPSBvYmpUYWcgPT0gb3RoVGFnO1xuXG4gICAgICBpZiAoaXNTYW1lVGFnICYmIGlzQnVmZmVyKG9iamVjdCkpIHtcbiAgICAgICAgaWYgKCFpc0J1ZmZlcihvdGhlcikpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgb2JqSXNBcnIgPSB0cnVlO1xuICAgICAgICBvYmpJc09iaiA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGlzU2FtZVRhZyAmJiAhb2JqSXNPYmopIHtcbiAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgICAgcmV0dXJuIChvYmpJc0FyciB8fCBpc1R5cGVkQXJyYXkob2JqZWN0KSlcbiAgICAgICAgICA/IGVxdWFsQXJyYXlzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spXG4gICAgICAgICAgOiBlcXVhbEJ5VGFnKG9iamVjdCwgb3RoZXIsIG9ialRhZywgYml0bWFzaywgY3VzdG9taXplciwgZXF1YWxGdW5jLCBzdGFjayk7XG4gICAgICB9XG4gICAgICBpZiAoIShiaXRtYXNrICYgQ09NUEFSRV9QQVJUSUFMX0ZMQUcpKSB7XG4gICAgICAgIHZhciBvYmpJc1dyYXBwZWQgPSBvYmpJc09iaiAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgJ19fd3JhcHBlZF9fJyksXG4gICAgICAgICAgICBvdGhJc1dyYXBwZWQgPSBvdGhJc09iaiAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCAnX193cmFwcGVkX18nKTtcblxuICAgICAgICBpZiAob2JqSXNXcmFwcGVkIHx8IG90aElzV3JhcHBlZCkge1xuICAgICAgICAgIHZhciBvYmpVbndyYXBwZWQgPSBvYmpJc1dyYXBwZWQgPyBvYmplY3QudmFsdWUoKSA6IG9iamVjdCxcbiAgICAgICAgICAgICAgb3RoVW53cmFwcGVkID0gb3RoSXNXcmFwcGVkID8gb3RoZXIudmFsdWUoKSA6IG90aGVyO1xuXG4gICAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgICAgICByZXR1cm4gZXF1YWxGdW5jKG9ialVud3JhcHBlZCwgb3RoVW53cmFwcGVkLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghaXNTYW1lVGFnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjayk7XG4gICAgICByZXR1cm4gZXF1YWxPYmplY3RzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTWFwYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBtYXAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNNYXAodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGdldFRhZyh2YWx1ZSkgPT0gbWFwVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTWF0Y2hgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBtYXRjaERhdGEgVGhlIHByb3BlcnR5IG5hbWVzLCB2YWx1ZXMsIGFuZCBjb21wYXJlIGZsYWdzIHRvIG1hdGNoLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgb2JqZWN0YCBpcyBhIG1hdGNoLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIG1hdGNoRGF0YSwgY3VzdG9taXplcikge1xuICAgICAgdmFyIGluZGV4ID0gbWF0Y2hEYXRhLmxlbmd0aCxcbiAgICAgICAgICBsZW5ndGggPSBpbmRleCxcbiAgICAgICAgICBub0N1c3RvbWl6ZXIgPSAhY3VzdG9taXplcjtcblxuICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAhbGVuZ3RoO1xuICAgICAgfVxuICAgICAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICB2YXIgZGF0YSA9IG1hdGNoRGF0YVtpbmRleF07XG4gICAgICAgIGlmICgobm9DdXN0b21pemVyICYmIGRhdGFbMl0pXG4gICAgICAgICAgICAgID8gZGF0YVsxXSAhPT0gb2JqZWN0W2RhdGFbMF1dXG4gICAgICAgICAgICAgIDogIShkYXRhWzBdIGluIG9iamVjdClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgZGF0YSA9IG1hdGNoRGF0YVtpbmRleF07XG4gICAgICAgIHZhciBrZXkgPSBkYXRhWzBdLFxuICAgICAgICAgICAgb2JqVmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgICAgICAgIHNyY1ZhbHVlID0gZGF0YVsxXTtcblxuICAgICAgICBpZiAobm9DdXN0b21pemVyICYmIGRhdGFbMl0pIHtcbiAgICAgICAgICBpZiAob2JqVmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBzdGFjayA9IG5ldyBTdGFjaztcbiAgICAgICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCwgc291cmNlLCBzdGFjayk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghKHJlc3VsdCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyBiYXNlSXNFcXVhbChzcmNWYWx1ZSwgb2JqVmFsdWUsIENPTVBBUkVfUEFSVElBTF9GTEFHIHwgQ09NUEFSRV9VTk9SREVSRURfRkxBRywgY3VzdG9taXplciwgc3RhY2spXG4gICAgICAgICAgICAgICAgOiByZXN1bHRcbiAgICAgICAgICAgICAgKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYXRpdmVgIHdpdGhvdXQgYmFkIHNoaW0gY2hlY2tzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc05hdGl2ZSh2YWx1ZSkge1xuICAgICAgaWYgKCFpc09iamVjdCh2YWx1ZSkgfHwgaXNNYXNrZWQodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBwYXR0ZXJuID0gaXNGdW5jdGlvbih2YWx1ZSkgPyByZUlzTmF0aXZlIDogcmVJc0hvc3RDdG9yO1xuICAgICAgcmV0dXJuIHBhdHRlcm4udGVzdCh0b1NvdXJjZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzUmVnRXhwYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSByZWdleHAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNSZWdFeHAodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHJlZ2V4cFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1NldGAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc2V0LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzU2V0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBnZXRUYWcodmFsdWUpID09IHNldFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1R5cGVkQXJyYXlgIHdpdGhvdXQgTm9kZS5qcyBvcHRpbWl6YXRpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHR5cGVkIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzVHlwZWRBcnJheSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiZcbiAgICAgICAgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pdGVyYXRlZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gW3ZhbHVlPV8uaWRlbnRpdHldIFRoZSB2YWx1ZSB0byBjb252ZXJ0IHRvIGFuIGl0ZXJhdGVlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgaXRlcmF0ZWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUl0ZXJhdGVlKHZhbHVlKSB7XG4gICAgICAvLyBEb24ndCBzdG9yZSB0aGUgYHR5cGVvZmAgcmVzdWx0IGluIGEgdmFyaWFibGUgdG8gYXZvaWQgYSBKSVQgYnVnIGluIFNhZmFyaSA5LlxuICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYwMzQgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gaWRlbnRpdHk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBpc0FycmF5KHZhbHVlKVxuICAgICAgICAgID8gYmFzZU1hdGNoZXNQcm9wZXJ0eSh2YWx1ZVswXSwgdmFsdWVbMV0pXG4gICAgICAgICAgOiBiYXNlTWF0Y2hlcyh2YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNgIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUtleXMob2JqZWN0KSB7XG4gICAgICBpZiAoIWlzUHJvdG90eXBlKG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIG5hdGl2ZUtleXMob2JqZWN0KTtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGZvciAodmFyIGtleSBpbiBPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYga2V5ICE9ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNJbmAgd2hpY2ggZG9lc24ndCB0cmVhdCBzcGFyc2UgYXJyYXlzIGFzIGRlbnNlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlS2V5c0luKG9iamVjdCkge1xuICAgICAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgICAgIHJldHVybiBuYXRpdmVLZXlzSW4ob2JqZWN0KTtcbiAgICAgIH1cbiAgICAgIHZhciBpc1Byb3RvID0gaXNQcm90b3R5cGUob2JqZWN0KSxcbiAgICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgICAgICBpZiAoIShrZXkgPT0gJ2NvbnN0cnVjdG9yJyAmJiAoaXNQcm90byB8fCAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubHRgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUx0KHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIHZhbHVlIDwgb3RoZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubWFwYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICByZXN1bHQgPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IEFycmF5KGNvbGxlY3Rpb24ubGVuZ3RoKSA6IFtdO1xuXG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uKSB7XG4gICAgICAgIHJlc3VsdFsrK2luZGV4XSA9IGl0ZXJhdGVlKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1hdGNoZXNgIHdoaWNoIGRvZXNuJ3QgY2xvbmUgYHNvdXJjZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSB2YWx1ZXMgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWF0Y2hlcyhzb3VyY2UpIHtcbiAgICAgIHZhciBtYXRjaERhdGEgPSBnZXRNYXRjaERhdGEoc291cmNlKTtcbiAgICAgIGlmIChtYXRjaERhdGEubGVuZ3RoID09IDEgJiYgbWF0Y2hEYXRhWzBdWzJdKSB7XG4gICAgICAgIHJldHVybiBtYXRjaGVzU3RyaWN0Q29tcGFyYWJsZShtYXRjaERhdGFbMF1bMF0sIG1hdGNoRGF0YVswXVsxXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBvYmplY3QgPT09IHNvdXJjZSB8fCBiYXNlSXNNYXRjaChvYmplY3QsIHNvdXJjZSwgbWF0Y2hEYXRhKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubWF0Y2hlc1Byb3BlcnR5YCB3aGljaCBkb2Vzbid0IGNsb25lIGBzcmNWYWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWF0Y2hlc1Byb3BlcnR5KHBhdGgsIHNyY1ZhbHVlKSB7XG4gICAgICBpZiAoaXNLZXkocGF0aCkgJiYgaXNTdHJpY3RDb21wYXJhYmxlKHNyY1ZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUodG9LZXkocGF0aCksIHNyY1ZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgdmFyIG9ialZhbHVlID0gZ2V0KG9iamVjdCwgcGF0aCk7XG4gICAgICAgIHJldHVybiAob2JqVmFsdWUgPT09IHVuZGVmaW5lZCAmJiBvYmpWYWx1ZSA9PT0gc3JjVmFsdWUpXG4gICAgICAgICAgPyBoYXNJbihvYmplY3QsIHBhdGgpXG4gICAgICAgICAgOiBiYXNlSXNFcXVhbChzcmNWYWx1ZSwgb2JqVmFsdWUsIENPTVBBUkVfUEFSVElBTF9GTEFHIHwgQ09NUEFSRV9VTk9SREVSRURfRkxBRyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1lcmdlYCB3aXRob3V0IHN1cHBvcnQgZm9yIG11bHRpcGxlIHNvdXJjZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzcmNJbmRleCBUaGUgaW5kZXggb2YgYHNvdXJjZWAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgbWVyZ2VkIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIHNvdXJjZSB2YWx1ZXMgYW5kIHRoZWlyIG1lcmdlZFxuICAgICAqICBjb3VudGVycGFydHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1lcmdlKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplciwgc3RhY2spIHtcbiAgICAgIGlmIChvYmplY3QgPT09IHNvdXJjZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBiYXNlRm9yKHNvdXJjZSwgZnVuY3Rpb24oc3JjVmFsdWUsIGtleSkge1xuICAgICAgICBzdGFjayB8fCAoc3RhY2sgPSBuZXcgU3RhY2spO1xuICAgICAgICBpZiAoaXNPYmplY3Qoc3JjVmFsdWUpKSB7XG4gICAgICAgICAgYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgYmFzZU1lcmdlLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdmFyIG5ld1ZhbHVlID0gY3VzdG9taXplclxuICAgICAgICAgICAgPyBjdXN0b21pemVyKHNhZmVHZXQob2JqZWN0LCBrZXkpLCBzcmNWYWx1ZSwgKGtleSArICcnKSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBzcmNWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9LCBrZXlzSW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZU1lcmdlYCBmb3IgYXJyYXlzIGFuZCBvYmplY3RzIHdoaWNoIHBlcmZvcm1zXG4gICAgICogZGVlcCBtZXJnZXMgYW5kIHRyYWNrcyB0cmF2ZXJzZWQgb2JqZWN0cyBlbmFibGluZyBvYmplY3RzIHdpdGggY2lyY3VsYXJcbiAgICAgKiByZWZlcmVuY2VzIHRvIGJlIG1lcmdlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBtZXJnZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3JjSW5kZXggVGhlIGluZGV4IG9mIGBzb3VyY2VgLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IG1lcmdlRnVuYyBUaGUgZnVuY3Rpb24gdG8gbWVyZ2UgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIHNvdXJjZSB2YWx1ZXMgYW5kIHRoZWlyIG1lcmdlZFxuICAgICAqICBjb3VudGVycGFydHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgbWVyZ2VGdW5jLCBjdXN0b21pemVyLCBzdGFjaykge1xuICAgICAgdmFyIG9ialZhbHVlID0gc2FmZUdldChvYmplY3QsIGtleSksXG4gICAgICAgICAgc3JjVmFsdWUgPSBzYWZlR2V0KHNvdXJjZSwga2V5KSxcbiAgICAgICAgICBzdGFja2VkID0gc3RhY2suZ2V0KHNyY1ZhbHVlKTtcblxuICAgICAgaWYgKHN0YWNrZWQpIHtcbiAgICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgc3RhY2tlZCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXJcbiAgICAgICAgPyBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSwgKGtleSArICcnKSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgdmFyIGlzQ29tbW9uID0gbmV3VmFsdWUgPT09IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGlzQ29tbW9uKSB7XG4gICAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkoc3JjVmFsdWUpLFxuICAgICAgICAgICAgaXNCdWZmID0gIWlzQXJyICYmIGlzQnVmZmVyKHNyY1ZhbHVlKSxcbiAgICAgICAgICAgIGlzVHlwZWQgPSAhaXNBcnIgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkoc3JjVmFsdWUpO1xuXG4gICAgICAgIG5ld1ZhbHVlID0gc3JjVmFsdWU7XG4gICAgICAgIGlmIChpc0FyciB8fCBpc0J1ZmYgfHwgaXNUeXBlZCkge1xuICAgICAgICAgIGlmIChpc0FycmF5KG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBvYmpWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoaXNBcnJheUxpa2VPYmplY3Qob2JqVmFsdWUpKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IGNvcHlBcnJheShvYmpWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGlzQnVmZikge1xuICAgICAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gY2xvbmVCdWZmZXIoc3JjVmFsdWUsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmIChpc1R5cGVkKSB7XG4gICAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBjbG9uZVR5cGVkQXJyYXkoc3JjVmFsdWUsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gW107XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qoc3JjVmFsdWUpIHx8IGlzQXJndW1lbnRzKHNyY1ZhbHVlKSkge1xuICAgICAgICAgIG5ld1ZhbHVlID0gb2JqVmFsdWU7XG4gICAgICAgICAgaWYgKGlzQXJndW1lbnRzKG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSB0b1BsYWluT2JqZWN0KG9ialZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoIWlzT2JqZWN0KG9ialZhbHVlKSB8fCBpc0Z1bmN0aW9uKG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBpbml0Q2xvbmVPYmplY3Qoc3JjVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNDb21tb24pIHtcbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgbWVyZ2Ugb2JqZWN0cyBhbmQgYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgIHN0YWNrLnNldChzcmNWYWx1ZSwgbmV3VmFsdWUpO1xuICAgICAgICBtZXJnZUZ1bmMobmV3VmFsdWUsIHNyY1ZhbHVlLCBzcmNJbmRleCwgY3VzdG9taXplciwgc3RhY2spO1xuICAgICAgICBzdGFja1snZGVsZXRlJ10oc3JjVmFsdWUpO1xuICAgICAgfVxuICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm50aGAgd2hpY2ggZG9lc24ndCBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIHJldHVybi5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbnRoIGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTnRoKGFycmF5LCBuKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbiArPSBuIDwgMCA/IGxlbmd0aCA6IDA7XG4gICAgICByZXR1cm4gaXNJbmRleChuLCBsZW5ndGgpID8gYXJyYXlbbl0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ub3JkZXJCeWAgd2l0aG91dCBwYXJhbSBndWFyZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9uW118T2JqZWN0W118c3RyaW5nW119IGl0ZXJhdGVlcyBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gb3JkZXJzIFRoZSBzb3J0IG9yZGVycyBvZiBgaXRlcmF0ZWVzYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgaXRlcmF0ZWVzLCBvcmRlcnMpIHtcbiAgICAgIGlmIChpdGVyYXRlZXMubGVuZ3RoKSB7XG4gICAgICAgIGl0ZXJhdGVlcyA9IGFycmF5TWFwKGl0ZXJhdGVlcywgZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShpdGVyYXRlZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgICAgICByZXR1cm4gYmFzZUdldCh2YWx1ZSwgaXRlcmF0ZWUubGVuZ3RoID09PSAxID8gaXRlcmF0ZWVbMF0gOiBpdGVyYXRlZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBpdGVyYXRlZTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpdGVyYXRlZXMgPSBbaWRlbnRpdHldO1xuICAgICAgfVxuXG4gICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgIGl0ZXJhdGVlcyA9IGFycmF5TWFwKGl0ZXJhdGVlcywgYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTtcblxuICAgICAgdmFyIHJlc3VsdCA9IGJhc2VNYXAoY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGtleSwgY29sbGVjdGlvbikge1xuICAgICAgICB2YXIgY3JpdGVyaWEgPSBhcnJheU1hcChpdGVyYXRlZXMsIGZ1bmN0aW9uKGl0ZXJhdGVlKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZXJhdGVlKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7ICdjcml0ZXJpYSc6IGNyaXRlcmlhLCAnaW5kZXgnOiArK2luZGV4LCAndmFsdWUnOiB2YWx1ZSB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBiYXNlU29ydEJ5KHJlc3VsdCwgZnVuY3Rpb24ob2JqZWN0LCBvdGhlcikge1xuICAgICAgICByZXR1cm4gY29tcGFyZU11bHRpcGxlKG9iamVjdCwgb3RoZXIsIG9yZGVycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5waWNrYCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWxcbiAgICAgKiBwcm9wZXJ0eSBpZGVudGlmaWVycy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXRocyBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VQaWNrKG9iamVjdCwgcGF0aHMpIHtcbiAgICAgIHJldHVybiBiYXNlUGlja0J5KG9iamVjdCwgcGF0aHMsIGZ1bmN0aW9uKHZhbHVlLCBwYXRoKSB7XG4gICAgICAgIHJldHVybiBoYXNJbihvYmplY3QsIHBhdGgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgIGBfLnBpY2tCeWAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IHBhdGhzIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBwaWNrLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgcHJvcGVydHkuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUGlja0J5KG9iamVjdCwgcGF0aHMsIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gcGF0aHMubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IHt9O1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgcGF0aCA9IHBhdGhzW2luZGV4XSxcbiAgICAgICAgICAgIHZhbHVlID0gYmFzZUdldChvYmplY3QsIHBhdGgpO1xuXG4gICAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIHBhdGgpKSB7XG4gICAgICAgICAgYmFzZVNldChyZXN1bHQsIGNhc3RQYXRoKHBhdGgsIG9iamVjdCksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VQcm9wZXJ0eWAgd2hpY2ggc3VwcG9ydHMgZGVlcCBwYXRocy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhY2Nlc3NvciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUHJvcGVydHlEZWVwKHBhdGgpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VHZXQob2JqZWN0LCBwYXRoKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHVsbEFsbEJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlXG4gICAgICogc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlXSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUHVsbEFsbChhcnJheSwgdmFsdWVzLCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGluZGV4T2YgPSBjb21wYXJhdG9yID8gYmFzZUluZGV4T2ZXaXRoIDogYmFzZUluZGV4T2YsXG4gICAgICAgICAgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSB2YWx1ZXMubGVuZ3RoLFxuICAgICAgICAgIHNlZW4gPSBhcnJheTtcblxuICAgICAgaWYgKGFycmF5ID09PSB2YWx1ZXMpIHtcbiAgICAgICAgdmFsdWVzID0gY29weUFycmF5KHZhbHVlcyk7XG4gICAgICB9XG4gICAgICBpZiAoaXRlcmF0ZWUpIHtcbiAgICAgICAgc2VlbiA9IGFycmF5TWFwKGFycmF5LCBiYXNlVW5hcnkoaXRlcmF0ZWUpKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBmcm9tSW5kZXggPSAwLFxuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdLFxuICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSA/IGl0ZXJhdGVlKHZhbHVlKSA6IHZhbHVlO1xuXG4gICAgICAgIHdoaWxlICgoZnJvbUluZGV4ID0gaW5kZXhPZihzZWVuLCBjb21wdXRlZCwgZnJvbUluZGV4LCBjb21wYXJhdG9yKSkgPiAtMSkge1xuICAgICAgICAgIGlmIChzZWVuICE9PSBhcnJheSkge1xuICAgICAgICAgICAgc3BsaWNlLmNhbGwoc2VlbiwgZnJvbUluZGV4LCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BsaWNlLmNhbGwoYXJyYXksIGZyb21JbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5wdWxsQXRgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaW5kaXZpZHVhbFxuICAgICAqIGluZGV4ZXMgb3IgY2FwdHVyaW5nIHRoZSByZW1vdmVkIGVsZW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyW119IGluZGV4ZXMgVGhlIGluZGV4ZXMgb2YgZWxlbWVudHMgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VQdWxsQXQoYXJyYXksIGluZGV4ZXMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA/IGluZGV4ZXMubGVuZ3RoIDogMCxcbiAgICAgICAgICBsYXN0SW5kZXggPSBsZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgdmFyIGluZGV4ID0gaW5kZXhlc1tsZW5ndGhdO1xuICAgICAgICBpZiAobGVuZ3RoID09IGxhc3RJbmRleCB8fCBpbmRleCAhPT0gcHJldmlvdXMpIHtcbiAgICAgICAgICB2YXIgcHJldmlvdXMgPSBpbmRleDtcbiAgICAgICAgICBpZiAoaXNJbmRleChpbmRleCkpIHtcbiAgICAgICAgICAgIHNwbGljZS5jYWxsKGFycmF5LCBpbmRleCwgMSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJhc2VVbnNldChhcnJheSwgaW5kZXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnJhbmRvbWAgd2l0aG91dCBzdXBwb3J0IGZvciByZXR1cm5pbmdcbiAgICAgKiBmbG9hdGluZy1wb2ludCBudW1iZXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbG93ZXIgVGhlIGxvd2VyIGJvdW5kLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB1cHBlciBUaGUgdXBwZXIgYm91bmQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcmFuZG9tIG51bWJlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUmFuZG9tKGxvd2VyLCB1cHBlcikge1xuICAgICAgcmV0dXJuIGxvd2VyICsgbmF0aXZlRmxvb3IobmF0aXZlUmFuZG9tKCkgKiAodXBwZXIgLSBsb3dlciArIDEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yYW5nZWAgYW5kIGBfLnJhbmdlUmlnaHRgIHdoaWNoIGRvZXNuJ3RcbiAgICAgKiBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgVGhlIHN0YXJ0IG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZW5kIFRoZSBlbmQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGVwIFRoZSB2YWx1ZSB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IGJ5LlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zyb21SaWdodF0gU3BlY2lmeSBpdGVyYXRpbmcgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZ2Ugb2YgbnVtYmVycy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUmFuZ2Uoc3RhcnQsIGVuZCwgc3RlcCwgZnJvbVJpZ2h0KSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBuYXRpdmVNYXgobmF0aXZlQ2VpbCgoZW5kIC0gc3RhcnQpIC8gKHN0ZXAgfHwgMSkpLCAwKSxcbiAgICAgICAgICByZXN1bHQgPSBBcnJheShsZW5ndGgpO1xuXG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgcmVzdWx0W2Zyb21SaWdodCA/IGxlbmd0aCA6ICsraW5kZXhdID0gc3RhcnQ7XG4gICAgICAgIHN0YXJ0ICs9IHN0ZXA7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnJlcGVhdGAgd2hpY2ggZG9lc24ndCBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gcmVwZWF0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IHRoZSBzdHJpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmVwZWF0ZWQgc3RyaW5nLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VSZXBlYXQoc3RyaW5nLCBuKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gJyc7XG4gICAgICBpZiAoIXN0cmluZyB8fCBuIDwgMSB8fCBuID4gTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgLy8gTGV2ZXJhZ2UgdGhlIGV4cG9uZW50aWF0aW9uIGJ5IHNxdWFyaW5nIGFsZ29yaXRobSBmb3IgYSBmYXN0ZXIgcmVwZWF0LlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0V4cG9uZW50aWF0aW9uX2J5X3NxdWFyaW5nIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICBkbyB7XG4gICAgICAgIGlmIChuICUgMikge1xuICAgICAgICAgIHJlc3VsdCArPSBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgbiA9IG5hdGl2ZUZsb29yKG4gLyAyKTtcbiAgICAgICAgaWYgKG4pIHtcbiAgICAgICAgICBzdHJpbmcgKz0gc3RyaW5nO1xuICAgICAgICB9XG4gICAgICB9IHdoaWxlIChuKTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZXN0YCB3aGljaCBkb2Vzbid0IHZhbGlkYXRlIG9yIGNvZXJjZSBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VSZXN0KGZ1bmMsIHN0YXJ0KSB7XG4gICAgICByZXR1cm4gc2V0VG9TdHJpbmcob3ZlclJlc3QoZnVuYywgc3RhcnQsIGlkZW50aXR5KSwgZnVuYyArICcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zYW1wbGVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBzYW1wbGUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJhbmRvbSBlbGVtZW50LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTYW1wbGUoY29sbGVjdGlvbikge1xuICAgICAgcmV0dXJuIGFycmF5U2FtcGxlKHZhbHVlcyhjb2xsZWN0aW9uKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc2FtcGxlU2l6ZWAgd2l0aG91dCBwYXJhbSBndWFyZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIHNhbXBsZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHNhbXBsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHJhbmRvbSBlbGVtZW50cy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2FtcGxlU2l6ZShjb2xsZWN0aW9uLCBuKSB7XG4gICAgICB2YXIgYXJyYXkgPSB2YWx1ZXMoY29sbGVjdGlvbik7XG4gICAgICByZXR1cm4gc2h1ZmZsZVNlbGYoYXJyYXksIGJhc2VDbGFtcChuLCAwLCBhcnJheS5sZW5ndGgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zZXRgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIHBhdGggY3JlYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGlmICghaXNPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgfVxuICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoLFxuICAgICAgICAgIGxhc3RJbmRleCA9IGxlbmd0aCAtIDEsXG4gICAgICAgICAgbmVzdGVkID0gb2JqZWN0O1xuXG4gICAgICB3aGlsZSAobmVzdGVkICE9IG51bGwgJiYgKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIga2V5ID0gdG9LZXkocGF0aFtpbmRleF0pLFxuICAgICAgICAgICAgbmV3VmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICBpZiAoa2V5ID09PSAnX19wcm90b19fJyB8fCBrZXkgPT09ICdjb25zdHJ1Y3RvcicgfHwga2V5ID09PSAncHJvdG90eXBlJykge1xuICAgICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5kZXggIT0gbGFzdEluZGV4KSB7XG4gICAgICAgICAgdmFyIG9ialZhbHVlID0gbmVzdGVkW2tleV07XG4gICAgICAgICAgbmV3VmFsdWUgPSBjdXN0b21pemVyID8gY3VzdG9taXplcihvYmpWYWx1ZSwga2V5LCBuZXN0ZWQpIDogdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IGlzT2JqZWN0KG9ialZhbHVlKVxuICAgICAgICAgICAgICA/IG9ialZhbHVlXG4gICAgICAgICAgICAgIDogKGlzSW5kZXgocGF0aFtpbmRleCArIDFdKSA/IFtdIDoge30pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhc3NpZ25WYWx1ZShuZXN0ZWQsIGtleSwgbmV3VmFsdWUpO1xuICAgICAgICBuZXN0ZWQgPSBuZXN0ZWRba2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYHNldERhdGFgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaG90IGxvb3Agc2hvcnRpbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFzc29jaWF0ZSBtZXRhZGF0YSB3aXRoLlxuICAgICAqIEBwYXJhbSB7Kn0gZGF0YSBUaGUgbWV0YWRhdGEuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBmdW5jYC5cbiAgICAgKi9cbiAgICB2YXIgYmFzZVNldERhdGEgPSAhbWV0YU1hcCA/IGlkZW50aXR5IDogZnVuY3Rpb24oZnVuYywgZGF0YSkge1xuICAgICAgbWV0YU1hcC5zZXQoZnVuYywgZGF0YSk7XG4gICAgICByZXR1cm4gZnVuYztcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYHNldFRvU3RyaW5nYCB3aXRob3V0IHN1cHBvcnQgZm9yIGhvdCBsb29wIHNob3J0aW5nLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc3RyaW5nIFRoZSBgdG9TdHJpbmdgIHJlc3VsdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICAgICAqL1xuICAgIHZhciBiYXNlU2V0VG9TdHJpbmcgPSAhZGVmaW5lUHJvcGVydHkgPyBpZGVudGl0eSA6IGZ1bmN0aW9uKGZ1bmMsIHN0cmluZykge1xuICAgICAgcmV0dXJuIGRlZmluZVByb3BlcnR5KGZ1bmMsICd0b1N0cmluZycsIHtcbiAgICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsXG4gICAgICAgICdlbnVtZXJhYmxlJzogZmFsc2UsXG4gICAgICAgICd2YWx1ZSc6IGNvbnN0YW50KHN0cmluZyksXG4gICAgICAgICd3cml0YWJsZSc6IHRydWVcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zaHVmZmxlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2h1ZmZsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzaHVmZmxlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2h1ZmZsZShjb2xsZWN0aW9uKSB7XG4gICAgICByZXR1cm4gc2h1ZmZsZVNlbGYodmFsdWVzKGNvbGxlY3Rpb24pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zbGljZWAgd2l0aG91dCBhbiBpdGVyYXRlZSBjYWxsIGd1YXJkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2xpY2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD0wXSBUaGUgc3RhcnQgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtlbmQ9YXJyYXkubGVuZ3RoXSBUaGUgZW5kIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgICAgaWYgKHN0YXJ0IDwgMCkge1xuICAgICAgICBzdGFydCA9IC1zdGFydCA+IGxlbmd0aCA/IDAgOiAobGVuZ3RoICsgc3RhcnQpO1xuICAgICAgfVxuICAgICAgZW5kID0gZW5kID4gbGVuZ3RoID8gbGVuZ3RoIDogZW5kO1xuICAgICAgaWYgKGVuZCA8IDApIHtcbiAgICAgICAgZW5kICs9IGxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGxlbmd0aCA9IHN0YXJ0ID4gZW5kID8gMCA6ICgoZW5kIC0gc3RhcnQpID4+PiAwKTtcbiAgICAgIHN0YXJ0ID4+Pj0gMDtcblxuICAgICAgdmFyIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICByZXN1bHRbaW5kZXhdID0gYXJyYXlbaW5kZXggKyBzdGFydF07XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvbWVgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbnkgZWxlbWVudCBwYXNzZXMgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTb21lKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIHJlc3VsdDtcblxuICAgICAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKSB7XG4gICAgICAgIHJlc3VsdCA9IHByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pO1xuICAgICAgICByZXR1cm4gIXJlc3VsdDtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuICEhcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvcnRlZEluZGV4YCBhbmQgYF8uc29ydGVkTGFzdEluZGV4YCB3aGljaFxuICAgICAqIHBlcmZvcm1zIGEgYmluYXJ5IHNlYXJjaCBvZiBgYXJyYXlgIHRvIGRldGVybWluZSB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYFxuICAgICAqIHNob3VsZCBiZSBpbnNlcnRlZCBpbnRvIGBhcnJheWAgaW4gb3JkZXIgdG8gbWFpbnRhaW4gaXRzIHNvcnQgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtyZXRIaWdoZXN0XSBTcGVjaWZ5IHJldHVybmluZyB0aGUgaGlnaGVzdCBxdWFsaWZpZWQgaW5kZXguXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICAgKiAgaW50byBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUsIHJldEhpZ2hlc3QpIHtcbiAgICAgIHZhciBsb3cgPSAwLFxuICAgICAgICAgIGhpZ2ggPSBhcnJheSA9PSBudWxsID8gbG93IDogYXJyYXkubGVuZ3RoO1xuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmIHZhbHVlID09PSB2YWx1ZSAmJiBoaWdoIDw9IEhBTEZfTUFYX0FSUkFZX0xFTkdUSCkge1xuICAgICAgICB3aGlsZSAobG93IDwgaGlnaCkge1xuICAgICAgICAgIHZhciBtaWQgPSAobG93ICsgaGlnaCkgPj4+IDEsXG4gICAgICAgICAgICAgIGNvbXB1dGVkID0gYXJyYXlbbWlkXTtcblxuICAgICAgICAgIGlmIChjb21wdXRlZCAhPT0gbnVsbCAmJiAhaXNTeW1ib2woY29tcHV0ZWQpICYmXG4gICAgICAgICAgICAgIChyZXRIaWdoZXN0ID8gKGNvbXB1dGVkIDw9IHZhbHVlKSA6IChjb21wdXRlZCA8IHZhbHVlKSkpIHtcbiAgICAgICAgICAgIGxvdyA9IG1pZCArIDE7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGhpZ2ggPSBtaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoaWdoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleEJ5KGFycmF5LCB2YWx1ZSwgaWRlbnRpdHksIHJldEhpZ2hlc3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvcnRlZEluZGV4QnlgIGFuZCBgXy5zb3J0ZWRMYXN0SW5kZXhCeWBcbiAgICAgKiB3aGljaCBpbnZva2VzIGBpdGVyYXRlZWAgZm9yIGB2YWx1ZWAgYW5kIGVhY2ggZWxlbWVudCBvZiBgYXJyYXlgIHRvIGNvbXB1dGVcbiAgICAgKiB0aGVpciBzb3J0IHJhbmtpbmcuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OyAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgc29ydGVkIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZXZhbHVhdGUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbcmV0SGlnaGVzdF0gU3BlY2lmeSByZXR1cm5pbmcgdGhlIGhpZ2hlc3QgcXVhbGlmaWVkIGluZGV4LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGl0ZXJhdGVlLCByZXRIaWdoZXN0KSB7XG4gICAgICB2YXIgbG93ID0gMCxcbiAgICAgICAgICBoaWdoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoaGlnaCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgdmFsdWUgPSBpdGVyYXRlZSh2YWx1ZSk7XG4gICAgICB2YXIgdmFsSXNOYU4gPSB2YWx1ZSAhPT0gdmFsdWUsXG4gICAgICAgICAgdmFsSXNOdWxsID0gdmFsdWUgPT09IG51bGwsXG4gICAgICAgICAgdmFsSXNTeW1ib2wgPSBpc1N5bWJvbCh2YWx1ZSksXG4gICAgICAgICAgdmFsSXNVbmRlZmluZWQgPSB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xuXG4gICAgICB3aGlsZSAobG93IDwgaGlnaCkge1xuICAgICAgICB2YXIgbWlkID0gbmF0aXZlRmxvb3IoKGxvdyArIGhpZ2gpIC8gMiksXG4gICAgICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlKGFycmF5W21pZF0pLFxuICAgICAgICAgICAgb3RoSXNEZWZpbmVkID0gY29tcHV0ZWQgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG90aElzTnVsbCA9IGNvbXB1dGVkID09PSBudWxsLFxuICAgICAgICAgICAgb3RoSXNSZWZsZXhpdmUgPSBjb21wdXRlZCA9PT0gY29tcHV0ZWQsXG4gICAgICAgICAgICBvdGhJc1N5bWJvbCA9IGlzU3ltYm9sKGNvbXB1dGVkKTtcblxuICAgICAgICBpZiAodmFsSXNOYU4pIHtcbiAgICAgICAgICB2YXIgc2V0TG93ID0gcmV0SGlnaGVzdCB8fCBvdGhJc1JlZmxleGl2ZTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWxJc1VuZGVmaW5lZCkge1xuICAgICAgICAgIHNldExvdyA9IG90aElzUmVmbGV4aXZlICYmIChyZXRIaWdoZXN0IHx8IG90aElzRGVmaW5lZCk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsSXNOdWxsKSB7XG4gICAgICAgICAgc2V0TG93ID0gb3RoSXNSZWZsZXhpdmUgJiYgb3RoSXNEZWZpbmVkICYmIChyZXRIaWdoZXN0IHx8ICFvdGhJc051bGwpO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbElzU3ltYm9sKSB7XG4gICAgICAgICAgc2V0TG93ID0gb3RoSXNSZWZsZXhpdmUgJiYgb3RoSXNEZWZpbmVkICYmICFvdGhJc051bGwgJiYgKHJldEhpZ2hlc3QgfHwgIW90aElzU3ltYm9sKTtcbiAgICAgICAgfSBlbHNlIGlmIChvdGhJc051bGwgfHwgb3RoSXNTeW1ib2wpIHtcbiAgICAgICAgICBzZXRMb3cgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRMb3cgPSByZXRIaWdoZXN0ID8gKGNvbXB1dGVkIDw9IHZhbHVlKSA6IChjb21wdXRlZCA8IHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2V0TG93KSB7XG4gICAgICAgICAgbG93ID0gbWlkICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoaWdoID0gbWlkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmF0aXZlTWluKGhpZ2gsIE1BWF9BUlJBWV9JTkRFWCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc29ydGVkVW5pcWAgYW5kIGBfLnNvcnRlZFVuaXFCeWAgd2l0aG91dFxuICAgICAqIHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNvcnRlZFVuaXEoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlID8gaXRlcmF0ZWUodmFsdWUpIDogdmFsdWU7XG5cbiAgICAgICAgaWYgKCFpbmRleCB8fCAhZXEoY29tcHV0ZWQsIHNlZW4pKSB7XG4gICAgICAgICAgdmFyIHNlZW4gPSBjb21wdXRlZDtcbiAgICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSB2YWx1ZSA9PT0gMCA/IDAgOiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b051bWJlcmAgd2hpY2ggZG9lc24ndCBlbnN1cmUgY29ycmVjdFxuICAgICAqIGNvbnZlcnNpb25zIG9mIGJpbmFyeSwgaGV4YWRlY2ltYWwsIG9yIG9jdGFsIHN0cmluZyB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VUb051bWJlcih2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBOQU47XG4gICAgICB9XG4gICAgICByZXR1cm4gK3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRvU3RyaW5nYCB3aGljaCBkb2Vzbid0IGNvbnZlcnQgbnVsbGlzaFxuICAgICAqIHZhbHVlcyB0byBlbXB0eSBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHN0cmluZy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpIHtcbiAgICAgIC8vIEV4aXQgZWFybHkgZm9yIHN0cmluZ3MgdG8gYXZvaWQgYSBwZXJmb3JtYW5jZSBoaXQgaW4gc29tZSBlbnZpcm9ubWVudHMuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBjb252ZXJ0IHZhbHVlcyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICByZXR1cm4gYXJyYXlNYXAodmFsdWUsIGJhc2VUb1N0cmluZykgKyAnJztcbiAgICAgIH1cbiAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHN5bWJvbFRvU3RyaW5nID8gc3ltYm9sVG9TdHJpbmcuY2FsbCh2YWx1ZSkgOiAnJztcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSAodmFsdWUgKyAnJyk7XG4gICAgICByZXR1cm4gKHJlc3VsdCA9PSAnMCcgJiYgKDEgLyB2YWx1ZSkgPT0gLUlORklOSVRZKSA/ICctMCcgOiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udW5pcUJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVVuaXEoYXJyYXksIGl0ZXJhdGVlLCBjb21wYXJhdG9yKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBpbmNsdWRlcyA9IGFycmF5SW5jbHVkZXMsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIGlzQ29tbW9uID0gdHJ1ZSxcbiAgICAgICAgICByZXN1bHQgPSBbXSxcbiAgICAgICAgICBzZWVuID0gcmVzdWx0O1xuXG4gICAgICBpZiAoY29tcGFyYXRvcikge1xuICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICBpbmNsdWRlcyA9IGFycmF5SW5jbHVkZXNXaXRoO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAobGVuZ3RoID49IExBUkdFX0FSUkFZX1NJWkUpIHtcbiAgICAgICAgdmFyIHNldCA9IGl0ZXJhdGVlID8gbnVsbCA6IGNyZWF0ZVNldChhcnJheSk7XG4gICAgICAgIGlmIChzZXQpIHtcbiAgICAgICAgICByZXR1cm4gc2V0VG9BcnJheShzZXQpO1xuICAgICAgICB9XG4gICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICAgIGluY2x1ZGVzID0gY2FjaGVIYXM7XG4gICAgICAgIHNlZW4gPSBuZXcgU2V0Q2FjaGU7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgc2VlbiA9IGl0ZXJhdGVlID8gW10gOiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBvdXRlcjpcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPyBpdGVyYXRlZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgICAgICB2YWx1ZSA9IChjb21wYXJhdG9yIHx8IHZhbHVlICE9PSAwKSA/IHZhbHVlIDogMDtcbiAgICAgICAgaWYgKGlzQ29tbW9uICYmIGNvbXB1dGVkID09PSBjb21wdXRlZCkge1xuICAgICAgICAgIHZhciBzZWVuSW5kZXggPSBzZWVuLmxlbmd0aDtcbiAgICAgICAgICB3aGlsZSAoc2VlbkluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmIChzZWVuW3NlZW5JbmRleF0gPT09IGNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG91dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXRlcmF0ZWUpIHtcbiAgICAgICAgICAgIHNlZW4ucHVzaChjb21wdXRlZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghaW5jbHVkZXMoc2VlbiwgY29tcHV0ZWQsIGNvbXBhcmF0b3IpKSB7XG4gICAgICAgICAgaWYgKHNlZW4gIT09IHJlc3VsdCkge1xuICAgICAgICAgICAgc2Vlbi5wdXNoKGNvbXB1dGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVuc2V0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcHJvcGVydHkgcGF0aCB0byB1bnNldC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHByb3BlcnR5IGlzIGRlbGV0ZWQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVW5zZXQob2JqZWN0LCBwYXRoKSB7XG4gICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcbiAgICAgIG9iamVjdCA9IHBhcmVudChvYmplY3QsIHBhdGgpO1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsIHx8IGRlbGV0ZSBvYmplY3RbdG9LZXkobGFzdChwYXRoKSldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVwZGF0ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIHVwZGF0ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB1cGRhdGVyIFRoZSBmdW5jdGlvbiB0byBwcm9kdWNlIHRoZSB1cGRhdGVkIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIHBhdGggY3JlYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgdXBkYXRlciwgY3VzdG9taXplcikge1xuICAgICAgcmV0dXJuIGJhc2VTZXQob2JqZWN0LCBwYXRoLCB1cGRhdGVyKGJhc2VHZXQob2JqZWN0LCBwYXRoKSksIGN1c3RvbWl6ZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5kcm9wV2hpbGVgIGFuZCBgXy50YWtlV2hpbGVgXG4gICAgICogd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNEcm9wXSBTcGVjaWZ5IGRyb3BwaW5nIGVsZW1lbnRzIGluc3RlYWQgb2YgdGFraW5nIHRoZW0uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VXaGlsZShhcnJheSwgcHJlZGljYXRlLCBpc0Ryb3AsIGZyb21SaWdodCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBpbmRleCA9IGZyb21SaWdodCA/IGxlbmd0aCA6IC0xO1xuXG4gICAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSAmJlxuICAgICAgICBwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7fVxuXG4gICAgICByZXR1cm4gaXNEcm9wXG4gICAgICAgID8gYmFzZVNsaWNlKGFycmF5LCAoZnJvbVJpZ2h0ID8gMCA6IGluZGV4KSwgKGZyb21SaWdodCA/IGluZGV4ICsgMSA6IGxlbmd0aCkpXG4gICAgICAgIDogYmFzZVNsaWNlKGFycmF5LCAoZnJvbVJpZ2h0ID8gaW5kZXggKyAxIDogMCksIChmcm9tUmlnaHQgPyBsZW5ndGggOiBpbmRleCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGB3cmFwcGVyVmFsdWVgIHdoaWNoIHJldHVybnMgdGhlIHJlc3VsdCBvZlxuICAgICAqIHBlcmZvcm1pbmcgYSBzZXF1ZW5jZSBvZiBhY3Rpb25zIG9uIHRoZSB1bndyYXBwZWQgYHZhbHVlYCwgd2hlcmUgZWFjaFxuICAgICAqIHN1Y2Nlc3NpdmUgYWN0aW9uIGlzIHN1cHBsaWVkIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHByZXZpb3VzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB1bndyYXBwZWQgdmFsdWUuXG4gICAgICogQHBhcmFtIHtBcnJheX0gYWN0aW9ucyBBY3Rpb25zIHRvIHBlcmZvcm0gdG8gcmVzb2x2ZSB0aGUgdW53cmFwcGVkIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlV3JhcHBlclZhbHVlKHZhbHVlLCBhY3Rpb25zKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gdmFsdWU7XG4gICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnZhbHVlKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXlSZWR1Y2UoYWN0aW9ucywgZnVuY3Rpb24ocmVzdWx0LCBhY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGFjdGlvbi5mdW5jLmFwcGx5KGFjdGlvbi50aGlzQXJnLCBhcnJheVB1c2goW3Jlc3VsdF0sIGFjdGlvbi5hcmdzKSk7XG4gICAgICB9LCByZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy54b3JgLCB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcywgdGhhdCBhY2NlcHRzIGFuIGFycmF5IG9mIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheXMgVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgdmFsdWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VYb3IoYXJyYXlzLCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5cy5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZVVuaXEoYXJyYXlzWzBdKSA6IFtdO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gYXJyYXlzW2luZGV4XSxcbiAgICAgICAgICAgIG90aEluZGV4ID0gLTE7XG5cbiAgICAgICAgd2hpbGUgKCsrb3RoSW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICBpZiAob3RoSW5kZXggIT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJlc3VsdFtpbmRleF0gPSBiYXNlRGlmZmVyZW5jZShyZXN1bHRbaW5kZXhdIHx8IGFycmF5LCBhcnJheXNbb3RoSW5kZXhdLCBpdGVyYXRlZSwgY29tcGFyYXRvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZVVuaXEoYmFzZUZsYXR0ZW4ocmVzdWx0LCAxKSwgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy56aXBPYmplY3RgIHdoaWNoIGFzc2lnbnMgdmFsdWVzIHVzaW5nIGBhc3NpZ25GdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGFzc2lnbkZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFzc2lnbiB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlWmlwT2JqZWN0KHByb3BzLCB2YWx1ZXMsIGFzc2lnbkZ1bmMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHByb3BzLmxlbmd0aCxcbiAgICAgICAgICB2YWxzTGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSB7fTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gaW5kZXggPCB2YWxzTGVuZ3RoID8gdmFsdWVzW2luZGV4XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgYXNzaWduRnVuYyhyZXN1bHQsIHByb3BzW2luZGV4XSwgdmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYXN0cyBgdmFsdWVgIHRvIGFuIGVtcHR5IGFycmF5IGlmIGl0J3Mgbm90IGFuIGFycmF5IGxpa2Ugb2JqZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgdGhlIGNhc3QgYXJyYXktbGlrZSBvYmplY3QuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2FzdEFycmF5TGlrZU9iamVjdCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KHZhbHVlKSA/IHZhbHVlIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FzdHMgYHZhbHVlYCB0byBgaWRlbnRpdHlgIGlmIGl0J3Mgbm90IGEgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGNhc3QgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2FzdEZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdmdW5jdGlvbicgPyB2YWx1ZSA6IGlkZW50aXR5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhc3RzIGB2YWx1ZWAgdG8gYSBwYXRoIGFycmF5IGlmIGl0J3Mgbm90IG9uZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeSBrZXlzIG9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY2FzdCBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNhc3RQYXRoKHZhbHVlLCBvYmplY3QpIHtcbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNLZXkodmFsdWUsIG9iamVjdCkgPyBbdmFsdWVdIDogc3RyaW5nVG9QYXRoKHRvU3RyaW5nKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBgYmFzZVJlc3RgIGFsaWFzIHdoaWNoIGNhbiBiZSByZXBsYWNlZCB3aXRoIGBpZGVudGl0eWAgYnkgbW9kdWxlXG4gICAgICogcmVwbGFjZW1lbnQgcGx1Z2lucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgdmFyIGNhc3RSZXN0ID0gYmFzZVJlc3Q7XG5cbiAgICAvKipcbiAgICAgKiBDYXN0cyBgYXJyYXlgIHRvIGEgc2xpY2UgaWYgaXQncyBuZWVkZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCBUaGUgc3RhcnQgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtlbmQ9YXJyYXkubGVuZ3RoXSBUaGUgZW5kIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY2FzdCBzbGljZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXN0U2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICBlbmQgPSBlbmQgPT09IHVuZGVmaW5lZCA/IGxlbmd0aCA6IGVuZDtcbiAgICAgIHJldHVybiAoIXN0YXJ0ICYmIGVuZCA+PSBsZW5ndGgpID8gYXJyYXkgOiBiYXNlU2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHRoZSBnbG9iYWwgW2BjbGVhclRpbWVvdXRgXShodHRwczovL21kbi5pby9jbGVhclRpbWVvdXQpLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcnxPYmplY3R9IGlkIFRoZSB0aW1lciBpZCBvciB0aW1lb3V0IG9iamVjdCBvZiB0aGUgdGltZXIgdG8gY2xlYXIuXG4gICAgICovXG4gICAgdmFyIGNsZWFyVGltZW91dCA9IGN0eENsZWFyVGltZW91dCB8fCBmdW5jdGlvbihpZCkge1xuICAgICAgcmV0dXJuIHJvb3QuY2xlYXJUaW1lb3V0KGlkKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mICBgYnVmZmVyYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtCdWZmZXJ9IGJ1ZmZlciBUaGUgYnVmZmVyIHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRGVlcF0gU3BlY2lmeSBhIGRlZXAgY2xvbmUuXG4gICAgICogQHJldHVybnMge0J1ZmZlcn0gUmV0dXJucyB0aGUgY2xvbmVkIGJ1ZmZlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZUJ1ZmZlcihidWZmZXIsIGlzRGVlcCkge1xuICAgICAgaWYgKGlzRGVlcCkge1xuICAgICAgICByZXR1cm4gYnVmZmVyLnNsaWNlKCk7XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gYnVmZmVyLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBhbGxvY1Vuc2FmZSA/IGFsbG9jVW5zYWZlKGxlbmd0aCkgOiBuZXcgYnVmZmVyLmNvbnN0cnVjdG9yKGxlbmd0aCk7XG5cbiAgICAgIGJ1ZmZlci5jb3B5KHJlc3VsdCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiBgYXJyYXlCdWZmZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5QnVmZmVyfSBhcnJheUJ1ZmZlciBUaGUgYXJyYXkgYnVmZmVyIHRvIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtBcnJheUJ1ZmZlcn0gUmV0dXJucyB0aGUgY2xvbmVkIGFycmF5IGJ1ZmZlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZUFycmF5QnVmZmVyKGFycmF5QnVmZmVyKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbmV3IGFycmF5QnVmZmVyLmNvbnN0cnVjdG9yKGFycmF5QnVmZmVyLmJ5dGVMZW5ndGgpO1xuICAgICAgbmV3IFVpbnQ4QXJyYXkocmVzdWx0KS5zZXQobmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGBkYXRhVmlld2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhVmlldyBUaGUgZGF0YSB2aWV3IHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRGVlcF0gU3BlY2lmeSBhIGRlZXAgY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIGRhdGEgdmlldy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZURhdGFWaWV3KGRhdGFWaWV3LCBpc0RlZXApIHtcbiAgICAgIHZhciBidWZmZXIgPSBpc0RlZXAgPyBjbG9uZUFycmF5QnVmZmVyKGRhdGFWaWV3LmJ1ZmZlcikgOiBkYXRhVmlldy5idWZmZXI7XG4gICAgICByZXR1cm4gbmV3IGRhdGFWaWV3LmNvbnN0cnVjdG9yKGJ1ZmZlciwgZGF0YVZpZXcuYnl0ZU9mZnNldCwgZGF0YVZpZXcuYnl0ZUxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGByZWdleHBgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcmVnZXhwIFRoZSByZWdleHAgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIHJlZ2V4cC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVJlZ0V4cChyZWdleHApIHtcbiAgICAgIHZhciByZXN1bHQgPSBuZXcgcmVnZXhwLmNvbnN0cnVjdG9yKHJlZ2V4cC5zb3VyY2UsIHJlRmxhZ3MuZXhlYyhyZWdleHApKTtcbiAgICAgIHJlc3VsdC5sYXN0SW5kZXggPSByZWdleHAubGFzdEluZGV4O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgdGhlIGBzeW1ib2xgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHN5bWJvbCBUaGUgc3ltYm9sIG9iamVjdCB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjbG9uZWQgc3ltYm9sIG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVN5bWJvbChzeW1ib2wpIHtcbiAgICAgIHJldHVybiBzeW1ib2xWYWx1ZU9mID8gT2JqZWN0KHN5bWJvbFZhbHVlT2YuY2FsbChzeW1ib2wpKSA6IHt9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiBgdHlwZWRBcnJheWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSB0eXBlZEFycmF5IFRoZSB0eXBlZCBhcnJheSB0byBjbG9uZS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0RlZXBdIFNwZWNpZnkgYSBkZWVwIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNsb25lZCB0eXBlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVR5cGVkQXJyYXkodHlwZWRBcnJheSwgaXNEZWVwKSB7XG4gICAgICB2YXIgYnVmZmVyID0gaXNEZWVwID8gY2xvbmVBcnJheUJ1ZmZlcih0eXBlZEFycmF5LmJ1ZmZlcikgOiB0eXBlZEFycmF5LmJ1ZmZlcjtcbiAgICAgIHJldHVybiBuZXcgdHlwZWRBcnJheS5jb25zdHJ1Y3RvcihidWZmZXIsIHR5cGVkQXJyYXkuYnl0ZU9mZnNldCwgdHlwZWRBcnJheS5sZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBhcmVzIHZhbHVlcyB0byBzb3J0IHRoZW0gaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc29ydCBvcmRlciBpbmRpY2F0b3IgZm9yIGB2YWx1ZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcGFyZUFzY2VuZGluZyh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gb3RoZXIpIHtcbiAgICAgICAgdmFyIHZhbElzRGVmaW5lZCA9IHZhbHVlICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICB2YWxJc051bGwgPSB2YWx1ZSA9PT0gbnVsbCxcbiAgICAgICAgICAgIHZhbElzUmVmbGV4aXZlID0gdmFsdWUgPT09IHZhbHVlLFxuICAgICAgICAgICAgdmFsSXNTeW1ib2wgPSBpc1N5bWJvbCh2YWx1ZSk7XG5cbiAgICAgICAgdmFyIG90aElzRGVmaW5lZCA9IG90aGVyICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICBvdGhJc051bGwgPSBvdGhlciA9PT0gbnVsbCxcbiAgICAgICAgICAgIG90aElzUmVmbGV4aXZlID0gb3RoZXIgPT09IG90aGVyLFxuICAgICAgICAgICAgb3RoSXNTeW1ib2wgPSBpc1N5bWJvbChvdGhlcik7XG5cbiAgICAgICAgaWYgKCghb3RoSXNOdWxsICYmICFvdGhJc1N5bWJvbCAmJiAhdmFsSXNTeW1ib2wgJiYgdmFsdWUgPiBvdGhlcikgfHxcbiAgICAgICAgICAgICh2YWxJc1N5bWJvbCAmJiBvdGhJc0RlZmluZWQgJiYgb3RoSXNSZWZsZXhpdmUgJiYgIW90aElzTnVsbCAmJiAhb3RoSXNTeW1ib2wpIHx8XG4gICAgICAgICAgICAodmFsSXNOdWxsICYmIG90aElzRGVmaW5lZCAmJiBvdGhJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgICAgICghdmFsSXNEZWZpbmVkICYmIG90aElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAgICAgIXZhbElzUmVmbGV4aXZlKSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCghdmFsSXNOdWxsICYmICF2YWxJc1N5bWJvbCAmJiAhb3RoSXNTeW1ib2wgJiYgdmFsdWUgPCBvdGhlcikgfHxcbiAgICAgICAgICAgIChvdGhJc1N5bWJvbCAmJiB2YWxJc0RlZmluZWQgJiYgdmFsSXNSZWZsZXhpdmUgJiYgIXZhbElzTnVsbCAmJiAhdmFsSXNTeW1ib2wpIHx8XG4gICAgICAgICAgICAob3RoSXNOdWxsICYmIHZhbElzRGVmaW5lZCAmJiB2YWxJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgICAgICghb3RoSXNEZWZpbmVkICYmIHZhbElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAgICAgIW90aElzUmVmbGV4aXZlKSB7XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGJ5IGBfLm9yZGVyQnlgIHRvIGNvbXBhcmUgbXVsdGlwbGUgcHJvcGVydGllcyBvZiBhIHZhbHVlIHRvIGFub3RoZXJcbiAgICAgKiBhbmQgc3RhYmxlIHNvcnQgdGhlbS5cbiAgICAgKlxuICAgICAqIElmIGBvcmRlcnNgIGlzIHVuc3BlY2lmaWVkLCBhbGwgdmFsdWVzIGFyZSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyLiBPdGhlcndpc2UsXG4gICAgICogc3BlY2lmeSBhbiBvcmRlciBvZiBcImRlc2NcIiBmb3IgZGVzY2VuZGluZyBvciBcImFzY1wiIGZvciBhc2NlbmRpbmcgc29ydCBvcmRlclxuICAgICAqIG9mIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3RoZXIgVGhlIG90aGVyIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbltdfHN0cmluZ1tdfSBvcmRlcnMgVGhlIG9yZGVyIHRvIHNvcnQgYnkgZm9yIGVhY2ggcHJvcGVydHkuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc29ydCBvcmRlciBpbmRpY2F0b3IgZm9yIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbXBhcmVNdWx0aXBsZShvYmplY3QsIG90aGVyLCBvcmRlcnMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIG9iakNyaXRlcmlhID0gb2JqZWN0LmNyaXRlcmlhLFxuICAgICAgICAgIG90aENyaXRlcmlhID0gb3RoZXIuY3JpdGVyaWEsXG4gICAgICAgICAgbGVuZ3RoID0gb2JqQ3JpdGVyaWEubGVuZ3RoLFxuICAgICAgICAgIG9yZGVyc0xlbmd0aCA9IG9yZGVycy5sZW5ndGg7XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBjb21wYXJlQXNjZW5kaW5nKG9iakNyaXRlcmlhW2luZGV4XSwgb3RoQ3JpdGVyaWFbaW5kZXhdKTtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIGlmIChpbmRleCA+PSBvcmRlcnNMZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBvcmRlciA9IG9yZGVyc1tpbmRleF07XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdCAqIChvcmRlciA9PSAnZGVzYycgPyAtMSA6IDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBGaXhlcyBhbiBgQXJyYXkjc29ydGAgYnVnIGluIHRoZSBKUyBlbmdpbmUgZW1iZWRkZWQgaW4gQWRvYmUgYXBwbGljYXRpb25zXG4gICAgICAvLyB0aGF0IGNhdXNlcyBpdCwgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCB0byBwcm92aWRlIHRoZSBzYW1lIHZhbHVlIGZvclxuICAgICAgLy8gYG9iamVjdGAgYW5kIGBvdGhlcmAuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vamFzaGtlbmFzL3VuZGVyc2NvcmUvcHVsbC8xMjQ3XG4gICAgICAvLyBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgYWxzbyBlbnN1cmVzIGEgc3RhYmxlIHNvcnQgaW4gVjggYW5kIG90aGVyIGVuZ2luZXMuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9OTAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgIHJldHVybiBvYmplY3QuaW5kZXggLSBvdGhlci5pbmRleDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IHRoYXQgaXMgdGhlIGNvbXBvc2l0aW9uIG9mIHBhcnRpYWxseSBhcHBsaWVkIGFyZ3VtZW50cyxcbiAgICAgKiBwbGFjZWhvbGRlcnMsIGFuZCBwcm92aWRlZCBhcmd1bWVudHMgaW50byBhIHNpbmdsZSBhcnJheSBvZiBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQuXG4gICAgICogQHBhcmFtIHtBcnJheX0gaG9sZGVycyBUaGUgYHBhcnRpYWxzYCBwbGFjZWhvbGRlciBpbmRleGVzLlxuICAgICAqIEBwYXJhbXMge2Jvb2xlYW59IFtpc0N1cnJpZWRdIFNwZWNpZnkgY29tcG9zaW5nIGZvciBhIGN1cnJpZWQgZnVuY3Rpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY29tcG9zZWQgYXJndW1lbnRzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbXBvc2VBcmdzKGFyZ3MsIHBhcnRpYWxzLCBob2xkZXJzLCBpc0N1cnJpZWQpIHtcbiAgICAgIHZhciBhcmdzSW5kZXggPSAtMSxcbiAgICAgICAgICBhcmdzTGVuZ3RoID0gYXJncy5sZW5ndGgsXG4gICAgICAgICAgaG9sZGVyc0xlbmd0aCA9IGhvbGRlcnMubGVuZ3RoLFxuICAgICAgICAgIGxlZnRJbmRleCA9IC0xLFxuICAgICAgICAgIGxlZnRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsXG4gICAgICAgICAgcmFuZ2VMZW5ndGggPSBuYXRpdmVNYXgoYXJnc0xlbmd0aCAtIGhvbGRlcnNMZW5ndGgsIDApLFxuICAgICAgICAgIHJlc3VsdCA9IEFycmF5KGxlZnRMZW5ndGggKyByYW5nZUxlbmd0aCksXG4gICAgICAgICAgaXNVbmN1cnJpZWQgPSAhaXNDdXJyaWVkO1xuXG4gICAgICB3aGlsZSAoKytsZWZ0SW5kZXggPCBsZWZ0TGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtsZWZ0SW5kZXhdID0gcGFydGlhbHNbbGVmdEluZGV4XTtcbiAgICAgIH1cbiAgICAgIHdoaWxlICgrK2FyZ3NJbmRleCA8IGhvbGRlcnNMZW5ndGgpIHtcbiAgICAgICAgaWYgKGlzVW5jdXJyaWVkIHx8IGFyZ3NJbmRleCA8IGFyZ3NMZW5ndGgpIHtcbiAgICAgICAgICByZXN1bHRbaG9sZGVyc1thcmdzSW5kZXhdXSA9IGFyZ3NbYXJnc0luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKHJhbmdlTGVuZ3RoLS0pIHtcbiAgICAgICAgcmVzdWx0W2xlZnRJbmRleCsrXSA9IGFyZ3NbYXJnc0luZGV4KytdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGxpa2UgYGNvbXBvc2VBcmdzYCBleGNlcHQgdGhhdCB0aGUgYXJndW1lbnRzIGNvbXBvc2l0aW9uXG4gICAgICogaXMgdGFpbG9yZWQgZm9yIGBfLnBhcnRpYWxSaWdodGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIGFwcGVuZCB0byB0aG9zZSBwcm92aWRlZC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBob2xkZXJzIFRoZSBgcGFydGlhbHNgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtcyB7Ym9vbGVhbn0gW2lzQ3VycmllZF0gU3BlY2lmeSBjb21wb3NpbmcgZm9yIGEgY3VycmllZCBmdW5jdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBjb21wb3NlZCBhcmd1bWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcG9zZUFyZ3NSaWdodChhcmdzLCBwYXJ0aWFscywgaG9sZGVycywgaXNDdXJyaWVkKSB7XG4gICAgICB2YXIgYXJnc0luZGV4ID0gLTEsXG4gICAgICAgICAgYXJnc0xlbmd0aCA9IGFyZ3MubGVuZ3RoLFxuICAgICAgICAgIGhvbGRlcnNJbmRleCA9IC0xLFxuICAgICAgICAgIGhvbGRlcnNMZW5ndGggPSBob2xkZXJzLmxlbmd0aCxcbiAgICAgICAgICByaWdodEluZGV4ID0gLTEsXG4gICAgICAgICAgcmlnaHRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsXG4gICAgICAgICAgcmFuZ2VMZW5ndGggPSBuYXRpdmVNYXgoYXJnc0xlbmd0aCAtIGhvbGRlcnNMZW5ndGgsIDApLFxuICAgICAgICAgIHJlc3VsdCA9IEFycmF5KHJhbmdlTGVuZ3RoICsgcmlnaHRMZW5ndGgpLFxuICAgICAgICAgIGlzVW5jdXJyaWVkID0gIWlzQ3VycmllZDtcblxuICAgICAgd2hpbGUgKCsrYXJnc0luZGV4IDwgcmFuZ2VMZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W2FyZ3NJbmRleF0gPSBhcmdzW2FyZ3NJbmRleF07XG4gICAgICB9XG4gICAgICB2YXIgb2Zmc2V0ID0gYXJnc0luZGV4O1xuICAgICAgd2hpbGUgKCsrcmlnaHRJbmRleCA8IHJpZ2h0TGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtvZmZzZXQgKyByaWdodEluZGV4XSA9IHBhcnRpYWxzW3JpZ2h0SW5kZXhdO1xuICAgICAgfVxuICAgICAgd2hpbGUgKCsraG9sZGVyc0luZGV4IDwgaG9sZGVyc0xlbmd0aCkge1xuICAgICAgICBpZiAoaXNVbmN1cnJpZWQgfHwgYXJnc0luZGV4IDwgYXJnc0xlbmd0aCkge1xuICAgICAgICAgIHJlc3VsdFtvZmZzZXQgKyBob2xkZXJzW2hvbGRlcnNJbmRleF1dID0gYXJnc1thcmdzSW5kZXgrK107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIHRoZSB2YWx1ZXMgb2YgYHNvdXJjZWAgdG8gYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gc291cmNlIFRoZSBhcnJheSB0byBjb3B5IHZhbHVlcyBmcm9tLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheT1bXV0gVGhlIGFycmF5IHRvIGNvcHkgdmFsdWVzIHRvLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvcHlBcnJheShzb3VyY2UsIGFycmF5KSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBzb3VyY2UubGVuZ3RoO1xuXG4gICAgICBhcnJheSB8fCAoYXJyYXkgPSBBcnJheShsZW5ndGgpKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIGFycmF5W2luZGV4XSA9IHNvdXJjZVtpbmRleF07XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIHByb3BlcnRpZXMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgaWRlbnRpZmllcnMgdG8gY29weS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29waWVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvcHlPYmplY3Qoc291cmNlLCBwcm9wcywgb2JqZWN0LCBjdXN0b21pemVyKSB7XG4gICAgICB2YXIgaXNOZXcgPSAhb2JqZWN0O1xuICAgICAgb2JqZWN0IHx8IChvYmplY3QgPSB7fSk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHByb3BzLmxlbmd0aDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGtleSA9IHByb3BzW2luZGV4XTtcblxuICAgICAgICB2YXIgbmV3VmFsdWUgPSBjdXN0b21pemVyXG4gICAgICAgICAgPyBjdXN0b21pemVyKG9iamVjdFtrZXldLCBzb3VyY2Vba2V5XSwga2V5LCBvYmplY3QsIHNvdXJjZSlcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIG5ld1ZhbHVlID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzTmV3KSB7XG4gICAgICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzaWduVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3BpZXMgb3duIHN5bWJvbHMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgdG8uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb3B5U3ltYm9scyhzb3VyY2UsIG9iamVjdCkge1xuICAgICAgcmV0dXJuIGNvcHlPYmplY3Qoc291cmNlLCBnZXRTeW1ib2xzKHNvdXJjZSksIG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIG93biBhbmQgaW5oZXJpdGVkIHN5bWJvbHMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgdG8uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb3B5U3ltYm9sc0luKHNvdXJjZSwgb2JqZWN0KSB7XG4gICAgICByZXR1cm4gY29weU9iamVjdChzb3VyY2UsIGdldFN5bWJvbHNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmdyb3VwQnlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzZXR0ZXIgVGhlIGZ1bmN0aW9uIHRvIHNldCBhY2N1bXVsYXRvciB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2luaXRpYWxpemVyXSBUaGUgYWNjdW11bGF0b3Igb2JqZWN0IGluaXRpYWxpemVyLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFnZ3JlZ2F0b3IgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQWdncmVnYXRvcihzZXR0ZXIsIGluaXRpYWxpemVyKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlBZ2dyZWdhdG9yIDogYmFzZUFnZ3JlZ2F0b3IsXG4gICAgICAgICAgICBhY2N1bXVsYXRvciA9IGluaXRpYWxpemVyID8gaW5pdGlhbGl6ZXIoKSA6IHt9O1xuXG4gICAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIHNldHRlciwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpLCBhY2N1bXVsYXRvcik7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmFzc2lnbmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGFzc2lnbmVyIFRoZSBmdW5jdGlvbiB0byBhc3NpZ24gdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFzc2lnbmVyIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUFzc2lnbmVyKGFzc2lnbmVyKSB7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgICAgbGVuZ3RoID0gc291cmNlcy5sZW5ndGgsXG4gICAgICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoID4gMSA/IHNvdXJjZXNbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBndWFyZCA9IGxlbmd0aCA+IDIgPyBzb3VyY2VzWzJdIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGN1c3RvbWl6ZXIgPSAoYXNzaWduZXIubGVuZ3RoID4gMyAmJiB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nKVxuICAgICAgICAgID8gKGxlbmd0aC0tLCBjdXN0b21pemVyKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzb3VyY2VzWzBdLCBzb3VyY2VzWzFdLCBndWFyZCkpIHtcbiAgICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoIDwgMyA/IHVuZGVmaW5lZCA6IGN1c3RvbWl6ZXI7XG4gICAgICAgICAgbGVuZ3RoID0gMTtcbiAgICAgICAgfVxuICAgICAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICB2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07XG4gICAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgYXNzaWduZXIob2JqZWN0LCBzb3VyY2UsIGluZGV4LCBjdXN0b21pemVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBgYmFzZUVhY2hgIG9yIGBiYXNlRWFjaFJpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWFjaEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBhIGNvbGxlY3Rpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYmFzZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVCYXNlRWFjaChlYWNoRnVuYywgZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNBcnJheUxpa2UoY29sbGVjdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gZWFjaEZ1bmMoY29sbGVjdGlvbiwgaXRlcmF0ZWUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBsZW5ndGggPSBjb2xsZWN0aW9uLmxlbmd0aCxcbiAgICAgICAgICAgIGluZGV4ID0gZnJvbVJpZ2h0ID8gbGVuZ3RoIDogLTEsXG4gICAgICAgICAgICBpdGVyYWJsZSA9IE9iamVjdChjb2xsZWN0aW9uKTtcblxuICAgICAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSkge1xuICAgICAgICAgIGlmIChpdGVyYXRlZShpdGVyYWJsZVtpbmRleF0sIGluZGV4LCBpdGVyYWJsZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBiYXNlIGZ1bmN0aW9uIGZvciBtZXRob2RzIGxpa2UgYF8uZm9ySW5gIGFuZCBgXy5mb3JPd25gLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBiYXNlIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUJhc2VGb3IoZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0LCBpdGVyYXRlZSwga2V5c0Z1bmMpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgICBpdGVyYWJsZSA9IE9iamVjdChvYmplY3QpLFxuICAgICAgICAgICAgcHJvcHMgPSBrZXlzRnVuYyhvYmplY3QpLFxuICAgICAgICAgICAgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuXG4gICAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICAgIHZhciBrZXkgPSBwcm9wc1tmcm9tUmlnaHQgPyBsZW5ndGggOiArK2luZGV4XTtcbiAgICAgICAgICBpZiAoaXRlcmF0ZWUoaXRlcmFibGVba2V5XSwga2V5LCBpdGVyYWJsZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYGZ1bmNgIHRvIGludm9rZSBpdCB3aXRoIHRoZSBvcHRpb25hbCBgdGhpc2BcbiAgICAgKiBiaW5kaW5nIG9mIGB0aGlzQXJnYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7Kn0gW3RoaXNBcmddIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVCaW5kKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcpIHtcbiAgICAgIHZhciBpc0JpbmQgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcsXG4gICAgICAgICAgQ3RvciA9IGNyZWF0ZUN0b3IoZnVuYyk7XG5cbiAgICAgIGZ1bmN0aW9uIHdyYXBwZXIoKSB7XG4gICAgICAgIHZhciBmbiA9ICh0aGlzICYmIHRoaXMgIT09IHJvb3QgJiYgdGhpcyBpbnN0YW5jZW9mIHdyYXBwZXIpID8gQ3RvciA6IGZ1bmM7XG4gICAgICAgIHJldHVybiBmbi5hcHBseShpc0JpbmQgPyB0aGlzQXJnIDogdGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmxvd2VyRmlyc3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSBUaGUgbmFtZSBvZiB0aGUgYFN0cmluZ2AgY2FzZSBtZXRob2QgdG8gdXNlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNhc2UgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQ2FzZUZpcnN0KG1ldGhvZE5hbWUpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgICB2YXIgc3RyU3ltYm9scyA9IGhhc1VuaWNvZGUoc3RyaW5nKVxuICAgICAgICAgID8gc3RyaW5nVG9BcnJheShzdHJpbmcpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgdmFyIGNociA9IHN0clN5bWJvbHNcbiAgICAgICAgICA/IHN0clN5bWJvbHNbMF1cbiAgICAgICAgICA6IHN0cmluZy5jaGFyQXQoMCk7XG5cbiAgICAgICAgdmFyIHRyYWlsaW5nID0gc3RyU3ltYm9sc1xuICAgICAgICAgID8gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDEpLmpvaW4oJycpXG4gICAgICAgICAgOiBzdHJpbmcuc2xpY2UoMSk7XG5cbiAgICAgICAgcmV0dXJuIGNoclttZXRob2ROYW1lXSgpICsgdHJhaWxpbmc7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmNhbWVsQ2FzZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIFRoZSBmdW5jdGlvbiB0byBjb21iaW5lIGVhY2ggd29yZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjb21wb3VuZGVyIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUNvbXBvdW5kZXIoY2FsbGJhY2spIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5UmVkdWNlKHdvcmRzKGRlYnVycihzdHJpbmcpLnJlcGxhY2UocmVBcG9zLCAnJykpLCBjYWxsYmFjaywgJycpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwcm9kdWNlcyBhbiBpbnN0YW5jZSBvZiBgQ3RvcmAgcmVnYXJkbGVzcyBvZlxuICAgICAqIHdoZXRoZXIgaXQgd2FzIGludm9rZWQgYXMgcGFydCBvZiBhIGBuZXdgIGV4cHJlc3Npb24gb3IgYnkgYGNhbGxgIG9yIGBhcHBseWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IEN0b3IgVGhlIGNvbnN0cnVjdG9yIHRvIHdyYXAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVDdG9yKEN0b3IpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gVXNlIGEgYHN3aXRjaGAgc3RhdGVtZW50IHRvIHdvcmsgd2l0aCBjbGFzcyBjb25zdHJ1Y3RvcnMuIFNlZVxuICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWZ1bmN0aW9uLW9iamVjdHMtY2FsbC10aGlzYXJndW1lbnQtYXJndW1lbnRzbGlzdFxuICAgICAgICAvLyBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMDogcmV0dXJuIG5ldyBDdG9yO1xuICAgICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0pO1xuICAgICAgICAgIGNhc2UgMjogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgIGNhc2UgMzogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgICAgICAgIGNhc2UgNDogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10pO1xuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0pO1xuICAgICAgICAgIGNhc2UgNjogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0sIGFyZ3NbNV0pO1xuICAgICAgICAgIGNhc2UgNzogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0sIGFyZ3NbNV0sIGFyZ3NbNl0pO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0aGlzQmluZGluZyA9IGJhc2VDcmVhdGUoQ3Rvci5wcm90b3R5cGUpLFxuICAgICAgICAgICAgcmVzdWx0ID0gQ3Rvci5hcHBseSh0aGlzQmluZGluZywgYXJncyk7XG5cbiAgICAgICAgLy8gTWltaWMgdGhlIGNvbnN0cnVjdG9yJ3MgYHJldHVybmAgYmVoYXZpb3IuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2VzNS5naXRodWIuaW8vI3gxMy4yLjIgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgICAgcmV0dXJuIGlzT2JqZWN0KHJlc3VsdCkgPyByZXN1bHQgOiB0aGlzQmluZGluZztcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYGZ1bmNgIHRvIGVuYWJsZSBjdXJyeWluZy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBhcml0eSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQ3VycnkoZnVuYywgYml0bWFzaywgYXJpdHkpIHtcbiAgICAgIHZhciBDdG9yID0gY3JlYXRlQ3RvcihmdW5jKTtcblxuICAgICAgZnVuY3Rpb24gd3JhcHBlcigpIHtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsXG4gICAgICAgICAgICBhcmdzID0gQXJyYXkobGVuZ3RoKSxcbiAgICAgICAgICAgIGluZGV4ID0gbGVuZ3RoLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBnZXRIb2xkZXIod3JhcHBlcik7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgICAgICBhcmdzW2luZGV4XSA9IGFyZ3VtZW50c1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGhvbGRlcnMgPSAobGVuZ3RoIDwgMyAmJiBhcmdzWzBdICE9PSBwbGFjZWhvbGRlciAmJiBhcmdzW2xlbmd0aCAtIDFdICE9PSBwbGFjZWhvbGRlcilcbiAgICAgICAgICA/IFtdXG4gICAgICAgICAgOiByZXBsYWNlSG9sZGVycyhhcmdzLCBwbGFjZWhvbGRlcik7XG5cbiAgICAgICAgbGVuZ3RoIC09IGhvbGRlcnMubGVuZ3RoO1xuICAgICAgICBpZiAobGVuZ3RoIDwgYXJpdHkpIHtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlUmVjdXJyeShcbiAgICAgICAgICAgIGZ1bmMsIGJpdG1hc2ssIGNyZWF0ZUh5YnJpZCwgd3JhcHBlci5wbGFjZWhvbGRlciwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgYXJncywgaG9sZGVycywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5IC0gbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZm4gPSAodGhpcyAmJiB0aGlzICE9PSByb290ICYmIHRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyKSA/IEN0b3IgOiBmdW5jO1xuICAgICAgICByZXR1cm4gYXBwbHkoZm4sIHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLmZpbmRgIG9yIGBfLmZpbmRMYXN0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZmluZEluZGV4RnVuYyBUaGUgZnVuY3Rpb24gdG8gZmluZCB0aGUgY29sbGVjdGlvbiBpbmRleC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmaW5kIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUZpbmQoZmluZEluZGV4RnVuYykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZnJvbUluZGV4KSB7XG4gICAgICAgIHZhciBpdGVyYWJsZSA9IE9iamVjdChjb2xsZWN0aW9uKTtcbiAgICAgICAgaWYgKCFpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgIHZhciBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyk7XG4gICAgICAgICAgY29sbGVjdGlvbiA9IGtleXMoY29sbGVjdGlvbik7XG4gICAgICAgICAgcHJlZGljYXRlID0gZnVuY3Rpb24oa2V5KSB7IHJldHVybiBpdGVyYXRlZShpdGVyYWJsZVtrZXldLCBrZXksIGl0ZXJhYmxlKTsgfTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW5kZXggPSBmaW5kSW5kZXhGdW5jKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZnJvbUluZGV4KTtcbiAgICAgICAgcmV0dXJuIGluZGV4ID4gLTEgPyBpdGVyYWJsZVtpdGVyYXRlZSA/IGNvbGxlY3Rpb25baW5kZXhdIDogaW5kZXhdIDogdW5kZWZpbmVkO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYF8uZmxvd2Agb3IgYF8uZmxvd1JpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZmxvdyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVGbG93KGZyb21SaWdodCkge1xuICAgICAgcmV0dXJuIGZsYXRSZXN0KGZ1bmN0aW9uKGZ1bmNzKSB7XG4gICAgICAgIHZhciBsZW5ndGggPSBmdW5jcy5sZW5ndGgsXG4gICAgICAgICAgICBpbmRleCA9IGxlbmd0aCxcbiAgICAgICAgICAgIHByZXJlcSA9IExvZGFzaFdyYXBwZXIucHJvdG90eXBlLnRocnU7XG5cbiAgICAgICAgaWYgKGZyb21SaWdodCkge1xuICAgICAgICAgIGZ1bmNzLnJldmVyc2UoKTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICAgIHZhciBmdW5jID0gZnVuY3NbaW5kZXhdO1xuICAgICAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwcmVyZXEgJiYgIXdyYXBwZXIgJiYgZ2V0RnVuY05hbWUoZnVuYykgPT0gJ3dyYXBwZXInKSB7XG4gICAgICAgICAgICB2YXIgd3JhcHBlciA9IG5ldyBMb2Rhc2hXcmFwcGVyKFtdLCB0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXggPSB3cmFwcGVyID8gaW5kZXggOiBsZW5ndGg7XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgZnVuYyA9IGZ1bmNzW2luZGV4XTtcblxuICAgICAgICAgIHZhciBmdW5jTmFtZSA9IGdldEZ1bmNOYW1lKGZ1bmMpLFxuICAgICAgICAgICAgICBkYXRhID0gZnVuY05hbWUgPT0gJ3dyYXBwZXInID8gZ2V0RGF0YShmdW5jKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgIGlmIChkYXRhICYmIGlzTGF6aWFibGUoZGF0YVswXSkgJiZcbiAgICAgICAgICAgICAgICBkYXRhWzFdID09IChXUkFQX0FSWV9GTEFHIHwgV1JBUF9DVVJSWV9GTEFHIHwgV1JBUF9QQVJUSUFMX0ZMQUcgfCBXUkFQX1JFQVJHX0ZMQUcpICYmXG4gICAgICAgICAgICAgICAgIWRhdGFbNF0ubGVuZ3RoICYmIGRhdGFbOV0gPT0gMVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgIHdyYXBwZXIgPSB3cmFwcGVyW2dldEZ1bmNOYW1lKGRhdGFbMF0pXS5hcHBseSh3cmFwcGVyLCBkYXRhWzNdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd3JhcHBlciA9IChmdW5jLmxlbmd0aCA9PSAxICYmIGlzTGF6aWFibGUoZnVuYykpXG4gICAgICAgICAgICAgID8gd3JhcHBlcltmdW5jTmFtZV0oKVxuICAgICAgICAgICAgICA6IHdyYXBwZXIudGhydShmdW5jKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzLFxuICAgICAgICAgICAgICB2YWx1ZSA9IGFyZ3NbMF07XG5cbiAgICAgICAgICBpZiAod3JhcHBlciAmJiBhcmdzLmxlbmd0aCA9PSAxICYmIGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcHBlci5wbGFudCh2YWx1ZSkudmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGluZGV4ID0gMCxcbiAgICAgICAgICAgICAgcmVzdWx0ID0gbGVuZ3RoID8gZnVuY3NbaW5kZXhdLmFwcGx5KHRoaXMsIGFyZ3MpIDogdmFsdWU7XG5cbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZnVuY3NbaW5kZXhdLmNhbGwodGhpcywgcmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHdyYXBzIGBmdW5jYCB0byBpbnZva2UgaXQgd2l0aCBvcHRpb25hbCBgdGhpc2BcbiAgICAgKiBiaW5kaW5nIG9mIGB0aGlzQXJnYCwgcGFydGlhbCBhcHBsaWNhdGlvbiwgYW5kIGN1cnJ5aW5nLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gZnVuYyBUaGUgZnVuY3Rpb24gb3IgbWV0aG9kIG5hbWUgdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7Kn0gW3RoaXNBcmddIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQgdG9cbiAgICAgKiAgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc10gVGhlIGBwYXJ0aWFsc2AgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbcGFydGlhbHNSaWdodF0gVGhlIGFyZ3VtZW50cyB0byBhcHBlbmQgdG8gdGhvc2UgcHJvdmlkZWRcbiAgICAgKiAgdG8gdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc1JpZ2h0XSBUaGUgYHBhcnRpYWxzUmlnaHRgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2FyZ1Bvc10gVGhlIGFyZ3VtZW50IHBvc2l0aW9ucyBvZiB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJ5XSBUaGUgYXJpdHkgY2FwIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5XSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlSHlicmlkKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBwYXJ0aWFsc1JpZ2h0LCBob2xkZXJzUmlnaHQsIGFyZ1BvcywgYXJ5LCBhcml0eSkge1xuICAgICAgdmFyIGlzQXJ5ID0gYml0bWFzayAmIFdSQVBfQVJZX0ZMQUcsXG4gICAgICAgICAgaXNCaW5kID0gYml0bWFzayAmIFdSQVBfQklORF9GTEFHLFxuICAgICAgICAgIGlzQmluZEtleSA9IGJpdG1hc2sgJiBXUkFQX0JJTkRfS0VZX0ZMQUcsXG4gICAgICAgICAgaXNDdXJyaWVkID0gYml0bWFzayAmIChXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpLFxuICAgICAgICAgIGlzRmxpcCA9IGJpdG1hc2sgJiBXUkFQX0ZMSVBfRkxBRyxcbiAgICAgICAgICBDdG9yID0gaXNCaW5kS2V5ID8gdW5kZWZpbmVkIDogY3JlYXRlQ3RvcihmdW5jKTtcblxuICAgICAgZnVuY3Rpb24gd3JhcHBlcigpIHtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsXG4gICAgICAgICAgICBhcmdzID0gQXJyYXkobGVuZ3RoKSxcbiAgICAgICAgICAgIGluZGV4ID0gbGVuZ3RoO1xuXG4gICAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgICAgYXJnc1tpbmRleF0gPSBhcmd1bWVudHNbaW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0N1cnJpZWQpIHtcbiAgICAgICAgICB2YXIgcGxhY2Vob2xkZXIgPSBnZXRIb2xkZXIod3JhcHBlciksXG4gICAgICAgICAgICAgIGhvbGRlcnNDb3VudCA9IGNvdW50SG9sZGVycyhhcmdzLCBwbGFjZWhvbGRlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcnRpYWxzKSB7XG4gICAgICAgICAgYXJncyA9IGNvbXBvc2VBcmdzKGFyZ3MsIHBhcnRpYWxzLCBob2xkZXJzLCBpc0N1cnJpZWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJ0aWFsc1JpZ2h0KSB7XG4gICAgICAgICAgYXJncyA9IGNvbXBvc2VBcmdzUmlnaHQoYXJncywgcGFydGlhbHNSaWdodCwgaG9sZGVyc1JpZ2h0LCBpc0N1cnJpZWQpO1xuICAgICAgICB9XG4gICAgICAgIGxlbmd0aCAtPSBob2xkZXJzQ291bnQ7XG4gICAgICAgIGlmIChpc0N1cnJpZWQgJiYgbGVuZ3RoIDwgYXJpdHkpIHtcbiAgICAgICAgICB2YXIgbmV3SG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKGFyZ3MsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlUmVjdXJyeShcbiAgICAgICAgICAgIGZ1bmMsIGJpdG1hc2ssIGNyZWF0ZUh5YnJpZCwgd3JhcHBlci5wbGFjZWhvbGRlciwgdGhpc0FyZyxcbiAgICAgICAgICAgIGFyZ3MsIG5ld0hvbGRlcnMsIGFyZ1BvcywgYXJ5LCBhcml0eSAtIGxlbmd0aFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHRoaXNCaW5kaW5nID0gaXNCaW5kID8gdGhpc0FyZyA6IHRoaXMsXG4gICAgICAgICAgICBmbiA9IGlzQmluZEtleSA/IHRoaXNCaW5kaW5nW2Z1bmNdIDogZnVuYztcblxuICAgICAgICBsZW5ndGggPSBhcmdzLmxlbmd0aDtcbiAgICAgICAgaWYgKGFyZ1Bvcykge1xuICAgICAgICAgIGFyZ3MgPSByZW9yZGVyKGFyZ3MsIGFyZ1Bvcyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGbGlwICYmIGxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBhcmdzLnJldmVyc2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNBcnkgJiYgYXJ5IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgYXJncy5sZW5ndGggPSBhcnk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMgJiYgdGhpcyAhPT0gcm9vdCAmJiB0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcikge1xuICAgICAgICAgIGZuID0gQ3RvciB8fCBjcmVhdGVDdG9yKGZuKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpc0JpbmRpbmcsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uaW52ZXJ0QnlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzZXR0ZXIgVGhlIGZ1bmN0aW9uIHRvIHNldCBhY2N1bXVsYXRvciB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gdG9JdGVyYXRlZSBUaGUgZnVuY3Rpb24gdG8gcmVzb2x2ZSBpdGVyYXRlZXMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgaW52ZXJ0ZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlSW52ZXJ0ZXIoc2V0dGVyLCB0b0l0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgICByZXR1cm4gYmFzZUludmVydGVyKG9iamVjdCwgc2V0dGVyLCB0b0l0ZXJhdGVlKGl0ZXJhdGVlKSwge30pO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwZXJmb3JtcyBhIG1hdGhlbWF0aWNhbCBvcGVyYXRpb24gb24gdHdvIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3BlcmF0b3IgVGhlIGZ1bmN0aW9uIHRvIHBlcmZvcm0gdGhlIG9wZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2RlZmF1bHRWYWx1ZV0gVGhlIHZhbHVlIHVzZWQgZm9yIGB1bmRlZmluZWRgIGFyZ3VtZW50cy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBtYXRoZW1hdGljYWwgb3BlcmF0aW9uIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZU1hdGhPcGVyYXRpb24ob3BlcmF0b3IsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiBvdGhlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvdGhlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gb3RoZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgdHlwZW9mIG90aGVyID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGJhc2VUb1N0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICBvdGhlciA9IGJhc2VUb1N0cmluZyhvdGhlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbHVlID0gYmFzZVRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgIG90aGVyID0gYmFzZVRvTnVtYmVyKG90aGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gb3BlcmF0b3IodmFsdWUsIG90aGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gbGlrZSBgXy5vdmVyYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gYXJyYXlGdW5jIFRoZSBmdW5jdGlvbiB0byBpdGVyYXRlIG92ZXIgaXRlcmF0ZWVzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG92ZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlT3ZlcihhcnJheUZ1bmMpIHtcbiAgICAgIHJldHVybiBmbGF0UmVzdChmdW5jdGlvbihpdGVyYXRlZXMpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBiYXNlVW5hcnkoZ2V0SXRlcmF0ZWUoKSkpO1xuICAgICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICAgIHZhciB0aGlzQXJnID0gdGhpcztcbiAgICAgICAgICByZXR1cm4gYXJyYXlGdW5jKGl0ZXJhdGVlcywgZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgICAgICAgIHJldHVybiBhcHBseShpdGVyYXRlZSwgdGhpc0FyZywgYXJncyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyB0aGUgcGFkZGluZyBmb3IgYHN0cmluZ2AgYmFzZWQgb24gYGxlbmd0aGAuIFRoZSBgY2hhcnNgIHN0cmluZ1xuICAgICAqIGlzIHRydW5jYXRlZCBpZiB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgZXhjZWVkcyBgbGVuZ3RoYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aCBUaGUgcGFkZGluZyBsZW5ndGguXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz0nICddIFRoZSBzdHJpbmcgdXNlZCBhcyBwYWRkaW5nLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHBhZGRpbmcgZm9yIGBzdHJpbmdgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVBhZGRpbmcobGVuZ3RoLCBjaGFycykge1xuICAgICAgY2hhcnMgPSBjaGFycyA9PT0gdW5kZWZpbmVkID8gJyAnIDogYmFzZVRvU3RyaW5nKGNoYXJzKTtcblxuICAgICAgdmFyIGNoYXJzTGVuZ3RoID0gY2hhcnMubGVuZ3RoO1xuICAgICAgaWYgKGNoYXJzTGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gY2hhcnNMZW5ndGggPyBiYXNlUmVwZWF0KGNoYXJzLCBsZW5ndGgpIDogY2hhcnM7XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gYmFzZVJlcGVhdChjaGFycywgbmF0aXZlQ2VpbChsZW5ndGggLyBzdHJpbmdTaXplKGNoYXJzKSkpO1xuICAgICAgcmV0dXJuIGhhc1VuaWNvZGUoY2hhcnMpXG4gICAgICAgID8gY2FzdFNsaWNlKHN0cmluZ1RvQXJyYXkocmVzdWx0KSwgMCwgbGVuZ3RoKS5qb2luKCcnKVxuICAgICAgICA6IHJlc3VsdC5zbGljZSgwLCBsZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHdyYXBzIGBmdW5jYCB0byBpbnZva2UgaXQgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmdcbiAgICAgKiBvZiBgdGhpc0FyZ2AgYW5kIGBwYXJ0aWFsc2AgcHJlcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgY3JlYXRlV3JhcGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQgdG9cbiAgICAgKiAgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyB3cmFwcGVkIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVBhcnRpYWwoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMpIHtcbiAgICAgIHZhciBpc0JpbmQgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcsXG4gICAgICAgICAgQ3RvciA9IGNyZWF0ZUN0b3IoZnVuYyk7XG5cbiAgICAgIGZ1bmN0aW9uIHdyYXBwZXIoKSB7XG4gICAgICAgIHZhciBhcmdzSW5kZXggPSAtMSxcbiAgICAgICAgICAgIGFyZ3NMZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoLFxuICAgICAgICAgICAgbGVmdEluZGV4ID0gLTEsXG4gICAgICAgICAgICBsZWZ0TGVuZ3RoID0gcGFydGlhbHMubGVuZ3RoLFxuICAgICAgICAgICAgYXJncyA9IEFycmF5KGxlZnRMZW5ndGggKyBhcmdzTGVuZ3RoKSxcbiAgICAgICAgICAgIGZuID0gKHRoaXMgJiYgdGhpcyAhPT0gcm9vdCAmJiB0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcikgPyBDdG9yIDogZnVuYztcblxuICAgICAgICB3aGlsZSAoKytsZWZ0SW5kZXggPCBsZWZ0TGVuZ3RoKSB7XG4gICAgICAgICAgYXJnc1tsZWZ0SW5kZXhdID0gcGFydGlhbHNbbGVmdEluZGV4XTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoYXJnc0xlbmd0aC0tKSB7XG4gICAgICAgICAgYXJnc1tsZWZ0SW5kZXgrK10gPSBhcmd1bWVudHNbKythcmdzSW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcHBseShmbiwgaXNCaW5kID8gdGhpc0FyZyA6IHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLnJhbmdlYCBvciBgXy5yYW5nZVJpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmFuZ2UgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmFuZ2UoZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oc3RhcnQsIGVuZCwgc3RlcCkge1xuICAgICAgICBpZiAoc3RlcCAmJiB0eXBlb2Ygc3RlcCAhPSAnbnVtYmVyJyAmJiBpc0l0ZXJhdGVlQ2FsbChzdGFydCwgZW5kLCBzdGVwKSkge1xuICAgICAgICAgIGVuZCA9IHN0ZXAgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRW5zdXJlIHRoZSBzaWduIG9mIGAtMGAgaXMgcHJlc2VydmVkLlxuICAgICAgICBzdGFydCA9IHRvRmluaXRlKHN0YXJ0KTtcbiAgICAgICAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZW5kID0gc3RhcnQ7XG4gICAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVuZCA9IHRvRmluaXRlKGVuZCk7XG4gICAgICAgIH1cbiAgICAgICAgc3RlcCA9IHN0ZXAgPT09IHVuZGVmaW5lZCA/IChzdGFydCA8IGVuZCA/IDEgOiAtMSkgOiB0b0Zpbml0ZShzdGVwKTtcbiAgICAgICAgcmV0dXJuIGJhc2VSYW5nZShzdGFydCwgZW5kLCBzdGVwLCBmcm9tUmlnaHQpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwZXJmb3JtcyBhIHJlbGF0aW9uYWwgb3BlcmF0aW9uIG9uIHR3byB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wZXJhdG9yIFRoZSBmdW5jdGlvbiB0byBwZXJmb3JtIHRoZSBvcGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVsYXRpb25hbCBvcGVyYXRpb24gZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihvcGVyYXRvcikge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICBpZiAoISh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgJiYgdHlwZW9mIG90aGVyID09ICdzdHJpbmcnKSkge1xuICAgICAgICAgIHZhbHVlID0gdG9OdW1iZXIodmFsdWUpO1xuICAgICAgICAgIG90aGVyID0gdG9OdW1iZXIob3RoZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcGVyYXRvcih2YWx1ZSwgb3RoZXIpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCB3cmFwcyBgZnVuY2AgdG8gY29udGludWUgY3VycnlpbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgY3JlYXRlV3JhcGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB3cmFwRnVuYyBUaGUgZnVuY3Rpb24gdG8gY3JlYXRlIHRoZSBgZnVuY2Agd3JhcHBlci5cbiAgICAgKiBAcGFyYW0geyp9IHBsYWNlaG9sZGVyIFRoZSBwbGFjZWhvbGRlciB2YWx1ZS5cbiAgICAgKiBAcGFyYW0geyp9IFt0aGlzQXJnXSBUaGUgYHRoaXNgIGJpbmRpbmcgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBwcmVwZW5kIHRvIHRob3NlIHByb3ZpZGVkIHRvXG4gICAgICogIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2hvbGRlcnNdIFRoZSBgcGFydGlhbHNgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2FyZ1Bvc10gVGhlIGFyZ3VtZW50IHBvc2l0aW9ucyBvZiB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJ5XSBUaGUgYXJpdHkgY2FwIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5XSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmVjdXJyeShmdW5jLCBiaXRtYXNrLCB3cmFwRnVuYywgcGxhY2Vob2xkZXIsIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBhcmdQb3MsIGFyeSwgYXJpdHkpIHtcbiAgICAgIHZhciBpc0N1cnJ5ID0gYml0bWFzayAmIFdSQVBfQ1VSUllfRkxBRyxcbiAgICAgICAgICBuZXdIb2xkZXJzID0gaXNDdXJyeSA/IGhvbGRlcnMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3SG9sZGVyc1JpZ2h0ID0gaXNDdXJyeSA/IHVuZGVmaW5lZCA6IGhvbGRlcnMsXG4gICAgICAgICAgbmV3UGFydGlhbHMgPSBpc0N1cnJ5ID8gcGFydGlhbHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3UGFydGlhbHNSaWdodCA9IGlzQ3VycnkgPyB1bmRlZmluZWQgOiBwYXJ0aWFscztcblxuICAgICAgYml0bWFzayB8PSAoaXNDdXJyeSA/IFdSQVBfUEFSVElBTF9GTEFHIDogV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcpO1xuICAgICAgYml0bWFzayAmPSB+KGlzQ3VycnkgPyBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyA6IFdSQVBfUEFSVElBTF9GTEFHKTtcblxuICAgICAgaWYgKCEoYml0bWFzayAmIFdSQVBfQ1VSUllfQk9VTkRfRkxBRykpIHtcbiAgICAgICAgYml0bWFzayAmPSB+KFdSQVBfQklORF9GTEFHIHwgV1JBUF9CSU5EX0tFWV9GTEFHKTtcbiAgICAgIH1cbiAgICAgIHZhciBuZXdEYXRhID0gW1xuICAgICAgICBmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBuZXdQYXJ0aWFscywgbmV3SG9sZGVycywgbmV3UGFydGlhbHNSaWdodCxcbiAgICAgICAgbmV3SG9sZGVyc1JpZ2h0LCBhcmdQb3MsIGFyeSwgYXJpdHlcbiAgICAgIF07XG5cbiAgICAgIHZhciByZXN1bHQgPSB3cmFwRnVuYy5hcHBseSh1bmRlZmluZWQsIG5ld0RhdGEpO1xuICAgICAgaWYgKGlzTGF6aWFibGUoZnVuYykpIHtcbiAgICAgICAgc2V0RGF0YShyZXN1bHQsIG5ld0RhdGEpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICByZXR1cm4gc2V0V3JhcFRvU3RyaW5nKHJlc3VsdCwgZnVuYywgYml0bWFzayk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8ucm91bmRgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSBUaGUgbmFtZSBvZiB0aGUgYE1hdGhgIG1ldGhvZCB0byB1c2Ugd2hlbiByb3VuZGluZy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByb3VuZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVSb3VuZChtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgZnVuYyA9IE1hdGhbbWV0aG9kTmFtZV07XG4gICAgICByZXR1cm4gZnVuY3Rpb24obnVtYmVyLCBwcmVjaXNpb24pIHtcbiAgICAgICAgbnVtYmVyID0gdG9OdW1iZXIobnVtYmVyKTtcbiAgICAgICAgcHJlY2lzaW9uID0gcHJlY2lzaW9uID09IG51bGwgPyAwIDogbmF0aXZlTWluKHRvSW50ZWdlcihwcmVjaXNpb24pLCAyOTIpO1xuICAgICAgICBpZiAocHJlY2lzaW9uICYmIG5hdGl2ZUlzRmluaXRlKG51bWJlcikpIHtcbiAgICAgICAgICAvLyBTaGlmdCB3aXRoIGV4cG9uZW50aWFsIG5vdGF0aW9uIHRvIGF2b2lkIGZsb2F0aW5nLXBvaW50IGlzc3Vlcy5cbiAgICAgICAgICAvLyBTZWUgW01ETl0oaHR0cHM6Ly9tZG4uaW8vcm91bmQjRXhhbXBsZXMpIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICAgICAgdmFyIHBhaXIgPSAodG9TdHJpbmcobnVtYmVyKSArICdlJykuc3BsaXQoJ2UnKSxcbiAgICAgICAgICAgICAgdmFsdWUgPSBmdW5jKHBhaXJbMF0gKyAnZScgKyAoK3BhaXJbMV0gKyBwcmVjaXNpb24pKTtcblxuICAgICAgICAgIHBhaXIgPSAodG9TdHJpbmcodmFsdWUpICsgJ2UnKS5zcGxpdCgnZScpO1xuICAgICAgICAgIHJldHVybiArKHBhaXJbMF0gKyAnZScgKyAoK3BhaXJbMV0gLSBwcmVjaXNpb24pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuYyhudW1iZXIpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2V0IG9iamVjdCBvZiBgdmFsdWVzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYWRkIHRvIHRoZSBzZXQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IHNldC5cbiAgICAgKi9cbiAgICB2YXIgY3JlYXRlU2V0ID0gIShTZXQgJiYgKDEgLyBzZXRUb0FycmF5KG5ldyBTZXQoWywtMF0pKVsxXSkgPT0gSU5GSU5JVFkpID8gbm9vcCA6IGZ1bmN0aW9uKHZhbHVlcykge1xuICAgICAgcmV0dXJuIG5ldyBTZXQodmFsdWVzKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLnRvUGFpcnNgIG9yIGBfLnRvUGFpcnNJbmAgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGtleXNGdW5jIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIGtleXMgb2YgYSBnaXZlbiBvYmplY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFpcnMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlVG9QYWlycyhrZXlzRnVuYykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKG9iamVjdCk7XG4gICAgICAgIGlmICh0YWcgPT0gbWFwVGFnKSB7XG4gICAgICAgICAgcmV0dXJuIG1hcFRvQXJyYXkob2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFnID09IHNldFRhZykge1xuICAgICAgICAgIHJldHVybiBzZXRUb1BhaXJzKG9iamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJhc2VUb1BhaXJzKG9iamVjdCwga2V5c0Z1bmMob2JqZWN0KSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGVpdGhlciBjdXJyaWVzIG9yIGludm9rZXMgYGZ1bmNgIHdpdGggb3B0aW9uYWxcbiAgICAgKiBgdGhpc2AgYmluZGluZyBhbmQgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gZnVuYyBUaGUgZnVuY3Rpb24gb3IgbWV0aG9kIG5hbWUgdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy5cbiAgICAgKiAgICAxIC0gYF8uYmluZGBcbiAgICAgKiAgICAyIC0gYF8uYmluZEtleWBcbiAgICAgKiAgICA0IC0gYF8uY3VycnlgIG9yIGBfLmN1cnJ5UmlnaHRgIG9mIGEgYm91bmQgZnVuY3Rpb25cbiAgICAgKiAgICA4IC0gYF8uY3VycnlgXG4gICAgICogICAxNiAtIGBfLmN1cnJ5UmlnaHRgXG4gICAgICogICAzMiAtIGBfLnBhcnRpYWxgXG4gICAgICogICA2NCAtIGBfLnBhcnRpYWxSaWdodGBcbiAgICAgKiAgMTI4IC0gYF8ucmVhcmdgXG4gICAgICogIDI1NiAtIGBfLmFyeWBcbiAgICAgKiAgNTEyIC0gYF8uZmxpcGBcbiAgICAgKiBAcGFyYW0geyp9IFt0aGlzQXJnXSBUaGUgYHRoaXNgIGJpbmRpbmcgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBiZSBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc10gVGhlIGBwYXJ0aWFsc2AgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbYXJnUG9zXSBUaGUgYXJndW1lbnQgcG9zaXRpb25zIG9mIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcnldIFRoZSBhcml0eSBjYXAgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJpdHldIFRoZSBhcml0eSBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVXcmFwKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBhcmdQb3MsIGFyeSwgYXJpdHkpIHtcbiAgICAgIHZhciBpc0JpbmRLZXkgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0tFWV9GTEFHO1xuICAgICAgaWYgKCFpc0JpbmRLZXkgJiYgdHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gcGFydGlhbHMgPyBwYXJ0aWFscy5sZW5ndGggOiAwO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgYml0bWFzayAmPSB+KFdSQVBfUEFSVElBTF9GTEFHIHwgV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcpO1xuICAgICAgICBwYXJ0aWFscyA9IGhvbGRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBhcnkgPSBhcnkgPT09IHVuZGVmaW5lZCA/IGFyeSA6IG5hdGl2ZU1heCh0b0ludGVnZXIoYXJ5KSwgMCk7XG4gICAgICBhcml0eSA9IGFyaXR5ID09PSB1bmRlZmluZWQgPyBhcml0eSA6IHRvSW50ZWdlcihhcml0eSk7XG4gICAgICBsZW5ndGggLT0gaG9sZGVycyA/IGhvbGRlcnMubGVuZ3RoIDogMDtcblxuICAgICAgaWYgKGJpdG1hc2sgJiBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRykge1xuICAgICAgICB2YXIgcGFydGlhbHNSaWdodCA9IHBhcnRpYWxzLFxuICAgICAgICAgICAgaG9sZGVyc1JpZ2h0ID0gaG9sZGVycztcblxuICAgICAgICBwYXJ0aWFscyA9IGhvbGRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB2YXIgZGF0YSA9IGlzQmluZEtleSA/IHVuZGVmaW5lZCA6IGdldERhdGEoZnVuYyk7XG5cbiAgICAgIHZhciBuZXdEYXRhID0gW1xuICAgICAgICBmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBwYXJ0aWFscywgaG9sZGVycywgcGFydGlhbHNSaWdodCwgaG9sZGVyc1JpZ2h0LFxuICAgICAgICBhcmdQb3MsIGFyeSwgYXJpdHlcbiAgICAgIF07XG5cbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIG1lcmdlRGF0YShuZXdEYXRhLCBkYXRhKTtcbiAgICAgIH1cbiAgICAgIGZ1bmMgPSBuZXdEYXRhWzBdO1xuICAgICAgYml0bWFzayA9IG5ld0RhdGFbMV07XG4gICAgICB0aGlzQXJnID0gbmV3RGF0YVsyXTtcbiAgICAgIHBhcnRpYWxzID0gbmV3RGF0YVszXTtcbiAgICAgIGhvbGRlcnMgPSBuZXdEYXRhWzRdO1xuICAgICAgYXJpdHkgPSBuZXdEYXRhWzldID0gbmV3RGF0YVs5XSA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gKGlzQmluZEtleSA/IDAgOiBmdW5jLmxlbmd0aClcbiAgICAgICAgOiBuYXRpdmVNYXgobmV3RGF0YVs5XSAtIGxlbmd0aCwgMCk7XG5cbiAgICAgIGlmICghYXJpdHkgJiYgYml0bWFzayAmIChXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpKSB7XG4gICAgICAgIGJpdG1hc2sgJj0gfihXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpO1xuICAgICAgfVxuICAgICAgaWYgKCFiaXRtYXNrIHx8IGJpdG1hc2sgPT0gV1JBUF9CSU5EX0ZMQUcpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNyZWF0ZUJpbmQoZnVuYywgYml0bWFzaywgdGhpc0FyZyk7XG4gICAgICB9IGVsc2UgaWYgKGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHIHx8IGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9SSUdIVF9GTEFHKSB7XG4gICAgICAgIHJlc3VsdCA9IGNyZWF0ZUN1cnJ5KGZ1bmMsIGJpdG1hc2ssIGFyaXR5KTtcbiAgICAgIH0gZWxzZSBpZiAoKGJpdG1hc2sgPT0gV1JBUF9QQVJUSUFMX0ZMQUcgfHwgYml0bWFzayA9PSAoV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX1BBUlRJQUxfRkxBRykpICYmICFob2xkZXJzLmxlbmd0aCkge1xuICAgICAgICByZXN1bHQgPSBjcmVhdGVQYXJ0aWFsKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGNyZWF0ZUh5YnJpZC5hcHBseSh1bmRlZmluZWQsIG5ld0RhdGEpO1xuICAgICAgfVxuICAgICAgdmFyIHNldHRlciA9IGRhdGEgPyBiYXNlU2V0RGF0YSA6IHNldERhdGE7XG4gICAgICByZXR1cm4gc2V0V3JhcFRvU3RyaW5nKHNldHRlcihyZXN1bHQsIG5ld0RhdGEpLCBmdW5jLCBiaXRtYXNrKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGJ5IGBfLmRlZmF1bHRzYCB0byBjdXN0b21pemUgaXRzIGBfLmFzc2lnbkluYCB1c2UgdG8gYXNzaWduIHByb3BlcnRpZXNcbiAgICAgKiBvZiBzb3VyY2Ugb2JqZWN0cyB0byB0aGUgZGVzdGluYXRpb24gb2JqZWN0IGZvciBhbGwgZGVzdGluYXRpb24gcHJvcGVydGllc1xuICAgICAqIHRoYXQgcmVzb2x2ZSB0byBgdW5kZWZpbmVkYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSBvYmpWYWx1ZSBUaGUgZGVzdGluYXRpb24gdmFsdWUuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgc291cmNlIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHBhcmVudCBvYmplY3Qgb2YgYG9ialZhbHVlYC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgdmFsdWUgdG8gYXNzaWduLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGN1c3RvbURlZmF1bHRzQXNzaWduSW4ob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCkge1xuICAgICAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAoZXEob2JqVmFsdWUsIG9iamVjdFByb3RvW2tleV0pICYmICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpIHtcbiAgICAgICAgcmV0dXJuIHNyY1ZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9ialZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgYnkgYF8uZGVmYXVsdHNEZWVwYCB0byBjdXN0b21pemUgaXRzIGBfLm1lcmdlYCB1c2UgdG8gbWVyZ2Ugc291cmNlXG4gICAgICogb2JqZWN0cyBpbnRvIGRlc3RpbmF0aW9uIG9iamVjdHMgdGhhdCBhcmUgcGFzc2VkIHRocnUuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gb2JqVmFsdWUgVGhlIGRlc3RpbmF0aW9uIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7Kn0gc3JjVmFsdWUgVGhlIHNvdXJjZSB2YWx1ZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIG1lcmdlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHBhcmVudCBvYmplY3Qgb2YgYG9ialZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBwYXJlbnQgb2JqZWN0IG9mIGBzcmNWYWx1ZWAuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtzdGFja10gVHJhY2tzIHRyYXZlcnNlZCBzb3VyY2UgdmFsdWVzIGFuZCB0aGVpciBtZXJnZWRcbiAgICAgKiAgY291bnRlcnBhcnRzLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3VzdG9tRGVmYXVsdHNNZXJnZShvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKSB7XG4gICAgICBpZiAoaXNPYmplY3Qob2JqVmFsdWUpICYmIGlzT2JqZWN0KHNyY1ZhbHVlKSkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBtZXJnZSBvYmplY3RzIGFuZCBhcnJheXMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgc3RhY2suc2V0KHNyY1ZhbHVlLCBvYmpWYWx1ZSk7XG4gICAgICAgIGJhc2VNZXJnZShvYmpWYWx1ZSwgc3JjVmFsdWUsIHVuZGVmaW5lZCwgY3VzdG9tRGVmYXVsdHNNZXJnZSwgc3RhY2spO1xuICAgICAgICBzdGFja1snZGVsZXRlJ10oc3JjVmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9ialZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgYnkgYF8ub21pdGAgdG8gY3VzdG9taXplIGl0cyBgXy5jbG9uZURlZXBgIHVzZSB0byBvbmx5IGNsb25lIHBsYWluXG4gICAgICogb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHVuY2xvbmVkIHZhbHVlIG9yIGB1bmRlZmluZWRgIHRvIGRlZmVyIGNsb25pbmcgdG8gYF8uY2xvbmVEZWVwYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjdXN0b21PbWl0Q2xvbmUodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc1BsYWluT2JqZWN0KHZhbHVlKSA/IHVuZGVmaW5lZCA6IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxEZWVwYCBmb3IgYXJyYXlzIHdpdGggc3VwcG9ydCBmb3JcbiAgICAgKiBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IG90aGVyIFRoZSBvdGhlciBhcnJheSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGJhc2VJc0VxdWFsYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGN1c3RvbWl6ZXIgVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBlcXVhbEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRldGVybWluZSBlcXVpdmFsZW50cyBvZiB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHN0YWNrIFRyYWNrcyB0cmF2ZXJzZWQgYGFycmF5YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYXJyYXlzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXF1YWxBcnJheXMoYXJyYXksIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHLFxuICAgICAgICAgIGFyckxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBvdGhMZW5ndGggPSBvdGhlci5sZW5ndGg7XG5cbiAgICAgIGlmIChhcnJMZW5ndGggIT0gb3RoTGVuZ3RoICYmICEoaXNQYXJ0aWFsICYmIG90aExlbmd0aCA+IGFyckxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gQ2hlY2sgdGhhdCBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgICAgIHZhciBhcnJTdGFja2VkID0gc3RhY2suZ2V0KGFycmF5KTtcbiAgICAgIHZhciBvdGhTdGFja2VkID0gc3RhY2suZ2V0KG90aGVyKTtcbiAgICAgIGlmIChhcnJTdGFja2VkICYmIG90aFN0YWNrZWQpIHtcbiAgICAgICAgcmV0dXJuIGFyclN0YWNrZWQgPT0gb3RoZXIgJiYgb3RoU3RhY2tlZCA9PSBhcnJheTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIHJlc3VsdCA9IHRydWUsXG4gICAgICAgICAgc2VlbiA9IChiaXRtYXNrICYgQ09NUEFSRV9VTk9SREVSRURfRkxBRykgPyBuZXcgU2V0Q2FjaGUgOiB1bmRlZmluZWQ7XG5cbiAgICAgIHN0YWNrLnNldChhcnJheSwgb3RoZXIpO1xuICAgICAgc3RhY2suc2V0KG90aGVyLCBhcnJheSk7XG5cbiAgICAgIC8vIElnbm9yZSBub24taW5kZXggcHJvcGVydGllcy5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgYXJyTGVuZ3RoKSB7XG4gICAgICAgIHZhciBhcnJWYWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIG90aFZhbHVlID0gb3RoZXJbaW5kZXhdO1xuXG4gICAgICAgIGlmIChjdXN0b21pemVyKSB7XG4gICAgICAgICAgdmFyIGNvbXBhcmVkID0gaXNQYXJ0aWFsXG4gICAgICAgICAgICA/IGN1c3RvbWl6ZXIob3RoVmFsdWUsIGFyclZhbHVlLCBpbmRleCwgb3RoZXIsIGFycmF5LCBzdGFjaylcbiAgICAgICAgICAgIDogY3VzdG9taXplcihhcnJWYWx1ZSwgb3RoVmFsdWUsIGluZGV4LCBhcnJheSwgb3RoZXIsIHN0YWNrKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29tcGFyZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChjb21wYXJlZCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGNvbXBhcmUgYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgIGlmIChzZWVuKSB7XG4gICAgICAgICAgaWYgKCFhcnJheVNvbWUob3RoZXIsIGZ1bmN0aW9uKG90aFZhbHVlLCBvdGhJbmRleCkge1xuICAgICAgICAgICAgICAgIGlmICghY2FjaGVIYXMoc2Vlbiwgb3RoSW5kZXgpICYmXG4gICAgICAgICAgICAgICAgICAgIChhcnJWYWx1ZSA9PT0gb3RoVmFsdWUgfHwgZXF1YWxGdW5jKGFyclZhbHVlLCBvdGhWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlZW4ucHVzaChvdGhJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoIShcbiAgICAgICAgICAgICAgYXJyVmFsdWUgPT09IG90aFZhbHVlIHx8XG4gICAgICAgICAgICAgICAgZXF1YWxGdW5jKGFyclZhbHVlLCBvdGhWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN0YWNrWydkZWxldGUnXShhcnJheSk7XG4gICAgICBzdGFja1snZGVsZXRlJ10ob3RoZXIpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VJc0VxdWFsRGVlcGAgZm9yIGNvbXBhcmluZyBvYmplY3RzIG9mXG4gICAgICogdGhlIHNhbWUgYHRvU3RyaW5nVGFnYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIGZ1bmN0aW9uIG9ubHkgc3VwcG9ydHMgY29tcGFyaW5nIHZhbHVlcyB3aXRoIHRhZ3Mgb2ZcbiAgICAgKiBgQm9vbGVhbmAsIGBEYXRlYCwgYEVycm9yYCwgYE51bWJlcmAsIGBSZWdFeHBgLCBvciBgU3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBgdG9TdHJpbmdUYWdgIG9mIHRoZSBvYmplY3RzIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc3RhY2sgVHJhY2tzIHRyYXZlcnNlZCBgb2JqZWN0YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgb2JqZWN0cyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVxdWFsQnlUYWcob2JqZWN0LCBvdGhlciwgdGFnLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgICBjYXNlIGRhdGFWaWV3VGFnOlxuICAgICAgICAgIGlmICgob2JqZWN0LmJ5dGVMZW5ndGggIT0gb3RoZXIuYnl0ZUxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgKG9iamVjdC5ieXRlT2Zmc2V0ICE9IG90aGVyLmJ5dGVPZmZzZXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9iamVjdCA9IG9iamVjdC5idWZmZXI7XG4gICAgICAgICAgb3RoZXIgPSBvdGhlci5idWZmZXI7XG5cbiAgICAgICAgY2FzZSBhcnJheUJ1ZmZlclRhZzpcbiAgICAgICAgICBpZiAoKG9iamVjdC5ieXRlTGVuZ3RoICE9IG90aGVyLmJ5dGVMZW5ndGgpIHx8XG4gICAgICAgICAgICAgICFlcXVhbEZ1bmMobmV3IFVpbnQ4QXJyYXkob2JqZWN0KSwgbmV3IFVpbnQ4QXJyYXkob3RoZXIpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBjYXNlIGJvb2xUYWc6XG4gICAgICAgIGNhc2UgZGF0ZVRhZzpcbiAgICAgICAgY2FzZSBudW1iZXJUYWc6XG4gICAgICAgICAgLy8gQ29lcmNlIGJvb2xlYW5zIHRvIGAxYCBvciBgMGAgYW5kIGRhdGVzIHRvIG1pbGxpc2Vjb25kcy5cbiAgICAgICAgICAvLyBJbnZhbGlkIGRhdGVzIGFyZSBjb2VyY2VkIHRvIGBOYU5gLlxuICAgICAgICAgIHJldHVybiBlcSgrb2JqZWN0LCArb3RoZXIpO1xuXG4gICAgICAgIGNhc2UgZXJyb3JUYWc6XG4gICAgICAgICAgcmV0dXJuIG9iamVjdC5uYW1lID09IG90aGVyLm5hbWUgJiYgb2JqZWN0Lm1lc3NhZ2UgPT0gb3RoZXIubWVzc2FnZTtcblxuICAgICAgICBjYXNlIHJlZ2V4cFRhZzpcbiAgICAgICAgY2FzZSBzdHJpbmdUYWc6XG4gICAgICAgICAgLy8gQ29lcmNlIHJlZ2V4ZXMgdG8gc3RyaW5ncyBhbmQgdHJlYXQgc3RyaW5ncywgcHJpbWl0aXZlcyBhbmQgb2JqZWN0cyxcbiAgICAgICAgICAvLyBhcyBlcXVhbC4gU2VlIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1yZWdleHAucHJvdG90eXBlLnRvc3RyaW5nXG4gICAgICAgICAgLy8gZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IChvdGhlciArICcnKTtcblxuICAgICAgICBjYXNlIG1hcFRhZzpcbiAgICAgICAgICB2YXIgY29udmVydCA9IG1hcFRvQXJyYXk7XG5cbiAgICAgICAgY2FzZSBzZXRUYWc6XG4gICAgICAgICAgdmFyIGlzUGFydGlhbCA9IGJpdG1hc2sgJiBDT01QQVJFX1BBUlRJQUxfRkxBRztcbiAgICAgICAgICBjb252ZXJ0IHx8IChjb252ZXJ0ID0gc2V0VG9BcnJheSk7XG5cbiAgICAgICAgICBpZiAob2JqZWN0LnNpemUgIT0gb3RoZXIuc2l6ZSAmJiAhaXNQYXJ0aWFsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFzc3VtZSBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgICAgICAgICB2YXIgc3RhY2tlZCA9IHN0YWNrLmdldChvYmplY3QpO1xuICAgICAgICAgIGlmIChzdGFja2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RhY2tlZCA9PSBvdGhlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgYml0bWFzayB8PSBDT01QQVJFX1VOT1JERVJFRF9GTEFHO1xuXG4gICAgICAgICAgLy8gUmVjdXJzaXZlbHkgY29tcGFyZSBvYmplY3RzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgICAgc3RhY2suc2V0KG9iamVjdCwgb3RoZXIpO1xuICAgICAgICAgIHZhciByZXN1bHQgPSBlcXVhbEFycmF5cyhjb252ZXJ0KG9iamVjdCksIGNvbnZlcnQob3RoZXIpLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKTtcbiAgICAgICAgICBzdGFja1snZGVsZXRlJ10ob2JqZWN0KTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuXG4gICAgICAgIGNhc2Ugc3ltYm9sVGFnOlxuICAgICAgICAgIGlmIChzeW1ib2xWYWx1ZU9mKSB7XG4gICAgICAgICAgICByZXR1cm4gc3ltYm9sVmFsdWVPZi5jYWxsKG9iamVjdCkgPT0gc3ltYm9sVmFsdWVPZi5jYWxsKG90aGVyKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlSXNFcXVhbERlZXBgIGZvciBvYmplY3RzIHdpdGggc3VwcG9ydCBmb3JcbiAgICAgKiBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvdGhlciBUaGUgb3RoZXIgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc3RhY2sgVHJhY2tzIHRyYXZlcnNlZCBgb2JqZWN0YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgb2JqZWN0cyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVxdWFsT2JqZWN0cyhvYmplY3QsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHLFxuICAgICAgICAgIG9ialByb3BzID0gZ2V0QWxsS2V5cyhvYmplY3QpLFxuICAgICAgICAgIG9iakxlbmd0aCA9IG9ialByb3BzLmxlbmd0aCxcbiAgICAgICAgICBvdGhQcm9wcyA9IGdldEFsbEtleXMob3RoZXIpLFxuICAgICAgICAgIG90aExlbmd0aCA9IG90aFByb3BzLmxlbmd0aDtcblxuICAgICAgaWYgKG9iakxlbmd0aCAhPSBvdGhMZW5ndGggJiYgIWlzUGFydGlhbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBvYmpMZW5ndGg7XG4gICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICB2YXIga2V5ID0gb2JqUHJvcHNbaW5kZXhdO1xuICAgICAgICBpZiAoIShpc1BhcnRpYWwgPyBrZXkgaW4gb3RoZXIgOiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCBrZXkpKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQ2hlY2sgdGhhdCBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgICAgIHZhciBvYmpTdGFja2VkID0gc3RhY2suZ2V0KG9iamVjdCk7XG4gICAgICB2YXIgb3RoU3RhY2tlZCA9IHN0YWNrLmdldChvdGhlcik7XG4gICAgICBpZiAob2JqU3RhY2tlZCAmJiBvdGhTdGFja2VkKSB7XG4gICAgICAgIHJldHVybiBvYmpTdGFja2VkID09IG90aGVyICYmIG90aFN0YWNrZWQgPT0gb2JqZWN0O1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IHRydWU7XG4gICAgICBzdGFjay5zZXQob2JqZWN0LCBvdGhlcik7XG4gICAgICBzdGFjay5zZXQob3RoZXIsIG9iamVjdCk7XG5cbiAgICAgIHZhciBza2lwQ3RvciA9IGlzUGFydGlhbDtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgb2JqTGVuZ3RoKSB7XG4gICAgICAgIGtleSA9IG9ialByb3BzW2luZGV4XTtcbiAgICAgICAgdmFyIG9ialZhbHVlID0gb2JqZWN0W2tleV0sXG4gICAgICAgICAgICBvdGhWYWx1ZSA9IG90aGVyW2tleV07XG5cbiAgICAgICAgaWYgKGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICB2YXIgY29tcGFyZWQgPSBpc1BhcnRpYWxcbiAgICAgICAgICAgID8gY3VzdG9taXplcihvdGhWYWx1ZSwgb2JqVmFsdWUsIGtleSwgb3RoZXIsIG9iamVjdCwgc3RhY2spXG4gICAgICAgICAgICA6IGN1c3RvbWl6ZXIob2JqVmFsdWUsIG90aFZhbHVlLCBrZXksIG9iamVjdCwgb3RoZXIsIHN0YWNrKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZWN1cnNpdmVseSBjb21wYXJlIG9iamVjdHMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgaWYgKCEoY29tcGFyZWQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICA/IChvYmpWYWx1ZSA9PT0gb3RoVmFsdWUgfHwgZXF1YWxGdW5jKG9ialZhbHVlLCBvdGhWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spKVxuICAgICAgICAgICAgICA6IGNvbXBhcmVkXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgc2tpcEN0b3IgfHwgKHNraXBDdG9yID0ga2V5ID09ICdjb25zdHJ1Y3RvcicpO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdCAmJiAhc2tpcEN0b3IpIHtcbiAgICAgICAgdmFyIG9iakN0b3IgPSBvYmplY3QuY29uc3RydWN0b3IsXG4gICAgICAgICAgICBvdGhDdG9yID0gb3RoZXIuY29uc3RydWN0b3I7XG5cbiAgICAgICAgLy8gTm9uIGBPYmplY3RgIG9iamVjdCBpbnN0YW5jZXMgd2l0aCBkaWZmZXJlbnQgY29uc3RydWN0b3JzIGFyZSBub3QgZXF1YWwuXG4gICAgICAgIGlmIChvYmpDdG9yICE9IG90aEN0b3IgJiZcbiAgICAgICAgICAgICgnY29uc3RydWN0b3InIGluIG9iamVjdCAmJiAnY29uc3RydWN0b3InIGluIG90aGVyKSAmJlxuICAgICAgICAgICAgISh0eXBlb2Ygb2JqQ3RvciA9PSAnZnVuY3Rpb24nICYmIG9iakN0b3IgaW5zdGFuY2VvZiBvYmpDdG9yICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBvdGhDdG9yID09ICdmdW5jdGlvbicgJiYgb3RoQ3RvciBpbnN0YW5jZW9mIG90aEN0b3IpKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN0YWNrWydkZWxldGUnXShvYmplY3QpO1xuICAgICAgc3RhY2tbJ2RlbGV0ZSddKG90aGVyKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlUmVzdGAgd2hpY2ggZmxhdHRlbnMgdGhlIHJlc3QgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdFJlc3QoZnVuYykge1xuICAgICAgcmV0dXJuIHNldFRvU3RyaW5nKG92ZXJSZXN0KGZ1bmMsIHVuZGVmaW5lZCwgZmxhdHRlbiksIGZ1bmMgKyAnJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBhbmQgc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0QWxsS2V5cyhvYmplY3QpIHtcbiAgICAgIHJldHVybiBiYXNlR2V0QWxsS2V5cyhvYmplY3QsIGtleXMsIGdldFN5bWJvbHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBhbmRcbiAgICAgKiBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyBhbmQgc3ltYm9scy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRBbGxLZXlzSW4ob2JqZWN0KSB7XG4gICAgICByZXR1cm4gYmFzZUdldEFsbEtleXMob2JqZWN0LCBrZXlzSW4sIGdldFN5bWJvbHNJbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBtZXRhZGF0YSBmb3IgYGZ1bmNgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWV0YWRhdGEgZm9yIGBmdW5jYC5cbiAgICAgKi9cbiAgICB2YXIgZ2V0RGF0YSA9ICFtZXRhTWFwID8gbm9vcCA6IGZ1bmN0aW9uKGZ1bmMpIHtcbiAgICAgIHJldHVybiBtZXRhTWFwLmdldChmdW5jKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbmFtZSBvZiBgZnVuY2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGZ1bmN0aW9uIG5hbWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0RnVuY05hbWUoZnVuYykge1xuICAgICAgdmFyIHJlc3VsdCA9IChmdW5jLm5hbWUgKyAnJyksXG4gICAgICAgICAgYXJyYXkgPSByZWFsTmFtZXNbcmVzdWx0XSxcbiAgICAgICAgICBsZW5ndGggPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHJlYWxOYW1lcywgcmVzdWx0KSA/IGFycmF5Lmxlbmd0aCA6IDA7XG5cbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICB2YXIgZGF0YSA9IGFycmF5W2xlbmd0aF0sXG4gICAgICAgICAgICBvdGhlckZ1bmMgPSBkYXRhLmZ1bmM7XG4gICAgICAgIGlmIChvdGhlckZ1bmMgPT0gbnVsbCB8fCBvdGhlckZ1bmMgPT0gZnVuYykge1xuICAgICAgICAgIHJldHVybiBkYXRhLm5hbWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYXJndW1lbnQgcGxhY2Vob2xkZXIgdmFsdWUgZm9yIGBmdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0SG9sZGVyKGZ1bmMpIHtcbiAgICAgIHZhciBvYmplY3QgPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKGxvZGFzaCwgJ3BsYWNlaG9sZGVyJykgPyBsb2Rhc2ggOiBmdW5jO1xuICAgICAgcmV0dXJuIG9iamVjdC5wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBhcHByb3ByaWF0ZSBcIml0ZXJhdGVlXCIgZnVuY3Rpb24uIElmIGBfLml0ZXJhdGVlYCBpcyBjdXN0b21pemVkLFxuICAgICAqIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VzdG9tIG1ldGhvZCwgb3RoZXJ3aXNlIGl0IHJldHVybnMgYGJhc2VJdGVyYXRlZWAuXG4gICAgICogSWYgYXJndW1lbnRzIGFyZSBwcm92aWRlZCwgdGhlIGNob3NlbiBmdW5jdGlvbiBpcyBpbnZva2VkIHdpdGggdGhlbSBhbmRcbiAgICAgKiBpdHMgcmVzdWx0IGlzIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IFt2YWx1ZV0gVGhlIHZhbHVlIHRvIGNvbnZlcnQgdG8gYW4gaXRlcmF0ZWUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcml0eV0gVGhlIGFyaXR5IG9mIHRoZSBjcmVhdGVkIGl0ZXJhdGVlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgY2hvc2VuIGZ1bmN0aW9uIG9yIGl0cyByZXN1bHQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0SXRlcmF0ZWUoKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbG9kYXNoLml0ZXJhdGVlIHx8IGl0ZXJhdGVlO1xuICAgICAgcmVzdWx0ID0gcmVzdWx0ID09PSBpdGVyYXRlZSA/IGJhc2VJdGVyYXRlZSA6IHJlc3VsdDtcbiAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gcmVzdWx0KGFyZ3VtZW50c1swXSwgYXJndW1lbnRzWzFdKSA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkYXRhIGZvciBgbWFwYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG1hcCBUaGUgbWFwIHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIHJlZmVyZW5jZSBrZXkuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hcCBkYXRhLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldE1hcERhdGEobWFwLCBrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gbWFwLl9fZGF0YV9fO1xuICAgICAgcmV0dXJuIGlzS2V5YWJsZShrZXkpXG4gICAgICAgID8gZGF0YVt0eXBlb2Yga2V5ID09ICdzdHJpbmcnID8gJ3N0cmluZycgOiAnaGFzaCddXG4gICAgICAgIDogZGF0YS5tYXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcHJvcGVydHkgbmFtZXMsIHZhbHVlcywgYW5kIGNvbXBhcmUgZmxhZ3Mgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG1hdGNoIGRhdGEgb2YgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0TWF0Y2hEYXRhKG9iamVjdCkge1xuICAgICAgdmFyIHJlc3VsdCA9IGtleXMob2JqZWN0KSxcbiAgICAgICAgICBsZW5ndGggPSByZXN1bHQubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgdmFyIGtleSA9IHJlc3VsdFtsZW5ndGhdLFxuICAgICAgICAgICAgdmFsdWUgPSBvYmplY3Rba2V5XTtcblxuICAgICAgICByZXN1bHRbbGVuZ3RoXSA9IFtrZXksIHZhbHVlLCBpc1N0cmljdENvbXBhcmFibGUodmFsdWUpXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbmF0aXZlIGZ1bmN0aW9uIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBtZXRob2QgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBpZiBpdCdzIG5hdGl2ZSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXROYXRpdmUob2JqZWN0LCBrZXkpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGdldFZhbHVlKG9iamVjdCwga2V5KTtcbiAgICAgIHJldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlR2V0VGFnYCB3aGljaCBpZ25vcmVzIGBTeW1ib2wudG9TdHJpbmdUYWdgIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmF3IGB0b1N0cmluZ1RhZ2AuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0UmF3VGFnKHZhbHVlKSB7XG4gICAgICB2YXIgaXNPd24gPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBzeW1Ub1N0cmluZ1RhZyksXG4gICAgICAgICAgdGFnID0gdmFsdWVbc3ltVG9TdHJpbmdUYWddO1xuXG4gICAgICB0cnkge1xuICAgICAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB1bmRlZmluZWQ7XG4gICAgICAgIHZhciB1bm1hc2tlZCA9IHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgICB2YXIgcmVzdWx0ID0gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gICAgICBpZiAodW5tYXNrZWQpIHtcbiAgICAgICAgaWYgKGlzT3duKSB7XG4gICAgICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdGFnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGVudW1lcmFibGUgc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2Ygc3ltYm9scy5cbiAgICAgKi9cbiAgICB2YXIgZ2V0U3ltYm9scyA9ICFuYXRpdmVHZXRTeW1ib2xzID8gc3R1YkFycmF5IDogZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gICAgICByZXR1cm4gYXJyYXlGaWx0ZXIobmF0aXZlR2V0U3ltYm9scyhvYmplY3QpLCBmdW5jdGlvbihzeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob2JqZWN0LCBzeW1ib2wpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2Ygc3ltYm9scy5cbiAgICAgKi9cbiAgICB2YXIgZ2V0U3ltYm9sc0luID0gIW5hdGl2ZUdldFN5bWJvbHMgPyBzdHViQXJyYXkgOiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIHdoaWxlIChvYmplY3QpIHtcbiAgICAgICAgYXJyYXlQdXNoKHJlc3VsdCwgZ2V0U3ltYm9scyhvYmplY3QpKTtcbiAgICAgICAgb2JqZWN0ID0gZ2V0UHJvdG90eXBlKG9iamVjdCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBgdG9TdHJpbmdUYWdgIG9mIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gICAgICovXG4gICAgdmFyIGdldFRhZyA9IGJhc2VHZXRUYWc7XG5cbiAgICAvLyBGYWxsYmFjayBmb3IgZGF0YSB2aWV3cywgbWFwcywgc2V0cywgYW5kIHdlYWsgbWFwcyBpbiBJRSAxMSBhbmQgcHJvbWlzZXMgaW4gTm9kZS5qcyA8IDYuXG4gICAgaWYgKChEYXRhVmlldyAmJiBnZXRUYWcobmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxKSkpICE9IGRhdGFWaWV3VGFnKSB8fFxuICAgICAgICAoTWFwICYmIGdldFRhZyhuZXcgTWFwKSAhPSBtYXBUYWcpIHx8XG4gICAgICAgIChQcm9taXNlICYmIGdldFRhZyhQcm9taXNlLnJlc29sdmUoKSkgIT0gcHJvbWlzZVRhZykgfHxcbiAgICAgICAgKFNldCAmJiBnZXRUYWcobmV3IFNldCkgIT0gc2V0VGFnKSB8fFxuICAgICAgICAoV2Vha01hcCAmJiBnZXRUYWcobmV3IFdlYWtNYXApICE9IHdlYWtNYXBUYWcpKSB7XG4gICAgICBnZXRUYWcgPSBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gYmFzZUdldFRhZyh2YWx1ZSksXG4gICAgICAgICAgICBDdG9yID0gcmVzdWx0ID09IG9iamVjdFRhZyA/IHZhbHVlLmNvbnN0cnVjdG9yIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY3RvclN0cmluZyA9IEN0b3IgPyB0b1NvdXJjZShDdG9yKSA6ICcnO1xuXG4gICAgICAgIGlmIChjdG9yU3RyaW5nKSB7XG4gICAgICAgICAgc3dpdGNoIChjdG9yU3RyaW5nKSB7XG4gICAgICAgICAgICBjYXNlIGRhdGFWaWV3Q3RvclN0cmluZzogcmV0dXJuIGRhdGFWaWV3VGFnO1xuICAgICAgICAgICAgY2FzZSBtYXBDdG9yU3RyaW5nOiByZXR1cm4gbWFwVGFnO1xuICAgICAgICAgICAgY2FzZSBwcm9taXNlQ3RvclN0cmluZzogcmV0dXJuIHByb21pc2VUYWc7XG4gICAgICAgICAgICBjYXNlIHNldEN0b3JTdHJpbmc6IHJldHVybiBzZXRUYWc7XG4gICAgICAgICAgICBjYXNlIHdlYWtNYXBDdG9yU3RyaW5nOiByZXR1cm4gd2Vha01hcFRhZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmlldywgYXBwbHlpbmcgYW55IGB0cmFuc2Zvcm1zYCB0byB0aGUgYHN0YXJ0YCBhbmQgYGVuZGAgcG9zaXRpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgVGhlIHN0YXJ0IG9mIHRoZSB2aWV3LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlbmQgVGhlIGVuZCBvZiB0aGUgdmlldy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSB0cmFuc2Zvcm1zIFRoZSB0cmFuc2Zvcm1hdGlvbnMgdG8gYXBwbHkgdG8gdGhlIHZpZXcuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgYHN0YXJ0YCBhbmQgYGVuZGBcbiAgICAgKiAgcG9zaXRpb25zIG9mIHRoZSB2aWV3LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldFZpZXcoc3RhcnQsIGVuZCwgdHJhbnNmb3Jtcykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gdHJhbnNmb3Jtcy5sZW5ndGg7XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBkYXRhID0gdHJhbnNmb3Jtc1tpbmRleF0sXG4gICAgICAgICAgICBzaXplID0gZGF0YS5zaXplO1xuXG4gICAgICAgIHN3aXRjaCAoZGF0YS50eXBlKSB7XG4gICAgICAgICAgY2FzZSAnZHJvcCc6ICAgICAgc3RhcnQgKz0gc2l6ZTsgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnZHJvcFJpZ2h0JzogZW5kIC09IHNpemU7IGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3Rha2UnOiAgICAgIGVuZCA9IG5hdGl2ZU1pbihlbmQsIHN0YXJ0ICsgc2l6ZSk7IGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3Rha2VSaWdodCc6IHN0YXJ0ID0gbmF0aXZlTWF4KHN0YXJ0LCBlbmQgLSBzaXplKTsgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7ICdzdGFydCc6IHN0YXJ0LCAnZW5kJzogZW5kIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXh0cmFjdHMgd3JhcHBlciBkZXRhaWxzIGZyb20gdGhlIGBzb3VyY2VgIGJvZHkgY29tbWVudC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZSBUaGUgc291cmNlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB3cmFwcGVyIGRldGFpbHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0V3JhcERldGFpbHMoc291cmNlKSB7XG4gICAgICB2YXIgbWF0Y2ggPSBzb3VyY2UubWF0Y2gocmVXcmFwRGV0YWlscyk7XG4gICAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXS5zcGxpdChyZVNwbGl0RGV0YWlscykgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHBhdGhgIGV4aXN0cyBvbiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGhhc0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGNoZWNrIHByb3BlcnRpZXMuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBwYXRoYCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBoYXNQYXRoKG9iamVjdCwgcGF0aCwgaGFzRnVuYykge1xuICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIga2V5ID0gdG9LZXkocGF0aFtpbmRleF0pO1xuICAgICAgICBpZiAoIShyZXN1bHQgPSBvYmplY3QgIT0gbnVsbCAmJiBoYXNGdW5jKG9iamVjdCwga2V5KSkpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBvYmplY3QgPSBvYmplY3Rba2V5XTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXN1bHQgfHwgKytpbmRleCAhPSBsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGxlbmd0aCA9IG9iamVjdCA9PSBudWxsID8gMCA6IG9iamVjdC5sZW5ndGg7XG4gICAgICByZXR1cm4gISFsZW5ndGggJiYgaXNMZW5ndGgobGVuZ3RoKSAmJiBpc0luZGV4KGtleSwgbGVuZ3RoKSAmJlxuICAgICAgICAoaXNBcnJheShvYmplY3QpIHx8IGlzQXJndW1lbnRzKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIGFuIGFycmF5IGNsb25lLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBpbml0aWFsaXplZCBjbG9uZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbml0Q2xvbmVBcnJheShhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBuZXcgYXJyYXkuY29uc3RydWN0b3IobGVuZ3RoKTtcblxuICAgICAgLy8gQWRkIHByb3BlcnRpZXMgYXNzaWduZWQgYnkgYFJlZ0V4cCNleGVjYC5cbiAgICAgIGlmIChsZW5ndGggJiYgdHlwZW9mIGFycmF5WzBdID09ICdzdHJpbmcnICYmIGhhc093blByb3BlcnR5LmNhbGwoYXJyYXksICdpbmRleCcpKSB7XG4gICAgICAgIHJlc3VsdC5pbmRleCA9IGFycmF5LmluZGV4O1xuICAgICAgICByZXN1bHQuaW5wdXQgPSBhcnJheS5pbnB1dDtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgYW4gb2JqZWN0IGNsb25lLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgaW5pdGlhbGl6ZWQgY2xvbmUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5pdENsb25lT2JqZWN0KG9iamVjdCkge1xuICAgICAgcmV0dXJuICh0eXBlb2Ygb2JqZWN0LmNvbnN0cnVjdG9yID09ICdmdW5jdGlvbicgJiYgIWlzUHJvdG90eXBlKG9iamVjdCkpXG4gICAgICAgID8gYmFzZUNyZWF0ZShnZXRQcm90b3R5cGUob2JqZWN0KSlcbiAgICAgICAgOiB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBhbiBvYmplY3QgY2xvbmUgYmFzZWQgb24gaXRzIGB0b1N0cmluZ1RhZ2AuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBmdW5jdGlvbiBvbmx5IHN1cHBvcnRzIGNsb25pbmcgdmFsdWVzIHdpdGggdGFncyBvZlxuICAgICAqIGBCb29sZWFuYCwgYERhdGVgLCBgRXJyb3JgLCBgTWFwYCwgYE51bWJlcmAsIGBSZWdFeHBgLCBgU2V0YCwgb3IgYFN0cmluZ2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjbG9uZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBgdG9TdHJpbmdUYWdgIG9mIHRoZSBvYmplY3QgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNEZWVwXSBTcGVjaWZ5IGEgZGVlcCBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBpbml0aWFsaXplZCBjbG9uZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbml0Q2xvbmVCeVRhZyhvYmplY3QsIHRhZywgaXNEZWVwKSB7XG4gICAgICB2YXIgQ3RvciA9IG9iamVjdC5jb25zdHJ1Y3RvcjtcbiAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgIGNhc2UgYXJyYXlCdWZmZXJUYWc6XG4gICAgICAgICAgcmV0dXJuIGNsb25lQXJyYXlCdWZmZXIob2JqZWN0KTtcblxuICAgICAgICBjYXNlIGJvb2xUYWc6XG4gICAgICAgIGNhc2UgZGF0ZVRhZzpcbiAgICAgICAgICByZXR1cm4gbmV3IEN0b3IoK29iamVjdCk7XG5cbiAgICAgICAgY2FzZSBkYXRhVmlld1RhZzpcbiAgICAgICAgICByZXR1cm4gY2xvbmVEYXRhVmlldyhvYmplY3QsIGlzRGVlcCk7XG5cbiAgICAgICAgY2FzZSBmbG9hdDMyVGFnOiBjYXNlIGZsb2F0NjRUYWc6XG4gICAgICAgIGNhc2UgaW50OFRhZzogY2FzZSBpbnQxNlRhZzogY2FzZSBpbnQzMlRhZzpcbiAgICAgICAgY2FzZSB1aW50OFRhZzogY2FzZSB1aW50OENsYW1wZWRUYWc6IGNhc2UgdWludDE2VGFnOiBjYXNlIHVpbnQzMlRhZzpcbiAgICAgICAgICByZXR1cm4gY2xvbmVUeXBlZEFycmF5KG9iamVjdCwgaXNEZWVwKTtcblxuICAgICAgICBjYXNlIG1hcFRhZzpcbiAgICAgICAgICByZXR1cm4gbmV3IEN0b3I7XG5cbiAgICAgICAgY2FzZSBudW1iZXJUYWc6XG4gICAgICAgIGNhc2Ugc3RyaW5nVGFnOlxuICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihvYmplY3QpO1xuXG4gICAgICAgIGNhc2UgcmVnZXhwVGFnOlxuICAgICAgICAgIHJldHVybiBjbG9uZVJlZ0V4cChvYmplY3QpO1xuXG4gICAgICAgIGNhc2Ugc2V0VGFnOlxuICAgICAgICAgIHJldHVybiBuZXcgQ3RvcjtcblxuICAgICAgICBjYXNlIHN5bWJvbFRhZzpcbiAgICAgICAgICByZXR1cm4gY2xvbmVTeW1ib2wob2JqZWN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIHdyYXBwZXIgYGRldGFpbHNgIGluIGEgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBgc291cmNlYCBib2R5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlIFRoZSBzb3VyY2UgdG8gbW9kaWZ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gZGV0YWlscyBUaGUgZGV0YWlscyB0byBpbnNlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgbW9kaWZpZWQgc291cmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSwgZGV0YWlscykge1xuICAgICAgdmFyIGxlbmd0aCA9IGRldGFpbHMubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICAgIH1cbiAgICAgIHZhciBsYXN0SW5kZXggPSBsZW5ndGggLSAxO1xuICAgICAgZGV0YWlsc1tsYXN0SW5kZXhdID0gKGxlbmd0aCA+IDEgPyAnJiAnIDogJycpICsgZGV0YWlsc1tsYXN0SW5kZXhdO1xuICAgICAgZGV0YWlscyA9IGRldGFpbHMuam9pbihsZW5ndGggPiAyID8gJywgJyA6ICcgJyk7XG4gICAgICByZXR1cm4gc291cmNlLnJlcGxhY2UocmVXcmFwQ29tbWVudCwgJ3tcXG4vKiBbd3JhcHBlZCB3aXRoICcgKyBkZXRhaWxzICsgJ10gKi9cXG4nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIGZsYXR0ZW5hYmxlIGBhcmd1bWVudHNgIG9iamVjdCBvciBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZmxhdHRlbmFibGUsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0ZsYXR0ZW5hYmxlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNBcnJheSh2YWx1ZSkgfHwgaXNBcmd1bWVudHModmFsdWUpIHx8XG4gICAgICAgICEhKHNwcmVhZGFibGVTeW1ib2wgJiYgdmFsdWUgJiYgdmFsdWVbc3ByZWFkYWJsZVN5bWJvbF0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBpbmRleC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9TUFYX1NBRkVfSU5URUdFUl0gVGhlIHVwcGVyIGJvdW5kcyBvZiBhIHZhbGlkIGluZGV4LlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgaW5kZXgsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0luZGV4KHZhbHVlLCBsZW5ndGgpIHtcbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgbGVuZ3RoID0gbGVuZ3RoID09IG51bGwgPyBNQVhfU0FGRV9JTlRFR0VSIDogbGVuZ3RoO1xuXG4gICAgICByZXR1cm4gISFsZW5ndGggJiZcbiAgICAgICAgKHR5cGUgPT0gJ251bWJlcicgfHxcbiAgICAgICAgICAodHlwZSAhPSAnc3ltYm9sJyAmJiByZUlzVWludC50ZXN0KHZhbHVlKSkpICYmXG4gICAgICAgICAgICAodmFsdWUgPiAtMSAmJiB2YWx1ZSAlIDEgPT0gMCAmJiB2YWx1ZSA8IGxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBhcmd1bWVudHMgYXJlIGZyb20gYW4gaXRlcmF0ZWUgY2FsbC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIHZhbHVlIGFyZ3VtZW50LlxuICAgICAqIEBwYXJhbSB7Kn0gaW5kZXggVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBpbmRleCBvciBrZXkgYXJndW1lbnQuXG4gICAgICogQHBhcmFtIHsqfSBvYmplY3QgVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBvYmplY3QgYXJndW1lbnQuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBhcmd1bWVudHMgYXJlIGZyb20gYW4gaXRlcmF0ZWUgY2FsbCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzSXRlcmF0ZWVDYWxsKHZhbHVlLCBpbmRleCwgb2JqZWN0KSB7XG4gICAgICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgaW5kZXg7XG4gICAgICBpZiAodHlwZSA9PSAnbnVtYmVyJ1xuICAgICAgICAgICAgPyAoaXNBcnJheUxpa2Uob2JqZWN0KSAmJiBpc0luZGV4KGluZGV4LCBvYmplY3QubGVuZ3RoKSlcbiAgICAgICAgICAgIDogKHR5cGUgPT0gJ3N0cmluZycgJiYgaW5kZXggaW4gb2JqZWN0KVxuICAgICAgICAgICkge1xuICAgICAgICByZXR1cm4gZXEob2JqZWN0W2luZGV4XSwgdmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcHJvcGVydHkgbmFtZSBhbmQgbm90IGEgcHJvcGVydHkgcGF0aC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBvYmplY3QgdG8gcXVlcnkga2V5cyBvbi5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHByb3BlcnR5IG5hbWUsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0tleSh2YWx1ZSwgb2JqZWN0KSB7XG4gICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgICBpZiAodHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nIHx8XG4gICAgICAgICAgdmFsdWUgPT0gbnVsbCB8fCBpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVJc1BsYWluUHJvcC50ZXN0KHZhbHVlKSB8fCAhcmVJc0RlZXBQcm9wLnRlc3QodmFsdWUpIHx8XG4gICAgICAgIChvYmplY3QgIT0gbnVsbCAmJiB2YWx1ZSBpbiBPYmplY3Qob2JqZWN0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUgZm9yIHVzZSBhcyB1bmlxdWUgb2JqZWN0IGtleS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0tleWFibGUodmFsdWUpIHtcbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgcmV0dXJuICh0eXBlID09ICdzdHJpbmcnIHx8IHR5cGUgPT0gJ251bWJlcicgfHwgdHlwZSA9PSAnc3ltYm9sJyB8fCB0eXBlID09ICdib29sZWFuJylcbiAgICAgICAgPyAodmFsdWUgIT09ICdfX3Byb3RvX18nKVxuICAgICAgICA6ICh2YWx1ZSA9PT0gbnVsbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBmdW5jYCBoYXMgYSBsYXp5IGNvdW50ZXJwYXJ0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGZ1bmNgIGhhcyBhIGxhenkgY291bnRlcnBhcnQsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0xhemlhYmxlKGZ1bmMpIHtcbiAgICAgIHZhciBmdW5jTmFtZSA9IGdldEZ1bmNOYW1lKGZ1bmMpLFxuICAgICAgICAgIG90aGVyID0gbG9kYXNoW2Z1bmNOYW1lXTtcblxuICAgICAgaWYgKHR5cGVvZiBvdGhlciAhPSAnZnVuY3Rpb24nIHx8ICEoZnVuY05hbWUgaW4gTGF6eVdyYXBwZXIucHJvdG90eXBlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoZnVuYyA9PT0gb3RoZXIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB2YXIgZGF0YSA9IGdldERhdGEob3RoZXIpO1xuICAgICAgcmV0dXJuICEhZGF0YSAmJiBmdW5jID09PSBkYXRhWzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgZnVuY2AgaGFzIGl0cyBzb3VyY2UgbWFza2VkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGZ1bmNgIGlzIG1hc2tlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTWFza2VkKGZ1bmMpIHtcbiAgICAgIHJldHVybiAhIW1hc2tTcmNLZXkgJiYgKG1hc2tTcmNLZXkgaW4gZnVuYyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBmdW5jYCBpcyBjYXBhYmxlIG9mIGJlaW5nIG1hc2tlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBmdW5jYCBpcyBtYXNrYWJsZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIHZhciBpc01hc2thYmxlID0gY29yZUpzRGF0YSA/IGlzRnVuY3Rpb24gOiBzdHViRmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYSBwcm90b3R5cGUgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHByb3RvdHlwZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzUHJvdG90eXBlKHZhbHVlKSB7XG4gICAgICB2YXIgQ3RvciA9IHZhbHVlICYmIHZhbHVlLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIHByb3RvID0gKHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3Rvci5wcm90b3R5cGUpIHx8IG9iamVjdFByb3RvO1xuXG4gICAgICByZXR1cm4gdmFsdWUgPT09IHByb3RvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHN1aXRhYmxlIGZvciBzdHJpY3QgZXF1YWxpdHkgY29tcGFyaXNvbnMsIGkuZS4gYD09PWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlmIHN1aXRhYmxlIGZvciBzdHJpY3RcbiAgICAgKiAgZXF1YWxpdHkgY29tcGFyaXNvbnMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1N0cmljdENvbXBhcmFibGUodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWUgJiYgIWlzT2JqZWN0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYG1hdGNoZXNQcm9wZXJ0eWAgZm9yIHNvdXJjZSB2YWx1ZXMgc3VpdGFibGVcbiAgICAgKiBmb3Igc3RyaWN0IGVxdWFsaXR5IGNvbXBhcmlzb25zLCBpLmUuIGA9PT1gLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcGFyYW0geyp9IHNyY1ZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzcGVjIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hdGNoZXNTdHJpY3RDb21wYXJhYmxlKGtleSwgc3JjVmFsdWUpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmplY3Rba2V5XSA9PT0gc3JjVmFsdWUgJiZcbiAgICAgICAgICAoc3JjVmFsdWUgIT09IHVuZGVmaW5lZCB8fCAoa2V5IGluIE9iamVjdChvYmplY3QpKSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5tZW1vaXplYCB3aGljaCBjbGVhcnMgdGhlIG1lbW9pemVkIGZ1bmN0aW9uJ3NcbiAgICAgKiBjYWNoZSB3aGVuIGl0IGV4Y2VlZHMgYE1BWF9NRU1PSVpFX1NJWkVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBoYXZlIGl0cyBvdXRwdXQgbWVtb2l6ZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgbWVtb2l6ZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWVtb2l6ZUNhcHBlZChmdW5jKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbWVtb2l6ZShmdW5jLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgaWYgKGNhY2hlLnNpemUgPT09IE1BWF9NRU1PSVpFX1NJWkUpIHtcbiAgICAgICAgICBjYWNoZS5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgICB9KTtcblxuICAgICAgdmFyIGNhY2hlID0gcmVzdWx0LmNhY2hlO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXJnZXMgdGhlIGZ1bmN0aW9uIG1ldGFkYXRhIG9mIGBzb3VyY2VgIGludG8gYGRhdGFgLlxuICAgICAqXG4gICAgICogTWVyZ2luZyBtZXRhZGF0YSByZWR1Y2VzIHRoZSBudW1iZXIgb2Ygd3JhcHBlcnMgdXNlZCB0byBpbnZva2UgYSBmdW5jdGlvbi5cbiAgICAgKiBUaGlzIGlzIHBvc3NpYmxlIGJlY2F1c2UgbWV0aG9kcyBsaWtlIGBfLmJpbmRgLCBgXy5jdXJyeWAsIGFuZCBgXy5wYXJ0aWFsYFxuICAgICAqIG1heSBiZSBhcHBsaWVkIHJlZ2FyZGxlc3Mgb2YgZXhlY3V0aW9uIG9yZGVyLiBNZXRob2RzIGxpa2UgYF8uYXJ5YCBhbmRcbiAgICAgKiBgXy5yZWFyZ2AgbW9kaWZ5IGZ1bmN0aW9uIGFyZ3VtZW50cywgbWFraW5nIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZVxuICAgICAqIGV4ZWN1dGVkIGltcG9ydGFudCwgcHJldmVudGluZyB0aGUgbWVyZ2luZyBvZiBtZXRhZGF0YS4gSG93ZXZlciwgd2UgbWFrZVxuICAgICAqIGFuIGV4Y2VwdGlvbiBmb3IgYSBzYWZlIGNvbWJpbmVkIGNhc2Ugd2hlcmUgY3VycmllZCBmdW5jdGlvbnMgaGF2ZSBgXy5hcnlgXG4gICAgICogYW5kIG9yIGBfLnJlYXJnYCBhcHBsaWVkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBkYXRhIFRoZSBkZXN0aW5hdGlvbiBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBzb3VyY2UgVGhlIHNvdXJjZSBtZXRhZGF0YS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGRhdGFgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lcmdlRGF0YShkYXRhLCBzb3VyY2UpIHtcbiAgICAgIHZhciBiaXRtYXNrID0gZGF0YVsxXSxcbiAgICAgICAgICBzcmNCaXRtYXNrID0gc291cmNlWzFdLFxuICAgICAgICAgIG5ld0JpdG1hc2sgPSBiaXRtYXNrIHwgc3JjQml0bWFzayxcbiAgICAgICAgICBpc0NvbW1vbiA9IG5ld0JpdG1hc2sgPCAoV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX0JJTkRfS0VZX0ZMQUcgfCBXUkFQX0FSWV9GTEFHKTtcblxuICAgICAgdmFyIGlzQ29tYm8gPVxuICAgICAgICAoKHNyY0JpdG1hc2sgPT0gV1JBUF9BUllfRkxBRykgJiYgKGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHKSkgfHxcbiAgICAgICAgKChzcmNCaXRtYXNrID09IFdSQVBfQVJZX0ZMQUcpICYmIChiaXRtYXNrID09IFdSQVBfUkVBUkdfRkxBRykgJiYgKGRhdGFbN10ubGVuZ3RoIDw9IHNvdXJjZVs4XSkpIHx8XG4gICAgICAgICgoc3JjQml0bWFzayA9PSAoV1JBUF9BUllfRkxBRyB8IFdSQVBfUkVBUkdfRkxBRykpICYmIChzb3VyY2VbN10ubGVuZ3RoIDw9IHNvdXJjZVs4XSkgJiYgKGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHKSk7XG5cbiAgICAgIC8vIEV4aXQgZWFybHkgaWYgbWV0YWRhdGEgY2FuJ3QgYmUgbWVyZ2VkLlxuICAgICAgaWYgKCEoaXNDb21tb24gfHwgaXNDb21ibykpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgICAvLyBVc2Ugc291cmNlIGB0aGlzQXJnYCBpZiBhdmFpbGFibGUuXG4gICAgICBpZiAoc3JjQml0bWFzayAmIFdSQVBfQklORF9GTEFHKSB7XG4gICAgICAgIGRhdGFbMl0gPSBzb3VyY2VbMl07XG4gICAgICAgIC8vIFNldCB3aGVuIGN1cnJ5aW5nIGEgYm91bmQgZnVuY3Rpb24uXG4gICAgICAgIG5ld0JpdG1hc2sgfD0gYml0bWFzayAmIFdSQVBfQklORF9GTEFHID8gMCA6IFdSQVBfQ1VSUllfQk9VTkRfRkxBRztcbiAgICAgIH1cbiAgICAgIC8vIENvbXBvc2UgcGFydGlhbCBhcmd1bWVudHMuXG4gICAgICB2YXIgdmFsdWUgPSBzb3VyY2VbM107XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHBhcnRpYWxzID0gZGF0YVszXTtcbiAgICAgICAgZGF0YVszXSA9IHBhcnRpYWxzID8gY29tcG9zZUFyZ3MocGFydGlhbHMsIHZhbHVlLCBzb3VyY2VbNF0pIDogdmFsdWU7XG4gICAgICAgIGRhdGFbNF0gPSBwYXJ0aWFscyA/IHJlcGxhY2VIb2xkZXJzKGRhdGFbM10sIFBMQUNFSE9MREVSKSA6IHNvdXJjZVs0XTtcbiAgICAgIH1cbiAgICAgIC8vIENvbXBvc2UgcGFydGlhbCByaWdodCBhcmd1bWVudHMuXG4gICAgICB2YWx1ZSA9IHNvdXJjZVs1XTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBwYXJ0aWFscyA9IGRhdGFbNV07XG4gICAgICAgIGRhdGFbNV0gPSBwYXJ0aWFscyA/IGNvbXBvc2VBcmdzUmlnaHQocGFydGlhbHMsIHZhbHVlLCBzb3VyY2VbNl0pIDogdmFsdWU7XG4gICAgICAgIGRhdGFbNl0gPSBwYXJ0aWFscyA/IHJlcGxhY2VIb2xkZXJzKGRhdGFbNV0sIFBMQUNFSE9MREVSKSA6IHNvdXJjZVs2XTtcbiAgICAgIH1cbiAgICAgIC8vIFVzZSBzb3VyY2UgYGFyZ1Bvc2AgaWYgYXZhaWxhYmxlLlxuICAgICAgdmFsdWUgPSBzb3VyY2VbN107XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgZGF0YVs3XSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgLy8gVXNlIHNvdXJjZSBgYXJ5YCBpZiBpdCdzIHNtYWxsZXIuXG4gICAgICBpZiAoc3JjQml0bWFzayAmIFdSQVBfQVJZX0ZMQUcpIHtcbiAgICAgICAgZGF0YVs4XSA9IGRhdGFbOF0gPT0gbnVsbCA/IHNvdXJjZVs4XSA6IG5hdGl2ZU1pbihkYXRhWzhdLCBzb3VyY2VbOF0pO1xuICAgICAgfVxuICAgICAgLy8gVXNlIHNvdXJjZSBgYXJpdHlgIGlmIG9uZSBpcyBub3QgcHJvdmlkZWQuXG4gICAgICBpZiAoZGF0YVs5XSA9PSBudWxsKSB7XG4gICAgICAgIGRhdGFbOV0gPSBzb3VyY2VbOV07XG4gICAgICB9XG4gICAgICAvLyBVc2Ugc291cmNlIGBmdW5jYCBhbmQgbWVyZ2UgYml0bWFza3MuXG4gICAgICBkYXRhWzBdID0gc291cmNlWzBdO1xuICAgICAgZGF0YVsxXSA9IG5ld0JpdG1hc2s7XG5cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZVxuICAgICAqIFtgT2JqZWN0LmtleXNgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3Qua2V5cylcbiAgICAgKiBleGNlcHQgdGhhdCBpdCBpbmNsdWRlcyBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0aWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBuYXRpdmVLZXlzSW4ob2JqZWN0KSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBpZiAob2JqZWN0ICE9IG51bGwpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIE9iamVjdChvYmplY3QpKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nIHVzaW5nIGBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG9iamVjdFRvU3RyaW5nKHZhbHVlKSB7XG4gICAgICByZXR1cm4gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlUmVzdGAgd2hpY2ggdHJhbnNmb3JtcyB0aGUgcmVzdCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYSByZXN0IHBhcmFtZXRlciB0by5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSByZXN0IGFycmF5IHRyYW5zZm9ybS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvdmVyUmVzdChmdW5jLCBzdGFydCwgdHJhbnNmb3JtKSB7XG4gICAgICBzdGFydCA9IG5hdGl2ZU1heChzdGFydCA9PT0gdW5kZWZpbmVkID8gKGZ1bmMubGVuZ3RoIC0gMSkgOiBzdGFydCwgMCk7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzLFxuICAgICAgICAgICAgaW5kZXggPSAtMSxcbiAgICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1heChhcmdzLmxlbmd0aCAtIHN0YXJ0LCAwKSxcbiAgICAgICAgICAgIGFycmF5ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIGFycmF5W2luZGV4XSA9IGFyZ3Nbc3RhcnQgKyBpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXggPSAtMTtcbiAgICAgICAgdmFyIG90aGVyQXJncyA9IEFycmF5KHN0YXJ0ICsgMSk7XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgc3RhcnQpIHtcbiAgICAgICAgICBvdGhlckFyZ3NbaW5kZXhdID0gYXJnc1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgb3RoZXJBcmdzW3N0YXJ0XSA9IHRyYW5zZm9ybShhcnJheSk7XG4gICAgICAgIHJldHVybiBhcHBseShmdW5jLCB0aGlzLCBvdGhlckFyZ3MpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJlbnQgdmFsdWUgYXQgYHBhdGhgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheX0gcGF0aCBUaGUgcGF0aCB0byBnZXQgdGhlIHBhcmVudCB2YWx1ZSBvZi5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcGFyZW50IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHBhcmVudChvYmplY3QsIHBhdGgpIHtcbiAgICAgIHJldHVybiBwYXRoLmxlbmd0aCA8IDIgPyBvYmplY3QgOiBiYXNlR2V0KG9iamVjdCwgYmFzZVNsaWNlKHBhdGgsIDAsIC0xKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVvcmRlciBgYXJyYXlgIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIGluZGV4ZXMgd2hlcmUgdGhlIGVsZW1lbnQgYXRcbiAgICAgKiB0aGUgZmlyc3QgaW5kZXggaXMgYXNzaWduZWQgYXMgdGhlIGZpcnN0IGVsZW1lbnQsIHRoZSBlbGVtZW50IGF0XG4gICAgICogdGhlIHNlY29uZCBpbmRleCBpcyBhc3NpZ25lZCBhcyB0aGUgc2Vjb25kIGVsZW1lbnQsIGFuZCBzbyBvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHJlb3JkZXIuXG4gICAgICogQHBhcmFtIHtBcnJheX0gaW5kZXhlcyBUaGUgYXJyYW5nZWQgYXJyYXkgaW5kZXhlcy5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZW9yZGVyKGFycmF5LCBpbmRleGVzKSB7XG4gICAgICB2YXIgYXJyTGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1pbihpbmRleGVzLmxlbmd0aCwgYXJyTGVuZ3RoKSxcbiAgICAgICAgICBvbGRBcnJheSA9IGNvcHlBcnJheShhcnJheSk7XG5cbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICB2YXIgaW5kZXggPSBpbmRleGVzW2xlbmd0aF07XG4gICAgICAgIGFycmF5W2xlbmd0aF0gPSBpc0luZGV4KGluZGV4LCBhcnJMZW5ndGgpID8gb2xkQXJyYXlbaW5kZXhdIDogdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhbHVlIGF0IGBrZXlgLCB1bmxlc3MgYGtleWAgaXMgXCJfX3Byb3RvX19cIiBvciBcImNvbnN0cnVjdG9yXCIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcHJvcGVydHkgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2FmZUdldChvYmplY3QsIGtleSkge1xuICAgICAgaWYgKGtleSA9PT0gJ2NvbnN0cnVjdG9yJyAmJiB0eXBlb2Ygb2JqZWN0W2tleV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoa2V5ID09ICdfX3Byb3RvX18nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9iamVjdFtrZXldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbWV0YWRhdGEgZm9yIGBmdW5jYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBJZiB0aGlzIGZ1bmN0aW9uIGJlY29tZXMgaG90LCBpLmUuIGlzIGludm9rZWQgYSBsb3QgaW4gYSBzaG9ydFxuICAgICAqIHBlcmlvZCBvZiB0aW1lLCBpdCB3aWxsIHRyaXAgaXRzIGJyZWFrZXIgYW5kIHRyYW5zaXRpb24gdG8gYW4gaWRlbnRpdHlcbiAgICAgKiBmdW5jdGlvbiB0byBhdm9pZCBnYXJiYWdlIGNvbGxlY3Rpb24gcGF1c2VzIGluIFY4LiBTZWVcbiAgICAgKiBbVjggaXNzdWUgMjA3MF0oaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MjA3MClcbiAgICAgKiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhc3NvY2lhdGUgbWV0YWRhdGEgd2l0aC5cbiAgICAgKiBAcGFyYW0geyp9IGRhdGEgVGhlIG1ldGFkYXRhLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gICAgICovXG4gICAgdmFyIHNldERhdGEgPSBzaG9ydE91dChiYXNlU2V0RGF0YSk7XG5cbiAgICAvKipcbiAgICAgKiBBIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCB0aGUgZ2xvYmFsIFtgc2V0VGltZW91dGBdKGh0dHBzOi8vbWRuLmlvL3NldFRpbWVvdXQpLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWxheS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gd2FpdCBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheSBpbnZvY2F0aW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ8T2JqZWN0fSBSZXR1cm5zIHRoZSB0aW1lciBpZCBvciB0aW1lb3V0IG9iamVjdC5cbiAgICAgKi9cbiAgICB2YXIgc2V0VGltZW91dCA9IGN0eFNldFRpbWVvdXQgfHwgZnVuY3Rpb24oZnVuYywgd2FpdCkge1xuICAgICAgcmV0dXJuIHJvb3Quc2V0VGltZW91dChmdW5jLCB3YWl0KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYHRvU3RyaW5nYCBtZXRob2Qgb2YgYGZ1bmNgIHRvIHJldHVybiBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBmdW5jYC5cbiAgICAgKi9cbiAgICB2YXIgc2V0VG9TdHJpbmcgPSBzaG9ydE91dChiYXNlU2V0VG9TdHJpbmcpO1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYHRvU3RyaW5nYCBtZXRob2Qgb2YgYHdyYXBwZXJgIHRvIG1pbWljIHRoZSBzb3VyY2Ugb2YgYHJlZmVyZW5jZWBcbiAgICAgKiB3aXRoIHdyYXBwZXIgZGV0YWlscyBpbiBhIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGUgc291cmNlIGJvZHkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHdyYXBwZXIgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWZlcmVuY2UgVGhlIHJlZmVyZW5jZSBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgd3JhcHBlcmAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2V0V3JhcFRvU3RyaW5nKHdyYXBwZXIsIHJlZmVyZW5jZSwgYml0bWFzaykge1xuICAgICAgdmFyIHNvdXJjZSA9IChyZWZlcmVuY2UgKyAnJyk7XG4gICAgICByZXR1cm4gc2V0VG9TdHJpbmcod3JhcHBlciwgaW5zZXJ0V3JhcERldGFpbHMoc291cmNlLCB1cGRhdGVXcmFwRGV0YWlscyhnZXRXcmFwRGV0YWlscyhzb3VyY2UpLCBiaXRtYXNrKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0J2xsIHNob3J0IG91dCBhbmQgaW52b2tlIGBpZGVudGl0eWAgaW5zdGVhZFxuICAgICAqIG9mIGBmdW5jYCB3aGVuIGl0J3MgY2FsbGVkIGBIT1RfQ09VTlRgIG9yIG1vcmUgdGltZXMgaW4gYEhPVF9TUEFOYFxuICAgICAqIG1pbGxpc2Vjb25kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc2hvcnRhYmxlIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNob3J0T3V0KGZ1bmMpIHtcbiAgICAgIHZhciBjb3VudCA9IDAsXG4gICAgICAgICAgbGFzdENhbGxlZCA9IDA7XG5cbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHN0YW1wID0gbmF0aXZlTm93KCksXG4gICAgICAgICAgICByZW1haW5pbmcgPSBIT1RfU1BBTiAtIChzdGFtcCAtIGxhc3RDYWxsZWQpO1xuXG4gICAgICAgIGxhc3RDYWxsZWQgPSBzdGFtcDtcbiAgICAgICAgaWYgKHJlbWFpbmluZyA+IDApIHtcbiAgICAgICAgICBpZiAoKytjb3VudCA+PSBIT1RfQ09VTlQpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMF07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvdW50ID0gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuYy5hcHBseSh1bmRlZmluZWQsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zaHVmZmxlYCB3aGljaCBtdXRhdGVzIGFuZCBzZXRzIHRoZSBzaXplIG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzaHVmZmxlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc2l6ZT1hcnJheS5sZW5ndGhdIFRoZSBzaXplIG9mIGBhcnJheWAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2h1ZmZsZVNlbGYoYXJyYXksIHNpemUpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBsYXN0SW5kZXggPSBsZW5ndGggLSAxO1xuXG4gICAgICBzaXplID0gc2l6ZSA9PT0gdW5kZWZpbmVkID8gbGVuZ3RoIDogc2l6ZTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgc2l6ZSkge1xuICAgICAgICB2YXIgcmFuZCA9IGJhc2VSYW5kb20oaW5kZXgsIGxhc3RJbmRleCksXG4gICAgICAgICAgICB2YWx1ZSA9IGFycmF5W3JhbmRdO1xuXG4gICAgICAgIGFycmF5W3JhbmRdID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGFycmF5Lmxlbmd0aCA9IHNpemU7XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG8gYSBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHByb3BlcnR5IHBhdGggYXJyYXkuXG4gICAgICovXG4gICAgdmFyIHN0cmluZ1RvUGF0aCA9IG1lbW9pemVDYXBwZWQoZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBpZiAoc3RyaW5nLmNoYXJDb2RlQXQoMCkgPT09IDQ2IC8qIC4gKi8pIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJycpO1xuICAgICAgfVxuICAgICAgc3RyaW5nLnJlcGxhY2UocmVQcm9wTmFtZSwgZnVuY3Rpb24obWF0Y2gsIG51bWJlciwgcXVvdGUsIHN1YlN0cmluZykge1xuICAgICAgICByZXN1bHQucHVzaChxdW90ZSA/IHN1YlN0cmluZy5yZXBsYWNlKHJlRXNjYXBlQ2hhciwgJyQxJykgOiAobnVtYmVyIHx8IG1hdGNoKSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nIGtleSBpZiBpdCdzIG5vdCBhIHN0cmluZyBvciBzeW1ib2wuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge3N0cmluZ3xzeW1ib2x9IFJldHVybnMgdGhlIGtleS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b0tleSh2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyB8fCBpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9ICh2YWx1ZSArICcnKTtcbiAgICAgIHJldHVybiAocmVzdWx0ID09ICcwJyAmJiAoMSAvIHZhbHVlKSA9PSAtSU5GSU5JVFkpID8gJy0wJyA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgZnVuY2AgdG8gaXRzIHNvdXJjZSBjb2RlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNvdXJjZSBjb2RlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvU291cmNlKGZ1bmMpIHtcbiAgICAgIGlmIChmdW5jICE9IG51bGwpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gZnVuY1RvU3RyaW5nLmNhbGwoZnVuYyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIChmdW5jICsgJycpO1xuICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgd3JhcHBlciBgZGV0YWlsc2AgYmFzZWQgb24gYGJpdG1hc2tgIGZsYWdzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IGRldGFpbHMgVGhlIGRldGFpbHMgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGNyZWF0ZVdyYXBgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBkZXRhaWxzYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1cGRhdGVXcmFwRGV0YWlscyhkZXRhaWxzLCBiaXRtYXNrKSB7XG4gICAgICBhcnJheUVhY2god3JhcEZsYWdzLCBmdW5jdGlvbihwYWlyKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9ICdfLicgKyBwYWlyWzBdO1xuICAgICAgICBpZiAoKGJpdG1hc2sgJiBwYWlyWzFdKSAmJiAhYXJyYXlJbmNsdWRlcyhkZXRhaWxzLCB2YWx1ZSkpIHtcbiAgICAgICAgICBkZXRhaWxzLnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBkZXRhaWxzLnNvcnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgYHdyYXBwZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gd3JhcHBlciBUaGUgd3JhcHBlciB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjbG9uZWQgd3JhcHBlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyQ2xvbmUod3JhcHBlcikge1xuICAgICAgaWYgKHdyYXBwZXIgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikge1xuICAgICAgICByZXR1cm4gd3JhcHBlci5jbG9uZSgpO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IG5ldyBMb2Rhc2hXcmFwcGVyKHdyYXBwZXIuX193cmFwcGVkX18sIHdyYXBwZXIuX19jaGFpbl9fKTtcbiAgICAgIHJlc3VsdC5fX2FjdGlvbnNfXyA9IGNvcHlBcnJheSh3cmFwcGVyLl9fYWN0aW9uc19fKTtcbiAgICAgIHJlc3VsdC5fX2luZGV4X18gID0gd3JhcHBlci5fX2luZGV4X187XG4gICAgICByZXN1bHQuX192YWx1ZXNfXyA9IHdyYXBwZXIuX192YWx1ZXNfXztcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cyBzcGxpdCBpbnRvIGdyb3VwcyB0aGUgbGVuZ3RoIG9mIGBzaXplYC5cbiAgICAgKiBJZiBgYXJyYXlgIGNhbid0IGJlIHNwbGl0IGV2ZW5seSwgdGhlIGZpbmFsIGNodW5rIHdpbGwgYmUgdGhlIHJlbWFpbmluZ1xuICAgICAqIGVsZW1lbnRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzaXplPTFdIFRoZSBsZW5ndGggb2YgZWFjaCBjaHVua1xuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY2h1bmtzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNodW5rKFsnYScsICdiJywgJ2MnLCAnZCddLCAyKTtcbiAgICAgKiAvLyA9PiBbWydhJywgJ2InXSwgWydjJywgJ2QnXV1cbiAgICAgKlxuICAgICAqIF8uY2h1bmsoWydhJywgJ2InLCAnYycsICdkJ10sIDMpO1xuICAgICAqIC8vID0+IFtbJ2EnLCAnYicsICdjJ10sIFsnZCddXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNodW5rKGFycmF5LCBzaXplLCBndWFyZCkge1xuICAgICAgaWYgKChndWFyZCA/IGlzSXRlcmF0ZWVDYWxsKGFycmF5LCBzaXplLCBndWFyZCkgOiBzaXplID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIHNpemUgPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2l6ZSA9IG5hdGl2ZU1heCh0b0ludGVnZXIoc2l6ZSksIDApO1xuICAgICAgfVxuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGggfHwgc2l6ZSA8IDEpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gMCxcbiAgICAgICAgICByZXNJbmRleCA9IDAsXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkobmF0aXZlQ2VpbChsZW5ndGggLyBzaXplKSk7XG5cbiAgICAgIHdoaWxlIChpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSBiYXNlU2xpY2UoYXJyYXksIGluZGV4LCAoaW5kZXggKz0gc2l6ZSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IHdpdGggYWxsIGZhbHNleSB2YWx1ZXMgcmVtb3ZlZC4gVGhlIHZhbHVlcyBgZmFsc2VgLCBgbnVsbGAsXG4gICAgICogYDBgLCBgXCJcImAsIGB1bmRlZmluZWRgLCBhbmQgYE5hTmAgYXJlIGZhbHNleS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBjb21wYWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jb21wYWN0KFswLCAxLCBmYWxzZSwgMiwgJycsIDNdKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb21wYWN0KGFycmF5KSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICByZXNJbmRleCA9IDAsXG4gICAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgcmVzdWx0W3Jlc0luZGV4KytdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb25jYXRlbmF0aW5nIGBhcnJheWAgd2l0aCBhbnkgYWRkaXRpb25hbCBhcnJheXNcbiAgICAgKiBhbmQvb3IgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGNvbmNhdGVuYXRlLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBjb25jYXRlbmF0ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBjb25jYXRlbmF0ZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxXTtcbiAgICAgKiB2YXIgb3RoZXIgPSBfLmNvbmNhdChhcnJheSwgMiwgWzNdLCBbWzRdXSk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhvdGhlcik7XG4gICAgICogLy8gPT4gWzEsIDIsIDMsIFs0XV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb25jYXQoKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHZhciBhcmdzID0gQXJyYXkobGVuZ3RoIC0gMSksXG4gICAgICAgICAgYXJyYXkgPSBhcmd1bWVudHNbMF0sXG4gICAgICAgICAgaW5kZXggPSBsZW5ndGg7XG5cbiAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgIGFyZ3NbaW5kZXggLSAxXSA9IGFyZ3VtZW50c1tpbmRleF07XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXlQdXNoKGlzQXJyYXkoYXJyYXkpID8gY29weUFycmF5KGFycmF5KSA6IFthcnJheV0sIGJhc2VGbGF0dGVuKGFyZ3MsIDEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGBhcnJheWAgdmFsdWVzIG5vdCBpbmNsdWRlZCBpbiB0aGUgb3RoZXIgZ2l2ZW4gYXJyYXlzXG4gICAgICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuIFRoZSBvcmRlciBhbmQgcmVmZXJlbmNlcyBvZiByZXN1bHQgdmFsdWVzIGFyZVxuICAgICAqIGRldGVybWluZWQgYnkgdGhlIGZpcnN0IGFycmF5LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5wdWxsQWxsYCwgdGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQHNlZSBfLndpdGhvdXQsIF8ueG9yXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGlmZmVyZW5jZShbMiwgMV0sIFsyLCAzXSk7XG4gICAgICogLy8gPT4gWzFdXG4gICAgICovXG4gICAgdmFyIGRpZmZlcmVuY2UgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheSwgdmFsdWVzKSB7XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2VPYmplY3QoYXJyYXkpXG4gICAgICAgID8gYmFzZURpZmZlcmVuY2UoYXJyYXksIGJhc2VGbGF0dGVuKHZhbHVlcywgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5kaWZmZXJlbmNlYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCBhbmQgYHZhbHVlc2AgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvblxuICAgICAqIGJ5IHdoaWNoIHRoZXkncmUgY29tcGFyZWQuIFRoZSBvcmRlciBhbmQgcmVmZXJlbmNlcyBvZiByZXN1bHQgdmFsdWVzIGFyZVxuICAgICAqIGRldGVybWluZWQgYnkgdGhlIGZpcnN0IGFycmF5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDpcbiAgICAgKiAodmFsdWUpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5wdWxsQWxsQnlgLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBleGNsdWRlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGlmZmVyZW5jZUJ5KFsyLjEsIDEuMl0sIFsyLjMsIDMuNF0sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsxLjJdXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRpZmZlcmVuY2VCeShbeyAneCc6IDIgfSwgeyAneCc6IDEgfV0sIFt7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDIgfV1cbiAgICAgKi9cbiAgICB2YXIgZGlmZmVyZW5jZUJ5ID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksIHZhbHVlcykge1xuICAgICAgdmFyIGl0ZXJhdGVlID0gbGFzdCh2YWx1ZXMpO1xuICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSkge1xuICAgICAgICBpdGVyYXRlZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSlcbiAgICAgICAgPyBiYXNlRGlmZmVyZW5jZShhcnJheSwgYmFzZUZsYXR0ZW4odmFsdWVzLCAxLCBpc0FycmF5TGlrZU9iamVjdCwgdHJ1ZSksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSlcbiAgICAgICAgOiBbXTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZGlmZmVyZW5jZWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5YCB0byBgdmFsdWVzYC4gVGhlIG9yZGVyIGFuZFxuICAgICAqIHJlZmVyZW5jZXMgb2YgcmVzdWx0IHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgZmlyc3QgYXJyYXkuIFRoZSBjb21wYXJhdG9yXG4gICAgICogaXMgaW52b2tlZCB3aXRoIHR3byBhcmd1bWVudHM6IChhcnJWYWwsIG90aFZhbCkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLnB1bGxBbGxXaXRoYCwgdGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9XTtcbiAgICAgKlxuICAgICAqIF8uZGlmZmVyZW5jZVdpdGgob2JqZWN0cywgW3sgJ3gnOiAxLCAneSc6IDIgfV0sIF8uaXNFcXVhbCk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAyLCAneSc6IDEgfV1cbiAgICAgKi9cbiAgICB2YXIgZGlmZmVyZW5jZVdpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheSwgdmFsdWVzKSB7XG4gICAgICB2YXIgY29tcGFyYXRvciA9IGxhc3QodmFsdWVzKTtcbiAgICAgIGlmIChpc0FycmF5TGlrZU9iamVjdChjb21wYXJhdG9yKSkge1xuICAgICAgICBjb21wYXJhdG9yID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KVxuICAgICAgICA/IGJhc2VEaWZmZXJlbmNlKGFycmF5LCBiYXNlRmxhdHRlbih2YWx1ZXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSwgdW5kZWZpbmVkLCBjb21wYXJhdG9yKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBgbmAgZWxlbWVudHMgZHJvcHBlZCBmcm9tIHRoZSBiZWdpbm5pbmcuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC41LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTFdIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gZHJvcC5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kcm9wKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gWzIsIDNdXG4gICAgICpcbiAgICAgKiBfLmRyb3AoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbM11cbiAgICAgKlxuICAgICAqIF8uZHJvcChbMSwgMiwgM10sIDUpO1xuICAgICAqIC8vID0+IFtdXG4gICAgICpcbiAgICAgKiBfLmRyb3AoWzEsIDIsIDNdLCAwKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkcm9wKGFycmF5LCBuLCBndWFyZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgbiA9IChndWFyZCB8fCBuID09PSB1bmRlZmluZWQpID8gMSA6IHRvSW50ZWdlcihuKTtcbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIG4gPCAwID8gMCA6IG4sIGxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBgbmAgZWxlbWVudHMgZHJvcHBlZCBmcm9tIHRoZSBlbmQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTFdIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gZHJvcC5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kcm9wUmlnaHQoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIF8uZHJvcFJpZ2h0KFsxLCAyLCAzXSwgMik7XG4gICAgICogLy8gPT4gWzFdXG4gICAgICpcbiAgICAgKiBfLmRyb3BSaWdodChbMSwgMiwgM10sIDUpO1xuICAgICAqIC8vID0+IFtdXG4gICAgICpcbiAgICAgKiBfLmRyb3BSaWdodChbMSwgMiwgM10sIDApO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRyb3BSaWdodChhcnJheSwgbiwgZ3VhcmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIG4gPSAoZ3VhcmQgfHwgbiA9PT0gdW5kZWZpbmVkKSA/IDEgOiB0b0ludGVnZXIobik7XG4gICAgICBuID0gbGVuZ3RoIC0gbjtcbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIDAsIG4gPCAwID8gMCA6IG4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIGV4Y2x1ZGluZyBlbGVtZW50cyBkcm9wcGVkIGZyb20gdGhlIGVuZC5cbiAgICAgKiBFbGVtZW50cyBhcmUgZHJvcHBlZCB1bnRpbCBgcHJlZGljYXRlYCByZXR1cm5zIGZhbHNleS4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXgsIGFycmF5KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmRyb3BSaWdodFdoaWxlKHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiAhby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wUmlnaHRXaGlsZSh1c2VycywgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5JywgJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZHJvcFJpZ2h0V2hpbGUodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leSddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRyb3BSaWdodFdoaWxlKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknLCAnZnJlZCcsICdwZWJibGVzJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkcm9wUmlnaHRXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIHRydWUsIHRydWUpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgZXhjbHVkaW5nIGVsZW1lbnRzIGRyb3BwZWQgZnJvbSB0aGUgYmVnaW5uaW5nLlxuICAgICAqIEVsZW1lbnRzIGFyZSBkcm9wcGVkIHVudGlsIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5LiBUaGUgcHJlZGljYXRlIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleCwgYXJyYXkpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZHJvcFdoaWxlKHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiAhby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZHJvcFdoaWxlKHVzZXJzLCB7ICd1c2VyJzogJ2Jhcm5leScsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnLCAncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wV2hpbGUodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wV2hpbGUodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leScsICdmcmVkJywgJ3BlYmJsZXMnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRyb3BXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIHRydWUpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmlsbHMgZWxlbWVudHMgb2YgYGFycmF5YCB3aXRoIGB2YWx1ZWAgZnJvbSBgc3RhcnRgIHVwIHRvLCBidXQgbm90XG4gICAgICogaW5jbHVkaW5nLCBgZW5kYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmlsbC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBmaWxsIGBhcnJheWAgd2l0aC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2VuZD1hcnJheS5sZW5ndGhdIFRoZSBlbmQgcG9zaXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxLCAyLCAzXTtcbiAgICAgKlxuICAgICAqIF8uZmlsbChhcnJheSwgJ2EnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWydhJywgJ2EnLCAnYSddXG4gICAgICpcbiAgICAgKiBfLmZpbGwoQXJyYXkoMyksIDIpO1xuICAgICAqIC8vID0+IFsyLCAyLCAyXVxuICAgICAqXG4gICAgICogXy5maWxsKFs0LCA2LCA4LCAxMF0sICcqJywgMSwgMyk7XG4gICAgICogLy8gPT4gWzQsICcqJywgJyonLCAxMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaWxsKGFycmF5LCB2YWx1ZSwgc3RhcnQsIGVuZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKHN0YXJ0ICYmIHR5cGVvZiBzdGFydCAhPSAnbnVtYmVyJyAmJiBpc0l0ZXJhdGVlQ2FsbChhcnJheSwgdmFsdWUsIHN0YXJ0KSkge1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlRmlsbChhcnJheSwgdmFsdWUsIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmluZGAgZXhjZXB0IHRoYXQgaXQgcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0XG4gICAgICogZWxlbWVudCBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtmcm9tSW5kZXg9MF0gVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBmb3VuZCBlbGVtZW50LCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmluZEluZGV4KHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLnVzZXIgPT0gJ2Jhcm5leSc7IH0pO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kSW5kZXgodXNlcnMsIHsgJ3VzZXInOiAnZnJlZCcsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kSW5kZXgodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRJbmRleCh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IDJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaW5kSW5kZXgoYXJyYXksIHByZWRpY2F0ZSwgZnJvbUluZGV4KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBmcm9tSW5kZXggPT0gbnVsbCA/IDAgOiB0b0ludGVnZXIoZnJvbUluZGV4KTtcbiAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgaW5kZXggPSBuYXRpdmVNYXgobGVuZ3RoICsgaW5kZXgsIDApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VGaW5kSW5kZXgoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGluZGV4KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZpbmRJbmRleGAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50c1xuICAgICAqIG9mIGBjb2xsZWN0aW9uYCBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtmcm9tSW5kZXg9YXJyYXkubGVuZ3RoLTFdIFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgZm91bmQgZWxlbWVudCwgZWxzZSBgLTFgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbmRMYXN0SW5kZXgodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8udXNlciA9PSAncGViYmxlcyc7IH0pO1xuICAgICAqIC8vID0+IDJcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kTGFzdEluZGV4KHVzZXJzLCB7ICd1c2VyJzogJ2Jhcm5leScsICdhY3RpdmUnOiB0cnVlIH0pO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRMYXN0SW5kZXgodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRMYXN0SW5kZXgodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmluZExhc3RJbmRleChhcnJheSwgcHJlZGljYXRlLCBmcm9tSW5kZXgpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IGxlbmd0aCAtIDE7XG4gICAgICBpZiAoZnJvbUluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaW5kZXggPSB0b0ludGVnZXIoZnJvbUluZGV4KTtcbiAgICAgICAgaW5kZXggPSBmcm9tSW5kZXggPCAwXG4gICAgICAgICAgPyBuYXRpdmVNYXgobGVuZ3RoICsgaW5kZXgsIDApXG4gICAgICAgICAgOiBuYXRpdmVNaW4oaW5kZXgsIGxlbmd0aCAtIDEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VGaW5kSW5kZXgoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGluZGV4LCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGbGF0dGVucyBgYXJyYXlgIGEgc2luZ2xlIGxldmVsIGRlZXAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmxhdHRlbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZmxhdHRlbihbMSwgWzIsIFszLCBbNF1dLCA1XV0pO1xuICAgICAqIC8vID0+IFsxLCAyLCBbMywgWzRdXSwgNV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0dGVuKGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZUZsYXR0ZW4oYXJyYXksIDEpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVjdXJzaXZlbHkgZmxhdHRlbnMgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmbGF0dGVuLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZsYXR0ZW5lZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mbGF0dGVuRGVlcChbMSwgWzIsIFszLCBbNF1dLCA1XV0pO1xuICAgICAqIC8vID0+IFsxLCAyLCAzLCA0LCA1XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXR0ZW5EZWVwKGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZUZsYXR0ZW4oYXJyYXksIElORklOSVRZKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlY3Vyc2l2ZWx5IGZsYXR0ZW4gYGFycmF5YCB1cCB0byBgZGVwdGhgIHRpbWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGZsYXR0ZW4uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtkZXB0aD0xXSBUaGUgbWF4aW11bSByZWN1cnNpb24gZGVwdGguXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMSwgWzIsIFszLCBbNF1dLCA1XV07XG4gICAgICpcbiAgICAgKiBfLmZsYXR0ZW5EZXB0aChhcnJheSwgMSk7XG4gICAgICogLy8gPT4gWzEsIDIsIFszLCBbNF1dLCA1XVxuICAgICAqXG4gICAgICogXy5mbGF0dGVuRGVwdGgoYXJyYXksIDIpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzLCBbNF0sIDVdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdHRlbkRlcHRoKGFycmF5LCBkZXB0aCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgZGVwdGggPSBkZXB0aCA9PT0gdW5kZWZpbmVkID8gMSA6IHRvSW50ZWdlcihkZXB0aCk7XG4gICAgICByZXR1cm4gYmFzZUZsYXR0ZW4oYXJyYXksIGRlcHRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW52ZXJzZSBvZiBgXy50b1BhaXJzYDsgdGhpcyBtZXRob2QgcmV0dXJucyBhbiBvYmplY3QgY29tcG9zZWRcbiAgICAgKiBmcm9tIGtleS12YWx1ZSBgcGFpcnNgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gcGFpcnMgVGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZyb21QYWlycyhbWydhJywgMV0sIFsnYicsIDJdXSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gZnJvbVBhaXJzKHBhaXJzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBwYWlycyA9PSBudWxsID8gMCA6IHBhaXJzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSB7fTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHBhaXIgPSBwYWlyc1tpbmRleF07XG4gICAgICAgIHJlc3VsdFtwYWlyWzBdXSA9IHBhaXJbMV07XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBhbGlhcyBmaXJzdFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZmlyc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmhlYWQoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICpcbiAgICAgKiBfLmhlYWQoW10pO1xuICAgICAqIC8vID0+IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSA/IGFycmF5WzBdIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGluZGV4IGF0IHdoaWNoIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGB2YWx1ZWAgaXMgZm91bmQgaW4gYGFycmF5YFxuICAgICAqIHVzaW5nIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLiBJZiBgZnJvbUluZGV4YCBpcyBuZWdhdGl2ZSwgaXQncyB1c2VkIGFzIHRoZVxuICAgICAqIG9mZnNldCBmcm9tIHRoZSBlbmQgb2YgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtmcm9tSW5kZXg9MF0gVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW5kZXhPZihbMSwgMiwgMSwgMl0sIDIpO1xuICAgICAqIC8vID0+IDFcbiAgICAgKlxuICAgICAqIC8vIFNlYXJjaCBmcm9tIHRoZSBgZnJvbUluZGV4YC5cbiAgICAgKiBfLmluZGV4T2YoWzEsIDIsIDEsIDJdLCAyLCAyKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gZnJvbUluZGV4ID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGZyb21JbmRleCk7XG4gICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgIGluZGV4ID0gbmF0aXZlTWF4KGxlbmd0aCArIGluZGV4LCAwKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIGluZGV4KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFsbCBidXQgdGhlIGxhc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pbml0aWFsKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5pdGlhbChhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VTbGljZShhcnJheSwgMCwgLTEpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB1bmlxdWUgdmFsdWVzIHRoYXQgYXJlIGluY2x1ZGVkIGluIGFsbCBnaXZlbiBhcnJheXNcbiAgICAgKiB1c2luZyBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy4gVGhlIG9yZGVyIGFuZCByZWZlcmVuY2VzIG9mIHJlc3VsdCB2YWx1ZXMgYXJlXG4gICAgICogZGV0ZXJtaW5lZCBieSB0aGUgZmlyc3QgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgaW50ZXJzZWN0aW5nIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pbnRlcnNlY3Rpb24oWzIsIDFdLCBbMiwgM10pO1xuICAgICAqIC8vID0+IFsyXVxuICAgICAqL1xuICAgIHZhciBpbnRlcnNlY3Rpb24gPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBtYXBwZWQgPSBhcnJheU1hcChhcnJheXMsIGNhc3RBcnJheUxpa2VPYmplY3QpO1xuICAgICAgcmV0dXJuIChtYXBwZWQubGVuZ3RoICYmIG1hcHBlZFswXSA9PT0gYXJyYXlzWzBdKVxuICAgICAgICA/IGJhc2VJbnRlcnNlY3Rpb24obWFwcGVkKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pbnRlcnNlY3Rpb25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYFxuICAgICAqIHdoaWNoIGlzIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBvZiBlYWNoIGBhcnJheXNgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb25cbiAgICAgKiBieSB3aGljaCB0aGV5J3JlIGNvbXBhcmVkLiBUaGUgb3JkZXIgYW5kIHJlZmVyZW5jZXMgb2YgcmVzdWx0IHZhbHVlcyBhcmVcbiAgICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBmaXJzdCBhcnJheS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6XG4gICAgICogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgaW50ZXJzZWN0aW5nIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pbnRlcnNlY3Rpb25CeShbMi4xLCAxLjJdLCBbMi4zLCAzLjRdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiBbMi4xXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5pbnRlcnNlY3Rpb25CeShbeyAneCc6IDEgfV0sIFt7ICd4JzogMiB9LCB7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEgfV1cbiAgICAgKi9cbiAgICB2YXIgaW50ZXJzZWN0aW9uQnkgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBpdGVyYXRlZSA9IGxhc3QoYXJyYXlzKSxcbiAgICAgICAgICBtYXBwZWQgPSBhcnJheU1hcChhcnJheXMsIGNhc3RBcnJheUxpa2VPYmplY3QpO1xuXG4gICAgICBpZiAoaXRlcmF0ZWUgPT09IGxhc3QobWFwcGVkKSkge1xuICAgICAgICBpdGVyYXRlZSA9IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1hcHBlZC5wb3AoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAobWFwcGVkLmxlbmd0aCAmJiBtYXBwZWRbMF0gPT09IGFycmF5c1swXSlcbiAgICAgICAgPyBiYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pbnRlcnNlY3Rpb25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGNvbXBhcmF0b3JgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCB0byBjb21wYXJlIGVsZW1lbnRzIG9mIGBhcnJheXNgLiBUaGUgb3JkZXIgYW5kIHJlZmVyZW5jZXNcbiAgICAgKiBvZiByZXN1bHQgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBmaXJzdCBhcnJheS4gVGhlIGNvbXBhcmF0b3IgaXNcbiAgICAgKiBpbnZva2VkIHdpdGggdHdvIGFyZ3VtZW50czogKGFyclZhbCwgb3RoVmFsKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBpbnRlcnNlY3RpbmcgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfV07XG4gICAgICogdmFyIG90aGVycyA9IFt7ICd4JzogMSwgJ3knOiAxIH0sIHsgJ3gnOiAxLCAneSc6IDIgfV07XG4gICAgICpcbiAgICAgKiBfLmludGVyc2VjdGlvbldpdGgob2JqZWN0cywgb3RoZXJzLCBfLmlzRXF1YWwpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSwgJ3knOiAyIH1dXG4gICAgICovXG4gICAgdmFyIGludGVyc2VjdGlvbldpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBjb21wYXJhdG9yID0gbGFzdChhcnJheXMpLFxuICAgICAgICAgIG1hcHBlZCA9IGFycmF5TWFwKGFycmF5cywgY2FzdEFycmF5TGlrZU9iamVjdCk7XG5cbiAgICAgIGNvbXBhcmF0b3IgPSB0eXBlb2YgY29tcGFyYXRvciA9PSAnZnVuY3Rpb24nID8gY29tcGFyYXRvciA6IHVuZGVmaW5lZDtcbiAgICAgIGlmIChjb21wYXJhdG9yKSB7XG4gICAgICAgIG1hcHBlZC5wb3AoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAobWFwcGVkLmxlbmd0aCAmJiBtYXBwZWRbMF0gPT09IGFycmF5c1swXSlcbiAgICAgICAgPyBiYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCwgdW5kZWZpbmVkLCBjb21wYXJhdG9yKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYWxsIGVsZW1lbnRzIGluIGBhcnJheWAgaW50byBhIHN0cmluZyBzZXBhcmF0ZWQgYnkgYHNlcGFyYXRvcmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gY29udmVydC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3NlcGFyYXRvcj0nLCddIFRoZSBlbGVtZW50IHNlcGFyYXRvci5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBqb2luZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmpvaW4oWydhJywgJ2InLCAnYyddLCAnficpO1xuICAgICAqIC8vID0+ICdhfmJ+YydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBqb2luKGFycmF5LCBzZXBhcmF0b3IpIHtcbiAgICAgIHJldHVybiBhcnJheSA9PSBudWxsID8gJycgOiBuYXRpdmVKb2luLmNhbGwoYXJyYXksIHNlcGFyYXRvcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbGFzdCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGxhc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmxhc3QoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gbGFzdChhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbmd0aCA/IGFycmF5W2xlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaW5kZXhPZmAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGBhcnJheWAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD1hcnJheS5sZW5ndGgtMV0gVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubGFzdEluZGV4T2YoWzEsIDIsIDEsIDJdLCAyKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiAvLyBTZWFyY2ggZnJvbSB0aGUgYGZyb21JbmRleGAuXG4gICAgICogXy5sYXN0SW5kZXhPZihbMSwgMiwgMSwgMl0sIDIsIDIpO1xuICAgICAqIC8vID0+IDFcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsYXN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gbGVuZ3RoO1xuICAgICAgaWYgKGZyb21JbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGluZGV4ID0gdG9JbnRlZ2VyKGZyb21JbmRleCk7XG4gICAgICAgIGluZGV4ID0gaW5kZXggPCAwID8gbmF0aXZlTWF4KGxlbmd0aCArIGluZGV4LCAwKSA6IG5hdGl2ZU1pbihpbmRleCwgbGVuZ3RoIC0gMSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHZhbHVlXG4gICAgICAgID8gc3RyaWN0TGFzdEluZGV4T2YoYXJyYXksIHZhbHVlLCBpbmRleClcbiAgICAgICAgOiBiYXNlRmluZEluZGV4KGFycmF5LCBiYXNlSXNOYU4sIGluZGV4LCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBlbGVtZW50IGF0IGluZGV4IGBuYCBvZiBgYXJyYXlgLiBJZiBgbmAgaXMgbmVnYXRpdmUsIHRoZSBudGhcbiAgICAgKiBlbGVtZW50IGZyb20gdGhlIGVuZCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjExLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTBdIFRoZSBpbmRleCBvZiB0aGUgZWxlbWVudCB0byByZXR1cm4uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG50aCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsnYScsICdiJywgJ2MnLCAnZCddO1xuICAgICAqXG4gICAgICogXy5udGgoYXJyYXksIDEpO1xuICAgICAqIC8vID0+ICdiJ1xuICAgICAqXG4gICAgICogXy5udGgoYXJyYXksIC0yKTtcbiAgICAgKiAvLyA9PiAnYyc7XG4gICAgICovXG4gICAgZnVuY3Rpb24gbnRoKGFycmF5LCBuKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkgPyBiYXNlTnRoKGFycmF5LCB0b0ludGVnZXIobikpIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGdpdmVuIHZhbHVlcyBmcm9tIGBhcnJheWAgdXNpbmdcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8ud2l0aG91dGAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC4gVXNlIGBfLnJlbW92ZWBcbiAgICAgKiB0byByZW1vdmUgZWxlbWVudHMgZnJvbSBhbiBhcnJheSBieSBwcmVkaWNhdGUuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsnYScsICdiJywgJ2MnLCAnYScsICdiJywgJ2MnXTtcbiAgICAgKlxuICAgICAqIF8ucHVsbChhcnJheSwgJ2EnLCAnYycpO1xuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbJ2InLCAnYiddXG4gICAgICovXG4gICAgdmFyIHB1bGwgPSBiYXNlUmVzdChwdWxsQWxsKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucHVsbGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBhbiBhcnJheSBvZiB2YWx1ZXMgdG8gcmVtb3ZlLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5kaWZmZXJlbmNlYCwgdGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsnYScsICdiJywgJ2MnLCAnYScsICdiJywgJ2MnXTtcbiAgICAgKlxuICAgICAqIF8ucHVsbEFsbChhcnJheSwgWydhJywgJ2MnXSk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsnYicsICdiJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwdWxsQWxsKGFycmF5LCB2YWx1ZXMpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoICYmIHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoKVxuICAgICAgICA/IGJhc2VQdWxsQWxsKGFycmF5LCB2YWx1ZXMpXG4gICAgICAgIDogYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5wdWxsQWxsYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCBhbmQgYHZhbHVlc2AgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvblxuICAgICAqIGJ5IHdoaWNoIHRoZXkncmUgY29tcGFyZWQuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5kaWZmZXJlbmNlQnlgLCB0aGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgdmFsdWVzIHRvIHJlbW92ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFt7ICd4JzogMSB9LCB7ICd4JzogMiB9LCB7ICd4JzogMyB9LCB7ICd4JzogMSB9XTtcbiAgICAgKlxuICAgICAqIF8ucHVsbEFsbEJ5KGFycmF5LCBbeyAneCc6IDEgfSwgeyAneCc6IDMgfV0sICd4Jyk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHB1bGxBbGxCeShhcnJheSwgdmFsdWVzLCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGggJiYgdmFsdWVzICYmIHZhbHVlcy5sZW5ndGgpXG4gICAgICAgID8gYmFzZVB1bGxBbGwoYXJyYXksIHZhbHVlcywgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKVxuICAgICAgICA6IGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucHVsbEFsbGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5YCB0byBgdmFsdWVzYC4gVGhlIGNvbXBhcmF0b3IgaXNcbiAgICAgKiBpbnZva2VkIHdpdGggdHdvIGFyZ3VtZW50czogKGFyclZhbCwgb3RoVmFsKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8uZGlmZmVyZW5jZVdpdGhgLCB0aGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgdmFsdWVzIHRvIHJlbW92ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDMsICd5JzogNCB9LCB7ICd4JzogNSwgJ3knOiA2IH1dO1xuICAgICAqXG4gICAgICogXy5wdWxsQWxsV2l0aChhcnJheSwgW3sgJ3gnOiAzLCAneSc6IDQgfV0sIF8uaXNFcXVhbCk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiA1LCAneSc6IDYgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwdWxsQWxsV2l0aChhcnJheSwgdmFsdWVzLCBjb21wYXJhdG9yKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCAmJiB2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aClcbiAgICAgICAgPyBiYXNlUHVsbEFsbChhcnJheSwgdmFsdWVzLCB1bmRlZmluZWQsIGNvbXBhcmF0b3IpXG4gICAgICAgIDogYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBlbGVtZW50cyBmcm9tIGBhcnJheWAgY29ycmVzcG9uZGluZyB0byBgaW5kZXhlc2AgYW5kIHJldHVybnMgYW5cbiAgICAgKiBhcnJheSBvZiByZW1vdmVkIGVsZW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5hdGAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHsuLi4obnVtYmVyfG51bWJlcltdKX0gW2luZGV4ZXNdIFRoZSBpbmRleGVzIG9mIGVsZW1lbnRzIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiByZW1vdmVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbJ2EnLCAnYicsICdjJywgJ2QnXTtcbiAgICAgKiB2YXIgcHVsbGVkID0gXy5wdWxsQXQoYXJyYXksIFsxLCAzXSk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWydhJywgJ2MnXVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2cocHVsbGVkKTtcbiAgICAgKiAvLyA9PiBbJ2InLCAnZCddXG4gICAgICovXG4gICAgdmFyIHB1bGxBdCA9IGZsYXRSZXN0KGZ1bmN0aW9uKGFycmF5LCBpbmRleGVzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0gYmFzZUF0KGFycmF5LCBpbmRleGVzKTtcblxuICAgICAgYmFzZVB1bGxBdChhcnJheSwgYXJyYXlNYXAoaW5kZXhlcywgZnVuY3Rpb24oaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIGlzSW5kZXgoaW5kZXgsIGxlbmd0aCkgPyAraW5kZXggOiBpbmRleDtcbiAgICAgIH0pLnNvcnQoY29tcGFyZUFzY2VuZGluZykpO1xuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgZWxlbWVudHMgZnJvbSBgYXJyYXlgIHRoYXQgYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yXG4gICAgICogYW5kIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIHJlbW92ZWQgZWxlbWVudHMuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4LCBhcnJheSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLmZpbHRlcmAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC4gVXNlIGBfLnB1bGxgXG4gICAgICogdG8gcHVsbCBlbGVtZW50cyBmcm9tIGFuIGFycmF5IGJ5IHZhbHVlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgcmVtb3ZlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDMsIDRdO1xuICAgICAqIHZhciBldmVucyA9IF8ucmVtb3ZlKGFycmF5LCBmdW5jdGlvbihuKSB7XG4gICAgICogICByZXR1cm4gbiAlIDIgPT0gMDtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMSwgM11cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGV2ZW5zKTtcbiAgICAgKiAvLyA9PiBbMiwgNF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZW1vdmUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgaW5kZXhlcyA9IFtdLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgICAgcHJlZGljYXRlID0gZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIGFycmF5KSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgICBpbmRleGVzLnB1c2goaW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBiYXNlUHVsbEF0KGFycmF5LCBpbmRleGVzKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV2ZXJzZXMgYGFycmF5YCBzbyB0aGF0IHRoZSBmaXJzdCBlbGVtZW50IGJlY29tZXMgdGhlIGxhc3QsIHRoZSBzZWNvbmRcbiAgICAgKiBlbGVtZW50IGJlY29tZXMgdGhlIHNlY29uZCB0byBsYXN0LCBhbmQgc28gb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgIGFuZCBpcyBiYXNlZCBvblxuICAgICAqIFtgQXJyYXkjcmV2ZXJzZWBdKGh0dHBzOi8vbWRuLmlvL0FycmF5L3JldmVyc2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDNdO1xuICAgICAqXG4gICAgICogXy5yZXZlcnNlKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMywgMiwgMV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMywgMiwgMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZXZlcnNlKGFycmF5KSB7XG4gICAgICByZXR1cm4gYXJyYXkgPT0gbnVsbCA/IGFycmF5IDogbmF0aXZlUmV2ZXJzZS5jYWxsKGFycmF5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCBmcm9tIGBzdGFydGAgdXAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nLCBgZW5kYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyB1c2VkIGluc3RlYWQgb2ZcbiAgICAgKiBbYEFycmF5I3NsaWNlYF0oaHR0cHM6Ly9tZG4uaW8vQXJyYXkvc2xpY2UpIHRvIGVuc3VyZSBkZW5zZSBhcnJheXMgYXJlXG4gICAgICogcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2xpY2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD0wXSBUaGUgc3RhcnQgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtlbmQ9YXJyYXkubGVuZ3RoXSBUaGUgZW5kIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzbGljZShhcnJheSwgc3RhcnQsIGVuZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGVuZCAmJiB0eXBlb2YgZW5kICE9ICdudW1iZXInICYmIGlzSXRlcmF0ZWVDYWxsKGFycmF5LCBzdGFydCwgZW5kKSkge1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBzdGFydCA9IHN0YXJ0ID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKHN0YXJ0KTtcbiAgICAgICAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW5ndGggOiB0b0ludGVnZXIoZW5kKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZXMgYSBiaW5hcnkgc2VhcmNoIHRvIGRldGVybWluZSB0aGUgbG93ZXN0IGluZGV4IGF0IHdoaWNoIGB2YWx1ZWBcbiAgICAgKiBzaG91bGQgYmUgaW5zZXJ0ZWQgaW50byBgYXJyYXlgIGluIG9yZGVyIHRvIG1haW50YWluIGl0cyBzb3J0IG9yZGVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIHNvcnRlZCBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGV2YWx1YXRlLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zb3J0ZWRJbmRleChbMzAsIDUwXSwgNDApO1xuICAgICAqIC8vID0+IDFcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRJbmRleChhcnJheSwgdmFsdWUpIHtcbiAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnNvcnRlZEluZGV4YCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIGZvciBgdmFsdWVgIGFuZCBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCB0byBjb21wdXRlIHRoZWlyXG4gICAgICogc29ydCByYW5raW5nLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICAgKiAgaW50byBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogNCB9LCB7ICd4JzogNSB9XTtcbiAgICAgKlxuICAgICAqIF8uc29ydGVkSW5kZXhCeShvYmplY3RzLCB7ICd4JzogNCB9LCBmdW5jdGlvbihvKSB7IHJldHVybiBvLng7IH0pO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uc29ydGVkSW5kZXhCeShvYmplY3RzLCB7ICd4JzogNCB9LCAneCcpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRJbmRleEJ5KGFycmF5LCB2YWx1ZSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pbmRleE9mYCBleGNlcHQgdGhhdCBpdCBwZXJmb3JtcyBhIGJpbmFyeVxuICAgICAqIHNlYXJjaCBvbiBhIHNvcnRlZCBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZEluZGV4T2YoWzQsIDUsIDUsIDUsIDZdLCA1KTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkSW5kZXhPZihhcnJheSwgdmFsdWUpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGgpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gYmFzZVNvcnRlZEluZGV4KGFycmF5LCB2YWx1ZSk7XG4gICAgICAgIGlmIChpbmRleCA8IGxlbmd0aCAmJiBlcShhcnJheVtpbmRleF0sIHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc29ydGVkSW5kZXhgIGV4Y2VwdCB0aGF0IGl0IHJldHVybnMgdGhlIGhpZ2hlc3RcbiAgICAgKiBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZCBpbnRvIGBhcnJheWAgaW4gb3JkZXIgdG9cbiAgICAgKiBtYWludGFpbiBpdHMgc29ydCBvcmRlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZFxuICAgICAqICBpbnRvIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29ydGVkTGFzdEluZGV4KFs0LCA1LCA1LCA1LCA2XSwgNSk7XG4gICAgICogLy8gPT4gNFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZExhc3RJbmRleChhcnJheSwgdmFsdWUpIHtcbiAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnNvcnRlZExhc3RJbmRleGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCBmb3IgYHZhbHVlYCBhbmQgZWFjaCBlbGVtZW50IG9mIGBhcnJheWAgdG8gY29tcHV0ZSB0aGVpclxuICAgICAqIHNvcnQgcmFua2luZy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgc29ydGVkIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZXZhbHVhdGUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDQgfSwgeyAneCc6IDUgfV07XG4gICAgICpcbiAgICAgKiBfLnNvcnRlZExhc3RJbmRleEJ5KG9iamVjdHMsIHsgJ3gnOiA0IH0sIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8ueDsgfSk7XG4gICAgICogLy8gPT4gMVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb3J0ZWRMYXN0SW5kZXhCeShvYmplY3RzLCB7ICd4JzogNCB9LCAneCcpO1xuICAgICAqIC8vID0+IDFcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXhCeShhcnJheSwgdmFsdWUsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksIHZhbHVlLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMiksIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubGFzdEluZGV4T2ZgIGV4Y2VwdCB0aGF0IGl0IHBlcmZvcm1zIGEgYmluYXJ5XG4gICAgICogc2VhcmNoIG9uIGEgc29ydGVkIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29ydGVkTGFzdEluZGV4T2YoWzQsIDUsIDUsIDUsIDZdLCA1KTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkTGFzdEluZGV4T2YoYXJyYXksIHZhbHVlKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoKSB7XG4gICAgICAgIHZhciBpbmRleCA9IGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUsIHRydWUpIC0gMTtcbiAgICAgICAgaWYgKGVxKGFycmF5W2luZGV4XSwgdmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bmlxYCBleGNlcHQgdGhhdCBpdCdzIGRlc2lnbmVkIGFuZCBvcHRpbWl6ZWRcbiAgICAgKiBmb3Igc29ydGVkIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZFVuaXEoWzEsIDEsIDJdKTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRVbmlxKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlU29ydGVkVW5pcShhcnJheSlcbiAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaXFCeWAgZXhjZXB0IHRoYXQgaXQncyBkZXNpZ25lZCBhbmQgb3B0aW1pemVkXG4gICAgICogZm9yIHNvcnRlZCBhcnJheXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWVdIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZFVuaXFCeShbMS4xLCAxLjIsIDIuMywgMi40XSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4gWzEuMSwgMi4zXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZFVuaXFCeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VTb3J0ZWRVbmlxKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgYnV0IHRoZSBmaXJzdCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRhaWwoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0YWlsKGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZVNsaWNlKGFycmF5LCAxLCBsZW5ndGgpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBgbmAgZWxlbWVudHMgdGFrZW4gZnJvbSB0aGUgYmVnaW5uaW5nLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHRha2UuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGFrZShbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IFsxXVxuICAgICAqXG4gICAgICogXy50YWtlKFsxLCAyLCAzXSwgMik7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICpcbiAgICAgKiBfLnRha2UoWzEsIDIsIDNdLCA1KTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIF8udGFrZShbMSwgMiwgM10sIDApO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGFrZShhcnJheSwgbiwgZ3VhcmQpIHtcbiAgICAgIGlmICghKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgbiA9IChndWFyZCB8fCBuID09PSB1bmRlZmluZWQpID8gMSA6IHRvSW50ZWdlcihuKTtcbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIDAsIG4gPCAwID8gMCA6IG4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIHdpdGggYG5gIGVsZW1lbnRzIHRha2VuIGZyb20gdGhlIGVuZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MV0gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byB0YWtlLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRha2VSaWdodChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IFszXVxuICAgICAqXG4gICAgICogXy50YWtlUmlnaHQoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbMiwgM11cbiAgICAgKlxuICAgICAqIF8udGFrZVJpZ2h0KFsxLCAyLCAzXSwgNSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBfLnRha2VSaWdodChbMSwgMiwgM10sIDApO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGFrZVJpZ2h0KGFycmF5LCBuLCBndWFyZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgbiA9IChndWFyZCB8fCBuID09PSB1bmRlZmluZWQpID8gMSA6IHRvSW50ZWdlcihuKTtcbiAgICAgIG4gPSBsZW5ndGggLSBuO1xuICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgbiA8IDAgPyAwIDogbiwgbGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCB3aXRoIGVsZW1lbnRzIHRha2VuIGZyb20gdGhlIGVuZC4gRWxlbWVudHMgYXJlXG4gICAgICogdGFrZW4gdW50aWwgYHByZWRpY2F0ZWAgcmV0dXJucyBmYWxzZXkuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoXG4gICAgICogdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4LCBhcnJheSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy50YWtlUmlnaHRXaGlsZSh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnLCAncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udGFrZVJpZ2h0V2hpbGUodXNlcnMsIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udGFrZVJpZ2h0V2hpbGUodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnLCAncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnRha2VSaWdodFdoaWxlKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0YWtlUmlnaHRXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGZhbHNlLCB0cnVlKVxuICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIHdpdGggZWxlbWVudHMgdGFrZW4gZnJvbSB0aGUgYmVnaW5uaW5nLiBFbGVtZW50c1xuICAgICAqIGFyZSB0YWtlbiB1bnRpbCBgcHJlZGljYXRlYCByZXR1cm5zIGZhbHNleS4gVGhlIHByZWRpY2F0ZSBpcyBpbnZva2VkIHdpdGhcbiAgICAgKiB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXgsIGFycmF5KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnRha2VXaGlsZSh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leScsICdmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy50YWtlV2hpbGUodXNlcnMsIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnRha2VXaGlsZSh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5JywgJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy50YWtlV2hpbGUodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRha2VXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMykpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB1bmlxdWUgdmFsdWVzLCBpbiBvcmRlciwgZnJvbSBhbGwgZ2l2ZW4gYXJyYXlzIHVzaW5nXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY29tYmluZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaW9uKFsyXSwgWzEsIDJdKTtcbiAgICAgKiAvLyA9PiBbMiwgMV1cbiAgICAgKi9cbiAgICB2YXIgdW5pb24gPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaW9uYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgb2YgZWFjaCBgYXJyYXlzYCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uIGJ5XG4gICAgICogd2hpY2ggdW5pcXVlbmVzcyBpcyBjb21wdXRlZC4gUmVzdWx0IHZhbHVlcyBhcmUgY2hvc2VuIGZyb20gdGhlIGZpcnN0XG4gICAgICogYXJyYXkgaW4gd2hpY2ggdGhlIHZhbHVlIG9jY3Vycy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6XG4gICAgICogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY29tYmluZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaW9uQnkoWzIuMV0sIFsxLjIsIDIuM10sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsyLjEsIDEuMl1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udW5pb25CeShbeyAneCc6IDEgfV0sIFt7ICd4JzogMiB9LCB7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEgfSwgeyAneCc6IDIgfV1cbiAgICAgKi9cbiAgICB2YXIgdW5pb25CeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIGl0ZXJhdGVlID0gbGFzdChhcnJheXMpO1xuICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSkge1xuICAgICAgICBpdGVyYXRlZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW5pb25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGNvbXBhcmF0b3JgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBjb21wYXJlIGVsZW1lbnRzIG9mIGBhcnJheXNgLiBSZXN1bHQgdmFsdWVzIGFyZSBjaG9zZW4gZnJvbVxuICAgICAqIHRoZSBmaXJzdCBhcnJheSBpbiB3aGljaCB0aGUgdmFsdWUgb2NjdXJzLiBUaGUgY29tcGFyYXRvciBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGNvbWJpbmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH1dO1xuICAgICAqIHZhciBvdGhlcnMgPSBbeyAneCc6IDEsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAyIH1dO1xuICAgICAqXG4gICAgICogXy51bmlvbldpdGgob2JqZWN0cywgb3RoZXJzLCBfLmlzRXF1YWwpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfSwgeyAneCc6IDEsICd5JzogMSB9XVxuICAgICAqL1xuICAgIHZhciB1bmlvbldpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBjb21wYXJhdG9yID0gbGFzdChhcnJheXMpO1xuICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09ICdmdW5jdGlvbicgPyBjb21wYXJhdG9yIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKGFycmF5cywgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpLCB1bmRlZmluZWQsIGNvbXBhcmF0b3IpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGR1cGxpY2F0ZS1mcmVlIHZlcnNpb24gb2YgYW4gYXJyYXksIHVzaW5nXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMsIGluIHdoaWNoIG9ubHkgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgZWFjaCBlbGVtZW50XG4gICAgICogaXMga2VwdC4gVGhlIG9yZGVyIG9mIHJlc3VsdCB2YWx1ZXMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgdGhleSBvY2N1clxuICAgICAqIGluIHRoZSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaXEoWzIsIDEsIDJdKTtcbiAgICAgKiAvLyA9PiBbMiwgMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmlxKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkgPyBiYXNlVW5pcShhcnJheSkgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaXFgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBpbiBgYXJyYXlgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb24gYnkgd2hpY2hcbiAgICAgKiB1bmlxdWVuZXNzIGlzIGNvbXB1dGVkLiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZVxuICAgICAqIG9yZGVyIHRoZXkgb2NjdXIgaW4gdGhlIGFycmF5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDpcbiAgICAgKiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaXFCeShbMi4xLCAxLjIsIDIuM10sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsyLjEsIDEuMl1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udW5pcUJ5KFt7ICd4JzogMSB9LCB7ICd4JzogMiB9LCB7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEgfSwgeyAneCc6IDIgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmlxQnkoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkgPyBiYXNlVW5pcShhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW5pcWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5YC4gVGhlIG9yZGVyIG9mIHJlc3VsdCB2YWx1ZXMgaXNcbiAgICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBvcmRlciB0aGV5IG9jY3VyIGluIHRoZSBhcnJheS5UaGUgY29tcGFyYXRvciBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAyIH1dO1xuICAgICAqXG4gICAgICogXy51bmlxV2l0aChvYmplY3RzLCBfLmlzRXF1YWwpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmlxV2l0aChhcnJheSwgY29tcGFyYXRvcikge1xuICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09ICdmdW5jdGlvbicgPyBjb21wYXJhdG9yIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpID8gYmFzZVVuaXEoYXJyYXksIHVuZGVmaW5lZCwgY29tcGFyYXRvcikgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnppcGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBhbiBhcnJheSBvZiBncm91cGVkXG4gICAgICogZWxlbWVudHMgYW5kIGNyZWF0ZXMgYW4gYXJyYXkgcmVncm91cGluZyB0aGUgZWxlbWVudHMgdG8gdGhlaXIgcHJlLXppcFxuICAgICAqIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgb2YgZ3JvdXBlZCBlbGVtZW50cyB0byBwcm9jZXNzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHJlZ3JvdXBlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHppcHBlZCA9IF8uemlwKFsnYScsICdiJ10sIFsxLCAyXSwgW3RydWUsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gW1snYScsIDEsIHRydWVdLCBbJ2InLCAyLCBmYWxzZV1dXG4gICAgICpcbiAgICAgKiBfLnVuemlwKHppcHBlZCk7XG4gICAgICogLy8gPT4gW1snYScsICdiJ10sIFsxLCAyXSwgW3RydWUsIGZhbHNlXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bnppcChhcnJheSkge1xuICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gMDtcbiAgICAgIGFycmF5ID0gYXJyYXlGaWx0ZXIoYXJyYXksIGZ1bmN0aW9uKGdyb3VwKSB7XG4gICAgICAgIGlmIChpc0FycmF5TGlrZU9iamVjdChncm91cCkpIHtcbiAgICAgICAgICBsZW5ndGggPSBuYXRpdmVNYXgoZ3JvdXAubGVuZ3RoLCBsZW5ndGgpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBiYXNlVGltZXMobGVuZ3RoLCBmdW5jdGlvbihpbmRleCkge1xuICAgICAgICByZXR1cm4gYXJyYXlNYXAoYXJyYXksIGJhc2VQcm9wZXJ0eShpbmRleCkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bnppcGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHRvIHNwZWNpZnlcbiAgICAgKiBob3cgcmVncm91cGVkIHZhbHVlcyBzaG91bGQgYmUgY29tYmluZWQuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhlXG4gICAgICogZWxlbWVudHMgb2YgZWFjaCBncm91cDogKC4uLmdyb3VwKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjguMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzIHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiB0byBjb21iaW5lXG4gICAgICogIHJlZ3JvdXBlZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgcmVncm91cGVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgemlwcGVkID0gXy56aXAoWzEsIDJdLCBbMTAsIDIwXSwgWzEwMCwgMjAwXSk7XG4gICAgICogLy8gPT4gW1sxLCAxMCwgMTAwXSwgWzIsIDIwLCAyMDBdXVxuICAgICAqXG4gICAgICogXy51bnppcFdpdGgoemlwcGVkLCBfLmFkZCk7XG4gICAgICogLy8gPT4gWzMsIDMwLCAzMDBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW56aXBXaXRoKGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gdW56aXAoYXJyYXkpO1xuICAgICAgaWYgKGl0ZXJhdGVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheU1hcChyZXN1bHQsIGZ1bmN0aW9uKGdyb3VwKSB7XG4gICAgICAgIHJldHVybiBhcHBseShpdGVyYXRlZSwgdW5kZWZpbmVkLCBncm91cCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IGV4Y2x1ZGluZyBhbGwgZ2l2ZW4gdmFsdWVzIHVzaW5nXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLnB1bGxgLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbdmFsdWVzXSBUaGUgdmFsdWVzIHRvIGV4Y2x1ZGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBzZWUgXy5kaWZmZXJlbmNlLCBfLnhvclxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLndpdGhvdXQoWzIsIDEsIDIsIDNdLCAxLCAyKTtcbiAgICAgKiAvLyA9PiBbM11cbiAgICAgKi9cbiAgICB2YXIgd2l0aG91dCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5LCB2YWx1ZXMpIHtcbiAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSlcbiAgICAgICAgPyBiYXNlRGlmZmVyZW5jZShhcnJheSwgdmFsdWVzKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB1bmlxdWUgdmFsdWVzIHRoYXQgaXMgdGhlXG4gICAgICogW3N5bW1ldHJpYyBkaWZmZXJlbmNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TeW1tZXRyaWNfZGlmZmVyZW5jZSlcbiAgICAgKiBvZiB0aGUgZ2l2ZW4gYXJyYXlzLiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBvcmRlclxuICAgICAqIHRoZXkgb2NjdXIgaW4gdGhlIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQHNlZSBfLmRpZmZlcmVuY2UsIF8ud2l0aG91dFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnhvcihbMiwgMV0sIFsyLCAzXSk7XG4gICAgICogLy8gPT4gWzEsIDNdXG4gICAgICovXG4gICAgdmFyIHhvciA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgcmV0dXJuIGJhc2VYb3IoYXJyYXlGaWx0ZXIoYXJyYXlzLCBpc0FycmF5TGlrZU9iamVjdCkpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy54b3JgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBvZiBlYWNoIGBhcnJheXNgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb24gYnlcbiAgICAgKiB3aGljaCBieSB3aGljaCB0aGV5J3JlIGNvbXBhcmVkLiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpcyBkZXRlcm1pbmVkXG4gICAgICogYnkgdGhlIG9yZGVyIHRoZXkgb2NjdXIgaW4gdGhlIGFycmF5cy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmVcbiAgICAgKiBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnhvckJ5KFsyLjEsIDEuMl0sIFsyLjMsIDMuNF0sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsxLjIsIDMuNF1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ueG9yQnkoW3sgJ3gnOiAxIH1dLCBbeyAneCc6IDIgfSwgeyAneCc6IDEgfV0sICd4Jyk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAyIH1dXG4gICAgICovXG4gICAgdmFyIHhvckJ5ID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgaXRlcmF0ZWUgPSBsYXN0KGFycmF5cyk7XG4gICAgICBpZiAoaXNBcnJheUxpa2VPYmplY3QoaXRlcmF0ZWUpKSB7XG4gICAgICAgIGl0ZXJhdGVlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VYb3IoYXJyYXlGaWx0ZXIoYXJyYXlzLCBpc0FycmF5TGlrZU9iamVjdCksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnhvcmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5c2AuIFRoZSBvcmRlciBvZiByZXN1bHQgdmFsdWVzIGlzXG4gICAgICogZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgdGhleSBvY2N1ciBpbiB0aGUgYXJyYXlzLiBUaGUgY29tcGFyYXRvciBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH1dO1xuICAgICAqIHZhciBvdGhlcnMgPSBbeyAneCc6IDEsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAyIH1dO1xuICAgICAqXG4gICAgICogXy54b3JXaXRoKG9iamVjdHMsIG90aGVycywgXy5pc0VxdWFsKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDIsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAxIH1dXG4gICAgICovXG4gICAgdmFyIHhvcldpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBjb21wYXJhdG9yID0gbGFzdChhcnJheXMpO1xuICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09ICdmdW5jdGlvbicgPyBjb21wYXJhdG9yIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VYb3IoYXJyYXlGaWx0ZXIoYXJyYXlzLCBpc0FycmF5TGlrZU9iamVjdCksIHVuZGVmaW5lZCwgY29tcGFyYXRvcik7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGdyb3VwZWQgZWxlbWVudHMsIHRoZSBmaXJzdCBvZiB3aGljaCBjb250YWlucyB0aGVcbiAgICAgKiBmaXJzdCBlbGVtZW50cyBvZiB0aGUgZ2l2ZW4gYXJyYXlzLCB0aGUgc2Vjb25kIG9mIHdoaWNoIGNvbnRhaW5zIHRoZVxuICAgICAqIHNlY29uZCBlbGVtZW50cyBvZiB0aGUgZ2l2ZW4gYXJyYXlzLCBhbmQgc28gb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZ3JvdXBlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy56aXAoWydhJywgJ2InXSwgWzEsIDJdLCBbdHJ1ZSwgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBbWydhJywgMSwgdHJ1ZV0sIFsnYicsIDIsIGZhbHNlXV1cbiAgICAgKi9cbiAgICB2YXIgemlwID0gYmFzZVJlc3QodW56aXApO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mcm9tUGFpcnNgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgdHdvIGFycmF5cyxcbiAgICAgKiBvbmUgb2YgcHJvcGVydHkgaWRlbnRpZmllcnMgYW5kIG9uZSBvZiBjb3JyZXNwb25kaW5nIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjQuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwcm9wcz1bXV0gVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFt2YWx1ZXM9W11dIFRoZSBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy56aXBPYmplY3QoWydhJywgJ2InXSwgWzEsIDJdKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB6aXBPYmplY3QocHJvcHMsIHZhbHVlcykge1xuICAgICAgcmV0dXJuIGJhc2VaaXBPYmplY3QocHJvcHMgfHwgW10sIHZhbHVlcyB8fCBbXSwgYXNzaWduVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uemlwT2JqZWN0YCBleGNlcHQgdGhhdCBpdCBzdXBwb3J0cyBwcm9wZXJ0eSBwYXRocy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwcm9wcz1bXV0gVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFt2YWx1ZXM9W11dIFRoZSBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy56aXBPYmplY3REZWVwKFsnYS5iWzBdLmMnLCAnYS5iWzFdLmQnXSwgWzEsIDJdKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogeyAnYic6IFt7ICdjJzogMSB9LCB7ICdkJzogMiB9XSB9IH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB6aXBPYmplY3REZWVwKHByb3BzLCB2YWx1ZXMpIHtcbiAgICAgIHJldHVybiBiYXNlWmlwT2JqZWN0KHByb3BzIHx8IFtdLCB2YWx1ZXMgfHwgW10sIGJhc2VTZXQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uemlwYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgdG8gc3BlY2lmeVxuICAgICAqIGhvdyBncm91cGVkIHZhbHVlcyBzaG91bGQgYmUgY29tYmluZWQuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhlXG4gICAgICogZWxlbWVudHMgb2YgZWFjaCBncm91cDogKC4uLmdyb3VwKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjguMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIHRvIGNvbWJpbmVcbiAgICAgKiAgZ3JvdXBlZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZ3JvdXBlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy56aXBXaXRoKFsxLCAyXSwgWzEwLCAyMF0sIFsxMDAsIDIwMF0sIGZ1bmN0aW9uKGEsIGIsIGMpIHtcbiAgICAgKiAgIHJldHVybiBhICsgYiArIGM7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gWzExMSwgMjIyXVxuICAgICAqL1xuICAgIHZhciB6aXBXaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXlzLmxlbmd0aCxcbiAgICAgICAgICBpdGVyYXRlZSA9IGxlbmd0aCA+IDEgPyBhcnJheXNbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG5cbiAgICAgIGl0ZXJhdGVlID0gdHlwZW9mIGl0ZXJhdGVlID09ICdmdW5jdGlvbicgPyAoYXJyYXlzLnBvcCgpLCBpdGVyYXRlZSkgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gdW56aXBXaXRoKGFycmF5cywgaXRlcmF0ZWUpO1xuICAgIH0pO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UgdGhhdCB3cmFwcyBgdmFsdWVgIHdpdGggZXhwbGljaXQgbWV0aG9kXG4gICAgICogY2hhaW4gc2VxdWVuY2VzIGVuYWJsZWQuIFRoZSByZXN1bHQgb2Ygc3VjaCBzZXF1ZW5jZXMgbXVzdCBiZSB1bndyYXBwZWRcbiAgICAgKiB3aXRoIGBfI3ZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjMuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byB3cmFwLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWdlJzogMzYgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhZ2UnOiA0MCB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FnZSc6IDEgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiB2YXIgeW91bmdlc3QgPSBfXG4gICAgICogICAuY2hhaW4odXNlcnMpXG4gICAgICogICAuc29ydEJ5KCdhZ2UnKVxuICAgICAqICAgLm1hcChmdW5jdGlvbihvKSB7XG4gICAgICogICAgIHJldHVybiBvLnVzZXIgKyAnIGlzICcgKyBvLmFnZTtcbiAgICAgKiAgIH0pXG4gICAgICogICAuaGVhZCgpXG4gICAgICogICAudmFsdWUoKTtcbiAgICAgKiAvLyA9PiAncGViYmxlcyBpcyAxJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNoYWluKHZhbHVlKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbG9kYXNoKHZhbHVlKTtcbiAgICAgIHJlc3VsdC5fX2NoYWluX18gPSB0cnVlO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpbnZva2VzIGBpbnRlcmNlcHRvcmAgYW5kIHJldHVybnMgYHZhbHVlYC4gVGhlIGludGVyY2VwdG9yXG4gICAgICogaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDsgKHZhbHVlKS4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG9cbiAgICAgKiBcInRhcCBpbnRvXCIgYSBtZXRob2QgY2hhaW4gc2VxdWVuY2UgaW4gb3JkZXIgdG8gbW9kaWZ5IGludGVybWVkaWF0ZSByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb3ZpZGUgdG8gYGludGVyY2VwdG9yYC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpbnRlcmNlcHRvciBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIGB2YWx1ZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8oWzEsIDIsIDNdKVxuICAgICAqICAudGFwKGZ1bmN0aW9uKGFycmF5KSB7XG4gICAgICogICAgLy8gTXV0YXRlIGlucHV0IGFycmF5LlxuICAgICAqICAgIGFycmF5LnBvcCgpO1xuICAgICAqICB9KVxuICAgICAqICAucmV2ZXJzZSgpXG4gICAgICogIC52YWx1ZSgpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRhcCh2YWx1ZSwgaW50ZXJjZXB0b3IpIHtcbiAgICAgIGludGVyY2VwdG9yKHZhbHVlKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnRhcGAgZXhjZXB0IHRoYXQgaXQgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGBpbnRlcmNlcHRvcmAuXG4gICAgICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8gXCJwYXNzIHRocnVcIiB2YWx1ZXMgcmVwbGFjaW5nIGludGVybWVkaWF0ZVxuICAgICAqIHJlc3VsdHMgaW4gYSBtZXRob2QgY2hhaW4gc2VxdWVuY2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcHJvdmlkZSB0byBgaW50ZXJjZXB0b3JgLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGludGVyY2VwdG9yIFRoZSBmdW5jdGlvbiB0byBpbnZva2UuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiBgaW50ZXJjZXB0b3JgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfKCcgIGFiYyAgJylcbiAgICAgKiAgLmNoYWluKClcbiAgICAgKiAgLnRyaW0oKVxuICAgICAqICAudGhydShmdW5jdGlvbih2YWx1ZSkge1xuICAgICAqICAgIHJldHVybiBbdmFsdWVdO1xuICAgICAqICB9KVxuICAgICAqICAudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbJ2FiYyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGhydSh2YWx1ZSwgaW50ZXJjZXB0b3IpIHtcbiAgICAgIHJldHVybiBpbnRlcmNlcHRvcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgdGhlIHdyYXBwZXIgdmVyc2lvbiBvZiBgXy5hdGAuXG4gICAgICpcbiAgICAgKiBAbmFtZSBhdFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMC4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEBwYXJhbSB7Li4uKHN0cmluZ3xzdHJpbmdbXSl9IFtwYXRoc10gVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogMyB9IH0sIDRdIH07XG4gICAgICpcbiAgICAgKiBfKG9iamVjdCkuYXQoWydhWzBdLmIuYycsICdhWzFdJ10pLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWzMsIDRdXG4gICAgICovXG4gICAgdmFyIHdyYXBwZXJBdCA9IGZsYXRSZXN0KGZ1bmN0aW9uKHBhdGhzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gcGF0aHMubGVuZ3RoLFxuICAgICAgICAgIHN0YXJ0ID0gbGVuZ3RoID8gcGF0aHNbMF0gOiAwLFxuICAgICAgICAgIHZhbHVlID0gdGhpcy5fX3dyYXBwZWRfXyxcbiAgICAgICAgICBpbnRlcmNlcHRvciA9IGZ1bmN0aW9uKG9iamVjdCkgeyByZXR1cm4gYmFzZUF0KG9iamVjdCwgcGF0aHMpOyB9O1xuXG4gICAgICBpZiAobGVuZ3RoID4gMSB8fCB0aGlzLl9fYWN0aW9uc19fLmxlbmd0aCB8fFxuICAgICAgICAgICEodmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikgfHwgIWlzSW5kZXgoc3RhcnQpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRocnUoaW50ZXJjZXB0b3IpO1xuICAgICAgfVxuICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZShzdGFydCwgK3N0YXJ0ICsgKGxlbmd0aCA/IDEgOiAwKSk7XG4gICAgICB2YWx1ZS5fX2FjdGlvbnNfXy5wdXNoKHtcbiAgICAgICAgJ2Z1bmMnOiB0aHJ1LFxuICAgICAgICAnYXJncyc6IFtpbnRlcmNlcHRvcl0sXG4gICAgICAgICd0aGlzQXJnJzogdW5kZWZpbmVkXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBuZXcgTG9kYXNoV3JhcHBlcih2YWx1ZSwgdGhpcy5fX2NoYWluX18pLnRocnUoZnVuY3Rpb24oYXJyYXkpIHtcbiAgICAgICAgaWYgKGxlbmd0aCAmJiAhYXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgYXJyYXkucHVzaCh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2Ugd2l0aCBleHBsaWNpdCBtZXRob2QgY2hhaW4gc2VxdWVuY2VzIGVuYWJsZWQuXG4gICAgICpcbiAgICAgKiBAbmFtZSBjaGFpblxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiAvLyBBIHNlcXVlbmNlIHdpdGhvdXQgZXhwbGljaXQgY2hhaW5pbmcuXG4gICAgICogXyh1c2VycykuaGVhZCgpO1xuICAgICAqIC8vID0+IHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2IH1cbiAgICAgKlxuICAgICAqIC8vIEEgc2VxdWVuY2Ugd2l0aCBleHBsaWNpdCBjaGFpbmluZy5cbiAgICAgKiBfKHVzZXJzKVxuICAgICAqICAgLmNoYWluKClcbiAgICAgKiAgIC5oZWFkKClcbiAgICAgKiAgIC5waWNrKCd1c2VyJylcbiAgICAgKiAgIC52YWx1ZSgpO1xuICAgICAqIC8vID0+IHsgJ3VzZXInOiAnYmFybmV5JyB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlckNoYWluKCkge1xuICAgICAgcmV0dXJuIGNoYWluKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHRoZSBjaGFpbiBzZXF1ZW5jZSBhbmQgcmV0dXJucyB0aGUgd3JhcHBlZCByZXN1bHQuXG4gICAgICpcbiAgICAgKiBAbmFtZSBjb21taXRcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjIuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDJdO1xuICAgICAqIHZhciB3cmFwcGVkID0gXyhhcnJheSkucHVzaCgzKTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIHdyYXBwZWQgPSB3cmFwcGVkLmNvbW1pdCgpO1xuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIHdyYXBwZWQubGFzdCgpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyQ29tbWl0KCkge1xuICAgICAgcmV0dXJuIG5ldyBMb2Rhc2hXcmFwcGVyKHRoaXMudmFsdWUoKSwgdGhpcy5fX2NoYWluX18pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5leHQgdmFsdWUgb24gYSB3cmFwcGVkIG9iamVjdCBmb2xsb3dpbmcgdGhlXG4gICAgICogW2l0ZXJhdG9yIHByb3RvY29sXShodHRwczovL21kbi5pby9pdGVyYXRpb25fcHJvdG9jb2xzI2l0ZXJhdG9yKS5cbiAgICAgKlxuICAgICAqIEBuYW1lIG5leHRcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXh0IGl0ZXJhdG9yIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgd3JhcHBlZCA9IF8oWzEsIDJdKTtcbiAgICAgKlxuICAgICAqIHdyYXBwZWQubmV4dCgpO1xuICAgICAqIC8vID0+IHsgJ2RvbmUnOiBmYWxzZSwgJ3ZhbHVlJzogMSB9XG4gICAgICpcbiAgICAgKiB3cmFwcGVkLm5leHQoKTtcbiAgICAgKiAvLyA9PiB7ICdkb25lJzogZmFsc2UsICd2YWx1ZSc6IDIgfVxuICAgICAqXG4gICAgICogd3JhcHBlZC5uZXh0KCk7XG4gICAgICogLy8gPT4geyAnZG9uZSc6IHRydWUsICd2YWx1ZSc6IHVuZGVmaW5lZCB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlck5leHQoKSB7XG4gICAgICBpZiAodGhpcy5fX3ZhbHVlc19fID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fX3ZhbHVlc19fID0gdG9BcnJheSh0aGlzLnZhbHVlKCkpO1xuICAgICAgfVxuICAgICAgdmFyIGRvbmUgPSB0aGlzLl9faW5kZXhfXyA+PSB0aGlzLl9fdmFsdWVzX18ubGVuZ3RoLFxuICAgICAgICAgIHZhbHVlID0gZG9uZSA/IHVuZGVmaW5lZCA6IHRoaXMuX192YWx1ZXNfX1t0aGlzLl9faW5kZXhfXysrXTtcblxuICAgICAgcmV0dXJuIHsgJ2RvbmUnOiBkb25lLCAndmFsdWUnOiB2YWx1ZSB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuYWJsZXMgdGhlIHdyYXBwZXIgdG8gYmUgaXRlcmFibGUuXG4gICAgICpcbiAgICAgKiBAbmFtZSBTeW1ib2wuaXRlcmF0b3JcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSB3cmFwcGVyIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHdyYXBwZWQgPSBfKFsxLCAyXSk7XG4gICAgICpcbiAgICAgKiB3cmFwcGVkW1N5bWJvbC5pdGVyYXRvcl0oKSA9PT0gd3JhcHBlZDtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBBcnJheS5mcm9tKHdyYXBwZWQpO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJUb0l0ZXJhdG9yKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIHRoZSBjaGFpbiBzZXF1ZW5jZSBwbGFudGluZyBgdmFsdWVgIGFzIHRoZSB3cmFwcGVkIHZhbHVlLlxuICAgICAqXG4gICAgICogQG5hbWUgcGxhbnRcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjIuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwbGFudC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgd3JhcHBlZCA9IF8oWzEsIDJdKS5tYXAoc3F1YXJlKTtcbiAgICAgKiB2YXIgb3RoZXIgPSB3cmFwcGVkLnBsYW50KFszLCA0XSk7XG4gICAgICpcbiAgICAgKiBvdGhlci52YWx1ZSgpO1xuICAgICAqIC8vID0+IFs5LCAxNl1cbiAgICAgKlxuICAgICAqIHdyYXBwZWQudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbMSwgNF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyUGxhbnQodmFsdWUpIHtcbiAgICAgIHZhciByZXN1bHQsXG4gICAgICAgICAgcGFyZW50ID0gdGhpcztcblxuICAgICAgd2hpbGUgKHBhcmVudCBpbnN0YW5jZW9mIGJhc2VMb2Rhc2gpIHtcbiAgICAgICAgdmFyIGNsb25lID0gd3JhcHBlckNsb25lKHBhcmVudCk7XG4gICAgICAgIGNsb25lLl9faW5kZXhfXyA9IDA7XG4gICAgICAgIGNsb25lLl9fdmFsdWVzX18gPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICBwcmV2aW91cy5fX3dyYXBwZWRfXyA9IGNsb25lO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IGNsb25lO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwcmV2aW91cyA9IGNsb25lO1xuICAgICAgICBwYXJlbnQgPSBwYXJlbnQuX193cmFwcGVkX187XG4gICAgICB9XG4gICAgICBwcmV2aW91cy5fX3dyYXBwZWRfXyA9IHZhbHVlO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB0aGUgd3JhcHBlciB2ZXJzaW9uIG9mIGBfLnJldmVyc2VgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgdGhlIHdyYXBwZWQgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAbmFtZSByZXZlcnNlXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxLCAyLCAzXTtcbiAgICAgKlxuICAgICAqIF8oYXJyYXkpLnJldmVyc2UoKS52YWx1ZSgpXG4gICAgICogLy8gPT4gWzMsIDIsIDFdXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWzMsIDIsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlclJldmVyc2UoKSB7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLl9fd3JhcHBlZF9fO1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpIHtcbiAgICAgICAgdmFyIHdyYXBwZWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX19hY3Rpb25zX18ubGVuZ3RoKSB7XG4gICAgICAgICAgd3JhcHBlZCA9IG5ldyBMYXp5V3JhcHBlcih0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICB3cmFwcGVkID0gd3JhcHBlZC5yZXZlcnNlKCk7XG4gICAgICAgIHdyYXBwZWQuX19hY3Rpb25zX18ucHVzaCh7XG4gICAgICAgICAgJ2Z1bmMnOiB0aHJ1LFxuICAgICAgICAgICdhcmdzJzogW3JldmVyc2VdLFxuICAgICAgICAgICd0aGlzQXJnJzogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIod3JhcHBlZCwgdGhpcy5fX2NoYWluX18pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMudGhydShyZXZlcnNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyB0aGUgY2hhaW4gc2VxdWVuY2UgdG8gcmVzb2x2ZSB0aGUgdW53cmFwcGVkIHZhbHVlLlxuICAgICAqXG4gICAgICogQG5hbWUgdmFsdWVcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBhbGlhcyB0b0pTT04sIHZhbHVlT2ZcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXyhbMSwgMiwgM10pLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlclZhbHVlKCkge1xuICAgICAgcmV0dXJuIGJhc2VXcmFwcGVyVmFsdWUodGhpcy5fX3dyYXBwZWRfXywgdGhpcy5fX2FjdGlvbnNfXyk7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2Yga2V5cyBnZW5lcmF0ZWQgZnJvbSB0aGUgcmVzdWx0cyBvZiBydW5uaW5nXG4gICAgICogZWFjaCBlbGVtZW50IG9mIGBjb2xsZWN0aW9uYCB0aHJ1IGBpdGVyYXRlZWAuIFRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIG9mXG4gICAgICogZWFjaCBrZXkgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUga2V5IHdhcyByZXR1cm5lZCBieSBgaXRlcmF0ZWVgLiBUaGVcbiAgICAgKiBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSB0byB0cmFuc2Zvcm0ga2V5cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjb21wb3NlZCBhZ2dyZWdhdGUgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNvdW50QnkoWzYuMSwgNC4yLCA2LjNdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiB7ICc0JzogMSwgJzYnOiAyIH1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uY291bnRCeShbJ29uZScsICd0d28nLCAndGhyZWUnXSwgJ2xlbmd0aCcpO1xuICAgICAqIC8vID0+IHsgJzMnOiAyLCAnNSc6IDEgfVxuICAgICAqL1xuICAgIHZhciBjb3VudEJ5ID0gY3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHJlc3VsdCwga2V5KSkge1xuICAgICAgICArK3Jlc3VsdFtrZXldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCAxKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IgKiphbGwqKiBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAuXG4gICAgICogSXRlcmF0aW9uIGlzIHN0b3BwZWQgb25jZSBgcHJlZGljYXRlYCByZXR1cm5zIGZhbHNleS4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCByZXR1cm5zIGB0cnVlYCBmb3JcbiAgICAgKiBbZW1wdHkgY29sbGVjdGlvbnNdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0VtcHR5X3NldCkgYmVjYXVzZVxuICAgICAqIFtldmVyeXRoaW5nIGlzIHRydWVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZhY3VvdXNfdHJ1dGgpIG9mXG4gICAgICogZWxlbWVudHMgb2YgZW1wdHkgY29sbGVjdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYWxsIGVsZW1lbnRzIHBhc3MgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmV2ZXJ5KFt0cnVlLCAxLCBudWxsLCAneWVzJ10sIEJvb2xlYW4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmV2ZXJ5KHVzZXJzLCB7ICd1c2VyJzogJ2Jhcm5leScsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZXZlcnkodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmV2ZXJ5KHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBldmVyeShjb2xsZWN0aW9uLCBwcmVkaWNhdGUsIGd1YXJkKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUV2ZXJ5IDogYmFzZUV2ZXJ5O1xuICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZ3VhcmQpKSB7XG4gICAgICAgIHByZWRpY2F0ZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2YgYGNvbGxlY3Rpb25gLCByZXR1cm5pbmcgYW4gYXJyYXkgb2YgYWxsIGVsZW1lbnRzXG4gICAgICogYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0aHJlZVxuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5yZW1vdmVgLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZpbHRlcmVkIGFycmF5LlxuICAgICAqIEBzZWUgXy5yZWplY3RcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYsICdhY3RpdmUnOiB0cnVlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5maWx0ZXIodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuICFvLmFjdGl2ZTsgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsIHsgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leSddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leSddXG4gICAgICpcbiAgICAgKiAvLyBDb21iaW5pbmcgc2V2ZXJhbCBwcmVkaWNhdGVzIHVzaW5nIGBfLm92ZXJFdmVyeWAgb3IgYF8ub3ZlclNvbWVgLlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCBfLm92ZXJTb21lKFt7ICdhZ2UnOiAzNiB9LCBbJ2FnZScsIDQwXV0pKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnLCAnYmFybmV5J11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaWx0ZXIoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUZpbHRlciA6IGJhc2VGaWx0ZXI7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mIGBjb2xsZWN0aW9uYCwgcmV0dXJuaW5nIHRoZSBmaXJzdCBlbGVtZW50XG4gICAgICogYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0aHJlZVxuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD0wXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hdGNoZWQgZWxlbWVudCwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbmQodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlIDwgNDA7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdCBmb3IgJ2Jhcm5leSdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kKHVzZXJzLCB7ICdhZ2UnOiAxLCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3QgZm9yICdwZWJibGVzJ1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZCh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdCBmb3IgJ2ZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmQodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBvYmplY3QgZm9yICdiYXJuZXknXG4gICAgICovXG4gICAgdmFyIGZpbmQgPSBjcmVhdGVGaW5kKGZpbmRJbmRleCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZpbmRgIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2ZcbiAgICAgKiBgY29sbGVjdGlvbmAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD1jb2xsZWN0aW9uLmxlbmd0aC0xXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hdGNoZWQgZWxlbWVudCwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5maW5kTGFzdChbMSwgMiwgMywgNF0sIGZ1bmN0aW9uKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICUgMiA9PSAxO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IDNcbiAgICAgKi9cbiAgICB2YXIgZmluZExhc3QgPSBjcmVhdGVGaW5kKGZpbmRMYXN0SW5kZXgpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZsYXR0ZW5lZCBhcnJheSBvZiB2YWx1ZXMgYnkgcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gXG4gICAgICogdGhydSBgaXRlcmF0ZWVgIGFuZCBmbGF0dGVuaW5nIHRoZSBtYXBwZWQgcmVzdWx0cy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtuLCBuXTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLmZsYXRNYXAoWzEsIDJdLCBkdXBsaWNhdGUpO1xuICAgICAqIC8vID0+IFsxLCAxLCAyLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXRNYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCAxKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZsYXRNYXBgIGV4Y2VwdCB0aGF0IGl0IHJlY3Vyc2l2ZWx5IGZsYXR0ZW5zIHRoZVxuICAgICAqIG1hcHBlZCByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtbW24sIG5dXV07XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5mbGF0TWFwRGVlcChbMSwgMl0sIGR1cGxpY2F0ZSk7XG4gICAgICogLy8gPT4gWzEsIDEsIDIsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdE1hcERlZXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCBJTkZJTklUWSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mbGF0TWFwYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBmbGF0dGVucyB0aGVcbiAgICAgKiBtYXBwZWQgcmVzdWx0cyB1cCB0byBgZGVwdGhgIHRpbWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtkZXB0aD0xXSBUaGUgbWF4aW11bSByZWN1cnNpb24gZGVwdGguXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtbW24sIG5dXV07XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5mbGF0TWFwRGVwdGgoWzEsIDJdLCBkdXBsaWNhdGUsIDIpO1xuICAgICAqIC8vID0+IFtbMSwgMV0sIFsyLCAyXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0TWFwRGVwdGgoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGRlcHRoKSB7XG4gICAgICBkZXB0aCA9IGRlcHRoID09PSB1bmRlZmluZWQgPyAxIDogdG9JbnRlZ2VyKGRlcHRoKTtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCBkZXB0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAgYW5kIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgZWFjaCBlbGVtZW50LlxuICAgICAqIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIEFzIHdpdGggb3RoZXIgXCJDb2xsZWN0aW9uc1wiIG1ldGhvZHMsIG9iamVjdHMgd2l0aCBhIFwibGVuZ3RoXCJcbiAgICAgKiBwcm9wZXJ0eSBhcmUgaXRlcmF0ZWQgbGlrZSBhcnJheXMuIFRvIGF2b2lkIHRoaXMgYmVoYXZpb3IgdXNlIGBfLmZvckluYFxuICAgICAqIG9yIGBfLmZvck93bmAgZm9yIG9iamVjdCBpdGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAYWxpYXMgZWFjaFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqIEBzZWUgXy5mb3JFYWNoUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mb3JFYWNoKFsxLCAyXSwgZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHZhbHVlKTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiBMb2dzIGAxYCB0aGVuIGAyYC5cbiAgICAgKlxuICAgICAqIF8uZm9yRWFjaCh7ICdhJzogMSwgJ2InOiAyIH0sIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGtleSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gTG9ncyAnYScgdGhlbiAnYicgKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZCkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZm9yRWFjaChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlFYWNoIDogYmFzZUVhY2g7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZm9yRWFjaGAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGBjb2xsZWN0aW9uYCBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAYWxpYXMgZWFjaFJpZ2h0XG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fE9iamVjdH0gUmV0dXJucyBgY29sbGVjdGlvbmAuXG4gICAgICogQHNlZSBfLmZvckVhY2hcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mb3JFYWNoUmlnaHQoWzEsIDJdLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAqICAgY29uc29sZS5sb2codmFsdWUpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgYDJgIHRoZW4gYDFgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvckVhY2hSaWdodChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlFYWNoUmlnaHQgOiBiYXNlRWFjaFJpZ2h0O1xuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCBjb21wb3NlZCBvZiBrZXlzIGdlbmVyYXRlZCBmcm9tIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmdcbiAgICAgKiBlYWNoIGVsZW1lbnQgb2YgYGNvbGxlY3Rpb25gIHRocnUgYGl0ZXJhdGVlYC4gVGhlIG9yZGVyIG9mIGdyb3VwZWQgdmFsdWVzXG4gICAgICogaXMgZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgdGhleSBvY2N1ciBpbiBgY29sbGVjdGlvbmAuIFRoZSBjb3JyZXNwb25kaW5nXG4gICAgICogdmFsdWUgb2YgZWFjaCBrZXkgaXMgYW4gYXJyYXkgb2YgZWxlbWVudHMgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlXG4gICAgICoga2V5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY29tcG9zZWQgYWdncmVnYXRlIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ncm91cEJ5KFs2LjEsIDQuMiwgNi4zXSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4geyAnNCc6IFs0LjJdLCAnNic6IFs2LjEsIDYuM10gfVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5ncm91cEJ5KFsnb25lJywgJ3R3bycsICd0aHJlZSddLCAnbGVuZ3RoJyk7XG4gICAgICogLy8gPT4geyAnMyc6IFsnb25lJywgJ3R3byddLCAnNSc6IFsndGhyZWUnXSB9XG4gICAgICovXG4gICAgdmFyIGdyb3VwQnkgPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldLnB1c2godmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCBbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGluIGBjb2xsZWN0aW9uYC4gSWYgYGNvbGxlY3Rpb25gIGlzIGEgc3RyaW5nLCBpdCdzXG4gICAgICogY2hlY2tlZCBmb3IgYSBzdWJzdHJpbmcgb2YgYHZhbHVlYCwgb3RoZXJ3aXNlXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBpcyB1c2VkIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy4gSWYgYGZyb21JbmRleGAgaXMgbmVnYXRpdmUsIGl0J3MgdXNlZCBhc1xuICAgICAqIHRoZSBvZmZzZXQgZnJvbSB0aGUgZW5kIG9mIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R8c3RyaW5nfSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD0wXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ucmVkdWNlYC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBmb3VuZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmluY2x1ZGVzKFsxLCAyLCAzXSwgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pbmNsdWRlcyhbMSwgMiwgM10sIDEsIDIpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmluY2x1ZGVzKHsgJ2EnOiAxLCAnYic6IDIgfSwgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pbmNsdWRlcygnYWJjZCcsICdiYycpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbmNsdWRlcyhjb2xsZWN0aW9uLCB2YWx1ZSwgZnJvbUluZGV4LCBndWFyZCkge1xuICAgICAgY29sbGVjdGlvbiA9IGlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pID8gY29sbGVjdGlvbiA6IHZhbHVlcyhjb2xsZWN0aW9uKTtcbiAgICAgIGZyb21JbmRleCA9IChmcm9tSW5kZXggJiYgIWd1YXJkKSA/IHRvSW50ZWdlcihmcm9tSW5kZXgpIDogMDtcblxuICAgICAgdmFyIGxlbmd0aCA9IGNvbGxlY3Rpb24ubGVuZ3RoO1xuICAgICAgaWYgKGZyb21JbmRleCA8IDApIHtcbiAgICAgICAgZnJvbUluZGV4ID0gbmF0aXZlTWF4KGxlbmd0aCArIGZyb21JbmRleCwgMCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbilcbiAgICAgICAgPyAoZnJvbUluZGV4IDw9IGxlbmd0aCAmJiBjb2xsZWN0aW9uLmluZGV4T2YodmFsdWUsIGZyb21JbmRleCkgPiAtMSlcbiAgICAgICAgOiAoISFsZW5ndGggJiYgYmFzZUluZGV4T2YoY29sbGVjdGlvbiwgdmFsdWUsIGZyb21JbmRleCkgPiAtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgbWV0aG9kIGF0IGBwYXRoYCBvZiBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gLCByZXR1cm5pbmdcbiAgICAgKiBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiBlYWNoIGludm9rZWQgbWV0aG9kLiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHNcbiAgICAgKiBhcmUgcHJvdmlkZWQgdG8gZWFjaCBpbnZva2VkIG1ldGhvZC4gSWYgYHBhdGhgIGlzIGEgZnVuY3Rpb24sIGl0J3MgaW52b2tlZFxuICAgICAqIGZvciwgYW5kIGB0aGlzYCBib3VuZCB0bywgZWFjaCBlbGVtZW50IGluIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7QXJyYXl8RnVuY3Rpb258c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBtZXRob2QgdG8gaW52b2tlIG9yXG4gICAgICogIHRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgZWFjaCBtZXRob2Qgd2l0aC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW52b2tlTWFwKFtbNSwgMSwgN10sIFszLCAyLCAxXV0sICdzb3J0Jyk7XG4gICAgICogLy8gPT4gW1sxLCA1LCA3XSwgWzEsIDIsIDNdXVxuICAgICAqXG4gICAgICogXy5pbnZva2VNYXAoWzEyMywgNDU2XSwgU3RyaW5nLnByb3RvdHlwZS5zcGxpdCwgJycpO1xuICAgICAqIC8vID0+IFtbJzEnLCAnMicsICczJ10sIFsnNCcsICc1JywgJzYnXV1cbiAgICAgKi9cbiAgICB2YXIgaW52b2tlTWFwID0gYmFzZVJlc3QoZnVuY3Rpb24oY29sbGVjdGlvbiwgcGF0aCwgYXJncykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgaXNGdW5jID0gdHlwZW9mIHBhdGggPT0gJ2Z1bmN0aW9uJyxcbiAgICAgICAgICByZXN1bHQgPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IEFycmF5KGNvbGxlY3Rpb24ubGVuZ3RoKSA6IFtdO1xuXG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICByZXN1bHRbKytpbmRleF0gPSBpc0Z1bmMgPyBhcHBseShwYXRoLCB2YWx1ZSwgYXJncykgOiBiYXNlSW52b2tlKHZhbHVlLCBwYXRoLCBhcmdzKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIGtleXMgZ2VuZXJhdGVkIGZyb20gdGhlIHJlc3VsdHMgb2YgcnVubmluZ1xuICAgICAqIGVhY2ggZWxlbWVudCBvZiBgY29sbGVjdGlvbmAgdGhydSBgaXRlcmF0ZWVgLiBUaGUgY29ycmVzcG9uZGluZyB2YWx1ZSBvZlxuICAgICAqIGVhY2gga2V5IGlzIHRoZSBsYXN0IGVsZW1lbnQgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlIGtleS4gVGhlXG4gICAgICogaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY29tcG9zZWQgYWdncmVnYXRlIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gW1xuICAgICAqICAgeyAnZGlyJzogJ2xlZnQnLCAnY29kZSc6IDk3IH0sXG4gICAgICogICB7ICdkaXInOiAncmlnaHQnLCAnY29kZSc6IDEwMCB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8ua2V5QnkoYXJyYXksIGZ1bmN0aW9uKG8pIHtcbiAgICAgKiAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG8uY29kZSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnYSc6IHsgJ2Rpcic6ICdsZWZ0JywgJ2NvZGUnOiA5NyB9LCAnZCc6IHsgJ2Rpcic6ICdyaWdodCcsICdjb2RlJzogMTAwIH0gfVxuICAgICAqXG4gICAgICogXy5rZXlCeShhcnJheSwgJ2RpcicpO1xuICAgICAqIC8vID0+IHsgJ2xlZnQnOiB7ICdkaXInOiAnbGVmdCcsICdjb2RlJzogOTcgfSwgJ3JpZ2h0JzogeyAnZGlyJzogJ3JpZ2h0JywgJ2NvZGUnOiAxMDAgfSB9XG4gICAgICovXG4gICAgdmFyIGtleUJ5ID0gY3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsIGtleSwgdmFsdWUpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB2YWx1ZXMgYnkgcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gIHRocnVcbiAgICAgKiBgaXRlcmF0ZWVgLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czpcbiAgICAgKiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICpcbiAgICAgKiBNYW55IGxvZGFzaCBtZXRob2RzIGFyZSBndWFyZGVkIHRvIHdvcmsgYXMgaXRlcmF0ZWVzIGZvciBtZXRob2RzIGxpa2VcbiAgICAgKiBgXy5ldmVyeWAsIGBfLmZpbHRlcmAsIGBfLm1hcGAsIGBfLm1hcFZhbHVlc2AsIGBfLnJlamVjdGAsIGFuZCBgXy5zb21lYC5cbiAgICAgKlxuICAgICAqIFRoZSBndWFyZGVkIG1ldGhvZHMgYXJlOlxuICAgICAqIGBhcnlgLCBgY2h1bmtgLCBgY3VycnlgLCBgY3VycnlSaWdodGAsIGBkcm9wYCwgYGRyb3BSaWdodGAsIGBldmVyeWAsXG4gICAgICogYGZpbGxgLCBgaW52ZXJ0YCwgYHBhcnNlSW50YCwgYHJhbmRvbWAsIGByYW5nZWAsIGByYW5nZVJpZ2h0YCwgYHJlcGVhdGAsXG4gICAgICogYHNhbXBsZVNpemVgLCBgc2xpY2VgLCBgc29tZWAsIGBzb3J0QnlgLCBgc3BsaXRgLCBgdGFrZWAsIGB0YWtlUmlnaHRgLFxuICAgICAqIGB0ZW1wbGF0ZWAsIGB0cmltYCwgYHRyaW1FbmRgLCBgdHJpbVN0YXJ0YCwgYW5kIGB3b3Jkc2BcbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLm1hcChbNCwgOF0sIHNxdWFyZSk7XG4gICAgICogLy8gPT4gWzE2LCA2NF1cbiAgICAgKlxuICAgICAqIF8ubWFwKHsgJ2EnOiA0LCAnYic6IDggfSwgc3F1YXJlKTtcbiAgICAgKiAvLyA9PiBbMTYsIDY0XSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5tYXAodXNlcnMsICd1c2VyJyk7XG4gICAgICogLy8gPT4gWydiYXJuZXknLCAnZnJlZCddXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheU1hcCA6IGJhc2VNYXA7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc29ydEJ5YCBleGNlcHQgdGhhdCBpdCBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgc29ydFxuICAgICAqIG9yZGVycyBvZiB0aGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuIElmIGBvcmRlcnNgIGlzIHVuc3BlY2lmaWVkLCBhbGwgdmFsdWVzXG4gICAgICogYXJlIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIuIE90aGVyd2lzZSwgc3BlY2lmeSBhbiBvcmRlciBvZiBcImRlc2NcIiBmb3JcbiAgICAgKiBkZXNjZW5kaW5nIG9yIFwiYXNjXCIgZm9yIGFzY2VuZGluZyBzb3J0IG9yZGVyIG9mIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtBcnJheVtdfEZ1bmN0aW9uW118T2JqZWN0W118c3RyaW5nW119IFtpdGVyYXRlZXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gW29yZGVyc10gVGhlIHNvcnQgb3JkZXJzIG9mIGBpdGVyYXRlZXNgLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLnJlZHVjZWAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgc29ydGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0OCB9LFxuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzQgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIC8vIFNvcnQgYnkgYHVzZXJgIGluIGFzY2VuZGluZyBvcmRlciBhbmQgYnkgYGFnZWAgaW4gZGVzY2VuZGluZyBvcmRlci5cbiAgICAgKiBfLm9yZGVyQnkodXNlcnMsIFsndXNlcicsICdhZ2UnXSwgWydhc2MnLCAnZGVzYyddKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbWydiYXJuZXknLCAzNl0sIFsnYmFybmV5JywgMzRdLCBbJ2ZyZWQnLCA0OF0sIFsnZnJlZCcsIDQwXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzLCBndWFyZCkge1xuICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAoIWlzQXJyYXkoaXRlcmF0ZWVzKSkge1xuICAgICAgICBpdGVyYXRlZXMgPSBpdGVyYXRlZXMgPT0gbnVsbCA/IFtdIDogW2l0ZXJhdGVlc107XG4gICAgICB9XG4gICAgICBvcmRlcnMgPSBndWFyZCA/IHVuZGVmaW5lZCA6IG9yZGVycztcbiAgICAgIGlmICghaXNBcnJheShvcmRlcnMpKSB7XG4gICAgICAgIG9yZGVycyA9IG9yZGVycyA9PSBudWxsID8gW10gOiBbb3JkZXJzXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLCBpdGVyYXRlZXMsIG9yZGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cyBzcGxpdCBpbnRvIHR3byBncm91cHMsIHRoZSBmaXJzdCBvZiB3aGljaFxuICAgICAqIGNvbnRhaW5zIGVsZW1lbnRzIGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5IGZvciwgdGhlIHNlY29uZCBvZiB3aGljaFxuICAgICAqIGNvbnRhaW5zIGVsZW1lbnRzIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5IGZvci4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWdlJzogMzYsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FnZSc6IDEsICAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2ZyZWQnXSwgWydiYXJuZXknLCAncGViYmxlcyddXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgeyAnYWdlJzogMSwgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ3BlYmJsZXMnXSwgWydiYXJuZXknLCAnZnJlZCddXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ucGFydGl0aW9uKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgW1snYmFybmV5JywgJ3BlYmJsZXMnXSwgWydmcmVkJ11dXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2ZyZWQnXSwgWydiYXJuZXknLCAncGViYmxlcyddXVxuICAgICAqL1xuICAgIHZhciBwYXJ0aXRpb24gPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgcmVzdWx0W2tleSA/IDAgOiAxXS5wdXNoKHZhbHVlKTtcbiAgICB9LCBmdW5jdGlvbigpIHsgcmV0dXJuIFtbXSwgW11dOyB9KTtcblxuICAgIC8qKlxuICAgICAqIFJlZHVjZXMgYGNvbGxlY3Rpb25gIHRvIGEgdmFsdWUgd2hpY2ggaXMgdGhlIGFjY3VtdWxhdGVkIHJlc3VsdCBvZiBydW5uaW5nXG4gICAgICogZWFjaCBlbGVtZW50IGluIGBjb2xsZWN0aW9uYCB0aHJ1IGBpdGVyYXRlZWAsIHdoZXJlIGVhY2ggc3VjY2Vzc2l2ZVxuICAgICAqIGludm9jYXRpb24gaXMgc3VwcGxpZWQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgcHJldmlvdXMuIElmIGBhY2N1bXVsYXRvcmBcbiAgICAgKiBpcyBub3QgZ2l2ZW4sIHRoZSBmaXJzdCBlbGVtZW50IG9mIGBjb2xsZWN0aW9uYCBpcyB1c2VkIGFzIHRoZSBpbml0aWFsXG4gICAgICogdmFsdWUuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggZm91ciBhcmd1bWVudHM6XG4gICAgICogKGFjY3VtdWxhdG9yLCB2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqIE1hbnkgbG9kYXNoIG1ldGhvZHMgYXJlIGd1YXJkZWQgdG8gd29yayBhcyBpdGVyYXRlZXMgZm9yIG1ldGhvZHMgbGlrZVxuICAgICAqIGBfLnJlZHVjZWAsIGBfLnJlZHVjZVJpZ2h0YCwgYW5kIGBfLnRyYW5zZm9ybWAuXG4gICAgICpcbiAgICAgKiBUaGUgZ3VhcmRlZCBtZXRob2RzIGFyZTpcbiAgICAgKiBgYXNzaWduYCwgYGRlZmF1bHRzYCwgYGRlZmF1bHRzRGVlcGAsIGBpbmNsdWRlc2AsIGBtZXJnZWAsIGBvcmRlckJ5YCxcbiAgICAgKiBhbmQgYHNvcnRCeWBcbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7Kn0gW2FjY3VtdWxhdG9yXSBUaGUgaW5pdGlhbCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgYWNjdW11bGF0ZWQgdmFsdWUuXG4gICAgICogQHNlZSBfLnJlZHVjZVJpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucmVkdWNlKFsxLCAyXSwgZnVuY3Rpb24oc3VtLCBuKSB7XG4gICAgICogICByZXR1cm4gc3VtICsgbjtcbiAgICAgKiB9LCAwKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiBfLnJlZHVjZSh7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDEgfSwgZnVuY3Rpb24ocmVzdWx0LCB2YWx1ZSwga2V5KSB7XG4gICAgICogICAocmVzdWx0W3ZhbHVlXSB8fCAocmVzdWx0W3ZhbHVlXSA9IFtdKSkucHVzaChrZXkpO1xuICAgICAqICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgKiB9LCB7fSk7XG4gICAgICogLy8gPT4geyAnMSc6IFsnYScsICdjJ10sICcyJzogWydiJ10gfSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlZHVjZShjb2xsZWN0aW9uLCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5UmVkdWNlIDogYmFzZVJlZHVjZSxcbiAgICAgICAgICBpbml0QWNjdW0gPSBhcmd1bWVudHMubGVuZ3RoIDwgMztcblxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDQpLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtLCBiYXNlRWFjaCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5yZWR1Y2VgIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2ZcbiAgICAgKiBgY29sbGVjdGlvbmAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsqfSBbYWNjdW11bGF0b3JdIFRoZSBpbml0aWFsIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICAgKiBAc2VlIF8ucmVkdWNlXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFtbMCwgMV0sIFsyLCAzXSwgWzQsIDVdXTtcbiAgICAgKlxuICAgICAqIF8ucmVkdWNlUmlnaHQoYXJyYXksIGZ1bmN0aW9uKGZsYXR0ZW5lZCwgb3RoZXIpIHtcbiAgICAgKiAgIHJldHVybiBmbGF0dGVuZWQuY29uY2F0KG90aGVyKTtcbiAgICAgKiB9LCBbXSk7XG4gICAgICogLy8gPT4gWzQsIDUsIDIsIDMsIDAsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVkdWNlUmlnaHQoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheVJlZHVjZVJpZ2h0IDogYmFzZVJlZHVjZSxcbiAgICAgICAgICBpbml0QWNjdW0gPSBhcmd1bWVudHMubGVuZ3RoIDwgMztcblxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDQpLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtLCBiYXNlRWFjaFJpZ2h0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8uZmlsdGVyYDsgdGhpcyBtZXRob2QgcmV0dXJucyB0aGUgZWxlbWVudHMgb2YgYGNvbGxlY3Rpb25gXG4gICAgICogdGhhdCBgcHJlZGljYXRlYCBkb2VzICoqbm90KiogcmV0dXJuIHRydXRoeSBmb3IuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmlsdGVyZWQgYXJyYXkuXG4gICAgICogQHNlZSBfLmZpbHRlclxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnJlamVjdCh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgeyAnYWdlJzogNDAsICdhY3RpdmUnOiB0cnVlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZWplY3QoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUZpbHRlciA6IGJhc2VGaWx0ZXI7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSByYW5kb20gZWxlbWVudCBmcm9tIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2FtcGxlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zYW1wbGUoWzEsIDIsIDMsIDRdKTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2FtcGxlKGNvbGxlY3Rpb24pIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5U2FtcGxlIDogYmFzZVNhbXBsZTtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYG5gIHJhbmRvbSBlbGVtZW50cyBhdCB1bmlxdWUga2V5cyBmcm9tIGBjb2xsZWN0aW9uYCB1cCB0byB0aGVcbiAgICAgKiBzaXplIG9mIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2FtcGxlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHNhbXBsZS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNhbXBsZVNpemUoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbMywgMV1cbiAgICAgKlxuICAgICAqIF8uc2FtcGxlU2l6ZShbMSwgMiwgM10sIDQpO1xuICAgICAqIC8vID0+IFsyLCAzLCAxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNhbXBsZVNpemUoY29sbGVjdGlvbiwgbiwgZ3VhcmQpIHtcbiAgICAgIGlmICgoZ3VhcmQgPyBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBuLCBndWFyZCkgOiBuID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIG4gPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIH1cbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5U2FtcGxlU2l6ZSA6IGJhc2VTYW1wbGVTaXplO1xuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBzaHVmZmxlZCB2YWx1ZXMsIHVzaW5nIGEgdmVyc2lvbiBvZiB0aGVcbiAgICAgKiBbRmlzaGVyLVlhdGVzIHNodWZmbGVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Zpc2hlci1ZYXRlc19zaHVmZmxlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2h1ZmZsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzaHVmZmxlZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zaHVmZmxlKFsxLCAyLCAzLCA0XSk7XG4gICAgICogLy8gPT4gWzQsIDEsIDMsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2h1ZmZsZShjb2xsZWN0aW9uKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheVNodWZmbGUgOiBiYXNlU2h1ZmZsZTtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHNpemUgb2YgYGNvbGxlY3Rpb25gIGJ5IHJldHVybmluZyBpdHMgbGVuZ3RoIGZvciBhcnJheS1saWtlXG4gICAgICogdmFsdWVzIG9yIHRoZSBudW1iZXIgb2Ygb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgZm9yIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fHN0cmluZ30gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNvbGxlY3Rpb24gc2l6ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zaXplKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy5zaXplKHsgJ2EnOiAxLCAnYic6IDIgfSk7XG4gICAgICogLy8gPT4gMlxuICAgICAqXG4gICAgICogXy5zaXplKCdwZWJibGVzJyk7XG4gICAgICogLy8gPT4gN1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNpemUoY29sbGVjdGlvbikge1xuICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIGlmIChpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICByZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbikgPyBzdHJpbmdTaXplKGNvbGxlY3Rpb24pIDogY29sbGVjdGlvbi5sZW5ndGg7XG4gICAgICB9XG4gICAgICB2YXIgdGFnID0gZ2V0VGFnKGNvbGxlY3Rpb24pO1xuICAgICAgaWYgKHRhZyA9PSBtYXBUYWcgfHwgdGFnID09IHNldFRhZykge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5zaXplO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VLZXlzKGNvbGxlY3Rpb24pLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yICoqYW55KiogZWxlbWVudCBvZiBgY29sbGVjdGlvbmAuXG4gICAgICogSXRlcmF0aW9uIGlzIHN0b3BwZWQgb25jZSBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeS4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbnkgZWxlbWVudCBwYXNzZXMgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvbWUoW251bGwsIDAsICd5ZXMnLCBmYWxzZV0sIEJvb2xlYW4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnNvbWUodXNlcnMsIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb21lKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb21lKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvbWUoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTb21lIDogYmFzZVNvbWU7XG4gICAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkpIHtcbiAgICAgICAgcHJlZGljYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cywgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlciBieSB0aGUgcmVzdWx0cyBvZlxuICAgICAqIHJ1bm5pbmcgZWFjaCBlbGVtZW50IGluIGEgY29sbGVjdGlvbiB0aHJ1IGVhY2ggaXRlcmF0ZWUuIFRoaXMgbWV0aG9kXG4gICAgICogcGVyZm9ybXMgYSBzdGFibGUgc29ydCwgdGhhdCBpcywgaXQgcHJlc2VydmVzIHRoZSBvcmlnaW5hbCBzb3J0IG9yZGVyIG9mXG4gICAgICogZXF1YWwgZWxlbWVudHMuIFRoZSBpdGVyYXRlZXMgYXJlIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW2l0ZXJhdGVlcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBpdGVyYXRlZXMgdG8gc29ydCBieS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQ4IH0sXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogMzAgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM0IH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5zb3J0QnkodXNlcnMsIFtmdW5jdGlvbihvKSB7IHJldHVybiBvLnVzZXI7IH1dKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbWydiYXJuZXknLCAzNl0sIFsnYmFybmV5JywgMzRdLCBbJ2ZyZWQnLCA0OF0sIFsnZnJlZCcsIDMwXV1cbiAgICAgKlxuICAgICAqIF8uc29ydEJ5KHVzZXJzLCBbJ3VzZXInLCAnYWdlJ10pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2Jhcm5leScsIDM0XSwgWydiYXJuZXknLCAzNl0sIFsnZnJlZCcsIDMwXSwgWydmcmVkJywgNDhdXVxuICAgICAqL1xuICAgIHZhciBzb3J0QnkgPSBiYXNlUmVzdChmdW5jdGlvbihjb2xsZWN0aW9uLCBpdGVyYXRlZXMpIHtcbiAgICAgIGlmIChjb2xsZWN0aW9uID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIGxlbmd0aCA9IGl0ZXJhdGVlcy5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoID4gMSAmJiBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBpdGVyYXRlZXNbMF0sIGl0ZXJhdGVlc1sxXSkpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gW107XG4gICAgICB9IGVsc2UgaWYgKGxlbmd0aCA+IDIgJiYgaXNJdGVyYXRlZUNhbGwoaXRlcmF0ZWVzWzBdLCBpdGVyYXRlZXNbMV0sIGl0ZXJhdGVlc1syXSkpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gW2l0ZXJhdGVlc1swXV07XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgYmFzZUZsYXR0ZW4oaXRlcmF0ZWVzLCAxKSwgW10pO1xuICAgIH0pO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdGltZXN0YW1wIG9mIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRoYXQgaGF2ZSBlbGFwc2VkIHNpbmNlXG4gICAgICogdGhlIFVuaXggZXBvY2ggKDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi40LjBcbiAgICAgKiBAY2F0ZWdvcnkgRGF0ZVxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVzdGFtcC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWZlcihmdW5jdGlvbihzdGFtcCkge1xuICAgICAqICAgY29uc29sZS5sb2coXy5ub3coKSAtIHN0YW1wKTtcbiAgICAgKiB9LCBfLm5vdygpKTtcbiAgICAgKiAvLyA9PiBMb2dzIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGl0IHRvb2sgZm9yIHRoZSBkZWZlcnJlZCBpbnZvY2F0aW9uLlxuICAgICAqL1xuICAgIHZhciBub3cgPSBjdHhOb3cgfHwgZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gcm9vdC5EYXRlLm5vdygpO1xuICAgIH07XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8uYmVmb3JlYDsgdGhpcyBtZXRob2QgY3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlc1xuICAgICAqIGBmdW5jYCBvbmNlIGl0J3MgY2FsbGVkIGBuYCBvciBtb3JlIHRpbWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiBjYWxscyBiZWZvcmUgYGZ1bmNgIGlzIGludm9rZWQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVzdHJpY3RlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHNhdmVzID0gWydwcm9maWxlJywgJ3NldHRpbmdzJ107XG4gICAgICpcbiAgICAgKiB2YXIgZG9uZSA9IF8uYWZ0ZXIoc2F2ZXMubGVuZ3RoLCBmdW5jdGlvbigpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdkb25lIHNhdmluZyEnKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIF8uZm9yRWFjaChzYXZlcywgZnVuY3Rpb24odHlwZSkge1xuICAgICAqICAgYXN5bmNTYXZlKHsgJ3R5cGUnOiB0eXBlLCAnY29tcGxldGUnOiBkb25lIH0pO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2RvbmUgc2F2aW5nIScgYWZ0ZXIgdGhlIHR3byBhc3luYyBzYXZlcyBoYXZlIGNvbXBsZXRlZC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBhZnRlcihuLCBmdW5jKSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAoLS1uIDwgMSkge1xuICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2AsIHdpdGggdXAgdG8gYG5gIGFyZ3VtZW50cyxcbiAgICAgKiBpZ25vcmluZyBhbnkgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjYXAgYXJndW1lbnRzIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249ZnVuYy5sZW5ndGhdIFRoZSBhcml0eSBjYXAuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjYXBwZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnNicsICc4JywgJzEwJ10sIF8uYXJ5KHBhcnNlSW50LCAxKSk7XG4gICAgICogLy8gPT4gWzYsIDgsIDEwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFyeShmdW5jLCBuLCBndWFyZCkge1xuICAgICAgbiA9IGd1YXJkID8gdW5kZWZpbmVkIDogbjtcbiAgICAgIG4gPSAoZnVuYyAmJiBuID09IG51bGwpID8gZnVuYy5sZW5ndGggOiBuO1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9BUllfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBuKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCwgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgYW5kIGFyZ3VtZW50c1xuICAgICAqIG9mIHRoZSBjcmVhdGVkIGZ1bmN0aW9uLCB3aGlsZSBpdCdzIGNhbGxlZCBsZXNzIHRoYW4gYG5gIHRpbWVzLiBTdWJzZXF1ZW50XG4gICAgICogY2FsbHMgdG8gdGhlIGNyZWF0ZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgIGludm9jYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIGNhbGxzIGF0IHdoaWNoIGBmdW5jYCBpcyBubyBsb25nZXIgaW52b2tlZC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byByZXN0cmljdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByZXN0cmljdGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBqUXVlcnkoZWxlbWVudCkub24oJ2NsaWNrJywgXy5iZWZvcmUoNSwgYWRkQ29udGFjdFRvTGlzdCkpO1xuICAgICAqIC8vID0+IEFsbG93cyBhZGRpbmcgdXAgdG8gNCBjb250YWN0cyB0byB0aGUgbGlzdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiZWZvcmUobiwgZnVuYykge1xuICAgICAgdmFyIHJlc3VsdDtcbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIG4gPSB0b0ludGVnZXIobik7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICgtLW4gPiAwKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuIDw9IDEpIHtcbiAgICAgICAgICBmdW5jID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIGB0aGlzQXJnYFxuICAgICAqIGFuZCBgcGFydGlhbHNgIHByZXBlbmRlZCB0byB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogVGhlIGBfLmJpbmQucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpYyBidWlsZHMsXG4gICAgICogbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBuYXRpdmUgYEZ1bmN0aW9uI2JpbmRgLCB0aGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIlxuICAgICAqIHByb3BlcnR5IG9mIGJvdW5kIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGJpbmQuXG4gICAgICogQHBhcmFtIHsqfSB0aGlzQXJnIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbcGFydGlhbHNdIFRoZSBhcmd1bWVudHMgdG8gYmUgcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYm91bmQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGdyZWV0KGdyZWV0aW5nLCBwdW5jdHVhdGlvbikge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJyAnICsgdGhpcy51c2VyICsgcHVuY3R1YXRpb247XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ3VzZXInOiAnZnJlZCcgfTtcbiAgICAgKlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZChncmVldCwgb2JqZWN0LCAnaGknKTtcbiAgICAgKiBib3VuZCgnIScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKlxuICAgICAqIC8vIEJvdW5kIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZChncmVldCwgb2JqZWN0LCBfLCAnIScpO1xuICAgICAqIGJvdW5kKCdoaScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKi9cbiAgICB2YXIgYmluZCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHRoaXNBcmcsIHBhcnRpYWxzKSB7XG4gICAgICB2YXIgYml0bWFzayA9IFdSQVBfQklORF9GTEFHO1xuICAgICAgaWYgKHBhcnRpYWxzLmxlbmd0aCkge1xuICAgICAgICB2YXIgaG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKHBhcnRpYWxzLCBnZXRIb2xkZXIoYmluZCkpO1xuICAgICAgICBiaXRtYXNrIHw9IFdSQVBfUEFSVElBTF9GTEFHO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyB0aGUgbWV0aG9kIGF0IGBvYmplY3Rba2V5XWAgd2l0aCBgcGFydGlhbHNgXG4gICAgICogcHJlcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaWZmZXJzIGZyb20gYF8uYmluZGAgYnkgYWxsb3dpbmcgYm91bmQgZnVuY3Rpb25zIHRvIHJlZmVyZW5jZVxuICAgICAqIG1ldGhvZHMgdGhhdCBtYXkgYmUgcmVkZWZpbmVkIG9yIGRvbid0IHlldCBleGlzdC4gU2VlXG4gICAgICogW1BldGVyIE1pY2hhdXgncyBhcnRpY2xlXShodHRwOi8vcGV0ZXIubWljaGF1eC5jYS9hcnRpY2xlcy9sYXp5LWZ1bmN0aW9uLWRlZmluaXRpb24tcGF0dGVybilcbiAgICAgKiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogVGhlIGBfLmJpbmRLZXkucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpY1xuICAgICAqIGJ1aWxkcywgbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZva2UgdGhlIG1ldGhvZCBvbi5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIG1ldGhvZC5cbiAgICAgKiBAcGFyYW0gey4uLip9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBiZSBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBib3VuZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHtcbiAgICAgKiAgICd1c2VyJzogJ2ZyZWQnLFxuICAgICAqICAgJ2dyZWV0JzogZnVuY3Rpb24oZ3JlZXRpbmcsIHB1bmN0dWF0aW9uKSB7XG4gICAgICogICAgIHJldHVybiBncmVldGluZyArICcgJyArIHRoaXMudXNlciArIHB1bmN0dWF0aW9uO1xuICAgICAqICAgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiB2YXIgYm91bmQgPSBfLmJpbmRLZXkob2JqZWN0LCAnZ3JlZXQnLCAnaGknKTtcbiAgICAgKiBib3VuZCgnIScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKlxuICAgICAqIG9iamVjdC5ncmVldCA9IGZ1bmN0aW9uKGdyZWV0aW5nLCBwdW5jdHVhdGlvbikge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJ3lhICcgKyB0aGlzLnVzZXIgKyBwdW5jdHVhdGlvbjtcbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogYm91bmQoJyEnKTtcbiAgICAgKiAvLyA9PiAnaGl5YSBmcmVkISdcbiAgICAgKlxuICAgICAqIC8vIEJvdW5kIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZEtleShvYmplY3QsICdncmVldCcsIF8sICchJyk7XG4gICAgICogYm91bmQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpeWEgZnJlZCEnXG4gICAgICovXG4gICAgdmFyIGJpbmRLZXkgPSBiYXNlUmVzdChmdW5jdGlvbihvYmplY3QsIGtleSwgcGFydGlhbHMpIHtcbiAgICAgIHZhciBiaXRtYXNrID0gV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX0JJTkRfS0VZX0ZMQUc7XG4gICAgICBpZiAocGFydGlhbHMubGVuZ3RoKSB7XG4gICAgICAgIHZhciBob2xkZXJzID0gcmVwbGFjZUhvbGRlcnMocGFydGlhbHMsIGdldEhvbGRlcihiaW5kS2V5KSk7XG4gICAgICAgIGJpdG1hc2sgfD0gV1JBUF9QQVJUSUFMX0ZMQUc7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChrZXksIGJpdG1hc2ssIG9iamVjdCwgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBhcmd1bWVudHMgb2YgYGZ1bmNgIGFuZCBlaXRoZXIgaW52b2tlc1xuICAgICAqIGBmdW5jYCByZXR1cm5pbmcgaXRzIHJlc3VsdCwgaWYgYXQgbGVhc3QgYGFyaXR5YCBudW1iZXIgb2YgYXJndW1lbnRzIGhhdmVcbiAgICAgKiBiZWVuIHByb3ZpZGVkLCBvciByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIHRoZSByZW1haW5pbmcgYGZ1bmNgXG4gICAgICogYXJndW1lbnRzLCBhbmQgc28gb24uIFRoZSBhcml0eSBvZiBgZnVuY2AgbWF5IGJlIHNwZWNpZmllZCBpZiBgZnVuYy5sZW5ndGhgXG4gICAgICogaXMgbm90IHN1ZmZpY2llbnQuXG4gICAgICpcbiAgICAgKiBUaGUgYF8uY3VycnkucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpYyBidWlsZHMsXG4gICAgICogbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcHJvdmlkZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc2V0IHRoZSBcImxlbmd0aFwiIHByb3BlcnR5IG9mIGN1cnJpZWQgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY3VycnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcml0eT1mdW5jLmxlbmd0aF0gVGhlIGFyaXR5IG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGN1cnJpZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhYmMgPSBmdW5jdGlvbihhLCBiLCBjKSB7XG4gICAgICogICByZXR1cm4gW2EsIGIsIGNdO1xuICAgICAqIH07XG4gICAgICpcbiAgICAgKiB2YXIgY3VycmllZCA9IF8uY3VycnkoYWJjKTtcbiAgICAgKlxuICAgICAqIGN1cnJpZWQoMSkoMikoMyk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBjdXJyaWVkKDEsIDIpKDMpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogY3VycmllZCgxLCAyLCAzKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIC8vIEN1cnJpZWQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogY3VycmllZCgxKShfLCAzKSgyKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjdXJyeShmdW5jLCBhcml0eSwgZ3VhcmQpIHtcbiAgICAgIGFyaXR5ID0gZ3VhcmQgPyB1bmRlZmluZWQgOiBhcml0eTtcbiAgICAgIHZhciByZXN1bHQgPSBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfQ1VSUllfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5KTtcbiAgICAgIHJlc3VsdC5wbGFjZWhvbGRlciA9IGN1cnJ5LnBsYWNlaG9sZGVyO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmN1cnJ5YCBleGNlcHQgdGhhdCBhcmd1bWVudHMgYXJlIGFwcGxpZWQgdG8gYGZ1bmNgXG4gICAgICogaW4gdGhlIG1hbm5lciBvZiBgXy5wYXJ0aWFsUmlnaHRgIGluc3RlYWQgb2YgYF8ucGFydGlhbGAuXG4gICAgICpcbiAgICAgKiBUaGUgYF8uY3VycnlSaWdodC5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljXG4gICAgICogYnVpbGRzLCBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgZG9lc24ndCBzZXQgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgb2YgY3VycmllZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjdXJyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5PWZ1bmMubGVuZ3RoXSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY3VycmllZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFiYyA9IGZ1bmN0aW9uKGEsIGIsIGMpIHtcbiAgICAgKiAgIHJldHVybiBbYSwgYiwgY107XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIHZhciBjdXJyaWVkID0gXy5jdXJyeVJpZ2h0KGFiYyk7XG4gICAgICpcbiAgICAgKiBjdXJyaWVkKDMpKDIpKDEpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogY3VycmllZCgyLCAzKSgxKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIGN1cnJpZWQoMSwgMiwgMyk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiAvLyBDdXJyaWVkIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIGN1cnJpZWQoMykoMSwgXykoMik7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3VycnlSaWdodChmdW5jLCBhcml0eSwgZ3VhcmQpIHtcbiAgICAgIGFyaXR5ID0gZ3VhcmQgPyB1bmRlZmluZWQgOiBhcml0eTtcbiAgICAgIHZhciByZXN1bHQgPSBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfQ1VSUllfUklHSFRfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5KTtcbiAgICAgIHJlc3VsdC5wbGFjZWhvbGRlciA9IGN1cnJ5UmlnaHQucGxhY2Vob2xkZXI7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBkZWJvdW5jZWQgZnVuY3Rpb24gdGhhdCBkZWxheXMgaW52b2tpbmcgYGZ1bmNgIHVudGlsIGFmdGVyIGB3YWl0YFxuICAgICAqIG1pbGxpc2Vjb25kcyBoYXZlIGVsYXBzZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uIHdhc1xuICAgICAqIGludm9rZWQuIFRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gY29tZXMgd2l0aCBhIGBjYW5jZWxgIG1ldGhvZCB0byBjYW5jZWxcbiAgICAgKiBkZWxheWVkIGBmdW5jYCBpbnZvY2F0aW9ucyBhbmQgYSBgZmx1c2hgIG1ldGhvZCB0byBpbW1lZGlhdGVseSBpbnZva2UgdGhlbS5cbiAgICAgKiBQcm92aWRlIGBvcHRpb25zYCB0byBpbmRpY2F0ZSB3aGV0aGVyIGBmdW5jYCBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGVcbiAgICAgKiBsZWFkaW5nIGFuZC9vciB0cmFpbGluZyBlZGdlIG9mIHRoZSBgd2FpdGAgdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0aGUgbGFzdCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlIGRlYm91bmNlZCBmdW5jdGlvbi4gU3Vic2VxdWVudFxuICAgICAqIGNhbGxzIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgXG4gICAgICogaW52b2NhdGlvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBJZiBgbGVhZGluZ2AgYW5kIGB0cmFpbGluZ2Agb3B0aW9ucyBhcmUgYHRydWVgLCBgZnVuY2AgaXNcbiAgICAgKiBpbnZva2VkIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0IG9ubHkgaWYgdGhlIGRlYm91bmNlZCBmdW5jdGlvblxuICAgICAqIGlzIGludm9rZWQgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHRoZSBgd2FpdGAgdGltZW91dC5cbiAgICAgKlxuICAgICAqIElmIGB3YWl0YCBpcyBgMGAgYW5kIGBsZWFkaW5nYCBpcyBgZmFsc2VgLCBgZnVuY2AgaW52b2NhdGlvbiBpcyBkZWZlcnJlZFxuICAgICAqIHVudGlsIHRvIHRoZSBuZXh0IHRpY2ssIHNpbWlsYXIgdG8gYHNldFRpbWVvdXRgIHdpdGggYSB0aW1lb3V0IG9mIGAwYC5cbiAgICAgKlxuICAgICAqIFNlZSBbRGF2aWQgQ29yYmFjaG8ncyBhcnRpY2xlXShodHRwczovL2Nzcy10cmlja3MuY29tL2RlYm91bmNpbmctdGhyb3R0bGluZy1leHBsYWluZWQtZXhhbXBsZXMvKVxuICAgICAqIGZvciBkZXRhaWxzIG92ZXIgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYF8uZGVib3VuY2VgIGFuZCBgXy50aHJvdHRsZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWJvdW5jZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3dhaXQ9MF0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5sZWFkaW5nPWZhbHNlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLm1heFdhaXRdXG4gICAgICogIFRoZSBtYXhpbXVtIHRpbWUgYGZ1bmNgIGlzIGFsbG93ZWQgdG8gYmUgZGVsYXllZCBiZWZvcmUgaXQncyBpbnZva2VkLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMudHJhaWxpbmc9dHJ1ZV1cbiAgICAgKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBkZWJvdW5jZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIC8vIEF2b2lkIGNvc3RseSBjYWxjdWxhdGlvbnMgd2hpbGUgdGhlIHdpbmRvdyBzaXplIGlzIGluIGZsdXguXG4gICAgICogalF1ZXJ5KHdpbmRvdykub24oJ3Jlc2l6ZScsIF8uZGVib3VuY2UoY2FsY3VsYXRlTGF5b3V0LCAxNTApKTtcbiAgICAgKlxuICAgICAqIC8vIEludm9rZSBgc2VuZE1haWxgIHdoZW4gY2xpY2tlZCwgZGVib3VuY2luZyBzdWJzZXF1ZW50IGNhbGxzLlxuICAgICAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCBfLmRlYm91bmNlKHNlbmRNYWlsLCAzMDAsIHtcbiAgICAgKiAgICdsZWFkaW5nJzogdHJ1ZSxcbiAgICAgKiAgICd0cmFpbGluZyc6IGZhbHNlXG4gICAgICogfSkpO1xuICAgICAqXG4gICAgICogLy8gRW5zdXJlIGBiYXRjaExvZ2AgaXMgaW52b2tlZCBvbmNlIGFmdGVyIDEgc2Vjb25kIG9mIGRlYm91bmNlZCBjYWxscy5cbiAgICAgKiB2YXIgZGVib3VuY2VkID0gXy5kZWJvdW5jZShiYXRjaExvZywgMjUwLCB7ICdtYXhXYWl0JzogMTAwMCB9KTtcbiAgICAgKiB2YXIgc291cmNlID0gbmV3IEV2ZW50U291cmNlKCcvc3RyZWFtJyk7XG4gICAgICogalF1ZXJ5KHNvdXJjZSkub24oJ21lc3NhZ2UnLCBkZWJvdW5jZWQpO1xuICAgICAqXG4gICAgICogLy8gQ2FuY2VsIHRoZSB0cmFpbGluZyBkZWJvdW5jZWQgaW52b2NhdGlvbi5cbiAgICAgKiBqUXVlcnkod2luZG93KS5vbigncG9wc3RhdGUnLCBkZWJvdW5jZWQuY2FuY2VsKTtcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBvcHRpb25zKSB7XG4gICAgICB2YXIgbGFzdEFyZ3MsXG4gICAgICAgICAgbGFzdFRoaXMsXG4gICAgICAgICAgbWF4V2FpdCxcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgdGltZXJJZCxcbiAgICAgICAgICBsYXN0Q2FsbFRpbWUsXG4gICAgICAgICAgbGFzdEludm9rZVRpbWUgPSAwLFxuICAgICAgICAgIGxlYWRpbmcgPSBmYWxzZSxcbiAgICAgICAgICBtYXhpbmcgPSBmYWxzZSxcbiAgICAgICAgICB0cmFpbGluZyA9IHRydWU7XG5cbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHdhaXQgPSB0b051bWJlcih3YWl0KSB8fCAwO1xuICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgIGxlYWRpbmcgPSAhIW9wdGlvbnMubGVhZGluZztcbiAgICAgICAgbWF4aW5nID0gJ21heFdhaXQnIGluIG9wdGlvbnM7XG4gICAgICAgIG1heFdhaXQgPSBtYXhpbmcgPyBuYXRpdmVNYXgodG9OdW1iZXIob3B0aW9ucy5tYXhXYWl0KSB8fCAwLCB3YWl0KSA6IG1heFdhaXQ7XG4gICAgICAgIHRyYWlsaW5nID0gJ3RyYWlsaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLnRyYWlsaW5nIDogdHJhaWxpbmc7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGludm9rZUZ1bmModGltZSkge1xuICAgICAgICB2YXIgYXJncyA9IGxhc3RBcmdzLFxuICAgICAgICAgICAgdGhpc0FyZyA9IGxhc3RUaGlzO1xuXG4gICAgICAgIGxhc3RBcmdzID0gbGFzdFRoaXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gbGVhZGluZ0VkZ2UodGltZSkge1xuICAgICAgICAvLyBSZXNldCBhbnkgYG1heFdhaXRgIHRpbWVyLlxuICAgICAgICBsYXN0SW52b2tlVGltZSA9IHRpbWU7XG4gICAgICAgIC8vIFN0YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHRyYWlsaW5nIGVkZ2UuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIC8vIEludm9rZSB0aGUgbGVhZGluZyBlZGdlLlxuICAgICAgICByZXR1cm4gbGVhZGluZyA/IGludm9rZUZ1bmModGltZSkgOiByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHJlbWFpbmluZ1dhaXQodGltZSkge1xuICAgICAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICAgICAgdGltZVNpbmNlTGFzdEludm9rZSA9IHRpbWUgLSBsYXN0SW52b2tlVGltZSxcbiAgICAgICAgICAgIHRpbWVXYWl0aW5nID0gd2FpdCAtIHRpbWVTaW5jZUxhc3RDYWxsO1xuXG4gICAgICAgIHJldHVybiBtYXhpbmdcbiAgICAgICAgICA/IG5hdGl2ZU1pbih0aW1lV2FpdGluZywgbWF4V2FpdCAtIHRpbWVTaW5jZUxhc3RJbnZva2UpXG4gICAgICAgICAgOiB0aW1lV2FpdGluZztcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2hvdWxkSW52b2tlKHRpbWUpIHtcbiAgICAgICAgdmFyIHRpbWVTaW5jZUxhc3RDYWxsID0gdGltZSAtIGxhc3RDYWxsVGltZSxcbiAgICAgICAgICAgIHRpbWVTaW5jZUxhc3RJbnZva2UgPSB0aW1lIC0gbGFzdEludm9rZVRpbWU7XG5cbiAgICAgICAgLy8gRWl0aGVyIHRoaXMgaXMgdGhlIGZpcnN0IGNhbGwsIGFjdGl2aXR5IGhhcyBzdG9wcGVkIGFuZCB3ZSdyZSBhdCB0aGVcbiAgICAgICAgLy8gdHJhaWxpbmcgZWRnZSwgdGhlIHN5c3RlbSB0aW1lIGhhcyBnb25lIGJhY2t3YXJkcyBhbmQgd2UncmUgdHJlYXRpbmdcbiAgICAgICAgLy8gaXQgYXMgdGhlIHRyYWlsaW5nIGVkZ2UsIG9yIHdlJ3ZlIGhpdCB0aGUgYG1heFdhaXRgIGxpbWl0LlxuICAgICAgICByZXR1cm4gKGxhc3RDYWxsVGltZSA9PT0gdW5kZWZpbmVkIHx8ICh0aW1lU2luY2VMYXN0Q2FsbCA+PSB3YWl0KSB8fFxuICAgICAgICAgICh0aW1lU2luY2VMYXN0Q2FsbCA8IDApIHx8IChtYXhpbmcgJiYgdGltZVNpbmNlTGFzdEludm9rZSA+PSBtYXhXYWl0KSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRpbWVyRXhwaXJlZCgpIHtcbiAgICAgICAgdmFyIHRpbWUgPSBub3coKTtcbiAgICAgICAgaWYgKHNob3VsZEludm9rZSh0aW1lKSkge1xuICAgICAgICAgIHJldHVybiB0cmFpbGluZ0VkZ2UodGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmVzdGFydCB0aGUgdGltZXIuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgcmVtYWluaW5nV2FpdCh0aW1lKSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRyYWlsaW5nRWRnZSh0aW1lKSB7XG4gICAgICAgIHRpbWVySWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gT25seSBpbnZva2UgaWYgd2UgaGF2ZSBgbGFzdEFyZ3NgIHdoaWNoIG1lYW5zIGBmdW5jYCBoYXMgYmVlblxuICAgICAgICAvLyBkZWJvdW5jZWQgYXQgbGVhc3Qgb25jZS5cbiAgICAgICAgaWYgKHRyYWlsaW5nICYmIGxhc3RBcmdzKSB7XG4gICAgICAgICAgcmV0dXJuIGludm9rZUZ1bmModGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2FuY2VsKCkge1xuICAgICAgICBpZiAodGltZXJJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuICAgICAgICB9XG4gICAgICAgIGxhc3RJbnZva2VUaW1lID0gMDtcbiAgICAgICAgbGFzdEFyZ3MgPSBsYXN0Q2FsbFRpbWUgPSBsYXN0VGhpcyA9IHRpbWVySWQgPSB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZsdXNoKCkge1xuICAgICAgICByZXR1cm4gdGltZXJJZCA9PT0gdW5kZWZpbmVkID8gcmVzdWx0IDogdHJhaWxpbmdFZGdlKG5vdygpKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZGVib3VuY2VkKCkge1xuICAgICAgICB2YXIgdGltZSA9IG5vdygpLFxuICAgICAgICAgICAgaXNJbnZva2luZyA9IHNob3VsZEludm9rZSh0aW1lKTtcblxuICAgICAgICBsYXN0QXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgbGFzdFRoaXMgPSB0aGlzO1xuICAgICAgICBsYXN0Q2FsbFRpbWUgPSB0aW1lO1xuXG4gICAgICAgIGlmIChpc0ludm9raW5nKSB7XG4gICAgICAgICAgaWYgKHRpbWVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGxlYWRpbmdFZGdlKGxhc3RDYWxsVGltZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChtYXhpbmcpIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBpbnZvY2F0aW9ucyBpbiBhIHRpZ2h0IGxvb3AuXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICAgICAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgICAgICAgICAgcmV0dXJuIGludm9rZUZ1bmMobGFzdENhbGxUaW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRpbWVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGRlYm91bmNlZC5jYW5jZWwgPSBjYW5jZWw7XG4gICAgICBkZWJvdW5jZWQuZmx1c2ggPSBmbHVzaDtcbiAgICAgIHJldHVybiBkZWJvdW5jZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmZXJzIGludm9raW5nIHRoZSBgZnVuY2AgdW50aWwgdGhlIGN1cnJlbnQgY2FsbCBzdGFjayBoYXMgY2xlYXJlZC4gQW55XG4gICAgICogYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHByb3ZpZGVkIHRvIGBmdW5jYCB3aGVuIGl0J3MgaW52b2tlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlZmVyLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVyIGlkLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlZmVyKGZ1bmN0aW9uKHRleHQpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHRleHQpO1xuICAgICAqIH0sICdkZWZlcnJlZCcpO1xuICAgICAqIC8vID0+IExvZ3MgJ2RlZmVycmVkJyBhZnRlciBvbmUgbWlsbGlzZWNvbmQuXG4gICAgICovXG4gICAgdmFyIGRlZmVyID0gYmFzZVJlc3QoZnVuY3Rpb24oZnVuYywgYXJncykge1xuICAgICAgcmV0dXJuIGJhc2VEZWxheShmdW5jLCAxLCBhcmdzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEludm9rZXMgYGZ1bmNgIGFmdGVyIGB3YWl0YCBtaWxsaXNlY29uZHMuIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmVcbiAgICAgKiBwcm92aWRlZCB0byBgZnVuY2Agd2hlbiBpdCdzIGludm9rZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWxheS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gd2FpdCBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheSBpbnZvY2F0aW9uLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVyIGlkLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlbGF5KGZ1bmN0aW9uKHRleHQpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHRleHQpO1xuICAgICAqIH0sIDEwMDAsICdsYXRlcicpO1xuICAgICAqIC8vID0+IExvZ3MgJ2xhdGVyJyBhZnRlciBvbmUgc2Vjb25kLlxuICAgICAqL1xuICAgIHZhciBkZWxheSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHdhaXQsIGFyZ3MpIHtcbiAgICAgIHJldHVybiBiYXNlRGVsYXkoZnVuYywgdG9OdW1iZXIod2FpdCkgfHwgMCwgYXJncyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGFyZ3VtZW50cyByZXZlcnNlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGZsaXAgYXJndW1lbnRzIGZvci5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmbGlwcGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZmxpcHBlZCA9IF8uZmxpcChmdW5jdGlvbigpIHtcbiAgICAgKiAgIHJldHVybiBfLnRvQXJyYXkoYXJndW1lbnRzKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIGZsaXBwZWQoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiBbJ2QnLCAnYycsICdiJywgJ2EnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsaXAoZnVuYykge1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9GTElQX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IG1lbW9pemVzIHRoZSByZXN1bHQgb2YgYGZ1bmNgLiBJZiBgcmVzb2x2ZXJgIGlzXG4gICAgICogcHJvdmlkZWQsIGl0IGRldGVybWluZXMgdGhlIGNhY2hlIGtleSBmb3Igc3RvcmluZyB0aGUgcmVzdWx0IGJhc2VkIG9uIHRoZVxuICAgICAqIGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uIEJ5IGRlZmF1bHQsIHRoZSBmaXJzdCBhcmd1bWVudFxuICAgICAqIHByb3ZpZGVkIHRvIHRoZSBtZW1vaXplZCBmdW5jdGlvbiBpcyB1c2VkIGFzIHRoZSBtYXAgY2FjaGUga2V5LiBUaGUgYGZ1bmNgXG4gICAgICogaXMgaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhlIGNhY2hlIGlzIGV4cG9zZWQgYXMgdGhlIGBjYWNoZWAgcHJvcGVydHkgb24gdGhlIG1lbW9pemVkXG4gICAgICogZnVuY3Rpb24uIEl0cyBjcmVhdGlvbiBtYXkgYmUgY3VzdG9taXplZCBieSByZXBsYWNpbmcgdGhlIGBfLm1lbW9pemUuQ2FjaGVgXG4gICAgICogY29uc3RydWN0b3Igd2l0aCBvbmUgd2hvc2UgaW5zdGFuY2VzIGltcGxlbWVudCB0aGVcbiAgICAgKiBbYE1hcGBdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXByb3BlcnRpZXMtb2YtdGhlLW1hcC1wcm90b3R5cGUtb2JqZWN0KVxuICAgICAqIG1ldGhvZCBpbnRlcmZhY2Ugb2YgYGNsZWFyYCwgYGRlbGV0ZWAsIGBnZXRgLCBgaGFzYCwgYW5kIGBzZXRgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaGF2ZSBpdHMgb3V0cHV0IG1lbW9pemVkLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtyZXNvbHZlcl0gVGhlIGZ1bmN0aW9uIHRvIHJlc29sdmUgdGhlIGNhY2hlIGtleS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBtZW1vaXplZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6IDIgfTtcbiAgICAgKiB2YXIgb3RoZXIgPSB7ICdjJzogMywgJ2QnOiA0IH07XG4gICAgICpcbiAgICAgKiB2YXIgdmFsdWVzID0gXy5tZW1vaXplKF8udmFsdWVzKTtcbiAgICAgKiB2YWx1ZXMob2JqZWN0KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIHZhbHVlcyhvdGhlcik7XG4gICAgICogLy8gPT4gWzMsIDRdXG4gICAgICpcbiAgICAgKiBvYmplY3QuYSA9IDI7XG4gICAgICogdmFsdWVzKG9iamVjdCk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICpcbiAgICAgKiAvLyBNb2RpZnkgdGhlIHJlc3VsdCBjYWNoZS5cbiAgICAgKiB2YWx1ZXMuY2FjaGUuc2V0KG9iamVjdCwgWydhJywgJ2InXSk7XG4gICAgICogdmFsdWVzKG9iamVjdCk7XG4gICAgICogLy8gPT4gWydhJywgJ2InXVxuICAgICAqXG4gICAgICogLy8gUmVwbGFjZSBgXy5tZW1vaXplLkNhY2hlYC5cbiAgICAgKiBfLm1lbW9pemUuQ2FjaGUgPSBXZWFrTWFwO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lbW9pemUoZnVuYywgcmVzb2x2ZXIpIHtcbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nIHx8IChyZXNvbHZlciAhPSBudWxsICYmIHR5cGVvZiByZXNvbHZlciAhPSAnZnVuY3Rpb24nKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICB2YXIgbWVtb2l6ZWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgICBrZXkgPSByZXNvbHZlciA/IHJlc29sdmVyLmFwcGx5KHRoaXMsIGFyZ3MpIDogYXJnc1swXSxcbiAgICAgICAgICAgIGNhY2hlID0gbWVtb2l6ZWQuY2FjaGU7XG5cbiAgICAgICAgaWYgKGNhY2hlLmhhcyhrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuIGNhY2hlLmdldChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIHZhciByZXN1bHQgPSBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICBtZW1vaXplZC5jYWNoZSA9IGNhY2hlLnNldChrZXksIHJlc3VsdCkgfHwgY2FjaGU7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgICAgbWVtb2l6ZWQuY2FjaGUgPSBuZXcgKG1lbW9pemUuQ2FjaGUgfHwgTWFwQ2FjaGUpO1xuICAgICAgcmV0dXJuIG1lbW9pemVkO1xuICAgIH1cblxuICAgIC8vIEV4cG9zZSBgTWFwQ2FjaGVgLlxuICAgIG1lbW9pemUuQ2FjaGUgPSBNYXBDYWNoZTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IG5lZ2F0ZXMgdGhlIHJlc3VsdCBvZiB0aGUgcHJlZGljYXRlIGBmdW5jYC4gVGhlXG4gICAgICogYGZ1bmNgIHByZWRpY2F0ZSBpcyBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIGFuZCBhcmd1bWVudHMgb2YgdGhlXG4gICAgICogY3JlYXRlZCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgcHJlZGljYXRlIHRvIG5lZ2F0ZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBuZWdhdGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0V2ZW4obikge1xuICAgICAqICAgcmV0dXJuIG4gJSAyID09IDA7XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5maWx0ZXIoWzEsIDIsIDMsIDQsIDUsIDZdLCBfLm5lZ2F0ZShpc0V2ZW4pKTtcbiAgICAgKiAvLyA9PiBbMSwgMywgNV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBuZWdhdGUocHJlZGljYXRlKSB7XG4gICAgICBpZiAodHlwZW9mIHByZWRpY2F0ZSAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgIHN3aXRjaCAoYXJncy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDA6IHJldHVybiAhcHJlZGljYXRlLmNhbGwodGhpcyk7XG4gICAgICAgICAgY2FzZSAxOiByZXR1cm4gIXByZWRpY2F0ZS5jYWxsKHRoaXMsIGFyZ3NbMF0pO1xuICAgICAgICAgIGNhc2UgMjogcmV0dXJuICFwcmVkaWNhdGUuY2FsbCh0aGlzLCBhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICBjYXNlIDM6IHJldHVybiAhcHJlZGljYXRlLmNhbGwodGhpcywgYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICFwcmVkaWNhdGUuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGlzIHJlc3RyaWN0ZWQgdG8gaW52b2tpbmcgYGZ1bmNgIG9uY2UuIFJlcGVhdCBjYWxsc1xuICAgICAqIHRvIHRoZSBmdW5jdGlvbiByZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBpbnZvY2F0aW9uLiBUaGUgYGZ1bmNgIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBhbmQgYXJndW1lbnRzIG9mIHRoZSBjcmVhdGVkIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVzdHJpY3RlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGluaXRpYWxpemUgPSBfLm9uY2UoY3JlYXRlQXBwbGljYXRpb24pO1xuICAgICAqIGluaXRpYWxpemUoKTtcbiAgICAgKiBpbml0aWFsaXplKCk7XG4gICAgICogLy8gPT4gYGNyZWF0ZUFwcGxpY2F0aW9uYCBpcyBpbnZva2VkIG9uY2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvbmNlKGZ1bmMpIHtcbiAgICAgIHJldHVybiBiZWZvcmUoMiwgZnVuYyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCBpdHMgYXJndW1lbnRzIHRyYW5zZm9ybWVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW3RyYW5zZm9ybXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgYXJndW1lbnQgdHJhbnNmb3Jtcy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gZG91YmxlZChuKSB7XG4gICAgICogICByZXR1cm4gbiAqIDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ub3ZlckFyZ3MoZnVuY3Rpb24oeCwgeSkge1xuICAgICAqICAgcmV0dXJuIFt4LCB5XTtcbiAgICAgKiB9LCBbc3F1YXJlLCBkb3VibGVkXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKDksIDMpO1xuICAgICAqIC8vID0+IFs4MSwgNl1cbiAgICAgKlxuICAgICAqIGZ1bmMoMTAsIDUpO1xuICAgICAqIC8vID0+IFsxMDAsIDEwXVxuICAgICAqL1xuICAgIHZhciBvdmVyQXJncyA9IGNhc3RSZXN0KGZ1bmN0aW9uKGZ1bmMsIHRyYW5zZm9ybXMpIHtcbiAgICAgIHRyYW5zZm9ybXMgPSAodHJhbnNmb3Jtcy5sZW5ndGggPT0gMSAmJiBpc0FycmF5KHRyYW5zZm9ybXNbMF0pKVxuICAgICAgICA/IGFycmF5TWFwKHRyYW5zZm9ybXNbMF0sIGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSlcbiAgICAgICAgOiBhcnJheU1hcChiYXNlRmxhdHRlbih0cmFuc2Zvcm1zLCAxKSwgYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTtcblxuICAgICAgdmFyIGZ1bmNzTGVuZ3RoID0gdHJhbnNmb3Jtcy5sZW5ndGg7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1pbihhcmdzLmxlbmd0aCwgZnVuY3NMZW5ndGgpO1xuXG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgYXJnc1tpbmRleF0gPSB0cmFuc2Zvcm1zW2luZGV4XS5jYWxsKHRoaXMsIGFyZ3NbaW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgYXJncyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggYHBhcnRpYWxzYCBwcmVwZW5kZWQgdG8gdGhlXG4gICAgICogYXJndW1lbnRzIGl0IHJlY2VpdmVzLiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmJpbmRgIGV4Y2VwdCBpdCBkb2VzICoqbm90KipcbiAgICAgKiBhbHRlciB0aGUgYHRoaXNgIGJpbmRpbmcuXG4gICAgICpcbiAgICAgKiBUaGUgYF8ucGFydGlhbC5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljXG4gICAgICogYnVpbGRzLCBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwYXJ0aWFsbHkgYXBwbGllZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgZG9lc24ndCBzZXQgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgb2YgcGFydGlhbGx5XG4gICAgICogYXBwbGllZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBwYXJ0aWFsbHkgYXBwbHkgYXJndW1lbnRzIHRvLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIGJlIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHBhcnRpYWxseSBhcHBsaWVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBncmVldChncmVldGluZywgbmFtZSkge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJyAnICsgbmFtZTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgc2F5SGVsbG9UbyA9IF8ucGFydGlhbChncmVldCwgJ2hlbGxvJyk7XG4gICAgICogc2F5SGVsbG9UbygnZnJlZCcpO1xuICAgICAqIC8vID0+ICdoZWxsbyBmcmVkJ1xuICAgICAqXG4gICAgICogLy8gUGFydGlhbGx5IGFwcGxpZWQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogdmFyIGdyZWV0RnJlZCA9IF8ucGFydGlhbChncmVldCwgXywgJ2ZyZWQnKTtcbiAgICAgKiBncmVldEZyZWQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQnXG4gICAgICovXG4gICAgdmFyIHBhcnRpYWwgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBwYXJ0aWFscykge1xuICAgICAgdmFyIGhvbGRlcnMgPSByZXBsYWNlSG9sZGVycyhwYXJ0aWFscywgZ2V0SG9sZGVyKHBhcnRpYWwpKTtcbiAgICAgIHJldHVybiBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfUEFSVElBTF9GTEFHLCB1bmRlZmluZWQsIHBhcnRpYWxzLCBob2xkZXJzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucGFydGlhbGAgZXhjZXB0IHRoYXQgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzXG4gICAgICogYXJlIGFwcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBUaGUgYF8ucGFydGlhbFJpZ2h0LnBsYWNlaG9sZGVyYCB2YWx1ZSwgd2hpY2ggZGVmYXVsdHMgdG8gYF9gIGluIG1vbm9saXRoaWNcbiAgICAgKiBidWlsZHMsIG1heSBiZSB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgZm9yIHBhcnRpYWxseSBhcHBsaWVkIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIiBwcm9wZXJ0eSBvZiBwYXJ0aWFsbHlcbiAgICAgKiBhcHBsaWVkIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHBhcnRpYWxseSBhcHBseSBhcmd1bWVudHMgdG8uXG4gICAgICogQHBhcmFtIHsuLi4qfSBbcGFydGlhbHNdIFRoZSBhcmd1bWVudHMgdG8gYmUgcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFydGlhbGx5IGFwcGxpZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGdyZWV0KGdyZWV0aW5nLCBuYW1lKSB7XG4gICAgICogICByZXR1cm4gZ3JlZXRpbmcgKyAnICcgKyBuYW1lO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBncmVldEZyZWQgPSBfLnBhcnRpYWxSaWdodChncmVldCwgJ2ZyZWQnKTtcbiAgICAgKiBncmVldEZyZWQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBQYXJ0aWFsbHkgYXBwbGllZCB3aXRoIHBsYWNlaG9sZGVycy5cbiAgICAgKiB2YXIgc2F5SGVsbG9UbyA9IF8ucGFydGlhbFJpZ2h0KGdyZWV0LCAnaGVsbG8nLCBfKTtcbiAgICAgKiBzYXlIZWxsb1RvKCdmcmVkJyk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGZyZWQnXG4gICAgICovXG4gICAgdmFyIHBhcnRpYWxSaWdodCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHBhcnRpYWxzKSB7XG4gICAgICB2YXIgaG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKHBhcnRpYWxzLCBnZXRIb2xkZXIocGFydGlhbFJpZ2h0KSk7XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChmdW5jLCBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRywgdW5kZWZpbmVkLCBwYXJ0aWFscywgaG9sZGVycyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGFyZ3VtZW50cyBhcnJhbmdlZCBhY2NvcmRpbmdcbiAgICAgKiB0byB0aGUgc3BlY2lmaWVkIGBpbmRleGVzYCB3aGVyZSB0aGUgYXJndW1lbnQgdmFsdWUgYXQgdGhlIGZpcnN0IGluZGV4IGlzXG4gICAgICogcHJvdmlkZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LCB0aGUgYXJndW1lbnQgdmFsdWUgYXQgdGhlIHNlY29uZCBpbmRleCBpc1xuICAgICAqIHByb3ZpZGVkIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQsIGFuZCBzbyBvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHJlYXJyYW5nZSBhcmd1bWVudHMgZm9yLlxuICAgICAqIEBwYXJhbSB7Li4uKG51bWJlcnxudW1iZXJbXSl9IGluZGV4ZXMgVGhlIGFycmFuZ2VkIGFyZ3VtZW50IGluZGV4ZXMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciByZWFyZ2VkID0gXy5yZWFyZyhmdW5jdGlvbihhLCBiLCBjKSB7XG4gICAgICogICByZXR1cm4gW2EsIGIsIGNdO1xuICAgICAqIH0sIFsyLCAwLCAxXSk7XG4gICAgICpcbiAgICAgKiByZWFyZ2VkKCdiJywgJ2MnLCAnYScpXG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddXG4gICAgICovXG4gICAgdmFyIHJlYXJnID0gZmxhdFJlc3QoZnVuY3Rpb24oZnVuYywgaW5kZXhlcykge1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9SRUFSR19GTEFHLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBpbmRleGVzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIHRoZVxuICAgICAqIGNyZWF0ZWQgZnVuY3Rpb24gYW5kIGFyZ3VtZW50cyBmcm9tIGBzdGFydGAgYW5kIGJleW9uZCBwcm92aWRlZCBhc1xuICAgICAqIGFuIGFycmF5LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uIHRoZVxuICAgICAqIFtyZXN0IHBhcmFtZXRlcl0oaHR0cHM6Ly9tZG4uaW8vcmVzdF9wYXJhbWV0ZXJzKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgc2F5ID0gXy5yZXN0KGZ1bmN0aW9uKHdoYXQsIG5hbWVzKSB7XG4gICAgICogICByZXR1cm4gd2hhdCArICcgJyArIF8uaW5pdGlhbChuYW1lcykuam9pbignLCAnKSArXG4gICAgICogICAgIChfLnNpemUobmFtZXMpID4gMSA/ICcsICYgJyA6ICcnKSArIF8ubGFzdChuYW1lcyk7XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBzYXkoJ2hlbGxvJywgJ2ZyZWQnLCAnYmFybmV5JywgJ3BlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVzdChmdW5jLCBzdGFydCkge1xuICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgc3RhcnQgPSBzdGFydCA9PT0gdW5kZWZpbmVkID8gc3RhcnQgOiB0b0ludGVnZXIoc3RhcnQpO1xuICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmMsIHN0YXJ0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiB0aGVcbiAgICAgKiBjcmVhdGUgZnVuY3Rpb24gYW5kIGFuIGFycmF5IG9mIGFyZ3VtZW50cyBtdWNoIGxpa2VcbiAgICAgKiBbYEZ1bmN0aW9uI2FwcGx5YF0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb24gdGhlXG4gICAgICogW3NwcmVhZCBvcGVyYXRvcl0oaHR0cHM6Ly9tZG4uaW8vc3ByZWFkX29wZXJhdG9yKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjIuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHNwcmVhZCBhcmd1bWVudHMgb3Zlci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgc3ByZWFkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgc2F5ID0gXy5zcHJlYWQoZnVuY3Rpb24od2hvLCB3aGF0KSB7XG4gICAgICogICByZXR1cm4gd2hvICsgJyBzYXlzICcgKyB3aGF0O1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogc2F5KFsnZnJlZCcsICdoZWxsbyddKTtcbiAgICAgKiAvLyA9PiAnZnJlZCBzYXlzIGhlbGxvJ1xuICAgICAqXG4gICAgICogdmFyIG51bWJlcnMgPSBQcm9taXNlLmFsbChbXG4gICAgICogICBQcm9taXNlLnJlc29sdmUoNDApLFxuICAgICAqICAgUHJvbWlzZS5yZXNvbHZlKDM2KVxuICAgICAqIF0pO1xuICAgICAqXG4gICAgICogbnVtYmVycy50aGVuKF8uc3ByZWFkKGZ1bmN0aW9uKHgsIHkpIHtcbiAgICAgKiAgIHJldHVybiB4ICsgeTtcbiAgICAgKiB9KSk7XG4gICAgICogLy8gPT4gYSBQcm9taXNlIG9mIDc2XG4gICAgICovXG4gICAgZnVuY3Rpb24gc3ByZWFkKGZ1bmMsIHN0YXJ0KSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICBzdGFydCA9IHN0YXJ0ID09IG51bGwgPyAwIDogbmF0aXZlTWF4KHRvSW50ZWdlcihzdGFydCksIDApO1xuICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gYXJnc1tzdGFydF0sXG4gICAgICAgICAgICBvdGhlckFyZ3MgPSBjYXN0U2xpY2UoYXJncywgMCwgc3RhcnQpO1xuXG4gICAgICAgIGlmIChhcnJheSkge1xuICAgICAgICAgIGFycmF5UHVzaChvdGhlckFyZ3MsIGFycmF5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgb3RoZXJBcmdzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSB0aHJvdHRsZWQgZnVuY3Rpb24gdGhhdCBvbmx5IGludm9rZXMgYGZ1bmNgIGF0IG1vc3Qgb25jZSBwZXJcbiAgICAgKiBldmVyeSBgd2FpdGAgbWlsbGlzZWNvbmRzLiBUaGUgdGhyb3R0bGVkIGZ1bmN0aW9uIGNvbWVzIHdpdGggYSBgY2FuY2VsYFxuICAgICAqIG1ldGhvZCB0byBjYW5jZWwgZGVsYXllZCBgZnVuY2AgaW52b2NhdGlvbnMgYW5kIGEgYGZsdXNoYCBtZXRob2QgdG9cbiAgICAgKiBpbW1lZGlhdGVseSBpbnZva2UgdGhlbS4gUHJvdmlkZSBgb3B0aW9uc2AgdG8gaW5kaWNhdGUgd2hldGhlciBgZnVuY2BcbiAgICAgKiBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGUgbGVhZGluZyBhbmQvb3IgdHJhaWxpbmcgZWRnZSBvZiB0aGUgYHdhaXRgXG4gICAgICogdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkIHdpdGggdGhlIGxhc3QgYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZVxuICAgICAqIHRocm90dGxlZCBmdW5jdGlvbi4gU3Vic2VxdWVudCBjYWxscyB0byB0aGUgdGhyb3R0bGVkIGZ1bmN0aW9uIHJldHVybiB0aGVcbiAgICAgKiByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgIGludm9jYXRpb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSWYgYGxlYWRpbmdgIGFuZCBgdHJhaWxpbmdgIG9wdGlvbnMgYXJlIGB0cnVlYCwgYGZ1bmNgIGlzXG4gICAgICogaW52b2tlZCBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dCBvbmx5IGlmIHRoZSB0aHJvdHRsZWQgZnVuY3Rpb25cbiAgICAgKiBpcyBpbnZva2VkIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgYHdhaXRgIHRpbWVvdXQuXG4gICAgICpcbiAgICAgKiBJZiBgd2FpdGAgaXMgYDBgIGFuZCBgbGVhZGluZ2AgaXMgYGZhbHNlYCwgYGZ1bmNgIGludm9jYXRpb24gaXMgZGVmZXJyZWRcbiAgICAgKiB1bnRpbCB0byB0aGUgbmV4dCB0aWNrLCBzaW1pbGFyIHRvIGBzZXRUaW1lb3V0YCB3aXRoIGEgdGltZW91dCBvZiBgMGAuXG4gICAgICpcbiAgICAgKiBTZWUgW0RhdmlkIENvcmJhY2hvJ3MgYXJ0aWNsZV0oaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9kZWJvdW5jaW5nLXRocm90dGxpbmctZXhwbGFpbmVkLWV4YW1wbGVzLylcbiAgICAgKiBmb3IgZGV0YWlscyBvdmVyIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGBfLnRocm90dGxlYCBhbmQgYF8uZGVib3VuY2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gdGhyb3R0bGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFt3YWl0PTBdIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRocm90dGxlIGludm9jYXRpb25zIHRvLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gVGhlIG9wdGlvbnMgb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMubGVhZGluZz10cnVlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy50cmFpbGluZz10cnVlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHRocm90dGxlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gQXZvaWQgZXhjZXNzaXZlbHkgdXBkYXRpbmcgdGhlIHBvc2l0aW9uIHdoaWxlIHNjcm9sbGluZy5cbiAgICAgKiBqUXVlcnkod2luZG93KS5vbignc2Nyb2xsJywgXy50aHJvdHRsZSh1cGRhdGVQb3NpdGlvbiwgMTAwKSk7XG4gICAgICpcbiAgICAgKiAvLyBJbnZva2UgYHJlbmV3VG9rZW5gIHdoZW4gdGhlIGNsaWNrIGV2ZW50IGlzIGZpcmVkLCBidXQgbm90IG1vcmUgdGhhbiBvbmNlIGV2ZXJ5IDUgbWludXRlcy5cbiAgICAgKiB2YXIgdGhyb3R0bGVkID0gXy50aHJvdHRsZShyZW5ld1Rva2VuLCAzMDAwMDAsIHsgJ3RyYWlsaW5nJzogZmFsc2UgfSk7XG4gICAgICogalF1ZXJ5KGVsZW1lbnQpLm9uKCdjbGljaycsIHRocm90dGxlZCk7XG4gICAgICpcbiAgICAgKiAvLyBDYW5jZWwgdGhlIHRyYWlsaW5nIHRocm90dGxlZCBpbnZvY2F0aW9uLlxuICAgICAqIGpRdWVyeSh3aW5kb3cpLm9uKCdwb3BzdGF0ZScsIHRocm90dGxlZC5jYW5jZWwpO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRocm90dGxlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBsZWFkaW5nID0gdHJ1ZSxcbiAgICAgICAgICB0cmFpbGluZyA9IHRydWU7XG5cbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc09iamVjdChvcHRpb25zKSkge1xuICAgICAgICBsZWFkaW5nID0gJ2xlYWRpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMubGVhZGluZyA6IGxlYWRpbmc7XG4gICAgICAgIHRyYWlsaW5nID0gJ3RyYWlsaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLnRyYWlsaW5nIDogdHJhaWxpbmc7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGVib3VuY2UoZnVuYywgd2FpdCwge1xuICAgICAgICAnbGVhZGluZyc6IGxlYWRpbmcsXG4gICAgICAgICdtYXhXYWl0Jzogd2FpdCxcbiAgICAgICAgJ3RyYWlsaW5nJzogdHJhaWxpbmdcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgdXAgdG8gb25lIGFyZ3VtZW50LCBpZ25vcmluZyBhbnlcbiAgICAgKiBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNhcCBhcmd1bWVudHMgZm9yLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNhcHBlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tYXAoWyc2JywgJzgnLCAnMTAnXSwgXy51bmFyeShwYXJzZUludCkpO1xuICAgICAqIC8vID0+IFs2LCA4LCAxMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmFyeShmdW5jKSB7XG4gICAgICByZXR1cm4gYXJ5KGZ1bmMsIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIGB2YWx1ZWAgdG8gYHdyYXBwZXJgIGFzIGl0cyBmaXJzdFxuICAgICAqIGFyZ3VtZW50LiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlIGZ1bmN0aW9uIGFyZSBhcHBlbmRlZFxuICAgICAqIHRvIHRob3NlIHByb3ZpZGVkIHRvIHRoZSBgd3JhcHBlcmAuIFRoZSB3cmFwcGVyIGlzIGludm9rZWQgd2l0aCB0aGUgYHRoaXNgXG4gICAgICogYmluZGluZyBvZiB0aGUgY3JlYXRlZCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3dyYXBwZXI9aWRlbnRpdHldIFRoZSB3cmFwcGVyIGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgcCA9IF8ud3JhcChfLmVzY2FwZSwgZnVuY3Rpb24oZnVuYywgdGV4dCkge1xuICAgICAqICAgcmV0dXJuICc8cD4nICsgZnVuYyh0ZXh0KSArICc8L3A+JztcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIHAoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gJzxwPmZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlczwvcD4nXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcCh2YWx1ZSwgd3JhcHBlcikge1xuICAgICAgcmV0dXJuIHBhcnRpYWwoY2FzdEZ1bmN0aW9uKHdyYXBwZXIpLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ2FzdHMgYHZhbHVlYCBhcyBhbiBhcnJheSBpZiBpdCdzIG5vdCBvbmUuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC40LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjYXN0IGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNhc3RBcnJheSgxKTtcbiAgICAgKiAvLyA9PiBbMV1cbiAgICAgKlxuICAgICAqIF8uY2FzdEFycmF5KHsgJ2EnOiAxIH0pO1xuICAgICAqIC8vID0+IFt7ICdhJzogMSB9XVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkoJ2FiYycpO1xuICAgICAqIC8vID0+IFsnYWJjJ11cbiAgICAgKlxuICAgICAqIF8uY2FzdEFycmF5KG51bGwpO1xuICAgICAqIC8vID0+IFtudWxsXVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkodW5kZWZpbmVkKTtcbiAgICAgKiAvLyA9PiBbdW5kZWZpbmVkXVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkoKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDNdO1xuICAgICAqIGNvbnNvbGUubG9nKF8uY2FzdEFycmF5KGFycmF5KSA9PT0gYXJyYXkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXN0QXJyYXkoKSB7XG4gICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIHZhbHVlID0gYXJndW1lbnRzWzBdO1xuICAgICAgcmV0dXJuIGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzaGFsbG93IGNsb25lIG9mIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvbiB0aGVcbiAgICAgKiBbc3RydWN0dXJlZCBjbG9uZSBhbGdvcml0aG1dKGh0dHBzOi8vbWRuLmlvL1N0cnVjdHVyZWRfY2xvbmVfYWxnb3JpdGhtKVxuICAgICAqIGFuZCBzdXBwb3J0cyBjbG9uaW5nIGFycmF5cywgYXJyYXkgYnVmZmVycywgYm9vbGVhbnMsIGRhdGUgb2JqZWN0cywgbWFwcyxcbiAgICAgKiBudW1iZXJzLCBgT2JqZWN0YCBvYmplY3RzLCByZWdleGVzLCBzZXRzLCBzdHJpbmdzLCBzeW1ib2xzLCBhbmQgdHlwZWRcbiAgICAgKiBhcnJheXMuIFRoZSBvd24gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mIGBhcmd1bWVudHNgIG9iamVjdHMgYXJlIGNsb25lZFxuICAgICAqIGFzIHBsYWluIG9iamVjdHMuIEFuIGVtcHR5IG9iamVjdCBpcyByZXR1cm5lZCBmb3IgdW5jbG9uZWFibGUgdmFsdWVzIHN1Y2hcbiAgICAgKiBhcyBlcnJvciBvYmplY3RzLCBmdW5jdGlvbnMsIERPTSBub2RlcywgYW5kIFdlYWtNYXBzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqIEBzZWUgXy5jbG9uZURlZXBcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnYSc6IDEgfSwgeyAnYic6IDIgfV07XG4gICAgICpcbiAgICAgKiB2YXIgc2hhbGxvdyA9IF8uY2xvbmUob2JqZWN0cyk7XG4gICAgICogY29uc29sZS5sb2coc2hhbGxvd1swXSA9PT0gb2JqZWN0c1swXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lKHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZUNsb25lKHZhbHVlLCBDTE9ORV9TWU1CT0xTX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uY2xvbmVgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBjbG9uZWQgdmFsdWUuIElmIGBjdXN0b21pemVyYCByZXR1cm5zIGB1bmRlZmluZWRgLFxuICAgICAqIGNsb25pbmcgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZCB3aXRoXG4gICAgICogdXAgdG8gZm91ciBhcmd1bWVudHM7ICh2YWx1ZSBbLCBpbmRleHxrZXksIG9iamVjdCwgc3RhY2tdKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY2xvbmluZy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqIEBzZWUgXy5jbG9uZURlZXBXaXRoXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIodmFsdWUpIHtcbiAgICAgKiAgIGlmIChfLmlzRWxlbWVudCh2YWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHZhbHVlLmNsb25lTm9kZShmYWxzZSk7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGVsID0gXy5jbG9uZVdpdGgoZG9jdW1lbnQuYm9keSwgY3VzdG9taXplcik7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhlbCA9PT0gZG9jdW1lbnQuYm9keSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKiBjb25zb2xlLmxvZyhlbC5ub2RlTmFtZSk7XG4gICAgICogLy8gPT4gJ0JPRFknXG4gICAgICogY29uc29sZS5sb2coZWwuY2hpbGROb2Rlcy5sZW5ndGgpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVdpdGgodmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBiYXNlQ2xvbmUodmFsdWUsIENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5jbG9uZWAgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgY2xvbmVzIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHJlY3Vyc2l2ZWx5IGNsb25lLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBkZWVwIGNsb25lZCB2YWx1ZS5cbiAgICAgKiBAc2VlIF8uY2xvbmVcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnYSc6IDEgfSwgeyAnYic6IDIgfV07XG4gICAgICpcbiAgICAgKiB2YXIgZGVlcCA9IF8uY2xvbmVEZWVwKG9iamVjdHMpO1xuICAgICAqIGNvbnNvbGUubG9nKGRlZXBbMF0gPT09IG9iamVjdHNbMF0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2xvbmVEZWVwKHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZUNsb25lKHZhbHVlLCBDTE9ORV9ERUVQX0ZMQUcgfCBDTE9ORV9TWU1CT0xTX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uY2xvbmVXaXRoYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBjbG9uZXMgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmVjdXJzaXZlbHkgY2xvbmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY2xvbmluZy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZGVlcCBjbG9uZWQgdmFsdWUuXG4gICAgICogQHNlZSBfLmNsb25lV2l0aFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBjdXN0b21pemVyKHZhbHVlKSB7XG4gICAgICogICBpZiAoXy5pc0VsZW1lbnQodmFsdWUpKSB7XG4gICAgICogICAgIHJldHVybiB2YWx1ZS5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGVsID0gXy5jbG9uZURlZXBXaXRoKGRvY3VtZW50LmJvZHksIGN1c3RvbWl6ZXIpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coZWwgPT09IGRvY3VtZW50LmJvZHkpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICogY29uc29sZS5sb2coZWwubm9kZU5hbWUpO1xuICAgICAqIC8vID0+ICdCT0RZJ1xuICAgICAqIGNvbnNvbGUubG9nKGVsLmNoaWxkTm9kZXMubGVuZ3RoKTtcbiAgICAgKiAvLyA9PiAyMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lRGVlcFdpdGgodmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBiYXNlQ2xvbmUodmFsdWUsIENMT05FX0RFRVBfRkxBRyB8IENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBvYmplY3RgIGNvbmZvcm1zIHRvIGBzb3VyY2VgIGJ5IGludm9raW5nIHRoZSBwcmVkaWNhdGVcbiAgICAgKiBwcm9wZXJ0aWVzIG9mIGBzb3VyY2VgIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgdmFsdWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGVxdWl2YWxlbnQgdG8gYF8uY29uZm9ybXNgIHdoZW4gYHNvdXJjZWAgaXNcbiAgICAgKiBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjE0LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSBwcmVkaWNhdGVzIHRvIGNvbmZvcm0gdG8uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBvYmplY3RgIGNvbmZvcm1zLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAyIH07XG4gICAgICpcbiAgICAgKiBfLmNvbmZvcm1zVG8ob2JqZWN0LCB7ICdiJzogZnVuY3Rpb24obikgeyByZXR1cm4gbiA+IDE7IH0gfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5jb25mb3Jtc1RvKG9iamVjdCwgeyAnYic6IGZ1bmN0aW9uKG4pIHsgcmV0dXJuIG4gPiAyOyB9IH0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29uZm9ybXNUbyhvYmplY3QsIHNvdXJjZSkge1xuICAgICAgcmV0dXJuIHNvdXJjZSA9PSBudWxsIHx8IGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBrZXlzKHNvdXJjZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGFcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGNvbXBhcmlzb24gYmV0d2VlbiB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBlcXVpdmFsZW50LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gICAgICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uZXEob2JqZWN0LCBvYmplY3QpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uZXEob2JqZWN0LCBvdGhlcik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uZXEoJ2EnLCAnYScpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uZXEoJ2EnLCBPYmplY3QoJ2EnKSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uZXEoTmFOLCBOYU4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gb3RoZXIgfHwgKHZhbHVlICE9PSB2YWx1ZSAmJiBvdGhlciAhPT0gb3RoZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGdyZWF0ZXIgdGhhbiBgb3RoZXJgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZ3JlYXRlciB0aGFuIGBvdGhlcmAsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAc2VlIF8ubHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ndCgzLCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmd0KDMsIDMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmd0KDEsIDMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGd0ID0gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihiYXNlR3QpO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGBvdGhlcmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy45LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG9cbiAgICAgKiAgYG90aGVyYCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBzZWUgXy5sdGVcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ndGUoMywgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5ndGUoMywgMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5ndGUoMSwgMyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgZ3RlID0gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihmdW5jdGlvbih2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA+PSBvdGhlcjtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxpa2VseSBhbiBgYXJndW1lbnRzYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcmd1bWVudHMoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FyZ3VtZW50cyA9IGJhc2VJc0FyZ3VtZW50cyhmdW5jdGlvbigpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA/IGJhc2VJc0FyZ3VtZW50cyA6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCAnY2FsbGVlJykgJiZcbiAgICAgICAgIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsICdjYWxsZWUnKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhbiBgQXJyYXlgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoJ2FiYycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5QnVmZmVyYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5IGJ1ZmZlciwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlCdWZmZXIobmV3IEFycmF5QnVmZmVyKDIpKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlCdWZmZXIobmV3IEFycmF5KDIpKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FycmF5QnVmZmVyID0gbm9kZUlzQXJyYXlCdWZmZXIgPyBiYXNlVW5hcnkobm9kZUlzQXJyYXlCdWZmZXIpIDogYmFzZUlzQXJyYXlCdWZmZXI7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLiBBIHZhbHVlIGlzIGNvbnNpZGVyZWQgYXJyYXktbGlrZSBpZiBpdCdzXG4gICAgICogbm90IGEgZnVuY3Rpb24gYW5kIGhhcyBhIGB2YWx1ZS5sZW5ndGhgIHRoYXQncyBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBvclxuICAgICAqIGVxdWFsIHRvIGAwYCBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZShbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2UoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZSgnYWJjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZShfLm5vb3ApO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgIWlzRnVuY3Rpb24odmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaXNBcnJheUxpa2VgIGV4Y2VwdCB0aGF0IGl0IGFsc28gY2hlY2tzIGlmIGB2YWx1ZWBcbiAgICAgKiBpcyBhbiBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5LWxpa2Ugb2JqZWN0LFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2VPYmplY3QoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlT2JqZWN0KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2VPYmplY3QoJ2FiYycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlT2JqZWN0KF8ubm9vcCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0FycmF5TGlrZU9iamVjdCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaXNBcnJheUxpa2UodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBib29sZWFuIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYm9vbGVhbiwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQm9vbGVhbihmYWxzZSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Jvb2xlYW4obnVsbCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UgfHxcbiAgICAgICAgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gYm9vbFRhZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBidWZmZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNCdWZmZXIobmV3IEJ1ZmZlcigyKSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0J1ZmZlcihuZXcgVWludDhBcnJheSgyKSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNCdWZmZXIgPSBuYXRpdmVJc0J1ZmZlciB8fCBzdHViRmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYERhdGVgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBkYXRlIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRGF0ZShuZXcgRGF0ZSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0RhdGUoJ01vbiBBcHJpbCAyMyAyMDEyJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNEYXRlID0gbm9kZUlzRGF0ZSA/IGJhc2VVbmFyeShub2RlSXNEYXRlKSA6IGJhc2VJc0RhdGU7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYSBET00gZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBET00gZWxlbWVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRWxlbWVudChkb2N1bWVudC5ib2R5KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRWxlbWVudCgnPGJvZHk+Jyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0VsZW1lbnQodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIHZhbHVlLm5vZGVUeXBlID09PSAxICYmICFpc1BsYWluT2JqZWN0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBlbXB0eSBvYmplY3QsIGNvbGxlY3Rpb24sIG1hcCwgb3Igc2V0LlxuICAgICAqXG4gICAgICogT2JqZWN0cyBhcmUgY29uc2lkZXJlZCBlbXB0eSBpZiB0aGV5IGhhdmUgbm8gb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkXG4gICAgICogcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqIEFycmF5LWxpa2UgdmFsdWVzIHN1Y2ggYXMgYGFyZ3VtZW50c2Agb2JqZWN0cywgYXJyYXlzLCBidWZmZXJzLCBzdHJpbmdzLCBvclxuICAgICAqIGpRdWVyeS1saWtlIGNvbGxlY3Rpb25zIGFyZSBjb25zaWRlcmVkIGVtcHR5IGlmIHRoZXkgaGF2ZSBhIGBsZW5ndGhgIG9mIGAwYC5cbiAgICAgKiBTaW1pbGFybHksIG1hcHMgYW5kIHNldHMgYXJlIGNvbnNpZGVyZWQgZW1wdHkgaWYgdGhleSBoYXZlIGEgYHNpemVgIG9mIGAwYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZW1wdHksIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0VtcHR5KG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNFbXB0eSh0cnVlKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRW1wdHkoMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0VtcHR5KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNFbXB0eSh7ICdhJzogMSB9KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXlMaWtlKHZhbHVlKSAmJlxuICAgICAgICAgIChpc0FycmF5KHZhbHVlKSB8fCB0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlLnNwbGljZSA9PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgICAgICBpc0J1ZmZlcih2YWx1ZSkgfHwgaXNUeXBlZEFycmF5KHZhbHVlKSB8fCBpc0FyZ3VtZW50cyh2YWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUubGVuZ3RoO1xuICAgICAgfVxuICAgICAgdmFyIHRhZyA9IGdldFRhZyh2YWx1ZSk7XG4gICAgICBpZiAodGFnID09IG1hcFRhZyB8fCB0YWcgPT0gc2V0VGFnKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUuc2l6ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1Byb3RvdHlwZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuICFiYXNlS2V5cyh2YWx1ZSkubGVuZ3RoO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBhIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlXG4gICAgICogZXF1aXZhbGVudC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBzdXBwb3J0cyBjb21wYXJpbmcgYXJyYXlzLCBhcnJheSBidWZmZXJzLCBib29sZWFucyxcbiAgICAgKiBkYXRlIG9iamVjdHMsIGVycm9yIG9iamVjdHMsIG1hcHMsIG51bWJlcnMsIGBPYmplY3RgIG9iamVjdHMsIHJlZ2V4ZXMsXG4gICAgICogc2V0cywgc3RyaW5ncywgc3ltYm9scywgYW5kIHR5cGVkIGFycmF5cy4gYE9iamVjdGAgb2JqZWN0cyBhcmUgY29tcGFyZWRcbiAgICAgKiBieSB0aGVpciBvd24sIG5vdCBpbmhlcml0ZWQsIGVudW1lcmFibGUgcHJvcGVydGllcy4gRnVuY3Rpb25zIGFuZCBET01cbiAgICAgKiBub2RlcyBhcmUgY29tcGFyZWQgYnkgc3RyaWN0IGVxdWFsaXR5LCBpLmUuIGA9PT1gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gICAgICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uaXNFcXVhbChvYmplY3QsIG90aGVyKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBvYmplY3QgPT09IG90aGVyO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNFcXVhbCh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiBiYXNlSXNFcXVhbCh2YWx1ZSwgb3RoZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaXNFcXVhbGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgdmFsdWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYCwgY29tcGFyaXNvbnNcbiAgICAgKiBhcmUgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZCB3aXRoIHVwIHRvXG4gICAgICogc2l4IGFyZ3VtZW50czogKG9ialZhbHVlLCBvdGhWYWx1ZSBbLCBpbmRleHxrZXksIG9iamVjdCwgb3RoZXIsIHN0YWNrXSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlcyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0dyZWV0aW5nKHZhbHVlKSB7XG4gICAgICogICByZXR1cm4gL15oKD86aXxlbGxvKSQvLnRlc3QodmFsdWUpO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIG90aFZhbHVlKSB7XG4gICAgICogICBpZiAoaXNHcmVldGluZyhvYmpWYWx1ZSkgJiYgaXNHcmVldGluZyhvdGhWYWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHRydWU7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWydoZWxsbycsICdnb29kYnllJ107XG4gICAgICogdmFyIG90aGVyID0gWydoaScsICdnb29kYnllJ107XG4gICAgICpcbiAgICAgKiBfLmlzRXF1YWxXaXRoKGFycmF5LCBvdGhlciwgY3VzdG9taXplcik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRXF1YWxXaXRoKHZhbHVlLCBvdGhlciwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgdmFyIHJlc3VsdCA9IGN1c3RvbWl6ZXIgPyBjdXN0b21pemVyKHZhbHVlLCBvdGhlcikgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gcmVzdWx0ID09PSB1bmRlZmluZWQgPyBiYXNlSXNFcXVhbCh2YWx1ZSwgb3RoZXIsIHVuZGVmaW5lZCwgY3VzdG9taXplcikgOiAhIXJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBgRXJyb3JgLCBgRXZhbEVycm9yYCwgYFJhbmdlRXJyb3JgLCBgUmVmZXJlbmNlRXJyb3JgLFxuICAgICAqIGBTeW50YXhFcnJvcmAsIGBUeXBlRXJyb3JgLCBvciBgVVJJRXJyb3JgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gZXJyb3Igb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNFcnJvcihuZXcgRXJyb3IpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNFcnJvcihFcnJvcik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Vycm9yKHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICAgICAgcmV0dXJuIHRhZyA9PSBlcnJvclRhZyB8fCB0YWcgPT0gZG9tRXhjVGFnIHx8XG4gICAgICAgICh0eXBlb2YgdmFsdWUubWVzc2FnZSA9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWUubmFtZSA9PSAnc3RyaW5nJyAmJiAhaXNQbGFpbk9iamVjdCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgZmluaXRlIHByaW1pdGl2ZSBudW1iZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYE51bWJlci5pc0Zpbml0ZWBdKGh0dHBzOi8vbWRuLmlvL051bWJlci9pc0Zpbml0ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZmluaXRlIG51bWJlciwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRmluaXRlKDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNGaW5pdGUoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Zpbml0ZShJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNGaW5pdGUoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRmluaXRlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmIG5hdGl2ZUlzRmluaXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYEZ1bmN0aW9uYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZnVuY3Rpb24sIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0Z1bmN0aW9uKF8pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNGdW5jdGlvbigvYWJjLyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBUaGUgdXNlIG9mIGBPYmplY3QjdG9TdHJpbmdgIGF2b2lkcyBpc3N1ZXMgd2l0aCB0aGUgYHR5cGVvZmAgb3BlcmF0b3JcbiAgICAgIC8vIGluIFNhZmFyaSA5IHdoaWNoIHJldHVybnMgJ29iamVjdCcgZm9yIHR5cGVkIGFycmF5cyBhbmQgb3RoZXIgY29uc3RydWN0b3JzLlxuICAgICAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICAgICAgcmV0dXJuIHRhZyA9PSBmdW5jVGFnIHx8IHRhZyA9PSBnZW5UYWcgfHwgdGFnID09IGFzeW5jVGFnIHx8IHRhZyA9PSBwcm94eVRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBpbnRlZ2VyLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uXG4gICAgICogW2BOdW1iZXIuaXNJbnRlZ2VyYF0oaHR0cHM6Ly9tZG4uaW8vTnVtYmVyL2lzSW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGludGVnZXIsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNJbnRlZ2VyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyAmJiB2YWx1ZSA9PSB0b0ludGVnZXIodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBsZW5ndGguXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvblxuICAgICAqIFtgVG9MZW5ndGhgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10b2xlbmd0aCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgbGVuZ3RoLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNMZW5ndGgoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0xlbmd0aChOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0xlbmd0aChJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNMZW5ndGgoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTGVuZ3RoKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmXG4gICAgICAgIHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyB0aGVcbiAgICAgKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gICAgICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdCh7fSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3QoXy5ub29wKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzT2JqZWN0KG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAgICAgKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKHt9KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzT2JqZWN0TGlrZShbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKF8ubm9vcCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBNYXBgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjMuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBtYXAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc01hcChuZXcgTWFwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTWFwKG5ldyBXZWFrTWFwKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc01hcCA9IG5vZGVJc01hcCA/IGJhc2VVbmFyeShub2RlSXNNYXApIDogYmFzZUlzTWFwO1xuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIGBvYmplY3RgIGFuZCBgc291cmNlYCB0b1xuICAgICAqIGRldGVybWluZSBpZiBgb2JqZWN0YCBjb250YWlucyBlcXVpdmFsZW50IHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBlcXVpdmFsZW50IHRvIGBfLm1hdGNoZXNgIHdoZW4gYHNvdXJjZWAgaXNcbiAgICAgKiBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIFBhcnRpYWwgY29tcGFyaXNvbnMgd2lsbCBtYXRjaCBlbXB0eSBhcnJheSBhbmQgZW1wdHkgb2JqZWN0IGBzb3VyY2VgXG4gICAgICogdmFsdWVzIGFnYWluc3QgYW55IGFycmF5IG9yIG9iamVjdCB2YWx1ZSwgcmVzcGVjdGl2ZWx5LiBTZWUgYF8uaXNFcXVhbGBcbiAgICAgKiBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCB2YWx1ZSBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgaXMgYSBtYXRjaCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogMiB9O1xuICAgICAqXG4gICAgICogXy5pc01hdGNoKG9iamVjdCwgeyAnYic6IDIgfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc01hdGNoKG9iamVjdCwgeyAnYic6IDEgfSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc01hdGNoKG9iamVjdCwgc291cmNlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09PSBzb3VyY2UgfHwgYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIGdldE1hdGNoRGF0YShzb3VyY2UpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmlzTWF0Y2hgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBjb21wYXJlIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGAsIGNvbXBhcmlzb25zXG4gICAgICogYXJlIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgIGlzIGludm9rZWQgd2l0aCBmaXZlXG4gICAgICogYXJndW1lbnRzOiAob2JqVmFsdWUsIHNyY1ZhbHVlLCBpbmRleHxrZXksIG9iamVjdCwgc291cmNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgaXMgYSBtYXRjaCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0dyZWV0aW5nKHZhbHVlKSB7XG4gICAgICogICByZXR1cm4gL15oKD86aXxlbGxvKSQvLnRlc3QodmFsdWUpO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlKSB7XG4gICAgICogICBpZiAoaXNHcmVldGluZyhvYmpWYWx1ZSkgJiYgaXNHcmVldGluZyhzcmNWYWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHRydWU7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2dyZWV0aW5nJzogJ2hlbGxvJyB9O1xuICAgICAqIHZhciBzb3VyY2UgPSB7ICdncmVldGluZyc6ICdoaScgfTtcbiAgICAgKlxuICAgICAqIF8uaXNNYXRjaFdpdGgob2JqZWN0LCBzb3VyY2UsIGN1c3RvbWl6ZXIpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc01hdGNoV2l0aChvYmplY3QsIHNvdXJjZSwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VJc01hdGNoKG9iamVjdCwgc291cmNlLCBnZXRNYXRjaERhdGEoc291cmNlKSwgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYE5hTmAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYE51bWJlci5pc05hTmBdKGh0dHBzOi8vbWRuLmlvL051bWJlci9pc05hTikgYW5kIGlzIG5vdCB0aGUgc2FtZSBhc1xuICAgICAqIGdsb2JhbCBbYGlzTmFOYF0oaHR0cHM6Ly9tZG4uaW8vaXNOYU4pIHdoaWNoIHJldHVybnMgYHRydWVgIGZvclxuICAgICAqIGB1bmRlZmluZWRgIGFuZCBvdGhlciBub24tbnVtYmVyIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYE5hTmAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc05hTihOYU4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOYU4obmV3IE51bWJlcihOYU4pKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBpc05hTih1bmRlZmluZWQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOYU4odW5kZWZpbmVkKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTmFOKHZhbHVlKSB7XG4gICAgICAvLyBBbiBgTmFOYCBwcmltaXRpdmUgaXMgdGhlIG9ubHkgdmFsdWUgdGhhdCBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLlxuICAgICAgLy8gUGVyZm9ybSB0aGUgYHRvU3RyaW5nVGFnYCBjaGVjayBmaXJzdCB0byBhdm9pZCBlcnJvcnMgd2l0aCBzb21lXG4gICAgICAvLyBBY3RpdmVYIG9iamVjdHMgaW4gSUUuXG4gICAgICByZXR1cm4gaXNOdW1iZXIodmFsdWUpICYmIHZhbHVlICE9ICt2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHByaXN0aW5lIG5hdGl2ZSBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBjYW4ndCByZWxpYWJseSBkZXRlY3QgbmF0aXZlIGZ1bmN0aW9ucyBpbiB0aGUgcHJlc2VuY2VcbiAgICAgKiBvZiB0aGUgY29yZS1qcyBwYWNrYWdlIGJlY2F1c2UgY29yZS1qcyBjaXJjdW12ZW50cyB0aGlzIGtpbmQgb2YgZGV0ZWN0aW9uLlxuICAgICAqIERlc3BpdGUgbXVsdGlwbGUgcmVxdWVzdHMsIHRoZSBjb3JlLWpzIG1haW50YWluZXIgaGFzIG1hZGUgaXQgY2xlYXI6IGFueVxuICAgICAqIGF0dGVtcHQgdG8gZml4IHRoZSBkZXRlY3Rpb24gd2lsbCBiZSBvYnN0cnVjdGVkLiBBcyBhIHJlc3VsdCwgd2UncmUgbGVmdFxuICAgICAqIHdpdGggbGl0dGxlIGNob2ljZSBidXQgdG8gdGhyb3cgYW4gZXJyb3IuIFVuZm9ydHVuYXRlbHksIHRoaXMgYWxzbyBhZmZlY3RzXG4gICAgICogcGFja2FnZXMsIGxpa2UgW2JhYmVsLXBvbHlmaWxsXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9iYWJlbC1wb2x5ZmlsbCksXG4gICAgICogd2hpY2ggcmVseSBvbiBjb3JlLWpzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzTmF0aXZlKEFycmF5LnByb3RvdHlwZS5wdXNoKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTmF0aXZlKF8pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNOYXRpdmUodmFsdWUpIHtcbiAgICAgIGlmIChpc01hc2thYmxlKHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoQ09SRV9FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYG51bGxgLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNOdWxsKG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOdWxsKHZvaWQgMCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc051bGwodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG51bGxpc2gsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc05pbChudWxsKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTmlsKHZvaWQgMCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc05pbChOYU4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNOaWwodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgTnVtYmVyYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRvIGV4Y2x1ZGUgYEluZmluaXR5YCwgYC1JbmZpbml0eWAsIGFuZCBgTmFOYCwgd2hpY2ggYXJlXG4gICAgICogY2xhc3NpZmllZCBhcyBudW1iZXJzLCB1c2UgdGhlIGBfLmlzRmluaXRlYCBtZXRob2QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbnVtYmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNOdW1iZXIoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc051bWJlcihOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTnVtYmVyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTnVtYmVyKCczJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc051bWJlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyB8fFxuICAgICAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBudW1iZXJUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGF0IGlzLCBhbiBvYmplY3QgY3JlYXRlZCBieSB0aGVcbiAgICAgKiBgT2JqZWN0YCBjb25zdHJ1Y3RvciBvciBvbmUgd2l0aCBhIGBbW1Byb3RvdHlwZV1dYCBvZiBgbnVsbGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC44LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KG5ldyBGb28pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzUGxhaW5PYmplY3QoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KHsgJ3gnOiAwLCAneSc6IDAgfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkgfHwgYmFzZUdldFRhZyh2YWx1ZSkgIT0gb2JqZWN0VGFnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBwcm90byA9IGdldFByb3RvdHlwZSh2YWx1ZSk7XG4gICAgICBpZiAocHJvdG8gPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB2YXIgQ3RvciA9IGhhc093blByb3BlcnR5LmNhbGwocHJvdG8sICdjb25zdHJ1Y3RvcicpICYmIHByb3RvLmNvbnN0cnVjdG9yO1xuICAgICAgcmV0dXJuIHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3RvciBpbnN0YW5jZW9mIEN0b3IgJiZcbiAgICAgICAgZnVuY1RvU3RyaW5nLmNhbGwoQ3RvcikgPT0gb2JqZWN0Q3RvclN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFJlZ0V4cGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHJlZ2V4cCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzUmVnRXhwKC9hYmMvKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzUmVnRXhwKCcvYWJjLycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzUmVnRXhwID0gbm9kZUlzUmVnRXhwID8gYmFzZVVuYXJ5KG5vZGVJc1JlZ0V4cCkgOiBiYXNlSXNSZWdFeHA7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHNhZmUgaW50ZWdlci4gQW4gaW50ZWdlciBpcyBzYWZlIGlmIGl0J3MgYW4gSUVFRS03NTRcbiAgICAgKiBkb3VibGUgcHJlY2lzaW9uIG51bWJlciB3aGljaCBpc24ndCB0aGUgcmVzdWx0IG9mIGEgcm91bmRlZCB1bnNhZmUgaW50ZWdlci5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvblxuICAgICAqIFtgTnVtYmVyLmlzU2FmZUludGVnZXJgXShodHRwczovL21kbi5pby9OdW1iZXIvaXNTYWZlSW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc2FmZSBpbnRlZ2VyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcigzKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzU2FmZUludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcignMycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNTYWZlSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzSW50ZWdlcih2YWx1ZSkgJiYgdmFsdWUgPj0gLU1BWF9TQUZFX0lOVEVHRVIgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFNldGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHNldCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzU2V0KG5ldyBTZXQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNTZXQobmV3IFdlYWtTZXQpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzU2V0ID0gbm9kZUlzU2V0ID8gYmFzZVVuYXJ5KG5vZGVJc1NldCkgOiBiYXNlSXNTZXQ7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFN0cmluZ2AgcHJpbWl0aXZlIG9yIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzdHJpbmcsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc1N0cmluZygnYWJjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1N0cmluZygxKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdzdHJpbmcnIHx8XG4gICAgICAgICghaXNBcnJheSh2YWx1ZSkgJiYgaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzdHJpbmdUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgU3ltYm9sYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHN5bWJvbCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzU3ltYm9sKFN5bWJvbC5pdGVyYXRvcik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1N5bWJvbCgnYWJjJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1N5bWJvbCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgICAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzeW1ib2xUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSB0eXBlZCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzVHlwZWRBcnJheShuZXcgVWludDhBcnJheSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1R5cGVkQXJyYXkoW10pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzVHlwZWRBcnJheSA9IG5vZGVJc1R5cGVkQXJyYXkgPyBiYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSkgOiBiYXNlSXNUeXBlZEFycmF5O1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGB1bmRlZmluZWRgLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNVbmRlZmluZWQodm9pZCAwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzVW5kZWZpbmVkKG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgV2Vha01hcGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHdlYWsgbWFwLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNXZWFrTWFwKG5ldyBXZWFrTWFwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzV2Vha01hcChuZXcgTWFwKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzV2Vha01hcCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgZ2V0VGFnKHZhbHVlKSA9PSB3ZWFrTWFwVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgV2Vha1NldGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHdlYWsgc2V0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNXZWFrU2V0KG5ldyBXZWFrU2V0KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzV2Vha1NldChuZXcgU2V0KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzV2Vha1NldCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gd2Vha1NldFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsZXNzIHRoYW4gYG90aGVyYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjkuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQHNlZSBfLmd0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubHQoMSwgMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5sdCgzLCAzKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5sdCgzLCAxKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBsdCA9IGNyZWF0ZVJlbGF0aW9uYWxPcGVyYXRpb24oYmFzZUx0KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgb3RoZXJgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvXG4gICAgICogIGBvdGhlcmAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAc2VlIF8uZ3RlXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubHRlKDEsIDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8ubHRlKDMsIDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8ubHRlKDMsIDEpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGx0ZSA9IGNyZWF0ZVJlbGF0aW9uYWxPcGVyYXRpb24oZnVuY3Rpb24odmFsdWUsIG90aGVyKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPD0gb3RoZXI7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGFuIGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvQXJyYXkoeyAnYSc6IDEsICdiJzogMiB9KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIF8udG9BcnJheSgnYWJjJyk7XG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddXG4gICAgICpcbiAgICAgKiBfLnRvQXJyYXkoMSk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKlxuICAgICAqIF8udG9BcnJheShudWxsKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvQXJyYXkodmFsdWUpIHtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXlMaWtlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaXNTdHJpbmcodmFsdWUpID8gc3RyaW5nVG9BcnJheSh2YWx1ZSkgOiBjb3B5QXJyYXkodmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKHN5bUl0ZXJhdG9yICYmIHZhbHVlW3N5bUl0ZXJhdG9yXSkge1xuICAgICAgICByZXR1cm4gaXRlcmF0b3JUb0FycmF5KHZhbHVlW3N5bUl0ZXJhdG9yXSgpKTtcbiAgICAgIH1cbiAgICAgIHZhciB0YWcgPSBnZXRUYWcodmFsdWUpLFxuICAgICAgICAgIGZ1bmMgPSB0YWcgPT0gbWFwVGFnID8gbWFwVG9BcnJheSA6ICh0YWcgPT0gc2V0VGFnID8gc2V0VG9BcnJheSA6IHZhbHVlcyk7XG5cbiAgICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgZmluaXRlIG51bWJlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEyLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY29udmVydGVkIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b0Zpbml0ZSgzLjIpO1xuICAgICAqIC8vID0+IDMuMlxuICAgICAqXG4gICAgICogXy50b0Zpbml0ZShOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiA1ZS0zMjRcbiAgICAgKlxuICAgICAqIF8udG9GaW5pdGUoSW5maW5pdHkpO1xuICAgICAqIC8vID0+IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XG4gICAgICpcbiAgICAgKiBfLnRvRmluaXRlKCczLjInKTtcbiAgICAgKiAvLyA9PiAzLjJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b0Zpbml0ZSh2YWx1ZSkge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6IDA7XG4gICAgICB9XG4gICAgICB2YWx1ZSA9IHRvTnVtYmVyKHZhbHVlKTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gSU5GSU5JVFkgfHwgdmFsdWUgPT09IC1JTkZJTklUWSkge1xuICAgICAgICB2YXIgc2lnbiA9ICh2YWx1ZSA8IDAgPyAtMSA6IDEpO1xuICAgICAgICByZXR1cm4gc2lnbiAqIE1BWF9JTlRFR0VSO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlID09PSB2YWx1ZSA/IHZhbHVlIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGFuIGludGVnZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvblxuICAgICAqIFtgVG9JbnRlZ2VyYF0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRvaW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY29udmVydGVkIGludGVnZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9JbnRlZ2VyKDMuMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy50b0ludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogXy50b0ludGVnZXIoSW5maW5pdHkpO1xuICAgICAqIC8vID0+IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XG4gICAgICpcbiAgICAgKiBfLnRvSW50ZWdlcignMy4yJyk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvSW50ZWdlcih2YWx1ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHRvRmluaXRlKHZhbHVlKSxcbiAgICAgICAgICByZW1haW5kZXIgPSByZXN1bHQgJSAxO1xuXG4gICAgICByZXR1cm4gcmVzdWx0ID09PSByZXN1bHQgPyAocmVtYWluZGVyID8gcmVzdWx0IC0gcmVtYWluZGVyIDogcmVzdWx0KSA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhbiBpbnRlZ2VyIHN1aXRhYmxlIGZvciB1c2UgYXMgdGhlIGxlbmd0aCBvZiBhblxuICAgICAqIGFycmF5LWxpa2Ugb2JqZWN0LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uXG4gICAgICogW2BUb0xlbmd0aGBdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRvbGVuZ3RoKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgaW50ZWdlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b0xlbmd0aCgzLjIpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8udG9MZW5ndGgoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogXy50b0xlbmd0aChJbmZpbml0eSk7XG4gICAgICogLy8gPT4gNDI5NDk2NzI5NVxuICAgICAqXG4gICAgICogXy50b0xlbmd0aCgnMy4yJyk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvTGVuZ3RoKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPyBiYXNlQ2xhbXAodG9JbnRlZ2VyKHZhbHVlKSwgMCwgTUFYX0FSUkFZX0xFTkdUSCkgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBudW1iZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvTnVtYmVyKDMuMik7XG4gICAgICogLy8gPT4gMy4yXG4gICAgICpcbiAgICAgKiBfLnRvTnVtYmVyKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IDVlLTMyNFxuICAgICAqXG4gICAgICogXy50b051bWJlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gSW5maW5pdHlcbiAgICAgKlxuICAgICAqIF8udG9OdW1iZXIoJzMuMicpO1xuICAgICAqIC8vID0+IDMuMlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE5BTjtcbiAgICAgIH1cbiAgICAgIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgdmFyIG90aGVyID0gdHlwZW9mIHZhbHVlLnZhbHVlT2YgPT0gJ2Z1bmN0aW9uJyA/IHZhbHVlLnZhbHVlT2YoKSA6IHZhbHVlO1xuICAgICAgICB2YWx1ZSA9IGlzT2JqZWN0KG90aGVyKSA/IChvdGhlciArICcnKSA6IG90aGVyO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6ICt2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZShyZVRyaW0sICcnKTtcbiAgICAgIHZhciBpc0JpbmFyeSA9IHJlSXNCaW5hcnkudGVzdCh2YWx1ZSk7XG4gICAgICByZXR1cm4gKGlzQmluYXJ5IHx8IHJlSXNPY3RhbC50ZXN0KHZhbHVlKSlcbiAgICAgICAgPyBmcmVlUGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIGlzQmluYXJ5ID8gMiA6IDgpXG4gICAgICAgIDogKHJlSXNCYWRIZXgudGVzdCh2YWx1ZSkgPyBOQU4gOiArdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBwbGFpbiBvYmplY3QgZmxhdHRlbmluZyBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmdcbiAgICAgKiBrZXllZCBwcm9wZXJ0aWVzIG9mIGB2YWx1ZWAgdG8gb3duIHByb3BlcnRpZXMgb2YgdGhlIHBsYWluIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgcGxhaW4gb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLmFzc2lnbih7ICdhJzogMSB9LCBuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKlxuICAgICAqIF8uYXNzaWduKHsgJ2EnOiAxIH0sIF8udG9QbGFpbk9iamVjdChuZXcgRm9vKSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gY29weU9iamVjdCh2YWx1ZSwga2V5c0luKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHNhZmUgaW50ZWdlci4gQSBzYWZlIGludGVnZXIgY2FuIGJlIGNvbXBhcmVkIGFuZFxuICAgICAqIHJlcHJlc2VudGVkIGNvcnJlY3RseS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgaW50ZWdlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKDMuMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIF8udG9TYWZlSW50ZWdlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gOTAwNzE5OTI1NDc0MDk5MVxuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKCczLjInKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9TYWZlSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgID8gYmFzZUNsYW1wKHRvSW50ZWdlcih2YWx1ZSksIC1NQVhfU0FGRV9JTlRFR0VSLCBNQVhfU0FGRV9JTlRFR0VSKVxuICAgICAgICA6ICh2YWx1ZSA9PT0gMCA/IHZhbHVlIDogMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZy4gQW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkIGZvciBgbnVsbGBcbiAgICAgKiBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzLiBUaGUgc2lnbiBvZiBgLTBgIGlzIHByZXNlcnZlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKG51bGwpO1xuICAgICAqIC8vID0+ICcnXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKC0wKTtcbiAgICAgKiAvLyA9PiAnLTAnXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gJzEsMiwzJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogYmFzZVRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBBc3NpZ25zIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0aWVzIG9mIHNvdXJjZSBvYmplY3RzIHRvIHRoZVxuICAgICAqIGRlc3RpbmF0aW9uIG9iamVjdC4gU291cmNlIG9iamVjdHMgYXJlIGFwcGxpZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LlxuICAgICAqIFN1YnNlcXVlbnQgc291cmNlcyBvdmVyd3JpdGUgcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgc291cmNlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgIGFuZCBpcyBsb29zZWx5IGJhc2VkIG9uXG4gICAgICogW2BPYmplY3QuYXNzaWduYF0oaHR0cHM6Ly9tZG4uaW8vT2JqZWN0L2Fzc2lnbikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5hc3NpZ25JblxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEJhcigpIHtcbiAgICAgKiAgIHRoaXMuYyA9IDM7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5iID0gMjtcbiAgICAgKiBCYXIucHJvdG90eXBlLmQgPSA0O1xuICAgICAqXG4gICAgICogXy5hc3NpZ24oeyAnYSc6IDAgfSwgbmV3IEZvbywgbmV3IEJhcik7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdjJzogMyB9XG4gICAgICovXG4gICAgdmFyIGFzc2lnbiA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlKSB7XG4gICAgICBpZiAoaXNQcm90b3R5cGUoc291cmNlKSB8fCBpc0FycmF5TGlrZShzb3VyY2UpKSB7XG4gICAgICAgIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzKHNvdXJjZSksIG9iamVjdCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgYXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25gIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgb3duIGFuZFxuICAgICAqIGluaGVyaXRlZCBzb3VyY2UgcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGFsaWFzIGV4dGVuZFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uYXNzaWduXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gQmFyKCkge1xuICAgICAqICAgdGhpcy5jID0gMztcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmIgPSAyO1xuICAgICAqIEJhci5wcm90b3R5cGUuZCA9IDQ7XG4gICAgICpcbiAgICAgKiBfLmFzc2lnbkluKHsgJ2EnOiAwIH0sIG5ldyBGb28sIG5ldyBCYXIpO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMywgJ2QnOiA0IH1cbiAgICAgKi9cbiAgICB2YXIgYXNzaWduSW4gPSBjcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3QsIHNvdXJjZSkge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25JbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIGFzc2lnbmVkIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnNcbiAgICAgKiBgdW5kZWZpbmVkYCwgYXNzaWdubWVudCBpcyBoYW5kbGVkIGJ5IHRoZSBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYFxuICAgICAqIGlzIGludm9rZWQgd2l0aCBmaXZlIGFyZ3VtZW50czogKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBhbGlhcyBleHRlbmRXaXRoXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gc291cmNlcyBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgYXNzaWduZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQHNlZSBfLmFzc2lnbldpdGhcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiBfLmlzVW5kZWZpbmVkKG9ialZhbHVlKSA/IHNyY1ZhbHVlIDogb2JqVmFsdWU7XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGRlZmF1bHRzID0gXy5wYXJ0aWFsUmlnaHQoXy5hc3NpZ25JbldpdGgsIGN1c3RvbWl6ZXIpO1xuICAgICAqXG4gICAgICogZGVmYXVsdHMoeyAnYSc6IDEgfSwgeyAnYic6IDIgfSwgeyAnYSc6IDMgfSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgdmFyIGFzc2lnbkluV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QsIGN1c3RvbWl6ZXIpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBhc3NpZ25lZCB2YWx1ZXMuIElmIGBjdXN0b21pemVyYCByZXR1cm5zXG4gICAgICogYHVuZGVmaW5lZGAsIGFzc2lnbm1lbnQgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmBcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggZml2ZSBhcmd1bWVudHM6IChvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uT2JqZWN0fSBzb3VyY2VzIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uYXNzaWduSW5XaXRoXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlKSB7XG4gICAgICogICByZXR1cm4gXy5pc1VuZGVmaW5lZChvYmpWYWx1ZSkgPyBzcmNWYWx1ZSA6IG9ialZhbHVlO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBkZWZhdWx0cyA9IF8ucGFydGlhbFJpZ2h0KF8uYXNzaWduV2l0aCwgY3VzdG9taXplcik7XG4gICAgICpcbiAgICAgKiBkZWZhdWx0cyh7ICdhJzogMSB9LCB7ICdiJzogMiB9LCB7ICdhJzogMyB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKi9cbiAgICB2YXIgYXNzaWduV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXMoc291cmNlKSwgb2JqZWN0LCBjdXN0b21pemVyKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gYHBhdGhzYCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7Li4uKHN0cmluZ3xzdHJpbmdbXSl9IFtwYXRoc10gVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBwaWNrZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IDMgfSB9LCA0XSB9O1xuICAgICAqXG4gICAgICogXy5hdChvYmplY3QsIFsnYVswXS5iLmMnLCAnYVsxXSddKTtcbiAgICAgKiAvLyA9PiBbMywgNF1cbiAgICAgKi9cbiAgICB2YXIgYXQgPSBmbGF0UmVzdChiYXNlQXQpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgdGhhdCBpbmhlcml0cyBmcm9tIHRoZSBgcHJvdG90eXBlYCBvYmplY3QuIElmIGFcbiAgICAgKiBgcHJvcGVydGllc2Agb2JqZWN0IGlzIGdpdmVuLCBpdHMgb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXNcbiAgICAgKiBhcmUgYXNzaWduZWQgdG8gdGhlIGNyZWF0ZWQgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm90b3R5cGUgVGhlIG9iamVjdCB0byBpbmhlcml0IGZyb20uXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtwcm9wZXJ0aWVzXSBUaGUgcHJvcGVydGllcyB0byBhc3NpZ24gdG8gdGhlIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBTaGFwZSgpIHtcbiAgICAgKiAgIHRoaXMueCA9IDA7XG4gICAgICogICB0aGlzLnkgPSAwO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIENpcmNsZSgpIHtcbiAgICAgKiAgIFNoYXBlLmNhbGwodGhpcyk7XG4gICAgICogfVxuICAgICAqXG4gICAgICogQ2lyY2xlLnByb3RvdHlwZSA9IF8uY3JlYXRlKFNoYXBlLnByb3RvdHlwZSwge1xuICAgICAqICAgJ2NvbnN0cnVjdG9yJzogQ2lyY2xlXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiB2YXIgY2lyY2xlID0gbmV3IENpcmNsZTtcbiAgICAgKiBjaXJjbGUgaW5zdGFuY2VvZiBDaXJjbGU7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogY2lyY2xlIGluc3RhbmNlb2YgU2hhcGU7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZShwcm90b3R5cGUsIHByb3BlcnRpZXMpIHtcbiAgICAgIHZhciByZXN1bHQgPSBiYXNlQ3JlYXRlKHByb3RvdHlwZSk7XG4gICAgICByZXR1cm4gcHJvcGVydGllcyA9PSBudWxsID8gcmVzdWx0IDogYmFzZUFzc2lnbihyZXN1bHQsIHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbnMgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBvZiBzb3VyY2VcbiAgICAgKiBvYmplY3RzIHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QgZm9yIGFsbCBkZXN0aW5hdGlvbiBwcm9wZXJ0aWVzIHRoYXRcbiAgICAgKiByZXNvbHZlIHRvIGB1bmRlZmluZWRgLiBTb3VyY2Ugb2JqZWN0cyBhcmUgYXBwbGllZCBmcm9tIGxlZnQgdG8gcmlnaHQuXG4gICAgICogT25jZSBhIHByb3BlcnR5IGlzIHNldCwgYWRkaXRpb25hbCB2YWx1ZXMgb2YgdGhlIHNhbWUgcHJvcGVydHkgYXJlIGlnbm9yZWQuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZGVmYXVsdHNEZWVwXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGVmYXVsdHMoeyAnYSc6IDEgfSwgeyAnYic6IDIgfSwgeyAnYSc6IDMgfSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgdmFyIGRlZmF1bHRzID0gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcblxuICAgICAgdmFyIGluZGV4ID0gLTE7XG4gICAgICB2YXIgbGVuZ3RoID0gc291cmNlcy5sZW5ndGg7XG4gICAgICB2YXIgZ3VhcmQgPSBsZW5ndGggPiAyID8gc291cmNlc1syXSA6IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHNvdXJjZXNbMF0sIHNvdXJjZXNbMV0sIGd1YXJkKSkge1xuICAgICAgICBsZW5ndGggPSAxO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07XG4gICAgICAgIHZhciBwcm9wcyA9IGtleXNJbihzb3VyY2UpO1xuICAgICAgICB2YXIgcHJvcHNJbmRleCA9IC0xO1xuICAgICAgICB2YXIgcHJvcHNMZW5ndGggPSBwcm9wcy5sZW5ndGg7XG5cbiAgICAgICAgd2hpbGUgKCsrcHJvcHNJbmRleCA8IHByb3BzTGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIGtleSA9IHByb3BzW3Byb3BzSW5kZXhdO1xuICAgICAgICAgIHZhciB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgKGVxKHZhbHVlLCBvYmplY3RQcm90b1trZXldKSAmJiAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSB7XG4gICAgICAgICAgICBvYmplY3Rba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5kZWZhdWx0c2AgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgYXNzaWduc1xuICAgICAqIGRlZmF1bHQgcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZGVmYXVsdHNcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWZhdWx0c0RlZXAoeyAnYSc6IHsgJ2InOiAyIH0gfSwgeyAnYSc6IHsgJ2InOiAxLCAnYyc6IDMgfSB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogeyAnYic6IDIsICdjJzogMyB9IH1cbiAgICAgKi9cbiAgICB2YXIgZGVmYXVsdHNEZWVwID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgYXJncy5wdXNoKHVuZGVmaW5lZCwgY3VzdG9tRGVmYXVsdHNNZXJnZSk7XG4gICAgICByZXR1cm4gYXBwbHkobWVyZ2VXaXRoLCB1bmRlZmluZWQsIGFyZ3MpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5maW5kYCBleGNlcHQgdGhhdCBpdCByZXR1cm5zIHRoZSBrZXkgb2YgdGhlIGZpcnN0XG4gICAgICogZWxlbWVudCBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfSBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIG1hdGNoZWQgZWxlbWVudCxcbiAgICAgKiAgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0ge1xuICAgICAqICAgJ2Jhcm5leSc6ICB7ICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgICdmcmVkJzogICAgeyAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgJ3BlYmJsZXMnOiB7ICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLmZpbmRLZXkodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlIDwgNDA7IH0pO1xuICAgICAqIC8vID0+ICdiYXJuZXknIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZEtleSh1c2VycywgeyAnYWdlJzogMSwgJ2FjdGl2ZSc6IHRydWUgfSk7XG4gICAgICogLy8gPT4gJ3BlYmJsZXMnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kS2V5KHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gJ2ZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRLZXkodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAnYmFybmV5J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbmRLZXkob2JqZWN0LCBwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiBiYXNlRmluZEtleShvYmplY3QsIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGJhc2VGb3JPd24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmluZEtleWAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGEgY29sbGVjdGlvbiBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfSBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIG1hdGNoZWQgZWxlbWVudCxcbiAgICAgKiAgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0ge1xuICAgICAqICAgJ2Jhcm5leSc6ICB7ICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgICdmcmVkJzogICAgeyAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgJ3BlYmJsZXMnOiB7ICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLmZpbmRMYXN0S2V5KHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLmFnZSA8IDQwOyB9KTtcbiAgICAgKiAvLyA9PiByZXR1cm5zICdwZWJibGVzJyBhc3N1bWluZyBgXy5maW5kS2V5YCByZXR1cm5zICdiYXJuZXknXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsIHsgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiAnYmFybmV5J1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiAnZnJlZCdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAncGViYmxlcydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaW5kTGFzdEtleShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIGJhc2VGaW5kS2V5KG9iamVjdCwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgYmFzZUZvck93blJpZ2h0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2YgYW5cbiAgICAgKiBvYmplY3QgYW5kIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgZWFjaCBwcm9wZXJ0eS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBrZXksIG9iamVjdCkuIEl0ZXJhdGVlIGZ1bmN0aW9ucyBtYXkgZXhpdFxuICAgICAqIGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZm9ySW5SaWdodFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5mb3JJbihuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2EnLCAnYicsIHRoZW4gJ2MnIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvckluKG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbFxuICAgICAgICA/IG9iamVjdFxuICAgICAgICA6IGJhc2VGb3Iob2JqZWN0LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMyksIGtleXNJbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mb3JJbmAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBwcm9wZXJ0aWVzIG9mXG4gICAgICogYG9iamVjdGAgaW4gdGhlIG9wcG9zaXRlIG9yZGVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZm9ySW5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8uZm9ySW5SaWdodChuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2MnLCAnYicsIHRoZW4gJ2EnIGFzc3VtaW5nIGBfLmZvckluYCBsb2dzICdhJywgJ2InLCB0aGVuICdjJy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmb3JJblJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbFxuICAgICAgICA/IG9iamVjdFxuICAgICAgICA6IGJhc2VGb3JSaWdodChvYmplY3QsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKSwga2V5c0luKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0aWVzIG9mIGFuIG9iamVjdCBhbmRcbiAgICAgKiBpbnZva2VzIGBpdGVyYXRlZWAgZm9yIGVhY2ggcHJvcGVydHkuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhyZWVcbiAgICAgKiBhcmd1bWVudHM6ICh2YWx1ZSwga2V5LCBvYmplY3QpLiBJdGVyYXRlZSBmdW5jdGlvbnMgbWF5IGV4aXQgaXRlcmF0aW9uXG4gICAgICogZWFybHkgYnkgZXhwbGljaXRseSByZXR1cm5pbmcgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjMuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQHNlZSBfLmZvck93blJpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLmZvck93bihuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2EnIHRoZW4gJ2InIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvck93bihvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3JPd24ob2JqZWN0LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZm9yT3duYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIHByb3BlcnRpZXMgb2ZcbiAgICAgKiBgb2JqZWN0YCBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5mb3JPd25cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8uZm9yT3duUmlnaHQobmV3IEZvbywgZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAqICAgY29uc29sZS5sb2coa2V5KTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiBMb2dzICdiJyB0aGVuICdhJyBhc3N1bWluZyBgXy5mb3JPd25gIGxvZ3MgJ2EnIHRoZW4gJ2InLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvck93blJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvck93blJpZ2h0KG9iamVjdCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZyb20gb3duIGVudW1lcmFibGUgcHJvcGVydGllc1xuICAgICAqIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgZnVuY3Rpb24gbmFtZXMuXG4gICAgICogQHNlZSBfLmZ1bmN0aW9uc0luXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IF8uY29uc3RhbnQoJ2EnKTtcbiAgICAgKiAgIHRoaXMuYiA9IF8uY29uc3RhbnQoJ2InKTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSBfLmNvbnN0YW50KCdjJyk7XG4gICAgICpcbiAgICAgKiBfLmZ1bmN0aW9ucyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYiddXG4gICAgICovXG4gICAgZnVuY3Rpb24gZnVuY3Rpb25zKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlRnVuY3Rpb25zKG9iamVjdCwga2V5cyhvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZyb20gb3duIGFuZCBpbmhlcml0ZWRcbiAgICAgKiBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBuYW1lcy5cbiAgICAgKiBAc2VlIF8uZnVuY3Rpb25zXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IF8uY29uc3RhbnQoJ2EnKTtcbiAgICAgKiAgIHRoaXMuYiA9IF8uY29uc3RhbnQoJ2InKTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSBfLmNvbnN0YW50KCdjJyk7XG4gICAgICpcbiAgICAgKiBfLmZ1bmN0aW9uc0luKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFsnYScsICdiJywgJ2MnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZ1bmN0aW9uc0luKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlRnVuY3Rpb25zKG9iamVjdCwga2V5c0luKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC4gSWYgdGhlIHJlc29sdmVkIHZhbHVlIGlzXG4gICAgICogYHVuZGVmaW5lZGAsIHRoZSBgZGVmYXVsdFZhbHVlYCBpcyByZXR1cm5lZCBpbiBpdHMgcGxhY2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy43LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBbZGVmYXVsdFZhbHVlXSBUaGUgdmFsdWUgcmV0dXJuZWQgZm9yIGB1bmRlZmluZWRgIHJlc29sdmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogMyB9IH1dIH07XG4gICAgICpcbiAgICAgKiBfLmdldChvYmplY3QsICdhWzBdLmIuYycpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8uZ2V0KG9iamVjdCwgWydhJywgJzAnLCAnYicsICdjJ10pO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8uZ2V0KG9iamVjdCwgJ2EuYi5jJywgJ2RlZmF1bHQnKTtcbiAgICAgKiAvLyA9PiAnZGVmYXVsdCdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXQob2JqZWN0LCBwYXRoLCBkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHZhciByZXN1bHQgPSBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IGJhc2VHZXQob2JqZWN0LCBwYXRoKTtcbiAgICAgIHJldHVybiByZXN1bHQgPT09IHVuZGVmaW5lZCA/IGRlZmF1bHRWYWx1ZSA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHBhdGhgIGlzIGEgZGlyZWN0IHByb3BlcnR5IG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHBhdGhgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IHsgJ2InOiAyIH0gfTtcbiAgICAgKiB2YXIgb3RoZXIgPSBfLmNyZWF0ZSh7ICdhJzogXy5jcmVhdGUoeyAnYic6IDIgfSkgfSk7XG4gICAgICpcbiAgICAgKiBfLmhhcyhvYmplY3QsICdhJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5oYXMob2JqZWN0LCAnYS5iJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5oYXMob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhcyhvdGhlciwgJ2EnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhcyhvYmplY3QsIHBhdGgpIHtcbiAgICAgIHJldHVybiBvYmplY3QgIT0gbnVsbCAmJiBoYXNQYXRoKG9iamVjdCwgcGF0aCwgYmFzZUhhcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBwYXRoYCBpcyBhIGRpcmVjdCBvciBpbmhlcml0ZWQgcHJvcGVydHkgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgcGF0aGAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSBfLmNyZWF0ZSh7ICdhJzogXy5jcmVhdGUoeyAnYic6IDIgfSkgfSk7XG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2EnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2EuYicpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaGFzSW4ob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2InKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc0luKG9iamVjdCwgcGF0aCkge1xuICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGhhc1BhdGgob2JqZWN0LCBwYXRoLCBiYXNlSGFzSW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZSBpbnZlcnRlZCBrZXlzIGFuZCB2YWx1ZXMgb2YgYG9iamVjdGAuXG4gICAgICogSWYgYG9iamVjdGAgY29udGFpbnMgZHVwbGljYXRlIHZhbHVlcywgc3Vic2VxdWVudCB2YWx1ZXMgb3ZlcndyaXRlXG4gICAgICogcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZlcnQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGludmVydGVkIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMSB9O1xuICAgICAqXG4gICAgICogXy5pbnZlcnQob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICcxJzogJ2MnLCAnMic6ICdiJyB9XG4gICAgICovXG4gICAgdmFyIGludmVydCA9IGNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiZcbiAgICAgICAgICB0eXBlb2YgdmFsdWUudG9TdHJpbmcgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB2YWx1ZSA9IG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXN1bHRbdmFsdWVdID0ga2V5O1xuICAgIH0sIGNvbnN0YW50KGlkZW50aXR5KSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmludmVydGAgZXhjZXB0IHRoYXQgdGhlIGludmVydGVkIG9iamVjdCBpcyBnZW5lcmF0ZWRcbiAgICAgKiBmcm9tIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmcgZWFjaCBlbGVtZW50IG9mIGBvYmplY3RgIHRocnUgYGl0ZXJhdGVlYC4gVGhlXG4gICAgICogY29ycmVzcG9uZGluZyBpbnZlcnRlZCB2YWx1ZSBvZiBlYWNoIGludmVydGVkIGtleSBpcyBhbiBhcnJheSBvZiBrZXlzXG4gICAgICogcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlIGludmVydGVkIHZhbHVlLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZFxuICAgICAqIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMS4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZlcnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBpbnZlcnRlZCBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uaW52ZXJ0Qnkob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICcxJzogWydhJywgJ2MnXSwgJzInOiBbJ2InXSB9XG4gICAgICpcbiAgICAgKiBfLmludmVydEJ5KG9iamVjdCwgZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiAnZ3JvdXAnICsgdmFsdWU7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnZ3JvdXAxJzogWydhJywgJ2MnXSwgJ2dyb3VwMic6IFsnYiddIH1cbiAgICAgKi9cbiAgICB2YXIgaW52ZXJ0QnkgPSBjcmVhdGVJbnZlcnRlcihmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmXG4gICAgICAgICAgdHlwZW9mIHZhbHVlLnRvU3RyaW5nICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdmFsdWUgPSBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LCB2YWx1ZSkpIHtcbiAgICAgICAgcmVzdWx0W3ZhbHVlXS5wdXNoKGtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHRbdmFsdWVdID0gW2tleV07XG4gICAgICB9XG4gICAgfSwgZ2V0SXRlcmF0ZWUpO1xuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgbWV0aG9kIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIG1ldGhvZCB0byBpbnZva2UuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgdGhlIG1ldGhvZCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGludm9rZWQgbWV0aG9kLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IFsxLCAyLCAzLCA0XSB9IH1dIH07XG4gICAgICpcbiAgICAgKiBfLmludm9rZShvYmplY3QsICdhWzBdLmIuYy5zbGljZScsIDEsIDMpO1xuICAgICAqIC8vID0+IFsyLCAzXVxuICAgICAqL1xuICAgIHZhciBpbnZva2UgPSBiYXNlUmVzdChiYXNlSW52b2tlKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBlbnVtZXJhYmxlIHByb3BlcnR5IG5hbWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuIFNlZSB0aGVcbiAgICAgKiBbRVMgc3BlY10oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LmtleXMpXG4gICAgICogZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8ua2V5cyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYiddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiBfLmtleXMoJ2hpJyk7XG4gICAgICogLy8gPT4gWycwJywgJzEnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGtleXMob2JqZWN0KSB7XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0KSA6IGJhc2VLZXlzKG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBOb24tb2JqZWN0IHZhbHVlcyBhcmUgY29lcmNlZCB0byBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5rZXlzSW4obmV3IEZvbyk7XG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICovXG4gICAgZnVuY3Rpb24ga2V5c0luKG9iamVjdCkge1xuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlKG9iamVjdCkgPyBhcnJheUxpa2VLZXlzKG9iamVjdCwgdHJ1ZSkgOiBiYXNlS2V5c0luKG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLm1hcFZhbHVlc2A7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdGhlXG4gICAgICogc2FtZSB2YWx1ZXMgYXMgYG9iamVjdGAgYW5kIGtleXMgZ2VuZXJhdGVkIGJ5IHJ1bm5pbmcgZWFjaCBvd24gZW51bWVyYWJsZVxuICAgICAqIHN0cmluZyBrZXllZCBwcm9wZXJ0eSBvZiBgb2JqZWN0YCB0aHJ1IGBpdGVyYXRlZWAuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwga2V5LCBvYmplY3QpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBvYmplY3QuXG4gICAgICogQHNlZSBfLm1hcFZhbHVlc1xuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLm1hcEtleXMoeyAnYSc6IDEsICdiJzogMiB9LCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICByZXR1cm4ga2V5ICsgdmFsdWU7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnYTEnOiAxLCAnYjInOiAyIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBLZXlzKG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHZhciByZXN1bHQgPSB7fTtcbiAgICAgIGl0ZXJhdGVlID0gZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpO1xuXG4gICAgICBiYXNlRm9yT3duKG9iamVjdCwgZnVuY3Rpb24odmFsdWUsIGtleSwgb2JqZWN0KSB7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsIGl0ZXJhdGVlKHZhbHVlLCBrZXksIG9iamVjdCksIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lIGtleXMgYXMgYG9iamVjdGAgYW5kIHZhbHVlcyBnZW5lcmF0ZWRcbiAgICAgKiBieSBydW5uaW5nIGVhY2ggb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnR5IG9mIGBvYmplY3RgIHRocnVcbiAgICAgKiBgaXRlcmF0ZWVgLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czpcbiAgICAgKiAodmFsdWUsIGtleSwgb2JqZWN0KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgb2JqZWN0LlxuICAgICAqIEBzZWUgXy5tYXBLZXlzXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IHtcbiAgICAgKiAgICdmcmVkJzogICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwIH0sXG4gICAgICogICAncGViYmxlcyc6IHsgJ3VzZXInOiAncGViYmxlcycsICdhZ2UnOiAxIH1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogXy5tYXBWYWx1ZXModXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlOyB9KTtcbiAgICAgKiAvLyA9PiB7ICdmcmVkJzogNDAsICdwZWJibGVzJzogMSB9IChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1hcFZhbHVlcyh1c2VycywgJ2FnZScpO1xuICAgICAqIC8vID0+IHsgJ2ZyZWQnOiA0MCwgJ3BlYmJsZXMnOiAxIH0gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBWYWx1ZXMob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgICAgaXRlcmF0ZWUgPSBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMyk7XG5cbiAgICAgIGJhc2VGb3JPd24ob2JqZWN0LCBmdW5jdGlvbih2YWx1ZSwga2V5LCBvYmplY3QpIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCBpdGVyYXRlZSh2YWx1ZSwga2V5LCBvYmplY3QpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmFzc2lnbmAgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgbWVyZ2VzIG93biBhbmRcbiAgICAgKiBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBvZiBzb3VyY2Ugb2JqZWN0cyBpbnRvIHRoZVxuICAgICAqIGRlc3RpbmF0aW9uIG9iamVjdC4gU291cmNlIHByb3BlcnRpZXMgdGhhdCByZXNvbHZlIHRvIGB1bmRlZmluZWRgIGFyZVxuICAgICAqIHNraXBwZWQgaWYgYSBkZXN0aW5hdGlvbiB2YWx1ZSBleGlzdHMuIEFycmF5IGFuZCBwbGFpbiBvYmplY3QgcHJvcGVydGllc1xuICAgICAqIGFyZSBtZXJnZWQgcmVjdXJzaXZlbHkuIE90aGVyIG9iamVjdHMgYW5kIHZhbHVlIHR5cGVzIGFyZSBvdmVycmlkZGVuIGJ5XG4gICAgICogYXNzaWdubWVudC4gU291cmNlIG9iamVjdHMgYXJlIGFwcGxpZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBTdWJzZXF1ZW50XG4gICAgICogc291cmNlcyBvdmVyd3JpdGUgcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgc291cmNlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNS4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0ge1xuICAgICAqICAgJ2EnOiBbeyAnYic6IDIgfSwgeyAnZCc6IDQgfV1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogdmFyIG90aGVyID0ge1xuICAgICAqICAgJ2EnOiBbeyAnYyc6IDMgfSwgeyAnZSc6IDUgfV1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogXy5tZXJnZShvYmplY3QsIG90aGVyKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogW3sgJ2InOiAyLCAnYyc6IDMgfSwgeyAnZCc6IDQsICdlJzogNSB9XSB9XG4gICAgICovXG4gICAgdmFyIG1lcmdlID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4KSB7XG4gICAgICBiYXNlTWVyZ2Uob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubWVyZ2VgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBtZXJnZWQgdmFsdWVzIG9mIHRoZSBkZXN0aW5hdGlvbiBhbmQgc291cmNlXG4gICAgICogcHJvcGVydGllcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGAsIG1lcmdpbmcgaXMgaGFuZGxlZCBieSB0aGVcbiAgICAgKiBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYCBpcyBpbnZva2VkIHdpdGggc2l4IGFyZ3VtZW50czpcbiAgICAgKiAob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCwgc291cmNlLCBzdGFjaykuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IHNvdXJjZXMgVGhlIHNvdXJjZSBvYmplY3RzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGN1c3RvbWl6ZXIgVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAgICAgKiAgIGlmIChfLmlzQXJyYXkob2JqVmFsdWUpKSB7XG4gICAgICogICAgIHJldHVybiBvYmpWYWx1ZS5jb25jYXQoc3JjVmFsdWUpO1xuICAgICAqICAgfVxuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogWzFdLCAnYic6IFsyXSB9O1xuICAgICAqIHZhciBvdGhlciA9IHsgJ2EnOiBbM10sICdiJzogWzRdIH07XG4gICAgICpcbiAgICAgKiBfLm1lcmdlV2l0aChvYmplY3QsIG90aGVyLCBjdXN0b21pemVyKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogWzEsIDNdLCAnYic6IFsyLCA0XSB9XG4gICAgICovXG4gICAgdmFyIG1lcmdlV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgYmFzZU1lcmdlKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcik7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8ucGlja2A7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZVxuICAgICAqIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydHkgcGF0aHMgb2YgYG9iamVjdGAgdGhhdCBhcmUgbm90IG9taXR0ZWQuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgY29uc2lkZXJhYmx5IHNsb3dlciB0aGFuIGBfLnBpY2tgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gW3BhdGhzXSBUaGUgcHJvcGVydHkgcGF0aHMgdG8gb21pdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ub21pdChvYmplY3QsIFsnYScsICdjJ10pO1xuICAgICAqIC8vID0+IHsgJ2InOiAnMicgfVxuICAgICAqL1xuICAgIHZhciBvbWl0ID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBwYXRocykge1xuICAgICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICB2YXIgaXNEZWVwID0gZmFsc2U7XG4gICAgICBwYXRocyA9IGFycmF5TWFwKHBhdGhzLCBmdW5jdGlvbihwYXRoKSB7XG4gICAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgICBpc0RlZXAgfHwgKGlzRGVlcCA9IHBhdGgubGVuZ3RoID4gMSk7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgfSk7XG4gICAgICBjb3B5T2JqZWN0KG9iamVjdCwgZ2V0QWxsS2V5c0luKG9iamVjdCksIHJlc3VsdCk7XG4gICAgICBpZiAoaXNEZWVwKSB7XG4gICAgICAgIHJlc3VsdCA9IGJhc2VDbG9uZShyZXN1bHQsIENMT05FX0RFRVBfRkxBRyB8IENMT05FX0ZMQVRfRkxBRyB8IENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9tT21pdENsb25lKTtcbiAgICAgIH1cbiAgICAgIHZhciBsZW5ndGggPSBwYXRocy5sZW5ndGg7XG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgYmFzZVVuc2V0KHJlc3VsdCwgcGF0aHNbbGVuZ3RoXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLnBpY2tCeWA7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mXG4gICAgICogdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2YgYG9iamVjdGAgdGhhdFxuICAgICAqIGBwcmVkaWNhdGVgIGRvZXNuJ3QgcmV0dXJuIHRydXRoeSBmb3IuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoIHR3b1xuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBrZXkpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgcHJvcGVydHkuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6ICcyJywgJ2MnOiAzIH07XG4gICAgICpcbiAgICAgKiBfLm9taXRCeShvYmplY3QsIF8uaXNOdW1iZXIpO1xuICAgICAqIC8vID0+IHsgJ2InOiAnMicgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG9taXRCeShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIHBpY2tCeShvYmplY3QsIG5lZ2F0ZShnZXRJdGVyYXRlZShwcmVkaWNhdGUpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2YgdGhlIHBpY2tlZCBgb2JqZWN0YCBwcm9wZXJ0aWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gW3BhdGhzXSBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ucGljayhvYmplY3QsIFsnYScsICdjJ10pO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYyc6IDMgfVxuICAgICAqL1xuICAgIHZhciBwaWNrID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBwYXRocykge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8ge30gOiBiYXNlUGljayhvYmplY3QsIHBhdGhzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZSBgb2JqZWN0YCBwcm9wZXJ0aWVzIGBwcmVkaWNhdGVgIHJldHVybnNcbiAgICAgKiB0cnV0aHkgZm9yLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0d28gYXJndW1lbnRzOiAodmFsdWUsIGtleSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBwcm9wZXJ0eS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ucGlja0J5KG9iamVjdCwgXy5pc051bWJlcik7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdjJzogMyB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gcGlja0J5KG9iamVjdCwgcHJlZGljYXRlKSB7XG4gICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgdmFyIHByb3BzID0gYXJyYXlNYXAoZ2V0QWxsS2V5c0luKG9iamVjdCksIGZ1bmN0aW9uKHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFtwcm9wXTtcbiAgICAgIH0pO1xuICAgICAgcHJlZGljYXRlID0gZ2V0SXRlcmF0ZWUocHJlZGljYXRlKTtcbiAgICAgIHJldHVybiBiYXNlUGlja0J5KG9iamVjdCwgcHJvcHMsIGZ1bmN0aW9uKHZhbHVlLCBwYXRoKSB7XG4gICAgICAgIHJldHVybiBwcmVkaWNhdGUodmFsdWUsIHBhdGhbMF0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5nZXRgIGV4Y2VwdCB0aGF0IGlmIHRoZSByZXNvbHZlZCB2YWx1ZSBpcyBhXG4gICAgICogZnVuY3Rpb24gaXQncyBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIGl0cyBwYXJlbnQgb2JqZWN0IGFuZFxuICAgICAqIGl0cyByZXN1bHQgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byByZXNvbHZlLlxuICAgICAqIEBwYXJhbSB7Kn0gW2RlZmF1bHRWYWx1ZV0gVGhlIHZhbHVlIHJldHVybmVkIGZvciBgdW5kZWZpbmVkYCByZXNvbHZlZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYzEnOiAzLCAnYzInOiBfLmNvbnN0YW50KDQpIH0gfV0gfTtcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMScpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMicpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMycsICdkZWZhdWx0Jyk7XG4gICAgICogLy8gPT4gJ2RlZmF1bHQnXG4gICAgICpcbiAgICAgKiBfLnJlc3VsdChvYmplY3QsICdhWzBdLmIuYzMnLCBfLmNvbnN0YW50KCdkZWZhdWx0JykpO1xuICAgICAqIC8vID0+ICdkZWZhdWx0J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlc3VsdChvYmplY3QsIHBhdGgsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGxvb3AgaXMgZW50ZXJlZCB3aGVuIHBhdGggaXMgZW1wdHkuXG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICBsZW5ndGggPSAxO1xuICAgICAgICBvYmplY3QgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFt0b0tleShwYXRoW2luZGV4XSldO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGluZGV4ID0gbGVuZ3RoO1xuICAgICAgICAgIHZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIG9iamVjdCA9IGlzRnVuY3Rpb24odmFsdWUpID8gdmFsdWUuY2FsbChvYmplY3QpIDogdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC4gSWYgYSBwb3J0aW9uIG9mIGBwYXRoYCBkb2Vzbid0IGV4aXN0LFxuICAgICAqIGl0J3MgY3JlYXRlZC4gQXJyYXlzIGFyZSBjcmVhdGVkIGZvciBtaXNzaW5nIGluZGV4IHByb3BlcnRpZXMgd2hpbGUgb2JqZWN0c1xuICAgICAqIGFyZSBjcmVhdGVkIGZvciBhbGwgb3RoZXIgbWlzc2luZyBwcm9wZXJ0aWVzLiBVc2UgYF8uc2V0V2l0aGAgdG8gY3VzdG9taXplXG4gICAgICogYHBhdGhgIGNyZWF0aW9uLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy43LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IDMgfSB9XSB9O1xuICAgICAqXG4gICAgICogXy5zZXQob2JqZWN0LCAnYVswXS5iLmMnLCA0KTtcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3QuYVswXS5iLmMpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKlxuICAgICAqIF8uc2V0KG9iamVjdCwgWyd4JywgJzAnLCAneScsICd6J10sIDUpO1xuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdC54WzBdLnkueik7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldChvYmplY3QsIHBhdGgsIHZhbHVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc2V0YCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjdXN0b21pemVyYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgdG8gcHJvZHVjZSB0aGUgb2JqZWN0cyBvZiBgcGF0aGAuICBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYFxuICAgICAqIHBhdGggY3JlYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdGhyZWUgYXJndW1lbnRzOiAobnNWYWx1ZSwga2V5LCBuc09iamVjdCkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0ge307XG4gICAgICpcbiAgICAgKiBfLnNldFdpdGgob2JqZWN0LCAnWzBdWzFdJywgJ2EnLCBPYmplY3QpO1xuICAgICAqIC8vID0+IHsgJzAnOiB7ICcxJzogJ2EnIH0gfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldFdpdGgob2JqZWN0LCBwYXRoLCB2YWx1ZSwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gb2JqZWN0IDogYmFzZVNldChvYmplY3QsIHBhdGgsIHZhbHVlLCBjdXN0b21pemVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZC12YWx1ZSBwYWlycyBmb3IgYG9iamVjdGBcbiAgICAgKiB3aGljaCBjYW4gYmUgY29uc3VtZWQgYnkgYF8uZnJvbVBhaXJzYC4gSWYgYG9iamVjdGAgaXMgYSBtYXAgb3Igc2V0LCBpdHNcbiAgICAgKiBlbnRyaWVzIGFyZSByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBhbGlhcyBlbnRyaWVzXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8udG9QYWlycyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbWydhJywgMV0sIFsnYicsIDJdXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIHZhciB0b1BhaXJzID0gY3JlYXRlVG9QYWlycyhrZXlzKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQtdmFsdWUgcGFpcnNcbiAgICAgKiBmb3IgYG9iamVjdGAgd2hpY2ggY2FuIGJlIGNvbnN1bWVkIGJ5IGBfLmZyb21QYWlyc2AuIElmIGBvYmplY3RgIGlzIGEgbWFwXG4gICAgICogb3Igc2V0LCBpdHMgZW50cmllcyBhcmUgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAYWxpYXMgZW50cmllc0luXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8udG9QYWlyc0luKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFtbJ2EnLCAxXSwgWydiJywgMl0sIFsnYycsIDNdXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIHZhciB0b1BhaXJzSW4gPSBjcmVhdGVUb1BhaXJzKGtleXNJbik7XG5cbiAgICAvKipcbiAgICAgKiBBbiBhbHRlcm5hdGl2ZSB0byBgXy5yZWR1Y2VgOyB0aGlzIG1ldGhvZCB0cmFuc2Zvcm1zIGBvYmplY3RgIHRvIGEgbmV3XG4gICAgICogYGFjY3VtdWxhdG9yYCBvYmplY3Qgd2hpY2ggaXMgdGhlIHJlc3VsdCBvZiBydW5uaW5nIGVhY2ggb2YgaXRzIG93blxuICAgICAqIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgdGhydSBgaXRlcmF0ZWVgLCB3aXRoIGVhY2ggaW52b2NhdGlvblxuICAgICAqIHBvdGVudGlhbGx5IG11dGF0aW5nIHRoZSBgYWNjdW11bGF0b3JgIG9iamVjdC4gSWYgYGFjY3VtdWxhdG9yYCBpcyBub3RcbiAgICAgKiBwcm92aWRlZCwgYSBuZXcgb2JqZWN0IHdpdGggdGhlIHNhbWUgYFtbUHJvdG90eXBlXV1gIHdpbGwgYmUgdXNlZC4gVGhlXG4gICAgICogaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIGZvdXIgYXJndW1lbnRzOiAoYWNjdW11bGF0b3IsIHZhbHVlLCBrZXksIG9iamVjdCkuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsqfSBbYWNjdW11bGF0b3JdIFRoZSBjdXN0b20gYWNjdW11bGF0b3IgdmFsdWUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGFjY3VtdWxhdGVkIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyYW5zZm9ybShbMiwgMywgNF0sIGZ1bmN0aW9uKHJlc3VsdCwgbikge1xuICAgICAqICAgcmVzdWx0LnB1c2gobiAqPSBuKTtcbiAgICAgKiAgIHJldHVybiBuICUgMiA9PSAwO1xuICAgICAqIH0sIFtdKTtcbiAgICAgKiAvLyA9PiBbNCwgOV1cbiAgICAgKlxuICAgICAqIF8udHJhbnNmb3JtKHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMSB9LCBmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIChyZXN1bHRbdmFsdWVdIHx8IChyZXN1bHRbdmFsdWVdID0gW10pKS5wdXNoKGtleSk7XG4gICAgICogfSwge30pO1xuICAgICAqIC8vID0+IHsgJzEnOiBbJ2EnLCAnYyddLCAnMic6IFsnYiddIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm0ob2JqZWN0LCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkob2JqZWN0KSxcbiAgICAgICAgICBpc0Fyckxpa2UgPSBpc0FyciB8fCBpc0J1ZmZlcihvYmplY3QpIHx8IGlzVHlwZWRBcnJheShvYmplY3QpO1xuXG4gICAgICBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCA0KTtcbiAgICAgIGlmIChhY2N1bXVsYXRvciA9PSBudWxsKSB7XG4gICAgICAgIHZhciBDdG9yID0gb2JqZWN0ICYmIG9iamVjdC5jb25zdHJ1Y3RvcjtcbiAgICAgICAgaWYgKGlzQXJyTGlrZSkge1xuICAgICAgICAgIGFjY3VtdWxhdG9yID0gaXNBcnIgPyBuZXcgQ3RvciA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgICBhY2N1bXVsYXRvciA9IGlzRnVuY3Rpb24oQ3RvcikgPyBiYXNlQ3JlYXRlKGdldFByb3RvdHlwZShvYmplY3QpKSA6IHt9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGFjY3VtdWxhdG9yID0ge307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIChpc0Fyckxpa2UgPyBhcnJheUVhY2ggOiBiYXNlRm9yT3duKShvYmplY3QsIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgb2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBpdGVyYXRlZShhY2N1bXVsYXRvciwgdmFsdWUsIGluZGV4LCBvYmplY3QpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUgcHJvcGVydHkgYXQgYHBhdGhgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gdW5zZXQuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSBpcyBkZWxldGVkLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogNyB9IH1dIH07XG4gICAgICogXy51bnNldChvYmplY3QsICdhWzBdLmIuYycpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdCk7XG4gICAgICogLy8gPT4geyAnYSc6IFt7ICdiJzoge30gfV0gfTtcbiAgICAgKlxuICAgICAqIF8udW5zZXQob2JqZWN0LCBbJ2EnLCAnMCcsICdiJywgJ2MnXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogW3sgJ2InOiB7fSB9XSB9O1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuc2V0KG9iamVjdCwgcGF0aCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdHJ1ZSA6IGJhc2VVbnNldChvYmplY3QsIHBhdGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc2V0YCBleGNlcHQgdGhhdCBhY2NlcHRzIGB1cGRhdGVyYCB0byBwcm9kdWNlIHRoZVxuICAgICAqIHZhbHVlIHRvIHNldC4gVXNlIGBfLnVwZGF0ZVdpdGhgIHRvIGN1c3RvbWl6ZSBgcGF0aGAgY3JlYXRpb24uIFRoZSBgdXBkYXRlcmBcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHVwZGF0ZXIgVGhlIGZ1bmN0aW9uIHRvIHByb2R1Y2UgdGhlIHVwZGF0ZWQgdmFsdWUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiBbeyAnYic6IHsgJ2MnOiAzIH0gfV0gfTtcbiAgICAgKlxuICAgICAqIF8udXBkYXRlKG9iamVjdCwgJ2FbMF0uYi5jJywgZnVuY3Rpb24obikgeyByZXR1cm4gbiAqIG47IH0pO1xuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdC5hWzBdLmIuYyk7XG4gICAgICogLy8gPT4gOVxuICAgICAqXG4gICAgICogXy51cGRhdGUob2JqZWN0LCAneFswXS55LnonLCBmdW5jdGlvbihuKSB7IHJldHVybiBuID8gbiArIDEgOiAwOyB9KTtcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3QueFswXS55LnopO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1cGRhdGUob2JqZWN0LCBwYXRoLCB1cGRhdGVyKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgY2FzdEZ1bmN0aW9uKHVwZGF0ZXIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVwZGF0ZWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIG9iamVjdHMgb2YgYHBhdGhgLiAgSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGBcbiAgICAgKiBwYXRoIGNyZWF0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKG5zVmFsdWUsIGtleSwgbnNPYmplY3QpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHVwZGF0ZXIgVGhlIGZ1bmN0aW9uIHRvIHByb2R1Y2UgdGhlIHVwZGF0ZWQgdmFsdWUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgYXNzaWduZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7fTtcbiAgICAgKlxuICAgICAqIF8udXBkYXRlV2l0aChvYmplY3QsICdbMF1bMV0nLCBfLmNvbnN0YW50KCdhJyksIE9iamVjdCk7XG4gICAgICogLy8gPT4geyAnMCc6IHsgJzEnOiAnYScgfSB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gdXBkYXRlV2l0aChvYmplY3QsIHBhdGgsIHVwZGF0ZXIsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IG9iamVjdCA6IGJhc2VVcGRhdGUob2JqZWN0LCBwYXRoLCBjYXN0RnVuY3Rpb24odXBkYXRlciksIGN1c3RvbWl6ZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0eSB2YWx1ZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLnZhbHVlcyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbMSwgMl0gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKlxuICAgICAqIF8udmFsdWVzKCdoaScpO1xuICAgICAqIC8vID0+IFsnaCcsICdpJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB2YWx1ZXMob2JqZWN0KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBbXSA6IGJhc2VWYWx1ZXMob2JqZWN0LCBrZXlzKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnR5XG4gICAgICogdmFsdWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy52YWx1ZXNJbihuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM10gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB2YWx1ZXNJbihvYmplY3QpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IFtdIDogYmFzZVZhbHVlcyhvYmplY3QsIGtleXNJbihvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDbGFtcHMgYG51bWJlcmAgd2l0aGluIHRoZSBpbmNsdXNpdmUgYGxvd2VyYCBhbmQgYHVwcGVyYCBib3VuZHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTnVtYmVyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIGNsYW1wLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbG93ZXJdIFRoZSBsb3dlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdXBwZXIgVGhlIHVwcGVyIGJvdW5kLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNsYW1wZWQgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNsYW1wKC0xMCwgLTUsIDUpO1xuICAgICAqIC8vID0+IC01XG4gICAgICpcbiAgICAgKiBfLmNsYW1wKDEwLCAtNSwgNSk7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsYW1wKG51bWJlciwgbG93ZXIsIHVwcGVyKSB7XG4gICAgICBpZiAodXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB1cHBlciA9IGxvd2VyO1xuICAgICAgICBsb3dlciA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmICh1cHBlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHVwcGVyID0gdG9OdW1iZXIodXBwZXIpO1xuICAgICAgICB1cHBlciA9IHVwcGVyID09PSB1cHBlciA/IHVwcGVyIDogMDtcbiAgICAgIH1cbiAgICAgIGlmIChsb3dlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxvd2VyID0gdG9OdW1iZXIobG93ZXIpO1xuICAgICAgICBsb3dlciA9IGxvd2VyID09PSBsb3dlciA/IGxvd2VyIDogMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlQ2xhbXAodG9OdW1iZXIobnVtYmVyKSwgbG93ZXIsIHVwcGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYG5gIGlzIGJldHdlZW4gYHN0YXJ0YCBhbmQgdXAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nLCBgZW5kYC4gSWZcbiAgICAgKiBgZW5kYCBpcyBub3Qgc3BlY2lmaWVkLCBpdCdzIHNldCB0byBgc3RhcnRgIHdpdGggYHN0YXJ0YCB0aGVuIHNldCB0byBgMGAuXG4gICAgICogSWYgYHN0YXJ0YCBpcyBncmVhdGVyIHRoYW4gYGVuZGAgdGhlIHBhcmFtcyBhcmUgc3dhcHBlZCB0byBzdXBwb3J0XG4gICAgICogbmVnYXRpdmUgcmFuZ2VzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMy4wXG4gICAgICogQGNhdGVnb3J5IE51bWJlclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBudW1iZXIgVGhlIG51bWJlciB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGVuZCBUaGUgZW5kIG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG51bWJlcmAgaXMgaW4gdGhlIHJhbmdlLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQHNlZSBfLnJhbmdlLCBfLnJhbmdlUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDMsIDIsIDQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSg0LCA4KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmluUmFuZ2UoNCwgMik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSgyLCAyKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDEuMiwgMik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDUuMiwgNCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSgtMywgLTIsIC02KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5SYW5nZShudW1iZXIsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHN0YXJ0ID0gdG9GaW5pdGUoc3RhcnQpO1xuICAgICAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVuZCA9IHN0YXJ0O1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbmQgPSB0b0Zpbml0ZShlbmQpO1xuICAgICAgfVxuICAgICAgbnVtYmVyID0gdG9OdW1iZXIobnVtYmVyKTtcbiAgICAgIHJldHVybiBiYXNlSW5SYW5nZShudW1iZXIsIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2R1Y2VzIGEgcmFuZG9tIG51bWJlciBiZXR3ZWVuIHRoZSBpbmNsdXNpdmUgYGxvd2VyYCBhbmQgYHVwcGVyYCBib3VuZHMuXG4gICAgICogSWYgb25seSBvbmUgYXJndW1lbnQgaXMgcHJvdmlkZWQgYSBudW1iZXIgYmV0d2VlbiBgMGAgYW5kIHRoZSBnaXZlbiBudW1iZXJcbiAgICAgKiBpcyByZXR1cm5lZC4gSWYgYGZsb2F0aW5nYCBpcyBgdHJ1ZWAsIG9yIGVpdGhlciBgbG93ZXJgIG9yIGB1cHBlcmAgYXJlXG4gICAgICogZmxvYXRzLCBhIGZsb2F0aW5nLXBvaW50IG51bWJlciBpcyByZXR1cm5lZCBpbnN0ZWFkIG9mIGFuIGludGVnZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSmF2YVNjcmlwdCBmb2xsb3dzIHRoZSBJRUVFLTc1NCBzdGFuZGFyZCBmb3IgcmVzb2x2aW5nXG4gICAgICogZmxvYXRpbmctcG9pbnQgdmFsdWVzIHdoaWNoIGNhbiBwcm9kdWNlIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjcuMFxuICAgICAqIEBjYXRlZ29yeSBOdW1iZXJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2xvd2VyPTBdIFRoZSBsb3dlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3VwcGVyPTFdIFRoZSB1cHBlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmbG9hdGluZ10gU3BlY2lmeSByZXR1cm5pbmcgYSBmbG9hdGluZy1wb2ludCBudW1iZXIuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcmFuZG9tIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yYW5kb20oMCwgNSk7XG4gICAgICogLy8gPT4gYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDVcbiAgICAgKlxuICAgICAqIF8ucmFuZG9tKDUpO1xuICAgICAqIC8vID0+IGFsc28gYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDVcbiAgICAgKlxuICAgICAqIF8ucmFuZG9tKDUsIHRydWUpO1xuICAgICAqIC8vID0+IGEgZmxvYXRpbmctcG9pbnQgbnVtYmVyIGJldHdlZW4gMCBhbmQgNVxuICAgICAqXG4gICAgICogXy5yYW5kb20oMS4yLCA1LjIpO1xuICAgICAqIC8vID0+IGEgZmxvYXRpbmctcG9pbnQgbnVtYmVyIGJldHdlZW4gMS4yIGFuZCA1LjJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiByYW5kb20obG93ZXIsIHVwcGVyLCBmbG9hdGluZykge1xuICAgICAgaWYgKGZsb2F0aW5nICYmIHR5cGVvZiBmbG9hdGluZyAhPSAnYm9vbGVhbicgJiYgaXNJdGVyYXRlZUNhbGwobG93ZXIsIHVwcGVyLCBmbG9hdGluZykpIHtcbiAgICAgICAgdXBwZXIgPSBmbG9hdGluZyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmIChmbG9hdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdXBwZXIgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgZmxvYXRpbmcgPSB1cHBlcjtcbiAgICAgICAgICB1cHBlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgbG93ZXIgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgZmxvYXRpbmcgPSBsb3dlcjtcbiAgICAgICAgICBsb3dlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGxvd2VyID09PSB1bmRlZmluZWQgJiYgdXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsb3dlciA9IDA7XG4gICAgICAgIHVwcGVyID0gMTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBsb3dlciA9IHRvRmluaXRlKGxvd2VyKTtcbiAgICAgICAgaWYgKHVwcGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB1cHBlciA9IGxvd2VyO1xuICAgICAgICAgIGxvd2VyID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cHBlciA9IHRvRmluaXRlKHVwcGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGxvd2VyID4gdXBwZXIpIHtcbiAgICAgICAgdmFyIHRlbXAgPSBsb3dlcjtcbiAgICAgICAgbG93ZXIgPSB1cHBlcjtcbiAgICAgICAgdXBwZXIgPSB0ZW1wO1xuICAgICAgfVxuICAgICAgaWYgKGZsb2F0aW5nIHx8IGxvd2VyICUgMSB8fCB1cHBlciAlIDEpIHtcbiAgICAgICAgdmFyIHJhbmQgPSBuYXRpdmVSYW5kb20oKTtcbiAgICAgICAgcmV0dXJuIG5hdGl2ZU1pbihsb3dlciArIChyYW5kICogKHVwcGVyIC0gbG93ZXIgKyBmcmVlUGFyc2VGbG9hdCgnMWUtJyArICgocmFuZCArICcnKS5sZW5ndGggLSAxKSkpKSwgdXBwZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VSYW5kb20obG93ZXIsIHVwcGVyKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBbY2FtZWwgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FtZWxDYXNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNhbWVsIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jYW1lbENhc2UoJ0ZvbyBCYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vQmFyJ1xuICAgICAqXG4gICAgICogXy5jYW1lbENhc2UoJy0tZm9vLWJhci0tJyk7XG4gICAgICogLy8gPT4gJ2Zvb0JhcidcbiAgICAgKlxuICAgICAqIF8uY2FtZWxDYXNlKCdfX0ZPT19CQVJfXycpO1xuICAgICAqIC8vID0+ICdmb29CYXInXG4gICAgICovXG4gICAgdmFyIGNhbWVsQ2FzZSA9IGNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LCB3b3JkLCBpbmRleCkge1xuICAgICAgd29yZCA9IHdvcmQudG9Mb3dlckNhc2UoKTtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyBjYXBpdGFsaXplKHdvcmQpIDogd29yZCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGBzdHJpbmdgIHRvIHVwcGVyIGNhc2UgYW5kIHRoZSByZW1haW5pbmdcbiAgICAgKiB0byBsb3dlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNhcGl0YWxpemUuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY2FwaXRhbGl6ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNhcGl0YWxpemUoJ0ZSRUQnKTtcbiAgICAgKiAvLyA9PiAnRnJlZCdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXBpdGFsaXplKHN0cmluZykge1xuICAgICAgcmV0dXJuIHVwcGVyRmlyc3QodG9TdHJpbmcoc3RyaW5nKS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWJ1cnJzIGBzdHJpbmdgIGJ5IGNvbnZlcnRpbmdcbiAgICAgKiBbTGF0aW4tMSBTdXBwbGVtZW50XShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MYXRpbi0xX1N1cHBsZW1lbnRfKFVuaWNvZGVfYmxvY2spI0NoYXJhY3Rlcl90YWJsZSlcbiAgICAgKiBhbmQgW0xhdGluIEV4dGVuZGVkLUFdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xhdGluX0V4dGVuZGVkLUEpXG4gICAgICogbGV0dGVycyB0byBiYXNpYyBMYXRpbiBsZXR0ZXJzIGFuZCByZW1vdmluZ1xuICAgICAqIFtjb21iaW5pbmcgZGlhY3JpdGljYWwgbWFya3NdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbWJpbmluZ19EaWFjcml0aWNhbF9NYXJrcykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gZGVidXJyLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGRlYnVycmVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWJ1cnIoJ2TDqWrDoCB2dScpO1xuICAgICAqIC8vID0+ICdkZWphIHZ1J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRlYnVycihzdHJpbmcpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICByZXR1cm4gc3RyaW5nICYmIHN0cmluZy5yZXBsYWNlKHJlTGF0aW4sIGRlYnVyckxldHRlcikucmVwbGFjZShyZUNvbWJvTWFyaywgJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgc3RyaW5nYCBlbmRzIHdpdGggdGhlIGdpdmVuIHRhcmdldCBzdHJpbmcuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3RhcmdldF0gVGhlIHN0cmluZyB0byBzZWFyY2ggZm9yLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcG9zaXRpb249c3RyaW5nLmxlbmd0aF0gVGhlIHBvc2l0aW9uIHRvIHNlYXJjaCB1cCB0by5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHN0cmluZ2AgZW5kcyB3aXRoIGB0YXJnZXRgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZW5kc1dpdGgoJ2FiYycsICdjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5lbmRzV2l0aCgnYWJjJywgJ2InKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5lbmRzV2l0aCgnYWJjJywgJ2InLCAyKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gZW5kc1dpdGgoc3RyaW5nLCB0YXJnZXQsIHBvc2l0aW9uKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgdGFyZ2V0ID0gYmFzZVRvU3RyaW5nKHRhcmdldCk7XG5cbiAgICAgIHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoO1xuICAgICAgcG9zaXRpb24gPSBwb3NpdGlvbiA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gbGVuZ3RoXG4gICAgICAgIDogYmFzZUNsYW1wKHRvSW50ZWdlcihwb3NpdGlvbiksIDAsIGxlbmd0aCk7XG5cbiAgICAgIHZhciBlbmQgPSBwb3NpdGlvbjtcbiAgICAgIHBvc2l0aW9uIC09IHRhcmdldC5sZW5ndGg7XG4gICAgICByZXR1cm4gcG9zaXRpb24gPj0gMCAmJiBzdHJpbmcuc2xpY2UocG9zaXRpb24sIGVuZCkgPT0gdGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoZSBjaGFyYWN0ZXJzIFwiJlwiLCBcIjxcIiwgXCI+XCIsICdcIicsIGFuZCBcIidcIiBpbiBgc3RyaW5nYCB0byB0aGVpclxuICAgICAqIGNvcnJlc3BvbmRpbmcgSFRNTCBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBObyBvdGhlciBjaGFyYWN0ZXJzIGFyZSBlc2NhcGVkLiBUbyBlc2NhcGUgYWRkaXRpb25hbFxuICAgICAqIGNoYXJhY3RlcnMgdXNlIGEgdGhpcmQtcGFydHkgbGlicmFyeSBsaWtlIFtfaGVfXShodHRwczovL210aHMuYmUvaGUpLlxuICAgICAqXG4gICAgICogVGhvdWdoIHRoZSBcIj5cIiBjaGFyYWN0ZXIgaXMgZXNjYXBlZCBmb3Igc3ltbWV0cnksIGNoYXJhY3RlcnMgbGlrZVxuICAgICAqIFwiPlwiIGFuZCBcIi9cIiBkb24ndCBuZWVkIGVzY2FwaW5nIGluIEhUTUwgYW5kIGhhdmUgbm8gc3BlY2lhbCBtZWFuaW5nXG4gICAgICogdW5sZXNzIHRoZXkncmUgcGFydCBvZiBhIHRhZyBvciB1bnF1b3RlZCBhdHRyaWJ1dGUgdmFsdWUuIFNlZVxuICAgICAqIFtNYXRoaWFzIEJ5bmVucydzIGFydGljbGVdKGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9hbWJpZ3VvdXMtYW1wZXJzYW5kcylcbiAgICAgKiAodW5kZXIgXCJzZW1pLXJlbGF0ZWQgZnVuIGZhY3RcIikgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKlxuICAgICAqIFdoZW4gd29ya2luZyB3aXRoIEhUTUwgeW91IHNob3VsZCBhbHdheXNcbiAgICAgKiBbcXVvdGUgYXR0cmlidXRlIHZhbHVlc10oaHR0cDovL3dvbmtvLmNvbS9wb3N0L2h0bWwtZXNjYXBpbmcpIHRvIHJlZHVjZVxuICAgICAqIFhTUyB2ZWN0b3JzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGVzY2FwZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5lc2NhcGUoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gJ2ZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlcydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlc2NhcGUoc3RyaW5nKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgcmV0dXJuIChzdHJpbmcgJiYgcmVIYXNVbmVzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKSlcbiAgICAgICAgPyBzdHJpbmcucmVwbGFjZShyZVVuZXNjYXBlZEh0bWwsIGVzY2FwZUh0bWxDaGFyKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFc2NhcGVzIHRoZSBgUmVnRXhwYCBzcGVjaWFsIGNoYXJhY3RlcnMgXCJeXCIsIFwiJFwiLCBcIlxcXCIsIFwiLlwiLCBcIipcIiwgXCIrXCIsXG4gICAgICogXCI/XCIsIFwiKFwiLCBcIilcIiwgXCJbXCIsIFwiXVwiLCBcIntcIiwgXCJ9XCIsIGFuZCBcInxcIiBpbiBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZXNjYXBlUmVnRXhwKCdbbG9kYXNoXShodHRwczovL2xvZGFzaC5jb20vKScpO1xuICAgICAqIC8vID0+ICdcXFtsb2Rhc2hcXF1cXChodHRwczovL2xvZGFzaFxcLmNvbS9cXCknXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHN0cmluZykge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIHJldHVybiAoc3RyaW5nICYmIHJlSGFzUmVnRXhwQ2hhci50ZXN0KHN0cmluZykpXG4gICAgICAgID8gc3RyaW5nLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgICAgICAgOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG9cbiAgICAgKiBba2ViYWIgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGV0dGVyX2Nhc2UjU3BlY2lhbF9jYXNlX3N0eWxlcykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBrZWJhYiBjYXNlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ua2ViYWJDYXNlKCdGb28gQmFyJyk7XG4gICAgICogLy8gPT4gJ2Zvby1iYXInXG4gICAgICpcbiAgICAgKiBfLmtlYmFiQ2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ2Zvby1iYXInXG4gICAgICpcbiAgICAgKiBfLmtlYmFiQ2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnZm9vLWJhcidcbiAgICAgKi9cbiAgICB2YXIga2ViYWJDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJy0nIDogJycpICsgd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AsIGFzIHNwYWNlIHNlcGFyYXRlZCB3b3JkcywgdG8gbG93ZXIgY2FzZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGxvd2VyIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sb3dlckNhc2UoJy0tRm9vLUJhci0tJyk7XG4gICAgICogLy8gPT4gJ2ZvbyBiYXInXG4gICAgICpcbiAgICAgKiBfLmxvd2VyQ2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ2ZvbyBiYXInXG4gICAgICpcbiAgICAgKiBfLmxvd2VyQ2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnZm9vIGJhcidcbiAgICAgKi9cbiAgICB2YXIgbG93ZXJDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJyAnIDogJycpICsgd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBgc3RyaW5nYCB0byBsb3dlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sb3dlckZpcnN0KCdGcmVkJyk7XG4gICAgICogLy8gPT4gJ2ZyZWQnXG4gICAgICpcbiAgICAgKiBfLmxvd2VyRmlyc3QoJ0ZSRUQnKTtcbiAgICAgKiAvLyA9PiAnZlJFRCdcbiAgICAgKi9cbiAgICB2YXIgbG93ZXJGaXJzdCA9IGNyZWF0ZUNhc2VGaXJzdCgndG9Mb3dlckNhc2UnKTtcblxuICAgIC8qKlxuICAgICAqIFBhZHMgYHN0cmluZ2Agb24gdGhlIGxlZnQgYW5kIHJpZ2h0IHNpZGVzIGlmIGl0J3Mgc2hvcnRlciB0aGFuIGBsZW5ndGhgLlxuICAgICAqIFBhZGRpbmcgY2hhcmFjdGVycyBhcmUgdHJ1bmNhdGVkIGlmIHRoZXkgY2FuJ3QgYmUgZXZlbmx5IGRpdmlkZWQgYnkgYGxlbmd0aGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcGFkLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPTBdIFRoZSBwYWRkaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPScgJ10gVGhlIHN0cmluZyB1c2VkIGFzIHBhZGRpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcGFkZGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5wYWQoJ2FiYycsIDgpO1xuICAgICAqIC8vID0+ICcgIGFiYyAgICdcbiAgICAgKlxuICAgICAqIF8ucGFkKCdhYmMnLCA4LCAnXy0nKTtcbiAgICAgKiAvLyA9PiAnXy1hYmNfLV8nXG4gICAgICpcbiAgICAgKiBfLnBhZCgnYWJjJywgMyk7XG4gICAgICogLy8gPT4gJ2FiYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwYWQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgbGVuZ3RoID0gdG9JbnRlZ2VyKGxlbmd0aCk7XG5cbiAgICAgIHZhciBzdHJMZW5ndGggPSBsZW5ndGggPyBzdHJpbmdTaXplKHN0cmluZykgOiAwO1xuICAgICAgaWYgKCFsZW5ndGggfHwgc3RyTGVuZ3RoID49IGxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfVxuICAgICAgdmFyIG1pZCA9IChsZW5ndGggLSBzdHJMZW5ndGgpIC8gMjtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNyZWF0ZVBhZGRpbmcobmF0aXZlRmxvb3IobWlkKSwgY2hhcnMpICtcbiAgICAgICAgc3RyaW5nICtcbiAgICAgICAgY3JlYXRlUGFkZGluZyhuYXRpdmVDZWlsKG1pZCksIGNoYXJzKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYWRzIGBzdHJpbmdgIG9uIHRoZSByaWdodCBzaWRlIGlmIGl0J3Mgc2hvcnRlciB0aGFuIGBsZW5ndGhgLiBQYWRkaW5nXG4gICAgICogY2hhcmFjdGVycyBhcmUgdHJ1bmNhdGVkIGlmIHRoZXkgZXhjZWVkIGBsZW5ndGhgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIHBhZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2xlbmd0aD0wXSBUaGUgcGFkZGluZyBsZW5ndGguXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz0nICddIFRoZSBzdHJpbmcgdXNlZCBhcyBwYWRkaW5nLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHBhZGRlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucGFkRW5kKCdhYmMnLCA2KTtcbiAgICAgKiAvLyA9PiAnYWJjICAgJ1xuICAgICAqXG4gICAgICogXy5wYWRFbmQoJ2FiYycsIDYsICdfLScpO1xuICAgICAqIC8vID0+ICdhYmNfLV8nXG4gICAgICpcbiAgICAgKiBfLnBhZEVuZCgnYWJjJywgMyk7XG4gICAgICogLy8gPT4gJ2FiYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwYWRFbmQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgbGVuZ3RoID0gdG9JbnRlZ2VyKGxlbmd0aCk7XG5cbiAgICAgIHZhciBzdHJMZW5ndGggPSBsZW5ndGggPyBzdHJpbmdTaXplKHN0cmluZykgOiAwO1xuICAgICAgcmV0dXJuIChsZW5ndGggJiYgc3RyTGVuZ3RoIDwgbGVuZ3RoKVxuICAgICAgICA/IChzdHJpbmcgKyBjcmVhdGVQYWRkaW5nKGxlbmd0aCAtIHN0ckxlbmd0aCwgY2hhcnMpKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYWRzIGBzdHJpbmdgIG9uIHRoZSBsZWZ0IHNpZGUgaWYgaXQncyBzaG9ydGVyIHRoYW4gYGxlbmd0aGAuIFBhZGRpbmdcbiAgICAgKiBjaGFyYWN0ZXJzIGFyZSB0cnVuY2F0ZWQgaWYgdGhleSBleGNlZWQgYGxlbmd0aGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcGFkLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPTBdIFRoZSBwYWRkaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPScgJ10gVGhlIHN0cmluZyB1c2VkIGFzIHBhZGRpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcGFkZGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5wYWRTdGFydCgnYWJjJywgNik7XG4gICAgICogLy8gPT4gJyAgIGFiYydcbiAgICAgKlxuICAgICAqIF8ucGFkU3RhcnQoJ2FiYycsIDYsICdfLScpO1xuICAgICAqIC8vID0+ICdfLV9hYmMnXG4gICAgICpcbiAgICAgKiBfLnBhZFN0YXJ0KCdhYmMnLCAzKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHBhZFN0YXJ0KHN0cmluZywgbGVuZ3RoLCBjaGFycykge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGxlbmd0aCA9IHRvSW50ZWdlcihsZW5ndGgpO1xuXG4gICAgICB2YXIgc3RyTGVuZ3RoID0gbGVuZ3RoID8gc3RyaW5nU2l6ZShzdHJpbmcpIDogMDtcbiAgICAgIHJldHVybiAobGVuZ3RoICYmIHN0ckxlbmd0aCA8IGxlbmd0aClcbiAgICAgICAgPyAoY3JlYXRlUGFkZGluZyhsZW5ndGggLSBzdHJMZW5ndGgsIGNoYXJzKSArIHN0cmluZylcbiAgICAgICAgOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG8gYW4gaW50ZWdlciBvZiB0aGUgc3BlY2lmaWVkIHJhZGl4LiBJZiBgcmFkaXhgIGlzXG4gICAgICogYHVuZGVmaW5lZGAgb3IgYDBgLCBhIGByYWRpeGAgb2YgYDEwYCBpcyB1c2VkIHVubGVzcyBgdmFsdWVgIGlzIGFcbiAgICAgKiBoZXhhZGVjaW1hbCwgaW4gd2hpY2ggY2FzZSBhIGByYWRpeGAgb2YgYDE2YCBpcyB1c2VkLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGFsaWducyB3aXRoIHRoZVxuICAgICAqIFtFUzUgaW1wbGVtZW50YXRpb25dKGh0dHBzOi8vZXM1LmdpdGh1Yi5pby8jeDE1LjEuMi4yKSBvZiBgcGFyc2VJbnRgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMS4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcmFkaXg9MTBdIFRoZSByYWRpeCB0byBpbnRlcnByZXQgYHZhbHVlYCBieS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBpbnRlZ2VyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnBhcnNlSW50KCcwOCcpO1xuICAgICAqIC8vID0+IDhcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnNicsICcwOCcsICcxMCddLCBfLnBhcnNlSW50KTtcbiAgICAgKiAvLyA9PiBbNiwgOCwgMTBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcGFyc2VJbnQoc3RyaW5nLCByYWRpeCwgZ3VhcmQpIHtcbiAgICAgIGlmIChndWFyZCB8fCByYWRpeCA9PSBudWxsKSB7XG4gICAgICAgIHJhZGl4ID0gMDtcbiAgICAgIH0gZWxzZSBpZiAocmFkaXgpIHtcbiAgICAgICAgcmFkaXggPSArcmFkaXg7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmF0aXZlUGFyc2VJbnQodG9TdHJpbmcoc3RyaW5nKS5yZXBsYWNlKHJlVHJpbVN0YXJ0LCAnJyksIHJhZGl4IHx8IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGVhdHMgdGhlIGdpdmVuIHN0cmluZyBgbmAgdGltZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcmVwZWF0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIHJlcGVhdCB0aGUgc3RyaW5nLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmVwZWF0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJlcGVhdCgnKicsIDMpO1xuICAgICAqIC8vID0+ICcqKionXG4gICAgICpcbiAgICAgKiBfLnJlcGVhdCgnYWJjJywgMik7XG4gICAgICogLy8gPT4gJ2FiY2FiYydcbiAgICAgKlxuICAgICAqIF8ucmVwZWF0KCdhYmMnLCAwKTtcbiAgICAgKiAvLyA9PiAnJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlcGVhdChzdHJpbmcsIG4sIGd1YXJkKSB7XG4gICAgICBpZiAoKGd1YXJkID8gaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBuLCBndWFyZCkgOiBuID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIG4gPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlUmVwZWF0KHRvU3RyaW5nKHN0cmluZyksIG4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VzIG1hdGNoZXMgZm9yIGBwYXR0ZXJuYCBpbiBgc3RyaW5nYCB3aXRoIGByZXBsYWNlbWVudGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYFN0cmluZyNyZXBsYWNlYF0oaHR0cHM6Ly9tZG4uaW8vU3RyaW5nL3JlcGxhY2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cHxzdHJpbmd9IHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gcmVwbGFjZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gcmVwbGFjZW1lbnQgVGhlIG1hdGNoIHJlcGxhY2VtZW50LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIG1vZGlmaWVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yZXBsYWNlKCdIaSBGcmVkJywgJ0ZyZWQnLCAnQmFybmV5Jyk7XG4gICAgICogLy8gPT4gJ0hpIEJhcm5leSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZXBsYWNlKCkge1xuICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoYXJnc1swXSk7XG5cbiAgICAgIHJldHVybiBhcmdzLmxlbmd0aCA8IDMgPyBzdHJpbmcgOiBzdHJpbmcucmVwbGFjZShhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0b1xuICAgICAqIFtzbmFrZSBjYXNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TbmFrZV9jYXNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNuYWtlIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zbmFrZUNhc2UoJ0ZvbyBCYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vX2JhcidcbiAgICAgKlxuICAgICAqIF8uc25ha2VDYXNlKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vX2JhcidcbiAgICAgKlxuICAgICAqIF8uc25ha2VDYXNlKCctLUZPTy1CQVItLScpO1xuICAgICAqIC8vID0+ICdmb29fYmFyJ1xuICAgICAqL1xuICAgIHZhciBzbmFrZUNhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCwgd29yZCwgaW5kZXgpIHtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyAnXycgOiAnJykgKyB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTcGxpdHMgYHN0cmluZ2AgYnkgYHNlcGFyYXRvcmAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYFN0cmluZyNzcGxpdGBdKGh0dHBzOi8vbWRuLmlvL1N0cmluZy9zcGxpdCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gc3BsaXQuXG4gICAgICogQHBhcmFtIHtSZWdFeHB8c3RyaW5nfSBzZXBhcmF0b3IgVGhlIHNlcGFyYXRvciBwYXR0ZXJuIHRvIHNwbGl0IGJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGltaXRdIFRoZSBsZW5ndGggdG8gdHJ1bmNhdGUgcmVzdWx0cyB0by5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHN0cmluZyBzZWdtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zcGxpdCgnYS1iLWMnLCAnLScsIDIpO1xuICAgICAqIC8vID0+IFsnYScsICdiJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzcGxpdChzdHJpbmcsIHNlcGFyYXRvciwgbGltaXQpIHtcbiAgICAgIGlmIChsaW1pdCAmJiB0eXBlb2YgbGltaXQgIT0gJ251bWJlcicgJiYgaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBzZXBhcmF0b3IsIGxpbWl0KSkge1xuICAgICAgICBzZXBhcmF0b3IgPSBsaW1pdCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGxpbWl0ID0gbGltaXQgPT09IHVuZGVmaW5lZCA/IE1BWF9BUlJBWV9MRU5HVEggOiBsaW1pdCA+Pj4gMDtcbiAgICAgIGlmICghbGltaXQpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGlmIChzdHJpbmcgJiYgKFxuICAgICAgICAgICAgdHlwZW9mIHNlcGFyYXRvciA9PSAnc3RyaW5nJyB8fFxuICAgICAgICAgICAgKHNlcGFyYXRvciAhPSBudWxsICYmICFpc1JlZ0V4cChzZXBhcmF0b3IpKVxuICAgICAgICAgICkpIHtcbiAgICAgICAgc2VwYXJhdG9yID0gYmFzZVRvU3RyaW5nKHNlcGFyYXRvcik7XG4gICAgICAgIGlmICghc2VwYXJhdG9yICYmIGhhc1VuaWNvZGUoc3RyaW5nKSkge1xuICAgICAgICAgIHJldHVybiBjYXN0U2xpY2Uoc3RyaW5nVG9BcnJheShzdHJpbmcpLCAwLCBsaW1pdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHJpbmcuc3BsaXQoc2VwYXJhdG9yLCBsaW1pdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG9cbiAgICAgKiBbc3RhcnQgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGV0dGVyX2Nhc2UjU3R5bGlzdGljX29yX3NwZWNpYWxpc2VkX3VzYWdlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjEuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHN0YXJ0IGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zdGFydENhc2UoJy0tZm9vLWJhci0tJyk7XG4gICAgICogLy8gPT4gJ0ZvbyBCYXInXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0Q2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ0ZvbyBCYXInXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0Q2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnRk9PIEJBUidcbiAgICAgKi9cbiAgICB2YXIgc3RhcnRDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJyAnIDogJycpICsgdXBwZXJGaXJzdCh3b3JkKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgc3RyaW5nYCBzdGFydHMgd2l0aCB0aGUgZ2l2ZW4gdGFyZ2V0IHN0cmluZy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbdGFyZ2V0XSBUaGUgc3RyaW5nIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwb3NpdGlvbj0wXSBUaGUgcG9zaXRpb24gdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBzdHJpbmdgIHN0YXJ0cyB3aXRoIGB0YXJnZXRgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc3RhcnRzV2l0aCgnYWJjJywgJ2EnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0c1dpdGgoJ2FiYycsICdiJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uc3RhcnRzV2l0aCgnYWJjJywgJ2InLCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhcnRzV2l0aChzdHJpbmcsIHRhcmdldCwgcG9zaXRpb24pIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBwb3NpdGlvbiA9IHBvc2l0aW9uID09IG51bGxcbiAgICAgICAgPyAwXG4gICAgICAgIDogYmFzZUNsYW1wKHRvSW50ZWdlcihwb3NpdGlvbiksIDAsIHN0cmluZy5sZW5ndGgpO1xuXG4gICAgICB0YXJnZXQgPSBiYXNlVG9TdHJpbmcodGFyZ2V0KTtcbiAgICAgIHJldHVybiBzdHJpbmcuc2xpY2UocG9zaXRpb24sIHBvc2l0aW9uICsgdGFyZ2V0Lmxlbmd0aCkgPT0gdGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbiB0aGF0IGNhbiBpbnRlcnBvbGF0ZSBkYXRhIHByb3BlcnRpZXNcbiAgICAgKiBpbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVycywgSFRNTC1lc2NhcGUgaW50ZXJwb2xhdGVkIGRhdGEgcHJvcGVydGllcyBpblxuICAgICAqIFwiZXNjYXBlXCIgZGVsaW1pdGVycywgYW5kIGV4ZWN1dGUgSmF2YVNjcmlwdCBpbiBcImV2YWx1YXRlXCIgZGVsaW1pdGVycy4gRGF0YVxuICAgICAqIHByb3BlcnRpZXMgbWF5IGJlIGFjY2Vzc2VkIGFzIGZyZWUgdmFyaWFibGVzIGluIHRoZSB0ZW1wbGF0ZS4gSWYgYSBzZXR0aW5nXG4gICAgICogb2JqZWN0IGlzIGdpdmVuLCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYF8udGVtcGxhdGVTZXR0aW5nc2AgdmFsdWVzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIEluIHRoZSBkZXZlbG9wbWVudCBidWlsZCBgXy50ZW1wbGF0ZWAgdXRpbGl6ZXNcbiAgICAgKiBbc291cmNlVVJMc10oaHR0cDovL3d3dy5odG1sNXJvY2tzLmNvbS9lbi90dXRvcmlhbHMvZGV2ZWxvcGVydG9vbHMvc291cmNlbWFwcy8jdG9jLXNvdXJjZXVybClcbiAgICAgKiBmb3IgZWFzaWVyIGRlYnVnZ2luZy5cbiAgICAgKlxuICAgICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHByZWNvbXBpbGluZyB0ZW1wbGF0ZXMgc2VlXG4gICAgICogW2xvZGFzaCdzIGN1c3RvbSBidWlsZHMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9sb2Rhc2guY29tL2N1c3RvbS1idWlsZHMpLlxuICAgICAqXG4gICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gQ2hyb21lIGV4dGVuc2lvbiBzYW5kYm94ZXMgc2VlXG4gICAgICogW0Nocm9tZSdzIGV4dGVuc2lvbnMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9leHRlbnNpb25zL3NhbmRib3hpbmdFdmFsKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHRlbXBsYXRlIHN0cmluZy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXNjYXBlPV8udGVtcGxhdGVTZXR0aW5ncy5lc2NhcGVdXG4gICAgICogIFRoZSBIVE1MIFwiZXNjYXBlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5ldmFsdWF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuZXZhbHVhdGVdXG4gICAgICogIFRoZSBcImV2YWx1YXRlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucy5pbXBvcnRzPV8udGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzXVxuICAgICAqICBBbiBvYmplY3QgdG8gaW1wb3J0IGludG8gdGhlIHRlbXBsYXRlIGFzIGZyZWUgdmFyaWFibGVzLlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5pbnRlcnBvbGF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGVdXG4gICAgICogIFRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zb3VyY2VVUkw9J2xvZGFzaC50ZW1wbGF0ZVNvdXJjZXNbbl0nXVxuICAgICAqICBUaGUgc291cmNlVVJMIG9mIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMudmFyaWFibGU9J29iaiddXG4gICAgICogIFRoZSBkYXRhIG9iamVjdCB2YXJpYWJsZSBuYW1lLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyIHRvIGNyZWF0ZSBhIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScpO1xuICAgICAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnZnJlZCcgfSk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGZyZWQhJ1xuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBIVE1MIFwiZXNjYXBlXCIgZGVsaW1pdGVyIHRvIGVzY2FwZSBkYXRhIHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8Yj48JS0gdmFsdWUgJT48L2I+Jyk7XG4gICAgICogY29tcGlsZWQoeyAndmFsdWUnOiAnPHNjcmlwdD4nIH0pO1xuICAgICAqIC8vID0+ICc8Yj4mbHQ7c2NyaXB0Jmd0OzwvYj4nXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IGFuZCBnZW5lcmF0ZSBIVE1MLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlIF8uZm9yRWFjaCh1c2VycywgZnVuY3Rpb24odXNlcikgeyAlPjxsaT48JS0gdXNlciAlPjwvbGk+PCUgfSk7ICU+Jyk7XG4gICAgICogY29tcGlsZWQoeyAndXNlcnMnOiBbJ2ZyZWQnLCAnYmFybmV5J10gfSk7XG4gICAgICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGludGVybmFsIGBwcmludGAgZnVuY3Rpb24gaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgcHJpbnQoXCJoZWxsbyBcIiArIHVzZXIpOyAlPiEnKTtcbiAgICAgKiBjb21waWxlZCh7ICd1c2VyJzogJ2Jhcm5leScgfSk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGJhcm5leSEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIEVTIHRlbXBsYXRlIGxpdGVyYWwgZGVsaW1pdGVyIGFzIGFuIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gICAgICogLy8gRGlzYWJsZSBzdXBwb3J0IGJ5IHJlcGxhY2luZyB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyAkeyB1c2VyIH0hJyk7XG4gICAgICogY29tcGlsZWQoeyAndXNlcic6ICdwZWJibGVzJyB9KTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gcGViYmxlcyEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgYmFja3NsYXNoZXMgdG8gdHJlYXQgZGVsaW1pdGVycyBhcyBwbGFpbiB0ZXh0LlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlPSBcIlxcXFw8JS0gdmFsdWUgJVxcXFw+XCIgJT4nKTtcbiAgICAgKiBjb21waWxlZCh7ICd2YWx1ZSc6ICdpZ25vcmVkJyB9KTtcbiAgICAgKiAvLyA9PiAnPCUtIHZhbHVlICU+J1xuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBgaW1wb3J0c2Agb3B0aW9uIHRvIGltcG9ydCBgalF1ZXJ5YCBhcyBganFgLlxuICAgICAqIHZhciB0ZXh0ID0gJzwlIGpxLmVhY2godXNlcnMsIGZ1bmN0aW9uKHVzZXIpIHsgJT48bGk+PCUtIHVzZXIgJT48L2xpPjwlIH0pOyAlPic7XG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSh0ZXh0LCB7ICdpbXBvcnRzJzogeyAnanEnOiBqUXVlcnkgfSB9KTtcbiAgICAgKiBjb21waWxlZCh7ICd1c2Vycyc6IFsnZnJlZCcsICdiYXJuZXknXSB9KTtcbiAgICAgKiAvLyA9PiAnPGxpPmZyZWQ8L2xpPjxsaT5iYXJuZXk8L2xpPidcbiAgICAgKlxuICAgICAqIC8vIFVzZSB0aGUgYHNvdXJjZVVSTGAgb3B0aW9uIHRvIHNwZWNpZnkgYSBjdXN0b20gc291cmNlVVJMIGZvciB0aGUgdGVtcGxhdGUuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8gPCU9IHVzZXIgJT4hJywgeyAnc291cmNlVVJMJzogJy9iYXNpYy9ncmVldGluZy5qc3QnIH0pO1xuICAgICAqIGNvbXBpbGVkKGRhdGEpO1xuICAgICAqIC8vID0+IEZpbmQgdGhlIHNvdXJjZSBvZiBcImdyZWV0aW5nLmpzdFwiIHVuZGVyIHRoZSBTb3VyY2VzIHRhYiBvciBSZXNvdXJjZXMgcGFuZWwgb2YgdGhlIHdlYiBpbnNwZWN0b3IuXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGB2YXJpYWJsZWAgb3B0aW9uIHRvIGVuc3VyZSBhIHdpdGgtc3RhdGVtZW50IGlzbid0IHVzZWQgaW4gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hpIDwlPSBkYXRhLnVzZXIgJT4hJywgeyAndmFyaWFibGUnOiAnZGF0YScgfSk7XG4gICAgICogY29tcGlsZWQuc291cmNlO1xuICAgICAqIC8vID0+IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgKiAvLyAgIHZhciBfX3QsIF9fcCA9ICcnO1xuICAgICAqIC8vICAgX19wICs9ICdoaSAnICsgKChfX3QgPSAoIGRhdGEudXNlciApKSA9PSBudWxsID8gJycgOiBfX3QpICsgJyEnO1xuICAgICAqIC8vICAgcmV0dXJuIF9fcDtcbiAgICAgKiAvLyB9XG4gICAgICpcbiAgICAgKiAvLyBVc2UgY3VzdG9tIHRlbXBsYXRlIGRlbGltaXRlcnMuXG4gICAgICogXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyB7eyB1c2VyIH19IScpO1xuICAgICAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnbXVzdGFjaGUnIH0pO1xuICAgICAqIC8vID0+ICdoZWxsbyBtdXN0YWNoZSEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGBzb3VyY2VgIHByb3BlcnR5IHRvIGlubGluZSBjb21waWxlZCB0ZW1wbGF0ZXMgZm9yIG1lYW5pbmdmdWxcbiAgICAgKiAvLyBsaW5lIG51bWJlcnMgaW4gZXJyb3IgbWVzc2FnZXMgYW5kIHN0YWNrIHRyYWNlcy5cbiAgICAgKiBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnanN0LmpzJyksICdcXFxuICAgICAqICAgdmFyIEpTVCA9IHtcXFxuICAgICAqICAgICBcIm1haW5cIjogJyArIF8udGVtcGxhdGUobWFpblRleHQpLnNvdXJjZSArICdcXFxuICAgICAqICAgfTtcXFxuICAgICAqICcpO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRlbXBsYXRlKHN0cmluZywgb3B0aW9ucywgZ3VhcmQpIHtcbiAgICAgIC8vIEJhc2VkIG9uIEpvaG4gUmVzaWcncyBgdG1wbGAgaW1wbGVtZW50YXRpb25cbiAgICAgIC8vIChodHRwOi8vZWpvaG4ub3JnL2Jsb2cvamF2YXNjcmlwdC1taWNyby10ZW1wbGF0aW5nLylcbiAgICAgIC8vIGFuZCBMYXVyYSBEb2t0b3JvdmEncyBkb1QuanMgKGh0dHBzOi8vZ2l0aHViLmNvbS9vbGFkby9kb1QpLlxuICAgICAgdmFyIHNldHRpbmdzID0gbG9kYXNoLnRlbXBsYXRlU2V0dGluZ3M7XG5cbiAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSkge1xuICAgICAgICBvcHRpb25zID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIG9wdGlvbnMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMsIHNldHRpbmdzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKTtcblxuICAgICAgdmFyIGltcG9ydHMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMuaW1wb3J0cywgc2V0dGluZ3MuaW1wb3J0cywgY3VzdG9tRGVmYXVsdHNBc3NpZ25JbiksXG4gICAgICAgICAgaW1wb3J0c0tleXMgPSBrZXlzKGltcG9ydHMpLFxuICAgICAgICAgIGltcG9ydHNWYWx1ZXMgPSBiYXNlVmFsdWVzKGltcG9ydHMsIGltcG9ydHNLZXlzKTtcblxuICAgICAgdmFyIGlzRXNjYXBpbmcsXG4gICAgICAgICAgaXNFdmFsdWF0aW5nLFxuICAgICAgICAgIGluZGV4ID0gMCxcbiAgICAgICAgICBpbnRlcnBvbGF0ZSA9IG9wdGlvbnMuaW50ZXJwb2xhdGUgfHwgcmVOb01hdGNoLFxuICAgICAgICAgIHNvdXJjZSA9IFwiX19wICs9ICdcIjtcblxuICAgICAgLy8gQ29tcGlsZSB0aGUgcmVnZXhwIHRvIG1hdGNoIGVhY2ggZGVsaW1pdGVyLlxuICAgICAgdmFyIHJlRGVsaW1pdGVycyA9IFJlZ0V4cChcbiAgICAgICAgKG9wdGlvbnMuZXNjYXBlIHx8IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICAgICAgaW50ZXJwb2xhdGUuc291cmNlICsgJ3wnICtcbiAgICAgICAgKGludGVycG9sYXRlID09PSByZUludGVycG9sYXRlID8gcmVFc1RlbXBsYXRlIDogcmVOb01hdGNoKS5zb3VyY2UgKyAnfCcgK1xuICAgICAgICAob3B0aW9ucy5ldmFsdWF0ZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JCdcbiAgICAgICwgJ2cnKTtcblxuICAgICAgLy8gVXNlIGEgc291cmNlVVJMIGZvciBlYXNpZXIgZGVidWdnaW5nLlxuICAgICAgLy8gVGhlIHNvdXJjZVVSTCBnZXRzIGluamVjdGVkIGludG8gdGhlIHNvdXJjZSB0aGF0J3MgZXZhbC1lZCwgc28gYmUgY2FyZWZ1bFxuICAgICAgLy8gdG8gbm9ybWFsaXplIGFsbCBraW5kcyBvZiB3aGl0ZXNwYWNlLCBzbyBlLmcuIG5ld2xpbmVzIChhbmQgdW5pY29kZSB2ZXJzaW9ucyBvZiBpdCkgY2FuJ3Qgc25lYWsgaW5cbiAgICAgIC8vIGFuZCBlc2NhcGUgdGhlIGNvbW1lbnQsIHRodXMgaW5qZWN0aW5nIGNvZGUgdGhhdCBnZXRzIGV2YWxlZC5cbiAgICAgIHZhciBzb3VyY2VVUkwgPSAnLy8jIHNvdXJjZVVSTD0nICtcbiAgICAgICAgKGhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgJ3NvdXJjZVVSTCcpXG4gICAgICAgICAgPyAob3B0aW9ucy5zb3VyY2VVUkwgKyAnJykucmVwbGFjZSgvXFxzL2csICcgJylcbiAgICAgICAgICA6ICgnbG9kYXNoLnRlbXBsYXRlU291cmNlc1snICsgKCsrdGVtcGxhdGVDb3VudGVyKSArICddJylcbiAgICAgICAgKSArICdcXG4nO1xuXG4gICAgICBzdHJpbmcucmVwbGFjZShyZURlbGltaXRlcnMsIGZ1bmN0aW9uKG1hdGNoLCBlc2NhcGVWYWx1ZSwgaW50ZXJwb2xhdGVWYWx1ZSwgZXNUZW1wbGF0ZVZhbHVlLCBldmFsdWF0ZVZhbHVlLCBvZmZzZXQpIHtcbiAgICAgICAgaW50ZXJwb2xhdGVWYWx1ZSB8fCAoaW50ZXJwb2xhdGVWYWx1ZSA9IGVzVGVtcGxhdGVWYWx1ZSk7XG5cbiAgICAgICAgLy8gRXNjYXBlIGNoYXJhY3RlcnMgdGhhdCBjYW4ndCBiZSBpbmNsdWRlZCBpbiBzdHJpbmcgbGl0ZXJhbHMuXG4gICAgICAgIHNvdXJjZSArPSBzdHJpbmcuc2xpY2UoaW5kZXgsIG9mZnNldCkucmVwbGFjZShyZVVuZXNjYXBlZFN0cmluZywgZXNjYXBlU3RyaW5nQ2hhcik7XG5cbiAgICAgICAgLy8gUmVwbGFjZSBkZWxpbWl0ZXJzIHdpdGggc25pcHBldHMuXG4gICAgICAgIGlmIChlc2NhcGVWYWx1ZSkge1xuICAgICAgICAgIGlzRXNjYXBpbmcgPSB0cnVlO1xuICAgICAgICAgIHNvdXJjZSArPSBcIicgK1xcbl9fZShcIiArIGVzY2FwZVZhbHVlICsgXCIpICtcXG4nXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2YWx1YXRlVmFsdWUpIHtcbiAgICAgICAgICBpc0V2YWx1YXRpbmcgPSB0cnVlO1xuICAgICAgICAgIHNvdXJjZSArPSBcIic7XFxuXCIgKyBldmFsdWF0ZVZhbHVlICsgXCI7XFxuX19wICs9ICdcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW50ZXJwb2xhdGVWYWx1ZSkge1xuICAgICAgICAgIHNvdXJjZSArPSBcIicgK1xcbigoX190ID0gKFwiICsgaW50ZXJwb2xhdGVWYWx1ZSArIFwiKSkgPT0gbnVsbCA/ICcnIDogX190KSArXFxuJ1wiO1xuICAgICAgICB9XG4gICAgICAgIGluZGV4ID0gb2Zmc2V0ICsgbWF0Y2gubGVuZ3RoO1xuXG4gICAgICAgIC8vIFRoZSBKUyBlbmdpbmUgZW1iZWRkZWQgaW4gQWRvYmUgcHJvZHVjdHMgbmVlZHMgYG1hdGNoYCByZXR1cm5lZCBpblxuICAgICAgICAvLyBvcmRlciB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IGBvZmZzZXRgIHZhbHVlLlxuICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICB9KTtcblxuICAgICAgc291cmNlICs9IFwiJztcXG5cIjtcblxuICAgICAgLy8gSWYgYHZhcmlhYmxlYCBpcyBub3Qgc3BlY2lmaWVkIHdyYXAgYSB3aXRoLXN0YXRlbWVudCBhcm91bmQgdGhlIGdlbmVyYXRlZFxuICAgICAgLy8gY29kZSB0byBhZGQgdGhlIGRhdGEgb2JqZWN0IHRvIHRoZSB0b3Agb2YgdGhlIHNjb3BlIGNoYWluLlxuICAgICAgdmFyIHZhcmlhYmxlID0gaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLCAndmFyaWFibGUnKSAmJiBvcHRpb25zLnZhcmlhYmxlO1xuICAgICAgaWYgKCF2YXJpYWJsZSkge1xuICAgICAgICBzb3VyY2UgPSAnd2l0aCAob2JqKSB7XFxuJyArIHNvdXJjZSArICdcXG59XFxuJztcbiAgICAgIH1cbiAgICAgIC8vIENsZWFudXAgY29kZSBieSBzdHJpcHBpbmcgZW1wdHkgc3RyaW5ncy5cbiAgICAgIHNvdXJjZSA9IChpc0V2YWx1YXRpbmcgPyBzb3VyY2UucmVwbGFjZShyZUVtcHR5U3RyaW5nTGVhZGluZywgJycpIDogc291cmNlKVxuICAgICAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nTWlkZGxlLCAnJDEnKVxuICAgICAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsICckMTsnKTtcblxuICAgICAgLy8gRnJhbWUgY29kZSBhcyB0aGUgZnVuY3Rpb24gYm9keS5cbiAgICAgIHNvdXJjZSA9ICdmdW5jdGlvbignICsgKHZhcmlhYmxlIHx8ICdvYmonKSArICcpIHtcXG4nICtcbiAgICAgICAgKHZhcmlhYmxlXG4gICAgICAgICAgPyAnJ1xuICAgICAgICAgIDogJ29iaiB8fCAob2JqID0ge30pO1xcbidcbiAgICAgICAgKSArXG4gICAgICAgIFwidmFyIF9fdCwgX19wID0gJydcIiArXG4gICAgICAgIChpc0VzY2FwaW5nXG4gICAgICAgICAgID8gJywgX19lID0gXy5lc2NhcGUnXG4gICAgICAgICAgIDogJydcbiAgICAgICAgKSArXG4gICAgICAgIChpc0V2YWx1YXRpbmdcbiAgICAgICAgICA/ICcsIF9faiA9IEFycmF5LnByb3RvdHlwZS5qb2luO1xcbicgK1xuICAgICAgICAgICAgXCJmdW5jdGlvbiBwcmludCgpIHsgX19wICs9IF9fai5jYWxsKGFyZ3VtZW50cywgJycpIH1cXG5cIlxuICAgICAgICAgIDogJztcXG4nXG4gICAgICAgICkgK1xuICAgICAgICBzb3VyY2UgK1xuICAgICAgICAncmV0dXJuIF9fcFxcbn0nO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gYXR0ZW1wdChmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEZ1bmN0aW9uKGltcG9ydHNLZXlzLCBzb3VyY2VVUkwgKyAncmV0dXJuICcgKyBzb3VyY2UpXG4gICAgICAgICAgLmFwcGx5KHVuZGVmaW5lZCwgaW1wb3J0c1ZhbHVlcyk7XG4gICAgICB9KTtcblxuICAgICAgLy8gUHJvdmlkZSB0aGUgY29tcGlsZWQgZnVuY3Rpb24ncyBzb3VyY2UgYnkgaXRzIGB0b1N0cmluZ2AgbWV0aG9kIG9yXG4gICAgICAvLyB0aGUgYHNvdXJjZWAgcHJvcGVydHkgYXMgYSBjb252ZW5pZW5jZSBmb3IgaW5saW5pbmcgY29tcGlsZWQgdGVtcGxhdGVzLlxuICAgICAgcmVzdWx0LnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgIGlmIChpc0Vycm9yKHJlc3VsdCkpIHtcbiAgICAgICAgdGhyb3cgcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCwgYXMgYSB3aG9sZSwgdG8gbG93ZXIgY2FzZSBqdXN0IGxpa2VcbiAgICAgKiBbU3RyaW5nI3RvTG93ZXJDYXNlXShodHRwczovL21kbi5pby90b0xvd2VyQ2FzZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBsb3dlciBjYXNlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9Mb3dlcignLS1Gb28tQmFyLS0nKTtcbiAgICAgKiAvLyA9PiAnLS1mb28tYmFyLS0nXG4gICAgICpcbiAgICAgKiBfLnRvTG93ZXIoJ2Zvb0JhcicpO1xuICAgICAqIC8vID0+ICdmb29iYXInXG4gICAgICpcbiAgICAgKiBfLnRvTG93ZXIoJ19fRk9PX0JBUl9fJyk7XG4gICAgICogLy8gPT4gJ19fZm9vX2Jhcl9fJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvTG93ZXIodmFsdWUpIHtcbiAgICAgIHJldHVybiB0b1N0cmluZyh2YWx1ZSkudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCwgYXMgYSB3aG9sZSwgdG8gdXBwZXIgY2FzZSBqdXN0IGxpa2VcbiAgICAgKiBbU3RyaW5nI3RvVXBwZXJDYXNlXShodHRwczovL21kbi5pby90b1VwcGVyQ2FzZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1cHBlciBjYXNlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9VcHBlcignLS1mb28tYmFyLS0nKTtcbiAgICAgKiAvLyA9PiAnLS1GT08tQkFSLS0nXG4gICAgICpcbiAgICAgKiBfLnRvVXBwZXIoJ2Zvb0JhcicpO1xuICAgICAqIC8vID0+ICdGT09CQVInXG4gICAgICpcbiAgICAgKiBfLnRvVXBwZXIoJ19fZm9vX2Jhcl9fJyk7XG4gICAgICogLy8gPT4gJ19fRk9PX0JBUl9fJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvVXBwZXIodmFsdWUpIHtcbiAgICAgIHJldHVybiB0b1N0cmluZyh2YWx1ZSkudG9VcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2Ugb3Igc3BlY2lmaWVkIGNoYXJhY3RlcnMgZnJvbSBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB0cmltLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhcnM9d2hpdGVzcGFjZV0gVGhlIGNoYXJhY3RlcnMgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHRyaW1tZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyaW0oJyAgYWJjICAnKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqXG4gICAgICogXy50cmltKCctXy1hYmMtXy0nLCAnXy0nKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqXG4gICAgICogXy5tYXAoWycgIGZvbyAgJywgJyAgYmFyICAnXSwgXy50cmltKTtcbiAgICAgKiAvLyA9PiBbJ2ZvbycsICdiYXInXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRyaW0oc3RyaW5nLCBjaGFycywgZ3VhcmQpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBpZiAoc3RyaW5nICYmIChndWFyZCB8fCBjaGFycyA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltLCAnJyk7XG4gICAgICB9XG4gICAgICBpZiAoIXN0cmluZyB8fCAhKGNoYXJzID0gYmFzZVRvU3RyaW5nKGNoYXJzKSkpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICAgIH1cbiAgICAgIHZhciBzdHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShzdHJpbmcpLFxuICAgICAgICAgIGNoclN5bWJvbHMgPSBzdHJpbmdUb0FycmF5KGNoYXJzKSxcbiAgICAgICAgICBzdGFydCA9IGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSxcbiAgICAgICAgICBlbmQgPSBjaGFyc0VuZEluZGV4KHN0clN5bWJvbHMsIGNoclN5bWJvbHMpICsgMTtcblxuICAgICAgcmV0dXJuIGNhc3RTbGljZShzdHJTeW1ib2xzLCBzdGFydCwgZW5kKS5qb2luKCcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIHRyYWlsaW5nIHdoaXRlc3BhY2Ugb3Igc3BlY2lmaWVkIGNoYXJhY3RlcnMgZnJvbSBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB0cmltLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhcnM9d2hpdGVzcGFjZV0gVGhlIGNoYXJhY3RlcnMgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHRyaW1tZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyaW1FbmQoJyAgYWJjICAnKTtcbiAgICAgKiAvLyA9PiAnICBhYmMnXG4gICAgICpcbiAgICAgKiBfLnRyaW1FbmQoJy1fLWFiYy1fLScsICdfLScpO1xuICAgICAqIC8vID0+ICctXy1hYmMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gdHJpbUVuZChzdHJpbmcsIGNoYXJzLCBndWFyZCkge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGlmIChzdHJpbmcgJiYgKGd1YXJkIHx8IGNoYXJzID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZShyZVRyaW1FbmQsICcnKTtcbiAgICAgIH1cbiAgICAgIGlmICghc3RyaW5nIHx8ICEoY2hhcnMgPSBiYXNlVG9TdHJpbmcoY2hhcnMpKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfVxuICAgICAgdmFyIHN0clN5bWJvbHMgPSBzdHJpbmdUb0FycmF5KHN0cmluZyksXG4gICAgICAgICAgZW5kID0gY2hhcnNFbmRJbmRleChzdHJTeW1ib2xzLCBzdHJpbmdUb0FycmF5KGNoYXJzKSkgKyAxO1xuXG4gICAgICByZXR1cm4gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDAsIGVuZCkuam9pbignJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBsZWFkaW5nIHdoaXRlc3BhY2Ugb3Igc3BlY2lmaWVkIGNoYXJhY3RlcnMgZnJvbSBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB0cmltLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhcnM9d2hpdGVzcGFjZV0gVGhlIGNoYXJhY3RlcnMgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHRyaW1tZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyaW1TdGFydCgnICBhYmMgICcpO1xuICAgICAqIC8vID0+ICdhYmMgICdcbiAgICAgKlxuICAgICAqIF8udHJpbVN0YXJ0KCctXy1hYmMtXy0nLCAnXy0nKTtcbiAgICAgKiAvLyA9PiAnYWJjLV8tJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRyaW1TdGFydChzdHJpbmcsIGNoYXJzLCBndWFyZCkge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGlmIChzdHJpbmcgJiYgKGd1YXJkIHx8IGNoYXJzID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZShyZVRyaW1TdGFydCwgJycpO1xuICAgICAgfVxuICAgICAgaWYgKCFzdHJpbmcgfHwgIShjaGFycyA9IGJhc2VUb1N0cmluZyhjaGFycykpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICB9XG4gICAgICB2YXIgc3RyU3ltYm9scyA9IHN0cmluZ1RvQXJyYXkoc3RyaW5nKSxcbiAgICAgICAgICBzdGFydCA9IGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLCBzdHJpbmdUb0FycmF5KGNoYXJzKSk7XG5cbiAgICAgIHJldHVybiBjYXN0U2xpY2Uoc3RyU3ltYm9scywgc3RhcnQpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydW5jYXRlcyBgc3RyaW5nYCBpZiBpdCdzIGxvbmdlciB0aGFuIHRoZSBnaXZlbiBtYXhpbXVtIHN0cmluZyBsZW5ndGguXG4gICAgICogVGhlIGxhc3QgY2hhcmFjdGVycyBvZiB0aGUgdHJ1bmNhdGVkIHN0cmluZyBhcmUgcmVwbGFjZWQgd2l0aCB0aGUgb21pc3Npb25cbiAgICAgKiBzdHJpbmcgd2hpY2ggZGVmYXVsdHMgdG8gXCIuLi5cIi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB0cnVuY2F0ZS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubGVuZ3RoPTMwXSBUaGUgbWF4aW11bSBzdHJpbmcgbGVuZ3RoLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5vbWlzc2lvbj0nLi4uJ10gVGhlIHN0cmluZyB0byBpbmRpY2F0ZSB0ZXh0IGlzIG9taXR0ZWQuXG4gICAgICogQHBhcmFtIHtSZWdFeHB8c3RyaW5nfSBbb3B0aW9ucy5zZXBhcmF0b3JdIFRoZSBzZXBhcmF0b3IgcGF0dGVybiB0byB0cnVuY2F0ZSB0by5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB0cnVuY2F0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRydW5jYXRlKCdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWdoYm9yaW5vJyk7XG4gICAgICogLy8gPT4gJ2hpLWRpZGRseS1obyB0aGVyZSwgbmVpZ2hiby4uLidcbiAgICAgKlxuICAgICAqIF8udHJ1bmNhdGUoJ2hpLWRpZGRseS1obyB0aGVyZSwgbmVpZ2hib3Jpbm8nLCB7XG4gICAgICogICAnbGVuZ3RoJzogMjQsXG4gICAgICogICAnc2VwYXJhdG9yJzogJyAnXG4gICAgICogfSk7XG4gICAgICogLy8gPT4gJ2hpLWRpZGRseS1obyB0aGVyZSwuLi4nXG4gICAgICpcbiAgICAgKiBfLnRydW5jYXRlKCdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWdoYm9yaW5vJywge1xuICAgICAqICAgJ2xlbmd0aCc6IDI0LFxuICAgICAqICAgJ3NlcGFyYXRvcic6IC8sPyArL1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+ICdoaS1kaWRkbHktaG8gdGhlcmUuLi4nXG4gICAgICpcbiAgICAgKiBfLnRydW5jYXRlKCdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWdoYm9yaW5vJywge1xuICAgICAqICAgJ29taXNzaW9uJzogJyBbLi4uXSdcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiAnaGktZGlkZGx5LWhvIHRoZXJlLCBuZWlnIFsuLi5dJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRydW5jYXRlKHN0cmluZywgb3B0aW9ucykge1xuICAgICAgdmFyIGxlbmd0aCA9IERFRkFVTFRfVFJVTkNfTEVOR1RILFxuICAgICAgICAgIG9taXNzaW9uID0gREVGQVVMVF9UUlVOQ19PTUlTU0lPTjtcblxuICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgIHZhciBzZXBhcmF0b3IgPSAnc2VwYXJhdG9yJyBpbiBvcHRpb25zID8gb3B0aW9ucy5zZXBhcmF0b3IgOiBzZXBhcmF0b3I7XG4gICAgICAgIGxlbmd0aCA9ICdsZW5ndGgnIGluIG9wdGlvbnMgPyB0b0ludGVnZXIob3B0aW9ucy5sZW5ndGgpIDogbGVuZ3RoO1xuICAgICAgICBvbWlzc2lvbiA9ICdvbWlzc2lvbicgaW4gb3B0aW9ucyA/IGJhc2VUb1N0cmluZyhvcHRpb25zLm9taXNzaW9uKSA6IG9taXNzaW9uO1xuICAgICAgfVxuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgdmFyIHN0ckxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG4gICAgICBpZiAoaGFzVW5pY29kZShzdHJpbmcpKSB7XG4gICAgICAgIHZhciBzdHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShzdHJpbmcpO1xuICAgICAgICBzdHJMZW5ndGggPSBzdHJTeW1ib2xzLmxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGlmIChsZW5ndGggPj0gc3RyTGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICB9XG4gICAgICB2YXIgZW5kID0gbGVuZ3RoIC0gc3RyaW5nU2l6ZShvbWlzc2lvbik7XG4gICAgICBpZiAoZW5kIDwgMSkge1xuICAgICAgICByZXR1cm4gb21pc3Npb247XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gc3RyU3ltYm9sc1xuICAgICAgICA/IGNhc3RTbGljZShzdHJTeW1ib2xzLCAwLCBlbmQpLmpvaW4oJycpXG4gICAgICAgIDogc3RyaW5nLnNsaWNlKDAsIGVuZCk7XG5cbiAgICAgIGlmIChzZXBhcmF0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgb21pc3Npb247XG4gICAgICB9XG4gICAgICBpZiAoc3RyU3ltYm9scykge1xuICAgICAgICBlbmQgKz0gKHJlc3VsdC5sZW5ndGggLSBlbmQpO1xuICAgICAgfVxuICAgICAgaWYgKGlzUmVnRXhwKHNlcGFyYXRvcikpIHtcbiAgICAgICAgaWYgKHN0cmluZy5zbGljZShlbmQpLnNlYXJjaChzZXBhcmF0b3IpKSB7XG4gICAgICAgICAgdmFyIG1hdGNoLFxuICAgICAgICAgICAgICBzdWJzdHJpbmcgPSByZXN1bHQ7XG5cbiAgICAgICAgICBpZiAoIXNlcGFyYXRvci5nbG9iYWwpIHtcbiAgICAgICAgICAgIHNlcGFyYXRvciA9IFJlZ0V4cChzZXBhcmF0b3Iuc291cmNlLCB0b1N0cmluZyhyZUZsYWdzLmV4ZWMoc2VwYXJhdG9yKSkgKyAnZycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXBhcmF0b3IubGFzdEluZGV4ID0gMDtcbiAgICAgICAgICB3aGlsZSAoKG1hdGNoID0gc2VwYXJhdG9yLmV4ZWMoc3Vic3RyaW5nKSkpIHtcbiAgICAgICAgICAgIHZhciBuZXdFbmQgPSBtYXRjaC5pbmRleDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnNsaWNlKDAsIG5ld0VuZCA9PT0gdW5kZWZpbmVkID8gZW5kIDogbmV3RW5kKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzdHJpbmcuaW5kZXhPZihiYXNlVG9TdHJpbmcoc2VwYXJhdG9yKSwgZW5kKSAhPSBlbmQpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gcmVzdWx0Lmxhc3RJbmRleE9mKHNlcGFyYXRvcik7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnNsaWNlKDAsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdCArIG9taXNzaW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBpbnZlcnNlIG9mIGBfLmVzY2FwZWA7IHRoaXMgbWV0aG9kIGNvbnZlcnRzIHRoZSBIVE1MIGVudGl0aWVzXG4gICAgICogYCZhbXA7YCwgYCZsdDtgLCBgJmd0O2AsIGAmcXVvdDtgLCBhbmQgYCYjMzk7YCBpbiBgc3RyaW5nYCB0b1xuICAgICAqIHRoZWlyIGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBObyBvdGhlciBIVE1MIGVudGl0aWVzIGFyZSB1bmVzY2FwZWQuIFRvIHVuZXNjYXBlIGFkZGl0aW9uYWxcbiAgICAgKiBIVE1MIGVudGl0aWVzIHVzZSBhIHRoaXJkLXBhcnR5IGxpYnJhcnkgbGlrZSBbX2hlX10oaHR0cHM6Ly9tdGhzLmJlL2hlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjYuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB1bmVzY2FwZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1bmVzY2FwZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuZXNjYXBlKCdmcmVkLCBiYXJuZXksICZhbXA7IHBlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiAnZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW5lc2NhcGUoc3RyaW5nKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgcmV0dXJuIChzdHJpbmcgJiYgcmVIYXNFc2NhcGVkSHRtbC50ZXN0KHN0cmluZykpXG4gICAgICAgID8gc3RyaW5nLnJlcGxhY2UocmVFc2NhcGVkSHRtbCwgdW5lc2NhcGVIdG1sQ2hhcilcbiAgICAgICAgOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AsIGFzIHNwYWNlIHNlcGFyYXRlZCB3b3JkcywgdG8gdXBwZXIgY2FzZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHVwcGVyIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51cHBlckNhc2UoJy0tZm9vLWJhcicpO1xuICAgICAqIC8vID0+ICdGT08gQkFSJ1xuICAgICAqXG4gICAgICogXy51cHBlckNhc2UoJ2Zvb0JhcicpO1xuICAgICAqIC8vID0+ICdGT08gQkFSJ1xuICAgICAqXG4gICAgICogXy51cHBlckNhc2UoJ19fZm9vX2Jhcl9fJyk7XG4gICAgICogLy8gPT4gJ0ZPTyBCQVInXG4gICAgICovXG4gICAgdmFyIHVwcGVyQ2FzZSA9IGNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LCB3b3JkLCBpbmRleCkge1xuICAgICAgcmV0dXJuIHJlc3VsdCArIChpbmRleCA/ICcgJyA6ICcnKSArIHdvcmQudG9VcHBlckNhc2UoKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYHN0cmluZ2AgdG8gdXBwZXIgY2FzZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udXBwZXJGaXJzdCgnZnJlZCcpO1xuICAgICAqIC8vID0+ICdGcmVkJ1xuICAgICAqXG4gICAgICogXy51cHBlckZpcnN0KCdGUkVEJyk7XG4gICAgICogLy8gPT4gJ0ZSRUQnXG4gICAgICovXG4gICAgdmFyIHVwcGVyRmlyc3QgPSBjcmVhdGVDYXNlRmlyc3QoJ3RvVXBwZXJDYXNlJyk7XG5cbiAgICAvKipcbiAgICAgKiBTcGxpdHMgYHN0cmluZ2AgaW50byBhbiBhcnJheSBvZiBpdHMgd29yZHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cHxzdHJpbmd9IFtwYXR0ZXJuXSBUaGUgcGF0dGVybiB0byBtYXRjaCB3b3Jkcy5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgd29yZHMgb2YgYHN0cmluZ2AuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ud29yZHMoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gWydmcmVkJywgJ2Jhcm5leScsICdwZWJibGVzJ11cbiAgICAgKlxuICAgICAqIF8ud29yZHMoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJywgL1teLCBdKy9nKTtcbiAgICAgKiAvLyA9PiBbJ2ZyZWQnLCAnYmFybmV5JywgJyYnLCAncGViYmxlcyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gd29yZHMoc3RyaW5nLCBwYXR0ZXJuLCBndWFyZCkge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIHBhdHRlcm4gPSBndWFyZCA/IHVuZGVmaW5lZCA6IHBhdHRlcm47XG5cbiAgICAgIGlmIChwYXR0ZXJuID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGhhc1VuaWNvZGVXb3JkKHN0cmluZykgPyB1bmljb2RlV29yZHMoc3RyaW5nKSA6IGFzY2lpV29yZHMoc3RyaW5nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHJpbmcubWF0Y2gocGF0dGVybikgfHwgW107XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQXR0ZW1wdHMgdG8gaW52b2tlIGBmdW5jYCwgcmV0dXJuaW5nIGVpdGhlciB0aGUgcmVzdWx0IG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAgICAgKiBvYmplY3QuIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcHJvdmlkZWQgdG8gYGZ1bmNgIHdoZW4gaXQncyBpbnZva2VkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhdHRlbXB0LlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBgZnVuY2AgcmVzdWx0IG9yIGVycm9yIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gQXZvaWQgdGhyb3dpbmcgZXJyb3JzIGZvciBpbnZhbGlkIHNlbGVjdG9ycy5cbiAgICAgKiB2YXIgZWxlbWVudHMgPSBfLmF0dGVtcHQoZnVuY3Rpb24oc2VsZWN0b3IpIHtcbiAgICAgKiAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICAgKiB9LCAnPl8+Jyk7XG4gICAgICpcbiAgICAgKiBpZiAoXy5pc0Vycm9yKGVsZW1lbnRzKSkge1xuICAgICAqICAgZWxlbWVudHMgPSBbXTtcbiAgICAgKiB9XG4gICAgICovXG4gICAgdmFyIGF0dGVtcHQgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBhcmdzKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdW5kZWZpbmVkLCBhcmdzKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3IoZSkgPyBlIDogbmV3IEVycm9yKGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQmluZHMgbWV0aG9kcyBvZiBhbiBvYmplY3QgdG8gdGhlIG9iamVjdCBpdHNlbGYsIG92ZXJ3cml0aW5nIHRoZSBleGlzdGluZ1xuICAgICAqIG1ldGhvZC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIiBwcm9wZXJ0eSBvZiBib3VuZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBiaW5kIGFuZCBhc3NpZ24gdGhlIGJvdW5kIG1ldGhvZHMgdG8uXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gbWV0aG9kTmFtZXMgVGhlIG9iamVjdCBtZXRob2QgbmFtZXMgdG8gYmluZC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdmlldyA9IHtcbiAgICAgKiAgICdsYWJlbCc6ICdkb2NzJyxcbiAgICAgKiAgICdjbGljayc6IGZ1bmN0aW9uKCkge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnY2xpY2tlZCAnICsgdGhpcy5sYWJlbCk7XG4gICAgICogICB9XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIF8uYmluZEFsbCh2aWV3LCBbJ2NsaWNrJ10pO1xuICAgICAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCB2aWV3LmNsaWNrKTtcbiAgICAgKiAvLyA9PiBMb2dzICdjbGlja2VkIGRvY3MnIHdoZW4gY2xpY2tlZC5cbiAgICAgKi9cbiAgICB2YXIgYmluZEFsbCA9IGZsYXRSZXN0KGZ1bmN0aW9uKG9iamVjdCwgbWV0aG9kTmFtZXMpIHtcbiAgICAgIGFycmF5RWFjaChtZXRob2ROYW1lcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIGtleSA9IHRvS2V5KGtleSk7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgYmluZChvYmplY3Rba2V5XSwgb2JqZWN0KSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpdGVyYXRlcyBvdmVyIGBwYWlyc2AgYW5kIGludm9rZXMgdGhlIGNvcnJlc3BvbmRpbmdcbiAgICAgKiBmdW5jdGlvbiBvZiB0aGUgZmlyc3QgcHJlZGljYXRlIHRvIHJldHVybiB0cnV0aHkuIFRoZSBwcmVkaWNhdGUtZnVuY3Rpb25cbiAgICAgKiBwYWlycyBhcmUgaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBhbmQgYXJndW1lbnRzIG9mIHRoZSBjcmVhdGVkXG4gICAgICogZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHBhaXJzIFRoZSBwcmVkaWNhdGUtZnVuY3Rpb24gcGFpcnMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29tcG9zaXRlIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8uY29uZChbXG4gICAgICogICBbXy5tYXRjaGVzKHsgJ2EnOiAxIH0pLCAgICAgICAgICAgXy5jb25zdGFudCgnbWF0Y2hlcyBBJyldLFxuICAgICAqICAgW18uY29uZm9ybXMoeyAnYic6IF8uaXNOdW1iZXIgfSksIF8uY29uc3RhbnQoJ21hdGNoZXMgQicpXSxcbiAgICAgKiAgIFtfLnN0dWJUcnVlLCAgICAgICAgICAgICAgICAgICAgICBfLmNvbnN0YW50KCdubyBtYXRjaCcpXVxuICAgICAqIF0pO1xuICAgICAqXG4gICAgICogZnVuYyh7ICdhJzogMSwgJ2InOiAyIH0pO1xuICAgICAqIC8vID0+ICdtYXRjaGVzIEEnXG4gICAgICpcbiAgICAgKiBmdW5jKHsgJ2EnOiAwLCAnYic6IDEgfSk7XG4gICAgICogLy8gPT4gJ21hdGNoZXMgQidcbiAgICAgKlxuICAgICAqIGZ1bmMoeyAnYSc6ICcxJywgJ2InOiAnMicgfSk7XG4gICAgICogLy8gPT4gJ25vIG1hdGNoJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbmQocGFpcnMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBwYWlycyA9PSBudWxsID8gMCA6IHBhaXJzLmxlbmd0aCxcbiAgICAgICAgICB0b0l0ZXJhdGVlID0gZ2V0SXRlcmF0ZWUoKTtcblxuICAgICAgcGFpcnMgPSAhbGVuZ3RoID8gW10gOiBhcnJheU1hcChwYWlycywgZnVuY3Rpb24ocGFpcikge1xuICAgICAgICBpZiAodHlwZW9mIHBhaXJbMV0gIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW3RvSXRlcmF0ZWUocGFpclswXSksIHBhaXJbMV1dO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIHZhciBwYWlyID0gcGFpcnNbaW5kZXhdO1xuICAgICAgICAgIGlmIChhcHBseShwYWlyWzBdLCB0aGlzLCBhcmdzKSkge1xuICAgICAgICAgICAgcmV0dXJuIGFwcGx5KHBhaXJbMV0sIHRoaXMsIGFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyB0aGUgcHJlZGljYXRlIHByb3BlcnRpZXMgb2YgYHNvdXJjZWAgd2l0aFxuICAgICAqIHRoZSBjb3JyZXNwb25kaW5nIHByb3BlcnR5IHZhbHVlcyBvZiBhIGdpdmVuIG9iamVjdCwgcmV0dXJuaW5nIGB0cnVlYCBpZlxuICAgICAqIGFsbCBwcmVkaWNhdGVzIHJldHVybiB0cnV0aHksIGVsc2UgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGUgY3JlYXRlZCBmdW5jdGlvbiBpcyBlcXVpdmFsZW50IHRvIGBfLmNvbmZvcm1zVG9gIHdpdGhcbiAgICAgKiBgc291cmNlYCBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHByZWRpY2F0ZXMgdG8gY29uZm9ybSB0by5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzcGVjIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFtcbiAgICAgKiAgIHsgJ2EnOiAyLCAnYic6IDEgfSxcbiAgICAgKiAgIHsgJ2EnOiAxLCAnYic6IDIgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbHRlcihvYmplY3RzLCBfLmNvbmZvcm1zKHsgJ2InOiBmdW5jdGlvbihuKSB7IHJldHVybiBuID4gMTsgfSB9KSk7XG4gICAgICogLy8gPT4gW3sgJ2EnOiAxLCAnYic6IDIgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb25mb3Jtcyhzb3VyY2UpIHtcbiAgICAgIHJldHVybiBiYXNlQ29uZm9ybXMoYmFzZUNsb25lKHNvdXJjZSwgQ0xPTkVfREVFUF9GTEFHKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBgdmFsdWVgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuNC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byByZXR1cm4gZnJvbSB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbnN0YW50IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IF8udGltZXMoMiwgXy5jb25zdGFudCh7ICdhJzogMSB9KSk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3RzKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDEgfSwgeyAnYSc6IDEgfV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdHNbMF0gPT09IG9iamVjdHNbMV0pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb25zdGFudCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBgdmFsdWVgIHRvIGRldGVybWluZSB3aGV0aGVyIGEgZGVmYXVsdCB2YWx1ZSBzaG91bGQgYmUgcmV0dXJuZWQgaW5cbiAgICAgKiBpdHMgcGxhY2UuIFRoZSBgZGVmYXVsdFZhbHVlYCBpcyByZXR1cm5lZCBpZiBgdmFsdWVgIGlzIGBOYU5gLCBgbnVsbGAsXG4gICAgICogb3IgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xNC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0geyp9IGRlZmF1bHRWYWx1ZSBUaGUgZGVmYXVsdCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGVmYXVsdFRvKDEsIDEwKTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICpcbiAgICAgKiBfLmRlZmF1bHRUbyh1bmRlZmluZWQsIDEwKTtcbiAgICAgKiAvLyA9PiAxMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRlZmF1bHRUbyh2YWx1ZSwgZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gKHZhbHVlID09IG51bGwgfHwgdmFsdWUgIT09IHZhbHVlKSA/IGRlZmF1bHRWYWx1ZSA6IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIHJlc3VsdCBvZiBpbnZva2luZyB0aGUgZ2l2ZW4gZnVuY3Rpb25zXG4gICAgICogd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgdGhlIGNyZWF0ZWQgZnVuY3Rpb24sIHdoZXJlIGVhY2ggc3VjY2Vzc2l2ZVxuICAgICAqIGludm9jYXRpb24gaXMgc3VwcGxpZWQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgcHJldmlvdXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Li4uKEZ1bmN0aW9ufEZ1bmN0aW9uW10pfSBbZnVuY3NdIFRoZSBmdW5jdGlvbnMgdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbXBvc2l0ZSBmdW5jdGlvbi5cbiAgICAgKiBAc2VlIF8uZmxvd1JpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIHNxdWFyZShuKSB7XG4gICAgICogICByZXR1cm4gbiAqIG47XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGFkZFNxdWFyZSA9IF8uZmxvdyhbXy5hZGQsIHNxdWFyZV0pO1xuICAgICAqIGFkZFNxdWFyZSgxLCAyKTtcbiAgICAgKiAvLyA9PiA5XG4gICAgICovXG4gICAgdmFyIGZsb3cgPSBjcmVhdGVGbG93KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZsb3dgIGV4Y2VwdCB0aGF0IGl0IGNyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0XG4gICAgICogaW52b2tlcyB0aGUgZ2l2ZW4gZnVuY3Rpb25zIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtmdW5jc10gVGhlIGZ1bmN0aW9ucyB0byBpbnZva2UuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29tcG9zaXRlIGZ1bmN0aW9uLlxuICAgICAqIEBzZWUgXy5mbG93XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIHNxdWFyZShuKSB7XG4gICAgICogICByZXR1cm4gbiAqIG47XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGFkZFNxdWFyZSA9IF8uZmxvd1JpZ2h0KFtzcXVhcmUsIF8uYWRkXSk7XG4gICAgICogYWRkU3F1YXJlKDEsIDIpO1xuICAgICAqIC8vID0+IDlcbiAgICAgKi9cbiAgICB2YXIgZmxvd1JpZ2h0ID0gY3JlYXRlRmxvdyh0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIEFueSB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyBgdmFsdWVgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEgfTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKF8uaWRlbnRpdHkob2JqZWN0KSA9PT0gb2JqZWN0KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaWRlbnRpdHkodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIHRoZSBhcmd1bWVudHMgb2YgdGhlIGNyZWF0ZWRcbiAgICAgKiBmdW5jdGlvbi4gSWYgYGZ1bmNgIGlzIGEgcHJvcGVydHkgbmFtZSwgdGhlIGNyZWF0ZWQgZnVuY3Rpb24gcmV0dXJucyB0aGVcbiAgICAgKiBwcm9wZXJ0eSB2YWx1ZSBmb3IgYSBnaXZlbiBlbGVtZW50LiBJZiBgZnVuY2AgaXMgYW4gYXJyYXkgb3Igb2JqZWN0LCB0aGVcbiAgICAgKiBjcmVhdGVkIGZ1bmN0aW9uIHJldHVybnMgYHRydWVgIGZvciBlbGVtZW50cyB0aGF0IGNvbnRhaW4gdGhlIGVxdWl2YWxlbnRcbiAgICAgKiBzb3VyY2UgcHJvcGVydGllcywgb3RoZXJ3aXNlIGl0IHJldHVybnMgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsqfSBbZnVuYz1fLmlkZW50aXR5XSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBhIGNhbGxiYWNrLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgY2FsbGJhY2suXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsIF8uaXRlcmF0ZWUoeyAndXNlcic6ICdiYXJuZXknLCAnYWN0aXZlJzogdHJ1ZSB9KSk7XG4gICAgICogLy8gPT4gW3sgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9XVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCBfLml0ZXJhdGVlKFsndXNlcicsICdmcmVkJ10pKTtcbiAgICAgKiAvLyA9PiBbeyAndXNlcic6ICdmcmVkJywgJ2FnZSc6IDQwIH1dXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1hcCh1c2VycywgXy5pdGVyYXRlZSgndXNlcicpKTtcbiAgICAgKiAvLyA9PiBbJ2Jhcm5leScsICdmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIENyZWF0ZSBjdXN0b20gaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKiBfLml0ZXJhdGVlID0gXy53cmFwKF8uaXRlcmF0ZWUsIGZ1bmN0aW9uKGl0ZXJhdGVlLCBmdW5jKSB7XG4gICAgICogICByZXR1cm4gIV8uaXNSZWdFeHAoZnVuYykgPyBpdGVyYXRlZShmdW5jKSA6IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAqICAgICByZXR1cm4gZnVuYy50ZXN0KHN0cmluZyk7XG4gICAgICogICB9O1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogXy5maWx0ZXIoWydhYmMnLCAnZGVmJ10sIC9lZi8pO1xuICAgICAqIC8vID0+IFsnZGVmJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpdGVyYXRlZShmdW5jKSB7XG4gICAgICByZXR1cm4gYmFzZUl0ZXJhdGVlKHR5cGVvZiBmdW5jID09ICdmdW5jdGlvbicgPyBmdW5jIDogYmFzZUNsb25lKGZ1bmMsIENMT05FX0RFRVBfRkxBRykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHBlcmZvcm1zIGEgcGFydGlhbCBkZWVwIGNvbXBhcmlzb24gYmV0d2VlbiBhIGdpdmVuXG4gICAgICogb2JqZWN0IGFuZCBgc291cmNlYCwgcmV0dXJuaW5nIGB0cnVlYCBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGhhcyBlcXVpdmFsZW50XG4gICAgICogcHJvcGVydHkgdmFsdWVzLCBlbHNlIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhlIGNyZWF0ZWQgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byBgXy5pc01hdGNoYCB3aXRoIGBzb3VyY2VgXG4gICAgICogcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICpcbiAgICAgKiBQYXJ0aWFsIGNvbXBhcmlzb25zIHdpbGwgbWF0Y2ggZW1wdHkgYXJyYXkgYW5kIGVtcHR5IG9iamVjdCBgc291cmNlYFxuICAgICAqIHZhbHVlcyBhZ2FpbnN0IGFueSBhcnJheSBvciBvYmplY3QgdmFsdWUsIHJlc3BlY3RpdmVseS4gU2VlIGBfLmlzRXF1YWxgXG4gICAgICogZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgdmFsdWUgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTXVsdGlwbGUgdmFsdWVzIGNhbiBiZSBjaGVja2VkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIG1hdGNoZXJzXG4gICAgICogdXNpbmcgYF8ub3ZlclNvbWVgXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSB2YWx1ZXMgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDMgfSxcbiAgICAgKiAgIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmlsdGVyKG9iamVjdHMsIF8ubWF0Y2hlcyh7ICdhJzogNCwgJ2MnOiA2IH0pKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDQsICdiJzogNSwgJ2MnOiA2IH1dXG4gICAgICpcbiAgICAgKiAvLyBDaGVja2luZyBmb3Igc2V2ZXJhbCBwb3NzaWJsZSB2YWx1ZXNcbiAgICAgKiBfLmZpbHRlcihvYmplY3RzLCBfLm92ZXJTb21lKFtfLm1hdGNoZXMoeyAnYSc6IDEgfSksIF8ubWF0Y2hlcyh7ICdhJzogNCB9KV0pKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH0sIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hdGNoZXMoc291cmNlKSB7XG4gICAgICByZXR1cm4gYmFzZU1hdGNoZXMoYmFzZUNsb25lKHNvdXJjZSwgQ0xPTkVfREVFUF9GTEFHKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcGVyZm9ybXMgYSBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIHRoZVxuICAgICAqIHZhbHVlIGF0IGBwYXRoYCBvZiBhIGdpdmVuIG9iamVjdCB0byBgc3JjVmFsdWVgLCByZXR1cm5pbmcgYHRydWVgIGlmIHRoZVxuICAgICAqIG9iamVjdCB2YWx1ZSBpcyBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogUGFydGlhbCBjb21wYXJpc29ucyB3aWxsIG1hdGNoIGVtcHR5IGFycmF5IGFuZCBlbXB0eSBvYmplY3RcbiAgICAgKiBgc3JjVmFsdWVgIHZhbHVlcyBhZ2FpbnN0IGFueSBhcnJheSBvciBvYmplY3QgdmFsdWUsIHJlc3BlY3RpdmVseS4gU2VlXG4gICAgICogYF8uaXNFcXVhbGAgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgdmFsdWUgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTXVsdGlwbGUgdmFsdWVzIGNhbiBiZSBjaGVja2VkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIG1hdGNoZXJzXG4gICAgICogdXNpbmcgYF8ub3ZlclNvbWVgXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDMgfSxcbiAgICAgKiAgIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmluZChvYmplY3RzLCBfLm1hdGNoZXNQcm9wZXJ0eSgnYScsIDQpKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogNCwgJ2InOiA1LCAnYyc6IDYgfVxuICAgICAqXG4gICAgICogLy8gQ2hlY2tpbmcgZm9yIHNldmVyYWwgcG9zc2libGUgdmFsdWVzXG4gICAgICogXy5maWx0ZXIob2JqZWN0cywgXy5vdmVyU29tZShbXy5tYXRjaGVzUHJvcGVydHkoJ2EnLCAxKSwgXy5tYXRjaGVzUHJvcGVydHkoJ2EnLCA0KV0pKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH0sIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hdGNoZXNQcm9wZXJ0eShwYXRoLCBzcmNWYWx1ZSkge1xuICAgICAgcmV0dXJuIGJhc2VNYXRjaGVzUHJvcGVydHkocGF0aCwgYmFzZUNsb25lKHNyY1ZhbHVlLCBDTE9ORV9ERUVQX0ZMQUcpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIHRoZSBtZXRob2QgYXQgYHBhdGhgIG9mIGEgZ2l2ZW4gb2JqZWN0LlxuICAgICAqIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcHJvdmlkZWQgdG8gdGhlIGludm9rZWQgbWV0aG9kLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuNy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgbWV0aG9kIHRvIGludm9rZS5cbiAgICAgKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSB0aGUgbWV0aG9kIHdpdGguXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgaW52b2tlciBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogeyAnYic6IF8uY29uc3RhbnQoMikgfSB9LFxuICAgICAqICAgeyAnYSc6IHsgJ2InOiBfLmNvbnN0YW50KDEpIH0gfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLm1hcChvYmplY3RzLCBfLm1ldGhvZCgnYS5iJykpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqXG4gICAgICogXy5tYXAob2JqZWN0cywgXy5tZXRob2QoWydhJywgJ2InXSkpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqL1xuICAgIHZhciBtZXRob2QgPSBiYXNlUmVzdChmdW5jdGlvbihwYXRoLCBhcmdzKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBiYXNlSW52b2tlKG9iamVjdCwgcGF0aCwgYXJncyk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLm1ldGhvZGA7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXNcbiAgICAgKiB0aGUgbWV0aG9kIGF0IGEgZ2l2ZW4gcGF0aCBvZiBgb2JqZWN0YC4gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZVxuICAgICAqIHByb3ZpZGVkIHRvIHRoZSBpbnZva2VkIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjcuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIHRoZSBtZXRob2Qgd2l0aC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBpbnZva2VyIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBfLnRpbWVzKDMsIF8uY29uc3RhbnQpLFxuICAgICAqICAgICBvYmplY3QgPSB7ICdhJzogYXJyYXksICdiJzogYXJyYXksICdjJzogYXJyYXkgfTtcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnYVsyXScsICdjWzBdJ10sIF8ubWV0aG9kT2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICpcbiAgICAgKiBfLm1hcChbWydhJywgJzInXSwgWydjJywgJzAnXV0sIF8ubWV0aG9kT2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICovXG4gICAgdmFyIG1ldGhvZE9mID0gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBhcmdzKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICByZXR1cm4gYmFzZUludm9rZShvYmplY3QsIHBhdGgsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEFkZHMgYWxsIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBmdW5jdGlvbiBwcm9wZXJ0aWVzIG9mIGEgc291cmNlXG4gICAgICogb2JqZWN0IHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QuIElmIGBvYmplY3RgIGlzIGEgZnVuY3Rpb24sIHRoZW4gbWV0aG9kc1xuICAgICAqIGFyZSBhZGRlZCB0byBpdHMgcHJvdG90eXBlIGFzIHdlbGwuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVXNlIGBfLnJ1bkluQ29udGV4dGAgdG8gY3JlYXRlIGEgcHJpc3RpbmUgYGxvZGFzaGAgZnVuY3Rpb24gdG9cbiAgICAgKiBhdm9pZCBjb25mbGljdHMgY2F1c2VkIGJ5IG1vZGlmeWluZyB0aGUgb3JpZ2luYWwuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb258T2JqZWN0fSBbb2JqZWN0PWxvZGFzaF0gVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgZnVuY3Rpb25zIHRvIGFkZC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmNoYWluPXRydWVdIFNwZWNpZnkgd2hldGhlciBtaXhpbnMgYXJlIGNoYWluYWJsZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb258T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiB2b3dlbHMoc3RyaW5nKSB7XG4gICAgICogICByZXR1cm4gXy5maWx0ZXIoc3RyaW5nLCBmdW5jdGlvbih2KSB7XG4gICAgICogICAgIHJldHVybiAvW2FlaW91XS9pLnRlc3Qodik7XG4gICAgICogICB9KTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLm1peGluKHsgJ3Zvd2Vscyc6IHZvd2VscyB9KTtcbiAgICAgKiBfLnZvd2VscygnZnJlZCcpO1xuICAgICAqIC8vID0+IFsnZSddXG4gICAgICpcbiAgICAgKiBfKCdmcmVkJykudm93ZWxzKCkudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbJ2UnXVxuICAgICAqXG4gICAgICogXy5taXhpbih7ICd2b3dlbHMnOiB2b3dlbHMgfSwgeyAnY2hhaW4nOiBmYWxzZSB9KTtcbiAgICAgKiBfKCdmcmVkJykudm93ZWxzKCk7XG4gICAgICogLy8gPT4gWydlJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtaXhpbihvYmplY3QsIHNvdXJjZSwgb3B0aW9ucykge1xuICAgICAgdmFyIHByb3BzID0ga2V5cyhzb3VyY2UpLFxuICAgICAgICAgIG1ldGhvZE5hbWVzID0gYmFzZUZ1bmN0aW9ucyhzb3VyY2UsIHByb3BzKTtcblxuICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCAmJlxuICAgICAgICAgICEoaXNPYmplY3Qoc291cmNlKSAmJiAobWV0aG9kTmFtZXMubGVuZ3RoIHx8ICFwcm9wcy5sZW5ndGgpKSkge1xuICAgICAgICBvcHRpb25zID0gc291cmNlO1xuICAgICAgICBzb3VyY2UgPSBvYmplY3Q7XG4gICAgICAgIG9iamVjdCA9IHRoaXM7XG4gICAgICAgIG1ldGhvZE5hbWVzID0gYmFzZUZ1bmN0aW9ucyhzb3VyY2UsIGtleXMoc291cmNlKSk7XG4gICAgICB9XG4gICAgICB2YXIgY2hhaW4gPSAhKGlzT2JqZWN0KG9wdGlvbnMpICYmICdjaGFpbicgaW4gb3B0aW9ucykgfHwgISFvcHRpb25zLmNoYWluLFxuICAgICAgICAgIGlzRnVuYyA9IGlzRnVuY3Rpb24ob2JqZWN0KTtcblxuICAgICAgYXJyYXlFYWNoKG1ldGhvZE5hbWVzLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICAgIHZhciBmdW5jID0gc291cmNlW21ldGhvZE5hbWVdO1xuICAgICAgICBvYmplY3RbbWV0aG9kTmFtZV0gPSBmdW5jO1xuICAgICAgICBpZiAoaXNGdW5jKSB7XG4gICAgICAgICAgb2JqZWN0LnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGNoYWluQWxsID0gdGhpcy5fX2NoYWluX187XG4gICAgICAgICAgICBpZiAoY2hhaW4gfHwgY2hhaW5BbGwpIHtcbiAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG9iamVjdCh0aGlzLl9fd3JhcHBlZF9fKSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnMgPSByZXN1bHQuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7XG5cbiAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHsgJ2Z1bmMnOiBmdW5jLCAnYXJncyc6IGFyZ3VtZW50cywgJ3RoaXNBcmcnOiBvYmplY3QgfSk7XG4gICAgICAgICAgICAgIHJlc3VsdC5fX2NoYWluX18gPSBjaGFpbkFsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KG9iamVjdCwgYXJyYXlQdXNoKFt0aGlzLnZhbHVlKCldLCBhcmd1bWVudHMpKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnRzIHRoZSBgX2AgdmFyaWFibGUgdG8gaXRzIHByZXZpb3VzIHZhbHVlIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvXG4gICAgICogdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgbG9kYXNoID0gXy5ub0NvbmZsaWN0KCk7XG4gICAgICovXG4gICAgZnVuY3Rpb24gbm9Db25mbGljdCgpIHtcbiAgICAgIGlmIChyb290Ll8gPT09IHRoaXMpIHtcbiAgICAgICAgcm9vdC5fID0gb2xkRGFzaDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRpbWVzKDIsIF8ubm9vcCk7XG4gICAgICogLy8gPT4gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG5vb3AoKSB7XG4gICAgICAvLyBObyBvcGVyYXRpb24gcGVyZm9ybWVkLlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGdldHMgdGhlIGFyZ3VtZW50IGF0IGluZGV4IGBuYC4gSWYgYG5gIGlzIG5lZ2F0aXZlLFxuICAgICAqIHRoZSBudGggYXJndW1lbnQgZnJvbSB0aGUgZW5kIGlzIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MF0gVGhlIGluZGV4IG9mIHRoZSBhcmd1bWVudCB0byByZXR1cm4uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFzcy10aHJ1IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ubnRoQXJnKDEpO1xuICAgICAqIGZ1bmMoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiAnYidcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5udGhBcmcoLTIpO1xuICAgICAqIGZ1bmMoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiAnYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBudGhBcmcobikge1xuICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICAgIHJldHVybiBiYXNlTnRoKGFyZ3MsIG4pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgaXRlcmF0ZWVzYCB3aXRoIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXNcbiAgICAgKiBhbmQgcmV0dXJucyB0aGVpciByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW2l0ZXJhdGVlcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBpdGVyYXRlZXMgdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ub3ZlcihbTWF0aC5tYXgsIE1hdGgubWluXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKDEsIDIsIDMsIDQpO1xuICAgICAqIC8vID0+IFs0LCAxXVxuICAgICAqL1xuICAgIHZhciBvdmVyID0gY3JlYXRlT3ZlcihhcnJheU1hcCk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBjaGVja3MgaWYgKiphbGwqKiBvZiB0aGUgYHByZWRpY2F0ZXNgIHJldHVyblxuICAgICAqIHRydXRoeSB3aGVuIGludm9rZWQgd2l0aCB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogRm9sbG93aW5nIHNob3J0aGFuZHMgYXJlIHBvc3NpYmxlIGZvciBwcm92aWRpbmcgcHJlZGljYXRlcy5cbiAgICAgKiBQYXNzIGFuIGBPYmplY3RgIGFuZCBpdCB3aWxsIGJlIHVzZWQgYXMgYW4gcGFyYW1ldGVyIGZvciBgXy5tYXRjaGVzYCB0byBjcmVhdGUgdGhlIHByZWRpY2F0ZS5cbiAgICAgKiBQYXNzIGFuIGBBcnJheWAgb2YgcGFyYW1ldGVycyBmb3IgYF8ubWF0Y2hlc1Byb3BlcnR5YCBhbmQgdGhlIHByZWRpY2F0ZSB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdGhlbS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtwcmVkaWNhdGVzPVtfLmlkZW50aXR5XV1cbiAgICAgKiAgVGhlIHByZWRpY2F0ZXMgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5vdmVyRXZlcnkoW0Jvb2xlYW4sIGlzRmluaXRlXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKCcxJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogZnVuYyhudWxsKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogZnVuYyhOYU4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIG92ZXJFdmVyeSA9IGNyZWF0ZU92ZXIoYXJyYXlFdmVyeSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBjaGVja3MgaWYgKiphbnkqKiBvZiB0aGUgYHByZWRpY2F0ZXNgIHJldHVyblxuICAgICAqIHRydXRoeSB3aGVuIGludm9rZWQgd2l0aCB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogRm9sbG93aW5nIHNob3J0aGFuZHMgYXJlIHBvc3NpYmxlIGZvciBwcm92aWRpbmcgcHJlZGljYXRlcy5cbiAgICAgKiBQYXNzIGFuIGBPYmplY3RgIGFuZCBpdCB3aWxsIGJlIHVzZWQgYXMgYW4gcGFyYW1ldGVyIGZvciBgXy5tYXRjaGVzYCB0byBjcmVhdGUgdGhlIHByZWRpY2F0ZS5cbiAgICAgKiBQYXNzIGFuIGBBcnJheWAgb2YgcGFyYW1ldGVycyBmb3IgYF8ubWF0Y2hlc1Byb3BlcnR5YCBhbmQgdGhlIHByZWRpY2F0ZSB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdGhlbS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtwcmVkaWNhdGVzPVtfLmlkZW50aXR5XV1cbiAgICAgKiAgVGhlIHByZWRpY2F0ZXMgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5vdmVyU29tZShbQm9vbGVhbiwgaXNGaW5pdGVdKTtcbiAgICAgKlxuICAgICAqIGZ1bmMoJzEnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBmdW5jKG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIGZ1bmMoTmFOKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogdmFyIG1hdGNoZXNGdW5jID0gXy5vdmVyU29tZShbeyAnYSc6IDEgfSwgeyAnYSc6IDIgfV0pXG4gICAgICogdmFyIG1hdGNoZXNQcm9wZXJ0eUZ1bmMgPSBfLm92ZXJTb21lKFtbJ2EnLCAxXSwgWydhJywgMl1dKVxuICAgICAqL1xuICAgIHZhciBvdmVyU29tZSA9IGNyZWF0ZU92ZXIoYXJyYXlTb21lKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBhIGdpdmVuIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhY2Nlc3NvciBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogeyAnYic6IDIgfSB9LFxuICAgICAqICAgeyAnYSc6IHsgJ2InOiAxIH0gfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLm1hcChvYmplY3RzLCBfLnByb3BlcnR5KCdhLmInKSk7XG4gICAgICogLy8gPT4gWzIsIDFdXG4gICAgICpcbiAgICAgKiBfLm1hcChfLnNvcnRCeShvYmplY3RzLCBfLnByb3BlcnR5KFsnYScsICdiJ10pKSwgJ2EuYicpO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHByb3BlcnR5KHBhdGgpIHtcbiAgICAgIHJldHVybiBpc0tleShwYXRoKSA/IGJhc2VQcm9wZXJ0eSh0b0tleShwYXRoKSkgOiBiYXNlUHJvcGVydHlEZWVwKHBhdGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBvcHBvc2l0ZSBvZiBgXy5wcm9wZXJ0eWA7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnNcbiAgICAgKiB0aGUgdmFsdWUgYXQgYSBnaXZlbiBwYXRoIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYWNjZXNzb3IgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFswLCAxLCAyXSxcbiAgICAgKiAgICAgb2JqZWN0ID0geyAnYSc6IGFycmF5LCAnYic6IGFycmF5LCAnYyc6IGFycmF5IH07XG4gICAgICpcbiAgICAgKiBfLm1hcChbJ2FbMl0nLCAnY1swXSddLCBfLnByb3BlcnR5T2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICpcbiAgICAgKiBfLm1hcChbWydhJywgJzInXSwgWydjJywgJzAnXV0sIF8ucHJvcGVydHlPZihvYmplY3QpKTtcbiAgICAgKiAvLyA9PiBbMiwgMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwcm9wZXJ0eU9mKG9iamVjdCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogYmFzZUdldChvYmplY3QsIHBhdGgpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIG51bWJlcnMgKHBvc2l0aXZlIGFuZC9vciBuZWdhdGl2ZSkgcHJvZ3Jlc3NpbmcgZnJvbVxuICAgICAqIGBzdGFydGAgdXAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nLCBgZW5kYC4gQSBzdGVwIG9mIGAtMWAgaXMgdXNlZCBpZiBhIG5lZ2F0aXZlXG4gICAgICogYHN0YXJ0YCBpcyBzcGVjaWZpZWQgd2l0aG91dCBhbiBgZW5kYCBvciBgc3RlcGAuIElmIGBlbmRgIGlzIG5vdCBzcGVjaWZpZWQsXG4gICAgICogaXQncyBzZXQgdG8gYHN0YXJ0YCB3aXRoIGBzdGFydGAgdGhlbiBzZXQgdG8gYDBgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIEphdmFTY3JpcHQgZm9sbG93cyB0aGUgSUVFRS03NTQgc3RhbmRhcmQgZm9yIHJlc29sdmluZ1xuICAgICAqIGZsb2F0aW5nLXBvaW50IHZhbHVlcyB3aGljaCBjYW4gcHJvZHVjZSB1bmV4cGVjdGVkIHJlc3VsdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZW5kIFRoZSBlbmQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RlcD0xXSBUaGUgdmFsdWUgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCBieS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHJhbmdlIG9mIG51bWJlcnMuXG4gICAgICogQHNlZSBfLmluUmFuZ2UsIF8ucmFuZ2VSaWdodFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDQpO1xuICAgICAqIC8vID0+IFswLCAxLCAyLCAzXVxuICAgICAqXG4gICAgICogXy5yYW5nZSgtNCk7XG4gICAgICogLy8gPT4gWzAsIC0xLCAtMiwgLTNdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDEsIDUpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzLCA0XVxuICAgICAqXG4gICAgICogXy5yYW5nZSgwLCAyMCwgNSk7XG4gICAgICogLy8gPT4gWzAsIDUsIDEwLCAxNV1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoMCwgLTQsIC0xKTtcbiAgICAgKiAvLyA9PiBbMCwgLTEsIC0yLCAtM11cbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoMSwgNCwgMCk7XG4gICAgICogLy8gPT4gWzEsIDEsIDFdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDApO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgdmFyIHJhbmdlID0gY3JlYXRlUmFuZ2UoKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucmFuZ2VgIGV4Y2VwdCB0aGF0IGl0IHBvcHVsYXRlcyB2YWx1ZXMgaW5cbiAgICAgKiBkZXNjZW5kaW5nIG9yZGVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGVuZCBUaGUgZW5kIG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV0gVGhlIHZhbHVlIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgYnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5nZSBvZiBudW1iZXJzLlxuICAgICAqIEBzZWUgXy5pblJhbmdlLCBfLnJhbmdlXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCg0KTtcbiAgICAgKiAvLyA9PiBbMywgMiwgMSwgMF1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgtNCk7XG4gICAgICogLy8gPT4gWy0zLCAtMiwgLTEsIDBdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoMSwgNSk7XG4gICAgICogLy8gPT4gWzQsIDMsIDIsIDFdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoMCwgMjAsIDUpO1xuICAgICAqIC8vID0+IFsxNSwgMTAsIDUsIDBdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoMCwgLTQsIC0xKTtcbiAgICAgKiAvLyA9PiBbLTMsIC0yLCAtMSwgMF1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgxLCA0LCAwKTtcbiAgICAgKiAvLyA9PiBbMSwgMSwgMV1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgwKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIHZhciByYW5nZVJpZ2h0ID0gY3JlYXRlUmFuZ2UodHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGVtcHR5IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTMuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZW1wdHkgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheXMgPSBfLnRpbWVzKDIsIF8uc3R1YkFycmF5KTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5cyk7XG4gICAgICogLy8gPT4gW1tdLCBbXV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5c1swXSA9PT0gYXJyYXlzWzFdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0dWJBcnJheSgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xMy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRpbWVzKDIsIF8uc3R1YkZhbHNlKTtcbiAgICAgKiAvLyA9PiBbZmFsc2UsIGZhbHNlXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0dWJGYWxzZSgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGVtcHR5IG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEzLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBlbXB0eSBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gXy50aW1lcygyLCBfLnN0dWJPYmplY3QpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0cyk7XG4gICAgICogLy8gPT4gW3t9LCB7fV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdHNbMF0gPT09IG9iamVjdHNbMV0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3R1Yk9iamVjdCgpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEzLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVtcHR5IHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50aW1lcygyLCBfLnN0dWJTdHJpbmcpO1xuICAgICAqIC8vID0+IFsnJywgJyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3R1YlN0cmluZygpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGB0cnVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEzLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50aW1lcygyLCBfLnN0dWJUcnVlKTtcbiAgICAgKiAvLyA9PiBbdHJ1ZSwgdHJ1ZV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdHViVHJ1ZSgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEludm9rZXMgdGhlIGl0ZXJhdGVlIGBuYCB0aW1lcywgcmV0dXJuaW5nIGFuIGFycmF5IG9mIHRoZSByZXN1bHRzIG9mXG4gICAgICogZWFjaCBpbnZvY2F0aW9uLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDsgKGluZGV4KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiB0aW1lcyB0byBpbnZva2UgYGl0ZXJhdGVlYC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGltZXMoMywgU3RyaW5nKTtcbiAgICAgKiAvLyA9PiBbJzAnLCAnMScsICcyJ11cbiAgICAgKlxuICAgICAqICBfLnRpbWVzKDQsIF8uY29uc3RhbnQoMCkpO1xuICAgICAqIC8vID0+IFswLCAwLCAwLCAwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRpbWVzKG4sIGl0ZXJhdGVlKSB7XG4gICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgaWYgKG4gPCAxIHx8IG4gPiBNQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IE1BWF9BUlJBWV9MRU5HVEgsXG4gICAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWluKG4sIE1BWF9BUlJBWV9MRU5HVEgpO1xuXG4gICAgICBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKGl0ZXJhdGVlKTtcbiAgICAgIG4gLT0gTUFYX0FSUkFZX0xFTkdUSDtcblxuICAgICAgdmFyIHJlc3VsdCA9IGJhc2VUaW1lcyhsZW5ndGgsIGl0ZXJhdGVlKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgICAgICBpdGVyYXRlZShpbmRleCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IHByb3BlcnR5IHBhdGggYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9QYXRoKCdhLmIuYycpO1xuICAgICAqIC8vID0+IFsnYScsICdiJywgJ2MnXVxuICAgICAqXG4gICAgICogXy50b1BhdGgoJ2FbMF0uYi5jJyk7XG4gICAgICogLy8gPT4gWydhJywgJzAnLCAnYicsICdjJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b1BhdGgodmFsdWUpIHtcbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gYXJyYXlNYXAodmFsdWUsIHRvS2V5KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpc1N5bWJvbCh2YWx1ZSkgPyBbdmFsdWVdIDogY29weUFycmF5KHN0cmluZ1RvUGF0aCh0b1N0cmluZyh2YWx1ZSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgSUQuIElmIGBwcmVmaXhgIGlzIGdpdmVuLCB0aGUgSUQgaXMgYXBwZW5kZWQgdG8gaXQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbcHJlZml4PScnXSBUaGUgdmFsdWUgdG8gcHJlZml4IHRoZSBJRCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHVuaXF1ZSBJRC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51bmlxdWVJZCgnY29udGFjdF8nKTtcbiAgICAgKiAvLyA9PiAnY29udGFjdF8xMDQnXG4gICAgICpcbiAgICAgKiBfLnVuaXF1ZUlkKCk7XG4gICAgICogLy8gPT4gJzEwNSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmlxdWVJZChwcmVmaXgpIHtcbiAgICAgIHZhciBpZCA9ICsraWRDb3VudGVyO1xuICAgICAgcmV0dXJuIHRvU3RyaW5nKHByZWZpeCkgKyBpZDtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBBZGRzIHR3byBudW1iZXJzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuNC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYXVnZW5kIFRoZSBmaXJzdCBudW1iZXIgaW4gYW4gYWRkaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGFkZGVuZCBUaGUgc2Vjb25kIG51bWJlciBpbiBhbiBhZGRpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSB0b3RhbC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5hZGQoNiwgNCk7XG4gICAgICogLy8gPT4gMTBcbiAgICAgKi9cbiAgICB2YXIgYWRkID0gY3JlYXRlTWF0aE9wZXJhdGlvbihmdW5jdGlvbihhdWdlbmQsIGFkZGVuZCkge1xuICAgICAgcmV0dXJuIGF1Z2VuZCArIGFkZGVuZDtcbiAgICB9LCAwKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIGBudW1iZXJgIHJvdW5kZWQgdXAgdG8gYHByZWNpc2lvbmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4xMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gcm91bmQgdXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwcmVjaXNpb249MF0gVGhlIHByZWNpc2lvbiB0byByb3VuZCB1cCB0by5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSByb3VuZGVkIHVwIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jZWlsKDQuMDA2KTtcbiAgICAgKiAvLyA9PiA1XG4gICAgICpcbiAgICAgKiBfLmNlaWwoNi4wMDQsIDIpO1xuICAgICAqIC8vID0+IDYuMDFcbiAgICAgKlxuICAgICAqIF8uY2VpbCg2MDQwLCAtMik7XG4gICAgICogLy8gPT4gNjEwMFxuICAgICAqL1xuICAgIHZhciBjZWlsID0gY3JlYXRlUm91bmQoJ2NlaWwnKTtcblxuICAgIC8qKlxuICAgICAqIERpdmlkZSB0d28gbnVtYmVycy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjcuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGRpdmlkZW5kIFRoZSBmaXJzdCBudW1iZXIgaW4gYSBkaXZpc2lvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZGl2aXNvciBUaGUgc2Vjb25kIG51bWJlciBpbiBhIGRpdmlzaW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHF1b3RpZW50LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRpdmlkZSg2LCA0KTtcbiAgICAgKiAvLyA9PiAxLjVcbiAgICAgKi9cbiAgICB2YXIgZGl2aWRlID0gY3JlYXRlTWF0aE9wZXJhdGlvbihmdW5jdGlvbihkaXZpZGVuZCwgZGl2aXNvcikge1xuICAgICAgcmV0dXJuIGRpdmlkZW5kIC8gZGl2aXNvcjtcbiAgICB9LCAxKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIGBudW1iZXJgIHJvdW5kZWQgZG93biB0byBgcHJlY2lzaW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjEwLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBudW1iZXIgVGhlIG51bWJlciB0byByb3VuZCBkb3duLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcHJlY2lzaW9uPTBdIFRoZSBwcmVjaXNpb24gdG8gcm91bmQgZG93biB0by5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSByb3VuZGVkIGRvd24gbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZsb29yKDQuMDA2KTtcbiAgICAgKiAvLyA9PiA0XG4gICAgICpcbiAgICAgKiBfLmZsb29yKDAuMDQ2LCAyKTtcbiAgICAgKiAvLyA9PiAwLjA0XG4gICAgICpcbiAgICAgKiBfLmZsb29yKDQwNjAsIC0yKTtcbiAgICAgKiAvLyA9PiA0MDAwXG4gICAgICovXG4gICAgdmFyIGZsb29yID0gY3JlYXRlUm91bmQoJ2Zsb29yJyk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgbWF4aW11bSB2YWx1ZSBvZiBgYXJyYXlgLiBJZiBgYXJyYXlgIGlzIGVtcHR5IG9yIGZhbHNleSxcbiAgICAgKiBgdW5kZWZpbmVkYCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tYXgoWzQsIDIsIDgsIDZdKTtcbiAgICAgKiAvLyA9PiA4XG4gICAgICpcbiAgICAgKiBfLm1heChbXSk7XG4gICAgICogLy8gPT4gdW5kZWZpbmVkXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWF4KGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlRXh0cmVtdW0oYXJyYXksIGlkZW50aXR5LCBiYXNlR3QpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubWF4YCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgaW4gYGFycmF5YCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uIGJ5IHdoaWNoXG4gICAgICogdGhlIHZhbHVlIGlzIHJhbmtlZC4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtYXhpbXVtIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICduJzogMSB9LCB7ICduJzogMiB9XTtcbiAgICAgKlxuICAgICAqIF8ubWF4Qnkob2JqZWN0cywgZnVuY3Rpb24obykgeyByZXR1cm4gby5uOyB9KTtcbiAgICAgKiAvLyA9PiB7ICduJzogMiB9XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1heEJ5KG9iamVjdHMsICduJyk7XG4gICAgICogLy8gPT4geyAnbic6IDIgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1heEJ5KGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZUV4dHJlbXVtKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMiksIGJhc2VHdClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIG1lYW4gb2YgdGhlIHZhbHVlcyBpbiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIG1lYW4uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubWVhbihbNCwgMiwgOCwgNl0pO1xuICAgICAqIC8vID0+IDVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtZWFuKGFycmF5KSB7XG4gICAgICByZXR1cm4gYmFzZU1lYW4oYXJyYXksIGlkZW50aXR5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLm1lYW5gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBpbiBgYXJyYXlgIHRvIGdlbmVyYXRlIHRoZSB2YWx1ZSB0byBiZSBhdmVyYWdlZC5cbiAgICAgKiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjcuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbWVhbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnbic6IDQgfSwgeyAnbic6IDIgfSwgeyAnbic6IDggfSwgeyAnbic6IDYgfV07XG4gICAgICpcbiAgICAgKiBfLm1lYW5CeShvYmplY3RzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLm47IH0pO1xuICAgICAqIC8vID0+IDVcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ubWVhbkJ5KG9iamVjdHMsICduJyk7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lYW5CeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlTWVhbihhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBgYXJyYXlgLiBJZiBgYXJyYXlgIGlzIGVtcHR5IG9yIGZhbHNleSxcbiAgICAgKiBgdW5kZWZpbmVkYCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWluaW11bSB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5taW4oWzQsIDIsIDgsIDZdKTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICpcbiAgICAgKiBfLm1pbihbXSk7XG4gICAgICogLy8gPT4gdW5kZWZpbmVkXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWluKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlRXh0cmVtdW0oYXJyYXksIGlkZW50aXR5LCBiYXNlTHQpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubWluYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgaW4gYGFycmF5YCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uIGJ5IHdoaWNoXG4gICAgICogdGhlIHZhbHVlIGlzIHJhbmtlZC4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtaW5pbXVtIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICduJzogMSB9LCB7ICduJzogMiB9XTtcbiAgICAgKlxuICAgICAqIF8ubWluQnkob2JqZWN0cywgZnVuY3Rpb24obykgeyByZXR1cm4gby5uOyB9KTtcbiAgICAgKiAvLyA9PiB7ICduJzogMSB9XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1pbkJ5KG9iamVjdHMsICduJyk7XG4gICAgICogLy8gPT4geyAnbic6IDEgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1pbkJ5KGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZUV4dHJlbXVtKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMiksIGJhc2VMdClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTXVsdGlwbHkgdHdvIG51bWJlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC43LjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtdWx0aXBsaWVyIFRoZSBmaXJzdCBudW1iZXIgaW4gYSBtdWx0aXBsaWNhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbXVsdGlwbGljYW5kIFRoZSBzZWNvbmQgbnVtYmVyIGluIGEgbXVsdGlwbGljYXRpb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcHJvZHVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tdWx0aXBseSg2LCA0KTtcbiAgICAgKiAvLyA9PiAyNFxuICAgICAqL1xuICAgIHZhciBtdWx0aXBseSA9IGNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24obXVsdGlwbGllciwgbXVsdGlwbGljYW5kKSB7XG4gICAgICByZXR1cm4gbXVsdGlwbGllciAqIG11bHRpcGxpY2FuZDtcbiAgICB9LCAxKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIGBudW1iZXJgIHJvdW5kZWQgdG8gYHByZWNpc2lvbmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4xMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gcm91bmQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwcmVjaXNpb249MF0gVGhlIHByZWNpc2lvbiB0byByb3VuZCB0by5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSByb3VuZGVkIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yb3VuZCg0LjAwNik7XG4gICAgICogLy8gPT4gNFxuICAgICAqXG4gICAgICogXy5yb3VuZCg0LjAwNiwgMik7XG4gICAgICogLy8gPT4gNC4wMVxuICAgICAqXG4gICAgICogXy5yb3VuZCg0MDYwLCAtMik7XG4gICAgICogLy8gPT4gNDEwMFxuICAgICAqL1xuICAgIHZhciByb3VuZCA9IGNyZWF0ZVJvdW5kKCdyb3VuZCcpO1xuXG4gICAgLyoqXG4gICAgICogU3VidHJhY3QgdHdvIG51bWJlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtaW51ZW5kIFRoZSBmaXJzdCBudW1iZXIgaW4gYSBzdWJ0cmFjdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3VidHJhaGVuZCBUaGUgc2Vjb25kIG51bWJlciBpbiBhIHN1YnRyYWN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGRpZmZlcmVuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc3VidHJhY3QoNiwgNCk7XG4gICAgICogLy8gPT4gMlxuICAgICAqL1xuICAgIHZhciBzdWJ0cmFjdCA9IGNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24obWludWVuZCwgc3VidHJhaGVuZCkge1xuICAgICAgcmV0dXJuIG1pbnVlbmQgLSBzdWJ0cmFoZW5kO1xuICAgIH0sIDApO1xuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIHN1bSBvZiB0aGUgdmFsdWVzIGluIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy40LjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3VtLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnN1bShbNCwgMiwgOCwgNl0pO1xuICAgICAqIC8vID0+IDIwXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3VtKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlU3VtKGFycmF5LCBpZGVudGl0eSlcbiAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc3VtYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgaW4gYGFycmF5YCB0byBnZW5lcmF0ZSB0aGUgdmFsdWUgdG8gYmUgc3VtbWVkLlxuICAgICAqIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzdW0uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ24nOiA0IH0sIHsgJ24nOiAyIH0sIHsgJ24nOiA4IH0sIHsgJ24nOiA2IH1dO1xuICAgICAqXG4gICAgICogXy5zdW1CeShvYmplY3RzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLm47IH0pO1xuICAgICAqIC8vID0+IDIwXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnN1bUJ5KG9iamVjdHMsICduJyk7XG4gICAgICogLy8gPT4gMjBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdW1CeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VTdW0oYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSlcbiAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8vIEFkZCBtZXRob2RzIHRoYXQgcmV0dXJuIHdyYXBwZWQgdmFsdWVzIGluIGNoYWluIHNlcXVlbmNlcy5cbiAgICBsb2Rhc2guYWZ0ZXIgPSBhZnRlcjtcbiAgICBsb2Rhc2guYXJ5ID0gYXJ5O1xuICAgIGxvZGFzaC5hc3NpZ24gPSBhc3NpZ247XG4gICAgbG9kYXNoLmFzc2lnbkluID0gYXNzaWduSW47XG4gICAgbG9kYXNoLmFzc2lnbkluV2l0aCA9IGFzc2lnbkluV2l0aDtcbiAgICBsb2Rhc2guYXNzaWduV2l0aCA9IGFzc2lnbldpdGg7XG4gICAgbG9kYXNoLmF0ID0gYXQ7XG4gICAgbG9kYXNoLmJlZm9yZSA9IGJlZm9yZTtcbiAgICBsb2Rhc2guYmluZCA9IGJpbmQ7XG4gICAgbG9kYXNoLmJpbmRBbGwgPSBiaW5kQWxsO1xuICAgIGxvZGFzaC5iaW5kS2V5ID0gYmluZEtleTtcbiAgICBsb2Rhc2guY2FzdEFycmF5ID0gY2FzdEFycmF5O1xuICAgIGxvZGFzaC5jaGFpbiA9IGNoYWluO1xuICAgIGxvZGFzaC5jaHVuayA9IGNodW5rO1xuICAgIGxvZGFzaC5jb21wYWN0ID0gY29tcGFjdDtcbiAgICBsb2Rhc2guY29uY2F0ID0gY29uY2F0O1xuICAgIGxvZGFzaC5jb25kID0gY29uZDtcbiAgICBsb2Rhc2guY29uZm9ybXMgPSBjb25mb3JtcztcbiAgICBsb2Rhc2guY29uc3RhbnQgPSBjb25zdGFudDtcbiAgICBsb2Rhc2guY291bnRCeSA9IGNvdW50Qnk7XG4gICAgbG9kYXNoLmNyZWF0ZSA9IGNyZWF0ZTtcbiAgICBsb2Rhc2guY3VycnkgPSBjdXJyeTtcbiAgICBsb2Rhc2guY3VycnlSaWdodCA9IGN1cnJ5UmlnaHQ7XG4gICAgbG9kYXNoLmRlYm91bmNlID0gZGVib3VuY2U7XG4gICAgbG9kYXNoLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gICAgbG9kYXNoLmRlZmF1bHRzRGVlcCA9IGRlZmF1bHRzRGVlcDtcbiAgICBsb2Rhc2guZGVmZXIgPSBkZWZlcjtcbiAgICBsb2Rhc2guZGVsYXkgPSBkZWxheTtcbiAgICBsb2Rhc2guZGlmZmVyZW5jZSA9IGRpZmZlcmVuY2U7XG4gICAgbG9kYXNoLmRpZmZlcmVuY2VCeSA9IGRpZmZlcmVuY2VCeTtcbiAgICBsb2Rhc2guZGlmZmVyZW5jZVdpdGggPSBkaWZmZXJlbmNlV2l0aDtcbiAgICBsb2Rhc2guZHJvcCA9IGRyb3A7XG4gICAgbG9kYXNoLmRyb3BSaWdodCA9IGRyb3BSaWdodDtcbiAgICBsb2Rhc2guZHJvcFJpZ2h0V2hpbGUgPSBkcm9wUmlnaHRXaGlsZTtcbiAgICBsb2Rhc2guZHJvcFdoaWxlID0gZHJvcFdoaWxlO1xuICAgIGxvZGFzaC5maWxsID0gZmlsbDtcbiAgICBsb2Rhc2guZmlsdGVyID0gZmlsdGVyO1xuICAgIGxvZGFzaC5mbGF0TWFwID0gZmxhdE1hcDtcbiAgICBsb2Rhc2guZmxhdE1hcERlZXAgPSBmbGF0TWFwRGVlcDtcbiAgICBsb2Rhc2guZmxhdE1hcERlcHRoID0gZmxhdE1hcERlcHRoO1xuICAgIGxvZGFzaC5mbGF0dGVuID0gZmxhdHRlbjtcbiAgICBsb2Rhc2guZmxhdHRlbkRlZXAgPSBmbGF0dGVuRGVlcDtcbiAgICBsb2Rhc2guZmxhdHRlbkRlcHRoID0gZmxhdHRlbkRlcHRoO1xuICAgIGxvZGFzaC5mbGlwID0gZmxpcDtcbiAgICBsb2Rhc2guZmxvdyA9IGZsb3c7XG4gICAgbG9kYXNoLmZsb3dSaWdodCA9IGZsb3dSaWdodDtcbiAgICBsb2Rhc2guZnJvbVBhaXJzID0gZnJvbVBhaXJzO1xuICAgIGxvZGFzaC5mdW5jdGlvbnMgPSBmdW5jdGlvbnM7XG4gICAgbG9kYXNoLmZ1bmN0aW9uc0luID0gZnVuY3Rpb25zSW47XG4gICAgbG9kYXNoLmdyb3VwQnkgPSBncm91cEJ5O1xuICAgIGxvZGFzaC5pbml0aWFsID0gaW5pdGlhbDtcbiAgICBsb2Rhc2guaW50ZXJzZWN0aW9uID0gaW50ZXJzZWN0aW9uO1xuICAgIGxvZGFzaC5pbnRlcnNlY3Rpb25CeSA9IGludGVyc2VjdGlvbkJ5O1xuICAgIGxvZGFzaC5pbnRlcnNlY3Rpb25XaXRoID0gaW50ZXJzZWN0aW9uV2l0aDtcbiAgICBsb2Rhc2guaW52ZXJ0ID0gaW52ZXJ0O1xuICAgIGxvZGFzaC5pbnZlcnRCeSA9IGludmVydEJ5O1xuICAgIGxvZGFzaC5pbnZva2VNYXAgPSBpbnZva2VNYXA7XG4gICAgbG9kYXNoLml0ZXJhdGVlID0gaXRlcmF0ZWU7XG4gICAgbG9kYXNoLmtleUJ5ID0ga2V5Qnk7XG4gICAgbG9kYXNoLmtleXMgPSBrZXlzO1xuICAgIGxvZGFzaC5rZXlzSW4gPSBrZXlzSW47XG4gICAgbG9kYXNoLm1hcCA9IG1hcDtcbiAgICBsb2Rhc2gubWFwS2V5cyA9IG1hcEtleXM7XG4gICAgbG9kYXNoLm1hcFZhbHVlcyA9IG1hcFZhbHVlcztcbiAgICBsb2Rhc2gubWF0Y2hlcyA9IG1hdGNoZXM7XG4gICAgbG9kYXNoLm1hdGNoZXNQcm9wZXJ0eSA9IG1hdGNoZXNQcm9wZXJ0eTtcbiAgICBsb2Rhc2gubWVtb2l6ZSA9IG1lbW9pemU7XG4gICAgbG9kYXNoLm1lcmdlID0gbWVyZ2U7XG4gICAgbG9kYXNoLm1lcmdlV2l0aCA9IG1lcmdlV2l0aDtcbiAgICBsb2Rhc2gubWV0aG9kID0gbWV0aG9kO1xuICAgIGxvZGFzaC5tZXRob2RPZiA9IG1ldGhvZE9mO1xuICAgIGxvZGFzaC5taXhpbiA9IG1peGluO1xuICAgIGxvZGFzaC5uZWdhdGUgPSBuZWdhdGU7XG4gICAgbG9kYXNoLm50aEFyZyA9IG50aEFyZztcbiAgICBsb2Rhc2gub21pdCA9IG9taXQ7XG4gICAgbG9kYXNoLm9taXRCeSA9IG9taXRCeTtcbiAgICBsb2Rhc2gub25jZSA9IG9uY2U7XG4gICAgbG9kYXNoLm9yZGVyQnkgPSBvcmRlckJ5O1xuICAgIGxvZGFzaC5vdmVyID0gb3ZlcjtcbiAgICBsb2Rhc2gub3ZlckFyZ3MgPSBvdmVyQXJncztcbiAgICBsb2Rhc2gub3ZlckV2ZXJ5ID0gb3ZlckV2ZXJ5O1xuICAgIGxvZGFzaC5vdmVyU29tZSA9IG92ZXJTb21lO1xuICAgIGxvZGFzaC5wYXJ0aWFsID0gcGFydGlhbDtcbiAgICBsb2Rhc2gucGFydGlhbFJpZ2h0ID0gcGFydGlhbFJpZ2h0O1xuICAgIGxvZGFzaC5wYXJ0aXRpb24gPSBwYXJ0aXRpb247XG4gICAgbG9kYXNoLnBpY2sgPSBwaWNrO1xuICAgIGxvZGFzaC5waWNrQnkgPSBwaWNrQnk7XG4gICAgbG9kYXNoLnByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgbG9kYXNoLnByb3BlcnR5T2YgPSBwcm9wZXJ0eU9mO1xuICAgIGxvZGFzaC5wdWxsID0gcHVsbDtcbiAgICBsb2Rhc2gucHVsbEFsbCA9IHB1bGxBbGw7XG4gICAgbG9kYXNoLnB1bGxBbGxCeSA9IHB1bGxBbGxCeTtcbiAgICBsb2Rhc2gucHVsbEFsbFdpdGggPSBwdWxsQWxsV2l0aDtcbiAgICBsb2Rhc2gucHVsbEF0ID0gcHVsbEF0O1xuICAgIGxvZGFzaC5yYW5nZSA9IHJhbmdlO1xuICAgIGxvZGFzaC5yYW5nZVJpZ2h0ID0gcmFuZ2VSaWdodDtcbiAgICBsb2Rhc2gucmVhcmcgPSByZWFyZztcbiAgICBsb2Rhc2gucmVqZWN0ID0gcmVqZWN0O1xuICAgIGxvZGFzaC5yZW1vdmUgPSByZW1vdmU7XG4gICAgbG9kYXNoLnJlc3QgPSByZXN0O1xuICAgIGxvZGFzaC5yZXZlcnNlID0gcmV2ZXJzZTtcbiAgICBsb2Rhc2guc2FtcGxlU2l6ZSA9IHNhbXBsZVNpemU7XG4gICAgbG9kYXNoLnNldCA9IHNldDtcbiAgICBsb2Rhc2guc2V0V2l0aCA9IHNldFdpdGg7XG4gICAgbG9kYXNoLnNodWZmbGUgPSBzaHVmZmxlO1xuICAgIGxvZGFzaC5zbGljZSA9IHNsaWNlO1xuICAgIGxvZGFzaC5zb3J0QnkgPSBzb3J0Qnk7XG4gICAgbG9kYXNoLnNvcnRlZFVuaXEgPSBzb3J0ZWRVbmlxO1xuICAgIGxvZGFzaC5zb3J0ZWRVbmlxQnkgPSBzb3J0ZWRVbmlxQnk7XG4gICAgbG9kYXNoLnNwbGl0ID0gc3BsaXQ7XG4gICAgbG9kYXNoLnNwcmVhZCA9IHNwcmVhZDtcbiAgICBsb2Rhc2gudGFpbCA9IHRhaWw7XG4gICAgbG9kYXNoLnRha2UgPSB0YWtlO1xuICAgIGxvZGFzaC50YWtlUmlnaHQgPSB0YWtlUmlnaHQ7XG4gICAgbG9kYXNoLnRha2VSaWdodFdoaWxlID0gdGFrZVJpZ2h0V2hpbGU7XG4gICAgbG9kYXNoLnRha2VXaGlsZSA9IHRha2VXaGlsZTtcbiAgICBsb2Rhc2gudGFwID0gdGFwO1xuICAgIGxvZGFzaC50aHJvdHRsZSA9IHRocm90dGxlO1xuICAgIGxvZGFzaC50aHJ1ID0gdGhydTtcbiAgICBsb2Rhc2gudG9BcnJheSA9IHRvQXJyYXk7XG4gICAgbG9kYXNoLnRvUGFpcnMgPSB0b1BhaXJzO1xuICAgIGxvZGFzaC50b1BhaXJzSW4gPSB0b1BhaXJzSW47XG4gICAgbG9kYXNoLnRvUGF0aCA9IHRvUGF0aDtcbiAgICBsb2Rhc2gudG9QbGFpbk9iamVjdCA9IHRvUGxhaW5PYmplY3Q7XG4gICAgbG9kYXNoLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICBsb2Rhc2gudW5hcnkgPSB1bmFyeTtcbiAgICBsb2Rhc2gudW5pb24gPSB1bmlvbjtcbiAgICBsb2Rhc2gudW5pb25CeSA9IHVuaW9uQnk7XG4gICAgbG9kYXNoLnVuaW9uV2l0aCA9IHVuaW9uV2l0aDtcbiAgICBsb2Rhc2gudW5pcSA9IHVuaXE7XG4gICAgbG9kYXNoLnVuaXFCeSA9IHVuaXFCeTtcbiAgICBsb2Rhc2gudW5pcVdpdGggPSB1bmlxV2l0aDtcbiAgICBsb2Rhc2gudW5zZXQgPSB1bnNldDtcbiAgICBsb2Rhc2gudW56aXAgPSB1bnppcDtcbiAgICBsb2Rhc2gudW56aXBXaXRoID0gdW56aXBXaXRoO1xuICAgIGxvZGFzaC51cGRhdGUgPSB1cGRhdGU7XG4gICAgbG9kYXNoLnVwZGF0ZVdpdGggPSB1cGRhdGVXaXRoO1xuICAgIGxvZGFzaC52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgbG9kYXNoLnZhbHVlc0luID0gdmFsdWVzSW47XG4gICAgbG9kYXNoLndpdGhvdXQgPSB3aXRob3V0O1xuICAgIGxvZGFzaC53b3JkcyA9IHdvcmRzO1xuICAgIGxvZGFzaC53cmFwID0gd3JhcDtcbiAgICBsb2Rhc2gueG9yID0geG9yO1xuICAgIGxvZGFzaC54b3JCeSA9IHhvckJ5O1xuICAgIGxvZGFzaC54b3JXaXRoID0geG9yV2l0aDtcbiAgICBsb2Rhc2guemlwID0gemlwO1xuICAgIGxvZGFzaC56aXBPYmplY3QgPSB6aXBPYmplY3Q7XG4gICAgbG9kYXNoLnppcE9iamVjdERlZXAgPSB6aXBPYmplY3REZWVwO1xuICAgIGxvZGFzaC56aXBXaXRoID0gemlwV2l0aDtcblxuICAgIC8vIEFkZCBhbGlhc2VzLlxuICAgIGxvZGFzaC5lbnRyaWVzID0gdG9QYWlycztcbiAgICBsb2Rhc2guZW50cmllc0luID0gdG9QYWlyc0luO1xuICAgIGxvZGFzaC5leHRlbmQgPSBhc3NpZ25JbjtcbiAgICBsb2Rhc2guZXh0ZW5kV2l0aCA9IGFzc2lnbkluV2l0aDtcblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBsb2Rhc2gucHJvdG90eXBlYC5cbiAgICBtaXhpbihsb2Rhc2gsIGxvZGFzaCk7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0aGF0IHJldHVybiB1bndyYXBwZWQgdmFsdWVzIGluIGNoYWluIHNlcXVlbmNlcy5cbiAgICBsb2Rhc2guYWRkID0gYWRkO1xuICAgIGxvZGFzaC5hdHRlbXB0ID0gYXR0ZW1wdDtcbiAgICBsb2Rhc2guY2FtZWxDYXNlID0gY2FtZWxDYXNlO1xuICAgIGxvZGFzaC5jYXBpdGFsaXplID0gY2FwaXRhbGl6ZTtcbiAgICBsb2Rhc2guY2VpbCA9IGNlaWw7XG4gICAgbG9kYXNoLmNsYW1wID0gY2xhbXA7XG4gICAgbG9kYXNoLmNsb25lID0gY2xvbmU7XG4gICAgbG9kYXNoLmNsb25lRGVlcCA9IGNsb25lRGVlcDtcbiAgICBsb2Rhc2guY2xvbmVEZWVwV2l0aCA9IGNsb25lRGVlcFdpdGg7XG4gICAgbG9kYXNoLmNsb25lV2l0aCA9IGNsb25lV2l0aDtcbiAgICBsb2Rhc2guY29uZm9ybXNUbyA9IGNvbmZvcm1zVG87XG4gICAgbG9kYXNoLmRlYnVyciA9IGRlYnVycjtcbiAgICBsb2Rhc2guZGVmYXVsdFRvID0gZGVmYXVsdFRvO1xuICAgIGxvZGFzaC5kaXZpZGUgPSBkaXZpZGU7XG4gICAgbG9kYXNoLmVuZHNXaXRoID0gZW5kc1dpdGg7XG4gICAgbG9kYXNoLmVxID0gZXE7XG4gICAgbG9kYXNoLmVzY2FwZSA9IGVzY2FwZTtcbiAgICBsb2Rhc2guZXNjYXBlUmVnRXhwID0gZXNjYXBlUmVnRXhwO1xuICAgIGxvZGFzaC5ldmVyeSA9IGV2ZXJ5O1xuICAgIGxvZGFzaC5maW5kID0gZmluZDtcbiAgICBsb2Rhc2guZmluZEluZGV4ID0gZmluZEluZGV4O1xuICAgIGxvZGFzaC5maW5kS2V5ID0gZmluZEtleTtcbiAgICBsb2Rhc2guZmluZExhc3QgPSBmaW5kTGFzdDtcbiAgICBsb2Rhc2guZmluZExhc3RJbmRleCA9IGZpbmRMYXN0SW5kZXg7XG4gICAgbG9kYXNoLmZpbmRMYXN0S2V5ID0gZmluZExhc3RLZXk7XG4gICAgbG9kYXNoLmZsb29yID0gZmxvb3I7XG4gICAgbG9kYXNoLmZvckVhY2ggPSBmb3JFYWNoO1xuICAgIGxvZGFzaC5mb3JFYWNoUmlnaHQgPSBmb3JFYWNoUmlnaHQ7XG4gICAgbG9kYXNoLmZvckluID0gZm9ySW47XG4gICAgbG9kYXNoLmZvckluUmlnaHQgPSBmb3JJblJpZ2h0O1xuICAgIGxvZGFzaC5mb3JPd24gPSBmb3JPd247XG4gICAgbG9kYXNoLmZvck93blJpZ2h0ID0gZm9yT3duUmlnaHQ7XG4gICAgbG9kYXNoLmdldCA9IGdldDtcbiAgICBsb2Rhc2guZ3QgPSBndDtcbiAgICBsb2Rhc2guZ3RlID0gZ3RlO1xuICAgIGxvZGFzaC5oYXMgPSBoYXM7XG4gICAgbG9kYXNoLmhhc0luID0gaGFzSW47XG4gICAgbG9kYXNoLmhlYWQgPSBoZWFkO1xuICAgIGxvZGFzaC5pZGVudGl0eSA9IGlkZW50aXR5O1xuICAgIGxvZGFzaC5pbmNsdWRlcyA9IGluY2x1ZGVzO1xuICAgIGxvZGFzaC5pbmRleE9mID0gaW5kZXhPZjtcbiAgICBsb2Rhc2guaW5SYW5nZSA9IGluUmFuZ2U7XG4gICAgbG9kYXNoLmludm9rZSA9IGludm9rZTtcbiAgICBsb2Rhc2guaXNBcmd1bWVudHMgPSBpc0FyZ3VtZW50cztcbiAgICBsb2Rhc2guaXNBcnJheSA9IGlzQXJyYXk7XG4gICAgbG9kYXNoLmlzQXJyYXlCdWZmZXIgPSBpc0FycmF5QnVmZmVyO1xuICAgIGxvZGFzaC5pc0FycmF5TGlrZSA9IGlzQXJyYXlMaWtlO1xuICAgIGxvZGFzaC5pc0FycmF5TGlrZU9iamVjdCA9IGlzQXJyYXlMaWtlT2JqZWN0O1xuICAgIGxvZGFzaC5pc0Jvb2xlYW4gPSBpc0Jvb2xlYW47XG4gICAgbG9kYXNoLmlzQnVmZmVyID0gaXNCdWZmZXI7XG4gICAgbG9kYXNoLmlzRGF0ZSA9IGlzRGF0ZTtcbiAgICBsb2Rhc2guaXNFbGVtZW50ID0gaXNFbGVtZW50O1xuICAgIGxvZGFzaC5pc0VtcHR5ID0gaXNFbXB0eTtcbiAgICBsb2Rhc2guaXNFcXVhbCA9IGlzRXF1YWw7XG4gICAgbG9kYXNoLmlzRXF1YWxXaXRoID0gaXNFcXVhbFdpdGg7XG4gICAgbG9kYXNoLmlzRXJyb3IgPSBpc0Vycm9yO1xuICAgIGxvZGFzaC5pc0Zpbml0ZSA9IGlzRmluaXRlO1xuICAgIGxvZGFzaC5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcbiAgICBsb2Rhc2guaXNJbnRlZ2VyID0gaXNJbnRlZ2VyO1xuICAgIGxvZGFzaC5pc0xlbmd0aCA9IGlzTGVuZ3RoO1xuICAgIGxvZGFzaC5pc01hcCA9IGlzTWFwO1xuICAgIGxvZGFzaC5pc01hdGNoID0gaXNNYXRjaDtcbiAgICBsb2Rhc2guaXNNYXRjaFdpdGggPSBpc01hdGNoV2l0aDtcbiAgICBsb2Rhc2guaXNOYU4gPSBpc05hTjtcbiAgICBsb2Rhc2guaXNOYXRpdmUgPSBpc05hdGl2ZTtcbiAgICBsb2Rhc2guaXNOaWwgPSBpc05pbDtcbiAgICBsb2Rhc2guaXNOdWxsID0gaXNOdWxsO1xuICAgIGxvZGFzaC5pc051bWJlciA9IGlzTnVtYmVyO1xuICAgIGxvZGFzaC5pc09iamVjdCA9IGlzT2JqZWN0O1xuICAgIGxvZGFzaC5pc09iamVjdExpa2UgPSBpc09iamVjdExpa2U7XG4gICAgbG9kYXNoLmlzUGxhaW5PYmplY3QgPSBpc1BsYWluT2JqZWN0O1xuICAgIGxvZGFzaC5pc1JlZ0V4cCA9IGlzUmVnRXhwO1xuICAgIGxvZGFzaC5pc1NhZmVJbnRlZ2VyID0gaXNTYWZlSW50ZWdlcjtcbiAgICBsb2Rhc2guaXNTZXQgPSBpc1NldDtcbiAgICBsb2Rhc2guaXNTdHJpbmcgPSBpc1N0cmluZztcbiAgICBsb2Rhc2guaXNTeW1ib2wgPSBpc1N5bWJvbDtcbiAgICBsb2Rhc2guaXNUeXBlZEFycmF5ID0gaXNUeXBlZEFycmF5O1xuICAgIGxvZGFzaC5pc1VuZGVmaW5lZCA9IGlzVW5kZWZpbmVkO1xuICAgIGxvZGFzaC5pc1dlYWtNYXAgPSBpc1dlYWtNYXA7XG4gICAgbG9kYXNoLmlzV2Vha1NldCA9IGlzV2Vha1NldDtcbiAgICBsb2Rhc2guam9pbiA9IGpvaW47XG4gICAgbG9kYXNoLmtlYmFiQ2FzZSA9IGtlYmFiQ2FzZTtcbiAgICBsb2Rhc2gubGFzdCA9IGxhc3Q7XG4gICAgbG9kYXNoLmxhc3RJbmRleE9mID0gbGFzdEluZGV4T2Y7XG4gICAgbG9kYXNoLmxvd2VyQ2FzZSA9IGxvd2VyQ2FzZTtcbiAgICBsb2Rhc2gubG93ZXJGaXJzdCA9IGxvd2VyRmlyc3Q7XG4gICAgbG9kYXNoLmx0ID0gbHQ7XG4gICAgbG9kYXNoLmx0ZSA9IGx0ZTtcbiAgICBsb2Rhc2gubWF4ID0gbWF4O1xuICAgIGxvZGFzaC5tYXhCeSA9IG1heEJ5O1xuICAgIGxvZGFzaC5tZWFuID0gbWVhbjtcbiAgICBsb2Rhc2gubWVhbkJ5ID0gbWVhbkJ5O1xuICAgIGxvZGFzaC5taW4gPSBtaW47XG4gICAgbG9kYXNoLm1pbkJ5ID0gbWluQnk7XG4gICAgbG9kYXNoLnN0dWJBcnJheSA9IHN0dWJBcnJheTtcbiAgICBsb2Rhc2guc3R1YkZhbHNlID0gc3R1YkZhbHNlO1xuICAgIGxvZGFzaC5zdHViT2JqZWN0ID0gc3R1Yk9iamVjdDtcbiAgICBsb2Rhc2guc3R1YlN0cmluZyA9IHN0dWJTdHJpbmc7XG4gICAgbG9kYXNoLnN0dWJUcnVlID0gc3R1YlRydWU7XG4gICAgbG9kYXNoLm11bHRpcGx5ID0gbXVsdGlwbHk7XG4gICAgbG9kYXNoLm50aCA9IG50aDtcbiAgICBsb2Rhc2gubm9Db25mbGljdCA9IG5vQ29uZmxpY3Q7XG4gICAgbG9kYXNoLm5vb3AgPSBub29wO1xuICAgIGxvZGFzaC5ub3cgPSBub3c7XG4gICAgbG9kYXNoLnBhZCA9IHBhZDtcbiAgICBsb2Rhc2gucGFkRW5kID0gcGFkRW5kO1xuICAgIGxvZGFzaC5wYWRTdGFydCA9IHBhZFN0YXJ0O1xuICAgIGxvZGFzaC5wYXJzZUludCA9IHBhcnNlSW50O1xuICAgIGxvZGFzaC5yYW5kb20gPSByYW5kb207XG4gICAgbG9kYXNoLnJlZHVjZSA9IHJlZHVjZTtcbiAgICBsb2Rhc2gucmVkdWNlUmlnaHQgPSByZWR1Y2VSaWdodDtcbiAgICBsb2Rhc2gucmVwZWF0ID0gcmVwZWF0O1xuICAgIGxvZGFzaC5yZXBsYWNlID0gcmVwbGFjZTtcbiAgICBsb2Rhc2gucmVzdWx0ID0gcmVzdWx0O1xuICAgIGxvZGFzaC5yb3VuZCA9IHJvdW5kO1xuICAgIGxvZGFzaC5ydW5JbkNvbnRleHQgPSBydW5JbkNvbnRleHQ7XG4gICAgbG9kYXNoLnNhbXBsZSA9IHNhbXBsZTtcbiAgICBsb2Rhc2guc2l6ZSA9IHNpemU7XG4gICAgbG9kYXNoLnNuYWtlQ2FzZSA9IHNuYWtlQ2FzZTtcbiAgICBsb2Rhc2guc29tZSA9IHNvbWU7XG4gICAgbG9kYXNoLnNvcnRlZEluZGV4ID0gc29ydGVkSW5kZXg7XG4gICAgbG9kYXNoLnNvcnRlZEluZGV4QnkgPSBzb3J0ZWRJbmRleEJ5O1xuICAgIGxvZGFzaC5zb3J0ZWRJbmRleE9mID0gc29ydGVkSW5kZXhPZjtcbiAgICBsb2Rhc2guc29ydGVkTGFzdEluZGV4ID0gc29ydGVkTGFzdEluZGV4O1xuICAgIGxvZGFzaC5zb3J0ZWRMYXN0SW5kZXhCeSA9IHNvcnRlZExhc3RJbmRleEJ5O1xuICAgIGxvZGFzaC5zb3J0ZWRMYXN0SW5kZXhPZiA9IHNvcnRlZExhc3RJbmRleE9mO1xuICAgIGxvZGFzaC5zdGFydENhc2UgPSBzdGFydENhc2U7XG4gICAgbG9kYXNoLnN0YXJ0c1dpdGggPSBzdGFydHNXaXRoO1xuICAgIGxvZGFzaC5zdWJ0cmFjdCA9IHN1YnRyYWN0O1xuICAgIGxvZGFzaC5zdW0gPSBzdW07XG4gICAgbG9kYXNoLnN1bUJ5ID0gc3VtQnk7XG4gICAgbG9kYXNoLnRlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgbG9kYXNoLnRpbWVzID0gdGltZXM7XG4gICAgbG9kYXNoLnRvRmluaXRlID0gdG9GaW5pdGU7XG4gICAgbG9kYXNoLnRvSW50ZWdlciA9IHRvSW50ZWdlcjtcbiAgICBsb2Rhc2gudG9MZW5ndGggPSB0b0xlbmd0aDtcbiAgICBsb2Rhc2gudG9Mb3dlciA9IHRvTG93ZXI7XG4gICAgbG9kYXNoLnRvTnVtYmVyID0gdG9OdW1iZXI7XG4gICAgbG9kYXNoLnRvU2FmZUludGVnZXIgPSB0b1NhZmVJbnRlZ2VyO1xuICAgIGxvZGFzaC50b1N0cmluZyA9IHRvU3RyaW5nO1xuICAgIGxvZGFzaC50b1VwcGVyID0gdG9VcHBlcjtcbiAgICBsb2Rhc2gudHJpbSA9IHRyaW07XG4gICAgbG9kYXNoLnRyaW1FbmQgPSB0cmltRW5kO1xuICAgIGxvZGFzaC50cmltU3RhcnQgPSB0cmltU3RhcnQ7XG4gICAgbG9kYXNoLnRydW5jYXRlID0gdHJ1bmNhdGU7XG4gICAgbG9kYXNoLnVuZXNjYXBlID0gdW5lc2NhcGU7XG4gICAgbG9kYXNoLnVuaXF1ZUlkID0gdW5pcXVlSWQ7XG4gICAgbG9kYXNoLnVwcGVyQ2FzZSA9IHVwcGVyQ2FzZTtcbiAgICBsb2Rhc2gudXBwZXJGaXJzdCA9IHVwcGVyRmlyc3Q7XG5cbiAgICAvLyBBZGQgYWxpYXNlcy5cbiAgICBsb2Rhc2guZWFjaCA9IGZvckVhY2g7XG4gICAgbG9kYXNoLmVhY2hSaWdodCA9IGZvckVhY2hSaWdodDtcbiAgICBsb2Rhc2guZmlyc3QgPSBoZWFkO1xuXG4gICAgbWl4aW4obG9kYXNoLCAoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgc291cmNlID0ge307XG4gICAgICBiYXNlRm9yT3duKGxvZGFzaCwgZnVuY3Rpb24oZnVuYywgbWV0aG9kTmFtZSkge1xuICAgICAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwobG9kYXNoLnByb3RvdHlwZSwgbWV0aG9kTmFtZSkpIHtcbiAgICAgICAgICBzb3VyY2VbbWV0aG9kTmFtZV0gPSBmdW5jO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgfSgpKSwgeyAnY2hhaW4nOiBmYWxzZSB9KTtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIFRoZSBzZW1hbnRpYyB2ZXJzaW9uIG51bWJlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgbG9kYXNoLlZFUlNJT04gPSBWRVJTSU9OO1xuXG4gICAgLy8gQXNzaWduIGRlZmF1bHQgcGxhY2Vob2xkZXJzLlxuICAgIGFycmF5RWFjaChbJ2JpbmQnLCAnYmluZEtleScsICdjdXJyeScsICdjdXJyeVJpZ2h0JywgJ3BhcnRpYWwnLCAncGFydGlhbFJpZ2h0J10sIGZ1bmN0aW9uKG1ldGhvZE5hbWUpIHtcbiAgICAgIGxvZGFzaFttZXRob2ROYW1lXS5wbGFjZWhvbGRlciA9IGxvZGFzaDtcbiAgICB9KTtcblxuICAgIC8vIEFkZCBgTGF6eVdyYXBwZXJgIG1ldGhvZHMgZm9yIGBfLmRyb3BgIGFuZCBgXy50YWtlYCB2YXJpYW50cy5cbiAgICBhcnJheUVhY2goWydkcm9wJywgJ3Rha2UnXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgICAgbiA9IG4gPT09IHVuZGVmaW5lZCA/IDEgOiBuYXRpdmVNYXgodG9JbnRlZ2VyKG4pLCAwKTtcblxuICAgICAgICB2YXIgcmVzdWx0ID0gKHRoaXMuX19maWx0ZXJlZF9fICYmICFpbmRleClcbiAgICAgICAgICA/IG5ldyBMYXp5V3JhcHBlcih0aGlzKVxuICAgICAgICAgIDogdGhpcy5jbG9uZSgpO1xuXG4gICAgICAgIGlmIChyZXN1bHQuX19maWx0ZXJlZF9fKSB7XG4gICAgICAgICAgcmVzdWx0Ll9fdGFrZUNvdW50X18gPSBuYXRpdmVNaW4obiwgcmVzdWx0Ll9fdGFrZUNvdW50X18pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdC5fX3ZpZXdzX18ucHVzaCh7XG4gICAgICAgICAgICAnc2l6ZSc6IG5hdGl2ZU1pbihuLCBNQVhfQVJSQVlfTEVOR1RIKSxcbiAgICAgICAgICAgICd0eXBlJzogbWV0aG9kTmFtZSArIChyZXN1bHQuX19kaXJfXyA8IDAgPyAnUmlnaHQnIDogJycpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG5cbiAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lICsgJ1JpZ2h0J10gPSBmdW5jdGlvbihuKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJldmVyc2UoKVttZXRob2ROYW1lXShuKS5yZXZlcnNlKCk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gQWRkIGBMYXp5V3JhcHBlcmAgbWV0aG9kcyB0aGF0IGFjY2VwdCBhbiBgaXRlcmF0ZWVgIHZhbHVlLlxuICAgIGFycmF5RWFjaChbJ2ZpbHRlcicsICdtYXAnLCAndGFrZVdoaWxlJ10sIGZ1bmN0aW9uKG1ldGhvZE5hbWUsIGluZGV4KSB7XG4gICAgICB2YXIgdHlwZSA9IGluZGV4ICsgMSxcbiAgICAgICAgICBpc0ZpbHRlciA9IHR5cGUgPT0gTEFaWV9GSUxURVJfRkxBRyB8fCB0eXBlID09IExBWllfV0hJTEVfRkxBRztcblxuICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuY2xvbmUoKTtcbiAgICAgICAgcmVzdWx0Ll9faXRlcmF0ZWVzX18ucHVzaCh7XG4gICAgICAgICAgJ2l0ZXJhdGVlJzogZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpLFxuICAgICAgICAgICd0eXBlJzogdHlwZVxuICAgICAgICB9KTtcbiAgICAgICAgcmVzdWx0Ll9fZmlsdGVyZWRfXyA9IHJlc3VsdC5fX2ZpbHRlcmVkX18gfHwgaXNGaWx0ZXI7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gQWRkIGBMYXp5V3JhcHBlcmAgbWV0aG9kcyBmb3IgYF8uaGVhZGAgYW5kIGBfLmxhc3RgLlxuICAgIGFycmF5RWFjaChbJ2hlYWQnLCAnbGFzdCddLCBmdW5jdGlvbihtZXRob2ROYW1lLCBpbmRleCkge1xuICAgICAgdmFyIHRha2VOYW1lID0gJ3Rha2UnICsgKGluZGV4ID8gJ1JpZ2h0JyA6ICcnKTtcblxuICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzW3Rha2VOYW1lXSgxKS52YWx1ZSgpWzBdO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIEFkZCBgTGF6eVdyYXBwZXJgIG1ldGhvZHMgZm9yIGBfLmluaXRpYWxgIGFuZCBgXy50YWlsYC5cbiAgICBhcnJheUVhY2goWydpbml0aWFsJywgJ3RhaWwnXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgIHZhciBkcm9wTmFtZSA9ICdkcm9wJyArIChpbmRleCA/ICcnIDogJ1JpZ2h0Jyk7XG5cbiAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fX2ZpbHRlcmVkX18gPyBuZXcgTGF6eVdyYXBwZXIodGhpcykgOiB0aGlzW2Ryb3BOYW1lXSgxKTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuY29tcGFjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKGlkZW50aXR5KTtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmZpbmQgPSBmdW5jdGlvbihwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcihwcmVkaWNhdGUpLmhlYWQoKTtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmZpbmRMYXN0ID0gZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXZlcnNlKCkuZmluZChwcmVkaWNhdGUpO1xuICAgIH07XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuaW52b2tlTWFwID0gYmFzZVJlc3QoZnVuY3Rpb24ocGF0aCwgYXJncykge1xuICAgICAgaWYgKHR5cGVvZiBwYXRoID09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMYXp5V3JhcHBlcih0aGlzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICByZXR1cm4gYmFzZUludm9rZSh2YWx1ZSwgcGF0aCwgYXJncyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5yZWplY3QgPSBmdW5jdGlvbihwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcihuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlKSkpO1xuICAgIH07XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbihzdGFydCwgZW5kKSB7XG4gICAgICBzdGFydCA9IHRvSW50ZWdlcihzdGFydCk7XG5cbiAgICAgIHZhciByZXN1bHQgPSB0aGlzO1xuICAgICAgaWYgKHJlc3VsdC5fX2ZpbHRlcmVkX18gJiYgKHN0YXJ0ID4gMCB8fCBlbmQgPCAwKSkge1xuICAgICAgICByZXR1cm4gbmV3IExhenlXcmFwcGVyKHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBpZiAoc3RhcnQgPCAwKSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC50YWtlUmlnaHQoLXN0YXJ0KTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhcnQpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmRyb3Aoc3RhcnQpO1xuICAgICAgfVxuICAgICAgaWYgKGVuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVuZCA9IHRvSW50ZWdlcihlbmQpO1xuICAgICAgICByZXN1bHQgPSBlbmQgPCAwID8gcmVzdWx0LmRyb3BSaWdodCgtZW5kKSA6IHJlc3VsdC50YWtlKGVuZCAtIHN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS50YWtlUmlnaHRXaGlsZSA9IGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZSgpLnRha2VXaGlsZShwcmVkaWNhdGUpLnJldmVyc2UoKTtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLnRha2UoTUFYX0FSUkFZX0xFTkdUSCk7XG4gICAgfTtcblxuICAgIC8vIEFkZCBgTGF6eVdyYXBwZXJgIG1ldGhvZHMgdG8gYGxvZGFzaC5wcm90b3R5cGVgLlxuICAgIGJhc2VGb3JPd24oTGF6eVdyYXBwZXIucHJvdG90eXBlLCBmdW5jdGlvbihmdW5jLCBtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgY2hlY2tJdGVyYXRlZSA9IC9eKD86ZmlsdGVyfGZpbmR8bWFwfHJlamVjdCl8V2hpbGUkLy50ZXN0KG1ldGhvZE5hbWUpLFxuICAgICAgICAgIGlzVGFrZXIgPSAvXig/OmhlYWR8bGFzdCkkLy50ZXN0KG1ldGhvZE5hbWUpLFxuICAgICAgICAgIGxvZGFzaEZ1bmMgPSBsb2Rhc2hbaXNUYWtlciA/ICgndGFrZScgKyAobWV0aG9kTmFtZSA9PSAnbGFzdCcgPyAnUmlnaHQnIDogJycpKSA6IG1ldGhvZE5hbWVdLFxuICAgICAgICAgIHJldFVud3JhcHBlZCA9IGlzVGFrZXIgfHwgL15maW5kLy50ZXN0KG1ldGhvZE5hbWUpO1xuXG4gICAgICBpZiAoIWxvZGFzaEZ1bmMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbG9kYXNoLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLl9fd3JhcHBlZF9fLFxuICAgICAgICAgICAgYXJncyA9IGlzVGFrZXIgPyBbMV0gOiBhcmd1bWVudHMsXG4gICAgICAgICAgICBpc0xhenkgPSB2YWx1ZSBpbnN0YW5jZW9mIExhenlXcmFwcGVyLFxuICAgICAgICAgICAgaXRlcmF0ZWUgPSBhcmdzWzBdLFxuICAgICAgICAgICAgdXNlTGF6eSA9IGlzTGF6eSB8fCBpc0FycmF5KHZhbHVlKTtcblxuICAgICAgICB2YXIgaW50ZXJjZXB0b3IgPSBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgIHZhciByZXN1bHQgPSBsb2Rhc2hGdW5jLmFwcGx5KGxvZGFzaCwgYXJyYXlQdXNoKFt2YWx1ZV0sIGFyZ3MpKTtcbiAgICAgICAgICByZXR1cm4gKGlzVGFrZXIgJiYgY2hhaW5BbGwpID8gcmVzdWx0WzBdIDogcmVzdWx0O1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh1c2VMYXp5ICYmIGNoZWNrSXRlcmF0ZWUgJiYgdHlwZW9mIGl0ZXJhdGVlID09ICdmdW5jdGlvbicgJiYgaXRlcmF0ZWUubGVuZ3RoICE9IDEpIHtcbiAgICAgICAgICAvLyBBdm9pZCBsYXp5IHVzZSBpZiB0aGUgaXRlcmF0ZWUgaGFzIGEgXCJsZW5ndGhcIiB2YWx1ZSBvdGhlciB0aGFuIGAxYC5cbiAgICAgICAgICBpc0xhenkgPSB1c2VMYXp5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNoYWluQWxsID0gdGhpcy5fX2NoYWluX18sXG4gICAgICAgICAgICBpc0h5YnJpZCA9ICEhdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgsXG4gICAgICAgICAgICBpc1Vud3JhcHBlZCA9IHJldFVud3JhcHBlZCAmJiAhY2hhaW5BbGwsXG4gICAgICAgICAgICBvbmx5TGF6eSA9IGlzTGF6eSAmJiAhaXNIeWJyaWQ7XG5cbiAgICAgICAgaWYgKCFyZXRVbndyYXBwZWQgJiYgdXNlTGF6eSkge1xuICAgICAgICAgIHZhbHVlID0gb25seUxhenkgPyB2YWx1ZSA6IG5ldyBMYXp5V3JhcHBlcih0aGlzKTtcbiAgICAgICAgICB2YXIgcmVzdWx0ID0gZnVuYy5hcHBseSh2YWx1ZSwgYXJncyk7XG4gICAgICAgICAgcmVzdWx0Ll9fYWN0aW9uc19fLnB1c2goeyAnZnVuYyc6IHRocnUsICdhcmdzJzogW2ludGVyY2VwdG9yXSwgJ3RoaXNBcmcnOiB1bmRlZmluZWQgfSk7XG4gICAgICAgICAgcmV0dXJuIG5ldyBMb2Rhc2hXcmFwcGVyKHJlc3VsdCwgY2hhaW5BbGwpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1Vud3JhcHBlZCAmJiBvbmx5TGF6eSkge1xuICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCA9IHRoaXMudGhydShpbnRlcmNlcHRvcik7XG4gICAgICAgIHJldHVybiBpc1Vud3JhcHBlZCA/IChpc1Rha2VyID8gcmVzdWx0LnZhbHVlKClbMF0gOiByZXN1bHQudmFsdWUoKSkgOiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gQWRkIGBBcnJheWAgbWV0aG9kcyB0byBgbG9kYXNoLnByb3RvdHlwZWAuXG4gICAgYXJyYXlFYWNoKFsncG9wJywgJ3B1c2gnLCAnc2hpZnQnLCAnc29ydCcsICdzcGxpY2UnLCAndW5zaGlmdCddLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgZnVuYyA9IGFycmF5UHJvdG9bbWV0aG9kTmFtZV0sXG4gICAgICAgICAgY2hhaW5OYW1lID0gL14oPzpwdXNofHNvcnR8dW5zaGlmdCkkLy50ZXN0KG1ldGhvZE5hbWUpID8gJ3RhcCcgOiAndGhydScsXG4gICAgICAgICAgcmV0VW53cmFwcGVkID0gL14oPzpwb3B8c2hpZnQpJC8udGVzdChtZXRob2ROYW1lKTtcblxuICAgICAgbG9kYXNoLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgaWYgKHJldFVud3JhcHBlZCAmJiAhdGhpcy5fX2NoYWluX18pIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkoaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpc1tjaGFpbk5hbWVdKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkoaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdLCBhcmdzKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gTWFwIG1pbmlmaWVkIG1ldGhvZCBuYW1lcyB0byB0aGVpciByZWFsIG5hbWVzLlxuICAgIGJhc2VGb3JPd24oTGF6eVdyYXBwZXIucHJvdG90eXBlLCBmdW5jdGlvbihmdW5jLCBtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgbG9kYXNoRnVuYyA9IGxvZGFzaFttZXRob2ROYW1lXTtcbiAgICAgIGlmIChsb2Rhc2hGdW5jKSB7XG4gICAgICAgIHZhciBrZXkgPSBsb2Rhc2hGdW5jLm5hbWUgKyAnJztcbiAgICAgICAgaWYgKCFoYXNPd25Qcm9wZXJ0eS5jYWxsKHJlYWxOYW1lcywga2V5KSkge1xuICAgICAgICAgIHJlYWxOYW1lc1trZXldID0gW107XG4gICAgICAgIH1cbiAgICAgICAgcmVhbE5hbWVzW2tleV0ucHVzaCh7ICduYW1lJzogbWV0aG9kTmFtZSwgJ2Z1bmMnOiBsb2Rhc2hGdW5jIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmVhbE5hbWVzW2NyZWF0ZUh5YnJpZCh1bmRlZmluZWQsIFdSQVBfQklORF9LRVlfRkxBRykubmFtZV0gPSBbe1xuICAgICAgJ25hbWUnOiAnd3JhcHBlcicsXG4gICAgICAnZnVuYyc6IHVuZGVmaW5lZFxuICAgIH1dO1xuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYExhenlXcmFwcGVyYC5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuY2xvbmUgPSBsYXp5Q2xvbmU7XG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLnJldmVyc2UgPSBsYXp5UmV2ZXJzZTtcbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUudmFsdWUgPSBsYXp5VmFsdWU7XG5cbiAgICAvLyBBZGQgY2hhaW4gc2VxdWVuY2UgbWV0aG9kcyB0byB0aGUgYGxvZGFzaGAgd3JhcHBlci5cbiAgICBsb2Rhc2gucHJvdG90eXBlLmF0ID0gd3JhcHBlckF0O1xuICAgIGxvZGFzaC5wcm90b3R5cGUuY2hhaW4gPSB3cmFwcGVyQ2hhaW47XG4gICAgbG9kYXNoLnByb3RvdHlwZS5jb21taXQgPSB3cmFwcGVyQ29tbWl0O1xuICAgIGxvZGFzaC5wcm90b3R5cGUubmV4dCA9IHdyYXBwZXJOZXh0O1xuICAgIGxvZGFzaC5wcm90b3R5cGUucGxhbnQgPSB3cmFwcGVyUGxhbnQ7XG4gICAgbG9kYXNoLnByb3RvdHlwZS5yZXZlcnNlID0gd3JhcHBlclJldmVyc2U7XG4gICAgbG9kYXNoLnByb3RvdHlwZS50b0pTT04gPSBsb2Rhc2gucHJvdG90eXBlLnZhbHVlT2YgPSBsb2Rhc2gucHJvdG90eXBlLnZhbHVlID0gd3JhcHBlclZhbHVlO1xuXG4gICAgLy8gQWRkIGxhenkgYWxpYXNlcy5cbiAgICBsb2Rhc2gucHJvdG90eXBlLmZpcnN0ID0gbG9kYXNoLnByb3RvdHlwZS5oZWFkO1xuXG4gICAgaWYgKHN5bUl0ZXJhdG9yKSB7XG4gICAgICBsb2Rhc2gucHJvdG90eXBlW3N5bUl0ZXJhdG9yXSA9IHdyYXBwZXJUb0l0ZXJhdG9yO1xuICAgIH1cbiAgICByZXR1cm4gbG9kYXNoO1xuICB9KTtcblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAvLyBFeHBvcnQgbG9kYXNoLlxuICB2YXIgXyA9IHJ1bkluQ29udGV4dCgpO1xuXG4gIC8vIFNvbWUgQU1EIGJ1aWxkIG9wdGltaXplcnMsIGxpa2Ugci5qcywgY2hlY2sgZm9yIGNvbmRpdGlvbiBwYXR0ZXJucyBsaWtlOlxuICBpZiAodHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09ICdvYmplY3QnICYmIGRlZmluZS5hbWQpIHtcbiAgICAvLyBFeHBvc2UgTG9kYXNoIG9uIHRoZSBnbG9iYWwgb2JqZWN0IHRvIHByZXZlbnQgZXJyb3JzIHdoZW4gTG9kYXNoIGlzXG4gICAgLy8gbG9hZGVkIGJ5IGEgc2NyaXB0IHRhZyBpbiB0aGUgcHJlc2VuY2Ugb2YgYW4gQU1EIGxvYWRlci5cbiAgICAvLyBTZWUgaHR0cDovL3JlcXVpcmVqcy5vcmcvZG9jcy9lcnJvcnMuaHRtbCNtaXNtYXRjaCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgIC8vIFVzZSBgXy5ub0NvbmZsaWN0YCB0byByZW1vdmUgTG9kYXNoIGZyb20gdGhlIGdsb2JhbCBvYmplY3QuXG4gICAgcm9vdC5fID0gXztcblxuICAgIC8vIERlZmluZSBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlIHNvLCB0aHJvdWdoIHBhdGggbWFwcGluZywgaXQgY2FuIGJlXG4gICAgLy8gcmVmZXJlbmNlZCBhcyB0aGUgXCJ1bmRlcnNjb3JlXCIgbW9kdWxlLlxuICAgIGRlZmluZShmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBfO1xuICAgIH0pO1xuICB9XG4gIC8vIENoZWNrIGZvciBgZXhwb3J0c2AgYWZ0ZXIgYGRlZmluZWAgaW4gY2FzZSBhIGJ1aWxkIG9wdGltaXplciBhZGRzIGl0LlxuICBlbHNlIGlmIChmcmVlTW9kdWxlKSB7XG4gICAgLy8gRXhwb3J0IGZvciBOb2RlLmpzLlxuICAgIChmcmVlTW9kdWxlLmV4cG9ydHMgPSBfKS5fID0gXztcbiAgICAvLyBFeHBvcnQgZm9yIENvbW1vbkpTIHN1cHBvcnQuXG4gICAgZnJlZUV4cG9ydHMuXyA9IF87XG4gIH1cbiAgZWxzZSB7XG4gICAgLy8gRXhwb3J0IHRvIHRoZSBnbG9iYWwgb2JqZWN0LlxuICAgIHJvb3QuXyA9IF87XG4gIH1cbn0uY2FsbCh0aGlzKSk7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVmFsdWUgPSBleHBvcnRzLkFyaXR5ID0gdm9pZCAwO1xuY29uc3QgbG9kYXNoXzEgPSByZXF1aXJlKFwibG9kYXNoXCIpO1xuY2xhc3MgQXJpdHkge1xuICAgIGNvbnN0cnVjdG9yKHJvd3MsIGNvbHVtbnMpIHtcbiAgICAgICAgdGhpcy5pc1JvdyA9ICgpID0+IHRoaXMucm93cyA+IDEgJiYgdGhpcy5jb2xzID09PSAxO1xuICAgICAgICB0aGlzLmlzQ29sdW1uID0gKCkgPT4gdGhpcy5yb3dzID09PSAxICYmIHRoaXMuY29scyA+IDE7XG4gICAgICAgIHRoaXMuaXNDZWxsID0gKCkgPT4gdGhpcy5yb3dzID09PSAxICYmIHRoaXMuY29scyA9PT0gMTtcbiAgICAgICAgdGhpcy5yb3dzID0gcm93cztcbiAgICAgICAgdGhpcy5jb2xzID0gY29sdW1ucztcbiAgICB9XG59XG5leHBvcnRzLkFyaXR5ID0gQXJpdHk7XG5jbGFzcyBWYWx1ZSB7XG4gICAgY29uc3RydWN0b3IodmFsKSB7XG4gICAgICAgIHRoaXMuZ2V0ID0gKHJvdywgY29sdW1uKSA9PiB0aGlzLnZhbFtyb3ddW2NvbHVtbl07XG4gICAgICAgIHRoaXMuZ2V0QXNGbG9hdCA9IChyb3csIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VGbG9hdCh0aGlzLmdldChyb3csIGNvbHVtbikpO1xuICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHBhcnNlZCkgPyAwIDogcGFyc2VkO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdldEFzSW50ID0gKHJvdywgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludCh0aGlzLmdldChyb3csIGNvbHVtbikpO1xuICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHBhcnNlZCkgPyAwIDogcGFyc2VkO1xuICAgICAgICB9O1xuICAgICAgICAvKipcbiAgICAgICAgICogZ2V0QXJpdHkgcmV0dXJucyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgY29udGFpbmVkIHZhbHVlLCBpbiByb3dzIGFuZCBjb2x1bW5zXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmdldEFyaXR5ID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF4Q29scyA9IHRoaXMudmFsLnJlZHVjZSgobWF4LCBjdXJyZW50Um93KSA9PiBNYXRoLm1heChtYXgsIGN1cnJlbnRSb3cubGVuZ3RoKSwgMCk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFyaXR5KHRoaXMudmFsLmxlbmd0aCwgbWF4Q29scyk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXRBcml0eSgpLmlzQ2VsbCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGBbJHtsb2Rhc2hfMS5mbGF0dGVuKHRoaXMudmFsKVxuICAgICAgICAgICAgICAgIC5tYXAoKHZhbCkgPT4gdmFsLnRyaW0oKSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh2YWwpID0+IHZhbCAhPT0gJycpXG4gICAgICAgICAgICAgICAgLmpvaW4oJywgJyl9XWA7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudmFsID0gdmFsO1xuICAgIH1cbn1cbmV4cG9ydHMuVmFsdWUgPSBWYWx1ZTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5BbGdlYnJhaWNPcGVyYXRpb24gPSB2b2lkIDA7XG5jb25zdCBuZXZlcnRocm93XzEgPSByZXF1aXJlKFwiLi4vbmV2ZXJ0aHJvdy9uZXZlcnRocm93XCIpO1xuY29uc3QgYXN0X3V0aWxzXzEgPSByZXF1aXJlKFwiLi9hc3RfdXRpbHNcIik7XG5jb25zdCBjYWxjXzEgPSByZXF1aXJlKFwiLi9jYWxjXCIpO1xuY29uc3QgcmVzdWx0c18xID0gcmVxdWlyZShcIi4vcmVzdWx0c1wiKTtcbmNvbnN0IGxvZGFzaF8xID0gcmVxdWlyZShcImxvZGFzaFwiKTtcbmNsYXNzIEFsZ2VicmFpY09wZXJhdGlvbiB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSkge1xuICAgICAgICB0aGlzLmdldFZhbHVlID0gKHRhYmxlLCBjZWxsKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMub3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICBjYXNlICcrJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkKHRhYmxlLCBjZWxsKTtcbiAgICAgICAgICAgICAgICBjYXNlICctJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3VidHJhY3QodGFibGUsIGNlbGwpO1xuICAgICAgICAgICAgICAgIGNhc2UgJyonOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBseSh0YWJsZSwgY2VsbCk7XG4gICAgICAgICAgICAgICAgY2FzZSAnLyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpdmlkZSh0YWJsZSwgY2VsbCk7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoRXJyb3IoJ0ludmFsaWQgYWxnYnJhaWMgb3BlcmF0b3I6ICcgKyB0aGlzLm9wZXJhdG9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB3aXRoQ2VsbEFuZFJhbmdlIGFpZHMgaW4gcGVyZm9ybWluZyBhIG51bWVyaWMgb3BlcmF0aW9uIG9uIGNlbGxzIGluIGFcbiAgICAgICAgICogdGFibGUgd2hlcmUgYXQgbGVhc3Qgb25lIG9mIHRoZSB0d28gb3BlcmFuZHMgaXMgYSBzaW5nbGUgY2VsbC4gT3B0aW9uYWxseSxcbiAgICAgICAgICogdGhlIHR3byBzaWRlcyBvZiB0aGUgb3BlcmF0aW9uIGNhbiBiZSBzd2FwcGVkLCBzbyB0aGUgc2luZ2xlIGNlbGwgaXNcbiAgICAgICAgICogYWx3YXlzIG9uIHRoZSByaWdodC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMud2l0aENlbGxBbmRSYW5nZSA9ICh0YWJsZSwgY2VsbCwgbmFtZSwgY2FuSGF2ZVJpZ2h0UmFuZ2UsIGZuKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsZWZ0VmFsdWUgPSB0aGlzLmxlZnRTb3VyY2UuZ2V0VmFsdWUodGFibGUsIGNlbGwpO1xuICAgICAgICAgICAgaWYgKGxlZnRWYWx1ZS5pc0VycigpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobGVmdFZhbHVlLmVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0VmFsdWUgPSB0aGlzLnJpZ2h0U291cmNlLmdldFZhbHVlKHRhYmxlLCBjZWxsKTtcbiAgICAgICAgICAgIGlmIChyaWdodFZhbHVlLmlzRXJyKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihyaWdodFZhbHVlLmVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxlZnRBcml0eSA9IGxlZnRWYWx1ZS52YWx1ZS5nZXRBcml0eSgpO1xuICAgICAgICAgICAgY29uc3QgcmlnaHRBcml0eSA9IHJpZ2h0VmFsdWUudmFsdWUuZ2V0QXJpdHkoKTtcbiAgICAgICAgICAgIGlmICghcmlnaHRBcml0eS5pc0NlbGwoKSAmJiAhbGVmdEFyaXR5LmlzQ2VsbCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoRXJyb3IoYEF0IGxlYXN0IG9uZSBvcGVyYW5kIGluIGFsZ2VicmFpYyBcIiR7bmFtZX1cIiBtdXN0IGJlIGEgc2luZ2xlIGNlbGwuYCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyaWdodEFyaXR5LmlzQ2VsbCgpICYmICFjYW5IYXZlUmlnaHRSYW5nZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKEVycm9yKGBSaWdodCBvcGVyYW5kIGluIGFsZ2VicmFpYyBcIiR7bmFtZX1cIiBtdXN0IGJlIGEgc2luZ2xlIGNlbGwuYCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJpZ2h0QXJpdHkuaXNDZWxsKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByaWdodENlbGxWYWx1ZSA9IHJpZ2h0VmFsdWUudmFsdWUuZ2V0QXNGbG9hdCgwLCAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBsb2Rhc2hfMS5tYXAobGVmdFZhbHVlLnZhbHVlLnZhbCwgKGN1cnJlbnRSb3cpID0+IGxvZGFzaF8xLm1hcChjdXJyZW50Um93LCAoY3VycmVudENlbGwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxlZnRDZWxsVmFsdWUgPSBwYXJzZUZsb2F0KGN1cnJlbnRDZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzTmFOKGxlZnRDZWxsVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0Q2VsbFZhbHVlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm4obGVmdENlbGxWYWx1ZSwgcmlnaHRDZWxsVmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IHJlc3VsdHNfMS5WYWx1ZShyZXN1bHQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxlZnRDZWxsVmFsdWUgPSBsZWZ0VmFsdWUudmFsdWUuZ2V0QXNGbG9hdCgwLCAwKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGxvZGFzaF8xLm1hcChyaWdodFZhbHVlLnZhbHVlLnZhbCwgKGN1cnJlbnRSb3cpID0+IGxvZGFzaF8xLm1hcChjdXJyZW50Um93LCAoY3VycmVudENlbGwpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgcmlnaHRDZWxsVmFsdWUgPSBwYXJzZUZsb2F0KGN1cnJlbnRDZWxsKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNOYU4obGVmdENlbGxWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHRDZWxsVmFsdWUgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZm4obGVmdENlbGxWYWx1ZSwgcmlnaHRDZWxsVmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyByZXN1bHRzXzEuVmFsdWUocmVzdWx0KSk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYWRkID0gKHRhYmxlLCBjZWxsKSA9PiB0aGlzLndpdGhDZWxsQW5kUmFuZ2UodGFibGUsIGNlbGwsICdhZGQnLCB0cnVlLCAobGVmdCwgcmlnaHQpID0+IGxlZnQgKyByaWdodCk7XG4gICAgICAgIHRoaXMuc3VidHJhY3QgPSAodGFibGUsIGNlbGwpID0+IHRoaXMud2l0aENlbGxBbmRSYW5nZSh0YWJsZSwgY2VsbCwgJ3N1YnRyYWN0JywgdHJ1ZSwgKGxlZnQsIHJpZ2h0KSA9PiBsZWZ0IC0gcmlnaHQpO1xuICAgICAgICB0aGlzLm11bHRpcGx5ID0gKHRhYmxlLCBjZWxsKSA9PiB0aGlzLndpdGhDZWxsQW5kUmFuZ2UodGFibGUsIGNlbGwsICdtdWx0aXBseScsIHRydWUsIChsZWZ0LCByaWdodCkgPT4gbGVmdCAqIHJpZ2h0KTtcbiAgICAgICAgdGhpcy5kaXZpZGUgPSAodGFibGUsIGNlbGwpID0+IHRoaXMud2l0aENlbGxBbmRSYW5nZSh0YWJsZSwgY2VsbCwgJ2RpdmlkZScsIGZhbHNlLCAobGVmdCwgcmlnaHQpID0+IGxlZnQgLyByaWdodCk7XG4gICAgICAgIGNvbnN0IHR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAnYWxnZWJyYWljX29wZXJhdGlvbicpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAzKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGlsZFR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LmNoaWxkcmVuWzFdLCAnYWxnZWJyYWljX29wZXJhdG9yJyk7XG4gICAgICAgIGlmIChjaGlsZFR5cGVFcnIpIHtcbiAgICAgICAgICAgIHRocm93IGNoaWxkVHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZXJhdG9yID0gYXN0LmNoaWxkcmVuWzFdLnRleHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxlZnRTb3VyY2UgPSBuZXcgY2FsY18xLlNvdXJjZShhc3QuY2hpbGRyZW5bMF0sIHRhYmxlKTtcbiAgICAgICAgICAgIHRoaXMucmlnaHRTb3VyY2UgPSBuZXcgY2FsY18xLlNvdXJjZShhc3QuY2hpbGRyZW5bMl0sIHRhYmxlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIFN0aWxsIGluIGEgY29uc3RydWN0b3IsIHNvIG5vdGhpbmcgd2UgY2FuIGRvIGJ1dCB0aHJvdyBhZ2FpblxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5leHBvcnRzLkFsZ2VicmFpY09wZXJhdGlvbiA9IEFsZ2VicmFpY09wZXJhdGlvbjtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5Db25kaXRpb25hbEZ1bmN0aW9uQ2FsbCA9IHZvaWQgMDtcbmNvbnN0IG5ldmVydGhyb3dfMSA9IHJlcXVpcmUoXCIuLi9uZXZlcnRocm93L25ldmVydGhyb3dcIik7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNvbnN0IGNhbGNfMSA9IHJlcXVpcmUoXCIuL2NhbGNcIik7XG5jbGFzcyBDb25kaXRpb25hbEZ1bmN0aW9uQ2FsbCB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSkge1xuICAgICAgICB0aGlzLmdldFZhbHVlID0gKHRhYmxlLCBjZWxsKSA9PiB0aGlzLnByZWRpY2F0ZVxuICAgICAgICAgICAgLmV2YWwodGFibGUsIGNlbGwpXG4gICAgICAgICAgICAuYW5kVGhlbigocHJlZGljYXRlUmVzdWx0KSA9PiBwcmVkaWNhdGVSZXN1bHRcbiAgICAgICAgICAgID8gdGhpcy5sZWZ0U291cmNlLmdldFZhbHVlKHRhYmxlLCBjZWxsKVxuICAgICAgICAgICAgOiB0aGlzLnJpZ2h0U291cmNlLmdldFZhbHVlKHRhYmxlLCBjZWxsKSk7XG4gICAgICAgIGNvbnN0IHR5cGVFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdjb25kaXRpb25hbF9mdW5jdGlvbl9jYWxsJyk7XG4gICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAzKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5wcmVkaWNhdGUgPSBuZXcgUHJlZGljYXRlKGFzdC5jaGlsZHJlblswXSwgdGFibGUpO1xuICAgICAgICAgICAgdGhpcy5sZWZ0U291cmNlID0gbmV3IGNhbGNfMS5Tb3VyY2UoYXN0LmNoaWxkcmVuWzFdLCB0YWJsZSk7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0U291cmNlID0gbmV3IGNhbGNfMS5Tb3VyY2UoYXN0LmNoaWxkcmVuWzJdLCB0YWJsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBTdGlsbCBpbiBhIGNvbnN0cnVjdG9yLCBzbyBub3RoaW5nIHdlIGNhbiBkbyBidXQgdGhyb3cgYWdhaW5cbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0cy5Db25kaXRpb25hbEZ1bmN0aW9uQ2FsbCA9IENvbmRpdGlvbmFsRnVuY3Rpb25DYWxsO1xuY2xhc3MgUHJlZGljYXRlIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHRoaXMuZXZhbCA9ICh0YWJsZSwgY2VsbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGVmdERhdGEgPSB0aGlzLmxlZnRTb3VyY2UuZ2V0VmFsdWUodGFibGUsIGNlbGwpO1xuICAgICAgICAgICAgaWYgKGxlZnREYXRhLmlzRXJyKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihsZWZ0RGF0YS5lcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByaWdodERhdGEgPSB0aGlzLnJpZ2h0U291cmNlLmdldFZhbHVlKHRhYmxlLCBjZWxsKTtcbiAgICAgICAgICAgIGlmIChyaWdodERhdGEuaXNFcnIoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKHJpZ2h0RGF0YS5lcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsZWZ0QXJpdHkgPSBsZWZ0RGF0YS52YWx1ZS5nZXRBcml0eSgpO1xuICAgICAgICAgICAgY29uc3QgcmlnaHRBcml0eSA9IHJpZ2h0RGF0YS52YWx1ZS5nZXRBcml0eSgpO1xuICAgICAgICAgICAgaWYgKCFsZWZ0QXJpdHkuaXNDZWxsKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihFcnJvcignQ2FuIG9ubHkgdXNlIGNvbXBhcmlzb24gb3BlcmF0b3Igb24gYSBzaW5nbGUgY2VsbC4gTGVmdCBzaWRlIGlzIG5vdCBhIGNlbGwuJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyaWdodEFyaXR5LmlzQ2VsbCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoRXJyb3IoJ0NhbiBvbmx5IHVzZSBjb21wYXJpc29uIG9wZXJhdG9yIG9uIGEgc2luZ2xlIGNlbGwuIFJpZ2h0IHNpZGUgaXMgbm90IGEgY2VsbC4nKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsZWZ0VmFsID0gbGVmdERhdGEudmFsdWUuZ2V0QXNGbG9hdCgwLCAwKTtcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0VmFsID0gcmlnaHREYXRhLnZhbHVlLmdldEFzRmxvYXQoMCwgMCk7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMub3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsID4gcmlnaHRWYWwpO1xuICAgICAgICAgICAgICAgIGNhc2UgJz49JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsID49IHJpZ2h0VmFsKTtcbiAgICAgICAgICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsIDwgcmlnaHRWYWwpO1xuICAgICAgICAgICAgICAgIGNhc2UgJzw9JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsIDw9IHJpZ2h0VmFsKTtcbiAgICAgICAgICAgICAgICBjYXNlICc9PSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobGVmdFZhbCA9PT0gcmlnaHRWYWwpO1xuICAgICAgICAgICAgICAgIGNhc2UgJyE9JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsICE9PSByaWdodFZhbCk7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoRXJyb3IoJ0ludmFsaWQgY29uZGl0aW9uYWwgb3BlcmF0b3I6ICcgKyB0aGlzLm9wZXJhdG9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHR5cGVFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdwcmVkaWNhdGUnKTtcbiAgICAgICAgaWYgKHR5cGVFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChhc3QsIDMpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNoaWxkVHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdC5jaGlsZHJlblsxXSwgJ2NvbmRpdGlvbmFsX29wZXJhdG9yJyk7XG4gICAgICAgIGlmIChjaGlsZFR5cGVFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgY2hpbGRUeXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVyYXRvciA9IGFzdC5jaGlsZHJlblsxXS50ZXh0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0U291cmNlID0gbmV3IGNhbGNfMS5Tb3VyY2UoYXN0LmNoaWxkcmVuWzBdLCB0YWJsZSk7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0U291cmNlID0gbmV3IGNhbGNfMS5Tb3VyY2UoYXN0LmNoaWxkcmVuWzJdLCB0YWJsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBTdGlsbCBpbiBhIGNvbnN0cnVjdG9yLCBzbyBub3RoaW5nIHdlIGNhbiBkbyBidXQgdGhyb3cgYWdhaW5cbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkNvbnN0YW50ID0gdm9pZCAwO1xuY29uc3QgbmV2ZXJ0aHJvd18xID0gcmVxdWlyZShcIi4uL25ldmVydGhyb3cvbmV2ZXJ0aHJvd1wiKTtcbmNvbnN0IGFzdF91dGlsc18xID0gcmVxdWlyZShcIi4vYXN0X3V0aWxzXCIpO1xuY29uc3QgcmVzdWx0c18xID0gcmVxdWlyZShcIi4vcmVzdWx0c1wiKTtcbmNsYXNzIENvbnN0YW50IHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIGNvbnN0IHR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAncmVhbCcsICdmbG9hdCcpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtdWx0aXBsaWVyID0gYXN0LnRleHRbMF0gPT09ICctJyA/IC0xIDogMTtcbiAgICAgICAgaWYgKGFzdC50eXBlID09PSAncmVhbCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtdWx0aXBsaWVyICogcGFyc2VJbnQoYXN0LmNoaWxkcmVuWzBdLnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9XG4gICAgICAgICAgICAgICAgbXVsdGlwbGllciAqXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQoYXN0LmNoaWxkcmVuWzBdLnRleHQgKyAnLicgKyBhc3QuY2hpbGRyZW5bMV0udGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0VmFsdWUodGFibGUsIGN1cnJlbnRDZWxsKSB7XG4gICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IHJlc3VsdHNfMS5WYWx1ZShbW3RoaXMudmFsdWUudG9TdHJpbmcoKV1dKSk7XG4gICAgfVxufVxuZXhwb3J0cy5Db25zdGFudCA9IENvbnN0YW50O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkFic29sdXRlQ29sdW1uID0gZXhwb3J0cy5Db2x1bW4gPSBleHBvcnRzLm5ld0NvbHVtbiA9IHZvaWQgMDtcbmNvbnN0IG5ldmVydGhyb3dfMSA9IHJlcXVpcmUoXCIuLi9uZXZlcnRocm93L25ldmVydGhyb3dcIik7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNvbnN0IHJlc3VsdHNfMSA9IHJlcXVpcmUoXCIuL3Jlc3VsdHNcIik7XG5jb25zdCBuZXdDb2x1bW4gPSAoYXN0LCB0YWJsZSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoYXN0LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3JlbGF0aXZlX2NvbHVtbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgUmVsYXRpdmVDb2x1bW4oYXN0LCB0YWJsZSkpO1xuICAgICAgICAgICAgY2FzZSAnYWJzb2x1dGVfY29sdW1uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyBBYnNvbHV0ZUNvbHVtbihhc3QsIHRhYmxlKSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKG5ldyBFcnJvcihgRm9ybXVsYSBlbGVtZW50ICcke2FzdC50ZXh0fScgaXMgYSAke2FzdC50eXBlfSBidXQgZXhwZWN0ZWQgYW4gYCArXG4gICAgICAgICAgICAgICAgICAgICdyZWxhdHZlX2NvbHVtbiBvciBhYnNvbHV0ZV9jb2x1bW4gaW4gdGhpcyBwb3NpdGlvbi4nKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKGVycm9yKTtcbiAgICB9XG59O1xuZXhwb3J0cy5uZXdDb2x1bW4gPSBuZXdDb2x1bW47XG5jbGFzcyBDb2x1bW4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmdldFZhbHVlID0gKHRhYmxlLCBjdXJyZW50Q2VsbCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgdmFsID0gKChfYSA9IHRhYmxlLmdldENlbGxBdChjdXJyZW50Q2VsbC5yb3csIHRoaXMuZ2V0SW5kZXgoY3VycmVudENlbGwpKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRvVGV4dCgpKSB8fFxuICAgICAgICAgICAgICAgICcnO1xuICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgcmVzdWx0c18xLlZhbHVlKFtbdmFsXV0pKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5leHBvcnRzLkNvbHVtbiA9IENvbHVtbjtcbmNsYXNzIFJlbGF0aXZlQ29sdW1uIGV4dGVuZHMgQ29sdW1uIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2V0SW5kZXggPSAoY3VycmVudENlbGwpID0+IGN1cnJlbnRDZWxsLmNvbHVtbiArIHRoaXMub2Zmc2V0O1xuICAgICAgICB0aGlzLmdldEFic29sdXRlSW5kZXggPSAoKSA9PiBuZXZlcnRocm93XzEuZXJyKGFzdF91dGlsc18xLmVyclJlbGF0aXZlUmVmZXJlbmNlSW5kZXgpO1xuICAgICAgICBjb25zdCB0eXBlRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAncmVsYXRpdmVfY29sdW1uJyk7XG4gICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtdWx0aXBsaWVyID0gYXN0LnRleHRbMV0gPT09ICctJyA/IC0xIDogMTtcbiAgICAgICAgdGhpcy5vZmZzZXQgPSBtdWx0aXBsaWVyICogcGFyc2VJbnQoYXN0LmNoaWxkcmVuWzBdLnRleHQpO1xuICAgIH1cbn1cbmNsYXNzIEFic29sdXRlQ29sdW1uIGV4dGVuZHMgQ29sdW1uIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2V0SW5kZXggPSAoY3VycmVudENlbGwpID0+IHRoaXMuaW5kZXg7XG4gICAgICAgIHRoaXMuZ2V0QWJzb2x1dGVJbmRleCA9ICgpID0+IG5ldmVydGhyb3dfMS5vayh0aGlzLmluZGV4KTtcbiAgICAgICAgbGV0IGluZGV4ID0gLTE7XG4gICAgICAgIGxldCBzeW1ib2wgPSAnJztcbiAgICAgICAgc3dpdGNoIChhc3QuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgc3ltYm9sID0gYXN0LnRleHRbMV07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdC5jaGlsZHJlblswXSwgJ2ludCcpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV2ZXJ0aHJvd18xLmVycih0eXBlRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbmRleCA9IHBhcnNlSW50KGFzdC5jaGlsZHJlblswXS50ZXh0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb3JtdWxhIGVsZW1lbnQgJyR7YXN0LnRleHR9JyBpcyBhICR7YXN0LnR5cGV9IGJ1dCBleHBlY3RlZCBgICtcbiAgICAgICAgICAgICAgICAgICAgJ2EgXFwnYWJzb2x1dGVfY29sdW1uXFwnIGluIHRoaXMgcG9zaXRpb24uJyk7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChzeW1ib2wpIHtcbiAgICAgICAgICAgIGNhc2UgJyc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICAgICAgICBpbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICBpbmRleCA9IHRhYmxlLmdldFdpZHRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2x1bW4gc3ltYm9sICcke3N5bWJvbH0nYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBhc3RfdXRpbHNfMS5lcnJJbmRleDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbmRleCA9IGluZGV4IC0gMTsgLy8gLTEgZm9yIGJlaW5nIHplcm8gaW5kZXhlZFxuICAgIH1cbn1cbmV4cG9ydHMuQWJzb2x1dGVDb2x1bW4gPSBBYnNvbHV0ZUNvbHVtbjtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5BYnNvbHV0ZVJvdyA9IGV4cG9ydHMuUm93ID0gZXhwb3J0cy5uZXdSb3cgPSB2b2lkIDA7XG5jb25zdCBuZXZlcnRocm93XzEgPSByZXF1aXJlKFwiLi4vbmV2ZXJ0aHJvdy9uZXZlcnRocm93XCIpO1xuY29uc3QgYXN0X3V0aWxzXzEgPSByZXF1aXJlKFwiLi9hc3RfdXRpbHNcIik7XG5jb25zdCByZXN1bHRzXzEgPSByZXF1aXJlKFwiLi9yZXN1bHRzXCIpO1xuY29uc3QgbmV3Um93ID0gKGFzdCwgdGFibGUpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBzd2l0Y2ggKGFzdC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdyZWxhdGl2ZV9yb3cnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IFJlbGF0aXZlUm93KGFzdCwgdGFibGUpKTtcbiAgICAgICAgICAgIGNhc2UgJ2Fic29sdXRlX3Jvdyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgQWJzb2x1dGVSb3coYXN0LCB0YWJsZSkpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihuZXcgRXJyb3IoYEZvcm11bGEgZWxlbWVudCAnJHthc3QudGV4dH0nIGlzIGEgJHthc3QudHlwZX0gYnV0IGV4cGVjdGVkIGFuIGAgK1xuICAgICAgICAgICAgICAgICAgICAncmVsYXR2ZV9yb3cgb3IgYWJzb2x1dGVfcm93ICBpbiB0aGlzIHBvc2l0aW9uLicpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoZXJyb3IpO1xuICAgIH1cbn07XG5leHBvcnRzLm5ld1JvdyA9IG5ld1JvdztcbmNsYXNzIFJvdyB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZ2V0VmFsdWUgPSAodGFibGUsIGN1cnJlbnRDZWxsKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBjb25zdCB2YWwgPSAoKF9hID0gdGFibGVcbiAgICAgICAgICAgICAgICAuZ2V0Q2VsbEF0KHRoaXMuZ2V0SW5kZXgoY3VycmVudENlbGwpLCBjdXJyZW50Q2VsbC5jb2x1bW4pKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudG9UZXh0KCkpIHx8ICcnO1xuICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgcmVzdWx0c18xLlZhbHVlKFtbdmFsXV0pKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5leHBvcnRzLlJvdyA9IFJvdztcbmNsYXNzIFJlbGF0aXZlUm93IGV4dGVuZHMgUm93IHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2V0SW5kZXggPSAoY3VycmVudENlbGwpID0+IGN1cnJlbnRDZWxsLnJvdyArIHRoaXMub2Zmc2V0O1xuICAgICAgICB0aGlzLmdldEFic29sdXRlSW5kZXggPSAoKSA9PiBuZXZlcnRocm93XzEuZXJyKGFzdF91dGlsc18xLmVyclJlbGF0aXZlUmVmZXJlbmNlSW5kZXgpO1xuICAgICAgICBjb25zdCB0eXBlRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAncmVsYXRpdmVfcm93Jyk7XG4gICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtdWx0aXBsaWVyID0gYXN0LnRleHRbMV0gPT09ICctJyA/IC0xIDogMTtcbiAgICAgICAgdGhpcy5vZmZzZXQgPSBtdWx0aXBsaWVyICogcGFyc2VJbnQoYXN0LmNoaWxkcmVuWzBdLnRleHQpO1xuICAgIH1cbn1cbmNsYXNzIEFic29sdXRlUm93IGV4dGVuZHMgUm93IHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2V0SW5kZXggPSAoY3VycmVudENlbGwpID0+IHRoaXMuaW5kZXg7XG4gICAgICAgIHRoaXMuZ2V0QWJzb2x1dGVJbmRleCA9ICgpID0+IG5ldmVydGhyb3dfMS5vayh0aGlzLmluZGV4KTtcbiAgICAgICAgbGV0IGluZGV4ID0gLTE7XG4gICAgICAgIGxldCBzeW1ib2wgPSAnJztcbiAgICAgICAgc3dpdGNoIChhc3QuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgc3ltYm9sID0gYXN0LnRleHRbMV07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdC5jaGlsZHJlblswXSwgJ2ludCcpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV2ZXJ0aHJvd18xLmVycih0eXBlRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbmRleCA9IHBhcnNlSW50KGFzdC5jaGlsZHJlblswXS50ZXh0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb3JtdWxhIGVsZW1lbnQgJyR7YXN0LnRleHR9JyBpcyBhICR7YXN0LnR5cGV9IGJ1dCBleHBlY3RlZCBgICtcbiAgICAgICAgICAgICAgICAgICAgJ2EgXFwnYWJzb2x1dGVfcm93XFwnIGluIHRoaXMgcG9zaXRpb24uJyk7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChzeW1ib2wpIHtcbiAgICAgICAgICAgIGNhc2UgJyc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICAgICAgICBpbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICBpbmRleCA9IHRhYmxlLmdldEhlaWdodCgpIC0gMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0knOlxuICAgICAgICAgICAgICAgIGluZGV4ID0gMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJvdyBzeW1ib2wgJyR7c3ltYm9sfSdgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IGFzdF91dGlsc18xLmVyckluZGV4MDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXggPSAwOyAvLyBhY2NvdW50IGZvciBiZWluZyB6ZXJvIGluZGV4ZWRcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXggPSBpbmRleDsgLy8gLTEgZm9yIGJlaW5nIHplcm8gaW5kZXhlZCwgYnV0IHBsdXMgMSB0byBza2lwIGhlYWRlclxuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0cy5BYnNvbHV0ZVJvdyA9IEFic29sdXRlUm93O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlJlZmVyZW5jZSA9IHZvaWQgMDtcbmNvbnN0IG5ldmVydGhyb3dfMSA9IHJlcXVpcmUoXCIuLi9uZXZlcnRocm93L25ldmVydGhyb3dcIik7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNvbnN0IGNvbHVtbl8xID0gcmVxdWlyZShcIi4vY29sdW1uXCIpO1xuY29uc3QgcmVzdWx0c18xID0gcmVxdWlyZShcIi4vcmVzdWx0c1wiKTtcbmNvbnN0IHJvd18xID0gcmVxdWlyZShcIi4vcm93XCIpO1xuY2xhc3MgUmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHRoaXMuZ2V0VmFsdWUgPSAodGFibGUsIGN1cnJlbnRDZWxsKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBjb25zdCBjZWxsID0ge1xuICAgICAgICAgICAgICAgIHJvdzogdGhpcy5yb3cgPyB0aGlzLnJvdy5nZXRJbmRleChjdXJyZW50Q2VsbCkgOiBjdXJyZW50Q2VsbC5yb3csXG4gICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmNvbHVtblxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuY29sdW1uLmdldEluZGV4KGN1cnJlbnRDZWxsKVxuICAgICAgICAgICAgICAgICAgICA6IGN1cnJlbnRDZWxsLmNvbHVtbixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCB2YWwgPSAoKF9hID0gdGFibGUuZ2V0Q2VsbEF0KGNlbGwucm93LCBjZWxsLmNvbHVtbikpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b1RleHQoKSkgfHwgJyc7XG4gICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyByZXN1bHRzXzEuVmFsdWUoW1t2YWxdXSkpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ3NvdXJjZV9yZWZlcmVuY2UnLCAnYWJzb2x1dGVfcmVmZXJlbmNlJywgJ3JlbGF0aXZlX3JlZmVyZW5jZScpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFzdC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgY2hpbGQgPSBhc3QuY2hpbGRyZW5baV07XG4gICAgICAgICAgICBzd2l0Y2ggKGNoaWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdyZWxhdGl2ZV9yb3cnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2Fic29sdXRlX3Jvdyc6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJvdyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignUmVmZXJlbmNlIG1heSBvbmx5IGhhdmUgYXQgbW9zdCAxIHJvdywgbW9yZSB0aGFuIDEgcHJvdmlkZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjcmVhdGVkUm93ID0gcm93XzEubmV3Um93KGNoaWxkLCB0YWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGVkUm93LmlzRXJyKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGVkUm93LmVycm9yID09PSBhc3RfdXRpbHNfMS5lcnJJbmRleDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBub3QgYWN0dWFsbHkgYW4gZXJyb3IsIGp1c3QgaW5kaWNhdGVzIHVzaW5nIGN1cnJlbnQgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZWRSb3cuZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3cgPSBjcmVhdGVkUm93LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdyZWxhdGl2ZV9jb2x1bW4nOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2Fic29sdXRlX2NvbHVtbic6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbHVtbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignUmVmZXJlbmNlIG1heSBvbmx5IGhhdmUgYXQgbW9zdCAxIGNvbHVtbiwgbW9yZSB0aGFuIDEgcHJvdmlkZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjcmVhdGVkQ29sID0gY29sdW1uXzEubmV3Q29sdW1uKGNoaWxkLCB0YWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGVkQ29sLmlzRXJyKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGVkQ29sLmVycm9yID09PSBhc3RfdXRpbHNfMS5lcnJJbmRleDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBub3QgYWN0dWFsbHkgYW4gZXJyb3IsIGp1c3QgaW5kaWNhdGVzIHVzaW5nIGN1cnJlbnQgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZWRDb2wuZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2x1bW4gPSBjcmVhdGVkQ29sLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMuUmVmZXJlbmNlID0gUmVmZXJlbmNlO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlJhbmdlID0gdm9pZCAwO1xuY29uc3QgbmV2ZXJ0aHJvd18xID0gcmVxdWlyZShcIi4uL25ldmVydGhyb3cvbmV2ZXJ0aHJvd1wiKTtcbmNvbnN0IGFzdF91dGlsc18xID0gcmVxdWlyZShcIi4vYXN0X3V0aWxzXCIpO1xuY29uc3QgcmVmZXJlbmNlXzEgPSByZXF1aXJlKFwiLi9yZWZlcmVuY2VcIik7XG5jb25zdCByZXN1bHRzXzEgPSByZXF1aXJlKFwiLi9yZXN1bHRzXCIpO1xuY29uc3QgbG9kYXNoXzEgPSByZXF1aXJlKFwibG9kYXNoXCIpO1xuY2xhc3MgUmFuZ2Uge1xuICAgIGNvbnN0cnVjdG9yKGFzdCwgdGFibGUpIHtcbiAgICAgICAgdGhpcy5nZXRWYWx1ZSA9ICh0YWJsZSwgY3VycmVudENlbGwpID0+IHtcbiAgICAgICAgICAgIC8vIGlmIG5vIHN0YXJ0IGNvbHVtbiBpcyBwcm92aWRlZCwgY29weSBpdCBmcm9tIHRoZSBjdXJyZW50Q2VsbFxuICAgICAgICAgICAgY29uc3Qgc3RhcnRDb2x1bW4gPSB0aGlzLnN0YXJ0Q29sdW1uXG4gICAgICAgICAgICAgICAgPyB0aGlzLnN0YXJ0Q29sdW1uLmdldEluZGV4KGN1cnJlbnRDZWxsKVxuICAgICAgICAgICAgICAgIDogY3VycmVudENlbGwuY29sdW1uO1xuICAgICAgICAgICAgLy8gaWYgdGhlIGNvbHVtbiBpcyBwcm92aWRlZCBpbiB0aGUgZmlyc3Qgc2V0LCBidXQgbm90IHRoZSBzZWNvbmQsIGNvcHkgaXRcbiAgICAgICAgICAgIGNvbnN0IGVuZENvbHVtbiA9IHRoaXMuZW5kQ29sdW1uXG4gICAgICAgICAgICAgICAgPyB0aGlzLmVuZENvbHVtbi5nZXRJbmRleChjdXJyZW50Q2VsbClcbiAgICAgICAgICAgICAgICA6IHN0YXJ0Q29sdW1uO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRSb3cgPSB0aGlzLnN0YXJ0Um93XG4gICAgICAgICAgICAgICAgPyB0aGlzLnN0YXJ0Um93LmdldEluZGV4KGN1cnJlbnRDZWxsKVxuICAgICAgICAgICAgICAgIDogY3VycmVudENlbGwucm93O1xuICAgICAgICAgICAgY29uc3QgZW5kUm93ID0gdGhpcy5lbmRSb3dcbiAgICAgICAgICAgICAgICA/IHRoaXMuZW5kUm93LmdldEluZGV4KGN1cnJlbnRDZWxsKVxuICAgICAgICAgICAgICAgIDogY3VycmVudENlbGwucm93O1xuICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgcmVzdWx0c18xLlZhbHVlKGxvZGFzaF8xLm1hcChsb2Rhc2hfMS5yYW5nZShzdGFydFJvdywgZW5kUm93ICsgMSksIChyb3cpID0+IGxvZGFzaF8xLm1hcChsb2Rhc2hfMS5yYW5nZShzdGFydENvbHVtbiwgZW5kQ29sdW1uICsgMSksIChjb2wpID0+IHsgdmFyIF9hOyByZXR1cm4gKChfYSA9IHRhYmxlLmdldENlbGxBdChyb3csIGNvbCkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b1RleHQoKSkgfHwgJyc7IH0pKSkpO1xuICAgICAgICB9O1xuICAgICAgICAvLyBUaGVyZSBuZWVkcyB0byBiZSBhIGRpc3RpbmN0aW9uIGJldHdlZW4gcmFuZ2VzIGZvciBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uXG4gICAgICAgIC8vIGEgZGVzdGluYXRpb24gcmFuZ2UgZG9lcyBub3QgYWxsb3cgcmVsYXRpdmUgcmVmZXJlbmNlcywgd2hpY2ggd291bGRcbiAgICAgICAgLy8gc29sdmUgdGhpcyBpc3N1ZSB3aXRoIGdldHRpbmcgdGhlIGluZGV4LlxuICAgICAgICB0aGlzLmFzQ2VsbHMgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuc3RhcnRDb2x1bW4gfHwgIXRoaXMuc3RhcnRSb3cgfHwgIXRoaXMuZW5kUm93KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobmV3IEVycm9yKCdBIHJhbmdlIHVzZWQgYXMgYSBkZXNpbnRhdGlvbiBtdXN0IGRlZmluZSByb3dzIGFuZCBjZWxscycpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZSBzZWNvbmQgcmVmZXJlbmNlIGluIHRoZSByYW5nZSBkb2VzIG5vdCBpbmNsdWRlIGEgY29sdW1uLFxuICAgICAgICAgICAgLy8gdXNlIHRoZSBzdGFydCBjb2x1bW4uXG4gICAgICAgICAgICBsZXQgZW5kQ29sdW1uID0gdGhpcy5lbmRDb2x1bW47XG4gICAgICAgICAgICBpZiAoIWVuZENvbHVtbikge1xuICAgICAgICAgICAgICAgIGVuZENvbHVtbiA9IHRoaXMuc3RhcnRDb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzdGFydFJvd0luZGV4ID0gdGhpcy5zdGFydFJvdy5nZXRBYnNvbHV0ZUluZGV4KCk7XG4gICAgICAgICAgICBjb25zdCBlbmRSb3dJbmRleCA9IHRoaXMuZW5kUm93LmdldEFic29sdXRlSW5kZXgoKTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0Q29sdW1uSW5kZXggPSB0aGlzLnN0YXJ0Q29sdW1uLmdldEFic29sdXRlSW5kZXgoKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZENvbHVtbkluZGV4ID0gZW5kQ29sdW1uLmdldEFic29sdXRlSW5kZXgoKTtcbiAgICAgICAgICAgIGlmIChzdGFydFJvd0luZGV4LmlzRXJyKCkgfHxcbiAgICAgICAgICAgICAgICBlbmRSb3dJbmRleC5pc0VycigpIHx8XG4gICAgICAgICAgICAgICAgc3RhcnRDb2x1bW5JbmRleC5pc0VycigpIHx8XG4gICAgICAgICAgICAgICAgZW5kQ29sdW1uSW5kZXguaXNFcnIoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKG5ldyBFcnJvcignQSByZWxhdGl2ZSByYW5nZSBjYW4gbm90IGJlIHVzZWQgaW4gYSBmb3JtdWxhIGRlc3RpbmF0aW9uJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbWluUm93ID0gTWF0aC5taW4oc3RhcnRSb3dJbmRleC52YWx1ZSwgZW5kUm93SW5kZXgudmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbWF4Um93ID0gTWF0aC5tYXgoc3RhcnRSb3dJbmRleC52YWx1ZSwgZW5kUm93SW5kZXgudmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbWluQ29sdW1uID0gTWF0aC5taW4oc3RhcnRDb2x1bW5JbmRleC52YWx1ZSwgZW5kQ29sdW1uSW5kZXgudmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbWF4Q29sdW1uID0gTWF0aC5tYXgoc3RhcnRDb2x1bW5JbmRleC52YWx1ZSwgZW5kQ29sdW1uSW5kZXgudmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsb2Rhc2hfMS5mbGF0TWFwKGxvZGFzaF8xLnJhbmdlKG1pblJvdywgbWF4Um93ICsgMSksIChyb3dOdW0pID0+IGxvZGFzaF8xLnJhbmdlKG1pbkNvbHVtbiwgbWF4Q29sdW1uICsgMSkubWFwKChjb2xOdW0pID0+ICh7IHJvdzogcm93TnVtLCBjb2x1bW46IGNvbE51bSB9KSkpKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IHR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAncmFuZ2UnKTtcbiAgICAgICAgaWYgKHR5cGVFcnIpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnI7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChhc3QsIDIpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0Q2hpbGQgPSBhc3QuY2hpbGRyZW5bMF07XG4gICAgICAgIGNvbnN0IGVuZENoaWxkID0gYXN0LmNoaWxkcmVuWzFdO1xuICAgICAgICB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKHN0YXJ0Q2hpbGQsICdzb3VyY2VfcmVmZXJlbmNlJyk7XG4gICAgICAgIGlmICh0eXBlRXJyKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyO1xuICAgICAgICB9XG4gICAgICAgIHR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoZW5kQ2hpbGQsICdzb3VyY2VfcmVmZXJlbmNlJyk7XG4gICAgICAgIGlmICh0eXBlRXJyKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyO1xuICAgICAgICB9XG4gICAgICAgIGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChzdGFydENoaWxkLCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoZW5kQ2hpbGQsIDEpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IHJlZmVyZW5jZV8xLlJlZmVyZW5jZShzdGFydENoaWxkLmNoaWxkcmVuWzBdLCB0YWJsZSk7XG4gICAgICAgIGNvbnN0IGVuZCA9IG5ldyByZWZlcmVuY2VfMS5SZWZlcmVuY2UoZW5kQ2hpbGQuY2hpbGRyZW5bMF0sIHRhYmxlKTtcbiAgICAgICAgaWYgKChzdGFydC5yb3cgJiYgIWVuZC5yb3cpIHx8IChlbmQucm93ICYmICFzdGFydC5yb3cpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JhbmdlIG11c3QgdXNlIHJlZmVyZW5jZXMgb2YgdGhlIHNhbWUga2luZCcpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE11c3QgcHJvdmlkZSBhdCBsZWFzdCBhIHJvdyBvciBhIGNvbHVtbiwgYnV0IGlmIHRoZSBmaXJzdCB2YWx1ZSBoYXMgYVxuICAgICAgICAvLyBjb2x1bW4gYnV0IHRoZSBzZWNvbmQgZG9lcyBub3QsIHRoZW4gY29weSB0aGUgZmlyc3QgY29sIHRvIHNlY29uZC5cbiAgICAgICAgaWYgKCFzdGFydC5yb3cgJiYgIXN0YXJ0LmNvbHVtbikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coc3RhcnQpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSYW5nZSBtdXN0IGhhdmUgYSByb3cgb3IgYSBjb2x1bW4gZGVmaW5lZCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydC5yb3cpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRSb3cgPSBzdGFydC5yb3c7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXJ0LmNvbHVtbikge1xuICAgICAgICAgICAgdGhpcy5zdGFydENvbHVtbiA9IHN0YXJ0LmNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5kLnJvdykge1xuICAgICAgICAgICAgdGhpcy5lbmRSb3cgPSBlbmQucm93O1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmQuY29sdW1uKSB7XG4gICAgICAgICAgICB0aGlzLmVuZENvbHVtbiA9IGVuZC5jb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVuZENvbHVtbiA9IHN0YXJ0LmNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMuUmFuZ2UgPSBSYW5nZTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5SYW5nZURlc3RpbmF0aW9uID0gZXhwb3J0cy5DZWxsRGVzdGluYXRpb24gPSBleHBvcnRzLkNvbHVtbkRlc3RpbmF0aW9uID0gZXhwb3J0cy5Sb3dEZXN0aW5hdGlvbiA9IGV4cG9ydHMubmV3RGVzdGluYXRpb24gPSB2b2lkIDA7XG5jb25zdCBuZXZlcnRocm93XzEgPSByZXF1aXJlKFwiLi4vbmV2ZXJ0aHJvdy9uZXZlcnRocm93XCIpO1xuY29uc3QgYXN0X3V0aWxzXzEgPSByZXF1aXJlKFwiLi9hc3RfdXRpbHNcIik7XG5jb25zdCBjb2x1bW5fMSA9IHJlcXVpcmUoXCIuL2NvbHVtblwiKTtcbmNvbnN0IHJhbmdlXzEgPSByZXF1aXJlKFwiLi9yYW5nZVwiKTtcbmNvbnN0IHJvd18xID0gcmVxdWlyZShcIi4vcm93XCIpO1xuY29uc3QgbG9kYXNoXzEgPSByZXF1aXJlKFwibG9kYXNoXCIpO1xuY29uc3QgbmV3RGVzdGluYXRpb24gPSAoYXN0LCB0YWJsZSwgZm9ybWF0dGVyKSA9PiB7XG4gICAgY29uc3QgdHlwZUVyciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdkZXN0aW5hdGlvbicpO1xuICAgIGlmICh0eXBlRXJyKSB7XG4gICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKHR5cGVFcnIpO1xuICAgIH1cbiAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobGVuZ3RoRXJyb3IpO1xuICAgIH1cbiAgICBjb25zdCBjaGlsZCA9IGFzdC5jaGlsZHJlblswXTtcbiAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ3JhbmdlJykge1xuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyBSYW5nZURlc3RpbmF0aW9uKGNoaWxkLCB0YWJsZSwgZm9ybWF0dGVyKSk7XG4gICAgfVxuICAgIC8vIG11c3QgYmUgZWl0aGVyIGFuIGFic29sdXRlX3JlZmVyZW5jZVxuICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoY2hpbGQuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgQ2VsbERlc3RpbmF0aW9uKGNoaWxkLCB0YWJsZSwgZm9ybWF0dGVyKSk7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgY29uc3QgaW5uZXJDaGlsZCA9IGNoaWxkLmNoaWxkcmVuWzBdO1xuICAgICAgICAgICAgICAgIGlmIChpbm5lckNoaWxkLnR5cGUgPT09ICdhYnNvbHV0ZV9yb3cnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IFJvd0Rlc3RpbmF0aW9uKGNoaWxkLCB0YWJsZSwgZm9ybWF0dGVyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlubmVyQ2hpbGQudHlwZSA9PT0gJ2Fic29sdXRlX2NvbHVtbicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgQ29sdW1uRGVzdGluYXRpb24oY2hpbGQsIHRhYmxlLCBmb3JtYXR0ZXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKG5ldyBFcnJvcignVW5leHBlY3RlZCBkZXN0aW5hdGlvbiB0eXBlICcgKyBjaGlsZC50eXBlKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciA9PT0gYXN0X3V0aWxzXzEuZXJySW5kZXgwKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihuZXcgRXJyb3IoJ0luZGV4IDAgbWF5IG5vdCBiZSB1c2VkIGluIGEgZGVzdGluYXRpb24nKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoZXJyb3IpO1xuICAgIH1cbn07XG5leHBvcnRzLm5ld0Rlc3RpbmF0aW9uID0gbmV3RGVzdGluYXRpb247XG5jbGFzcyBSb3dEZXN0aW5hdGlvbiB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSwgZm9ybWF0dGVyKSB7XG4gICAgICAgIHRoaXMubWVyZ2UgPSAoc291cmNlLCB0YWJsZSkgPT4ge1xuICAgICAgICAgICAgLy8gZm9yIGNlbGwgaW4gcm93Li4uXG4gICAgICAgICAgICBjb25zdCBjZWxscyA9IGxvZGFzaF8xLnJhbmdlKDAsIHRhYmxlLmdldFdpZHRoKCkpLm1hcCgoY29sdW1uTnVtKSA9PiAoeyByb3c6IHRoaXMucm93LmluZGV4LCBjb2x1bW46IGNvbHVtbk51bSB9KSk7XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2VGb3JDZWxscyhzb3VyY2UsIHRhYmxlLCBjZWxscywgdGhpcy5mb3JtYXR0ZXIpO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICAgICAgY29uc3QgdHlwZUVyciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdhYnNvbHV0ZV9yZWZlcmVuY2UnKTtcbiAgICAgICAgaWYgKHR5cGVFcnIpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGVuZ3RoRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja0NoaWxkTGVuZ3RoKGFzdCwgMSk7XG4gICAgICAgIGlmIChsZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbGVuZ3RoRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hpbGQgPSBhc3QuY2hpbGRyZW5bMF07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnJvdyA9IG5ldyByb3dfMS5BYnNvbHV0ZVJvdyhjaGlsZCwgdGFibGUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgLy8gSW4gYSBjb25zdHJ1Y3Rvciwgc28gd2UgbXVzdCB0aHJvd1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5leHBvcnRzLlJvd0Rlc3RpbmF0aW9uID0gUm93RGVzdGluYXRpb247XG5jbGFzcyBDb2x1bW5EZXN0aW5hdGlvbiB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSwgZm9ybWF0dGVyKSB7XG4gICAgICAgIHRoaXMubWVyZ2UgPSAoc291cmNlLCB0YWJsZSkgPT4ge1xuICAgICAgICAgICAgLy8gZm9yIGNlbGwgaW4gY29sdW1uIChleGNsdWRpbmcgaGVhZGVyKS4uLlxuICAgICAgICAgICAgY29uc3QgY2VsbHMgPSBsb2Rhc2hfMS5yYW5nZSgyLCB0YWJsZS5nZXRIZWlnaHQoKSkubWFwKChyb3dOdW0pID0+ICh7IHJvdzogcm93TnVtLCBjb2x1bW46IHRoaXMuY29sdW1uLmluZGV4IH0pKTtcbiAgICAgICAgICAgIHJldHVybiBtZXJnZUZvckNlbGxzKHNvdXJjZSwgdGFibGUsIGNlbGxzLCB0aGlzLmZvcm1hdHRlcik7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyO1xuICAgICAgICBjb25zdCB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ2Fic29sdXRlX3JlZmVyZW5jZScpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGlsZCA9IGFzdC5jaGlsZHJlblswXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uID0gbmV3IGNvbHVtbl8xLkFic29sdXRlQ29sdW1uKGNoaWxkLCB0YWJsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBJbiBhIGNvbnN0cnVjdG9yLCBzbyB3ZSBtdXN0IHRocm93XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMuQ29sdW1uRGVzdGluYXRpb24gPSBDb2x1bW5EZXN0aW5hdGlvbjtcbmNsYXNzIENlbGxEZXN0aW5hdGlvbiB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSwgZm9ybWF0dGVyKSB7XG4gICAgICAgIHRoaXMubWVyZ2UgPSAoc291cmNlLCB0YWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2VsbCA9IHsgcm93OiB0aGlzLnJvdy5pbmRleCwgY29sdW1uOiB0aGlzLmNvbHVtbi5pbmRleCB9O1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlRm9yQ2VsbHMoc291cmNlLCB0YWJsZSwgW2NlbGxdLCB0aGlzLmZvcm1hdHRlcik7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyO1xuICAgICAgICBjb25zdCB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ2Fic29sdXRlX3JlZmVyZW5jZScpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICAvLyBBIGNlbGwgbmVlZHMgdG8gaGF2ZSB0d28gY2hpbGRyZW4sIGEgcm93IGFuZCBhIGNvbHVtblxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAyKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3dDaGlsZCA9IGFzdC5jaGlsZHJlblswXTtcbiAgICAgICAgY29uc3QgY29sQ2hpbGQgPSBhc3QuY2hpbGRyZW5bMV07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnJvdyA9IG5ldyByb3dfMS5BYnNvbHV0ZVJvdyhyb3dDaGlsZCwgdGFibGUpO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW4gPSBuZXcgY29sdW1uXzEuQWJzb2x1dGVDb2x1bW4oY29sQ2hpbGQsIHRhYmxlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEluIGEgY29uc3RydWN0b3IsIHNvIHdlIG11c3QgdGhyb3dcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0cy5DZWxsRGVzdGluYXRpb24gPSBDZWxsRGVzdGluYXRpb247XG5jbGFzcyBSYW5nZURlc3RpbmF0aW9uIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlLCBmb3JtYXR0ZXIpIHtcbiAgICAgICAgdGhpcy5tZXJnZSA9IChzb3VyY2UsIHRhYmxlKSA9PiB0aGlzLnJhbmdlXG4gICAgICAgICAgICAuYXNDZWxscygpXG4gICAgICAgICAgICAuYW5kVGhlbigoY2VsbHMpID0+IG1lcmdlRm9yQ2VsbHMoc291cmNlLCB0YWJsZSwgY2VsbHMsIHRoaXMuZm9ybWF0dGVyKSk7XG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyO1xuICAgICAgICBjb25zdCB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ3JhbmdlJyk7XG4gICAgICAgIGlmICh0eXBlRXJyKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChhc3QsIDIpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGFzdC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgbGV0IGNoaWxkVHlwZUVyciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShjaGlsZCwgJ3NvdXJjZV9yZWZlcmVuY2UnKTtcbiAgICAgICAgICAgIGlmIChjaGlsZFR5cGVFcnIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBjaGlsZFR5cGVFcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjaGlsZExlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChjaGlsZCwgMSk7XG4gICAgICAgICAgICBpZiAoY2hpbGRMZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IGNoaWxkTGVuZ3RoRXJyb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGlsZFR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoY2hpbGQuY2hpbGRyZW5bMF0sICdhYnNvbHV0ZV9yZWZlcmVuY2UnKTtcbiAgICAgICAgICAgIGlmIChjaGlsZFR5cGVFcnIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBjaGlsZFR5cGVFcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJhbmdlID0gbmV3IHJhbmdlXzEuUmFuZ2UoYXN0LCB0YWJsZSk7XG4gICAgfVxufVxuZXhwb3J0cy5SYW5nZURlc3RpbmF0aW9uID0gUmFuZ2VEZXN0aW5hdGlvbjtcbmNvbnN0IG1lcmdlRm9yQ2VsbHMgPSAoc291cmNlLCB0YWJsZSwgY2VsbHMsIGZvcm1hdHRlcikgPT4gY2VsbHMucmVkdWNlKChjdXJyZW50VGFibGUsIGN1cnJlbnRDZWxsKSA9PiBjdXJyZW50VGFibGUuYW5kVGhlbigodCkgPT4gc291cmNlXG4gICAgLmdldFZhbHVlKHQsIGN1cnJlbnRDZWxsKVxuICAgIC5hbmRUaGVuKCh2YWwpID0+IG5ldmVydGhyb3dfMS5vayh2YWwudG9TdHJpbmcoKSkpXG4gICAgLmFuZFRoZW4oKHZhbCkgPT4gbmV2ZXJ0aHJvd18xLm9rKHZhbC50cmltKCkgPT09ICcnID8gJzAnIDogdmFsKSlcbiAgICAuYW5kVGhlbigodmFsKSA9PiBuZXZlcnRocm93XzEub2sodC5zZXRDZWxsQXQoY3VycmVudENlbGwucm93LCBjdXJyZW50Q2VsbC5jb2x1bW4sIGZvcm1hdHRlci5mb3JtYXQodmFsKSkpKSksIG5ldmVydGhyb3dfMS5vayh0YWJsZSkpO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkRpc3BsYXlEaXJlY3RpdmUgPSBleHBvcnRzLkRlZmF1bHRGb3JtYXR0ZXIgPSB2b2lkIDA7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNsYXNzIERlZmF1bHRGb3JtYXR0ZXIge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmZvcm1hdCA9IChudW0pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBudW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVtLnRvU3RyaW5nKCk7XG4gICAgICAgIH07XG4gICAgfVxufVxuZXhwb3J0cy5EZWZhdWx0Rm9ybWF0dGVyID0gRGVmYXVsdEZvcm1hdHRlcjtcbmNsYXNzIERpc3BsYXlEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKGFzdCkge1xuICAgICAgICB0aGlzLmZvcm1hdCA9IChudW0pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZE51bSA9IHBhcnNlRmxvYXQobnVtKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VkTnVtLnRvRml4ZWQodGhpcy5kZWNpbWFsTGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudW0udG9GaXhlZCh0aGlzLmRlY2ltYWxMZW5ndGgpO1xuICAgICAgICB9O1xuICAgICAgICBsZXQgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ2Rpc3BsYXlfZGlyZWN0aXZlJyk7XG4gICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGVuZ3RoRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja0NoaWxkTGVuZ3RoKGFzdCwgMSk7XG4gICAgICAgIGlmIChsZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbGVuZ3RoRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGlzcGxheURpcmVjdGl2ZU9wdGlvbiA9IGFzdC5jaGlsZHJlblswXTtcbiAgICAgICAgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGRpc3BsYXlEaXJlY3RpdmVPcHRpb24sICdkaXNwbGF5X2RpcmVjdGl2ZV9vcHRpb24nKTtcbiAgICAgICAgaWYgKHR5cGVFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChkaXNwbGF5RGlyZWN0aXZlT3B0aW9uLCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXR0aW5nRGlyZWN0aXZlID0gZGlzcGxheURpcmVjdGl2ZU9wdGlvbi5jaGlsZHJlblswXTtcbiAgICAgICAgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGZvcm1hdHRpbmdEaXJlY3RpdmUsICdmb3JtYXR0aW5nX2RpcmVjdGl2ZScpO1xuICAgICAgICBpZiAodHlwZUVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgbGVuZ3RoRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja0NoaWxkTGVuZ3RoKGZvcm1hdHRpbmdEaXJlY3RpdmUsIDEpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1hdHRpbmdEaXJlY3RpdmVMZW5ndGggPSBmb3JtYXR0aW5nRGlyZWN0aXZlLmNoaWxkcmVuWzBdO1xuICAgICAgICB0eXBlRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoZm9ybWF0dGluZ0RpcmVjdGl2ZUxlbmd0aCwgJ2ludCcpO1xuICAgICAgICBpZiAodHlwZUVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWNpbWFsTGVuZ3RoID0gcGFyc2VJbnQoZm9ybWF0dGluZ0RpcmVjdGl2ZUxlbmd0aC50ZXh0KTtcbiAgICB9XG59XG5leHBvcnRzLkRpc3BsYXlEaXJlY3RpdmUgPSBEaXNwbGF5RGlyZWN0aXZlO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlNpbmdsZVBhcmFtRnVuY3Rpb25DYWxsID0gdm9pZCAwO1xuY29uc3QgbmV2ZXJ0aHJvd18xID0gcmVxdWlyZShcIi4uL25ldmVydGhyb3cvbmV2ZXJ0aHJvd1wiKTtcbmNvbnN0IGFzdF91dGlsc18xID0gcmVxdWlyZShcIi4vYXN0X3V0aWxzXCIpO1xuY29uc3QgY2FsY18xID0gcmVxdWlyZShcIi4vY2FsY1wiKTtcbmNvbnN0IHJlc3VsdHNfMSA9IHJlcXVpcmUoXCIuL3Jlc3VsdHNcIik7XG5jbGFzcyBTaW5nbGVQYXJhbUZ1bmN0aW9uQ2FsbCB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSkge1xuICAgICAgICB0aGlzLmdldFZhbHVlID0gKHRhYmxlLCBjZWxsKSA9PiB0aGlzLnBhcmFtLmdldFZhbHVlKHRhYmxlLCBjZWxsKS5hbmRUaGVuKChzb3VyY2VEYXRhKSA9PiBcbiAgICAgICAgLy8gVGhlIG9wZXJhdGlvbiBmdW5jdGlvbnMgZG8gbm90IHRocm93IGVycm9ycyBiZWNhdXNlIGRhdGEgYXJpdHkgaGFzXG4gICAgICAgIC8vIGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQuXG4gICAgICAgIG5ldmVydGhyb3dfMS5vayh0aGlzLm9wKHNvdXJjZURhdGEpKSk7XG4gICAgICAgIGNvbnN0IHR5cGVFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdzaW5nbGVfcGFyYW1fZnVuY3Rpb25fY2FsbCcpO1xuICAgICAgICBpZiAodHlwZUVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGVuZ3RoRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja0NoaWxkTGVuZ3RoKGFzdCwgMik7XG4gICAgICAgIGlmIChsZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbGVuZ3RoRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hpbGRUeXBlRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LmNoaWxkcmVuWzBdLCAnc2luZ2xlX3BhcmFtX2Z1bmN0aW9uJyk7XG4gICAgICAgIGlmIChjaGlsZFR5cGVFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgY2hpbGRUeXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZnVuY3Rpb25OYW1lID0gYXN0LmNoaWxkcmVuWzBdLnRleHQ7XG4gICAgICAgIHN3aXRjaCAoZnVuY3Rpb25OYW1lKSB7XG4gICAgICAgICAgICBjYXNlICdzdW0nOlxuICAgICAgICAgICAgICAgIHRoaXMub3AgPSBzdW07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtZWFuJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9wID0gbWVhbjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1Vua25vd24gc2luZ2xlIHBhcmFtIGZ1bmN0aW9uIGNhbGw6ICcgKyBmdW5jdGlvbk5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGFyYW0gPSBuZXcgY2FsY18xLlNvdXJjZShhc3QuY2hpbGRyZW5bMV0sIHRhYmxlKTtcbiAgICB9XG59XG5leHBvcnRzLlNpbmdsZVBhcmFtRnVuY3Rpb25DYWxsID0gU2luZ2xlUGFyYW1GdW5jdGlvbkNhbGw7XG4vKipcbiAqIFN1bSBhbGwgdGhlIGNlbGxzIGluIHRoZSBpbnB1dCB2YWx1ZSwgcHJvZHVjaW5nIGEgc2luZ2xlIGNlbGwgb3V0cHV0LlxuICovXG5jb25zdCBzdW0gPSAodmFsdWUpID0+IHtcbiAgICBjb25zdCB0b3RhbCA9IHZhbHVlLnZhbC5yZWR1Y2UoKHJ1bm5pbmdUb3RhbCwgY3VycmVudFJvdykgPT4gY3VycmVudFJvdy5yZWR1Y2UoKHJvd1RvdGFsLCBjdXJyZW50Q2VsbCkgPT4ge1xuICAgICAgICBsZXQgY3VycmVudENlbGxWYWx1ZSA9IHBhcnNlRmxvYXQoY3VycmVudENlbGwpO1xuICAgICAgICBpZiAoaXNOYU4oY3VycmVudENlbGxWYWx1ZSkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDZWxsVmFsdWUgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3dUb3RhbCArIGN1cnJlbnRDZWxsVmFsdWU7XG4gICAgfSwgcnVubmluZ1RvdGFsKSwgMCk7XG4gICAgcmV0dXJuIG5ldyByZXN1bHRzXzEuVmFsdWUoW1t0b3RhbC50b1N0cmluZygpXV0pO1xufTtcbi8qKlxuICogTWVhbiBvZiBhbGwgdGhlIGNlbGxzIGluIHRoZSBpbnB1dCB2YWx1ZSwgcHJvZHVjaW5nIGEgc2luZ2xlIGNlbGwgb3V0cHV0LlxuICovXG5jb25zdCBtZWFuID0gKHZhbHVlKSA9PiB7XG4gICAgY29uc3QgeyB0b3RhbCwgY291bnQgfSA9IHZhbHVlLnZhbC5yZWR1Y2UoKHsgdG90YWw6IHJ1bm5pbmdUb3RhbDEsIGNvdW50OiBjdXJyZW50Q291bnQxIH0sIGN1cnJlbnRSb3cpID0+IGN1cnJlbnRSb3cucmVkdWNlKCh7IHRvdGFsOiBydW5uaW5nVG90YWwyLCBjb3VudDogY3VycmVudENvdW50MiB9LCBjdXJyZW50Q2VsbCkgPT4gKHtcbiAgICAgICAgdG90YWw6IHJ1bm5pbmdUb3RhbDIgKyArY3VycmVudENlbGwsXG4gICAgICAgIGNvdW50OiBjdXJyZW50Q291bnQyICsgMSxcbiAgICB9KSwgeyB0b3RhbDogcnVubmluZ1RvdGFsMSwgY291bnQ6IGN1cnJlbnRDb3VudDEgfSksIHsgdG90YWw6IDAsIGNvdW50OiAwIH0pO1xuICAgIHJldHVybiBuZXcgcmVzdWx0c18xLlZhbHVlKFtbKHRvdGFsIC8gY291bnQpLnRvU3RyaW5nKCldXSk7XG59O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlRva2VuRXJyb3IgPSB2b2lkIDA7XG5jbGFzcyBUb2tlbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2UsIHRva2VuKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICAgIGlmICh0b2tlbiAmJiB0b2tlbi5lcnJvcnMpXG4gICAgICAgICAgICB0b2tlbi5lcnJvcnMucHVzaCh0aGlzKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhyb3cgdGhpcztcbiAgICB9XG4gICAgaW5zcGVjdCgpIHtcbiAgICAgICAgcmV0dXJuICdTeW50YXhFcnJvcjogJyArIHRoaXMubWVzc2FnZTtcbiAgICB9XG59XG5leHBvcnRzLlRva2VuRXJyb3IgPSBUb2tlbkVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VG9rZW5FcnJvci5qcy5tYXAiLCJcInVzZSBzdHJpY3RcIjtcbi8vIGh0dHBzOi8vd3d3Lmljcy51Y2kuZWR1L35wYXR0aXMvSUNTLTMzL2xlY3R1cmVzL2VibmYucGRmXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlBhcnNlciA9IGV4cG9ydHMuZmluZFJ1bGVCeU5hbWUgPSBleHBvcnRzLnBhcnNlUnVsZU5hbWUgPSBleHBvcnRzLmVzY2FwZVJlZ0V4cCA9IGV4cG9ydHMucmVhZFRva2VuID0gdm9pZCAwO1xuY29uc3QgVVBQRVJfU05BS0VfUkUgPSAvXltBLVowLTlfXSskLztcbmNvbnN0IGRlY29yYXRpb25SRSA9IC8oXFw/fFxcK3xcXCopJC87XG5jb25zdCBwcmVEZWNvcmF0aW9uUkUgPSAvXihAfCZ8ISkvO1xuY29uc3QgV1NfUlVMRSA9ICdXUyc7XG5jb25zdCBUb2tlbkVycm9yXzEgPSByZXF1aXJlKFwiLi9Ub2tlbkVycm9yXCIpO1xuZnVuY3Rpb24gcmVhZFRva2VuKHR4dCwgZXhwcikge1xuICAgIGxldCByZXN1bHQgPSBleHByLmV4ZWModHh0KTtcbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5pbmRleCA9PSAwKSB7XG4gICAgICAgIGlmIChyZXN1bHRbMF0ubGVuZ3RoID09IDAgJiYgZXhwci5zb3VyY2UubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogbnVsbCxcbiAgICAgICAgICAgIHRleHQ6IHJlc3VsdFswXSxcbiAgICAgICAgICAgIHJlc3Q6IHR4dC5zdWJzdHIocmVzdWx0WzBdLmxlbmd0aCksXG4gICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgIGVuZDogcmVzdWx0WzBdLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICBmdWxsVGV4dDogcmVzdWx0WzBdLFxuICAgICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIHBhcmVudDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmV4cG9ydHMucmVhZFRva2VuID0gcmVhZFRva2VuO1xuZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1xcLVxcW1xcXVxcL1xce1xcfVxcKFxcKVxcKlxcK1xcP1xcLlxcXFxcXF5cXCRcXHxdL2csICdcXFxcJCYnKTtcbn1cbmV4cG9ydHMuZXNjYXBlUmVnRXhwID0gZXNjYXBlUmVnRXhwO1xuZnVuY3Rpb24gZml4UmVzdCh0b2tlbikge1xuICAgIHRva2VuLnJlc3QgPSAnJztcbiAgICB0b2tlbi5jaGlsZHJlbiAmJiB0b2tlbi5jaGlsZHJlbi5mb3JFYWNoKGMgPT4gZml4UmVzdChjKSk7XG59XG5mdW5jdGlvbiBmaXhQb3NpdGlvbnModG9rZW4sIHN0YXJ0KSB7XG4gICAgdG9rZW4uc3RhcnQgKz0gc3RhcnQ7XG4gICAgdG9rZW4uZW5kICs9IHN0YXJ0O1xuICAgIHRva2VuLmNoaWxkcmVuICYmIHRva2VuLmNoaWxkcmVuLmZvckVhY2goYyA9PiBmaXhQb3NpdGlvbnMoYywgdG9rZW4uc3RhcnQpKTtcbn1cbmZ1bmN0aW9uIGFncmVnYXRlRXJyb3JzKGVycm9ycywgdG9rZW4pIHtcbiAgICBpZiAodG9rZW4uZXJyb3JzICYmIHRva2VuLmVycm9ycy5sZW5ndGgpXG4gICAgICAgIHRva2VuLmVycm9ycy5mb3JFYWNoKGVyciA9PiBlcnJvcnMucHVzaChlcnIpKTtcbiAgICB0b2tlbi5jaGlsZHJlbiAmJiB0b2tlbi5jaGlsZHJlbi5mb3JFYWNoKHRvayA9PiBhZ3JlZ2F0ZUVycm9ycyhlcnJvcnMsIHRvaykpO1xufVxuZnVuY3Rpb24gcGFyc2VSdWxlTmFtZShuYW1lKSB7XG4gICAgbGV0IHBvc3REZWNvcmF0aW9uID0gZGVjb3JhdGlvblJFLmV4ZWMobmFtZSk7XG4gICAgbGV0IHByZURlY29yYXRpb24gPSBwcmVEZWNvcmF0aW9uUkUuZXhlYyhuYW1lKTtcbiAgICBsZXQgcG9zdERlY29yYXRpb25UZXh0ID0gKHBvc3REZWNvcmF0aW9uICYmIHBvc3REZWNvcmF0aW9uWzBdKSB8fCAnJztcbiAgICBsZXQgcHJlRGVjb3JhdGlvblRleHQgPSAocHJlRGVjb3JhdGlvbiAmJiBwcmVEZWNvcmF0aW9uWzBdKSB8fCAnJztcbiAgICBsZXQgb3V0ID0ge1xuICAgICAgICByYXc6IG5hbWUsXG4gICAgICAgIG5hbWU6IG5hbWUucmVwbGFjZShkZWNvcmF0aW9uUkUsICcnKS5yZXBsYWNlKHByZURlY29yYXRpb25SRSwgJycpLFxuICAgICAgICBpc09wdGlvbmFsOiBwb3N0RGVjb3JhdGlvblRleHQgPT0gJz8nIHx8IHBvc3REZWNvcmF0aW9uVGV4dCA9PSAnKicsXG4gICAgICAgIGFsbG93UmVwZXRpdGlvbjogcG9zdERlY29yYXRpb25UZXh0ID09ICcrJyB8fCBwb3N0RGVjb3JhdGlvblRleHQgPT0gJyonLFxuICAgICAgICBhdExlYXN0T25lOiBwb3N0RGVjb3JhdGlvblRleHQgPT0gJysnLFxuICAgICAgICBsb29rdXBQb3NpdGl2ZTogcHJlRGVjb3JhdGlvblRleHQgPT0gJyYnLFxuICAgICAgICBsb29rdXBOZWdhdGl2ZTogcHJlRGVjb3JhdGlvblRleHQgPT0gJyEnLFxuICAgICAgICBwaW5uZWQ6IHByZURlY29yYXRpb25UZXh0ID09ICdAJyxcbiAgICAgICAgbG9va3VwOiBmYWxzZSxcbiAgICAgICAgaXNMaXRlcmFsOiBmYWxzZVxuICAgIH07XG4gICAgb3V0LmlzTGl0ZXJhbCA9IG91dC5uYW1lWzBdID09IFwiJ1wiIHx8IG91dC5uYW1lWzBdID09ICdcIic7XG4gICAgb3V0Lmxvb2t1cCA9IG91dC5sb29rdXBOZWdhdGl2ZSB8fCBvdXQubG9va3VwUG9zaXRpdmU7XG4gICAgcmV0dXJuIG91dDtcbn1cbmV4cG9ydHMucGFyc2VSdWxlTmFtZSA9IHBhcnNlUnVsZU5hbWU7XG5mdW5jdGlvbiBmaW5kUnVsZUJ5TmFtZShuYW1lLCBwYXJzZXIpIHtcbiAgICBsZXQgcGFyc2VkID0gcGFyc2VSdWxlTmFtZShuYW1lKTtcbiAgICByZXR1cm4gcGFyc2VyLmNhY2hlZFJ1bGVzW3BhcnNlZC5uYW1lXSB8fCBudWxsO1xufVxuZXhwb3J0cy5maW5kUnVsZUJ5TmFtZSA9IGZpbmRSdWxlQnlOYW1lO1xuLy8vIFJlbW92ZXMgYWxsIHRoZSBub2RlcyBzdGFydGluZyB3aXRoICdSVUxFXydcbmZ1bmN0aW9uIHN0cmlwUnVsZXModG9rZW4sIHJlKSB7XG4gICAgaWYgKHRva2VuLmNoaWxkcmVuKSB7XG4gICAgICAgIGxldCBsb2NhbFJ1bGVzID0gdG9rZW4uY2hpbGRyZW4uZmlsdGVyKHggPT4geC50eXBlICYmIHJlLnRlc3QoeC50eXBlKSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbG9jYWxSdWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IGluZGV4T25DaGlsZHJlbiA9IHRva2VuLmNoaWxkcmVuLmluZGV4T2YobG9jYWxSdWxlc1tpXSk7XG4gICAgICAgICAgICBpZiAoaW5kZXhPbkNoaWxkcmVuICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgdG9rZW4uY2hpbGRyZW4uc3BsaWNlKGluZGV4T25DaGlsZHJlbiwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW4uY2hpbGRyZW4uZm9yRWFjaChjID0+IHN0cmlwUnVsZXMoYywgcmUpKTtcbiAgICB9XG59XG5jb25zdCBpZ25vcmVNaXNzaW5nUnVsZXMgPSBbJ0VPRiddO1xuY2xhc3MgUGFyc2VyIHtcbiAgICBjb25zdHJ1Y3RvcihncmFtbWFyUnVsZXMsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5ncmFtbWFyUnVsZXMgPSBncmFtbWFyUnVsZXM7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuY2FjaGVkUnVsZXMgPSB7fTtcbiAgICAgICAgdGhpcy5kZWJ1ZyA9IG9wdGlvbnMgPyBvcHRpb25zLmRlYnVnID09PSB0cnVlIDogZmFsc2U7XG4gICAgICAgIGxldCBlcnJvcnMgPSBbXTtcbiAgICAgICAgbGV0IG5lZWRlZFJ1bGVzID0gW107XG4gICAgICAgIGdyYW1tYXJSdWxlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICAgICAgbGV0IHBhcnNlZE5hbWUgPSBwYXJzZVJ1bGVOYW1lKHJ1bGUubmFtZSk7XG4gICAgICAgICAgICBpZiAocGFyc2VkTmFtZS5uYW1lIGluIHRoaXMuY2FjaGVkUnVsZXMpIHtcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaCgnRHVwbGljYXRlZCBydWxlICcgKyBwYXJzZWROYW1lLm5hbWUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVkUnVsZXNbcGFyc2VkTmFtZS5uYW1lXSA9IHJ1bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJ1bGUuYm5mIHx8ICFydWxlLmJuZi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsZXQgZXJyb3IgPSAnTWlzc2luZyBydWxlIGNvbnRlbnQsIHJ1bGU6ICcgKyBydWxlLm5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9ycy5pbmRleE9mKGVycm9yKSA9PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcnVsZS5ibmYuZm9yRWFjaChvcHRpb25zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcnNlZCA9IHBhcnNlUnVsZU5hbWUob3B0aW9uc1swXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VkLm5hbWUgPT0gcnVsZS5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGVycm9yID0gJ0xlZnQgcmVjdXJzaW9uIGlzIG5vdCBhbGxvd2VkLCBydWxlOiAnICsgcnVsZS5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcnMuaW5kZXhPZihlcnJvcikgPT0gLTEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5hbWUgPSBwYXJzZVJ1bGVOYW1lKG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFuYW1lLmlzTGl0ZXJhbCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkZWRSdWxlcy5pbmRleE9mKG5hbWUubmFtZSkgPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlTWlzc2luZ1J1bGVzLmluZGV4T2YobmFtZS5uYW1lKSA9PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGVkUnVsZXMucHVzaChuYW1lLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChXU19SVUxFID09IHJ1bGUubmFtZSlcbiAgICAgICAgICAgICAgICBydWxlLmltcGxpY2l0V3MgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChydWxlLmltcGxpY2l0V3MpIHtcbiAgICAgICAgICAgICAgICBpZiAobmVlZGVkUnVsZXMuaW5kZXhPZihXU19SVUxFKSA9PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgbmVlZGVkUnVsZXMucHVzaChXU19SVUxFKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChydWxlLnJlY292ZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAobmVlZGVkUnVsZXMuaW5kZXhPZihydWxlLnJlY292ZXIpID09IC0xKVxuICAgICAgICAgICAgICAgICAgICBuZWVkZWRSdWxlcy5wdXNoKHJ1bGUucmVjb3Zlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBuZWVkZWRSdWxlcy5mb3JFYWNoKHJ1bGVOYW1lID0+IHtcbiAgICAgICAgICAgIGlmICghKHJ1bGVOYW1lIGluIHRoaXMuY2FjaGVkUnVsZXMpKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goJ01pc3NpbmcgcnVsZSAnICsgcnVsZU5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGVycm9ycy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgZ2V0QVNUKHR4dCwgdGFyZ2V0KSB7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLmdyYW1tYXJSdWxlcy5maWx0ZXIoeCA9PiAheC5mcmFnbWVudCAmJiB4Lm5hbWUuaW5kZXhPZignJScpICE9IDApWzBdLm5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMucGFyc2UodHh0LCB0YXJnZXQpO1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBhZ3JlZ2F0ZUVycm9ycyhyZXN1bHQuZXJyb3JzLCByZXN1bHQpO1xuICAgICAgICAgICAgZml4UG9zaXRpb25zKHJlc3VsdCwgMCk7XG4gICAgICAgICAgICAvLyBSRU1PVkUgQUxMIFRIRSBUQUdTIE1BVENISU5HIC9eJS9cbiAgICAgICAgICAgIHN0cmlwUnVsZXMocmVzdWx0LCAvXiUvKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zIHx8ICF0aGlzLm9wdGlvbnMua2VlcFVwcGVyUnVsZXMpXG4gICAgICAgICAgICAgICAgc3RyaXBSdWxlcyhyZXN1bHQsIFVQUEVSX1NOQUtFX1JFKTtcbiAgICAgICAgICAgIGxldCByZXN0ID0gcmVzdWx0LnJlc3Q7XG4gICAgICAgICAgICBpZiAocmVzdCkge1xuICAgICAgICAgICAgICAgIG5ldyBUb2tlbkVycm9yXzEuVG9rZW5FcnJvcignVW5leHBlY3RlZCBlbmQgb2YgaW5wdXQ6IFxcbicgKyByZXN0LCByZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZml4UmVzdChyZXN1bHQpO1xuICAgICAgICAgICAgcmVzdWx0LnJlc3QgPSByZXN0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGVtaXRTb3VyY2UoKSB7XG4gICAgICAgIHJldHVybiAnQ0FOTk9UIEVNSVQgU09VUkNFIEZST00gQkFTRSBQYXJzZXInO1xuICAgIH1cbiAgICBwYXJzZSh0eHQsIHRhcmdldCwgcmVjdXJzaW9uID0gMCkge1xuICAgICAgICBsZXQgb3V0ID0gbnVsbDtcbiAgICAgICAgbGV0IHR5cGUgPSBwYXJzZVJ1bGVOYW1lKHRhcmdldCk7XG4gICAgICAgIGxldCBleHByO1xuICAgICAgICBsZXQgcHJpbnRhYmxlID0gdGhpcy5kZWJ1ZyAmJiAvKiFpc0xpdGVyYWwgJiovICFVUFBFUl9TTkFLRV9SRS50ZXN0KHR5cGUubmFtZSk7XG4gICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgY29uc29sZS5sb2cobmV3IEFycmF5KHJlY3Vyc2lvbikuam9pbign4pSCICAnKSArICdUcnlpbmcgdG8gZ2V0ICcgKyB0YXJnZXQgKyAnIGZyb20gJyArIEpTT04uc3RyaW5naWZ5KHR4dC5zcGxpdCgnXFxuJylbMF0pKTtcbiAgICAgICAgbGV0IHJlYWxUeXBlID0gdHlwZS5uYW1lO1xuICAgICAgICBsZXQgdGFyZ2V0TGV4ID0gZmluZFJ1bGVCeU5hbWUodHlwZS5uYW1lLCB0aGlzKTtcbiAgICAgICAgaWYgKHR5cGUubmFtZSA9PSAnRU9GJykge1xuICAgICAgICAgICAgaWYgKHR4dC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHR4dC5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdFT0YnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgcmVzdDogJycsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIGZ1bGxUZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoIXRhcmdldExleCAmJiB0eXBlLmlzTGl0ZXJhbCkge1xuICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZXZhbFxuICAgICAgICAgICAgICAgIGxldCBzcmMgPSBldmFsKHR5cGUubmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKHNyYyA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICclJUVNUFRZJSUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN0OiB0eHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxUZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZXhwciA9IG5ldyBSZWdFeHAoZXNjYXBlUmVnRXhwKHNyYykpO1xuICAgICAgICAgICAgICAgIHJlYWxUeXBlID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXhwcikge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHJlYWRUb2tlbih0eHQsIGV4cHIpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC50eXBlID0gcmVhbFR5cGU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBvcHRpb25zID0gdGFyZ2V0TGV4LmJuZjtcbiAgICAgICAgICAgIGlmIChvcHRpb25zIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLmZvckVhY2gocGhhc2VzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG91dClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBpbm5lZCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBmdWxsVGV4dDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Q6IHR4dFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBpZiAodGFyZ2V0TGV4LmZyYWdtZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wLmZyYWdtZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRtcFR4dCA9IHR4dDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBvc2l0aW9uID0gMDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGFsbE9wdGlvbmFsID0gcGhhc2VzLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgICAgICAgIGxldCBmb3VuZFNvbWV0aGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBoYXNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwaGFzZXNbaV0gPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbG9jYWxUYXJnZXQgPSBwYXJzZVJ1bGVOYW1lKHBoYXNlc1tpXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsT3B0aW9uYWwgPSBhbGxPcHRpb25hbCAmJiBsb2NhbFRhcmdldC5pc09wdGlvbmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBnb3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZvdW5kQXRMZWFzdE9uZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldExleC5pbXBsaWNpdFdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3QgPSB0aGlzLnBhcnNlKHRtcFR4dCwgbG9jYWxUYXJnZXQubmFtZSwgcmVjdXJzaW9uICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWdvdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBXUztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdTID0gdGhpcy5wYXJzZSh0bXBUeHQsIFdTX1JVTEUsIHJlY3Vyc2lvbiArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoV1MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC50ZXh0ID0gdG1wLnRleHQgKyBXUy50ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLmVuZCA9IHRtcC50ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdTLnBhcmVudCA9IHRtcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5jaGlsZHJlbi5wdXNoKFdTKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcFR4dCA9IHRtcFR4dC5zdWJzdHIoV1MudGV4dC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gKz0gV1MudGV4dC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKFdTICYmIFdTLnRleHQubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3QgPSBnb3QgfHwgdGhpcy5wYXJzZSh0bXBUeHQsIGxvY2FsVGFyZ2V0Lm5hbWUsIHJlY3Vyc2lvbiArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBydWxlIDo6PSBcInRydWVcIiAhW2EtekEtWl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbmVnYXRpdmUgbG9va3VwLCBpZiBpdCBkb2VzIG5vdCBtYXRjaCwgd2Ugc2hvdWxkIGNvbnRpbnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbFRhcmdldC5sb29rdXBOZWdhdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdvdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLyogY2FuY2VsIHRoaXMgcGF0aCAqLztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbFRhcmdldC5sb29rdXBQb3NpdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFnb3QpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZ290KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxUYXJnZXQuaXNPcHRpb25hbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbFRhcmdldC5hdExlYXN0T25lICYmIGZvdW5kQXRMZWFzdE9uZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ290ICYmIHRhcmdldExleC5waW5uZWQgPT0gaSArIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpbm5lZCA9IGdvdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJiBjb25zb2xlLmxvZyhuZXcgQXJyYXkocmVjdXJzaW9uICsgMSkuam9pbign4pSCICAnKSArICfilJTilIAgJyArIGdvdC50eXBlICsgJyBQSU5ORUQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWdvdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdCA9IHRoaXMucGFyc2VSZWNvdmVyeSh0YXJnZXRMZXgsIHRtcFR4dCwgcmVjdXJzaW9uICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZ290KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGlubmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0ID0gdG1wO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ1N5bnRheEVycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdG1wVHh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogdG1wVHh0Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFRleHQ6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0OiAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcFR4dC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yKGBVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dC4gRXhwZWN0aW5nICR7bG9jYWxUYXJnZXQubmFtZX0gR290OiAke3RtcFR4dH1gLCBnb3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yKGBVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dC4gTWlzc2luZyAke2xvY2FsVGFyZ2V0Lm5hbWV9YCwgZ290KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRhYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG5ldyBBcnJheShyZWN1cnNpb24gKyAxKS5qb2luKCfilIIgICcpICsgJ+KUlOKUgCAnICsgZ290LnR5cGUgKyAnICcgKyBKU09OLnN0cmluZ2lmeShnb3QudGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kQXRMZWFzdE9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kU29tZXRoaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdvdC50eXBlID09ICclJUVNUFRZJSUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3Quc3RhcnQgKz0gcG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdC5lbmQgKz0gcG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbG9jYWxUYXJnZXQubG9va3VwUG9zaXRpdmUgJiYgZ290LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnb3QuZnJhZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3QuY2hpbGRyZW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290LmNoaWxkcmVuLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LnN0YXJ0ICs9IHBvc2l0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeC5lbmQgKz0gcG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LnBhcmVudCA9IHRtcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5jaGlsZHJlbi5wdXNoKHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdC5wYXJlbnQgPSB0bXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLmNoaWxkcmVuLnB1c2goZ290KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxUYXJnZXQubG9va3VwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290Lmxvb2t1cCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cobmV3IEFycmF5KHJlY3Vyc2lvbiArIDEpLmpvaW4oJ+KUgiAgJykgKyAn4pSU4pSAICcgKyBnb3QudHlwZSArICcgJyArIEpTT04uc3RyaW5naWZ5KGdvdC50ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVhdCBpdCBmcm9tIHRoZSBpbnB1dCBzdHJlYW0sIG9ubHkgaWYgaXQgaXMgbm90IGEgbG9va3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbG9jYWxUYXJnZXQubG9va3VwICYmICFnb3QubG9va3VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAudGV4dCA9IHRtcC50ZXh0ICsgZ290LnRleHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAuZW5kID0gdG1wLnRleHQubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wVHh0ID0gdG1wVHh0LnN1YnN0cihnb3QudGV4dC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gKz0gZ290LnRleHQubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5yZXN0ID0gdG1wVHh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKGdvdCAmJiBsb2NhbFRhcmdldC5hbGxvd1JlcGV0aXRpb24gJiYgdG1wVHh0Lmxlbmd0aCAmJiAhZ290Lmxvb2t1cCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IC8qIElTIEEgUkVHRVhQICovXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZ290ID0gcmVhZFRva2VuKHRtcFR4dCwgcGhhc2VzW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWdvdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhuZXcgQXJyYXkocmVjdXJzaW9uICsgMSkuam9pbign4pSCICAnKSArICfilJQ+ICcgKyBKU09OLnN0cmluZ2lmeShnb3QudGV4dCkgKyBwaGFzZXNbaV0uc291cmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZFNvbWV0aGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290LnN0YXJ0ICs9IHBvc2l0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdC5lbmQgKz0gcG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLnRleHQgPSB0bXAudGV4dCArIGdvdC50ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5lbmQgPSB0bXAudGV4dC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wVHh0ID0gdG1wVHh0LnN1YnN0cihnb3QudGV4dC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uICs9IGdvdC50ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAucmVzdCA9IHRtcFR4dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoZm91bmRTb21ldGhpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dCA9IHRtcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG5ldyBBcnJheShyZWN1cnNpb24pLmpvaW4oJ+KUgiAgJykgKyAn4pScPOKUgOKUtDwgUFVTSElORyAnICsgb3V0LnR5cGUgKyAnICcgKyBKU09OLnN0cmluZ2lmeShvdXQudGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3V0ICYmIHRhcmdldExleC5zaW1wbGlmeVdoZW5PbmVDaGlsZHJlbiAmJiBvdXQuY2hpbGRyZW4ubGVuZ3RoID09IDEpIHtcbiAgICAgICAgICAgICAgICBvdXQgPSBvdXQuY2hpbGRyZW5bMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvdXQpIHtcbiAgICAgICAgICAgIHByaW50YWJsZSAmJiBjb25zb2xlLmxvZyh0YXJnZXQgKyAnIE5PVCBSRVNPTFZFRCBGUk9NICcgKyB0eHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuICAgIHBhcnNlUmVjb3ZlcnkocmVjb3ZlcmFibGVUb2tlbiwgdG1wVHh0LCByZWN1cnNpb24pIHtcbiAgICAgICAgaWYgKHJlY292ZXJhYmxlVG9rZW4ucmVjb3ZlciAmJiB0bXBUeHQubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgcHJpbnRhYmxlID0gdGhpcy5kZWJ1ZztcbiAgICAgICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG5ldyBBcnJheShyZWN1cnNpb24gKyAxKS5qb2luKCfilIIgICcpICtcbiAgICAgICAgICAgICAgICAgICAgJ1RyeWluZyB0byByZWNvdmVyIHVudGlsIHRva2VuICcgK1xuICAgICAgICAgICAgICAgICAgICByZWNvdmVyYWJsZVRva2VuLnJlY292ZXIgK1xuICAgICAgICAgICAgICAgICAgICAnIGZyb20gJyArXG4gICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRtcFR4dC5zcGxpdCgnXFxuJylbMF0gKyB0bXBUeHQuc3BsaXQoJ1xcbicpWzFdKSk7XG4gICAgICAgICAgICBsZXQgdG1wID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdTeW50YXhFcnJvcicsXG4gICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgICAgIGVuZDogMCxcbiAgICAgICAgICAgICAgICBlcnJvcnM6IFtdLFxuICAgICAgICAgICAgICAgIGZ1bGxUZXh0OiAnJyxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICAgICAgcmVzdDogJydcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsZXQgZ290O1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIGdvdCA9IHRoaXMucGFyc2UodG1wVHh0LCByZWNvdmVyYWJsZVRva2VuLnJlY292ZXIsIHJlY3Vyc2lvbiArIDEpO1xuICAgICAgICAgICAgICAgIGlmIChnb3QpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yKCdVbmV4cGVjdGVkIGlucHV0OiBcIicgKyB0bXAudGV4dCArIGBcIiBFeHBlY3Rpbmc6ICR7cmVjb3ZlcmFibGVUb2tlbi5uYW1lfWAsIHRtcCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdG1wLnRleHQgPSB0bXAudGV4dCArIHRtcFR4dFswXTtcbiAgICAgICAgICAgICAgICAgICAgdG1wLmVuZCA9IHRtcC50ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgdG1wVHh0ID0gdG1wVHh0LnN1YnN0cigxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IHdoaWxlICghZ290ICYmIHRtcFR4dC5sZW5ndGggPiAwKTtcbiAgICAgICAgICAgIGlmICh0bXAudGV4dC5sZW5ndGggPiAwICYmIGdvdCkge1xuICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJiBjb25zb2xlLmxvZyhuZXcgQXJyYXkocmVjdXJzaW9uICsgMSkuam9pbign4pSCICAnKSArICdSZWNvdmVyZWQgdGV4dDogJyArIEpTT04uc3RyaW5naWZ5KHRtcC50ZXh0KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRtcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5leHBvcnRzLlBhcnNlciA9IFBhcnNlcjtcbmV4cG9ydHMuZGVmYXVsdCA9IFBhcnNlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBhcnNlci5qcy5tYXAiLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZmluZENoaWxkcmVuQnlUeXBlID0gdm9pZCAwO1xuLyoqXG4gKiBGaW5kcyBhbGwgdGhlIGRpcmVjdCBjaGlsZHMgb2YgYSBzcGVjaWZ5ZWQgdHlwZVxuICovXG5mdW5jdGlvbiBmaW5kQ2hpbGRyZW5CeVR5cGUodG9rZW4sIHR5cGUpIHtcbiAgICByZXR1cm4gdG9rZW4uY2hpbGRyZW4gPyB0b2tlbi5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gdHlwZSkgOiBbXTtcbn1cbmV4cG9ydHMuZmluZENoaWxkcmVuQnlUeXBlID0gZmluZENoaWxkcmVuQnlUeXBlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U2VtYW50aWNIZWxwZXJzLmpzLm1hcCIsIlwidXNlIHN0cmljdFwiO1xuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmFja3VzJUUyJTgwJTkzTmF1cl9Gb3JtXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKlxuc3ludGF4IDo6PSBSVUxFX0VPTCogcnVsZStcbnJ1bGUgOjo9IFwiIFwiKiBcIjxcIiBydWxlLW5hbWUgXCI+XCIgXCIgXCIqIFwiOjo9XCIgZmlyc3RFeHByZXNzaW9uIG90aGVyRXhwcmVzc2lvbiogXCIgXCIqIFJVTEVfRU9MKyBcIiBcIipcbmZpcnN0RXhwcmVzc2lvbiA6Oj0gXCIgXCIqIGxpc3Rcbm90aGVyRXhwcmVzc2lvbiA6Oj0gXCIgXCIqIFwifFwiIFwiIFwiKiBsaXN0XG5SVUxFX0VPTCA6Oj0gXCJcXHJcIiB8IFwiXFxuXCJcbmxpc3QgOjo9IHRlcm0gXCIgXCIqIGxpc3QgfCB0ZXJtXG50ZXJtIDo6PSBsaXRlcmFsIHwgXCI8XCIgcnVsZS1uYW1lIFwiPlwiXG5saXRlcmFsIDo6PSAnXCInIFJVTEVfQ0hBUkFDVEVSMSogJ1wiJyB8IFwiJ1wiIFJVTEVfQ0hBUkFDVEVSMiogXCInXCJcblJVTEVfQ0hBUkFDVEVSIDo6PSBcIiBcIiB8IFJVTEVfTEVUVEVSIHwgUlVMRV9ESUdJVCB8IFJVTEVfU1lNQk9MXG5SVUxFX0xFVFRFUiA6Oj0gXCJBXCIgfCBcIkJcIiB8IFwiQ1wiIHwgXCJEXCIgfCBcIkVcIiB8IFwiRlwiIHwgXCJHXCIgfCBcIkhcIiB8IFwiSVwiIHwgXCJKXCIgfCBcIktcIiB8IFwiTFwiIHwgXCJNXCIgfCBcIk5cIiB8IFwiT1wiIHwgXCJQXCIgfCBcIlFcIiB8IFwiUlwiIHwgXCJTXCIgfCBcIlRcIiB8IFwiVVwiIHwgXCJWXCIgfCBcIldcIiB8IFwiWFwiIHwgXCJZXCIgfCBcIlpcIiB8IFwiYVwiIHwgXCJiXCIgfCBcImNcIiB8IFwiZFwiIHwgXCJlXCIgfCBcImZcIiB8IFwiZ1wiIHwgXCJoXCIgfCBcImlcIiB8IFwialwiIHwgXCJrXCIgfCBcImxcIiB8IFwibVwiIHwgXCJuXCIgfCBcIm9cIiB8IFwicFwiIHwgXCJxXCIgfCBcInJcIiB8IFwic1wiIHwgXCJ0XCIgfCBcInVcIiB8IFwidlwiIHwgXCJ3XCIgfCBcInhcIiB8IFwieVwiIHwgXCJ6XCJcblJVTEVfRElHSVQgOjo9IFwiMFwiIHwgXCIxXCIgfCBcIjJcIiB8IFwiM1wiIHwgXCI0XCIgfCBcIjVcIiB8IFwiNlwiIHwgXCI3XCIgfCBcIjhcIiB8IFwiOVwiXG5SVUxFX1NZTUJPTCA6Oj0gXCItXCIgfCBcIl9cIiB8IFwiIVwiIHwgXCIjXCIgfCBcIiRcIiB8IFwiJVwiIHwgXCImXCIgfCBcIihcIiB8IFwiKVwiIHwgXCIqXCIgfCBcIitcIiB8IFwiLFwiIHwgXCItXCIgfCBcIi5cIiB8IFwiL1wiIHwgXCI6XCIgfCBcIjtcIiB8IFwiPFwiIHwgXCI9XCIgfCBcIj5cIiB8IFwiP1wiIHwgXCJAXCIgfCBcIltcIiB8IFwiXFxcIiB8IFwiXVwiIHwgXCJeXCIgfCBcIl9cIiB8IFwiYFwiIHwgXCJ7XCIgfCBcInxcIiB8IFwifVwiIHwgXCJ+XCJcblJVTEVfQ0hBUkFDVEVSMSA6Oj0gUlVMRV9DSEFSQUNURVIgfCBcIidcIlxuUlVMRV9DSEFSQUNURVIyIDo6PSBSVUxFX0NIQVJBQ1RFUiB8ICdcIidcbnJ1bGUtbmFtZSA6Oj0gUlVMRV9MRVRURVIgUlVMRV9DSEFSKlxuUlVMRV9DSEFSIDo6PSBSVUxFX0xFVFRFUiB8IFJVTEVfRElHSVQgfCBcIl9cIiB8IFwiLVwiXG4qL1xuY29uc3QgU2VtYW50aWNIZWxwZXJzXzEgPSByZXF1aXJlKFwiLi4vU2VtYW50aWNIZWxwZXJzXCIpO1xuY29uc3QgUGFyc2VyXzEgPSByZXF1aXJlKFwiLi4vUGFyc2VyXCIpO1xudmFyIEJORjtcbihmdW5jdGlvbiAoQk5GKSB7XG4gICAgQk5GLlJVTEVTID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnc3ludGF4JyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9FT0wqJywgJ3J1bGUrJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdydWxlJyxcbiAgICAgICAgICAgIGJuZjogW1xuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgJ1wiIFwiKicsXG4gICAgICAgICAgICAgICAgICAgICdcIjxcIicsXG4gICAgICAgICAgICAgICAgICAgICdydWxlLW5hbWUnLFxuICAgICAgICAgICAgICAgICAgICAnXCI+XCInLFxuICAgICAgICAgICAgICAgICAgICAnXCIgXCIqJyxcbiAgICAgICAgICAgICAgICAgICAgJ1wiOjo9XCInLFxuICAgICAgICAgICAgICAgICAgICAnZmlyc3RFeHByZXNzaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ290aGVyRXhwcmVzc2lvbionLFxuICAgICAgICAgICAgICAgICAgICAnXCIgXCIqJyxcbiAgICAgICAgICAgICAgICAgICAgJ1JVTEVfRU9MKycsXG4gICAgICAgICAgICAgICAgICAgICdcIiBcIionXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnZmlyc3RFeHByZXNzaW9uJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIgXCIqJywgJ2xpc3QnXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ290aGVyRXhwcmVzc2lvbicsXG4gICAgICAgICAgICBibmY6IFtbJ1wiIFwiKicsICdcInxcIicsICdcIiBcIionLCAnbGlzdCddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9FT0wnLFxuICAgICAgICAgICAgYm5mOiBbWydcIlxcXFxyXCInXSwgWydcIlxcXFxuXCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2xpc3QnLFxuICAgICAgICAgICAgYm5mOiBbWyd0ZXJtJywgJ1wiIFwiKicsICdsaXN0J10sIFsndGVybSddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAndGVybScsXG4gICAgICAgICAgICBibmY6IFtbJ2xpdGVyYWwnXSwgWydcIjxcIicsICdydWxlLW5hbWUnLCAnXCI+XCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2xpdGVyYWwnLFxuICAgICAgICAgICAgYm5mOiBbW2AnXCInYCwgJ1JVTEVfQ0hBUkFDVEVSMSonLCBgJ1wiJ2BdLCBbYFwiJ1wiYCwgJ1JVTEVfQ0hBUkFDVEVSMionLCBgXCInXCJgXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1JVTEVfQ0hBUkFDVEVSJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIgXCInXSwgWydSVUxFX0xFVFRFUiddLCBbJ1JVTEVfRElHSVQnXSwgWydSVUxFX1NZTUJPTCddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9MRVRURVInLFxuICAgICAgICAgICAgYm5mOiBbXG4gICAgICAgICAgICAgICAgWydcIkFcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJCXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiQ1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIkRcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJFXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiRlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIkdcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJIXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiSVwiJ10sXG4gICAgICAgICAgICAgICAgWydcIkpcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJLXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiTFwiJ10sXG4gICAgICAgICAgICAgICAgWydcIk1cIiddLFxuICAgICAgICAgICAgICAgIFsnXCJOXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiT1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIlBcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJRXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiUlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIlNcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJUXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiVVwiJ10sXG4gICAgICAgICAgICAgICAgWydcIlZcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJXXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiWFwiJ10sXG4gICAgICAgICAgICAgICAgWydcIllcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJaXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiYVwiJ10sXG4gICAgICAgICAgICAgICAgWydcImJcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJjXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiZFwiJ10sXG4gICAgICAgICAgICAgICAgWydcImVcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJmXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiZ1wiJ10sXG4gICAgICAgICAgICAgICAgWydcImhcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJpXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wialwiJ10sXG4gICAgICAgICAgICAgICAgWydcImtcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJsXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wibVwiJ10sXG4gICAgICAgICAgICAgICAgWydcIm5cIiddLFxuICAgICAgICAgICAgICAgIFsnXCJvXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wicFwiJ10sXG4gICAgICAgICAgICAgICAgWydcInFcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJyXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wic1wiJ10sXG4gICAgICAgICAgICAgICAgWydcInRcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJ1XCInXSxcbiAgICAgICAgICAgICAgICBbJ1widlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIndcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJ4XCInXSxcbiAgICAgICAgICAgICAgICBbJ1wieVwiJ10sXG4gICAgICAgICAgICAgICAgWydcInpcIiddXG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdSVUxFX0RJR0lUJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIwXCInXSwgWydcIjFcIiddLCBbJ1wiMlwiJ10sIFsnXCIzXCInXSwgWydcIjRcIiddLCBbJ1wiNVwiJ10sIFsnXCI2XCInXSwgWydcIjdcIiddLCBbJ1wiOFwiJ10sIFsnXCI5XCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1JVTEVfU1lNQk9MJyxcbiAgICAgICAgICAgIGJuZjogW1xuICAgICAgICAgICAgICAgIFsnXCItXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiX1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIiFcIiddLFxuICAgICAgICAgICAgICAgIFsnXCIjXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiJFwiJ10sXG4gICAgICAgICAgICAgICAgWydcIiVcIiddLFxuICAgICAgICAgICAgICAgIFsnXCImXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiKFwiJ10sXG4gICAgICAgICAgICAgICAgWydcIilcIiddLFxuICAgICAgICAgICAgICAgIFsnXCIqXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiK1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIixcIiddLFxuICAgICAgICAgICAgICAgIFsnXCItXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiLlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIi9cIiddLFxuICAgICAgICAgICAgICAgIFsnXCI6XCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiO1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIjxcIiddLFxuICAgICAgICAgICAgICAgIFsnXCI9XCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiPlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIj9cIiddLFxuICAgICAgICAgICAgICAgIFsnXCJAXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiW1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIlxcXFxcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJdXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiXlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIl9cIiddLFxuICAgICAgICAgICAgICAgIFsnXCJgXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wie1wiJ10sXG4gICAgICAgICAgICAgICAgWydcInxcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJ9XCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiflwiJ11cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1JVTEVfQ0hBUkFDVEVSMScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfQ0hBUkFDVEVSJ10sIFtgXCInXCJgXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1JVTEVfQ0hBUkFDVEVSMicsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfQ0hBUkFDVEVSJ10sIFtgJ1wiJ2BdXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncnVsZS1uYW1lJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9MRVRURVInLCAnUlVMRV9DSEFSKiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9DSEFSJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9MRVRURVInXSwgWydSVUxFX0RJR0lUJ10sIFsnXCJfXCInXSwgWydcIi1cIiddXVxuICAgICAgICB9XG4gICAgXTtcbiAgICBCTkYuZGVmYXVsdFBhcnNlciA9IG5ldyBQYXJzZXJfMS5QYXJzZXIoQk5GLlJVTEVTLCB7IGRlYnVnOiBmYWxzZSB9KTtcbiAgICBmdW5jdGlvbiBnZXRBbGxUZXJtcyhleHByKSB7XG4gICAgICAgIGxldCB0ZXJtcyA9IFNlbWFudGljSGVscGVyc18xLmZpbmRDaGlsZHJlbkJ5VHlwZShleHByLCAndGVybScpLm1hcCh0ZXJtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBTZW1hbnRpY0hlbHBlcnNfMS5maW5kQ2hpbGRyZW5CeVR5cGUodGVybSwgJ2xpdGVyYWwnKS5jb25jYXQoU2VtYW50aWNIZWxwZXJzXzEuZmluZENoaWxkcmVuQnlUeXBlKHRlcm0sICdydWxlLW5hbWUnKSlbMF0udGV4dDtcbiAgICAgICAgfSk7XG4gICAgICAgIFNlbWFudGljSGVscGVyc18xLmZpbmRDaGlsZHJlbkJ5VHlwZShleHByLCAnbGlzdCcpLmZvckVhY2goZXhwciA9PiB7XG4gICAgICAgICAgICB0ZXJtcyA9IHRlcm1zLmNvbmNhdChnZXRBbGxUZXJtcyhleHByKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGVybXM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFJ1bGVzKHNvdXJjZSwgcGFyc2VyID0gQk5GLmRlZmF1bHRQYXJzZXIpIHtcbiAgICAgICAgbGV0IGFzdCA9IHBhcnNlci5nZXRBU1Qoc291cmNlKTtcbiAgICAgICAgaWYgKCFhc3QpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBwYXJzZSAnICsgc291cmNlKTtcbiAgICAgICAgaWYgKGFzdC5lcnJvcnMgJiYgYXN0LmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IGFzdC5lcnJvcnNbMF07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJ1bGVzID0gU2VtYW50aWNIZWxwZXJzXzEuZmluZENoaWxkcmVuQnlUeXBlKGFzdCwgJ3J1bGUnKTtcbiAgICAgICAgbGV0IHJldCA9IHJ1bGVzLm1hcCgocnVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBTZW1hbnRpY0hlbHBlcnNfMS5maW5kQ2hpbGRyZW5CeVR5cGUocnVsZSwgJ3J1bGUtbmFtZScpWzBdLnRleHQ7XG4gICAgICAgICAgICBsZXQgZXhwcmVzc2lvbnMgPSBTZW1hbnRpY0hlbHBlcnNfMS5maW5kQ2hpbGRyZW5CeVR5cGUocnVsZSwgJ2ZpcnN0RXhwcmVzc2lvbicpLmNvbmNhdChTZW1hbnRpY0hlbHBlcnNfMS5maW5kQ2hpbGRyZW5CeVR5cGUocnVsZSwgJ290aGVyRXhwcmVzc2lvbicpKTtcbiAgICAgICAgICAgIGxldCBibmYgPSBbXTtcbiAgICAgICAgICAgIGV4cHJlc3Npb25zLmZvckVhY2goZXhwciA9PiB7XG4gICAgICAgICAgICAgICAgYm5mLnB1c2goZ2V0QWxsVGVybXMoZXhwcikpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgYm5mXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFyZXQuc29tZSh4ID0+IHgubmFtZSA9PSAnRU9MJykpIHtcbiAgICAgICAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRU9MJyxcbiAgICAgICAgICAgICAgICBibmY6IFtbJ1wiXFxcXHJcXFxcblwiJywgJ1wiXFxcXHJcIicsICdcIlxcXFxuXCInXV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuICAgIEJORi5nZXRSdWxlcyA9IGdldFJ1bGVzO1xuICAgIGZ1bmN0aW9uIFRyYW5zZm9ybShzb3VyY2UsIHN1YlBhcnNlciA9IEJORi5kZWZhdWx0UGFyc2VyKSB7XG4gICAgICAgIHJldHVybiBnZXRSdWxlcyhzb3VyY2Uuam9pbignJyksIHN1YlBhcnNlcik7XG4gICAgfVxuICAgIEJORi5UcmFuc2Zvcm0gPSBUcmFuc2Zvcm07XG4gICAgY2xhc3MgUGFyc2VyIGV4dGVuZHMgUGFyc2VyXzEuUGFyc2VyIHtcbiAgICAgICAgY29uc3RydWN0b3Ioc291cmNlLCBvcHRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJQYXJzZXIgPSBvcHRpb25zICYmIG9wdGlvbnMuZGVidWdSdWxlc1BhcnNlciA9PT0gdHJ1ZSA/IG5ldyBQYXJzZXJfMS5QYXJzZXIoQk5GLlJVTEVTLCB7IGRlYnVnOiB0cnVlIH0pIDogQk5GLmRlZmF1bHRQYXJzZXI7XG4gICAgICAgICAgICBzdXBlcihnZXRSdWxlcyhzb3VyY2UsIHN1YlBhcnNlciksIG9wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIH1cbiAgICAgICAgZW1pdFNvdXJjZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNvdXJjZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBCTkYuUGFyc2VyID0gUGFyc2VyO1xufSkoQk5GIHx8IChCTkYgPSB7fSkpO1xuZXhwb3J0cy5kZWZhdWx0ID0gQk5GO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Qk5GLmpzLm1hcCIsIlwidXNlIHN0cmljdFwiO1xuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL1JFQy14bWwvI05ULU5hbWVcbi8vIGh0dHA6Ly93d3cuYm90dGxlY2Fwcy5kZS9yci91aVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLy8gR3JhbW1hclx0Ojo9XHRQcm9kdWN0aW9uKlxuLy8gUHJvZHVjdGlvblx0Ojo9XHROQ05hbWUgJzo6PScgQ2hvaWNlXG4vLyBOQ05hbWVcdDo6PVx0W2h0dHA6Ly93d3cudzMub3JnL1RSL3htbC1uYW1lcy8jTlQtTkNOYW1lXVxuLy8gQ2hvaWNlXHQ6Oj1cdFNlcXVlbmNlT3JEaWZmZXJlbmNlICggJ3wnIFNlcXVlbmNlT3JEaWZmZXJlbmNlICkqXG4vLyBTZXF1ZW5jZU9yRGlmZmVyZW5jZVx0Ojo9XHQoSXRlbSAoICctJyBJdGVtIHwgSXRlbSogKSk/XG4vLyBJdGVtXHQ6Oj1cdFByaW1hcnkgKCAnPycgfCAnKicgfCAnKycgKT9cbi8vIFByaW1hcnlcdDo6PVx0TkNOYW1lIHwgU3RyaW5nTGl0ZXJhbCB8IENoYXJDb2RlIHwgQ2hhckNsYXNzIHwgJygnIENob2ljZSAnKSdcbi8vIFN0cmluZ0xpdGVyYWxcdDo6PVx0J1wiJyBbXlwiXSogJ1wiJyB8IFwiJ1wiIFteJ10qIFwiJ1wiXG4vLyBDaGFyQ29kZVx0Ojo9XHQnI3gnIFswLTlhLWZBLUZdK1xuLy8gQ2hhckNsYXNzXHQ6Oj1cdCdbJyAnXic/ICggUlVMRV9DaGFyIHwgQ2hhckNvZGUgfCBDaGFyUmFuZ2UgfCBDaGFyQ29kZVJhbmdlICkrICddJ1xuLy8gUlVMRV9DaGFyXHQ6Oj1cdFtodHRwOi8vd3d3LnczLm9yZy9UUi94bWwjTlQtUlVMRV9DaGFyXVxuLy8gQ2hhclJhbmdlXHQ6Oj1cdFJVTEVfQ2hhciAnLScgKCBSVUxFX0NoYXIgLSAnXScgKVxuLy8gQ2hhckNvZGVSYW5nZVx0Ojo9XHRDaGFyQ29kZSAnLScgQ2hhckNvZGVcbi8vIFJVTEVfV0hJVEVTUEFDRVx0Ojo9XHRSVUxFX1MgfCBDb21tZW50XG4vLyBSVUxFX1NcdDo6PVx0I3g5IHwgI3hBIHwgI3hEIHwgI3gyMFxuLy8gQ29tbWVudFx0Ojo9XHQnLyonICggW14qXSB8ICcqJysgW14qL10gKSogJyonKiAnKi8nXG5jb25zdCBQYXJzZXJfMSA9IHJlcXVpcmUoXCIuLi9QYXJzZXJcIik7XG52YXIgQk5GO1xuKGZ1bmN0aW9uIChCTkYpIHtcbiAgICBCTkYuUlVMRVMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdHcmFtbWFyJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9TKicsICclQXRvbWljKicsICdFT0YnXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVBdG9taWMnLFxuICAgICAgICAgICAgYm5mOiBbWydQcm9kdWN0aW9uJywgJ1JVTEVfUyonXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUHJvZHVjdGlvbicsXG4gICAgICAgICAgICBibmY6IFtbJ05DTmFtZScsICdSVUxFX1MqJywgJ1wiOjo9XCInLCAnUlVMRV9XSElURVNQQUNFKicsICdDaG9pY2UnLCAnUlVMRV9XSElURVNQQUNFKicsICdSVUxFX0VPTCsnLCAnUlVMRV9TKiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTkNOYW1lJyxcbiAgICAgICAgICAgIGJuZjogW1svW2EtekEtWl1bYS16QS1aXzAtOV0qL11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdDaG9pY2UnLFxuICAgICAgICAgICAgYm5mOiBbWydTZXF1ZW5jZU9yRGlmZmVyZW5jZScsICclX0Nob2ljZV8xKiddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclX0Nob2ljZV8xJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9XSElURVNQQUNFKicsICdcInxcIicsICdSVUxFX1dISVRFU1BBQ0UqJywgJ1NlcXVlbmNlT3JEaWZmZXJlbmNlJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1NlcXVlbmNlT3JEaWZmZXJlbmNlJyxcbiAgICAgICAgICAgIGJuZjogW1snSXRlbScsICdSVUxFX1dISVRFU1BBQ0UqJywgJyVfSXRlbV8xPyddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnJV9JdGVtXzEnLFxuICAgICAgICAgICAgYm5mOiBbWydNaW51cycsICdJdGVtJ10sIFsnSXRlbSonXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTWludXMnLFxuICAgICAgICAgICAgYm5mOiBbWydcIi1cIiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnSXRlbScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfV0hJVEVTUEFDRSonLCAnJVByaW1hcnknLCAnUHJpbWFyeURlY29yYXRpb24/J11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1ByaW1hcnlEZWNvcmF0aW9uJyxcbiAgICAgICAgICAgIGJuZjogW1snXCI/XCInXSwgWydcIipcIiddLCBbJ1wiK1wiJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdEZWNvcmF0aW9uTmFtZScsXG4gICAgICAgICAgICBibmY6IFtbJ1wiZWJuZjovL1wiJywgL1teXFx4NUQjXSsvXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVQcmltYXJ5JyxcbiAgICAgICAgICAgIGJuZjogW1snTkNOYW1lJ10sIFsnU3RyaW5nTGl0ZXJhbCddLCBbJ0NoYXJDb2RlJ10sIFsnQ2hhckNsYXNzJ10sIFsnU3ViSXRlbSddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdTdWJJdGVtJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIoXCInLCAnUlVMRV9XSElURVNQQUNFKicsICdDaG9pY2UnLCAnUlVMRV9XSElURVNQQUNFKicsICdcIilcIiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnU3RyaW5nTGl0ZXJhbCcsXG4gICAgICAgICAgICBibmY6IFtbYCdcIidgLCAvW15cIl0qLywgYCdcIidgXSwgW2BcIidcImAsIC9bXiddKi8sIGBcIidcImBdXSxcbiAgICAgICAgICAgIHBpbm5lZDogMVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQ2hhckNvZGUnLFxuICAgICAgICAgICAgYm5mOiBbWydcIiN4XCInLCAvWzAtOWEtekEtWl0rL11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdDaGFyQ2xhc3MnLFxuICAgICAgICAgICAgYm5mOiBbW1wiJ1snXCIsIFwiJ14nP1wiLCAnJVJVTEVfQ2hhckNsYXNzXzErJywgJ1wiXVwiJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclUlVMRV9DaGFyQ2xhc3NfMScsXG4gICAgICAgICAgICBibmY6IFtbJ0NoYXJDb2RlUmFuZ2UnXSwgWydDaGFyUmFuZ2UnXSwgWydDaGFyQ29kZSddLCBbJ1JVTEVfQ2hhciddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdSVUxFX0NoYXInLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwOS9dLCBbL1xceDBBL10sIFsvXFx4MEQvXSwgWy9bXFx4MjAtXFx4NWNdL10sIFsvW1xceDVlLVxcdUQ3RkZdL10sIFsvW1xcdUUwMDAtXFx1RkZGRF0vXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoYXJSYW5nZScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfQ2hhcicsICdcIi1cIicsICdSVUxFX0NoYXInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoYXJDb2RlUmFuZ2UnLFxuICAgICAgICAgICAgYm5mOiBbWydDaGFyQ29kZScsICdcIi1cIicsICdDaGFyQ29kZSddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9XSElURVNQQUNFJyxcbiAgICAgICAgICAgIGJuZjogW1snJVJVTEVfV0hJVEVTUEFDRV9DSEFSKiddLCBbJ0NvbW1lbnQnLCAnUlVMRV9XSElURVNQQUNFKiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9TJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9XSElURVNQQUNFJywgJ1JVTEVfUyonXSwgWydSVUxFX0VPTCcsICdSVUxFX1MqJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclUlVMRV9XSElURVNQQUNFX0NIQVInLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwOS9dLCBbL1xceDIwL11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgYm5mOiBbWydcIi8qXCInLCAnJVJVTEVfQ29tbWVudF9Cb2R5KicsICdcIiovXCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVSVUxFX0NvbW1lbnRfQm9keScsXG4gICAgICAgICAgICBibmY6IFtbJyFcIiovXCInLCAvW14qXS9dXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdSVUxFX0VPTCcsXG4gICAgICAgICAgICBibmY6IFtbL1xceDBELywgL1xceDBBL10sIFsvXFx4MEEvXSwgWy9cXHgwRC9dXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTGluaycsXG4gICAgICAgICAgICBibmY6IFtbXCInWydcIiwgJ1VybCcsIFwiJ10nXCJdXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnVXJsJyxcbiAgICAgICAgICAgIGJuZjogW1svW15cXHg1RDovPyNdLywgJ1wiOi8vXCInLCAvW15cXHg1RCNdKy8sICclVXJsMT8nXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVVcmwxJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIjXCInLCAnTkNOYW1lJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfVxuICAgIF07XG4gICAgQk5GLmRlZmF1bHRQYXJzZXIgPSBuZXcgUGFyc2VyXzEuUGFyc2VyKEJORi5SVUxFUywgeyBkZWJ1ZzogZmFsc2UgfSk7XG4gICAgY29uc3QgcHJlRGVjb3JhdGlvblJFID0gL14oIXwmKS87XG4gICAgY29uc3QgZGVjb3JhdGlvblJFID0gLyhcXD98XFwrfFxcKikkLztcbiAgICBjb25zdCBzdWJFeHByZXNzaW9uUkUgPSAvXiUvO1xuICAgIGZ1bmN0aW9uIGdldEJORlJ1bGUobmFtZSwgcGFyc2VyKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbmFtZSA9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKHByZURlY29yYXRpb25SRS50ZXN0KG5hbWUpKVxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIGxldCBzdWJleHByZXNzaW9uID0gc3ViRXhwcmVzc2lvblJFLnRlc3QobmFtZSk7XG4gICAgICAgICAgICBpZiAoc3ViZXhwcmVzc2lvbikge1xuICAgICAgICAgICAgICAgIGxldCBkZWNvcmF0aW9uID0gZGVjb3JhdGlvblJFLmV4ZWMobmFtZSk7XG4gICAgICAgICAgICAgICAgbGV0IGRlY29yYXRpb25UZXh0ID0gZGVjb3JhdGlvbiA/IGRlY29yYXRpb25bMF0gKyAnICcgOiAnJztcbiAgICAgICAgICAgICAgICBsZXQgbG9uZWx5ID0gaXNMb25lbHlSdWxlKG5hbWUsIHBhcnNlcik7XG4gICAgICAgICAgICAgICAgaWYgKGxvbmVseSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldEJORkJvZHkobmFtZSwgcGFyc2VyKSArIGRlY29yYXRpb25UZXh0O1xuICAgICAgICAgICAgICAgIHJldHVybiAnKCcgKyBnZXRCTkZCb2R5KG5hbWUsIHBhcnNlcikgKyAnKScgKyBkZWNvcmF0aW9uVGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5hbWUuc291cmNlXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcXFwoPzp4fHUpKFthLXpBLVowLTldKykvZywgJyN4JDEnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFtcXFxcKD86eHx1KShbYS16QS1aMC05XSspLVxcXFwoPzp4fHUpKFthLXpBLVowLTldKylcXF0vZywgJ1sjeCQxLSN4JDJdJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcnVsZSBpcyBhIHN0cmluZyBsaXRlcmFsIG9yIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRob3V0IGEgZGVzY2VuZGFudCB0cmVlXG4gICAgZnVuY3Rpb24gaXNMb25lbHlSdWxlKG5hbWUsIHBhcnNlcikge1xuICAgICAgICBsZXQgcnVsZSA9IFBhcnNlcl8xLmZpbmRSdWxlQnlOYW1lKG5hbWUsIHBhcnNlcik7XG4gICAgICAgIHJldHVybiAocnVsZSAmJlxuICAgICAgICAgICAgcnVsZS5ibmYubGVuZ3RoID09IDEgJiZcbiAgICAgICAgICAgIHJ1bGUuYm5mWzBdLmxlbmd0aCA9PSAxICYmXG4gICAgICAgICAgICAocnVsZS5ibmZbMF1bMF0gaW5zdGFuY2VvZiBSZWdFeHAgfHwgcnVsZS5ibmZbMF1bMF1bMF0gPT0gJ1wiJyB8fCBydWxlLmJuZlswXVswXVswXSA9PSBcIidcIikpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRCTkZDaG9pY2UocnVsZXMsIHBhcnNlcikge1xuICAgICAgICByZXR1cm4gcnVsZXMubWFwKHggPT4gZ2V0Qk5GUnVsZSh4LCBwYXJzZXIpKS5qb2luKCcgJyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldEJORkJvZHkobmFtZSwgcGFyc2VyKSB7XG4gICAgICAgIGxldCBydWxlID0gUGFyc2VyXzEuZmluZFJ1bGVCeU5hbWUobmFtZSwgcGFyc2VyKTtcbiAgICAgICAgaWYgKHJ1bGUpXG4gICAgICAgICAgICByZXR1cm4gcnVsZS5ibmYubWFwKHggPT4gZ2V0Qk5GQ2hvaWNlKHgsIHBhcnNlcikpLmpvaW4oJyB8ICcpO1xuICAgICAgICByZXR1cm4gJ1JVTEVfTk9UX0ZPVU5EIHsnICsgbmFtZSArICd9JztcbiAgICB9XG4gICAgZnVuY3Rpb24gZW1pdChwYXJzZXIpIHtcbiAgICAgICAgbGV0IGFjdW11bGF0b3IgPSBbXTtcbiAgICAgICAgcGFyc2VyLmdyYW1tYXJSdWxlcy5mb3JFYWNoKGwgPT4ge1xuICAgICAgICAgICAgaWYgKCEvXiUvLnRlc3QobC5uYW1lKSkge1xuICAgICAgICAgICAgICAgIGxldCByZWNvdmVyID0gbC5yZWNvdmVyID8gJyAvKiB7IHJlY292ZXJVbnRpbD0nICsgbC5yZWNvdmVyICsgJyB9ICovJyA6ICcnO1xuICAgICAgICAgICAgICAgIGFjdW11bGF0b3IucHVzaChsLm5hbWUgKyAnIDo6PSAnICsgZ2V0Qk5GQm9keShsLm5hbWUsIHBhcnNlcikgKyByZWNvdmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhY3VtdWxhdG9yLmpvaW4oJ1xcbicpO1xuICAgIH1cbiAgICBCTkYuZW1pdCA9IGVtaXQ7XG4gICAgbGV0IHN1Yml0ZW1zID0gMDtcbiAgICBmdW5jdGlvbiByZXN0YXIodG90YWwsIHJlc3RhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZWJlcmlhIHJlc3RhciAnICsgcmVzdGEgKyAnIGEgJyArIHRvdGFsKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaWZmZXJlbmNlIG5vdCBzdXBwb3J0ZWQgeWV0Jyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbnZlcnRSZWdleCh0eHQpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAodHh0XG4gICAgICAgICAgICAucmVwbGFjZSgvI3goW2EtekEtWjAtOV17NH0pL2csICdcXFxcdSQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8jeChbYS16QS1aMC05XXszfSkvZywgJ1xcXFx1MCQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8jeChbYS16QS1aMC05XXsyfSkvZywgJ1xcXFx4JDEnKVxuICAgICAgICAgICAgLnJlcGxhY2UoLyN4KFthLXpBLVowLTldezF9KS9nLCAnXFxcXHgwJDEnKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFN1Ykl0ZW1zKHRtcFJ1bGVzLCBzZXEsIHBhcmVudE5hbWUpIHtcbiAgICAgICAgbGV0IGFudGVyaW9yID0gbnVsbDtcbiAgICAgICAgbGV0IGJuZlNlcSA9IFtdO1xuICAgICAgICBzZXEuY2hpbGRyZW4uZm9yRWFjaCgoeCwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKHgudHlwZSA9PSAnTWludXMnKSB7XG4gICAgICAgICAgICAgICAgcmVzdGFyKGFudGVyaW9yLCB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGRlY29yYXRpb24gPSBzZXEuY2hpbGRyZW5baSArIDFdO1xuICAgICAgICAgICAgZGVjb3JhdGlvbiA9IChkZWNvcmF0aW9uICYmIGRlY29yYXRpb24udHlwZSA9PSAnUHJpbWFyeURlY29yYXRpb24nICYmIGRlY29yYXRpb24udGV4dCkgfHwgJyc7XG4gICAgICAgICAgICBsZXQgcHJlRGVjb3JhdGlvbiA9ICcnO1xuICAgICAgICAgICAgc3dpdGNoICh4LnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdTdWJJdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5hbWUgPSAnJScgKyAocGFyZW50TmFtZSArIHN1Yml0ZW1zKyspO1xuICAgICAgICAgICAgICAgICAgICBjcmVhdGVSdWxlKHRtcFJ1bGVzLCB4LCBuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gocHJlRGVjb3JhdGlvbiArIG5hbWUgKyBkZWNvcmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnTkNOYW1lJzpcbiAgICAgICAgICAgICAgICBjYXNlICdTdHJpbmdMaXRlcmFsJzpcbiAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gocHJlRGVjb3JhdGlvbiArIHgudGV4dCArIGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdDaGFyQ29kZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnQ2hhckNsYXNzJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlY29yYXRpb24gfHwgcHJlRGVjb3JhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1J1bGUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJyUnICsgKHBhcmVudE5hbWUgKyBzdWJpdGVtcysrKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibmY6IFtbY29udmVydFJlZ2V4KHgudGV4dCldXVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcFJ1bGVzLnB1c2gobmV3UnVsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChwcmVEZWNvcmF0aW9uICsgbmV3UnVsZS5uYW1lICsgZGVjb3JhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChjb252ZXJ0UmVnZXgoeC50ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnUHJpbWFyeURlY29yYXRpb24nOlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJyBIT1cgU0hPVUxEIEkgUEFSU0UgVEhJUz8gJyArIHgudHlwZSArICcgLT4gJyArIEpTT04uc3RyaW5naWZ5KHgudGV4dCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYW50ZXJpb3IgPSB4O1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGJuZlNlcTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlUnVsZSh0bXBSdWxlcywgdG9rZW4sIG5hbWUpIHtcbiAgICAgICAgbGV0IGJuZiA9IHRva2VuLmNoaWxkcmVuLmZpbHRlcih4ID0+IHgudHlwZSA9PSAnU2VxdWVuY2VPckRpZmZlcmVuY2UnKS5tYXAocyA9PiBnZXRTdWJJdGVtcyh0bXBSdWxlcywgcywgbmFtZSkpO1xuICAgICAgICBsZXQgcnVsZSA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBibmZcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IHJlY292ZXIgPSBudWxsO1xuICAgICAgICBibmYuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgIHJlY292ZXIgPSByZWNvdmVyIHx8IHhbJ3JlY292ZXInXTtcbiAgICAgICAgICAgIGRlbGV0ZSB4WydyZWNvdmVyJ107XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAobmFtZS5pbmRleE9mKCclJykgPT0gMClcbiAgICAgICAgICAgIHJ1bGUuZnJhZ21lbnQgPSB0cnVlO1xuICAgICAgICBpZiAocmVjb3ZlcilcbiAgICAgICAgICAgIHJ1bGUucmVjb3ZlciA9IHJlY292ZXI7XG4gICAgICAgIHRtcFJ1bGVzLnB1c2gocnVsZSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFJ1bGVzKHNvdXJjZSwgcGFyc2VyID0gQk5GLmRlZmF1bHRQYXJzZXIpIHtcbiAgICAgICAgbGV0IGFzdCA9IHBhcnNlci5nZXRBU1Qoc291cmNlKTtcbiAgICAgICAgaWYgKCFhc3QpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBwYXJzZSAnICsgc291cmNlKTtcbiAgICAgICAgaWYgKGFzdC5lcnJvcnMgJiYgYXN0LmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IGFzdC5lcnJvcnNbMF07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHRtcFJ1bGVzID0gW107XG4gICAgICAgIGFzdC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ1Byb2R1Y3Rpb24nKS5tYXAoKHgpID0+IHtcbiAgICAgICAgICAgIGxldCBuYW1lID0geC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ05DTmFtZScpWzBdLnRleHQ7XG4gICAgICAgICAgICBjcmVhdGVSdWxlKHRtcFJ1bGVzLCB4LCBuYW1lKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0bXBSdWxlcztcbiAgICB9XG4gICAgQk5GLmdldFJ1bGVzID0gZ2V0UnVsZXM7XG4gICAgZnVuY3Rpb24gVHJhbnNmb3JtKHNvdXJjZSwgc3ViUGFyc2VyID0gQk5GLmRlZmF1bHRQYXJzZXIpIHtcbiAgICAgICAgcmV0dXJuIGdldFJ1bGVzKHNvdXJjZS5qb2luKCcnKSwgc3ViUGFyc2VyKTtcbiAgICB9XG4gICAgQk5GLlRyYW5zZm9ybSA9IFRyYW5zZm9ybTtcbiAgICBjbGFzcyBQYXJzZXIgZXh0ZW5kcyBQYXJzZXJfMS5QYXJzZXIge1xuICAgICAgICBjb25zdHJ1Y3Rvcihzb3VyY2UsIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1YlBhcnNlciA9IG9wdGlvbnMgJiYgb3B0aW9ucy5kZWJ1Z1J1bGVzUGFyc2VyID09PSB0cnVlID8gbmV3IFBhcnNlcl8xLlBhcnNlcihCTkYuUlVMRVMsIHsgZGVidWc6IHRydWUgfSkgOiBCTkYuZGVmYXVsdFBhcnNlcjtcbiAgICAgICAgICAgIHN1cGVyKGdldFJ1bGVzKHNvdXJjZSwgc3ViUGFyc2VyKSwgb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgZW1pdFNvdXJjZSgpIHtcbiAgICAgICAgICAgIHJldHVybiBlbWl0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEJORi5QYXJzZXIgPSBQYXJzZXI7XG59KShCTkYgfHwgKEJORiA9IHt9KSk7XG5leHBvcnRzLmRlZmF1bHQgPSBCTkY7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1XM0NFQk5GLmpzLm1hcCIsIlwidXNlIHN0cmljdFwiO1xuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL1JFQy14bWwvI05ULU5hbWVcbi8vIGh0dHA6Ly93d3cuYm90dGxlY2Fwcy5kZS9yci91aVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLy8gR3JhbW1hclx0Ojo9XHRQcm9kdWN0aW9uKlxuLy8gUHJvZHVjdGlvblx0Ojo9XHROQ05hbWUgJzo6PScgQ2hvaWNlXG4vLyBOQ05hbWVcdDo6PVx0W2h0dHA6Ly93d3cudzMub3JnL1RSL3htbC1uYW1lcy8jTlQtTkNOYW1lXVxuLy8gQ2hvaWNlXHQ6Oj1cdFNlcXVlbmNlT3JEaWZmZXJlbmNlICggJ3wnIFNlcXVlbmNlT3JEaWZmZXJlbmNlICkqXG4vLyBTZXF1ZW5jZU9yRGlmZmVyZW5jZVx0Ojo9XHQoSXRlbSAoICctJyBJdGVtIHwgSXRlbSogKSk/XG4vLyBJdGVtXHQ6Oj1cdFByaW1hcnkgKCAnPycgfCAnKicgfCAnKycgKT9cbi8vIFByaW1hcnlcdDo6PVx0TkNOYW1lIHwgU3RyaW5nTGl0ZXJhbCB8IENoYXJDb2RlIHwgQ2hhckNsYXNzIHwgJygnIENob2ljZSAnKSdcbi8vIFN0cmluZ0xpdGVyYWxcdDo6PVx0J1wiJyBbXlwiXSogJ1wiJyB8IFwiJ1wiIFteJ10qIFwiJ1wiXG4vLyBDaGFyQ29kZVx0Ojo9XHQnI3gnIFswLTlhLWZBLUZdK1xuLy8gQ2hhckNsYXNzXHQ6Oj1cdCdbJyAnXic/ICggUlVMRV9DaGFyIHwgQ2hhckNvZGUgfCBDaGFyUmFuZ2UgfCBDaGFyQ29kZVJhbmdlICkrICddJ1xuLy8gUlVMRV9DaGFyXHQ6Oj1cdFtodHRwOi8vd3d3LnczLm9yZy9UUi94bWwjTlQtUlVMRV9DaGFyXVxuLy8gQ2hhclJhbmdlXHQ6Oj1cdFJVTEVfQ2hhciAnLScgKCBSVUxFX0NoYXIgLSAnXScgKVxuLy8gQ2hhckNvZGVSYW5nZVx0Ojo9XHRDaGFyQ29kZSAnLScgQ2hhckNvZGVcbi8vIFJVTEVfV0hJVEVTUEFDRVx0Ojo9XHRSVUxFX1MgfCBDb21tZW50XG4vLyBSVUxFX1NcdDo6PVx0I3g5IHwgI3hBIHwgI3hEIHwgI3gyMFxuLy8gQ29tbWVudFx0Ojo9XHQnLyonICggW14qXSB8ICcqJysgW14qL10gKSogJyonKiAnKi8nXG5jb25zdCBUb2tlbkVycm9yXzEgPSByZXF1aXJlKFwiLi4vVG9rZW5FcnJvclwiKTtcbmNvbnN0IFBhcnNlcl8xID0gcmVxdWlyZShcIi4uL1BhcnNlclwiKTtcbnZhciBCTkY7XG4oZnVuY3Rpb24gKEJORikge1xuICAgIEJORi5SVUxFUyA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0dyYW1tYXInLFxuICAgICAgICAgICAgYm5mOiBbWydSVUxFX1MqJywgJ0F0dHJpYnV0ZXM/JywgJ1JVTEVfUyonLCAnJUF0b21pYyonLCAnRU9GJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclQXRvbWljJyxcbiAgICAgICAgICAgIGJuZjogW1snUHJvZHVjdGlvbicsICdSVUxFX1MqJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1Byb2R1Y3Rpb24nLFxuICAgICAgICAgICAgYm5mOiBbXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAnTkNOYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgJ1JVTEVfUyonLFxuICAgICAgICAgICAgICAgICAgICAnXCI6Oj1cIicsXG4gICAgICAgICAgICAgICAgICAgICdSVUxFX1dISVRFU1BBQ0UqJyxcbiAgICAgICAgICAgICAgICAgICAgJyVDaG9pY2UnLFxuICAgICAgICAgICAgICAgICAgICAnUlVMRV9XSElURVNQQUNFKicsXG4gICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzPycsXG4gICAgICAgICAgICAgICAgICAgICdSVUxFX0VPTCsnLFxuICAgICAgICAgICAgICAgICAgICAnUlVMRV9TKidcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdOQ05hbWUnLFxuICAgICAgICAgICAgYm5mOiBbWy9bYS16QS1aXVthLXpBLVpfMC05XSovXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0F0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgYm5mOiBbWydcIntcIicsICdBdHRyaWJ1dGUnLCAnJUF0dHJpYnV0ZXMqJywgJ1JVTEVfUyonLCAnXCJ9XCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVBdHRyaWJ1dGVzJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9TKicsICdcIixcIicsICdBdHRyaWJ1dGUnXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQXR0cmlidXRlJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9TKicsICdOQ05hbWUnLCAnUlVMRV9XSElURVNQQUNFKicsICdcIj1cIicsICdSVUxFX1dISVRFU1BBQ0UqJywgJ0F0dHJpYnV0ZVZhbHVlJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdBdHRyaWJ1dGVWYWx1ZScsXG4gICAgICAgICAgICBibmY6IFtbJ05DTmFtZSddLCBbL1sxLTldWzAtOV0qL11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclQ2hvaWNlJyxcbiAgICAgICAgICAgIGJuZjogW1snU2VxdWVuY2VPckRpZmZlcmVuY2UnLCAnJV9DaG9pY2VfMSonXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnJV9DaG9pY2VfMScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfUyonLCAnXCJ8XCInLCAnUlVMRV9TKicsICdTZXF1ZW5jZU9yRGlmZmVyZW5jZSddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdTZXF1ZW5jZU9yRGlmZmVyZW5jZScsXG4gICAgICAgICAgICBibmY6IFtbJyVJdGVtJywgJ1JVTEVfV0hJVEVTUEFDRSonLCAnJV9JdGVtXzE/J11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclX0l0ZW1fMScsXG4gICAgICAgICAgICBibmY6IFtbJ01pbnVzJywgJyVJdGVtJ10sIFsnJUl0ZW0qJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ01pbnVzJyxcbiAgICAgICAgICAgIGJuZjogW1snXCItXCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVJdGVtJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9XSElURVNQQUNFKicsICdQcmltYXJ5UHJlRGVjb3JhdGlvbj8nLCAnJVByaW1hcnknLCAnUHJpbWFyeURlY29yYXRpb24/J11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1ByaW1hcnlEZWNvcmF0aW9uJyxcbiAgICAgICAgICAgIGJuZjogW1snXCI/XCInXSwgWydcIipcIiddLCBbJ1wiK1wiJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdQcmltYXJ5UHJlRGVjb3JhdGlvbicsXG4gICAgICAgICAgICBibmY6IFtbJ1wiJlwiJ10sIFsnXCIhXCInXSwgWydcIn5cIiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnJVByaW1hcnknLFxuICAgICAgICAgICAgYm5mOiBbWydOQ05hbWUnXSwgWydTdHJpbmdMaXRlcmFsJ10sIFsnQ2hhckNvZGUnXSwgWydDaGFyQ2xhc3MnXSwgWydTdWJJdGVtJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1N1Ykl0ZW0nLFxuICAgICAgICAgICAgYm5mOiBbWydcIihcIicsICdSVUxFX1MqJywgJyVDaG9pY2UnLCAnUlVMRV9TKicsICdcIilcIiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnU3RyaW5nTGl0ZXJhbCcsXG4gICAgICAgICAgICBibmY6IFtbYCdcIidgLCAvW15cIl0qLywgYCdcIidgXSwgW2BcIidcImAsIC9bXiddKi8sIGBcIidcImBdXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQ2hhckNvZGUnLFxuICAgICAgICAgICAgYm5mOiBbWydcIiN4XCInLCAvWzAtOWEtekEtWl0rL11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdDaGFyQ2xhc3MnLFxuICAgICAgICAgICAgYm5mOiBbW1wiJ1snXCIsIFwiJ14nP1wiLCAnJVJVTEVfQ2hhckNsYXNzXzErJywgJ1wiXVwiJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclUlVMRV9DaGFyQ2xhc3NfMScsXG4gICAgICAgICAgICBibmY6IFtbJ0NoYXJDb2RlUmFuZ2UnXSwgWydDaGFyUmFuZ2UnXSwgWydDaGFyQ29kZSddLCBbJ1JVTEVfQ2hhciddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdSVUxFX0NoYXInLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwOS9dLCBbL1xceDBBL10sIFsvXFx4MEQvXSwgWy9bXFx4MjAtXFx4NWNdL10sIFsvW1xceDVlLVxcdUQ3RkZdL10sIFsvW1xcdUUwMDAtXFx1RkZGRF0vXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoYXJSYW5nZScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfQ2hhcicsICdcIi1cIicsICdSVUxFX0NoYXInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoYXJDb2RlUmFuZ2UnLFxuICAgICAgICAgICAgYm5mOiBbWydDaGFyQ29kZScsICdcIi1cIicsICdDaGFyQ29kZSddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9XSElURVNQQUNFJyxcbiAgICAgICAgICAgIGJuZjogW1snJVJVTEVfV0hJVEVTUEFDRV9DSEFSKiddLCBbJ0NvbW1lbnQnLCAnUlVMRV9XSElURVNQQUNFKiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9TJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9XSElURVNQQUNFJywgJ1JVTEVfUyonXSwgWydSVUxFX0VPTCcsICdSVUxFX1MqJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclUlVMRV9XSElURVNQQUNFX0NIQVInLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwOS9dLCBbL1xceDIwL11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgYm5mOiBbWydcIi8qXCInLCAnJVJVTEVfQ29tbWVudF9Cb2R5KicsICdcIiovXCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVSVUxFX0NvbW1lbnRfQm9keScsXG4gICAgICAgICAgICBibmY6IFtbL1teKl0vXSwgWydcIipcIisnLCAvW14vXSovXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9FT0wnLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwRC8sIC9cXHgwQS9dLCBbL1xceDBBL10sIFsvXFx4MEQvXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0xpbmsnLFxuICAgICAgICAgICAgYm5mOiBbW1wiJ1snXCIsICdVcmwnLCBcIiddJ1wiXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1VybCcsXG4gICAgICAgICAgICBibmY6IFtbL1teXFx4NUQ6Lz8jXS8sICdcIjovL1wiJywgL1teXFx4NUQjXSsvLCAnJVVybDE/J11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclVXJsMScsXG4gICAgICAgICAgICBibmY6IFtbJ1wiI1wiJywgJ05DTmFtZSddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH1cbiAgICBdO1xuICAgIEJORi5kZWZhdWx0UGFyc2VyID0gbmV3IFBhcnNlcl8xLlBhcnNlcihCTkYuUlVMRVMsIHsgZGVidWc6IGZhbHNlIH0pO1xuICAgIGNvbnN0IHByZURlY29yYXRpb25SRSA9IC9eKCF8JikvO1xuICAgIGNvbnN0IGRlY29yYXRpb25SRSA9IC8oXFw/fFxcK3xcXCopJC87XG4gICAgY29uc3Qgc3ViRXhwcmVzc2lvblJFID0gL14lLztcbiAgICBmdW5jdGlvbiBnZXRCTkZSdWxlKG5hbWUsIHBhcnNlcikge1xuICAgICAgICBpZiAodHlwZW9mIG5hbWUgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGxldCBkZWNvcmF0aW9uID0gZGVjb3JhdGlvblJFLmV4ZWMobmFtZSk7XG4gICAgICAgICAgICBsZXQgcHJlRGVjb3JhdGlvbiA9IHByZURlY29yYXRpb25SRS5leGVjKG5hbWUpO1xuICAgICAgICAgICAgbGV0IHByZURlY29yYXRpb25UZXh0ID0gcHJlRGVjb3JhdGlvbiA/IHByZURlY29yYXRpb25bMF0gOiAnJztcbiAgICAgICAgICAgIGxldCBkZWNvcmF0aW9uVGV4dCA9IGRlY29yYXRpb24gPyBkZWNvcmF0aW9uWzBdICsgJyAnIDogJyc7XG4gICAgICAgICAgICBsZXQgc3ViZXhwcmVzc2lvbiA9IHN1YkV4cHJlc3Npb25SRS50ZXN0KG5hbWUpO1xuICAgICAgICAgICAgaWYgKHN1YmV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgICAgICBsZXQgbG9uZWx5ID0gaXNMb25lbHlSdWxlKG5hbWUsIHBhcnNlcik7XG4gICAgICAgICAgICAgICAgaWYgKGxvbmVseSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZURlY29yYXRpb25UZXh0ICsgZ2V0Qk5GQm9keShuYW1lLCBwYXJzZXIpICsgZGVjb3JhdGlvblRleHQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZURlY29yYXRpb25UZXh0ICsgJygnICsgZ2V0Qk5GQm9keShuYW1lLCBwYXJzZXIpICsgJyknICsgZGVjb3JhdGlvblRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmFtZS5yZXBsYWNlKHByZURlY29yYXRpb25SRSwgcHJlRGVjb3JhdGlvblRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5hbWUuc291cmNlXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcXFwoPzp4fHUpKFthLXpBLVowLTldKykvZywgJyN4JDEnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFtcXFxcKD86eHx1KShbYS16QS1aMC05XSspLVxcXFwoPzp4fHUpKFthLXpBLVowLTldKylcXF0vZywgJ1sjeCQxLSN4JDJdJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcnVsZSBpcyBhIHN0cmluZyBsaXRlcmFsIG9yIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRob3V0IGEgZGVzY2VuZGFudCB0cmVlXG4gICAgZnVuY3Rpb24gaXNMb25lbHlSdWxlKG5hbWUsIHBhcnNlcikge1xuICAgICAgICBsZXQgcnVsZSA9IFBhcnNlcl8xLmZpbmRSdWxlQnlOYW1lKG5hbWUsIHBhcnNlcik7XG4gICAgICAgIHJldHVybiAocnVsZSAmJlxuICAgICAgICAgICAgcnVsZS5ibmYubGVuZ3RoID09IDEgJiZcbiAgICAgICAgICAgIHJ1bGUuYm5mWzBdLmxlbmd0aCA9PSAxICYmXG4gICAgICAgICAgICAocnVsZS5ibmZbMF1bMF0gaW5zdGFuY2VvZiBSZWdFeHAgfHwgcnVsZS5ibmZbMF1bMF1bMF0gPT0gJ1wiJyB8fCBydWxlLmJuZlswXVswXVswXSA9PSBcIidcIikpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRCTkZDaG9pY2UocnVsZXMsIHBhcnNlcikge1xuICAgICAgICByZXR1cm4gcnVsZXMubWFwKHggPT4gZ2V0Qk5GUnVsZSh4LCBwYXJzZXIpKS5qb2luKCcgJyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldEJORkJvZHkobmFtZSwgcGFyc2VyKSB7XG4gICAgICAgIGxldCBydWxlID0gUGFyc2VyXzEuZmluZFJ1bGVCeU5hbWUobmFtZSwgcGFyc2VyKTtcbiAgICAgICAgaWYgKHJ1bGUpXG4gICAgICAgICAgICByZXR1cm4gcnVsZS5ibmYubWFwKHggPT4gZ2V0Qk5GQ2hvaWNlKHgsIHBhcnNlcikpLmpvaW4oJyB8ICcpO1xuICAgICAgICByZXR1cm4gJ1JVTEVfTk9UX0ZPVU5EIHsnICsgbmFtZSArICd9JztcbiAgICB9XG4gICAgZnVuY3Rpb24gZW1pdChwYXJzZXIpIHtcbiAgICAgICAgbGV0IGFjdW11bGF0b3IgPSBbXTtcbiAgICAgICAgcGFyc2VyLmdyYW1tYXJSdWxlcy5mb3JFYWNoKGwgPT4ge1xuICAgICAgICAgICAgaWYgKCEvXiUvLnRlc3QobC5uYW1lKSkge1xuICAgICAgICAgICAgICAgIGxldCByZWNvdmVyID0gbC5yZWNvdmVyID8gJyB7IHJlY292ZXJVbnRpbD0nICsgbC5yZWNvdmVyICsgJyB9JyA6ICcnO1xuICAgICAgICAgICAgICAgIGFjdW11bGF0b3IucHVzaChsLm5hbWUgKyAnIDo6PSAnICsgZ2V0Qk5GQm9keShsLm5hbWUsIHBhcnNlcikgKyByZWNvdmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhY3VtdWxhdG9yLmpvaW4oJ1xcbicpO1xuICAgIH1cbiAgICBCTkYuZW1pdCA9IGVtaXQ7XG4gICAgbGV0IHN1Yml0ZW1zID0gMDtcbiAgICBmdW5jdGlvbiByZXN0YXIodG90YWwsIHJlc3RhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZWJlcmlhIHJlc3RhciAnICsgcmVzdGEgKyAnIGEgJyArIHRvdGFsKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaWZmZXJlbmNlIG5vdCBzdXBwb3J0ZWQgeWV0Jyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbnZlcnRSZWdleCh0eHQpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAodHh0XG4gICAgICAgICAgICAucmVwbGFjZSgvI3goW2EtekEtWjAtOV17NH0pL2csICdcXFxcdSQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8jeChbYS16QS1aMC05XXszfSkvZywgJ1xcXFx1MCQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8jeChbYS16QS1aMC05XXsyfSkvZywgJ1xcXFx4JDEnKVxuICAgICAgICAgICAgLnJlcGxhY2UoLyN4KFthLXpBLVowLTldezF9KS9nLCAnXFxcXHgwJDEnKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFN1Ykl0ZW1zKHRtcFJ1bGVzLCBzZXEsIHBhcmVudE5hbWUsIHBhcmVudEF0dHJpYnV0ZXMpIHtcbiAgICAgICAgbGV0IGFudGVyaW9yID0gbnVsbDtcbiAgICAgICAgbGV0IGJuZlNlcSA9IFtdO1xuICAgICAgICBzZXEuY2hpbGRyZW4uZm9yRWFjaCgoeCwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKHgudHlwZSA9PSAnTWludXMnKSB7XG4gICAgICAgICAgICAgICAgcmVzdGFyKGFudGVyaW9yLCB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGRlY29yYXRpb24gPSBzZXEuY2hpbGRyZW5baSArIDFdO1xuICAgICAgICAgICAgZGVjb3JhdGlvbiA9IChkZWNvcmF0aW9uICYmIGRlY29yYXRpb24udHlwZSA9PSAnUHJpbWFyeURlY29yYXRpb24nICYmIGRlY29yYXRpb24udGV4dCkgfHwgJyc7XG4gICAgICAgICAgICBsZXQgcHJlRGVjb3JhdGlvbiA9ICcnO1xuICAgICAgICAgICAgaWYgKGFudGVyaW9yICYmIGFudGVyaW9yLnR5cGUgPT0gJ1ByaW1hcnlQcmVEZWNvcmF0aW9uJykge1xuICAgICAgICAgICAgICAgIHByZURlY29yYXRpb24gPSBhbnRlcmlvci50ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IHBpbm5lZCA9IHByZURlY29yYXRpb24gPT0gJ34nID8gMSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChwaW5uZWQpIHtcbiAgICAgICAgICAgICAgICBwcmVEZWNvcmF0aW9uID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKHgudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ1N1Ykl0ZW0nOlxuICAgICAgICAgICAgICAgICAgICBsZXQgbmFtZSA9ICclJyArIChwYXJlbnROYW1lICsgc3ViaXRlbXMrKyk7XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZVJ1bGUodG1wUnVsZXMsIHgsIG5hbWUsIHBhcmVudEF0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChwcmVEZWNvcmF0aW9uICsgbmFtZSArIGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdOQ05hbWUnOlxuICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChwcmVEZWNvcmF0aW9uICsgeC50ZXh0ICsgZGVjb3JhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1N0cmluZ0xpdGVyYWwnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVjb3JhdGlvbiB8fCBwcmVEZWNvcmF0aW9uIHx8ICEvXlsnXCIvKClhLXpBLVowLTkmXy46PSwrKlxcLVxcXlxcXFxdKyQvLnRlc3QoeC50ZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gocHJlRGVjb3JhdGlvbiArIHgudGV4dCArIGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBjIG9mIHgudGV4dC5zbGljZSgxLCAtMSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50QXR0cmlidXRlcyAmJiBwYXJlbnRBdHRyaWJ1dGVzW1wiaWdub3JlQ2FzZVwiXSA9PSBcInRydWVcIiAmJiAvW2EtekEtWl0vLnRlc3QoYykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gobmV3IFJlZ0V4cChcIltcIiArIGMudG9VcHBlckNhc2UoKSArIGMudG9Mb3dlckNhc2UoKSArIFwiXVwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChuZXcgUmVnRXhwKFBhcnNlcl8xLmVzY2FwZVJlZ0V4cChjKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdDaGFyQ29kZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnQ2hhckNsYXNzJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlY29yYXRpb24gfHwgcHJlRGVjb3JhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1J1bGUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJyUnICsgKHBhcmVudE5hbWUgKyBzdWJpdGVtcysrKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibmY6IFtbY29udmVydFJlZ2V4KHgudGV4dCldXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0bXBSdWxlcy5wdXNoKG5ld1J1bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gocHJlRGVjb3JhdGlvbiArIG5ld1J1bGUubmFtZSArIGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2goY29udmVydFJlZ2V4KHgudGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1ByaW1hcnlQcmVEZWNvcmF0aW9uJzpcbiAgICAgICAgICAgICAgICBjYXNlICdQcmltYXJ5RGVjb3JhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignIEhPVyBTSE9VTEQgSSBQQVJTRSBUSElTPyAnICsgeC50eXBlICsgJyAtPiAnICsgSlNPTi5zdHJpbmdpZnkoeC50ZXh0KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhbnRlcmlvciA9IHg7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYm5mU2VxO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVSdWxlKHRtcFJ1bGVzLCB0b2tlbiwgbmFtZSwgcGFyZW50QXR0cmlidXRlcyA9IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgYXR0ck5vZGUgPSB0b2tlbi5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ0F0dHJpYnV0ZXMnKVswXTtcbiAgICAgICAgbGV0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgaWYgKGF0dHJOb2RlKSB7XG4gICAgICAgICAgICBhdHRyTm9kZS5jaGlsZHJlbi5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgICAgIGxldCBuYW1lID0geC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ05DTmFtZScpWzBdLnRleHQ7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWUgaW4gYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVG9rZW5FcnJvcl8xLlRva2VuRXJyb3IoJ0R1cGxpY2F0ZWQgYXR0cmlidXRlICcgKyBuYW1lLCB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbbmFtZV0gPSB4LmNoaWxkcmVuLmZpbHRlcih4ID0+IHgudHlwZSA9PSAnQXR0cmlidXRlVmFsdWUnKVswXS50ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGxldCBibmYgPSB0b2tlbi5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ1NlcXVlbmNlT3JEaWZmZXJlbmNlJykubWFwKHMgPT4gZ2V0U3ViSXRlbXModG1wUnVsZXMsIHMsIG5hbWUsIHBhcmVudEF0dHJpYnV0ZXMgPyBwYXJlbnRBdHRyaWJ1dGVzIDogYXR0cmlidXRlcykpO1xuICAgICAgICBsZXQgcnVsZSA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBibmZcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKG5hbWUuaW5kZXhPZignJScpID09IDApXG4gICAgICAgICAgICBydWxlLmZyYWdtZW50ID0gdHJ1ZTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZXNbJ3JlY292ZXJVbnRpbCddKSB7XG4gICAgICAgICAgICBydWxlLnJlY292ZXIgPSBhdHRyaWJ1dGVzWydyZWNvdmVyVW50aWwnXTtcbiAgICAgICAgICAgIGlmIChydWxlLmJuZi5sZW5ndGggPiAxKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUb2tlbkVycm9yXzEuVG9rZW5FcnJvcignb25seSBvbmUtb3B0aW9uIHByb2R1Y3Rpb25zIGFyZSBzdWl0YWJsZSBmb3IgZXJyb3IgcmVjb3ZlcmluZycsIHRva2VuKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ3BpbicgaW4gYXR0cmlidXRlcykge1xuICAgICAgICAgICAgbGV0IG51bSA9IHBhcnNlSW50KGF0dHJpYnV0ZXNbJ3BpbiddKTtcbiAgICAgICAgICAgIGlmICghaXNOYU4obnVtKSkge1xuICAgICAgICAgICAgICAgIHJ1bGUucGlubmVkID0gbnVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bGUuYm5mLmxlbmd0aCA+IDEpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yKCdvbmx5IG9uZS1vcHRpb24gcHJvZHVjdGlvbnMgYXJlIHN1aXRhYmxlIGZvciBwaW5uaW5nJywgdG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIGlmICgnd3MnIGluIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIHJ1bGUuaW1wbGljaXRXcyA9IGF0dHJpYnV0ZXNbJ3dzJ10gIT0gJ2V4cGxpY2l0JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJ1bGUuaW1wbGljaXRXcyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcnVsZS5mcmFnbWVudCA9IHJ1bGUuZnJhZ21lbnQgfHwgYXR0cmlidXRlc1snZnJhZ21lbnQnXSA9PSAndHJ1ZSc7XG4gICAgICAgIHJ1bGUuc2ltcGxpZnlXaGVuT25lQ2hpbGRyZW4gPSBhdHRyaWJ1dGVzWydzaW1wbGlmeVdoZW5PbmVDaGlsZHJlbiddID09ICd0cnVlJztcbiAgICAgICAgdG1wUnVsZXMucHVzaChydWxlKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0UnVsZXMoc291cmNlLCBwYXJzZXIgPSBCTkYuZGVmYXVsdFBhcnNlcikge1xuICAgICAgICBsZXQgYXN0ID0gcGFyc2VyLmdldEFTVChzb3VyY2UpO1xuICAgICAgICBpZiAoIWFzdClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHBhcnNlICcgKyBzb3VyY2UpO1xuICAgICAgICBpZiAoYXN0LmVycm9ycyAmJiBhc3QuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgYXN0LmVycm9yc1swXTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW1wbGljaXRXcyA9IG51bGw7XG4gICAgICAgIGxldCBhdHRyTm9kZSA9IGFzdC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ0F0dHJpYnV0ZXMnKVswXTtcbiAgICAgICAgbGV0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgaWYgKGF0dHJOb2RlKSB7XG4gICAgICAgICAgICBhdHRyTm9kZS5jaGlsZHJlbi5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgICAgIGxldCBuYW1lID0geC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ05DTmFtZScpWzBdLnRleHQ7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWUgaW4gYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVG9rZW5FcnJvcl8xLlRva2VuRXJyb3IoJ0R1cGxpY2F0ZWQgYXR0cmlidXRlICcgKyBuYW1lLCB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbbmFtZV0gPSB4LmNoaWxkcmVuLmZpbHRlcih4ID0+IHgudHlwZSA9PSAnQXR0cmlidXRlVmFsdWUnKVswXS50ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGltcGxpY2l0V3MgPSBhdHRyaWJ1dGVzWyd3cyddID09ICdpbXBsaWNpdCc7XG4gICAgICAgIGxldCB0bXBSdWxlcyA9IFtdO1xuICAgICAgICBhc3QuY2hpbGRyZW4uZmlsdGVyKHggPT4geC50eXBlID09ICdQcm9kdWN0aW9uJykubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICBsZXQgbmFtZSA9IHguY2hpbGRyZW4uZmlsdGVyKHggPT4geC50eXBlID09ICdOQ05hbWUnKVswXS50ZXh0O1xuICAgICAgICAgICAgY3JlYXRlUnVsZSh0bXBSdWxlcywgeCwgbmFtZSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0bXBSdWxlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICAgICAgaWYgKHJ1bGUuaW1wbGljaXRXcyA9PT0gbnVsbClcbiAgICAgICAgICAgICAgICBydWxlLmltcGxpY2l0V3MgPSBpbXBsaWNpdFdzO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRtcFJ1bGVzO1xuICAgIH1cbiAgICBCTkYuZ2V0UnVsZXMgPSBnZXRSdWxlcztcbiAgICBmdW5jdGlvbiBUcmFuc2Zvcm0oc291cmNlLCBzdWJQYXJzZXIgPSBCTkYuZGVmYXVsdFBhcnNlcikge1xuICAgICAgICByZXR1cm4gZ2V0UnVsZXMoc291cmNlLmpvaW4oJycpLCBzdWJQYXJzZXIpO1xuICAgIH1cbiAgICBCTkYuVHJhbnNmb3JtID0gVHJhbnNmb3JtO1xuICAgIGNsYXNzIFBhcnNlciBleHRlbmRzIFBhcnNlcl8xLlBhcnNlciB7XG4gICAgICAgIGNvbnN0cnVjdG9yKHNvdXJjZSwgb3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3Qgc3ViUGFyc2VyID0gb3B0aW9ucyAmJiBvcHRpb25zLmRlYnVnUnVsZXNQYXJzZXIgPT09IHRydWUgPyBuZXcgUGFyc2VyXzEuUGFyc2VyKEJORi5SVUxFUywgeyBkZWJ1ZzogdHJ1ZSB9KSA6IEJORi5kZWZhdWx0UGFyc2VyO1xuICAgICAgICAgICAgc3VwZXIoZ2V0UnVsZXMoc291cmNlLCBzdWJQYXJzZXIpLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBlbWl0U291cmNlKCkge1xuICAgICAgICAgICAgcmV0dXJuIGVtaXQodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQk5GLlBhcnNlciA9IFBhcnNlcjtcbn0pKEJORiB8fCAoQk5GID0ge30pKTtcbmV4cG9ydHMuZGVmYXVsdCA9IEJORjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUN1c3RvbS5qcy5tYXAiLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBCTkZfMSA9IHJlcXVpcmUoXCIuL0JORlwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkJORlwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gQk5GXzEuZGVmYXVsdDsgfSB9KTtcbnZhciBXM0NFQk5GXzEgPSByZXF1aXJlKFwiLi9XM0NFQk5GXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVzNDXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBXM0NFQk5GXzEuZGVmYXVsdDsgfSB9KTtcbnZhciBDdXN0b21fMSA9IHJlcXVpcmUoXCIuL0N1c3RvbVwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkN1c3RvbVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gQ3VzdG9tXzEuZGVmYXVsdDsgfSB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIFBhcnNlcl8xID0gcmVxdWlyZShcIi4vUGFyc2VyXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUGFyc2VyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBQYXJzZXJfMS5QYXJzZXI7IH0gfSk7XG52YXIgVG9rZW5FcnJvcl8xID0gcmVxdWlyZShcIi4vVG9rZW5FcnJvclwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRva2VuRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yOyB9IH0pO1xuZXhwb3J0cy5HcmFtbWFycyA9IHJlcXVpcmUoXCIuL0dyYW1tYXJzXCIpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnBhcnNlRm9ybXVsYSA9IGV4cG9ydHMucGFyc2VBbmRBcHBseSA9IGV4cG9ydHMuU291cmNlID0gZXhwb3J0cy5Gb3JtdWxhID0gdm9pZCAwO1xuY29uc3QgbmV2ZXJ0aHJvd18xID0gcmVxdWlyZShcIi4uL25ldmVydGhyb3cvbmV2ZXJ0aHJvd1wiKTtcbmNvbnN0IGFsZ2VicmFpY19vcGVyYXRpb25fMSA9IHJlcXVpcmUoXCIuL2FsZ2VicmFpY19vcGVyYXRpb25cIik7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNvbnN0IGNvbmRpdGlvbmFsX2Z1bmN0aW9uXzEgPSByZXF1aXJlKFwiLi9jb25kaXRpb25hbF9mdW5jdGlvblwiKTtcbmNvbnN0IGNvbnN0YW50XzEgPSByZXF1aXJlKFwiLi9jb25zdGFudFwiKTtcbmNvbnN0IGRlc3RpbmF0aW9uXzEgPSByZXF1aXJlKFwiLi9kZXN0aW5hdGlvblwiKTtcbmNvbnN0IGRpc3BsYXlfZGlyZWN0aXZlXzEgPSByZXF1aXJlKFwiLi9kaXNwbGF5X2RpcmVjdGl2ZVwiKTtcbmNvbnN0IHJhbmdlXzEgPSByZXF1aXJlKFwiLi9yYW5nZVwiKTtcbmNvbnN0IHJlZmVyZW5jZV8xID0gcmVxdWlyZShcIi4vcmVmZXJlbmNlXCIpO1xuY29uc3Qgc2luZ2xlX3BhcmFtX2Z1bmN0aW9uXzEgPSByZXF1aXJlKFwiLi9zaW5nbGVfcGFyYW1fZnVuY3Rpb25cIik7XG5jb25zdCBlYm5mXzEgPSByZXF1aXJlKFwiZWJuZlwiKTtcbmNvbnN0IGxvZGFzaF8xID0gcmVxdWlyZShcImxvZGFzaFwiKTtcbi8qKlxuICogVzNDIGdyYW1tYXIgZGVzY3JpYmluZyBhIHZhbGlkIGZvcm11bGEgYXQgdGhlIGJvdHRvbSBvZiBhIHRhYmxlLlxuICpcbiAqIFRoZSBsaWJyYXJ5IGJlaW5nIHVzZWQgdG8gcGFyc2UgdGhlIGZvcm11bGEgZG9lcyBub3Qgc3Vwb3J0IEVCTkYsIG9ubHkgQk5GLFxuICogc28gVzNDIHN5bnRheCB3YXMgdXNlZCBpbiBvcmRlciB0byBnZXQgYWNjZXNzIHRvIGV4dGVuZGVkIGZlYXR1cmVzLlxuICpcbiAqIFRoZSBwYXJzZXIgZ2VuZXJhdGVzIGEgUEVHIHBhcnNlciwgd2hpYyBpcyBub3QgYWJsZSB0byBoYW5kbGUgYW1iaWd1aXR5LiBUaGVcbiAqIG9yZGVyIG9mIGNvbnN0cnVjdGlvbnMgaXMgc2lnbmlmaWNhbnQuXG4gKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2x5cy1sYW5nL25vZGUtZWJuZi9pc3N1ZXMvMzRcbiAqL1xuY29uc3QgcGFyc2VyR3JhbW1hciA9IGBcbnRibGZtX2xpbmUgICA6Oj0gXCI8IS0tIFRCTEZNOiBcIiBmb3JtdWxhX2xpc3QgXCIgLS0+XCJcbmZvcm11bGFfbGlzdCA6Oj0gZm9ybXVsYSAoIFwiOjpcIiBmb3JtdWxhX2xpc3QgKT9cbmZvcm11bGEgICAgICA6Oj0gZGVzdGluYXRpb24gXCI9XCIgc291cmNlIGRpc3BsYXlfZGlyZWN0aXZlP1xuXG5zb3VyY2UgICAgICAgICAgIDo6PSByYW5nZSB8IHNvdXJjZV9yZWZlcmVuY2UgfCBzaW5nbGVfcGFyYW1fZnVuY3Rpb25fY2FsbCB8IGNvbmRpdGlvbmFsX2Z1bmN0aW9uX2NhbGwgfCBhbGdlYnJhaWNfb3BlcmF0aW9uIHwgZmxvYXQgfCByZWFsXG5yYW5nZSAgICAgICAgICAgIDo6PSBzb3VyY2VfcmVmZXJlbmNlIFwiLi5cIiBzb3VyY2VfcmVmZXJlbmNlXG5zb3VyY2VfcmVmZXJlbmNlIDo6PSBhYnNvbHV0ZV9yZWZlcmVuY2UgfCByZWxhdGl2ZV9yZWZlcmVuY2VcbmRlc3RpbmF0aW9uICAgICAgOjo9IHJhbmdlIHwgYWJzb2x1dGVfcmVmZXJlbmNlXG5cbnJlbGF0aXZlX3JlZmVyZW5jZSA6Oj0gKHJlbGF0aXZlX3JvdyB8IGFic29sdXRlX3JvdykgKHJlbGF0aXZlX2NvbHVtbiB8IGFic29sdXRlX2NvbHVtbikgfCByZWxhdGl2ZV9yb3cgfCByZWxhdGl2ZV9jb2x1bW5cbnJlbGF0aXZlX3JvdyA6Oj0gXCJAXCIgKCBcIi1cIiB8IFwiK1wiICkgaW50XG5yZWxhdGl2ZV9jb2x1bW4gOjo9IFwiJFwiICggXCItXCIgfCBcIitcIiApIGludFxuXG5hYnNvbHV0ZV9yZWZlcmVuY2UgOjo9IGFic29sdXRlX3JvdyBhYnNvbHV0ZV9jb2x1bW4gfCBhYnNvbHV0ZV9yb3cgfCBhYnNvbHV0ZV9jb2x1bW5cbmFic29sdXRlX3JvdyA6Oj0gXCJAXCIgKCBcIklcIiB8IFwiPFwiIHwgXCI+XCIgfCBpbnQgKVxuYWJzb2x1dGVfY29sdW1uIDo6PSBcIiRcIiAoIFwiPFwiIHwgXCI+XCIgfCBpbnQgKVxuXG5zaW5nbGVfcGFyYW1fZnVuY3Rpb25fY2FsbCA6Oj0gc2luZ2xlX3BhcmFtX2Z1bmN0aW9uIFwiKFwiIHNvdXJjZSBcIilcIiBcbnNpbmdsZV9wYXJhbV9mdW5jdGlvbiAgICAgIDo6PSBcIm1lYW5cIiB8IFwic3VtXCJcblxuY29uZGl0aW9uYWxfZnVuY3Rpb25fY2FsbCA6Oj0gXCJpZihcIiBwcmVkaWNhdGUgXCIsXCIgXCIgXCI/IHNvdXJjZSBcIixcIiBcIiBcIj8gc291cmNlIFwiKVwiXG5wcmVkaWNhdGUgICAgICAgICAgICAgICAgIDo6PSBzb3VyY2Vfd2l0aG91dF9yYW5nZSBjb25kaXRpb25hbF9vcGVyYXRvciBzb3VyY2Vfd2l0aG91dF9yYW5nZVxuc291cmNlX3dpdGhvdXRfcmFuZ2UgICAgICA6Oj0gc291cmNlX3JlZmVyZW5jZSB8IHNpbmdsZV9wYXJhbV9mdW5jdGlvbl9jYWxsIHwgY29uZGl0aW9uYWxfZnVuY3Rpb25fY2FsbCB8IGFsZ2VicmFpY19vcGVyYXRpb24gfCBmbG9hdCB8IHJlYWxcbmNvbmRpdGlvbmFsX29wZXJhdG9yICAgICAgOjo9IFwiPlwiIHwgXCI8XCIgfCBcIj49XCIgfCBcIjw9XCIgfCBcIj09XCIgfCBcIiE9XCJcblxuYWxnZWJyYWljX29wZXJhdGlvbiA6Oj0gXCIoXCIgc291cmNlIFwiIFwiPyBhbGdlYnJhaWNfb3BlcmF0b3IgXCIgXCI/IHNvdXJjZSBcIilcIlxuYWxnZWJyYWljX29wZXJhdG9yICA6Oj0gXCIrXCIgfCBcIi1cIiB8IFwiKlwiIHwgXCIvXCJcblxuZGlzcGxheV9kaXJlY3RpdmUgICAgICAgIDo6PSBcIjtcIiBkaXNwbGF5X2RpcmVjdGl2ZV9vcHRpb25cbmRpc3BsYXlfZGlyZWN0aXZlX29wdGlvbiA6Oj0gZm9ybWF0dGluZ19kaXJlY3RpdmVcbmZvcm1hdHRpbmdfZGlyZWN0aXZlICAgICA6Oj0gXCIlLlwiIGludCBcImZcIlxuXG5mbG9hdCA6Oj0gXCItXCI/IGludCBcIi5cIiBpbnRcbnJlYWwgOjo9IFwiLVwiPyBpbnRcbmludCAgOjo9IFswLTldK1xuYDtcbmNsYXNzIEZvcm11bGEge1xuICAgIGNvbnN0cnVjdG9yKGFzdCwgdGFibGUpIHtcbiAgICAgICAgdGhpcy5tZXJnZSA9ICh0YWJsZSkgPT4gdGhpcy5kZXN0aW5hdGlvbi5tZXJnZSh0aGlzLnNvdXJjZSwgdGFibGUpO1xuICAgICAgICBsZXQgZm9ybWF0dGVyID0gbmV3IGRpc3BsYXlfZGlyZWN0aXZlXzEuRGVmYXVsdEZvcm1hdHRlcigpO1xuICAgICAgICBpZiAoYXN0LmNoaWxkcmVuLmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgZm9ybWF0dGVyID0gbmV3IGRpc3BsYXlfZGlyZWN0aXZlXzEuRGlzcGxheURpcmVjdGl2ZShhc3QuY2hpbGRyZW5bMl0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gZGVzdGluYXRpb25fMS5uZXdEZXN0aW5hdGlvbihhc3QuY2hpbGRyZW5bMF0sIHRhYmxlLCBmb3JtYXR0ZXIpO1xuICAgICAgICBpZiAoZGVzdGluYXRpb24uaXNFcnIoKSkge1xuICAgICAgICAgICAgdGhyb3cgZGVzdGluYXRpb24uZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uLnZhbHVlO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IG5ldyBTb3VyY2UoYXN0LmNoaWxkcmVuWzFdLCB0YWJsZSk7XG4gICAgfVxufVxuZXhwb3J0cy5Gb3JtdWxhID0gRm9ybXVsYTtcbmNsYXNzIFNvdXJjZSB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSkge1xuICAgICAgICAvKipcbiAgICAgICAgICogZ2V0VmFsdWUgcmV0dXJucyB0aGUgZXZhbHVhdGVkIHZhbHVlIGZvciB0aGlzIHNvdXJjZSByZWN1cnNpdmVseS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZ2V0VmFsdWUgPSAodGFibGUsIGN1cnJlbnRDZWxsKSA9PiB0aGlzLmxvY2F0aW9uRGVzY3JpcHRvci5nZXRWYWx1ZSh0YWJsZSwgY3VycmVudENlbGwpO1xuICAgICAgICBpZiAoYXN0LnR5cGUgIT09ICdzb3VyY2UnICYmIGFzdC50eXBlICE9PSAnc291cmNlX3dpdGhvdXRfcmFuZ2UnKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignSW52YWxpZCBBU1QgdG9rZW4gdHlwZSBvZiAnICsgYXN0LnR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhc3QuY2hpbGRyZW4ubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVW5leHBlY3RlZCBjaGlsZHJlbiBsZW5ndGggaW4gU291cmNlJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyYW1DaGlsZCA9IGFzdC5jaGlsZHJlblswXTtcbiAgICAgICAgY29uc3QgdnAgPSBuZXdWYWx1ZVByb3ZpZGVyKHBhcmFtQ2hpbGQsIHRhYmxlKTtcbiAgICAgICAgaWYgKHZwLmlzRXJyKCkpIHtcbiAgICAgICAgICAgIHRocm93IHZwLmVycm9yO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9jYXRpb25EZXNjcmlwdG9yID0gdnAudmFsdWU7XG4gICAgfVxufVxuZXhwb3J0cy5Tb3VyY2UgPSBTb3VyY2U7XG5jb25zdCBuZXdWYWx1ZVByb3ZpZGVyID0gKGFzdCwgdGFibGUpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBzd2l0Y2ggKGFzdC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdyYW5nZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgcmFuZ2VfMS5SYW5nZShhc3QsIHRhYmxlKSk7XG4gICAgICAgICAgICBjYXNlICdzb3VyY2VfcmVmZXJlbmNlJzpcbiAgICAgICAgICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICAgICAgICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobGVuZ3RoRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyByZWZlcmVuY2VfMS5SZWZlcmVuY2UoYXN0LmNoaWxkcmVuWzBdLCB0YWJsZSkpO1xuICAgICAgICAgICAgY2FzZSAnc2luZ2xlX3BhcmFtX2Z1bmN0aW9uX2NhbGwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IHNpbmdsZV9wYXJhbV9mdW5jdGlvbl8xLlNpbmdsZVBhcmFtRnVuY3Rpb25DYWxsKGFzdCwgdGFibGUpKTtcbiAgICAgICAgICAgIGNhc2UgJ2NvbmRpdGlvbmFsX2Z1bmN0aW9uX2NhbGwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IGNvbmRpdGlvbmFsX2Z1bmN0aW9uXzEuQ29uZGl0aW9uYWxGdW5jdGlvbkNhbGwoYXN0LCB0YWJsZSkpO1xuICAgICAgICAgICAgY2FzZSAnYWxnZWJyYWljX29wZXJhdGlvbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgYWxnZWJyYWljX29wZXJhdGlvbl8xLkFsZ2VicmFpY09wZXJhdGlvbihhc3QsIHRhYmxlKSk7XG4gICAgICAgICAgICBjYXNlICdyZWFsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyBjb25zdGFudF8xLkNvbnN0YW50KGFzdCwgdGFibGUpKTtcbiAgICAgICAgICAgIGNhc2UgJ2Zsb2F0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyBjb25zdGFudF8xLkNvbnN0YW50KGFzdCwgdGFibGUpKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1VucmVjb2duaXplZCB2YWx1ZVByb3ZpZGVyIHR5cGUgJyArIGFzdC50eXBlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoZXJyb3IpO1xuICAgIH1cbn07XG5jb25zdCBwYXJzZUFuZEFwcGx5ID0gKGZvcm11bGFMaW5lcywgdGFibGUpID0+IHtcbiAgICAvLyBQYXJzZSBlYWNoIGZvcm11bGEgbGluZSwgZmxhdHRlbmluZyB0aGUgcmVzdWx0aW5nIGxpc3RzIG9mIGZvcm11bGFzIGludG8gYVxuICAgIC8vIHNpbmdsZSBsaXN0LCBidXQgcmV0dXJuaW5nIGFuIGVycm9yIGlmIGFueSBmb3JtdWxhIGZhaWxzIHRvIHBhcnNlLlxuICAgIGNvbnN0IGZvcm11bGFzID0gZm9ybXVsYUxpbmVzLnJlZHVjZSgocHJldiwgZm9ybXVsYUxpbmUpID0+IHByZXYuYW5kVGhlbigoY3VycmVudEZvcm11bGFzKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0Zvcm11bGFzID0gZXhwb3J0cy5wYXJzZUZvcm11bGEoZm9ybXVsYUxpbmUsIHRhYmxlKTtcbiAgICAgICAgaWYgKG5ld0Zvcm11bGFzLmlzRXJyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXdGb3JtdWxhcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKGxvZGFzaF8xLmNvbmNhdChuZXdGb3JtdWxhcy52YWx1ZSwgY3VycmVudEZvcm11bGFzKSk7XG4gICAgfSksIG5ldmVydGhyb3dfMS5vayhbXSkpO1xuICAgIC8vIElmIHRoZXJlIGlzIG5vIGVycm9yLFxuICAgIHJldHVybiBmb3JtdWxhcy5hbmRUaGVuKChpbm5lckZvcm11bGFzKSA9PiBcbiAgICAvLyBmb3IgZWFjaCBmb3JtdWxhXG4gICAgaW5uZXJGb3JtdWxhcy5yZWR1Y2VSaWdodCgocHJldlZhbHVlLCBmb3JtdWxhKSA9PiBcbiAgICAvLyBJZiB0aGUgcHJldmlvdXMgZm9ybXVsYSBkaWRuJ3QgZ2l2ZSBhbiBlcnJvclxuICAgIHByZXZWYWx1ZS5hbmRUaGVuKChwcmV2VGFibGUpID0+IFxuICAgIC8vIGF0dGVtcHQgdG8gYXBwbHkgdGhpcyBmb3JtdWxhIHRvIHRoZSB0YWJsZSBhbmQgcmV0dXJuIHRoZSByZXN1bHRcbiAgICBmb3JtdWxhLm1lcmdlKHByZXZUYWJsZSkpLCBcbiAgICAvLyBTdGFydCB3aXRoIHRoZSBjdXJyZW50IHRhYmxlIHN0YXRlXG4gICAgbmV2ZXJ0aHJvd18xLm9rKHRhYmxlKSkpO1xufTtcbmV4cG9ydHMucGFyc2VBbmRBcHBseSA9IHBhcnNlQW5kQXBwbHk7XG4vKipcbiAqIFBhcnNlIHRoZSBwcm92aWRlZCBsaW5lLCByZXR1cm5pbmcgYW55IGZvdW5kIGZvcm11bGFzLiBBIHNpbmdsZSBsaW5lIG1heVxuICogY29udGFpbiB6ZXJvIG9yIG1vcmUgZm9ybXVsYXMuXG4gKlxuICogQHBhcmFtIGxpbmUgQSBsaW5lIG9mIHRoZSBmb3JtIGA8IS0tIFRCRk06IHtGT1JNVUxBfTo6e0ZPUk1VTEF9IC0tPmBcbiAqL1xuY29uc3QgcGFyc2VGb3JtdWxhID0gKGxpbmUsIHRhYmxlKSA9PiB7XG4gICAgY29uc3QgcGFyc2VyID0gbmV3IGVibmZfMS5HcmFtbWFycy5XM0MuUGFyc2VyKHBhcnNlckdyYW1tYXIpO1xuICAgIGNvbnN0IGFzdCA9IHBhcnNlci5nZXRBU1QobGluZSk7XG4gICAgLy8gVE9ETzogRGV0ZXJtaW5lIGhvdyB0byByZXR1cm4gZXJyb3JzIHdoZW4gYSBmb3JtdWxhLWxpa2Ugc3RyaW5nXG4gICAgLy8gICAgICAgaXMgbm90IGFjdHVhbGx5IGEgdmFsaWQgZm9ybXVsYS5cbiAgICBpZiAoIWFzdCkge1xuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihuZXcgRXJyb3IoYEZvcm11bGEgJyR7bGluZX0nIGNvdWxkIG5vdCBiZSBwYXJzZWRgKSk7XG4gICAgfVxuICAgIGNvbnN0IHR5cGVFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICd0YmxmbV9saW5lJyk7XG4gICAgaWYgKHR5cGVFcnJvcikge1xuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycih0eXBlRXJyb3IpO1xuICAgIH1cbiAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobGVuZ3RoRXJyb3IpO1xuICAgIH1cbiAgICBsZXQgdW5wYXJzZWRGb3JtdWxhcyA9IGFzdC5jaGlsZHJlblswXS5jaGlsZHJlbjtcbiAgICBjb25zdCBmb3JtdWxhcyA9IFtdO1xuICAgIHRyeSB7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGZvcm11bGFzLnB1c2gobmV3IEZvcm11bGEodW5wYXJzZWRGb3JtdWxhc1swXSwgdGFibGUpKTtcbiAgICAgICAgICAgIGlmICh1bnBhcnNlZEZvcm11bGFzLmxlbmd0aCA+IDEgJiYgdW5wYXJzZWRGb3JtdWxhc1sxXS50eXBlID09PSAnZm9ybXVsYV9saXN0Jykge1xuICAgICAgICAgICAgICAgIHVucGFyc2VkRm9ybXVsYXMgPSB1bnBhcnNlZEZvcm11bGFzWzFdLmNoaWxkcmVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdW5wYXJzZWRGb3JtdWxhcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlICh1bnBhcnNlZEZvcm11bGFzLmxlbmd0aCA+IDApO1xuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKGZvcm11bGFzKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKGVycm9yKTtcbiAgICB9XG59O1xuZXhwb3J0cy5wYXJzZUZvcm11bGEgPSBwYXJzZUZvcm11bGE7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVGFibGUgPSB2b2lkIDA7XG5jb25zdCBjYWxjXzEgPSByZXF1aXJlKFwiLi9jYWxjL2NhbGNcIik7XG5jb25zdCBmb2N1c18xID0gcmVxdWlyZShcIi4vZm9jdXNcIik7XG5jb25zdCBwb2ludF8xID0gcmVxdWlyZShcIi4vcG9pbnRcIik7XG5jb25zdCByYW5nZV8xID0gcmVxdWlyZShcIi4vcmFuZ2VcIik7XG4vKipcbiAqIEEgYFRhYmxlYCBvYmplY3QgcmVwcmVzZW50cyBhIHRhYmxlLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIFRhYmxlIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGBUYWJsZWAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvd3MgLSBBbiBhcnJheSBvZiByb3dzIHRoYXQgdGhlIHRhYmxlIGNvbnRhaW5zLlxuICAgICAqIEBwYXJhbSBmb3JtdWxhcyAtIEFuIGFycmF5IG9mIGZvcm11bGFzIGF0dGFjaGVkIHRvIHRoZSB0YWJsZS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihyb3dzKSB7XG4gICAgICAgIHRoaXMuX3Jvd3MgPSByb3dzLnNsaWNlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG51bWJlciBvZiByb3dzIGluIHRoZSB0YWJsZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygcm93cy5cbiAgICAgKi9cbiAgICBnZXRIZWlnaHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3dzLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgcm93cyBpbiB0aGUgdGFibGUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgcm93cy5cbiAgICAgKi9cbiAgICBnZXRXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvd3NcbiAgICAgICAgICAgIC5tYXAoKHJvdykgPT4gcm93LmdldFdpZHRoKCkpXG4gICAgICAgICAgICAucmVkdWNlKCh4LCB5KSA9PiBNYXRoLm1heCh4LCB5KSwgMCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHdpZHRoIG9mIHRoZSBoZWFkZXIgcm93LlxuICAgICAqIEFzc3VtZXMgdGhhdCBpdCBpcyBjYWxsZWQgb24gYSB2YWxpZCB0YWJsZSB3aXRoIGEgaGVhZGVyIHJvdy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB3aWR0aCBvZiB0aGUgaGVhZGVyIHJvd1xuICAgICAqL1xuICAgIGdldEhlYWRlcldpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93c1swXS5nZXRXaWR0aCgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSByb3dzIHRoYXQgdGhlIHRhYmxlIGNvbnRhaW5zLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgdGhlIHJvd3MuXG4gICAgICovXG4gICAgZ2V0Um93cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvd3Muc2xpY2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZGVsaW1pdGVyIHJvdyBvZiB0aGUgdGFibGUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgZGVsaW1pdGVyIHJvdzsgYHVuZGVmaW5lZGAgaWYgdGhlcmUgaXMgbm90IGRlbGltaXRlciByb3cuXG4gICAgICovXG4gICAgZ2V0RGVsaW1pdGVyUm93KCkge1xuICAgICAgICBjb25zdCByb3cgPSB0aGlzLl9yb3dzWzFdO1xuICAgICAgICBpZiAocm93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvdy5pc0RlbGltaXRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gcm93O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgYSBjZWxsIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93SW5kZXggLSBSb3cgaW5kZXggb2YgdGhlIGNlbGwuXG4gICAgICogQHBhcmFtIGNvbHVtbkluZGV4IC0gQ29sdW1uIGluZGV4IG9mIHRoZSBjZWxsLlxuICAgICAqIEByZXR1cm5zIFRoZSBjZWxsIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXg7IGB1bmRlZmluZWRgIGlmIG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBnZXRDZWxsQXQocm93SW5kZXgsIGNvbHVtbkluZGV4KSB7XG4gICAgICAgIGNvbnN0IHJvdyA9IHRoaXMuX3Jvd3Nbcm93SW5kZXhdO1xuICAgICAgICBpZiAocm93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdy5nZXRDZWxsQXQoY29sdW1uSW5kZXgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBjZWxsIGF0IHRoZSBmb2N1cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb2N1cyAtIEZvY3VzIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY2VsbCBhdCB0aGUgZm9jdXM7IGB1bmRlZmluZWRgIGlmIG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBnZXRGb2N1c2VkQ2VsbChmb2N1cykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDZWxsQXQoZm9jdXMucm93LCBmb2N1cy5jb2x1bW4pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgdGFibGUgdG8gYW4gYXJyYXkgb2YgdGV4dCByZXByZXNlbnRhdGlvbnMgb2YgdGhlIHJvd3MuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB0ZXh0IHJlcHJlc2VudGF0aW9ucyBvZiB0aGUgcm93cy5cbiAgICAgKi9cbiAgICB0b0xpbmVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93cy5tYXAoKHJvdykgPT4gcm93LnRvVGV4dCgpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyBhIGNlbGwgaW4gdGhlIHRhYmxlIHRvIGEgbmV3IHZhbHVlLCByZXR1cm5pbmcgYSBjb3B5IG9mIHRoZSB0YWJsZVxuICAgICAqIHdpdGggdGhlIG1vZGlmaWVkIHZhbHVlLlxuICAgICAqXG4gICAgICogSWYgYW4gaW52YWxpZCBpbmRleCBpcyBwcm92aWRlZCwgdGhlIHRhYmxlIHdpbGwgYmUgdW5jaGFuZ2VkLlxuICAgICAqL1xuICAgIHNldENlbGxBdChyb3dJbmRleCwgY29sdW1uSW5kZXgsIHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHJvd3MgPSB0aGlzLmdldFJvd3MoKTsgLy8gYSBjb3B5XG4gICAgICAgIHJvd3Nbcm93SW5kZXhdID0gcm93c1tyb3dJbmRleF0uc2V0Q2VsbEF0KGNvbHVtbkluZGV4LCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBuZXcgVGFibGUocm93cyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIGEgZm9jdXMgZnJvbSBhIHBvaW50IGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwb3MgLSBBIHBvaW50IGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcGFyYW0gcm93T2Zmc2V0IC0gVGhlIHJvdyBpbmRleCB3aGVyZSB0aGUgdGFibGUgc3RhcnRzIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcmV0dXJucyBBIGZvY3VzIG9iamVjdCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBzcGVjaWZpZWQgcG9pbnQ7XG4gICAgICogYHVuZGVmaW5lZGAgaWYgdGhlIHJvdyBpbmRleCBpcyBvdXQgb2YgYm91bmRzLlxuICAgICAqL1xuICAgIGZvY3VzT2ZQb3NpdGlvbihwb3MsIHJvd09mZnNldCkge1xuICAgICAgICBjb25zdCByb3dJbmRleCA9IHBvcy5yb3cgLSByb3dPZmZzZXQ7XG4gICAgICAgIGNvbnN0IHJvdyA9IHRoaXMuX3Jvd3Nbcm93SW5kZXhdO1xuICAgICAgICBpZiAocm93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvcy5jb2x1bW4gPCByb3cubWFyZ2luTGVmdC5sZW5ndGggKyAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IGZvY3VzXzEuRm9jdXMocm93SW5kZXgsIC0xLCBwb3MuY29sdW1uKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZWxsV2lkdGhzID0gcm93LmdldENlbGxzKCkubWFwKChjZWxsKSA9PiBjZWxsLnJhd0NvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgbGV0IGNvbHVtblBvcyA9IHJvdy5tYXJnaW5MZWZ0Lmxlbmd0aCArIDE7IC8vIGxlZnQgbWFyZ2luICsgYSBwaXBlXG4gICAgICAgIGxldCBjb2x1bW5JbmRleCA9IDA7XG4gICAgICAgIGZvciAoOyBjb2x1bW5JbmRleCA8IGNlbGxXaWR0aHMubGVuZ3RoOyBjb2x1bW5JbmRleCsrKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uUG9zICsgY2VsbFdpZHRoc1tjb2x1bW5JbmRleF0gKyAxID4gcG9zLmNvbHVtbikge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sdW1uUG9zICs9IGNlbGxXaWR0aHNbY29sdW1uSW5kZXhdICsgMTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvZmZzZXQgPSBwb3MuY29sdW1uIC0gY29sdW1uUG9zO1xuICAgICAgICByZXR1cm4gbmV3IGZvY3VzXzEuRm9jdXMocm93SW5kZXgsIGNvbHVtbkluZGV4LCBvZmZzZXQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBhIHBvc2l0aW9uIGluIHRoZSB0ZXh0IGVkaXRvciBmcm9tIGEgZm9jdXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZm9jdXMgLSBBIGZvY3VzIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gcm93T2Zmc2V0IC0gVGhlIHJvdyBpbmRleCB3aGVyZSB0aGUgdGFibGUgc3RhcnRzIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcmV0dXJucyBBIHBvc2l0aW9uIGluIHRoZSB0ZXh0IGVkaXRvciB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBmb2N1cztcbiAgICAgKiBgdW5kZWZpbmVkYCBpZiB0aGUgZm9jdXNlZCByb3cgIGlzIG91dCBvZiB0aGUgdGFibGUuXG4gICAgICovXG4gICAgcG9zaXRpb25PZkZvY3VzKGZvY3VzLCByb3dPZmZzZXQpIHtcbiAgICAgICAgY29uc3Qgcm93ID0gdGhpcy5fcm93c1tmb2N1cy5yb3ddO1xuICAgICAgICBpZiAocm93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm93UG9zID0gZm9jdXMucm93ICsgcm93T2Zmc2V0O1xuICAgICAgICBpZiAoZm9jdXMuY29sdW1uIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBwb2ludF8xLlBvaW50KHJvd1BvcywgZm9jdXMub2Zmc2V0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZWxsV2lkdGhzID0gcm93LmdldENlbGxzKCkubWFwKChjZWxsKSA9PiBjZWxsLnJhd0NvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgbWF4SW5kZXggPSBNYXRoLm1pbihmb2N1cy5jb2x1bW4sIGNlbGxXaWR0aHMubGVuZ3RoKTtcbiAgICAgICAgbGV0IGNvbHVtblBvcyA9IHJvdy5tYXJnaW5MZWZ0Lmxlbmd0aCArIDE7XG4gICAgICAgIGZvciAobGV0IGNvbHVtbkluZGV4ID0gMDsgY29sdW1uSW5kZXggPCBtYXhJbmRleDsgY29sdW1uSW5kZXgrKykge1xuICAgICAgICAgICAgY29sdW1uUG9zICs9IGNlbGxXaWR0aHNbY29sdW1uSW5kZXhdICsgMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IHBvaW50XzEuUG9pbnQocm93UG9zLCBjb2x1bW5Qb3MgKyBmb2N1cy5vZmZzZXQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBhIHNlbGVjdGlvbiByYW5nZSBmcm9tIGEgZm9jdXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZm9jdXMgLSBBIGZvY3VzIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gcm93T2Zmc2V0IC0gVGhlIHJvdyBpbmRleCB3aGVyZSB0aGUgdGFibGUgc3RhcnRzIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcmV0dXJucyBBIHJhbmdlIHRvIGJlIHNlbGVjdGVkIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGZvY3VzO1xuICAgICAqIGB1bmRlZmluZWRgIGlmIHRoZSBmb2N1cyBkb2VzIG5vdCBzcGVjaWZ5IGFueSBjZWxsIG9yIHRoZSBzcGVjaWZpZWQgY2VsbCBpcyBlbXB0eS5cbiAgICAgKi9cbiAgICBzZWxlY3Rpb25SYW5nZU9mRm9jdXMoZm9jdXMsIHJvd09mZnNldCkge1xuICAgICAgICBjb25zdCByb3cgPSB0aGlzLl9yb3dzW2ZvY3VzLnJvd107XG4gICAgICAgIGlmIChyb3cgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZWxsID0gcm93LmdldENlbGxBdChmb2N1cy5jb2x1bW4pO1xuICAgICAgICBpZiAoY2VsbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjZWxsLmNvbnRlbnQgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvd1BvcyA9IGZvY3VzLnJvdyArIHJvd09mZnNldDtcbiAgICAgICAgY29uc3QgY2VsbFdpZHRocyA9IHJvdy5nZXRDZWxscygpLm1hcCgoY2VsbCkgPT4gY2VsbC5yYXdDb250ZW50Lmxlbmd0aCk7XG4gICAgICAgIGxldCBjb2x1bW5Qb3MgPSByb3cubWFyZ2luTGVmdC5sZW5ndGggKyAxO1xuICAgICAgICBmb3IgKGxldCBjb2x1bW5JbmRleCA9IDA7IGNvbHVtbkluZGV4IDwgZm9jdXMuY29sdW1uOyBjb2x1bW5JbmRleCsrKSB7XG4gICAgICAgICAgICBjb2x1bW5Qb3MgKz0gY2VsbFdpZHRoc1tjb2x1bW5JbmRleF0gKyAxO1xuICAgICAgICB9XG4gICAgICAgIGNvbHVtblBvcyArPSBjZWxsLnBhZGRpbmdMZWZ0O1xuICAgICAgICByZXR1cm4gbmV3IHJhbmdlXzEuUmFuZ2UobmV3IHBvaW50XzEuUG9pbnQocm93UG9zLCBjb2x1bW5Qb3MpLCBuZXcgcG9pbnRfMS5Qb2ludChyb3dQb3MsIGNvbHVtblBvcyArIGNlbGwuY29udGVudC5sZW5ndGgpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRXZhbHVhdGUgdGhlIGZvcm11bGEsIGFwcGx5aW5nIHRoZSByZXN1bHRzIHRvIHRoaXMgdGFibGUgYW5kIHJldHVybmluZyB0aGVcbiAgICAgKiBjaGFuZ2VzIGFzIGEgbmV3IHRhYmxlLlxuICAgICAqL1xuICAgIGFwcGx5Rm9ybXVsYXMoZm9ybXVsYUxpbmVzKSB7XG4gICAgICAgIHJldHVybiBjYWxjXzEucGFyc2VBbmRBcHBseShmb3JtdWxhTGluZXMsIHRoaXMpO1xuICAgIH1cbn1cbmV4cG9ydHMuVGFibGUgPSBUYWJsZTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5yZWFkVGFibGUgPSBleHBvcnRzLl9tYXJnaW5SZWdleCA9IGV4cG9ydHMubWFyZ2luUmVnZXhTcmMgPSBleHBvcnRzLl9yZWFkUm93ID0gZXhwb3J0cy5fc3BsaXRDZWxscyA9IHZvaWQgMDtcbmNvbnN0IHRhYmxlXzEgPSByZXF1aXJlKFwiLi90YWJsZVwiKTtcbmNvbnN0IHRhYmxlX2NlbGxfMSA9IHJlcXVpcmUoXCIuL3RhYmxlLWNlbGxcIik7XG5jb25zdCB0YWJsZV9yb3dfMSA9IHJlcXVpcmUoXCIuL3RhYmxlLXJvd1wiKTtcbi8qKlxuICogU3BsaXRzIGEgdGV4dCBpbnRvIGNlbGxzLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IF9zcGxpdENlbGxzID0gKHRleHQpID0+IHtcbiAgICBjb25zdCBjZWxscyA9IFtdO1xuICAgIGxldCBidWYgPSAnJztcbiAgICBsZXQgcmVzdCA9IHRleHQ7XG4gICAgd2hpbGUgKHJlc3QgIT09ICcnKSB7XG4gICAgICAgIHN3aXRjaCAocmVzdFswXSkge1xuICAgICAgICAgICAgY2FzZSAnYCc6XG4gICAgICAgICAgICAgICAgLy8gcmVhZCBjb2RlIHNwYW5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0TWF0Y2ggPSByZXN0Lm1hdGNoKC9eYCovKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0TWF0Y2ggPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhc2Ugc3RhdGVtZW50IGVuc3VyZXMgZmlyc3QgY2hhciBpcyBhIGAgYW5kIHdlIGNhbm5vdCBnZXQgaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMganVzdCBzYXRpc2ZpZXMgdGhlIGNvbXBpbGVyLlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBzdGFydE1hdGNoWzBdO1xuICAgICAgICAgICAgICAgICAgICBsZXQgYnVmMSA9IHN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdDEgPSByZXN0LnN1YnN0cihzdGFydC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgY2xvc2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIChyZXN0MSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN0MVswXSA9PT0gJ2AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kTWF0Y2ggPSByZXN0MS5tYXRjaCgvXmAqLyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZE1hdGNoID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhc2Ugc3RhdGVtZW50IGVuc3VyZXMgZmlyc3QgY2hhciBpcyBhIGAgYW5kIHdlIGNhbm5vdCBnZXQgaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBqdXN0IHNhdGlzZmllcyB0aGUgY29tcGlsZXIuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBlbmRNYXRjaFswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYxICs9IGVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0MSA9IHJlc3QxLnN1YnN0cihlbmQubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW5kLmxlbmd0aCA9PT0gc3RhcnQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZjEgKz0gcmVzdDFbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdDEgPSByZXN0MS5zdWJzdHIoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNsb3NlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnVmICs9IGJ1ZjE7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN0ID0gcmVzdDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidWYgKz0gJ2AnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdCA9IHJlc3Quc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnXFxcXCc6XG4gICAgICAgICAgICAgICAgLy8gZXNjYXBlIG5leHQgY2hhcmFjdGVyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3QubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgYnVmICs9IHJlc3Quc3Vic3RyKDAsIDIpO1xuICAgICAgICAgICAgICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHIoMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBidWYgKz0gJ1xcXFwnO1xuICAgICAgICAgICAgICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHIoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnWyc6XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgZW5jb3VudGVyIGEgcmVuYW1lZCBbW2xpbmt8TGlua11dLCBhdXRvbWF0aWNhbGx5IGVzY2FwZSB0aGUgcGlwZVxuICAgICAgICAgICAgICAgIGJ1ZiArPSAnWyc7XG4gICAgICAgICAgICAgICAgcmVzdCA9IHJlc3Quc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgIGlmICgvXFxbW15cXFxcfFxcXV0rXFx8W158XFxdXStdXS8udGVzdChyZXN0KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpZHggPSByZXN0LmluZGV4T2YoJ3wnKTtcbiAgICAgICAgICAgICAgICAgICAgYnVmICs9IHJlc3Quc2xpY2UoMCwgaWR4KTtcbiAgICAgICAgICAgICAgICAgICAgYnVmICs9ICdcXFxcfCc7XG4gICAgICAgICAgICAgICAgICAgIHJlc3QgPSByZXN0LnN1YnN0cihpZHggKyAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd8JzpcbiAgICAgICAgICAgICAgICAvLyBmbHVzaCBidWZmZXJcbiAgICAgICAgICAgICAgICBjZWxscy5wdXNoKGJ1Zik7XG4gICAgICAgICAgICAgICAgYnVmID0gJyc7XG4gICAgICAgICAgICAgICAgcmVzdCA9IHJlc3Quc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBidWYgKz0gcmVzdFswXTtcbiAgICAgICAgICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHIoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2VsbHMucHVzaChidWYpO1xuICAgIHJldHVybiBjZWxscztcbn07XG5leHBvcnRzLl9zcGxpdENlbGxzID0gX3NwbGl0Q2VsbHM7XG4vKipcbiAqIFJlYWRzIGEgdGFibGUgcm93LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGV4dCAtIEEgdGV4dC5cbiAqIEBwYXJhbSBbbGVmdE1hcmdpblJlZ2V4PS9eXFxzKiQvXSAtIEEgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCB0aGF0IG1hdGNoZXMgbGVmdCBtYXJnaW4uXG4gKi9cbmNvbnN0IF9yZWFkUm93ID0gKHRleHQsIGxlZnRNYXJnaW5SZWdleCA9IC9eXFxzKiQvKSA9PiB7XG4gICAgbGV0IGNlbGxzID0gZXhwb3J0cy5fc3BsaXRDZWxscyh0ZXh0KTtcbiAgICBsZXQgbWFyZ2luTGVmdDtcbiAgICBpZiAoY2VsbHMubGVuZ3RoID4gMCAmJiBsZWZ0TWFyZ2luUmVnZXgudGVzdChjZWxsc1swXSkpIHtcbiAgICAgICAgbWFyZ2luTGVmdCA9IGNlbGxzWzBdO1xuICAgICAgICBjZWxscyA9IGNlbGxzLnNsaWNlKDEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbWFyZ2luTGVmdCA9ICcnO1xuICAgIH1cbiAgICBsZXQgbWFyZ2luUmlnaHQ7XG4gICAgaWYgKGNlbGxzLmxlbmd0aCA+IDEgJiYgL15cXHMqJC8udGVzdChjZWxsc1tjZWxscy5sZW5ndGggLSAxXSkpIHtcbiAgICAgICAgbWFyZ2luUmlnaHQgPSBjZWxsc1tjZWxscy5sZW5ndGggLSAxXTtcbiAgICAgICAgY2VsbHMgPSBjZWxscy5zbGljZSgwLCBjZWxscy5sZW5ndGggLSAxKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG1hcmdpblJpZ2h0ID0gJyc7XG4gICAgfVxuICAgIHJldHVybiBuZXcgdGFibGVfcm93XzEuVGFibGVSb3coY2VsbHMubWFwKChjZWxsKSA9PiBuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbChjZWxsKSksIG1hcmdpbkxlZnQsIG1hcmdpblJpZ2h0KTtcbn07XG5leHBvcnRzLl9yZWFkUm93ID0gX3JlYWRSb3c7XG4vKipcbiAqIENyZWF0ZXMgYSByZWdleCBzb3VyY2Ugc3RyaW5nIG9mIG1hcmdpbiBjaGFyYWN0ZXIgY2xhc3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBjaGFycyAtIEEgc2V0IG9mIGFkZGl0aW9uYWwgbWFyZ2luIGNoYXJhY3RlcnMuXG4gKiBBIHBpcGUgYHxgLCBhIGJhY2tzbGFzaCBgXFxgLCBhbmQgYSBiYWNrcXVvdGUgd2lsbCBiZSBpZ25vcmVkLlxuICogQHJldHVybiBBIHJlZ2V4IHNvdXJjZSBzdHJpbmcuXG4gKi9cbmNvbnN0IG1hcmdpblJlZ2V4U3JjID0gKGNoYXJzKSA9PiB7XG4gICAgbGV0IGNzID0gJyc7XG4gICAgLy8gZm9yIChjb25zdCBjIGNoYXJzLnZhbHVlcygpKSB7XG4gICAgY2hhcnMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICBpZiAoYyAhPT0gJ3wnICYmIGMgIT09ICdcXFxcJyAmJiBjICE9PSAnYCcpIHtcbiAgICAgICAgICAgIGNzICs9IGBcXFxcdXske2MuY29kZVBvaW50QXQoMCkudG9TdHJpbmcoMTYpfX1gO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGBbXFxcXHMke2NzfV0qYDtcbn07XG5leHBvcnRzLm1hcmdpblJlZ2V4U3JjID0gbWFyZ2luUmVnZXhTcmM7XG4vKipcbiAqIENyZWF0ZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gb2JqZWN0IHRoYXQgbWF0Y2hlcyBtYXJnaW4gb2YgdGFibGVzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gY2hhcnMgLSBBIHNldCBvZiBhZGRpdGlvbmFsIG1hcmdpbiBjaGFyYWN0ZXJzLlxuICogQSBwaXBlIGB8YCwgYSBiYWNrc2xhc2ggYFxcYCwgYW5kIGEgYmFja3F1b3RlIHdpbGwgYmUgaWdub3JlZC5cbiAqIEByZXR1cm4gQW4gcmVndWxhciBleHByZXNzaW9uIG9iamVjdCB0aGF0IG1hdGNoZXMgbWFyZ2luIG9mIHRhYmxlcy5cbiAqL1xuY29uc3QgX21hcmdpblJlZ2V4ID0gKGNoYXJzKSA9PiBuZXcgUmVnRXhwKGBeJHtleHBvcnRzLm1hcmdpblJlZ2V4U3JjKGNoYXJzKX0kYCwgJ3UnKTtcbmV4cG9ydHMuX21hcmdpblJlZ2V4ID0gX21hcmdpblJlZ2V4O1xuLyoqXG4gKiBSZWFkcyBhIHRhYmxlIGZyb20gbGluZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBsaW5lcyAtIEFuIGFycmF5IG9mIHRleHRzLCBlYWNoIHRleHQgcmVwcmVzZW50cyBhIHJvdy5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9ucyBmb3IgcGFyc2luZy5cbiAqIEByZXR1cm5zIFRoZSB0YWJsZSByZWFkIGZyb20gdGhlIGxpbmVzLlxuICovXG5jb25zdCByZWFkVGFibGUgPSAobGluZXMsIG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBsZWZ0TWFyZ2luUmVnZXggPSBleHBvcnRzLl9tYXJnaW5SZWdleChvcHRpb25zLmxlZnRNYXJnaW5DaGFycyk7XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKGxpbmVzLm1hcCgobGluZSkgPT4gZXhwb3J0cy5fcmVhZFJvdyhsaW5lLCBsZWZ0TWFyZ2luUmVnZXgpKSk7XG59O1xuZXhwb3J0cy5yZWFkVGFibGUgPSByZWFkVGFibGU7XG4iLCIvKlxyXG4gKiBHZW5lcmF0ZWQgYnkgc2NyaXB0LiBETyBOT1QgRURJVCFcclxuICpcclxuICogVGhlIHBhcnQgYmV0d2VlbiBCRUdJTiBhbmQgRU5EIGlzIGRlcml2ZWQgZnJvbSBVbmljb2RlIERhdGEgRmlsZXNcclxuICogYW5kIHByb3ZpZGVkIHVuZGVyIFVuaWNvZGUsIEluYy4gTGljZW5zZSBBZ3JlZW1lbnQuXHJcbiAqL1xyXG4vKiBCRUdJTiAqL1xyXG52YXIgZGVmcyA9IFtcclxuICAgIFswLCAzMSwgXCJOXCJdLFxyXG4gICAgWzMyLCAxMjYsIFwiTmFcIl0sXHJcbiAgICBbMTI3LCAxNjAsIFwiTlwiXSxcclxuICAgIFsxNjEsIDE2MSwgXCJBXCJdLFxyXG4gICAgWzE2MiwgMTYzLCBcIk5hXCJdLFxyXG4gICAgWzE2NCwgMTY0LCBcIkFcIl0sXHJcbiAgICBbMTY1LCAxNjYsIFwiTmFcIl0sXHJcbiAgICBbMTY3LCAxNjgsIFwiQVwiXSxcclxuICAgIFsxNjksIDE2OSwgXCJOXCJdLFxyXG4gICAgWzE3MCwgMTcwLCBcIkFcIl0sXHJcbiAgICBbMTcxLCAxNzEsIFwiTlwiXSxcclxuICAgIFsxNzIsIDE3MiwgXCJOYVwiXSxcclxuICAgIFsxNzMsIDE3NCwgXCJBXCJdLFxyXG4gICAgWzE3NSwgMTc1LCBcIk5hXCJdLFxyXG4gICAgWzE3NiwgMTgwLCBcIkFcIl0sXHJcbiAgICBbMTgxLCAxODEsIFwiTlwiXSxcclxuICAgIFsxODIsIDE4NiwgXCJBXCJdLFxyXG4gICAgWzE4NywgMTg3LCBcIk5cIl0sXHJcbiAgICBbMTg4LCAxOTEsIFwiQVwiXSxcclxuICAgIFsxOTIsIDE5NywgXCJOXCJdLFxyXG4gICAgWzE5OCwgMTk4LCBcIkFcIl0sXHJcbiAgICBbMTk5LCAyMDcsIFwiTlwiXSxcclxuICAgIFsyMDgsIDIwOCwgXCJBXCJdLFxyXG4gICAgWzIwOSwgMjE0LCBcIk5cIl0sXHJcbiAgICBbMjE1LCAyMTYsIFwiQVwiXSxcclxuICAgIFsyMTcsIDIyMSwgXCJOXCJdLFxyXG4gICAgWzIyMiwgMjI1LCBcIkFcIl0sXHJcbiAgICBbMjI2LCAyMjksIFwiTlwiXSxcclxuICAgIFsyMzAsIDIzMCwgXCJBXCJdLFxyXG4gICAgWzIzMSwgMjMxLCBcIk5cIl0sXHJcbiAgICBbMjMyLCAyMzQsIFwiQVwiXSxcclxuICAgIFsyMzUsIDIzNSwgXCJOXCJdLFxyXG4gICAgWzIzNiwgMjM3LCBcIkFcIl0sXHJcbiAgICBbMjM4LCAyMzksIFwiTlwiXSxcclxuICAgIFsyNDAsIDI0MCwgXCJBXCJdLFxyXG4gICAgWzI0MSwgMjQxLCBcIk5cIl0sXHJcbiAgICBbMjQyLCAyNDMsIFwiQVwiXSxcclxuICAgIFsyNDQsIDI0NiwgXCJOXCJdLFxyXG4gICAgWzI0NywgMjUwLCBcIkFcIl0sXHJcbiAgICBbMjUxLCAyNTEsIFwiTlwiXSxcclxuICAgIFsyNTIsIDI1MiwgXCJBXCJdLFxyXG4gICAgWzI1MywgMjUzLCBcIk5cIl0sXHJcbiAgICBbMjU0LCAyNTQsIFwiQVwiXSxcclxuICAgIFsyNTUsIDI1NiwgXCJOXCJdLFxyXG4gICAgWzI1NywgMjU3LCBcIkFcIl0sXHJcbiAgICBbMjU4LCAyNzIsIFwiTlwiXSxcclxuICAgIFsyNzMsIDI3MywgXCJBXCJdLFxyXG4gICAgWzI3NCwgMjc0LCBcIk5cIl0sXHJcbiAgICBbMjc1LCAyNzUsIFwiQVwiXSxcclxuICAgIFsyNzYsIDI4MiwgXCJOXCJdLFxyXG4gICAgWzI4MywgMjgzLCBcIkFcIl0sXHJcbiAgICBbMjg0LCAyOTMsIFwiTlwiXSxcclxuICAgIFsyOTQsIDI5NSwgXCJBXCJdLFxyXG4gICAgWzI5NiwgMjk4LCBcIk5cIl0sXHJcbiAgICBbMjk5LCAyOTksIFwiQVwiXSxcclxuICAgIFszMDAsIDMwNCwgXCJOXCJdLFxyXG4gICAgWzMwNSwgMzA3LCBcIkFcIl0sXHJcbiAgICBbMzA4LCAzMTEsIFwiTlwiXSxcclxuICAgIFszMTIsIDMxMiwgXCJBXCJdLFxyXG4gICAgWzMxMywgMzE4LCBcIk5cIl0sXHJcbiAgICBbMzE5LCAzMjIsIFwiQVwiXSxcclxuICAgIFszMjMsIDMyMywgXCJOXCJdLFxyXG4gICAgWzMyNCwgMzI0LCBcIkFcIl0sXHJcbiAgICBbMzI1LCAzMjcsIFwiTlwiXSxcclxuICAgIFszMjgsIDMzMSwgXCJBXCJdLFxyXG4gICAgWzMzMiwgMzMyLCBcIk5cIl0sXHJcbiAgICBbMzMzLCAzMzMsIFwiQVwiXSxcclxuICAgIFszMzQsIDMzNywgXCJOXCJdLFxyXG4gICAgWzMzOCwgMzM5LCBcIkFcIl0sXHJcbiAgICBbMzQwLCAzNTcsIFwiTlwiXSxcclxuICAgIFszNTgsIDM1OSwgXCJBXCJdLFxyXG4gICAgWzM2MCwgMzYyLCBcIk5cIl0sXHJcbiAgICBbMzYzLCAzNjMsIFwiQVwiXSxcclxuICAgIFszNjQsIDQ2MSwgXCJOXCJdLFxyXG4gICAgWzQ2MiwgNDYyLCBcIkFcIl0sXHJcbiAgICBbNDYzLCA0NjMsIFwiTlwiXSxcclxuICAgIFs0NjQsIDQ2NCwgXCJBXCJdLFxyXG4gICAgWzQ2NSwgNDY1LCBcIk5cIl0sXHJcbiAgICBbNDY2LCA0NjYsIFwiQVwiXSxcclxuICAgIFs0NjcsIDQ2NywgXCJOXCJdLFxyXG4gICAgWzQ2OCwgNDY4LCBcIkFcIl0sXHJcbiAgICBbNDY5LCA0NjksIFwiTlwiXSxcclxuICAgIFs0NzAsIDQ3MCwgXCJBXCJdLFxyXG4gICAgWzQ3MSwgNDcxLCBcIk5cIl0sXHJcbiAgICBbNDcyLCA0NzIsIFwiQVwiXSxcclxuICAgIFs0NzMsIDQ3MywgXCJOXCJdLFxyXG4gICAgWzQ3NCwgNDc0LCBcIkFcIl0sXHJcbiAgICBbNDc1LCA0NzUsIFwiTlwiXSxcclxuICAgIFs0NzYsIDQ3NiwgXCJBXCJdLFxyXG4gICAgWzQ3NywgNTkyLCBcIk5cIl0sXHJcbiAgICBbNTkzLCA1OTMsIFwiQVwiXSxcclxuICAgIFs1OTQsIDYwOCwgXCJOXCJdLFxyXG4gICAgWzYwOSwgNjA5LCBcIkFcIl0sXHJcbiAgICBbNjEwLCA3MDcsIFwiTlwiXSxcclxuICAgIFs3MDgsIDcwOCwgXCJBXCJdLFxyXG4gICAgWzcwOSwgNzEwLCBcIk5cIl0sXHJcbiAgICBbNzExLCA3MTEsIFwiQVwiXSxcclxuICAgIFs3MTIsIDcxMiwgXCJOXCJdLFxyXG4gICAgWzcxMywgNzE1LCBcIkFcIl0sXHJcbiAgICBbNzE2LCA3MTYsIFwiTlwiXSxcclxuICAgIFs3MTcsIDcxNywgXCJBXCJdLFxyXG4gICAgWzcxOCwgNzE5LCBcIk5cIl0sXHJcbiAgICBbNzIwLCA3MjAsIFwiQVwiXSxcclxuICAgIFs3MjEsIDcyNywgXCJOXCJdLFxyXG4gICAgWzcyOCwgNzMxLCBcIkFcIl0sXHJcbiAgICBbNzMyLCA3MzIsIFwiTlwiXSxcclxuICAgIFs3MzMsIDczMywgXCJBXCJdLFxyXG4gICAgWzczNCwgNzM0LCBcIk5cIl0sXHJcbiAgICBbNzM1LCA3MzUsIFwiQVwiXSxcclxuICAgIFs3MzYsIDc2NywgXCJOXCJdLFxyXG4gICAgWzc2OCwgODc5LCBcIkFcIl0sXHJcbiAgICBbODgwLCA5MTIsIFwiTlwiXSxcclxuICAgIFs5MTMsIDkyOSwgXCJBXCJdLFxyXG4gICAgWzkzMCwgOTMwLCBcIk5cIl0sXHJcbiAgICBbOTMxLCA5MzcsIFwiQVwiXSxcclxuICAgIFs5MzgsIDk0NCwgXCJOXCJdLFxyXG4gICAgWzk0NSwgOTYxLCBcIkFcIl0sXHJcbiAgICBbOTYyLCA5NjIsIFwiTlwiXSxcclxuICAgIFs5NjMsIDk2OSwgXCJBXCJdLFxyXG4gICAgWzk3MCwgMTAyNCwgXCJOXCJdLFxyXG4gICAgWzEwMjUsIDEwMjUsIFwiQVwiXSxcclxuICAgIFsxMDI2LCAxMDM5LCBcIk5cIl0sXHJcbiAgICBbMTA0MCwgMTEwMywgXCJBXCJdLFxyXG4gICAgWzExMDQsIDExMDQsIFwiTlwiXSxcclxuICAgIFsxMTA1LCAxMTA1LCBcIkFcIl0sXHJcbiAgICBbMTEwNiwgNDM1MSwgXCJOXCJdLFxyXG4gICAgWzQzNTIsIDQ0NDcsIFwiV1wiXSxcclxuICAgIFs0NDQ4LCA4MjA3LCBcIk5cIl0sXHJcbiAgICBbODIwOCwgODIwOCwgXCJBXCJdLFxyXG4gICAgWzgyMDksIDgyMTAsIFwiTlwiXSxcclxuICAgIFs4MjExLCA4MjE0LCBcIkFcIl0sXHJcbiAgICBbODIxNSwgODIxNSwgXCJOXCJdLFxyXG4gICAgWzgyMTYsIDgyMTcsIFwiQVwiXSxcclxuICAgIFs4MjE4LCA4MjE5LCBcIk5cIl0sXHJcbiAgICBbODIyMCwgODIyMSwgXCJBXCJdLFxyXG4gICAgWzgyMjIsIDgyMjMsIFwiTlwiXSxcclxuICAgIFs4MjI0LCA4MjI2LCBcIkFcIl0sXHJcbiAgICBbODIyNywgODIyNywgXCJOXCJdLFxyXG4gICAgWzgyMjgsIDgyMzEsIFwiQVwiXSxcclxuICAgIFs4MjMyLCA4MjM5LCBcIk5cIl0sXHJcbiAgICBbODI0MCwgODI0MCwgXCJBXCJdLFxyXG4gICAgWzgyNDEsIDgyNDEsIFwiTlwiXSxcclxuICAgIFs4MjQyLCA4MjQzLCBcIkFcIl0sXHJcbiAgICBbODI0NCwgODI0NCwgXCJOXCJdLFxyXG4gICAgWzgyNDUsIDgyNDUsIFwiQVwiXSxcclxuICAgIFs4MjQ2LCA4MjUwLCBcIk5cIl0sXHJcbiAgICBbODI1MSwgODI1MSwgXCJBXCJdLFxyXG4gICAgWzgyNTIsIDgyNTMsIFwiTlwiXSxcclxuICAgIFs4MjU0LCA4MjU0LCBcIkFcIl0sXHJcbiAgICBbODI1NSwgODMwNywgXCJOXCJdLFxyXG4gICAgWzgzMDgsIDgzMDgsIFwiQVwiXSxcclxuICAgIFs4MzA5LCA4MzE4LCBcIk5cIl0sXHJcbiAgICBbODMxOSwgODMxOSwgXCJBXCJdLFxyXG4gICAgWzgzMjAsIDgzMjAsIFwiTlwiXSxcclxuICAgIFs4MzIxLCA4MzI0LCBcIkFcIl0sXHJcbiAgICBbODMyNSwgODM2MCwgXCJOXCJdLFxyXG4gICAgWzgzNjEsIDgzNjEsIFwiSFwiXSxcclxuICAgIFs4MzYyLCA4MzYzLCBcIk5cIl0sXHJcbiAgICBbODM2NCwgODM2NCwgXCJBXCJdLFxyXG4gICAgWzgzNjUsIDg0NTAsIFwiTlwiXSxcclxuICAgIFs4NDUxLCA4NDUxLCBcIkFcIl0sXHJcbiAgICBbODQ1MiwgODQ1MiwgXCJOXCJdLFxyXG4gICAgWzg0NTMsIDg0NTMsIFwiQVwiXSxcclxuICAgIFs4NDU0LCA4NDU2LCBcIk5cIl0sXHJcbiAgICBbODQ1NywgODQ1NywgXCJBXCJdLFxyXG4gICAgWzg0NTgsIDg0NjYsIFwiTlwiXSxcclxuICAgIFs4NDY3LCA4NDY3LCBcIkFcIl0sXHJcbiAgICBbODQ2OCwgODQ2OSwgXCJOXCJdLFxyXG4gICAgWzg0NzAsIDg0NzAsIFwiQVwiXSxcclxuICAgIFs4NDcxLCA4NDgwLCBcIk5cIl0sXHJcbiAgICBbODQ4MSwgODQ4MiwgXCJBXCJdLFxyXG4gICAgWzg0ODMsIDg0ODUsIFwiTlwiXSxcclxuICAgIFs4NDg2LCA4NDg2LCBcIkFcIl0sXHJcbiAgICBbODQ4NywgODQ5MCwgXCJOXCJdLFxyXG4gICAgWzg0OTEsIDg0OTEsIFwiQVwiXSxcclxuICAgIFs4NDkyLCA4NTMwLCBcIk5cIl0sXHJcbiAgICBbODUzMSwgODUzMiwgXCJBXCJdLFxyXG4gICAgWzg1MzMsIDg1MzgsIFwiTlwiXSxcclxuICAgIFs4NTM5LCA4NTQyLCBcIkFcIl0sXHJcbiAgICBbODU0MywgODU0MywgXCJOXCJdLFxyXG4gICAgWzg1NDQsIDg1NTUsIFwiQVwiXSxcclxuICAgIFs4NTU2LCA4NTU5LCBcIk5cIl0sXHJcbiAgICBbODU2MCwgODU2OSwgXCJBXCJdLFxyXG4gICAgWzg1NzAsIDg1ODQsIFwiTlwiXSxcclxuICAgIFs4NTg1LCA4NTg1LCBcIkFcIl0sXHJcbiAgICBbODU4NiwgODU5MSwgXCJOXCJdLFxyXG4gICAgWzg1OTIsIDg2MDEsIFwiQVwiXSxcclxuICAgIFs4NjAyLCA4NjMxLCBcIk5cIl0sXHJcbiAgICBbODYzMiwgODYzMywgXCJBXCJdLFxyXG4gICAgWzg2MzQsIDg2NTcsIFwiTlwiXSxcclxuICAgIFs4NjU4LCA4NjU4LCBcIkFcIl0sXHJcbiAgICBbODY1OSwgODY1OSwgXCJOXCJdLFxyXG4gICAgWzg2NjAsIDg2NjAsIFwiQVwiXSxcclxuICAgIFs4NjYxLCA4Njc4LCBcIk5cIl0sXHJcbiAgICBbODY3OSwgODY3OSwgXCJBXCJdLFxyXG4gICAgWzg2ODAsIDg3MDMsIFwiTlwiXSxcclxuICAgIFs4NzA0LCA4NzA0LCBcIkFcIl0sXHJcbiAgICBbODcwNSwgODcwNSwgXCJOXCJdLFxyXG4gICAgWzg3MDYsIDg3MDcsIFwiQVwiXSxcclxuICAgIFs4NzA4LCA4NzEwLCBcIk5cIl0sXHJcbiAgICBbODcxMSwgODcxMiwgXCJBXCJdLFxyXG4gICAgWzg3MTMsIDg3MTQsIFwiTlwiXSxcclxuICAgIFs4NzE1LCA4NzE1LCBcIkFcIl0sXHJcbiAgICBbODcxNiwgODcxOCwgXCJOXCJdLFxyXG4gICAgWzg3MTksIDg3MTksIFwiQVwiXSxcclxuICAgIFs4NzIwLCA4NzIwLCBcIk5cIl0sXHJcbiAgICBbODcyMSwgODcyMSwgXCJBXCJdLFxyXG4gICAgWzg3MjIsIDg3MjQsIFwiTlwiXSxcclxuICAgIFs4NzI1LCA4NzI1LCBcIkFcIl0sXHJcbiAgICBbODcyNiwgODcyOSwgXCJOXCJdLFxyXG4gICAgWzg3MzAsIDg3MzAsIFwiQVwiXSxcclxuICAgIFs4NzMxLCA4NzMyLCBcIk5cIl0sXHJcbiAgICBbODczMywgODczNiwgXCJBXCJdLFxyXG4gICAgWzg3MzcsIDg3MzgsIFwiTlwiXSxcclxuICAgIFs4NzM5LCA4NzM5LCBcIkFcIl0sXHJcbiAgICBbODc0MCwgODc0MCwgXCJOXCJdLFxyXG4gICAgWzg3NDEsIDg3NDEsIFwiQVwiXSxcclxuICAgIFs4NzQyLCA4NzQyLCBcIk5cIl0sXHJcbiAgICBbODc0MywgODc0OCwgXCJBXCJdLFxyXG4gICAgWzg3NDksIDg3NDksIFwiTlwiXSxcclxuICAgIFs4NzUwLCA4NzUwLCBcIkFcIl0sXHJcbiAgICBbODc1MSwgODc1NSwgXCJOXCJdLFxyXG4gICAgWzg3NTYsIDg3NTksIFwiQVwiXSxcclxuICAgIFs4NzYwLCA4NzYzLCBcIk5cIl0sXHJcbiAgICBbODc2NCwgODc2NSwgXCJBXCJdLFxyXG4gICAgWzg3NjYsIDg3NzUsIFwiTlwiXSxcclxuICAgIFs4Nzc2LCA4Nzc2LCBcIkFcIl0sXHJcbiAgICBbODc3NywgODc3OSwgXCJOXCJdLFxyXG4gICAgWzg3ODAsIDg3ODAsIFwiQVwiXSxcclxuICAgIFs4NzgxLCA4Nzg1LCBcIk5cIl0sXHJcbiAgICBbODc4NiwgODc4NiwgXCJBXCJdLFxyXG4gICAgWzg3ODcsIDg3OTksIFwiTlwiXSxcclxuICAgIFs4ODAwLCA4ODAxLCBcIkFcIl0sXHJcbiAgICBbODgwMiwgODgwMywgXCJOXCJdLFxyXG4gICAgWzg4MDQsIDg4MDcsIFwiQVwiXSxcclxuICAgIFs4ODA4LCA4ODA5LCBcIk5cIl0sXHJcbiAgICBbODgxMCwgODgxMSwgXCJBXCJdLFxyXG4gICAgWzg4MTIsIDg4MTMsIFwiTlwiXSxcclxuICAgIFs4ODE0LCA4ODE1LCBcIkFcIl0sXHJcbiAgICBbODgxNiwgODgzMywgXCJOXCJdLFxyXG4gICAgWzg4MzQsIDg4MzUsIFwiQVwiXSxcclxuICAgIFs4ODM2LCA4ODM3LCBcIk5cIl0sXHJcbiAgICBbODgzOCwgODgzOSwgXCJBXCJdLFxyXG4gICAgWzg4NDAsIDg4NTIsIFwiTlwiXSxcclxuICAgIFs4ODUzLCA4ODUzLCBcIkFcIl0sXHJcbiAgICBbODg1NCwgODg1NiwgXCJOXCJdLFxyXG4gICAgWzg4NTcsIDg4NTcsIFwiQVwiXSxcclxuICAgIFs4ODU4LCA4ODY4LCBcIk5cIl0sXHJcbiAgICBbODg2OSwgODg2OSwgXCJBXCJdLFxyXG4gICAgWzg4NzAsIDg4OTQsIFwiTlwiXSxcclxuICAgIFs4ODk1LCA4ODk1LCBcIkFcIl0sXHJcbiAgICBbODg5NiwgODk3NywgXCJOXCJdLFxyXG4gICAgWzg5NzgsIDg5NzgsIFwiQVwiXSxcclxuICAgIFs4OTc5LCA4OTg1LCBcIk5cIl0sXHJcbiAgICBbODk4NiwgODk4NywgXCJXXCJdLFxyXG4gICAgWzg5ODgsIDkwMDAsIFwiTlwiXSxcclxuICAgIFs5MDAxLCA5MDAyLCBcIldcIl0sXHJcbiAgICBbOTAwMywgOTE5MiwgXCJOXCJdLFxyXG4gICAgWzkxOTMsIDkxOTYsIFwiV1wiXSxcclxuICAgIFs5MTk3LCA5MTk5LCBcIk5cIl0sXHJcbiAgICBbOTIwMCwgOTIwMCwgXCJXXCJdLFxyXG4gICAgWzkyMDEsIDkyMDIsIFwiTlwiXSxcclxuICAgIFs5MjAzLCA5MjAzLCBcIldcIl0sXHJcbiAgICBbOTIwNCwgOTMxMSwgXCJOXCJdLFxyXG4gICAgWzkzMTIsIDk0NDksIFwiQVwiXSxcclxuICAgIFs5NDUwLCA5NDUwLCBcIk5cIl0sXHJcbiAgICBbOTQ1MSwgOTU0NywgXCJBXCJdLFxyXG4gICAgWzk1NDgsIDk1NTEsIFwiTlwiXSxcclxuICAgIFs5NTUyLCA5NTg3LCBcIkFcIl0sXHJcbiAgICBbOTU4OCwgOTU5OSwgXCJOXCJdLFxyXG4gICAgWzk2MDAsIDk2MTUsIFwiQVwiXSxcclxuICAgIFs5NjE2LCA5NjE3LCBcIk5cIl0sXHJcbiAgICBbOTYxOCwgOTYyMSwgXCJBXCJdLFxyXG4gICAgWzk2MjIsIDk2MzEsIFwiTlwiXSxcclxuICAgIFs5NjMyLCA5NjMzLCBcIkFcIl0sXHJcbiAgICBbOTYzNCwgOTYzNCwgXCJOXCJdLFxyXG4gICAgWzk2MzUsIDk2NDEsIFwiQVwiXSxcclxuICAgIFs5NjQyLCA5NjQ5LCBcIk5cIl0sXHJcbiAgICBbOTY1MCwgOTY1MSwgXCJBXCJdLFxyXG4gICAgWzk2NTIsIDk2NTMsIFwiTlwiXSxcclxuICAgIFs5NjU0LCA5NjU1LCBcIkFcIl0sXHJcbiAgICBbOTY1NiwgOTY1OSwgXCJOXCJdLFxyXG4gICAgWzk2NjAsIDk2NjEsIFwiQVwiXSxcclxuICAgIFs5NjYyLCA5NjYzLCBcIk5cIl0sXHJcbiAgICBbOTY2NCwgOTY2NSwgXCJBXCJdLFxyXG4gICAgWzk2NjYsIDk2NjksIFwiTlwiXSxcclxuICAgIFs5NjcwLCA5NjcyLCBcIkFcIl0sXHJcbiAgICBbOTY3MywgOTY3NCwgXCJOXCJdLFxyXG4gICAgWzk2NzUsIDk2NzUsIFwiQVwiXSxcclxuICAgIFs5Njc2LCA5Njc3LCBcIk5cIl0sXHJcbiAgICBbOTY3OCwgOTY4MSwgXCJBXCJdLFxyXG4gICAgWzk2ODIsIDk2OTcsIFwiTlwiXSxcclxuICAgIFs5Njk4LCA5NzAxLCBcIkFcIl0sXHJcbiAgICBbOTcwMiwgOTcxMCwgXCJOXCJdLFxyXG4gICAgWzk3MTEsIDk3MTEsIFwiQVwiXSxcclxuICAgIFs5NzEyLCA5NzI0LCBcIk5cIl0sXHJcbiAgICBbOTcyNSwgOTcyNiwgXCJXXCJdLFxyXG4gICAgWzk3MjcsIDk3MzIsIFwiTlwiXSxcclxuICAgIFs5NzMzLCA5NzM0LCBcIkFcIl0sXHJcbiAgICBbOTczNSwgOTczNiwgXCJOXCJdLFxyXG4gICAgWzk3MzcsIDk3MzcsIFwiQVwiXSxcclxuICAgIFs5NzM4LCA5NzQxLCBcIk5cIl0sXHJcbiAgICBbOTc0MiwgOTc0MywgXCJBXCJdLFxyXG4gICAgWzk3NDQsIDk3NDcsIFwiTlwiXSxcclxuICAgIFs5NzQ4LCA5NzQ5LCBcIldcIl0sXHJcbiAgICBbOTc1MCwgOTc1NSwgXCJOXCJdLFxyXG4gICAgWzk3NTYsIDk3NTYsIFwiQVwiXSxcclxuICAgIFs5NzU3LCA5NzU3LCBcIk5cIl0sXHJcbiAgICBbOTc1OCwgOTc1OCwgXCJBXCJdLFxyXG4gICAgWzk3NTksIDk3OTEsIFwiTlwiXSxcclxuICAgIFs5NzkyLCA5NzkyLCBcIkFcIl0sXHJcbiAgICBbOTc5MywgOTc5MywgXCJOXCJdLFxyXG4gICAgWzk3OTQsIDk3OTQsIFwiQVwiXSxcclxuICAgIFs5Nzk1LCA5Nzk5LCBcIk5cIl0sXHJcbiAgICBbOTgwMCwgOTgxMSwgXCJXXCJdLFxyXG4gICAgWzk4MTIsIDk4MjMsIFwiTlwiXSxcclxuICAgIFs5ODI0LCA5ODI1LCBcIkFcIl0sXHJcbiAgICBbOTgyNiwgOTgyNiwgXCJOXCJdLFxyXG4gICAgWzk4MjcsIDk4MjksIFwiQVwiXSxcclxuICAgIFs5ODMwLCA5ODMwLCBcIk5cIl0sXHJcbiAgICBbOTgzMSwgOTgzNCwgXCJBXCJdLFxyXG4gICAgWzk4MzUsIDk4MzUsIFwiTlwiXSxcclxuICAgIFs5ODM2LCA5ODM3LCBcIkFcIl0sXHJcbiAgICBbOTgzOCwgOTgzOCwgXCJOXCJdLFxyXG4gICAgWzk4MzksIDk4MzksIFwiQVwiXSxcclxuICAgIFs5ODQwLCA5ODU0LCBcIk5cIl0sXHJcbiAgICBbOTg1NSwgOTg1NSwgXCJXXCJdLFxyXG4gICAgWzk4NTYsIDk4NzQsIFwiTlwiXSxcclxuICAgIFs5ODc1LCA5ODc1LCBcIldcIl0sXHJcbiAgICBbOTg3NiwgOTg4NSwgXCJOXCJdLFxyXG4gICAgWzk4ODYsIDk4ODcsIFwiQVwiXSxcclxuICAgIFs5ODg4LCA5ODg4LCBcIk5cIl0sXHJcbiAgICBbOTg4OSwgOTg4OSwgXCJXXCJdLFxyXG4gICAgWzk4OTAsIDk4OTcsIFwiTlwiXSxcclxuICAgIFs5ODk4LCA5ODk5LCBcIldcIl0sXHJcbiAgICBbOTkwMCwgOTkxNiwgXCJOXCJdLFxyXG4gICAgWzk5MTcsIDk5MTgsIFwiV1wiXSxcclxuICAgIFs5OTE5LCA5OTE5LCBcIkFcIl0sXHJcbiAgICBbOTkyMCwgOTkyMywgXCJOXCJdLFxyXG4gICAgWzk5MjQsIDk5MjUsIFwiV1wiXSxcclxuICAgIFs5OTI2LCA5OTMzLCBcIkFcIl0sXHJcbiAgICBbOTkzNCwgOTkzNCwgXCJXXCJdLFxyXG4gICAgWzk5MzUsIDk5MzksIFwiQVwiXSxcclxuICAgIFs5OTQwLCA5OTQwLCBcIldcIl0sXHJcbiAgICBbOTk0MSwgOTk1MywgXCJBXCJdLFxyXG4gICAgWzk5NTQsIDk5NTQsIFwiTlwiXSxcclxuICAgIFs5OTU1LCA5OTU1LCBcIkFcIl0sXHJcbiAgICBbOTk1NiwgOTk1OSwgXCJOXCJdLFxyXG4gICAgWzk5NjAsIDk5NjEsIFwiQVwiXSxcclxuICAgIFs5OTYyLCA5OTYyLCBcIldcIl0sXHJcbiAgICBbOTk2MywgOTk2OSwgXCJBXCJdLFxyXG4gICAgWzk5NzAsIDk5NzEsIFwiV1wiXSxcclxuICAgIFs5OTcyLCA5OTcyLCBcIkFcIl0sXHJcbiAgICBbOTk3MywgOTk3MywgXCJXXCJdLFxyXG4gICAgWzk5NzQsIDk5NzcsIFwiQVwiXSxcclxuICAgIFs5OTc4LCA5OTc4LCBcIldcIl0sXHJcbiAgICBbOTk3OSwgOTk4MCwgXCJBXCJdLFxyXG4gICAgWzk5ODEsIDk5ODEsIFwiV1wiXSxcclxuICAgIFs5OTgyLCA5OTgzLCBcIkFcIl0sXHJcbiAgICBbOTk4NCwgOTk4OCwgXCJOXCJdLFxyXG4gICAgWzk5ODksIDk5ODksIFwiV1wiXSxcclxuICAgIFs5OTkwLCA5OTkzLCBcIk5cIl0sXHJcbiAgICBbOTk5NCwgOTk5NSwgXCJXXCJdLFxyXG4gICAgWzk5OTYsIDEwMDIzLCBcIk5cIl0sXHJcbiAgICBbMTAwMjQsIDEwMDI0LCBcIldcIl0sXHJcbiAgICBbMTAwMjUsIDEwMDQ0LCBcIk5cIl0sXHJcbiAgICBbMTAwNDUsIDEwMDQ1LCBcIkFcIl0sXHJcbiAgICBbMTAwNDYsIDEwMDU5LCBcIk5cIl0sXHJcbiAgICBbMTAwNjAsIDEwMDYwLCBcIldcIl0sXHJcbiAgICBbMTAwNjEsIDEwMDYxLCBcIk5cIl0sXHJcbiAgICBbMTAwNjIsIDEwMDYyLCBcIldcIl0sXHJcbiAgICBbMTAwNjMsIDEwMDY2LCBcIk5cIl0sXHJcbiAgICBbMTAwNjcsIDEwMDY5LCBcIldcIl0sXHJcbiAgICBbMTAwNzAsIDEwMDcwLCBcIk5cIl0sXHJcbiAgICBbMTAwNzEsIDEwMDcxLCBcIldcIl0sXHJcbiAgICBbMTAwNzIsIDEwMTAxLCBcIk5cIl0sXHJcbiAgICBbMTAxMDIsIDEwMTExLCBcIkFcIl0sXHJcbiAgICBbMTAxMTIsIDEwMTMyLCBcIk5cIl0sXHJcbiAgICBbMTAxMzMsIDEwMTM1LCBcIldcIl0sXHJcbiAgICBbMTAxMzYsIDEwMTU5LCBcIk5cIl0sXHJcbiAgICBbMTAxNjAsIDEwMTYwLCBcIldcIl0sXHJcbiAgICBbMTAxNjEsIDEwMTc0LCBcIk5cIl0sXHJcbiAgICBbMTAxNzUsIDEwMTc1LCBcIldcIl0sXHJcbiAgICBbMTAxNzYsIDEwMjEzLCBcIk5cIl0sXHJcbiAgICBbMTAyMTQsIDEwMjIxLCBcIk5hXCJdLFxyXG4gICAgWzEwMjIyLCAxMDYyOCwgXCJOXCJdLFxyXG4gICAgWzEwNjI5LCAxMDYzMCwgXCJOYVwiXSxcclxuICAgIFsxMDYzMSwgMTEwMzQsIFwiTlwiXSxcclxuICAgIFsxMTAzNSwgMTEwMzYsIFwiV1wiXSxcclxuICAgIFsxMTAzNywgMTEwODcsIFwiTlwiXSxcclxuICAgIFsxMTA4OCwgMTEwODgsIFwiV1wiXSxcclxuICAgIFsxMTA4OSwgMTEwOTIsIFwiTlwiXSxcclxuICAgIFsxMTA5MywgMTEwOTMsIFwiV1wiXSxcclxuICAgIFsxMTA5NCwgMTEwOTcsIFwiQVwiXSxcclxuICAgIFsxMTA5OCwgMTE5MDMsIFwiTlwiXSxcclxuICAgIFsxMTkwNCwgMTE5MjksIFwiV1wiXSxcclxuICAgIFsxMTkzMCwgMTE5MzAsIFwiTlwiXSxcclxuICAgIFsxMTkzMSwgMTIwMTksIFwiV1wiXSxcclxuICAgIFsxMjAyMCwgMTIwMzEsIFwiTlwiXSxcclxuICAgIFsxMjAzMiwgMTIyNDUsIFwiV1wiXSxcclxuICAgIFsxMjI0NiwgMTIyNzEsIFwiTlwiXSxcclxuICAgIFsxMjI3MiwgMTIyODMsIFwiV1wiXSxcclxuICAgIFsxMjI4NCwgMTIyODcsIFwiTlwiXSxcclxuICAgIFsxMjI4OCwgMTIyODgsIFwiRlwiXSxcclxuICAgIFsxMjI4OSwgMTIzNTAsIFwiV1wiXSxcclxuICAgIFsxMjM1MSwgMTIzNTIsIFwiTlwiXSxcclxuICAgIFsxMjM1MywgMTI0MzgsIFwiV1wiXSxcclxuICAgIFsxMjQzOSwgMTI0NDAsIFwiTlwiXSxcclxuICAgIFsxMjQ0MSwgMTI1NDMsIFwiV1wiXSxcclxuICAgIFsxMjU0NCwgMTI1NDgsIFwiTlwiXSxcclxuICAgIFsxMjU0OSwgMTI1OTEsIFwiV1wiXSxcclxuICAgIFsxMjU5MiwgMTI1OTIsIFwiTlwiXSxcclxuICAgIFsxMjU5MywgMTI2ODYsIFwiV1wiXSxcclxuICAgIFsxMjY4NywgMTI2ODcsIFwiTlwiXSxcclxuICAgIFsxMjY4OCwgMTI3NzEsIFwiV1wiXSxcclxuICAgIFsxMjc3MiwgMTI3ODMsIFwiTlwiXSxcclxuICAgIFsxMjc4NCwgMTI4MzAsIFwiV1wiXSxcclxuICAgIFsxMjgzMSwgMTI4MzEsIFwiTlwiXSxcclxuICAgIFsxMjgzMiwgMTI4NzEsIFwiV1wiXSxcclxuICAgIFsxMjg3MiwgMTI4NzksIFwiQVwiXSxcclxuICAgIFsxMjg4MCwgMTk5MDMsIFwiV1wiXSxcclxuICAgIFsxOTkwNCwgMTk5NjcsIFwiTlwiXSxcclxuICAgIFsxOTk2OCwgNDIxMjQsIFwiV1wiXSxcclxuICAgIFs0MjEyNSwgNDIxMjcsIFwiTlwiXSxcclxuICAgIFs0MjEyOCwgNDIxODIsIFwiV1wiXSxcclxuICAgIFs0MjE4MywgNDMzNTksIFwiTlwiXSxcclxuICAgIFs0MzM2MCwgNDMzODgsIFwiV1wiXSxcclxuICAgIFs0MzM4OSwgNDQwMzEsIFwiTlwiXSxcclxuICAgIFs0NDAzMiwgNTUyMDMsIFwiV1wiXSxcclxuICAgIFs1NTIwNCwgNTczNDMsIFwiTlwiXSxcclxuICAgIFs1NzM0NCwgNjM3NDMsIFwiQVwiXSxcclxuICAgIFs2Mzc0NCwgNjQyNTUsIFwiV1wiXSxcclxuICAgIFs2NDI1NiwgNjUwMjMsIFwiTlwiXSxcclxuICAgIFs2NTAyNCwgNjUwMzksIFwiQVwiXSxcclxuICAgIFs2NTA0MCwgNjUwNDksIFwiV1wiXSxcclxuICAgIFs2NTA1MCwgNjUwNzEsIFwiTlwiXSxcclxuICAgIFs2NTA3MiwgNjUxMDYsIFwiV1wiXSxcclxuICAgIFs2NTEwNywgNjUxMDcsIFwiTlwiXSxcclxuICAgIFs2NTEwOCwgNjUxMjYsIFwiV1wiXSxcclxuICAgIFs2NTEyNywgNjUxMjcsIFwiTlwiXSxcclxuICAgIFs2NTEyOCwgNjUxMzEsIFwiV1wiXSxcclxuICAgIFs2NTEzMiwgNjUyODAsIFwiTlwiXSxcclxuICAgIFs2NTI4MSwgNjUzNzYsIFwiRlwiXSxcclxuICAgIFs2NTM3NywgNjU0NzAsIFwiSFwiXSxcclxuICAgIFs2NTQ3MSwgNjU0NzMsIFwiTlwiXSxcclxuICAgIFs2NTQ3NCwgNjU0NzksIFwiSFwiXSxcclxuICAgIFs2NTQ4MCwgNjU0ODEsIFwiTlwiXSxcclxuICAgIFs2NTQ4MiwgNjU0ODcsIFwiSFwiXSxcclxuICAgIFs2NTQ4OCwgNjU0ODksIFwiTlwiXSxcclxuICAgIFs2NTQ5MCwgNjU0OTUsIFwiSFwiXSxcclxuICAgIFs2NTQ5NiwgNjU0OTcsIFwiTlwiXSxcclxuICAgIFs2NTQ5OCwgNjU1MDAsIFwiSFwiXSxcclxuICAgIFs2NTUwMSwgNjU1MDMsIFwiTlwiXSxcclxuICAgIFs2NTUwNCwgNjU1MTAsIFwiRlwiXSxcclxuICAgIFs2NTUxMSwgNjU1MTEsIFwiTlwiXSxcclxuICAgIFs2NTUxMiwgNjU1MTgsIFwiSFwiXSxcclxuICAgIFs2NTUxOSwgNjU1MzIsIFwiTlwiXSxcclxuICAgIFs2NTUzMywgNjU1MzMsIFwiQVwiXSxcclxuICAgIFs2NTUzNCwgOTQxNzUsIFwiTlwiXSxcclxuICAgIFs5NDE3NiwgOTQxODAsIFwiV1wiXSxcclxuICAgIFs5NDE4MSwgOTQxOTEsIFwiTlwiXSxcclxuICAgIFs5NDE5MiwgOTQxOTMsIFwiV1wiXSxcclxuICAgIFs5NDE5NCwgOTQyMDcsIFwiTlwiXSxcclxuICAgIFs5NDIwOCwgMTAwMzQzLCBcIldcIl0sXHJcbiAgICBbMTAwMzQ0LCAxMDAzNTEsIFwiTlwiXSxcclxuICAgIFsxMDAzNTIsIDEwMTU4OSwgXCJXXCJdLFxyXG4gICAgWzEwMTU5MCwgMTAxNjMxLCBcIk5cIl0sXHJcbiAgICBbMTAxNjMyLCAxMDE2NDAsIFwiV1wiXSxcclxuICAgIFsxMDE2NDEsIDExMDU5MSwgXCJOXCJdLFxyXG4gICAgWzExMDU5MiwgMTEwODc4LCBcIldcIl0sXHJcbiAgICBbMTEwODc5LCAxMTA5MjcsIFwiTlwiXSxcclxuICAgIFsxMTA5MjgsIDExMDkzMCwgXCJXXCJdLFxyXG4gICAgWzExMDkzMSwgMTEwOTQ3LCBcIk5cIl0sXHJcbiAgICBbMTEwOTQ4LCAxMTA5NTEsIFwiV1wiXSxcclxuICAgIFsxMTA5NTIsIDExMDk1OSwgXCJOXCJdLFxyXG4gICAgWzExMDk2MCwgMTExMzU1LCBcIldcIl0sXHJcbiAgICBbMTExMzU2LCAxMjY5NzksIFwiTlwiXSxcclxuICAgIFsxMjY5ODAsIDEyNjk4MCwgXCJXXCJdLFxyXG4gICAgWzEyNjk4MSwgMTI3MTgyLCBcIk5cIl0sXHJcbiAgICBbMTI3MTgzLCAxMjcxODMsIFwiV1wiXSxcclxuICAgIFsxMjcxODQsIDEyNzIzMSwgXCJOXCJdLFxyXG4gICAgWzEyNzIzMiwgMTI3MjQyLCBcIkFcIl0sXHJcbiAgICBbMTI3MjQzLCAxMjcyNDcsIFwiTlwiXSxcclxuICAgIFsxMjcyNDgsIDEyNzI3NywgXCJBXCJdLFxyXG4gICAgWzEyNzI3OCwgMTI3Mjc5LCBcIk5cIl0sXHJcbiAgICBbMTI3MjgwLCAxMjczMzcsIFwiQVwiXSxcclxuICAgIFsxMjczMzgsIDEyNzM0MywgXCJOXCJdLFxyXG4gICAgWzEyNzM0NCwgMTI3MzczLCBcIkFcIl0sXHJcbiAgICBbMTI3Mzc0LCAxMjczNzQsIFwiV1wiXSxcclxuICAgIFsxMjczNzUsIDEyNzM3NiwgXCJBXCJdLFxyXG4gICAgWzEyNzM3NywgMTI3Mzg2LCBcIldcIl0sXHJcbiAgICBbMTI3Mzg3LCAxMjc0MDQsIFwiQVwiXSxcclxuICAgIFsxMjc0MDUsIDEyNzQ4NywgXCJOXCJdLFxyXG4gICAgWzEyNzQ4OCwgMTI3NDkwLCBcIldcIl0sXHJcbiAgICBbMTI3NDkxLCAxMjc1MDMsIFwiTlwiXSxcclxuICAgIFsxMjc1MDQsIDEyNzU0NywgXCJXXCJdLFxyXG4gICAgWzEyNzU0OCwgMTI3NTUxLCBcIk5cIl0sXHJcbiAgICBbMTI3NTUyLCAxMjc1NjAsIFwiV1wiXSxcclxuICAgIFsxMjc1NjEsIDEyNzU2NywgXCJOXCJdLFxyXG4gICAgWzEyNzU2OCwgMTI3NTY5LCBcIldcIl0sXHJcbiAgICBbMTI3NTcwLCAxMjc1ODMsIFwiTlwiXSxcclxuICAgIFsxMjc1ODQsIDEyNzU4OSwgXCJXXCJdLFxyXG4gICAgWzEyNzU5MCwgMTI3NzQzLCBcIk5cIl0sXHJcbiAgICBbMTI3NzQ0LCAxMjc3NzYsIFwiV1wiXSxcclxuICAgIFsxMjc3NzcsIDEyNzc4OCwgXCJOXCJdLFxyXG4gICAgWzEyNzc4OSwgMTI3Nzk3LCBcIldcIl0sXHJcbiAgICBbMTI3Nzk4LCAxMjc3OTgsIFwiTlwiXSxcclxuICAgIFsxMjc3OTksIDEyNzg2OCwgXCJXXCJdLFxyXG4gICAgWzEyNzg2OSwgMTI3ODY5LCBcIk5cIl0sXHJcbiAgICBbMTI3ODcwLCAxMjc4OTEsIFwiV1wiXSxcclxuICAgIFsxMjc4OTIsIDEyNzkwMywgXCJOXCJdLFxyXG4gICAgWzEyNzkwNCwgMTI3OTQ2LCBcIldcIl0sXHJcbiAgICBbMTI3OTQ3LCAxMjc5NTAsIFwiTlwiXSxcclxuICAgIFsxMjc5NTEsIDEyNzk1NSwgXCJXXCJdLFxyXG4gICAgWzEyNzk1NiwgMTI3OTY3LCBcIk5cIl0sXHJcbiAgICBbMTI3OTY4LCAxMjc5ODQsIFwiV1wiXSxcclxuICAgIFsxMjc5ODUsIDEyNzk4NywgXCJOXCJdLFxyXG4gICAgWzEyNzk4OCwgMTI3OTg4LCBcIldcIl0sXHJcbiAgICBbMTI3OTg5LCAxMjc5OTEsIFwiTlwiXSxcclxuICAgIFsxMjc5OTIsIDEyODA2MiwgXCJXXCJdLFxyXG4gICAgWzEyODA2MywgMTI4MDYzLCBcIk5cIl0sXHJcbiAgICBbMTI4MDY0LCAxMjgwNjQsIFwiV1wiXSxcclxuICAgIFsxMjgwNjUsIDEyODA2NSwgXCJOXCJdLFxyXG4gICAgWzEyODA2NiwgMTI4MjUyLCBcIldcIl0sXHJcbiAgICBbMTI4MjUzLCAxMjgyNTQsIFwiTlwiXSxcclxuICAgIFsxMjgyNTUsIDEyODMxNywgXCJXXCJdLFxyXG4gICAgWzEyODMxOCwgMTI4MzMwLCBcIk5cIl0sXHJcbiAgICBbMTI4MzMxLCAxMjgzMzQsIFwiV1wiXSxcclxuICAgIFsxMjgzMzUsIDEyODMzNSwgXCJOXCJdLFxyXG4gICAgWzEyODMzNiwgMTI4MzU5LCBcIldcIl0sXHJcbiAgICBbMTI4MzYwLCAxMjgzNzcsIFwiTlwiXSxcclxuICAgIFsxMjgzNzgsIDEyODM3OCwgXCJXXCJdLFxyXG4gICAgWzEyODM3OSwgMTI4NDA0LCBcIk5cIl0sXHJcbiAgICBbMTI4NDA1LCAxMjg0MDYsIFwiV1wiXSxcclxuICAgIFsxMjg0MDcsIDEyODQxOSwgXCJOXCJdLFxyXG4gICAgWzEyODQyMCwgMTI4NDIwLCBcIldcIl0sXHJcbiAgICBbMTI4NDIxLCAxMjg1MDYsIFwiTlwiXSxcclxuICAgIFsxMjg1MDcsIDEyODU5MSwgXCJXXCJdLFxyXG4gICAgWzEyODU5MiwgMTI4NjM5LCBcIk5cIl0sXHJcbiAgICBbMTI4NjQwLCAxMjg3MDksIFwiV1wiXSxcclxuICAgIFsxMjg3MTAsIDEyODcxNSwgXCJOXCJdLFxyXG4gICAgWzEyODcxNiwgMTI4NzE2LCBcIldcIl0sXHJcbiAgICBbMTI4NzE3LCAxMjg3MTksIFwiTlwiXSxcclxuICAgIFsxMjg3MjAsIDEyODcyMiwgXCJXXCJdLFxyXG4gICAgWzEyODcyMywgMTI4NzI0LCBcIk5cIl0sXHJcbiAgICBbMTI4NzI1LCAxMjg3MjcsIFwiV1wiXSxcclxuICAgIFsxMjg3MjgsIDEyODc0NiwgXCJOXCJdLFxyXG4gICAgWzEyODc0NywgMTI4NzQ4LCBcIldcIl0sXHJcbiAgICBbMTI4NzQ5LCAxMjg3NTUsIFwiTlwiXSxcclxuICAgIFsxMjg3NTYsIDEyODc2NCwgXCJXXCJdLFxyXG4gICAgWzEyODc2NSwgMTI4OTkxLCBcIk5cIl0sXHJcbiAgICBbMTI4OTkyLCAxMjkwMDMsIFwiV1wiXSxcclxuICAgIFsxMjkwMDQsIDEyOTI5MSwgXCJOXCJdLFxyXG4gICAgWzEyOTI5MiwgMTI5MzM4LCBcIldcIl0sXHJcbiAgICBbMTI5MzM5LCAxMjkzMzksIFwiTlwiXSxcclxuICAgIFsxMjkzNDAsIDEyOTM0OSwgXCJXXCJdLFxyXG4gICAgWzEyOTM1MCwgMTI5MzUwLCBcIk5cIl0sXHJcbiAgICBbMTI5MzUxLCAxMjk0MDAsIFwiV1wiXSxcclxuICAgIFsxMjk0MDEsIDEyOTQwMSwgXCJOXCJdLFxyXG4gICAgWzEyOTQwMiwgMTI5NDgzLCBcIldcIl0sXHJcbiAgICBbMTI5NDg0LCAxMjk0ODQsIFwiTlwiXSxcclxuICAgIFsxMjk0ODUsIDEyOTUzNSwgXCJXXCJdLFxyXG4gICAgWzEyOTUzNiwgMTI5NjQ3LCBcIk5cIl0sXHJcbiAgICBbMTI5NjQ4LCAxMjk2NTIsIFwiV1wiXSxcclxuICAgIFsxMjk2NTMsIDEyOTY1NSwgXCJOXCJdLFxyXG4gICAgWzEyOTY1NiwgMTI5NjU4LCBcIldcIl0sXHJcbiAgICBbMTI5NjU5LCAxMjk2NjMsIFwiTlwiXSxcclxuICAgIFsxMjk2NjQsIDEyOTY3MCwgXCJXXCJdLFxyXG4gICAgWzEyOTY3MSwgMTI5Njc5LCBcIk5cIl0sXHJcbiAgICBbMTI5NjgwLCAxMjk3MDQsIFwiV1wiXSxcclxuICAgIFsxMjk3MDUsIDEyOTcxMSwgXCJOXCJdLFxyXG4gICAgWzEyOTcxMiwgMTI5NzE4LCBcIldcIl0sXHJcbiAgICBbMTI5NzE5LCAxMjk3MjcsIFwiTlwiXSxcclxuICAgIFsxMjk3MjgsIDEyOTczMCwgXCJXXCJdLFxyXG4gICAgWzEyOTczMSwgMTI5NzQzLCBcIk5cIl0sXHJcbiAgICBbMTI5NzQ0LCAxMjk3NTAsIFwiV1wiXSxcclxuICAgIFsxMjk3NTEsIDEzMTA3MSwgXCJOXCJdLFxyXG4gICAgWzEzMTA3MiwgMTk2NjA1LCBcIldcIl0sXHJcbiAgICBbMTk2NjA2LCAxOTY2MDcsIFwiTlwiXSxcclxuICAgIFsxOTY2MDgsIDI2MjE0MSwgXCJXXCJdLFxyXG4gICAgWzI2MjE0MiwgOTE3NzU5LCBcIk5cIl0sXHJcbiAgICBbOTE3NzYwLCA5MTc5OTksIFwiQVwiXSxcclxuICAgIFs5MTgwMDAsIDk4MzAzOSwgXCJOXCJdLFxyXG4gICAgWzk4MzA0MCwgMTA0ODU3MywgXCJBXCJdLFxyXG4gICAgWzEwNDg1NzQsIDEwNDg1NzUsIFwiTlwiXSxcclxuICAgIFsxMDQ4NTc2LCAxMTE0MTA5LCBcIkFcIl0sXHJcbiAgICBbMTExNDExMCwgMTExNDExMSwgXCJOXCJdLFxyXG5dO1xyXG4vKiBFTkQgKi9cclxudmFyIHZlcnNpb24gPSBcIjEzLjAuMFwiO1xuXG4vKipcclxuICogR2V0cyB0aGUgRUFXIHByb3BlcnR5IG9mIGEgY29kZSBwb2ludC5cclxuICogQHBhcmFtIGNvZGVQb2ludCBDb2RlIHBvaW50XHJcbiAqIEByZXR1cm4gVGhlIEVBVyBwcm9wZXJ0eSBvZiB0aGUgY29kZSBwb2ludFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0RUFXT2ZDb2RlUG9pbnQoY29kZVBvaW50KSB7XHJcbiAgICB2YXIgbWluID0gMDtcclxuICAgIHZhciBtYXggPSBkZWZzLmxlbmd0aCAtIDE7XHJcbiAgICB3aGlsZSAobWluICE9PSBtYXgpIHtcclxuICAgICAgICB2YXIgaSA9IG1pbiArICgobWF4IC0gbWluKSA+PiAxKTtcclxuICAgICAgICB2YXIgX2EgPSBkZWZzW2ldLCBzdGFydCA9IF9hWzBdLCBlbmQgPSBfYVsxXSwgcHJvcCA9IF9hWzJdO1xyXG4gICAgICAgIGlmIChjb2RlUG9pbnQgPCBzdGFydCkge1xyXG4gICAgICAgICAgICBtYXggPSBpIC0gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoY29kZVBvaW50ID4gZW5kKSB7XHJcbiAgICAgICAgICAgIG1pbiA9IGkgKyAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRlZnNbbWluXVsyXTtcclxufVxyXG4vKipcclxuICogR2V0cyB0aGUgRUFXIHByb3BlcnR5IG9mIGEgY2hhcmFjdGVyLlxyXG4gKiBAcGFyYW0gc3RyIENoYXJhY3RlciBzdHJpbmdcclxuICogQHBhcmFtIHBvcyBDaGFyYWN0ZXIgcG9zaXRpb24gKGluIGNvZGUgdW5pdCkgKGRlZmF1bHQgPSAwKVxyXG4gKiBAcmV0dXJuIFRoZSBFQVcgcHJvcGVydHkgb2YgdGhlIGNoYXJhY3RlclxyXG4gKiBAZXhhbXBsZVxyXG4gKiBpbXBvcnQgeyBnZXRFQVcgfSBmcm9tIFwibWVhd1wiO1xyXG4gKlxyXG4gKiAvLyBOYXJyb3dcclxuICogYXNzZXJ0KGdldEVBVyhcIkFcIikgPT09IFwiTmFcIik7XHJcbiAqIC8vIFdpZGVcclxuICogYXNzZXJ0KGdldEVBVyhcIuOBglwiKSA9PT0gXCJXXCIpO1xyXG4gKiBhc3NlcnQoZ2V0RUFXKFwi5a6JXCIpID09PSBcIldcIik7XHJcbiAqIGFzc2VydChnZXRFQVcoXCLwn42jXCIpID09PSBcIldcIik7XHJcbiAqIC8vIEZ1bGx3aWR0aFxyXG4gKiBhc3NlcnQoZ2V0RUFXKFwi77yhXCIpID09PSBcIkZcIik7XHJcbiAqIC8vIEhhbGZ3aWR0aFxyXG4gKiBhc3NlcnQoZ2V0RUFXKFwi772xXCIpID09PSBcIkhcIik7XHJcbiAqIC8vIEFtYmlndW91c1xyXG4gKiBhc3NlcnQoZ2V0RUFXKFwi4oiAXCIpID09PSBcIkFcIik7XHJcbiAqIGFzc2VydChnZXRFQVcoXCLihpJcIikgPT09IFwiQVwiKTtcclxuICogYXNzZXJ0KGdldEVBVyhcIs6pXCIpID09PSBcIkFcIik7XHJcbiAqIGFzc2VydChnZXRFQVcoXCLQr1wiKSA9PT0gXCJBXCIpO1xyXG4gKiAvLyBOZXV0cmFsXHJcbiAqIGFzc2VydChnZXRFQVcoXCLihLVcIikgPT09IFwiTlwiKTtcclxuICpcclxuICogLy8gY2hhcmFjdGVyIHBvc2l0aW9uIChpbiBjb2RlIHVuaXQpIGNhbiBiZSBzcGVjaWZpZWRcclxuICogYXNzZXJ0KGdldEVBVyhcIuKEtUHjgYLvvKHvvbHiiIBcIiwgMikgPT09IFwiV1wiKTtcclxuICovXHJcbmZ1bmN0aW9uIGdldEVBVyhzdHIsIHBvcykge1xyXG4gICAgaWYgKHBvcyA9PT0gdm9pZCAwKSB7IHBvcyA9IDA7IH1cclxuICAgIHZhciBjb2RlUG9pbnQgPSBzdHIuY29kZVBvaW50QXQocG9zKTtcclxuICAgIGlmIChjb2RlUG9pbnQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZ2V0RUFXT2ZDb2RlUG9pbnQoY29kZVBvaW50KTtcclxufVxuXG52YXIgZGVmYXVsdFdpZHRocyA9IHtcclxuICAgIE46IDEsXHJcbiAgICBOYTogMSxcclxuICAgIFc6IDIsXHJcbiAgICBGOiAyLFxyXG4gICAgSDogMSxcclxuICAgIEE6IDEsXHJcbn07XHJcbi8qKlxyXG4gKiBDb21wdXRlcyB0aGUgd2lkdGggb2YgYSBzdHJpbmcgYmFzZWQgb24gdGhlIEVBVyBwcm9wZXJ0aWVzIG9mIHRoZSBjaGFyYWN0ZXJzLlxyXG4gKiBCeSBkZWZhdWx0LCBjaGFyYWN0ZXJzIHdpdGggcHJvcGVydHkgV2lkZSAoVykgb3IgRnVsbHdpZHRoIChGKSBhcmUgdHJlYXRlZCBhcyB3aWRlICg9IDIpXHJcbiAqIGFuZCBvdGhlcnMgYXJlIGFzIG5hcnJvdyAoPSAxKS5cclxuICogQHBhcmFtIHN0ciBDaGFyYWN0ZXIgc3RyaW5nXHJcbiAqIEBwYXJhbSB3aWR0aHMgQW4gb2JqZWN0IHRoYXQgbWFwcyBFQVcgcHJvcGVydGllcyB0byBjaGFyYWN0ZXIgd2lkdGhzXHJcbiAqIEByZXR1cm4gVGhlIGNvbXB1dGVkIHdpZHRoXHJcbiAqIEBleGFtcGxlXHJcbiAqIGltcG9ydCB7IGNvbXB1dGVXaWR0aCB9IGZyb20gXCJtZWF3XCI7XHJcbiAqXHJcbiAqIGFzc2VydChjb21wdXRlV2lkdGgoXCJB44GC8J+No86pXCIpID09PSA2KTtcclxuICogLy8gY2hhcmFjdGVyIHdpZHRoIGZvciBlYWNoIEVBVyBwcm9wZXJ0eSBjYW4gYmUgY3VzdG9taXplZFxyXG4gKiBhc3NlcnQoY29tcHV0ZVdpZHRoKFwiQeOBgvCfjaPOqVwiLCB7IFwiQVwiOiAyIH0pID09PSA3KTtcclxuICovXHJcbmZ1bmN0aW9uIGNvbXB1dGVXaWR0aChzdHIsIHdpZHRocykge1xyXG4gICAgdmFyIHdpZHRoID0gMDtcclxuICAgIGZvciAodmFyIF9pID0gMCwgc3RyXzEgPSBzdHI7IF9pIDwgc3RyXzEubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgdmFyIGNoYXIgPSBzdHJfMVtfaV07XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gLS0gY2hhciBjYW5ub3QgYmUgZW1wdHlcclxuICAgICAgICB2YXIgZWF3ID0gZ2V0RUFXKGNoYXIpO1xyXG4gICAgICAgIHdpZHRoICs9ICh3aWR0aHMgJiYgd2lkdGhzW2Vhd10pIHx8IGRlZmF1bHRXaWR0aHNbZWF3XTtcclxuICAgIH1cclxuICAgIHJldHVybiB3aWR0aDtcclxufVxuXG5leHBvcnQgeyBjb21wdXRlV2lkdGgsIHZlcnNpb24gYXMgZWF3VmVyc2lvbiwgZ2V0RUFXIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMubW92ZUNvbHVtbiA9IGV4cG9ydHMuZGVsZXRlQ29sdW1uID0gZXhwb3J0cy5pbnNlcnRDb2x1bW4gPSBleHBvcnRzLm1vdmVSb3cgPSBleHBvcnRzLmRlbGV0ZVJvdyA9IGV4cG9ydHMuaW5zZXJ0Um93ID0gZXhwb3J0cy5hbHRlckFsaWdubWVudCA9IGV4cG9ydHMuZm9ybWF0VGFibGUgPSBleHBvcnRzLkZvcm1hdFR5cGUgPSBleHBvcnRzLl93ZWFrRm9ybWF0VGFibGUgPSBleHBvcnRzLl9mb3JtYXRUYWJsZSA9IGV4cG9ydHMuX3BhZFRleHQgPSBleHBvcnRzLl9hbGlnblRleHQgPSBleHBvcnRzLl9jb21wdXRlVGV4dFdpZHRoID0gZXhwb3J0cy5jb21wbGV0ZVRhYmxlID0gZXhwb3J0cy5fZXh0ZW5kQXJyYXkgPSBleHBvcnRzLl9kZWxpbWl0ZXJUZXh0ID0gdm9pZCAwO1xuY29uc3QgYWxpZ25tZW50XzEgPSByZXF1aXJlKFwiLi9hbGlnbm1lbnRcIik7XG5jb25zdCB0YWJsZV8xID0gcmVxdWlyZShcIi4vdGFibGVcIik7XG5jb25zdCB0YWJsZV9jZWxsXzEgPSByZXF1aXJlKFwiLi90YWJsZS1jZWxsXCIpO1xuY29uc3QgdGFibGVfcm93XzEgPSByZXF1aXJlKFwiLi90YWJsZS1yb3dcIik7XG5jb25zdCBtZWF3XzEgPSByZXF1aXJlKFwibWVhd1wiKTtcbi8qKlxuICogQ3JlYXRlcyBhIGRlbGltaXRlciB0ZXh0LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gd2lkdGggLSBXaWR0aCBvZiB0aGUgaG9yaXpvbnRhbCBiYXIgb2YgZGVsaW1pdGVyLlxuICogQHRocm93cyB7RXJyb3J9IFVua25vd24gYWxpZ25tZW50LlxuICovXG5jb25zdCBfZGVsaW1pdGVyVGV4dCA9IChhbGlnbm1lbnQsIHdpZHRoKSA9PiB7XG4gICAgY29uc3QgYmFyID0gJy0nLnJlcGVhdCh3aWR0aCk7XG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgICAgY2FzZSBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTk9ORTpcbiAgICAgICAgICAgIHJldHVybiBgICR7YmFyfSBgO1xuICAgICAgICBjYXNlIGFsaWdubWVudF8xLkFsaWdubWVudC5MRUZUOlxuICAgICAgICAgICAgcmV0dXJuIGA6JHtiYXJ9IGA7XG4gICAgICAgIGNhc2UgYWxpZ25tZW50XzEuQWxpZ25tZW50LlJJR0hUOlxuICAgICAgICAgICAgcmV0dXJuIGAgJHtiYXJ9OmA7XG4gICAgICAgIGNhc2UgYWxpZ25tZW50XzEuQWxpZ25tZW50LkNFTlRFUjpcbiAgICAgICAgICAgIHJldHVybiBgOiR7YmFyfTpgO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGFsaWdubWVudDogJyArIGFsaWdubWVudCk7XG4gICAgfVxufTtcbmV4cG9ydHMuX2RlbGltaXRlclRleHQgPSBfZGVsaW1pdGVyVGV4dDtcbi8qKlxuICogRXh0ZW5kcyBhcnJheSBzaXplLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBmaWxsIG5ld2x5IGNyZWF0ZWQgY2VsbHMuXG4gKiBAcmV0dXJucyBFeHRlbmRlZCBhcnJheS5cbiAqL1xuY29uc3QgX2V4dGVuZEFycmF5ID0gKGFyciwgc2l6ZSwgY2FsbGJhY2spID0+IHtcbiAgICBjb25zdCBleHRlbmRlZCA9IGFyci5zbGljZSgpO1xuICAgIGZvciAobGV0IGkgPSBhcnIubGVuZ3RoOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICAgIGV4dGVuZGVkLnB1c2goY2FsbGJhY2soaSwgYXJyKSk7XG4gICAgfVxuICAgIHJldHVybiBleHRlbmRlZDtcbn07XG5leHBvcnRzLl9leHRlbmRBcnJheSA9IF9leHRlbmRBcnJheTtcbi8qKlxuICogQ29tcGxldGVzIGEgdGFibGUgYnkgYWRkaW5nIG1pc3NpbmcgZGVsaW1pdGVyIGFuZCBjZWxscy5cbiAqIEFmdGVyIGNvbXBsZXRpb24sIGFsbCByb3dzIGluIHRoZSB0YWJsZSBoYXZlIHRoZSBzYW1lIHdpZHRoLlxuICpcbiAqIEBwcml2YXRlXG4gKlxuICogQHRocm93cyB7RXJyb3J9IEVtcHR5IHRhYmxlLlxuICovXG5jb25zdCBjb21wbGV0ZVRhYmxlID0gKHRhYmxlLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgdGFibGVIZWlnaHQgPSB0YWJsZS5nZXRIZWlnaHQoKTtcbiAgICBjb25zdCB0YWJsZVdpZHRoID0gdGFibGUuZ2V0V2lkdGgoKTtcbiAgICBpZiAodGFibGVIZWlnaHQgPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbXB0eSB0YWJsZScpO1xuICAgIH1cbiAgICBjb25zdCByb3dzID0gdGFibGUuZ2V0Um93cygpO1xuICAgIGNvbnN0IG5ld1Jvd3MgPSBbXTtcbiAgICAvLyBoZWFkZXJcbiAgICBjb25zdCBoZWFkZXJSb3cgPSByb3dzWzBdO1xuICAgIGNvbnN0IGhlYWRlckNlbGxzID0gaGVhZGVyUm93LmdldENlbGxzKCk7XG4gICAgbmV3Um93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhleHBvcnRzLl9leHRlbmRBcnJheShoZWFkZXJDZWxscywgdGFibGVXaWR0aCwgKGopID0+IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGogPT09IGhlYWRlckNlbGxzLmxlbmd0aCA/IGhlYWRlclJvdy5tYXJnaW5SaWdodCA6ICcnKSksIGhlYWRlclJvdy5tYXJnaW5MZWZ0LCBoZWFkZXJDZWxscy5sZW5ndGggPCB0YWJsZVdpZHRoID8gJycgOiBoZWFkZXJSb3cubWFyZ2luUmlnaHQpKTtcbiAgICAvLyBkZWxpbWl0ZXJcbiAgICBjb25zdCBkZWxpbWl0ZXJSb3cgPSB0YWJsZS5nZXREZWxpbWl0ZXJSb3coKTtcbiAgICBpZiAoZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgZGVsaW1pdGVyQ2VsbHMgPSBkZWxpbWl0ZXJSb3cuZ2V0Q2VsbHMoKTtcbiAgICAgICAgbmV3Um93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhleHBvcnRzLl9leHRlbmRBcnJheShkZWxpbWl0ZXJDZWxscywgdGFibGVXaWR0aCwgKGopID0+IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGV4cG9ydHMuX2RlbGltaXRlclRleHQoYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkUsIGogPT09IGRlbGltaXRlckNlbGxzLmxlbmd0aFxuICAgICAgICAgICAgPyBNYXRoLm1heChvcHRpb25zLm1pbkRlbGltaXRlcldpZHRoLCBkZWxpbWl0ZXJSb3cubWFyZ2luUmlnaHQubGVuZ3RoIC0gMilcbiAgICAgICAgICAgIDogb3B0aW9ucy5taW5EZWxpbWl0ZXJXaWR0aCkpKSwgZGVsaW1pdGVyUm93Lm1hcmdpbkxlZnQsIGRlbGltaXRlckNlbGxzLmxlbmd0aCA8IHRhYmxlV2lkdGggPyAnJyA6IGRlbGltaXRlclJvdy5tYXJnaW5SaWdodCkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbmV3Um93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhleHBvcnRzLl9leHRlbmRBcnJheShbXSwgdGFibGVXaWR0aCwgKCkgPT4gbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoZXhwb3J0cy5fZGVsaW1pdGVyVGV4dChhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTk9ORSwgb3B0aW9ucy5taW5EZWxpbWl0ZXJXaWR0aCkpKSwgJycsICcnKSk7XG4gICAgfVxuICAgIC8vIGJvZHlcbiAgICBmb3IgKGxldCBpID0gZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQgPyAyIDogMTsgaSA8IHRhYmxlSGVpZ2h0OyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgY29uc3QgY2VsbHMgPSByb3cuZ2V0Q2VsbHMoKTtcbiAgICAgICAgbmV3Um93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhleHBvcnRzLl9leHRlbmRBcnJheShjZWxscywgdGFibGVXaWR0aCwgKGopID0+IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGogPT09IGNlbGxzLmxlbmd0aCA/IHJvdy5tYXJnaW5SaWdodCA6ICcnKSksIHJvdy5tYXJnaW5MZWZ0LCBjZWxscy5sZW5ndGggPCB0YWJsZVdpZHRoID8gJycgOiByb3cubWFyZ2luUmlnaHQpKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGFibGU6IG5ldyB0YWJsZV8xLlRhYmxlKG5ld1Jvd3MpLFxuICAgICAgICBkZWxpbWl0ZXJJbnNlcnRlZDogZGVsaW1pdGVyUm93ID09PSB1bmRlZmluZWQsXG4gICAgfTtcbn07XG5leHBvcnRzLmNvbXBsZXRlVGFibGUgPSBjb21wbGV0ZVRhYmxlO1xuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIHRleHQgYmFzZWQgb24gY2hhcmFjdGVycycgRUFXIHByb3BlcnRpZXMuXG4gKlxuICogQHByaXZhdGVcbiAqXG4gKiBAcmV0dXJucyBDYWxjdWxhdGVkIHdpZHRoIG9mIHRoZSB0ZXh0LlxuICovXG5jb25zdCBfY29tcHV0ZVRleHRXaWR0aCA9ICh0ZXh0LCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IG9wdGlvbnMubm9ybWFsaXplID8gdGV4dC5ub3JtYWxpemUoJ05GQycpIDogdGV4dDtcbiAgICBsZXQgdyA9IDA7XG4gICAgZm9yIChjb25zdCBjaGFyIG9mIG5vcm1hbGl6ZWQpIHtcbiAgICAgICAgaWYgKG9wdGlvbnMud2lkZUNoYXJzLmhhcyhjaGFyKSkge1xuICAgICAgICAgICAgdyArPSAyO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMubmFycm93Q2hhcnMuaGFzKGNoYXIpKSB7XG4gICAgICAgICAgICB3ICs9IDE7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKG1lYXdfMS5nZXRFQVcoY2hhcikpIHtcbiAgICAgICAgICAgIGNhc2UgJ0YnOlxuICAgICAgICAgICAgY2FzZSAnVyc6XG4gICAgICAgICAgICAgICAgdyArPSAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQSc6XG4gICAgICAgICAgICAgICAgdyArPSBvcHRpb25zLmFtYmlndW91c0FzV2lkZSA/IDIgOiAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB3ICs9IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHc7XG59O1xuZXhwb3J0cy5fY29tcHV0ZVRleHRXaWR0aCA9IF9jb21wdXRlVGV4dFdpZHRoO1xuLyoqXG4gKiBSZXR1cm5zIGEgYWxpZ25lZCBjZWxsIGNvbnRlbnQuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IFVua25vd24gYWxpZ25tZW50LlxuICogQHRocm93cyB7RXJyb3J9IFVuZXhwZWN0ZWQgZGVmYXVsdCBhbGlnbm1lbnQuXG4gKi9cbmNvbnN0IF9hbGlnblRleHQgPSAodGV4dCwgd2lkdGgsIGFsaWdubWVudCwgb3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHNwYWNlID0gd2lkdGggLSBleHBvcnRzLl9jb21wdXRlVGV4dFdpZHRoKHRleHQsIG9wdGlvbnMpO1xuICAgIGlmIChzcGFjZSA8IDApIHtcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICAgIHN3aXRjaCAoYWxpZ25tZW50KSB7XG4gICAgICAgIGNhc2UgYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkU6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZGVmYXVsdCBhbGlnbm1lbnQnKTtcbiAgICAgICAgY2FzZSBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTEVGVDpcbiAgICAgICAgICAgIHJldHVybiB0ZXh0ICsgJyAnLnJlcGVhdChzcGFjZSk7XG4gICAgICAgIGNhc2UgYWxpZ25tZW50XzEuQWxpZ25tZW50LlJJR0hUOlxuICAgICAgICAgICAgcmV0dXJuICcgJy5yZXBlYXQoc3BhY2UpICsgdGV4dDtcbiAgICAgICAgY2FzZSBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuQ0VOVEVSOlxuICAgICAgICAgICAgcmV0dXJuICgnICcucmVwZWF0KE1hdGguZmxvb3Ioc3BhY2UgLyAyKSkgK1xuICAgICAgICAgICAgICAgIHRleHQgK1xuICAgICAgICAgICAgICAgICcgJy5yZXBlYXQoTWF0aC5jZWlsKHNwYWNlIC8gMikpKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBhbGlnbm1lbnQ6ICcgKyBhbGlnbm1lbnQpO1xuICAgIH1cbn07XG5leHBvcnRzLl9hbGlnblRleHQgPSBfYWxpZ25UZXh0O1xuLyoqXG4gKiBKdXN0IGFkZHMgb25lIHNwYWNlIHBhZGRpbmdzIHRvIGJvdGggc2lkZXMgb2YgYSB0ZXh0LlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IF9wYWRUZXh0ID0gKHRleHQpID0+IGAgJHt0ZXh0fSBgO1xuZXhwb3J0cy5fcGFkVGV4dCA9IF9wYWRUZXh0O1xuLyoqXG4gKiBGb3JtYXRzIGEgdGFibGUuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgX2Zvcm1hdFRhYmxlID0gKHRhYmxlLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgdGFibGVIZWlnaHQgPSB0YWJsZS5nZXRIZWlnaHQoKTtcbiAgICBjb25zdCB0YWJsZVdpZHRoID0gdGFibGUuZ2V0V2lkdGgoKTtcbiAgICBpZiAodGFibGVIZWlnaHQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogJycsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IG1hcmdpbkxlZnQgPSB0YWJsZS5nZXRSb3dzKClbMF0ubWFyZ2luTGVmdDtcbiAgICBpZiAodGFibGVXaWR0aCA9PT0gMCkge1xuICAgICAgICBjb25zdCByb3dzID0gbmV3IEFycmF5KHRhYmxlSGVpZ2h0KS5maWxsKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhbXSwgbWFyZ2luTGVmdCwgJycpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhYmxlOiBuZXcgdGFibGVfMS5UYWJsZShyb3dzKSxcbiAgICAgICAgICAgIG1hcmdpbkxlZnQsXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8vIGNvbXB1dGUgY29sdW1uIHdpZHRoc1xuICAgIGNvbnN0IGRlbGltaXRlclJvdyA9IHRhYmxlLmdldERlbGltaXRlclJvdygpO1xuICAgIGNvbnN0IGNvbHVtbldpZHRocyA9IG5ldyBBcnJheSh0YWJsZVdpZHRoKS5maWxsKDApO1xuICAgIGlmIChkZWxpbWl0ZXJSb3cgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBkZWxpbWl0ZXJSb3dXaWR0aCA9IGRlbGltaXRlclJvdy5nZXRXaWR0aCgpO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRlbGltaXRlclJvd1dpZHRoOyBqKyspIHtcbiAgICAgICAgICAgIGNvbHVtbldpZHRoc1tqXSA9IG9wdGlvbnMubWluRGVsaW1pdGVyV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJsZUhlaWdodDsgaSsrKSB7XG4gICAgICAgIGlmIChkZWxpbWl0ZXJSb3cgIT09IHVuZGVmaW5lZCAmJiBpID09PSAxKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3cgPSB0YWJsZS5nZXRSb3dzKClbaV07XG4gICAgICAgIGNvbnN0IHJvd1dpZHRoID0gcm93LmdldFdpZHRoKCk7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgcm93V2lkdGg7IGorKykge1xuICAgICAgICAgICAgY29sdW1uV2lkdGhzW2pdID0gTWF0aC5tYXgoY29sdW1uV2lkdGhzW2pdLCBleHBvcnRzLl9jb21wdXRlVGV4dFdpZHRoKHJvdy5nZXRDZWxsQXQoaikuY29udGVudCwgb3B0aW9ucy50ZXh0V2lkdGhPcHRpb25zKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gZ2V0IGNvbHVtbiBhbGlnbm1lbnRzXG4gICAgY29uc3QgYWxpZ25tZW50cyA9IGRlbGltaXRlclJvdyAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gZXhwb3J0cy5fZXh0ZW5kQXJyYXkoZGVsaW1pdGVyUm93LmdldENlbGxzKCkubWFwKChjZWxsKSA9PiBjZWxsLmdldEFsaWdubWVudCgpKSwgdGFibGVXaWR0aCwgXG4gICAgICAgIC8vIFNhZmUgY29udmVyc2lvbiBiZWNhdXNlIERlZmF1bHRBbGlnbm1lbnQgaXMgYSBzdWJzZXQgb2YgQWxpZ25tZW50XG4gICAgICAgICgpID0+IG9wdGlvbnMuZGVmYXVsdEFsaWdubWVudClcbiAgICAgICAgOiBuZXcgQXJyYXkodGFibGVXaWR0aCkuZmlsbChvcHRpb25zLmRlZmF1bHRBbGlnbm1lbnQpO1xuICAgIC8vIGZvcm1hdFxuICAgIGNvbnN0IHJvd3MgPSBbXTtcbiAgICAvLyBoZWFkZXJcbiAgICBjb25zdCBoZWFkZXJSb3cgPSB0YWJsZS5nZXRSb3dzKClbMF07XG4gICAgcm93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhoZWFkZXJSb3dcbiAgICAgICAgLmdldENlbGxzKClcbiAgICAgICAgLm1hcCgoY2VsbCwgaikgPT4gbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoZXhwb3J0cy5fcGFkVGV4dChleHBvcnRzLl9hbGlnblRleHQoY2VsbC5jb250ZW50LCBjb2x1bW5XaWR0aHNbal0sIG9wdGlvbnMuaGVhZGVyQWxpZ25tZW50ID09PSBhbGlnbm1lbnRfMS5IZWFkZXJBbGlnbm1lbnQuRk9MTE9XXG4gICAgICAgID8gYWxpZ25tZW50c1tqXSA9PT0gYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkVcbiAgICAgICAgICAgID8gb3B0aW9ucy5kZWZhdWx0QWxpZ25tZW50XG4gICAgICAgICAgICA6IGFsaWdubWVudHNbal1cbiAgICAgICAgOiBvcHRpb25zLmhlYWRlckFsaWdubWVudCwgb3B0aW9ucy50ZXh0V2lkdGhPcHRpb25zKSkpKSwgbWFyZ2luTGVmdCwgJycpKTtcbiAgICAvLyBkZWxpbWl0ZXJcbiAgICBpZiAoZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcm93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhkZWxpbWl0ZXJSb3dcbiAgICAgICAgICAgIC5nZXRDZWxscygpXG4gICAgICAgICAgICAubWFwKChjZWxsLCBqKSA9PiBuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbChleHBvcnRzLl9kZWxpbWl0ZXJUZXh0KGFsaWdubWVudHNbal0sIGNvbHVtbldpZHRoc1tqXSkpKSwgbWFyZ2luTGVmdCwgJycpKTtcbiAgICB9XG4gICAgLy8gYm9keVxuICAgIGZvciAobGV0IGkgPSBkZWxpbWl0ZXJSb3cgIT09IHVuZGVmaW5lZCA/IDIgOiAxOyBpIDwgdGFibGVIZWlnaHQ7IGkrKykge1xuICAgICAgICBjb25zdCByb3cgPSB0YWJsZS5nZXRSb3dzKClbaV07XG4gICAgICAgIHJvd3MucHVzaChuZXcgdGFibGVfcm93XzEuVGFibGVSb3cocm93XG4gICAgICAgICAgICAuZ2V0Q2VsbHMoKVxuICAgICAgICAgICAgLm1hcCgoY2VsbCwgaikgPT4gbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoZXhwb3J0cy5fcGFkVGV4dChleHBvcnRzLl9hbGlnblRleHQoY2VsbC5jb250ZW50LCBjb2x1bW5XaWR0aHNbal0sIGFsaWdubWVudHNbal0gPT09IGFsaWdubWVudF8xLkFsaWdubWVudC5OT05FXG4gICAgICAgICAgICA/IG9wdGlvbnMuZGVmYXVsdEFsaWdubWVudFxuICAgICAgICAgICAgOiBhbGlnbm1lbnRzW2pdLCBvcHRpb25zLnRleHRXaWR0aE9wdGlvbnMpKSkpLCBtYXJnaW5MZWZ0LCAnJykpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB0YWJsZTogbmV3IHRhYmxlXzEuVGFibGUocm93cyksXG4gICAgICAgIG1hcmdpbkxlZnQsXG4gICAgfTtcbn07XG5leHBvcnRzLl9mb3JtYXRUYWJsZSA9IF9mb3JtYXRUYWJsZTtcbi8qKlxuICogRm9ybWF0cyBhIHRhYmxlIHdlYWtseS5cbiAqIFJvd3MgYXJlIGZvcm1hdHRlZCBpbmRlcGVuZGVudGx5IHRvIGVhY2ggb3RoZXIsIGNlbGwgY29udGVudHMgYXJlIGp1c3QgdHJpbW1lZCBhbmQgbm90IGFsaWduZWQuXG4gKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHVzaW5nIGEgbm9uLW1vbm9zcGFjZWQgZm9udCBvciBkZWFsaW5nIHdpdGggd2lkZSB0YWJsZXMuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgX3dlYWtGb3JtYXRUYWJsZSA9ICh0YWJsZSwgb3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHRhYmxlSGVpZ2h0ID0gdGFibGUuZ2V0SGVpZ2h0KCk7XG4gICAgY29uc3QgdGFibGVXaWR0aCA9IHRhYmxlLmdldFdpZHRoKCk7XG4gICAgaWYgKHRhYmxlSGVpZ2h0ID09PSAwKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0YWJsZSxcbiAgICAgICAgICAgIG1hcmdpbkxlZnQ6ICcnLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBtYXJnaW5MZWZ0ID0gdGFibGUuZ2V0Um93cygpWzBdLm1hcmdpbkxlZnQ7XG4gICAgaWYgKHRhYmxlV2lkdGggPT09IDApIHtcbiAgICAgICAgY29uc3Qgcm93cyA9IG5ldyBBcnJheSh0YWJsZUhlaWdodCkuZmlsbChuZXcgdGFibGVfcm93XzEuVGFibGVSb3coW10sIG1hcmdpbkxlZnQsICcnKSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0YWJsZTogbmV3IHRhYmxlXzEuVGFibGUocm93cyksXG4gICAgICAgICAgICBtYXJnaW5MZWZ0LFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBkZWxpbWl0ZXJSb3cgPSB0YWJsZS5nZXREZWxpbWl0ZXJSb3coKTtcbiAgICAvLyBmb3JtYXRcbiAgICBjb25zdCByb3dzID0gW107XG4gICAgLy8gaGVhZGVyXG4gICAgY29uc3QgaGVhZGVyUm93ID0gdGFibGUuZ2V0Um93cygpWzBdO1xuICAgIHJvd3MucHVzaChuZXcgdGFibGVfcm93XzEuVGFibGVSb3coaGVhZGVyUm93LmdldENlbGxzKCkubWFwKChjZWxsKSA9PiBuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbChleHBvcnRzLl9wYWRUZXh0KGNlbGwuY29udGVudCkpKSwgbWFyZ2luTGVmdCwgJycpKTtcbiAgICAvLyBkZWxpbWl0ZXJcbiAgICBpZiAoZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcm93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhkZWxpbWl0ZXJSb3dcbiAgICAgICAgICAgIC5nZXRDZWxscygpXG4gICAgICAgICAgICAubWFwKChjZWxsKSA9PiBuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbChleHBvcnRzLl9kZWxpbWl0ZXJUZXh0KGNlbGwuZ2V0QWxpZ25tZW50KCksIG9wdGlvbnMubWluRGVsaW1pdGVyV2lkdGgpKSksIG1hcmdpbkxlZnQsICcnKSk7XG4gICAgfVxuICAgIC8vIGJvZHlcbiAgICBmb3IgKGxldCBpID0gZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQgPyAyIDogMTsgaSA8IHRhYmxlSGVpZ2h0OyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gdGFibGUuZ2V0Um93cygpW2ldO1xuICAgICAgICByb3dzLnB1c2gobmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KHJvdy5nZXRDZWxscygpLm1hcCgoY2VsbCkgPT4gbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoZXhwb3J0cy5fcGFkVGV4dChjZWxsLmNvbnRlbnQpKSksIG1hcmdpbkxlZnQsICcnKSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHRhYmxlOiBuZXcgdGFibGVfMS5UYWJsZShyb3dzKSxcbiAgICAgICAgbWFyZ2luTGVmdCxcbiAgICB9O1xufTtcbmV4cG9ydHMuX3dlYWtGb3JtYXRUYWJsZSA9IF93ZWFrRm9ybWF0VGFibGU7XG4vKipcbiAqIFJlcHJlc2VudHMgdGFibGUgZm9ybWF0IHR5cGUuXG4gKlxuICogLSBgRm9ybWF0VHlwZS5OT1JNQUxgIC0gRm9ybWF0cyB0YWJsZSBub3JtYWxseS5cbiAqIC0gYEZvcm1hdFR5cGUuV0VBS2AgLSBGb3JtYXRzIHRhYmxlIHdlYWtseSwgcm93cyBhcmUgZm9ybWF0dGVkIGluZGVwZW5kZW50bHkgdG8gZWFjaCBvdGhlciwgY2VsbFxuICogICBjb250ZW50cyBhcmUganVzdCB0cmltbWVkIGFuZCBub3QgYWxpZ25lZC5cbiAqL1xudmFyIEZvcm1hdFR5cGU7XG4oZnVuY3Rpb24gKEZvcm1hdFR5cGUpIHtcbiAgICBGb3JtYXRUeXBlW1wiTk9STUFMXCJdID0gXCJub3JtYWxcIjtcbiAgICBGb3JtYXRUeXBlW1wiV0VBS1wiXSA9IFwid2Vha1wiO1xufSkoRm9ybWF0VHlwZSA9IGV4cG9ydHMuRm9ybWF0VHlwZSB8fCAoZXhwb3J0cy5Gb3JtYXRUeXBlID0ge30pKTtcbi8qKlxuICogRm9ybWF0cyBhIHRhYmxlLlxuICpcbiAqIEBwcml2YXRlXG4gKlxuICogQHRocm93cyB7RXJyb3J9IFVua25vd24gZm9ybWF0IHR5cGUuXG4gKi9cbmNvbnN0IGZvcm1hdFRhYmxlID0gKHRhYmxlLCBvcHRpb25zKSA9PiB7XG4gICAgc3dpdGNoIChvcHRpb25zLmZvcm1hdFR5cGUpIHtcbiAgICAgICAgY2FzZSBGb3JtYXRUeXBlLk5PUk1BTDpcbiAgICAgICAgICAgIHJldHVybiBleHBvcnRzLl9mb3JtYXRUYWJsZSh0YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgRm9ybWF0VHlwZS5XRUFLOlxuICAgICAgICAgICAgcmV0dXJuIGV4cG9ydHMuX3dlYWtGb3JtYXRUYWJsZSh0YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZm9ybWF0IHR5cGU6ICcgKyBvcHRpb25zLmZvcm1hdFR5cGUpO1xuICAgIH1cbn07XG5leHBvcnRzLmZvcm1hdFRhYmxlID0gZm9ybWF0VGFibGU7XG4vKipcbiAqIEFsdGVycyBhIGNvbHVtbidzIGFsaWdubWVudCBvZiBhIHRhYmxlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGFibGUgLSBBIGNvbXBsZXRlZCBub24tZW1wdHkgdGFibGUuXG4gKiBAcGFyYW0gY29sdW1uSW5kZXggLSBBbiBpbmRleCBvZiB0aGUgY29sdW1uLlxuICogQHBhcmFtIGFsaWdubWVudCAtIEEgbmV3IGFsaWdubWVudCBvZiB0aGUgY29sdW1uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3QgY29udGFpbmluZyBvcHRpb25zIGZvciBjb21wbGV0aW9uLlxuICogQHJldHVybnMge1RhYmxlfSBBbiBhbHRlcmVkIHRhYmxlIG9iamVjdC5cbiAqIElmIHRoZSBjb2x1bW4gaW5kZXggaXMgb3V0IG9mIHJhbmdlLCByZXR1cm5zIHRoZSBvcmlnaW5hbCB0YWJsZS5cbiAqL1xuY29uc3QgYWx0ZXJBbGlnbm1lbnQgPSAodGFibGUsIGNvbHVtbkluZGV4LCBhbGlnbm1lbnQsIG9wdGlvbnMpID0+IHtcbiAgICBpZiAodGFibGUuZ2V0SGVpZ2h0KCkgPCAxKSB7XG4gICAgICAgIHJldHVybiB0YWJsZTtcbiAgICB9XG4gICAgY29uc3QgZGVsaW1pdGVyUm93ID0gdGFibGUuZ2V0Um93cygpWzFdO1xuICAgIGlmIChjb2x1bW5JbmRleCA8IDAgfHwgZGVsaW1pdGVyUm93LmdldFdpZHRoKCkgLSAxIDwgY29sdW1uSW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlO1xuICAgIH1cbiAgICBjb25zdCBkZWxpbWl0ZXJDZWxscyA9IGRlbGltaXRlclJvdy5nZXRDZWxscygpO1xuICAgIGRlbGltaXRlckNlbGxzW2NvbHVtbkluZGV4XSA9IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGV4cG9ydHMuX2RlbGltaXRlclRleHQoYWxpZ25tZW50LCBvcHRpb25zLm1pbkRlbGltaXRlcldpZHRoKSk7XG4gICAgY29uc3Qgcm93cyA9IHRhYmxlLmdldFJvd3MoKTtcbiAgICByb3dzWzFdID0gbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KGRlbGltaXRlckNlbGxzLCBkZWxpbWl0ZXJSb3cubWFyZ2luTGVmdCwgZGVsaW1pdGVyUm93Lm1hcmdpblJpZ2h0KTtcbiAgICByZXR1cm4gbmV3IHRhYmxlXzEuVGFibGUocm93cyk7XG59O1xuZXhwb3J0cy5hbHRlckFsaWdubWVudCA9IGFsdGVyQWxpZ25tZW50O1xuLyoqXG4gKiBJbnNlcnRzIGEgcm93IHRvIGEgdGFibGUuXG4gKiBUaGUgcm93IGlzIGFsd2F5cyBpbnNlcnRlZCBhZnRlciB0aGUgaGVhZGVyIGFuZCB0aGUgZGVsaW1pdGVyIHJvd3MsIGV2ZW4gaWYgdGhlIGluZGV4IHNwZWNpZmllc1xuICogdGhlIGhlYWRlciBvciB0aGUgZGVsaW1pdGVyLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGFibGUgLSBBIGNvbXBsZXRlZCBub24tZW1wdHkgdGFibGUuXG4gKiBAcGFyYW0gcm93SW5kZXggLSBBbiByb3cgaW5kZXggYXQgd2hpY2ggYSBuZXcgcm93IHdpbGwgYmUgaW5zZXJ0ZWQuXG4gKiBAcGFyYW0gcm93IC0gQSB0YWJsZSByb3cgdG8gYmUgaW5zZXJ0ZWQuXG4gKiBAcmV0dXJucyBBbiBhbHRlcmVkIHRhYmxlIG9iZWpjdC5cbiAqL1xuY29uc3QgaW5zZXJ0Um93ID0gKHRhYmxlLCByb3dJbmRleCwgcm93KSA9PiB7XG4gICAgY29uc3Qgcm93cyA9IHRhYmxlLmdldFJvd3MoKTtcbiAgICByb3dzLnNwbGljZShNYXRoLm1heChyb3dJbmRleCwgMiksIDAsIHJvdyk7XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMuaW5zZXJ0Um93ID0gaW5zZXJ0Um93O1xuLyoqXG4gKiBEZWxldGVzIGEgcm93IGluIGEgdGFibGUuXG4gKiBJZiB0aGUgaW5kZXggc3BlY2lmaWVzIHRoZSBoZWFkZXIgcm93LCB0aGUgY2VsbHMgYXJlIGVtcHRpZWQgYnV0IHRoZSByb3cgd2lsbCBub3QgYmUgcmVtb3ZlZC5cbiAqIElmIHRoZSBpbmRleCBzcGVjaWZpZXMgdGhlIGRlbGltaXRlciByb3csIGl0IGRvZXMgbm90aGluZy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHRhYmxlIC0gQSBjb21wbGV0ZWQgbm9uLWVtcHR5IHRhYmxlLlxuICogQHBhcmFtIHJvd0luZGV4IC0gQW4gaW5kZXggb2YgdGhlIHJvdyB0byBiZSBkZWxldGVkLlxuICogQHJldHVybnMgQW4gYWx0ZXJlZCB0YWJsZSBvYmVqY3QuXG4gKi9cbmNvbnN0IGRlbGV0ZVJvdyA9ICh0YWJsZSwgcm93SW5kZXgpID0+IHtcbiAgICBpZiAocm93SW5kZXggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlO1xuICAgIH1cbiAgICBjb25zdCByb3dzID0gdGFibGUuZ2V0Um93cygpO1xuICAgIGlmIChyb3dJbmRleCA9PT0gMCkge1xuICAgICAgICBjb25zdCBoZWFkZXJSb3cgPSByb3dzWzBdO1xuICAgICAgICByb3dzWzBdID0gbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KG5ldyBBcnJheShoZWFkZXJSb3cuZ2V0V2lkdGgoKSkuZmlsbChuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbCgnJykpLCBoZWFkZXJSb3cubWFyZ2luTGVmdCwgaGVhZGVyUm93Lm1hcmdpblJpZ2h0KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJvd3Muc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMuZGVsZXRlUm93ID0gZGVsZXRlUm93O1xuLyoqXG4gKiBNb3ZlcyBhIHJvdyBhdCB0aGUgaW5kZXggdG8gdGhlIHNwZWNpZmllZCBkZXN0aW5hdGlvbi5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHRhYmxlIC0gQSBjb21wbGV0ZWQgbm9uLWVtcHR5IHRhYmxlLlxuICogQHBhcmFtIHJvd0luZGV4IC0gSW5kZXggb2YgdGhlIHJvdyB0byBiZSBtb3ZlZC5cbiAqIEBwYXJhbSBkZXN0SW5kZXggLSBJbmRleCBvZiB0aGUgZGVzdGluYXRpb24uXG4gKiBAcmV0dXJucyBBbiBhbHRlcmVkIHRhYmxlIG9iamVjdC5cbiAqL1xuY29uc3QgbW92ZVJvdyA9ICh0YWJsZSwgcm93SW5kZXgsIGRlc3RJbmRleCkgPT4ge1xuICAgIGlmIChyb3dJbmRleCA8PSAxIHx8IGRlc3RJbmRleCA8PSAxIHx8IHJvd0luZGV4ID09PSBkZXN0SW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlO1xuICAgIH1cbiAgICBjb25zdCByb3dzID0gdGFibGUuZ2V0Um93cygpO1xuICAgIGNvbnN0IHJvdyA9IHJvd3Nbcm93SW5kZXhdO1xuICAgIHJvd3Muc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgICByb3dzLnNwbGljZShkZXN0SW5kZXgsIDAsIHJvdyk7XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMubW92ZVJvdyA9IG1vdmVSb3c7XG4vKipcbiAqIEluc2VydHMgYSBjb2x1bW4gdG8gYSB0YWJsZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHRhYmxlIC0gQSBjb21wbGV0ZWQgbm9uLWVtcHR5IHRhYmxlLlxuICogQHBhcmFtIGNvbHVtbkluZGV4IC0gQW4gY29sdW1uIGluZGV4IGF0IHdoaWNoIHRoZSBuZXcgY29sdW1uIHdpbGwgYmUgaW5zZXJ0ZWQuXG4gKiBAcGFyYW0gY29sdW1uIC0gQW4gYXJyYXkgb2YgY2VsbHMuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCBjb250YWluaW5nIG9wdGlvbnMgZm9yIGNvbXBsZXRpb24uXG4gKiBAcmV0dXJucyBBbiBhbHRlcmVkIHRhYmxlIG9iZWpjdC5cbiAqL1xuY29uc3QgaW5zZXJ0Q29sdW1uID0gKHRhYmxlLCBjb2x1bW5JbmRleCwgY29sdW1uLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgcm93cyA9IHRhYmxlLmdldFJvd3MoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgY29uc3QgY2VsbHMgPSByb3dzW2ldLmdldENlbGxzKCk7XG4gICAgICAgIGNvbnN0IGNlbGwgPSBpID09PSAxXG4gICAgICAgICAgICA/IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGV4cG9ydHMuX2RlbGltaXRlclRleHQoYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkUsIG9wdGlvbnMubWluRGVsaW1pdGVyV2lkdGgpKVxuICAgICAgICAgICAgOiBjb2x1bW5baSA+IDEgPyBpIC0gMSA6IGldO1xuICAgICAgICBjZWxscy5zcGxpY2UoY29sdW1uSW5kZXgsIDAsIGNlbGwpO1xuICAgICAgICByb3dzW2ldID0gbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KGNlbGxzLCByb3cubWFyZ2luTGVmdCwgcm93Lm1hcmdpblJpZ2h0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMuaW5zZXJ0Q29sdW1uID0gaW5zZXJ0Q29sdW1uO1xuLyoqXG4gKiBEZWxldGVzIGEgY29sdW1uIGluIGEgdGFibGUuXG4gKiBJZiB0aGVyZSB3aWxsIGJlIG5vIGNvbHVtbnMgYWZ0ZXIgdGhlIGRlbGV0aW9uLCB0aGUgY2VsbHMgYXJlIGVtcHRpZWQgYnV0IHRoZSBjb2x1bW4gd2lsbCBub3QgYmVcbiAqIHJlbW92ZWQuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB0YWJsZSAtIEEgY29tcGxldGVkIG5vbi1lbXB0eSB0YWJsZS5cbiAqIEBwYXJhbSBjb2x1bW5JbmRleCAtIEFuIGluZGV4IG9mIHRoZSBjb2x1bW4gdG8gYmUgZGVsZXRlZC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9ucyBmb3IgY29tcGxldGlvbi5cbiAqIEByZXR1cm5zIEFuIGFsdGVyZWQgdGFibGUgb2JqZWN0LlxuICovXG5jb25zdCBkZWxldGVDb2x1bW4gPSAodGFibGUsIGNvbHVtbkluZGV4LCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgcm93cyA9IHRhYmxlLmdldFJvd3MoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgbGV0IGNlbGxzID0gcm93LmdldENlbGxzKCk7XG4gICAgICAgIGlmIChjZWxscy5sZW5ndGggPD0gMSkge1xuICAgICAgICAgICAgY2VsbHMgPSBbXG4gICAgICAgICAgICAgICAgbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoaSA9PT0gMVxuICAgICAgICAgICAgICAgICAgICA/IGV4cG9ydHMuX2RlbGltaXRlclRleHQoYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkUsIG9wdGlvbnMubWluRGVsaW1pdGVyV2lkdGgpXG4gICAgICAgICAgICAgICAgICAgIDogJycpLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNlbGxzLnNwbGljZShjb2x1bW5JbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgcm93c1tpXSA9IG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhjZWxscywgcm93Lm1hcmdpbkxlZnQsIHJvdy5tYXJnaW5SaWdodCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgdGFibGVfMS5UYWJsZShyb3dzKTtcbn07XG5leHBvcnRzLmRlbGV0ZUNvbHVtbiA9IGRlbGV0ZUNvbHVtbjtcbi8qKlxuICogTW92ZXMgYSBjb2x1bW4gYXQgdGhlIGluZGV4IHRvIHRoZSBzcGVjaWZpZWQgZGVzdGluYXRpb24uXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB0YWJsZSAtIEEgY29tcGxldGVkIG5vbi1lbXB0eSB0YWJsZS5cbiAqIEBwYXJhbSBjb2x1bW5JbmRleCAtIEluZGV4IG9mIHRoZSBjb2x1bW4gdG8gYmUgbW92ZWQuXG4gKiBAcGFyYW0gZGVzdEluZGV4IC0gSW5kZXggb2YgdGhlIGRlc3RpbmF0aW9uLlxuICogQHJldHVybnMgQW4gYWx0ZXJlZCB0YWJsZSBvYmplY3QuXG4gKi9cbmNvbnN0IG1vdmVDb2x1bW4gPSAodGFibGUsIGNvbHVtbkluZGV4LCBkZXN0SW5kZXgpID0+IHtcbiAgICBpZiAoY29sdW1uSW5kZXggPT09IGRlc3RJbmRleCkge1xuICAgICAgICByZXR1cm4gdGFibGU7XG4gICAgfVxuICAgIGNvbnN0IHJvd3MgPSB0YWJsZS5nZXRSb3dzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93LmdldENlbGxzKCk7XG4gICAgICAgIGNvbnN0IGNlbGwgPSBjZWxsc1tjb2x1bW5JbmRleF07XG4gICAgICAgIGNlbGxzLnNwbGljZShjb2x1bW5JbmRleCwgMSk7XG4gICAgICAgIGNlbGxzLnNwbGljZShkZXN0SW5kZXgsIDAsIGNlbGwpO1xuICAgICAgICByb3dzW2ldID0gbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KGNlbGxzLCByb3cubWFyZ2luTGVmdCwgcm93Lm1hcmdpblJpZ2h0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMubW92ZUNvbHVtbiA9IG1vdmVDb2x1bW47XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2hvcnRlc3RFZGl0U2NyaXB0ID0gZXhwb3J0cy5hcHBseUVkaXRTY3JpcHQgPSBleHBvcnRzLl9hcHBseUNvbW1hbmQgPSBleHBvcnRzLkRlbGV0ZSA9IGV4cG9ydHMuSW5zZXJ0ID0gdm9pZCAwO1xuLyoqXG4gKiBUaGUgYEluc2VydGAgY2xhc3MgcmVwcmVzZW50cyBhbiBpbnNlcnRpb24gb2YgYSBsaW5lLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIEluc2VydCB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRzIGEgbmV3IGBJbnNlcnRgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb3cgLSBSb3cgaW5kZXgsIHN0YXJ0cyBmcm9tIGAwYC5cbiAgICAgKiBAcGFyYW0gbGluZSAtIEEgc3RyaW5nIHRvIGJlIGluc2VydGVkIGF0IHRoZSByb3cuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iocm93LCBsaW5lKSB7XG4gICAgICAgIHRoaXMucm93ID0gcm93O1xuICAgICAgICB0aGlzLmxpbmUgPSBsaW5lO1xuICAgIH1cbn1cbmV4cG9ydHMuSW5zZXJ0ID0gSW5zZXJ0O1xuLyoqXG4gKiBUaGUgYERlbGV0ZWAgY2xhc3MgcmVwcmVzZW50cyBhIGRlbGV0aW9uIG9mIGEgbGluZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBEZWxldGUge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgYERlbGV0ZWAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvdyAtIFJvdyBpbmRleCwgc3RhcnRzIGZyb20gYDBgLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHJvdykge1xuICAgICAgICB0aGlzLnJvdyA9IHJvdztcbiAgICB9XG59XG5leHBvcnRzLkRlbGV0ZSA9IERlbGV0ZTtcbi8qKlxuICogQXBwbGllcyBhIGNvbW1hbmQgdG8gdGhlIHRleHQgZWRpdG9yLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGV4dEVkaXRvciAtIEFuIGludGVyZmFjZSB0byB0aGUgdGV4dCBlZGl0b3IuXG4gKiBAcGFyYW0gY29tbWFuZCAtIEEgY29tbWFuZC5cbiAqIEBwYXJhbSByb3dPZmZzZXQgLSBPZmZzZXQgdG8gdGhlIHJvdyBpbmRleCBvZiB0aGUgY29tbWFuZC5cbiAqL1xuY29uc3QgX2FwcGx5Q29tbWFuZCA9ICh0ZXh0RWRpdG9yLCBjb21tYW5kLCByb3dPZmZzZXQpID0+IHtcbiAgICBpZiAoY29tbWFuZCBpbnN0YW5jZW9mIEluc2VydCkge1xuICAgICAgICB0ZXh0RWRpdG9yLmluc2VydExpbmUocm93T2Zmc2V0ICsgY29tbWFuZC5yb3csIGNvbW1hbmQubGluZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNvbW1hbmQgaW5zdGFuY2VvZiBEZWxldGUpIHtcbiAgICAgICAgdGV4dEVkaXRvci5kZWxldGVMaW5lKHJvd09mZnNldCArIGNvbW1hbmQucm93KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBjb21tYW5kJyk7XG4gICAgfVxufTtcbmV4cG9ydHMuX2FwcGx5Q29tbWFuZCA9IF9hcHBseUNvbW1hbmQ7XG4vKipcbiAqIEFwcGx5IGFuIGVkaXQgc2NyaXB0IChhcnJheSBvZiBjb21tYW5kcykgdG8gdGhlIHRleHQgZWRpdG9yLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGV4dEVkaXRvciAtIEFuIGludGVyZmFjZSB0byB0aGUgdGV4dCBlZGl0b3IuXG4gKiBAcGFyYW0gc2NyaXB0IC0gQW4gYXJyYXkgb2YgY29tbWFuZHMuXG4gKiBUaGUgY29tbWFuZHMgYXJlIGFwcGxpZWQgc2VxdWVudGlhbGx5IGluIHRoZSBvcmRlciBvZiB0aGUgYXJyYXkuXG4gKiBAcGFyYW0gcm93T2Zmc2V0IC0gT2Zmc2V0IHRvIHRoZSByb3cgaW5kZXggb2YgdGhlIGNvbW1hbmRzLlxuICovXG5jb25zdCBhcHBseUVkaXRTY3JpcHQgPSAodGV4dEVkaXRvciwgc2NyaXB0LCByb3dPZmZzZXQpID0+IHtcbiAgICBmb3IgKGNvbnN0IGNvbW1hbmQgb2Ygc2NyaXB0KSB7XG4gICAgICAgIGV4cG9ydHMuX2FwcGx5Q29tbWFuZCh0ZXh0RWRpdG9yLCBjb21tYW5kLCByb3dPZmZzZXQpO1xuICAgIH1cbn07XG5leHBvcnRzLmFwcGx5RWRpdFNjcmlwdCA9IGFwcGx5RWRpdFNjcmlwdDtcbi8qKlxuICogTGlua2VkIGxpc3QgdXNlZCB0byByZW1lbWJlciBlZGl0IHNjcmlwdC5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBJTGlzdCB7XG4gICAgZ2V0IGNhcigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgICB9XG4gICAgZ2V0IGNkcigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgICB9XG4gICAgaXNFbXB0eSgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgICB9XG4gICAgdW5zaGlmdCh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbmV3IENvbnModmFsdWUsIHRoaXMpO1xuICAgIH1cbiAgICB0b0FycmF5KCkge1xuICAgICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgICAgbGV0IHJlc3QgPSB0aGlzO1xuICAgICAgICB3aGlsZSAoIXJlc3QuaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICBhcnIucHVzaChyZXN0LmNhcik7XG4gICAgICAgICAgICByZXN0ID0gcmVzdC5jZHI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG59XG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIE5pbCBleHRlbmRzIElMaXN0IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgZ2V0IGNhcigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbXB0eSBsaXN0Jyk7XG4gICAgfVxuICAgIGdldCBjZHIoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRW1wdHkgbGlzdCcpO1xuICAgIH1cbiAgICBpc0VtcHR5KCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIENvbnMgZXh0ZW5kcyBJTGlzdCB7XG4gICAgY29uc3RydWN0b3IoY2FyLCBjZHIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fY2FyID0gY2FyO1xuICAgICAgICB0aGlzLl9jZHIgPSBjZHI7XG4gICAgfVxuICAgIGdldCBjYXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXI7XG4gICAgfVxuICAgIGdldCBjZHIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jZHI7XG4gICAgfVxuICAgIGlzRW1wdHkoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4vKipcbiAqIENvbXB1dGVzIHRoZSBzaG9ydGVzdCBlZGl0IHNjcmlwdCBiZXR3ZWVuIHR3byBhcnJheXMgb2Ygc3RyaW5ncy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIGZyb20gLSBBbiBhcnJheSBvZiBzdHJpbmcgdGhlIGVkaXQgc3RhcnRzIGZyb20uXG4gKiBAcGFyYW0gdG8gLSBBbiBhcnJheSBvZiBzdHJpbmcgdGhlIGVkaXQgZ29lcyB0by5cbiAqIEBwYXJhbSBbbGltaXQ9LTFdIC0gVXBwZXIgbGltaXQgb2YgZWRpdCBkaXN0YW5jZSB0byBiZSBzZWFyY2hlZC5cbiAqIElmIG5lZ2F0aXZlLCB0aGVyZSBpcyBubyBsaW1pdC5cbiAqIEByZXR1cm5zIFRoZSBzaG9ydGVzdCBlZGl0IHNjcmlwdCB0aGF0IHR1cm5zIGBmcm9tYCBpbnRvIGB0b2A7XG4gKiBgdW5kZWZpbmVkYCBpZiBubyBlZGl0IHNjcmlwdCBpcyBmb3VuZCBpbiB0aGUgZ2l2ZW4gcmFuZ2UuXG4gKi9cbmNvbnN0IHNob3J0ZXN0RWRpdFNjcmlwdCA9IChmcm9tLCB0bywgbGltaXQgPSAtMSkgPT4ge1xuICAgIGNvbnN0IGZyb21MZW4gPSBmcm9tLmxlbmd0aDtcbiAgICBjb25zdCB0b0xlbiA9IHRvLmxlbmd0aDtcbiAgICBjb25zdCBtYXhkID0gbGltaXQgPj0gMCA/IE1hdGgubWluKGxpbWl0LCBmcm9tTGVuICsgdG9MZW4pIDogZnJvbUxlbiArIHRvTGVuO1xuICAgIGNvbnN0IG1lbSA9IG5ldyBBcnJheShNYXRoLm1pbihtYXhkLCBmcm9tTGVuKSArIE1hdGgubWluKG1heGQsIHRvTGVuKSArIDEpO1xuICAgIGNvbnN0IG9mZnNldCA9IE1hdGgubWluKG1heGQsIGZyb21MZW4pO1xuICAgIGZvciAobGV0IGQgPSAwOyBkIDw9IG1heGQ7IGQrKykge1xuICAgICAgICBjb25zdCBtaW5rID0gZCA8PSBmcm9tTGVuID8gLWQgOiBkIC0gMiAqIGZyb21MZW47XG4gICAgICAgIGNvbnN0IG1heGsgPSBkIDw9IHRvTGVuID8gZCA6IC1kICsgMiAqIHRvTGVuO1xuICAgICAgICBmb3IgKGxldCBrID0gbWluazsgayA8PSBtYXhrOyBrICs9IDIpIHtcbiAgICAgICAgICAgIGxldCBpO1xuICAgICAgICAgICAgbGV0IHNjcmlwdDtcbiAgICAgICAgICAgIGlmIChkID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaSA9IDA7XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gbmV3IE5pbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoayA9PT0gLWQpIHtcbiAgICAgICAgICAgICAgICBpID0gbWVtW29mZnNldCArIGsgKyAxXS5pICsgMTtcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBtZW1bb2Zmc2V0ICsgayArIDFdLnNjcmlwdC51bnNoaWZ0KG5ldyBEZWxldGUoaSArIGspKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGsgPT09IGQpIHtcbiAgICAgICAgICAgICAgICBpID0gbWVtW29mZnNldCArIGsgLSAxXS5pO1xuICAgICAgICAgICAgICAgIHNjcmlwdCA9IG1lbVtvZmZzZXQgKyBrIC0gMV0uc2NyaXB0LnVuc2hpZnQobmV3IEluc2VydChpICsgayAtIDEsIHRvW2kgKyBrIC0gMV0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZpID0gbWVtW29mZnNldCArIGsgKyAxXS5pICsgMTtcbiAgICAgICAgICAgICAgICBjb25zdCBoaSA9IG1lbVtvZmZzZXQgKyBrIC0gMV0uaTtcbiAgICAgICAgICAgICAgICBpZiAodmkgPiBoaSkge1xuICAgICAgICAgICAgICAgICAgICBpID0gdmk7XG4gICAgICAgICAgICAgICAgICAgIHNjcmlwdCA9IG1lbVtvZmZzZXQgKyBrICsgMV0uc2NyaXB0LnVuc2hpZnQobmV3IERlbGV0ZShpICsgaykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaSA9IGhpO1xuICAgICAgICAgICAgICAgICAgICBzY3JpcHQgPSBtZW1bb2Zmc2V0ICsgayAtIDFdLnNjcmlwdC51bnNoaWZ0KG5ldyBJbnNlcnQoaSArIGsgLSAxLCB0b1tpICsgayAtIDFdKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2hpbGUgKGkgPCBmcm9tTGVuICYmIGkgKyBrIDwgdG9MZW4gJiYgZnJvbVtpXSA9PT0gdG9baSArIGtdKSB7XG4gICAgICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGsgPT09IHRvTGVuIC0gZnJvbUxlbiAmJiBpID09PSBmcm9tTGVuKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNjcmlwdC50b0FycmF5KCkucmV2ZXJzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWVtW29mZnNldCArIGtdID0geyBpLCBzY3JpcHQgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcbmV4cG9ydHMuc2hvcnRlc3RFZGl0U2NyaXB0ID0gc2hvcnRlc3RFZGl0U2NyaXB0O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLklUZXh0RWRpdG9yID0gdm9pZCAwO1xuLyoqXG4gKiBUaGUgYElUZXh0RWRpdG9yYCByZXByZXNlbnRzIGFuIGludGVyZmFjZSB0byBhIHRleHQgZWRpdG9yLlxuICpcbiAqIEBpbnRlcmZhY2VcbiAqL1xuY2xhc3MgSVRleHRFZGl0b3Ige1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBwb2ludCBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSBjdXJzb3IgcG9zaXRpb24uXG4gICAgICovXG4gICAgZ2V0Q3Vyc29yUG9zaXRpb24oKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiBnZXRDdXJzb3JQb3NpdGlvbicpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjdXJzb3IgcG9zaXRpb24gdG8gYSBzcGVjaWZpZWQgb25lLlxuICAgICAqL1xuICAgIHNldEN1cnNvclBvc2l0aW9uKHBvcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogc2V0Q3Vyc29yUG9zaXRpb24nKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc2VsZWN0aW9uIHJhbmdlLlxuICAgICAqIFRoaXMgbWV0aG9kIGFsc28gZXhwZWN0cyB0aGUgY3Vyc29yIHBvc2l0aW9uIHRvIGJlIG1vdmVkIGFzIHRoZSBlbmQgb2YgdGhlIHNlbGVjdGlvbiByYW5nZS5cbiAgICAgKi9cbiAgICBzZXRTZWxlY3Rpb25SYW5nZShyYW5nZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogc2V0U2VsZWN0aW9uUmFuZ2UnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbGFzdCByb3cgaW5kZXggb2YgdGhlIHRleHQgZWRpdG9yLlxuICAgICAqL1xuICAgIGdldExhc3RSb3coKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiBnZXRMYXN0Um93Jyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgZWRpdG9yIGFjY2VwdHMgYSB0YWJsZSBhdCBhIHJvdyB0byBiZSBlZGl0dGVkLlxuICAgICAqIEl0IHNob3VsZCByZXR1cm4gYGZhbHNlYCBpZiwgZm9yIGV4YW1wbGUsIHRoZSByb3cgaXMgaW4gYSBjb2RlIGJsb2NrIChub3QgTWFya2Rvd24pLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvdyAtIEEgcm93IGluZGV4IGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRhYmxlIGF0IHRoZSByb3cgY2FuIGJlIGVkaXR0ZWQuXG4gICAgICovXG4gICAgYWNjZXB0c1RhYmxlRWRpdChyb3cpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQ6IGFjY2VwdHNUYWJsZUVkaXQnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyBhIGxpbmUgc3RyaW5nIGF0IGEgcm93LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvdyAtIFJvdyBpbmRleCwgc3RhcnRzIGZyb20gYDBgLlxuICAgICAqIEByZXR1cm5zIFRoZSBsaW5lIGF0IHRoZSBzcGVjaWZpZWQgcm93LlxuICAgICAqIFRoZSBsaW5lIG11c3Qgbm90IGNvbnRhaW4gYW4gRU9MIGxpa2UgYFwiXFxuXCJgIG9yIGBcIlxcclwiYC5cbiAgICAgKi9cbiAgICBnZXRMaW5lKHJvdykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogZ2V0TGluZScpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIGEgbGluZSBhdCBhIHNwZWNpZmllZCByb3cuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93IC0gUm93IGluZGV4LCBzdGFydHMgZnJvbSBgMGAuXG4gICAgICogQHBhcmFtIGxpbmUgLSBBIHN0cmluZyB0byBiZSBpbnNlcnRlZC5cbiAgICAgKiBUaGlzIG11c3Qgbm90IGNvbnRhaW4gYW4gRU9MIGxpa2UgYFwiXFxuXCJgIG9yIGBcIlxcclwiYC5cbiAgICAgKi9cbiAgICBpbnNlcnRMaW5lKHJvdywgbGluZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogaW5zZXJ0TGluZScpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGEgbGluZSBhdCBhIHNwZWNpZmllZCByb3cuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93IC0gUm93IGluZGV4LCBzdGFydHMgZnJvbSBgMGAuXG4gICAgICovXG4gICAgZGVsZXRlTGluZShyb3cpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQ6IGRlbGV0ZUxpbmUnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVwbGFjZSBsaW5lcyBpbiBhIHNwZWNpZmllZCByYW5nZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGFydFJvdyAtIFN0YXJ0IHJvdyBpbmRleCwgc3RhcnRzIGZyb20gYDBgLlxuICAgICAqIEBwYXJhbSBlbmRSb3cgLSBFbmQgcm93IGluZGV4LlxuICAgICAqIExpbmVzIGZyb20gYHN0YXJ0Um93YCB0byBgZW5kUm93IC0gMWAgaXMgcmVwbGFjZWQuXG4gICAgICogQHBhcmFtIGxpbmVzIC0gQW4gYXJyYXkgb2Ygc3RyaW5nLlxuICAgICAqIEVhY2ggc3RyaW5ncyBtdXN0IG5vdCBjb250YWluIGFuIEVPTCBsaWtlIGBcIlxcblwiYCBvciBgXCJcXHJcImAuXG4gICAgICovXG4gICAgcmVwbGFjZUxpbmVzKHN0YXJ0Um93LCBlbmRSb3csIGxpbmVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiByZXBsYWNlTGluZXMnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQmF0Y2hlcyBtdWx0aXBsZSBvcGVyYXRpb25zIGFzIGEgc2luZ2xlIHVuZG8vcmVkbyBzdGVwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZ1bmMgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgZXhlY3V0ZXMgc29tZSBvcGVyYXRpb25zIG9uIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKi9cbiAgICB0cmFuc2FjdChmdW5jKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiB0cmFuc2FjdCcpO1xuICAgIH1cbn1cbmV4cG9ydHMuSVRleHRFZGl0b3IgPSBJVGV4dEVkaXRvcjtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWZhdWx0T3B0aW9ucyA9IGV4cG9ydHMub3B0aW9uc1dpdGhEZWZhdWx0cyA9IHZvaWQgMDtcbmNvbnN0IGFsaWdubWVudF8xID0gcmVxdWlyZShcIi4vYWxpZ25tZW50XCIpO1xuY29uc3QgZm9ybWF0dGVyXzEgPSByZXF1aXJlKFwiLi9mb3JtYXR0ZXJcIik7XG5jb25zdCBERUZBVUxUX1RFWFRfV0lEVEhfT1BUSU9OUyA9IHtcbiAgICBub3JtYWxpemU6IHRydWUsXG4gICAgd2lkZUNoYXJzOiBuZXcgU2V0KCksXG4gICAgbmFycm93Q2hhcnM6IG5ldyBTZXQoKSxcbiAgICBhbWJpZ3VvdXNBc1dpZGU6IGZhbHNlLFxufTtcbmNvbnN0IERFRkFVTFRfT1BUSU9OUyA9IHtcbiAgICBsZWZ0TWFyZ2luQ2hhcnM6IG5ldyBTZXQoKSxcbiAgICBmb3JtYXRUeXBlOiBmb3JtYXR0ZXJfMS5Gb3JtYXRUeXBlLk5PUk1BTCxcbiAgICBtaW5EZWxpbWl0ZXJXaWR0aDogMyxcbiAgICBkZWZhdWx0QWxpZ25tZW50OiBhbGlnbm1lbnRfMS5EZWZhdWx0QWxpZ25tZW50LkxFRlQsXG4gICAgaGVhZGVyQWxpZ25tZW50OiBhbGlnbm1lbnRfMS5IZWFkZXJBbGlnbm1lbnQuRk9MTE9XLFxuICAgIHNtYXJ0Q3Vyc29yOiBmYWxzZSxcbn07XG4vKipcbiAqIENyZWF0ZSBhbiBPcHRpb25zIG9iamVjdCBmb3IgdGhlIGZvcm1hdHRlci5cbiAqIFRoZSBkZWZhdWx0IHZhbHVlcyBhcmUgdXNlZCBmb3Igb3B0aW9ucyB0aGF0IGFyZSBub3Qgc3BlY2lmaWVkLlxuICpcbiAqIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBhbmQgZGVmYXVsdCB2YWx1ZXMgYXJlIGxpc3RlZCBiZWxvdy5cbiAqXG4gKiB8IHByb3BlcnR5IG5hbWUgICAgICAgfCB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGVmYXVsdCB2YWx1ZSAgICAgICAgICAgIHxcbiAqIHwgLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfFxuICogfCBgbGVmdE1hcmdpbkNoYXJzYCAgIHwge0BsaW5rIFNldH0mbHQ7e0BsaW5rIHN0cmluZ30mZ3Q7IHwgQSBzZXQgb2YgYWRkaXRpb25hbCBsZWZ0IG1hcmdpbiBjaGFyYWN0ZXJzLiAgICAgICAgICAgICB8IGBuZXcgU2V0KClgICAgICAgICAgICAgICB8XG4gKiB8IGBmb3JtYXRUeXBlYCAgICAgICAgfCB7QGxpbmsgRm9ybWF0VHlwZX0gICAgICAgICAgICAgICAgfCBGb3JtYXQgdHlwZSwgbm9ybWFsIG9yIHdlYWsuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYEZvcm1hdFR5cGUuTk9STUFMYCAgICAgIHxcbiAqIHwgYG1pbkRlbGltaXRlcldpZHRoYCB8IHtAbGluayBudW1iZXJ9ICAgICAgICAgICAgICAgICAgICB8IE1pbmltdW0gd2lkdGggb2YgZGVsaW1pdGVycy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgM2AgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgZGVmYXVsdEFsaWdubWVudGAgIHwge0BsaW5rIERlZmF1bHRBbGlnbm1lbnR9ICAgICAgICAgIHwgRGVmYXVsdCBhbGlnbm1lbnQgb2YgY29sdW1ucy4gICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBEZWZhdWx0QWxpZ25tZW50LkxFRlRgICB8XG4gKiB8IGBoZWFkZXJBbGlnbm1lbnRgICAgfCB7QGxpbmsgSGVhZGVyQWxpZ25tZW50fSAgICAgICAgICAgfCBBbGlnbm1lbnQgb2YgaGVhZGVyIGNlbGxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYEhlYWRlckFsaWdubWVudC5GT0xMT1dgIHxcbiAqIHwgYHRleHRXaWR0aE9wdGlvbnNgICB8IHtAbGluayBUZXh0V2lkdGhPcHRpb25zfSAgICAgICAgICB8IEFuIG9iamVjdCBjb250YWluaW5nIG9wdGlvbnMgZm9yIGNvbXB1dGluZyB0ZXh0IHdpZHRocy4gfCAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgc21hcnRDdXJzb3JgICAgICAgIHwge0BsaW5rIGJvb2xlYW59ICAgICAgICAgICAgICAgICAgIHwgRW5hYmxlcyBcIlNtYXJ0IEN1cnNvclwiIGZlYXR1cmUuICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGZhbHNlYCAgICAgICAgICAgICAgICAgIHxcbiAqXG4gKiBUaGUgYXZhaWxhYmxlIG9wdGlvbnMgZm9yIGB0ZXh0V2lkdGhPcHRpb25zYCBhcmUgdGhlIGZvbGxvd2luZyBvbmVzLlxuICpcbiAqIHwgcHJvcGVydHkgbmFtZSAgICAgfCB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRlZmF1bHQgdmFsdWUgfFxuICogfCAtLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLSB8XG4gKiB8IGBub3JtYWxpemVgICAgICAgIHwge0BsaW5rIGJvb2xlYW59ICAgICAgICAgICAgICAgICAgIHwgTm9ybWFsaXplcyB0ZXh0cyBiZWZvcmUgY29tcHV0aW5nIHRleHQgd2lkdGhzLiAgICAgICAgfCBgdHJ1ZWAgICAgICAgIHxcbiAqIHwgYHdpZGVDaGFyc2AgICAgICAgfCB7QGxpbmsgU2V0fSZsdDt7QGxpbmsgc3RyaW5nfSZndDsgfCBBIHNldCBvZiBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgd2lkZS4gICB8IGBuZXcgU2V0KClgICAgfFxuICogfCBgbmFycm93Q2hhcnNgICAgICB8IHtAbGluayBTZXR9Jmx0O3tAbGluayBzdHJpbmd9Jmd0OyB8IEEgc2V0IG9mIGNoYXJhY3RlcnMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBuYXJyb3cuIHwgYG5ldyBTZXQoKWAgICB8XG4gKiB8IGBhbWJpZ3VvdXNBc1dpZGVgIHwge0BsaW5rIGJvb2xlYW59ICAgICAgICAgICAgICAgICAgIHwgVHJlYXRzIEVhc3QgQXNpYW4gQW1iaWd1b3VzIGNoYXJhY3RlcnMgYXMgd2lkZS4gICAgICAgfCBgZmFsc2VgICAgICAgIHxcbiAqXG4gKi9cbmNvbnN0IG9wdGlvbnNXaXRoRGVmYXVsdHMgPSAob3B0aW9ucykgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX09QVElPTlMpLCBvcHRpb25zKSwgeyB0ZXh0V2lkdGhPcHRpb25zOiBvcHRpb25zLnRleHRXaWR0aE9wdGlvbnNcbiAgICAgICAgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfVEVYVF9XSURUSF9PUFRJT05TKSwgb3B0aW9ucy50ZXh0V2lkdGhPcHRpb25zKSA6IERFRkFVTFRfVEVYVF9XSURUSF9PUFRJT05TIH0pKTtcbmV4cG9ydHMub3B0aW9uc1dpdGhEZWZhdWx0cyA9IG9wdGlvbnNXaXRoRGVmYXVsdHM7XG5leHBvcnRzLmRlZmF1bHRPcHRpb25zID0gZXhwb3J0cy5vcHRpb25zV2l0aERlZmF1bHRzKHt9KTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UYWJsZUVkaXRvciA9IGV4cG9ydHMuX2NvbXB1dGVOZXdPZmZzZXQgPSBleHBvcnRzLl9jcmVhdGVJc1RhYmxlRm9ybXVsYVJlZ2V4ID0gZXhwb3J0cy5fY3JlYXRlSXNUYWJsZVJvd1JlZ2V4ID0gZXhwb3J0cy5Tb3J0T3JkZXIgPSB2b2lkIDA7XG5jb25zdCBlZGl0X3NjcmlwdF8xID0gcmVxdWlyZShcIi4vZWRpdC1zY3JpcHRcIik7XG5jb25zdCBmb2N1c18xID0gcmVxdWlyZShcIi4vZm9jdXNcIik7XG5jb25zdCBmb3JtYXR0ZXJfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlclwiKTtcbmNvbnN0IHBhcnNlcl8xID0gcmVxdWlyZShcIi4vcGFyc2VyXCIpO1xuY29uc3QgcG9pbnRfMSA9IHJlcXVpcmUoXCIuL3BvaW50XCIpO1xuY29uc3QgcmFuZ2VfMSA9IHJlcXVpcmUoXCIuL3JhbmdlXCIpO1xuY29uc3QgdGFibGVfMSA9IHJlcXVpcmUoXCIuL3RhYmxlXCIpO1xuY29uc3QgdGFibGVfY2VsbF8xID0gcmVxdWlyZShcIi4vdGFibGUtY2VsbFwiKTtcbmNvbnN0IHRhYmxlX3Jvd18xID0gcmVxdWlyZShcIi4vdGFibGUtcm93XCIpO1xudmFyIFNvcnRPcmRlcjtcbihmdW5jdGlvbiAoU29ydE9yZGVyKSB7XG4gICAgU29ydE9yZGVyW1wiQXNjZW5kaW5nXCJdID0gXCJhc2NlbmRpbmdcIjtcbiAgICBTb3J0T3JkZXJbXCJEZXNjZW5kaW5nXCJdID0gXCJkZXNjZW5kaW5nXCI7XG59KShTb3J0T3JkZXIgPSBleHBvcnRzLlNvcnRPcmRlciB8fCAoZXhwb3J0cy5Tb3J0T3JkZXIgPSB7fSkpO1xuLyoqXG4gKiBDcmVhdGVzIGEgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCB0aGF0IG1hdGNoZXMgYSB0YWJsZSByb3cuXG4gKlxuICogQHBhcmFtIGxlZnRNYXJnaW5DaGFycyAtIEEgc2V0IG9mIGFkZGl0aW9uYWwgbGVmdCBtYXJnaW4gY2hhcmFjdGVycy5cbiAqIEEgcGlwZSBgfGAsIGEgYmFja3NsYXNoIGBcXGAsIGFuZCBhIGJhY2txdW90ZSB3aWxsIGJlIGlnbm9yZWQuXG4gKiBAcmV0dXJucyBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgdGhhdCBtYXRjaGVzIGEgdGFibGUgcm93LlxuICovXG5jb25zdCBfY3JlYXRlSXNUYWJsZVJvd1JlZ2V4ID0gKGxlZnRNYXJnaW5DaGFycykgPT4gbmV3IFJlZ0V4cChgXiR7cGFyc2VyXzEubWFyZ2luUmVnZXhTcmMobGVmdE1hcmdpbkNoYXJzKX1cXFxcfGAsICd1Jyk7XG5leHBvcnRzLl9jcmVhdGVJc1RhYmxlUm93UmVnZXggPSBfY3JlYXRlSXNUYWJsZVJvd1JlZ2V4O1xuY29uc3QgX2NyZWF0ZUlzVGFibGVGb3JtdWxhUmVnZXggPSAobGVmdE1hcmdpbkNoYXJzKSA9PiBuZXcgUmVnRXhwKGBeJHtwYXJzZXJfMS5tYXJnaW5SZWdleFNyYyhsZWZ0TWFyZ2luQ2hhcnMpfTwhLS0gPy4rLS0+JGAsICd1Jyk7XG5leHBvcnRzLl9jcmVhdGVJc1RhYmxlRm9ybXVsYVJlZ2V4ID0gX2NyZWF0ZUlzVGFibGVGb3JtdWxhUmVnZXg7XG4vKipcbiAqIENvbXB1dGVzIG5ldyBmb2N1cyBvZmZzZXQgZnJvbSBpbmZvcm1hdGlvbiBvZiBjb21wbGV0ZWQgYW5kIGZvcm1hdHRlZCB0YWJsZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBmb2N1cyAtIEEgZm9jdXMuXG4gKiBAcGFyYW0gdGFibGUgLSBBIGNvbXBsZXRlZCBidXQgbm90IGZvcm1hdHRlZCB0YWJsZSB3aXRoIG9yaWdpbmFsIGNlbGwgY29udGVudHMuXG4gKiBAcGFyYW0gZm9ybWF0dGVkIC0gSW5mb3JtYXRpb24gb2YgdGhlIGZvcm1hdHRlZCB0YWJsZS5cbiAqIEBwYXJhbSBtb3ZlZCAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb2N1cyBwb3NpdGlvbiBpcyBtb3ZlZCBieSBhIGNvbW1hbmQgb3Igbm90LlxuICovXG5jb25zdCBfY29tcHV0ZU5ld09mZnNldCA9IChmb2N1cywgdGFibGUsIGZvcm1hdHRlZCwgbW92ZWQpID0+IHtcbiAgICBpZiAobW92ZWQpIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRm9jdXNlZENlbGwgPSBmb3JtYXR0ZWQudGFibGUuZ2V0Rm9jdXNlZENlbGwoZm9jdXMpO1xuICAgICAgICBpZiAoZm9ybWF0dGVkRm9jdXNlZENlbGwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEZvY3VzZWRDZWxsLmNvbXB1dGVSYXdPZmZzZXQoMCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvY3VzLmNvbHVtbiA8IDAgPyBmb3JtYXR0ZWQubWFyZ2luTGVmdC5sZW5ndGggOiAwO1xuICAgIH1cbiAgICBjb25zdCBmb2N1c2VkQ2VsbCA9IHRhYmxlLmdldEZvY3VzZWRDZWxsKGZvY3VzKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRGb2N1c2VkQ2VsbCA9IGZvcm1hdHRlZC50YWJsZS5nZXRGb2N1c2VkQ2VsbChmb2N1cyk7XG4gICAgaWYgKGZvY3VzZWRDZWxsICE9PSB1bmRlZmluZWQgJiYgZm9ybWF0dGVkRm9jdXNlZENlbGwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBjb250ZW50T2Zmc2V0ID0gTWF0aC5taW4oZm9jdXNlZENlbGwuY29tcHV0ZUNvbnRlbnRPZmZzZXQoZm9jdXMub2Zmc2V0KSwgZm9ybWF0dGVkRm9jdXNlZENlbGwuY29udGVudC5sZW5ndGgpO1xuICAgICAgICByZXR1cm4gZm9ybWF0dGVkRm9jdXNlZENlbGwuY29tcHV0ZVJhd09mZnNldChjb250ZW50T2Zmc2V0KTtcbiAgICB9XG4gICAgcmV0dXJuIGZvY3VzLmNvbHVtbiA8IDAgPyBmb3JtYXR0ZWQubWFyZ2luTGVmdC5sZW5ndGggOiAwO1xufTtcbmV4cG9ydHMuX2NvbXB1dGVOZXdPZmZzZXQgPSBfY29tcHV0ZU5ld09mZnNldDtcbi8qKlxuICogVGhlIGBUYWJsZUVkaXRvcmAgY2xhc3MgaXMgYXQgdGhlIGNlbnRlciBvZiB0aGUgbWFya2Rvd24tdGFibGUtZWRpdG9yLlxuICogV2hlbiBhIGNvbW1hbmQgaXMgZXhlY3V0ZWQsIGl0IHJlYWRzIGEgdGFibGUgZnJvbSB0aGUgdGV4dCBlZGl0b3IsIGRvZXMgc29tZSBvcGVyYXRpb24gb24gdGhlXG4gKiB0YWJsZSwgYW5kIHRoZW4gYXBwbHkgdGhlIHJlc3VsdCB0byB0aGUgdGV4dCBlZGl0b3IuXG4gKlxuICogVG8gdXNlIHRoaXMgY2xhc3MsIHRoZSB0ZXh0IGVkaXRvciAob3IgYW4gaW50ZXJmYWNlIHRvIGl0KSBtdXN0IGltcGxlbWVudCB7QGxpbmsgSVRleHRFZGl0b3J9LlxuICovXG5jbGFzcyBUYWJsZUVkaXRvciB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyB0YWJsZSBlZGl0b3IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGV4dEVkaXRvciAtIEEgdGV4dCBlZGl0b3IgaW50ZXJmYWNlLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHRleHRFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5fdGV4dEVkaXRvciA9IHRleHRFZGl0b3I7XG4gICAgICAgIC8vIHNtYXJ0IGN1cnNvclxuICAgICAgICB0aGlzLl9zY0FjdGl2ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNldHMgdGhlIHNtYXJ0IGN1cnNvci5cbiAgICAgKiBDYWxsIHRoaXMgbWV0aG9kIHdoZW4gdGhlIHRhYmxlIGVkaXRvciBpcyBpbmFjdGl2YXRlZC5cbiAgICAgKi9cbiAgICByZXNldFNtYXJ0Q3Vyc29yKCkge1xuICAgICAgICB0aGlzLl9zY0FjdGl2ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGN1cnNvciBpcyBpbiBhIHRhYmxlIHJvdy4gUmV0dXJucyBmYWxzZSBpZiB0aGUgY3Vyc29yIGlzIGluIGFcbiAgICAgKiB0YWJsZSBmb3JtdWxhIHJvdyAoc2VlIGN1cnNvcklzSW5UYWJsZUZvcm11bGEpLlxuICAgICAqIFRoaXMgaXMgdXNlZnVsIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHRhYmxlIGVkaXRvciBzaG91bGQgYmUgYWN0aXZhdGVkIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY3Vyc29yIGlzIGluIGEgdGFibGUgcm93LlxuICAgICAqL1xuICAgIGN1cnNvcklzSW5UYWJsZShvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHJlID0gZXhwb3J0cy5fY3JlYXRlSXNUYWJsZVJvd1JlZ2V4KG9wdGlvbnMubGVmdE1hcmdpbkNoYXJzKTtcbiAgICAgICAgY29uc3QgcG9zID0gdGhpcy5fdGV4dEVkaXRvci5nZXRDdXJzb3JQb3NpdGlvbigpO1xuICAgICAgICByZXR1cm4gKHRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChwb3Mucm93KSAmJlxuICAgICAgICAgICAgcmUudGVzdCh0aGlzLl90ZXh0RWRpdG9yLmdldExpbmUocG9zLnJvdykpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBjdXJzb3IgaXMgaW4gYSBmb3JtdWxhIHJvdyBiZWxvdyBhIHRhYmxlLlxuICAgICAqIFRoaXMgaXMgdXNlZnVsIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHRhYmxlIGVkaXRvciBzaG91bGQgYmUgYWN0aXZhdGVkIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY3Vyc29yIGlzIGluIGEgZm9ybXVsYSByb3cuXG4gICAgICovXG4gICAgY3Vyc29ySXNJblRhYmxlRm9ybXVsYShvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IGZvcm11bGFSZSA9IGV4cG9ydHMuX2NyZWF0ZUlzVGFibGVGb3JtdWxhUmVnZXgob3B0aW9ucy5sZWZ0TWFyZ2luQ2hhcnMpO1xuICAgICAgICBjb25zdCBwb3MgPSB0aGlzLl90ZXh0RWRpdG9yLmdldEN1cnNvclBvc2l0aW9uKCk7XG4gICAgICAgIHJldHVybiAodGhpcy5fdGV4dEVkaXRvci5hY2NlcHRzVGFibGVFZGl0KHBvcy5yb3cpICYmXG4gICAgICAgICAgICBmb3JtdWxhUmUudGVzdCh0aGlzLl90ZXh0RWRpdG9yLmdldExpbmUocG9zLnJvdykpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRmluZHMgYSB0YWJsZSB1bmRlciB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm8gdGFibGUgb3IgdGhlIGRldGVybWluZWQgZm9jdXMgaXMgaW52YWxpZC5cbiAgICAgKi9cbiAgICBfZmluZFRhYmxlKG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcmUgPSBleHBvcnRzLl9jcmVhdGVJc1RhYmxlUm93UmVnZXgob3B0aW9ucy5sZWZ0TWFyZ2luQ2hhcnMpO1xuICAgICAgICBjb25zdCBmb3JtdWxhUmUgPSBleHBvcnRzLl9jcmVhdGVJc1RhYmxlRm9ybXVsYVJlZ2V4KG9wdGlvbnMubGVmdE1hcmdpbkNoYXJzKTtcbiAgICAgICAgbGV0IHBvcyA9IHRoaXMuX3RleHRFZGl0b3IuZ2V0Q3Vyc29yUG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgbGFzdFJvdyA9IHRoaXMuX3RleHRFZGl0b3IuZ2V0TGFzdFJvdygpO1xuICAgICAgICBjb25zdCBsaW5lcyA9IFtdO1xuICAgICAgICBjb25zdCBmb3JtdWxhTGluZXMgPSBbXTtcbiAgICAgICAgbGV0IHN0YXJ0Um93ID0gcG9zLnJvdztcbiAgICAgICAgbGV0IGVuZFJvdyA9IHBvcy5yb3c7IC8vIGVuZFJvdyBpcyBsYXN0IGxpbmUgYmVmb3JlIGZvbXVsYXNcbiAgICAgICAgLy8gaWYgdGhlIGN1cnNvciBpcyBvbiBmb3JtdWxhIGxpbmUsIHdvcmsgdXAgdW50aWwgd2UgZmluZCB0aGUgbGFzdCByb3cgb2YgdGhlIHRhYmxlXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxldCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHBvcy5yb3cpO1xuICAgICAgICAgICAgd2hpbGUgKGZvcm11bGFSZS50ZXN0KGxpbmUpICYmIHBvcy5yb3cgPj0gMCkge1xuICAgICAgICAgICAgICAgIHBvcyA9IG5ldyBwb2ludF8xLlBvaW50KHBvcy5yb3cgLSAxLCBwb3MuY29sdW1uKTtcbiAgICAgICAgICAgICAgICBlbmRSb3ctLTtcbiAgICAgICAgICAgICAgICBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHBvcy5yb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGN1cnJlbnQgbGluZVxuICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHBvcy5yb3cpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl90ZXh0RWRpdG9yLmFjY2VwdHNUYWJsZUVkaXQocG9zLnJvdykgfHwgIXJlLnRlc3QobGluZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGluZXMucHVzaChsaW5lKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBwcmV2aW91cyBsaW5lc1xuICAgICAgICBmb3IgKGxldCByb3cgPSBwb3Mucm93IC0gMTsgcm93ID49IDA7IHJvdy0tKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHJvdyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChyb3cpIHx8ICFyZS50ZXN0KGxpbmUpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5lcy51bnNoaWZ0KGxpbmUpO1xuICAgICAgICAgICAgc3RhcnRSb3cgPSByb3c7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbmV4dCBsaW5lc1xuICAgICAgICBmb3IgKGxldCByb3cgPSBwb3Mucm93ICsgMTsgcm93IDw9IGxhc3RSb3c7IHJvdysrKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHJvdyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChyb3cpIHx8ICFyZS50ZXN0KGxpbmUpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5lcy5wdXNoKGxpbmUpO1xuICAgICAgICAgICAgZW5kUm93ID0gcm93O1xuICAgICAgICB9XG4gICAgICAgIC8vIGZvcm11bGEgbGluZXNcbiAgICAgICAgZm9yIChsZXQgcm93ID0gZW5kUm93ICsgMTsgcm93IDw9IGxhc3RSb3c7IHJvdysrKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHJvdyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChyb3cpIHx8ICFmb3JtdWxhUmUudGVzdChsaW5lKSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9ybXVsYUxpbmVzLnB1c2gobGluZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgcmFuZ2VfMS5SYW5nZShuZXcgcG9pbnRfMS5Qb2ludChzdGFydFJvdywgMCksIG5ldyBwb2ludF8xLlBvaW50KGVuZFJvdywgbGluZXNbbGluZXMubGVuZ3RoIC0gMV0ubGVuZ3RoKSk7XG4gICAgICAgIGNvbnN0IHRhYmxlID0gcGFyc2VyXzEucmVhZFRhYmxlKGxpbmVzLCBvcHRpb25zKTtcbiAgICAgICAgY29uc3QgZm9jdXMgPSB0YWJsZS5mb2N1c09mUG9zaXRpb24ocG9zLCBzdGFydFJvdyk7XG4gICAgICAgIGlmIChmb2N1cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBWYWxpZGF0ZSB0aGlzIGZvciBjb3JyZWN0bmVzc1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgdGFibGUsIGZvY3VzIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZpbmRzIGEgdGFibGUgYW5kIGRvZXMgYW4gb3BlcmF0aW9uIHdpdGggaXQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSBmdW5jIC0gQSBmdW5jdGlvbiB0aGF0IGRvZXMgc29tZSBvcGVyYXRpb24gb24gdGFibGUgaW5mb3JtYXRpb24gb2J0YWluZWQgYnlcbiAgICAgKiB7QGxpbmsgVGFibGVFZGl0b3IjX2ZpbmRUYWJsZX0uXG4gICAgICovXG4gICAgX3dpdGhUYWJsZShvcHRpb25zLCBmdW5jKSB7XG4gICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLl9maW5kVGFibGUob3B0aW9ucyk7XG4gICAgICAgIGlmIChpbmZvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuYyhpbmZvKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBsaW5lcyBpbiBhIGdpdmVuIHJhbmdlIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHN0YXJ0Um93IC0gU3RhcnQgcm93IGluZGV4LCBzdGFydHMgZnJvbSBgMGAuXG4gICAgICogQHBhcmFtIGVuZFJvdyAtIEVuZCByb3cgaW5kZXguXG4gICAgICogTGluZXMgZnJvbSBgc3RhcnRSb3dgIHRvIGBlbmRSb3cgLSAxYCBhcmUgcmVwbGFjZWQuXG4gICAgICogQHBhcmFtIG5ld0xpbmVzIC0gTmV3IGxpbmVzLlxuICAgICAqIEBwYXJhbSBbb2xkTGluZXM9dW5kZWZpbmVkXSAtIE9sZCBsaW5lcyB0byBiZSByZXBsYWNlZC5cbiAgICAgKi9cbiAgICBfdXBkYXRlTGluZXMoc3RhcnRSb3csIGVuZFJvdywgbmV3TGluZXMsIG9sZExpbmVzID0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChvbGRMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBhcHBseSB0aGUgc2hvcnRlc3QgZWRpdCBzY3JpcHRcbiAgICAgICAgICAgIC8vIGlmIGEgdGFibGUgaXMgZWRpdGVkIGluIGEgbm9ybWFsIG1hbm5lciwgdGhlIGVkaXQgZGlzdGFuY2UgbmV2ZXIgZXhjZWVkcyAzXG4gICAgICAgICAgICBjb25zdCBzZXMgPSBlZGl0X3NjcmlwdF8xLnNob3J0ZXN0RWRpdFNjcmlwdChvbGRMaW5lcywgbmV3TGluZXMsIDMpO1xuICAgICAgICAgICAgaWYgKHNlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZWRpdF9zY3JpcHRfMS5hcHBseUVkaXRTY3JpcHQodGhpcy5fdGV4dEVkaXRvciwgc2VzLCBzdGFydFJvdyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3RleHRFZGl0b3IucmVwbGFjZUxpbmVzKHN0YXJ0Um93LCBlbmRSb3csIG5ld0xpbmVzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTW92ZXMgdGhlIGN1cnNvciBwb3NpdGlvbiB0byB0aGUgZm9jdXNlZCBjZWxsLFxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0gc3RhcnRSb3cgLSBSb3cgaW5kZXggd2hlcmUgdGhlIHRhYmxlIHN0YXJ0cyBpbiB0aGUgdGV4dCBlZGl0b3IuXG4gICAgICogQHBhcmFtIHRhYmxlIC0gQSB0YWJsZS5cbiAgICAgKiBAcGFyYW0gZm9jdXMgLSBBIGZvY3VzIHRvIHdoaWNoIHRoZSBjdXJzb3Igd2lsbCBiZSBtb3ZlZC5cbiAgICAgKi9cbiAgICBfbW92ZVRvRm9jdXMoc3RhcnRSb3csIHRhYmxlLCBmb2N1cykge1xuICAgICAgICBjb25zdCBwb3MgPSB0YWJsZS5wb3NpdGlvbk9mRm9jdXMoZm9jdXMsIHN0YXJ0Um93KTtcbiAgICAgICAgaWYgKHBvcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNldEN1cnNvclBvc2l0aW9uKHBvcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogU2VsZWN0cyB0aGUgZm9jdXNlZCBjZWxsLlxuICAgICAqIElmIHRoZSBjZWxsIGhhcyBubyBjb250ZW50IHRvIGJlIHNlbGVjdGVkLCB0aGVuIGp1c3QgbW92ZXMgdGhlIGN1cnNvciBwb3NpdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHN0YXJ0Um93IC0gUm93IGluZGV4IHdoZXJlIHRoZSB0YWJsZSBzdGFydHMgaW4gdGhlIHRleHQgZWRpdG9yLlxuICAgICAqIEBwYXJhbSB0YWJsZSAtIEEgdGFibGUuXG4gICAgICogQHBhcmFtIGZvY3VzIC0gQSBmb2N1cyB0byBiZSBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBfc2VsZWN0Rm9jdXMoc3RhcnRSb3csIHRhYmxlLCBmb2N1cykge1xuICAgICAgICBjb25zdCByYW5nZSA9IHRhYmxlLnNlbGVjdGlvblJhbmdlT2ZGb2N1cyhmb2N1cywgc3RhcnRSb3cpO1xuICAgICAgICBpZiAocmFuZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci5zZXRTZWxlY3Rpb25SYW5nZShyYW5nZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9tb3ZlVG9Gb2N1cyhzdGFydFJvdywgdGFibGUsIGZvY3VzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBGb3JtYXRzIHRoZSB0YWJsZSB1bmRlciB0aGUgY3Vyc29yLlxuICAgICAqL1xuICAgIGZvcm1hdChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBhcHBseVxuICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgdGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW92ZVRvRm9jdXMocmFuZ2Uuc3RhcnQucm93LCB0YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGb3JtYXRzIGFuZCBlc2NhcGVzIGZyb20gdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIGVzY2FwZShvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3dpdGhUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIHRhYmxlLCBmb2N1cyB9KSA9PiB7XG4gICAgICAgICAgICAvLyBjb21wbGV0ZVxuICAgICAgICAgICAgY29uc3QgY29tcGxldGVkID0gZm9ybWF0dGVyXzEuY29tcGxldGVUYWJsZSh0YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAvLyBmb3JtYXRcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKGNvbXBsZXRlZC50YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAvLyBhcHBseVxuICAgICAgICAgICAgY29uc3QgbmV3Um93ID0gcmFuZ2UuZW5kLnJvdyArIChjb21wbGV0ZWQuZGVsaW1pdGVySW5zZXJ0ZWQgPyAyIDogMSk7XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgbGV0IG5ld1BvcztcbiAgICAgICAgICAgICAgICBpZiAobmV3Um93ID4gdGhpcy5fdGV4dEVkaXRvci5nZXRMYXN0Um93KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci5pbnNlcnRMaW5lKG5ld1JvdywgJycpO1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3MgPSBuZXcgcG9pbnRfMS5Qb2ludChuZXdSb3csIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKGBeJHtwYXJzZXJfMS5tYXJnaW5SZWdleFNyYyhvcHRpb25zLmxlZnRNYXJnaW5DaGFycyl9YCwgJ3UnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dExpbmUgPSB0aGlzLl90ZXh0RWRpdG9yLmdldExpbmUobmV3Um93KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmdpbiA9IHJlLmV4ZWMobmV4dExpbmUpWzBdO1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3MgPSBuZXcgcG9pbnRfMS5Qb2ludChuZXdSb3csIG1hcmdpbi5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNldEN1cnNvclBvc2l0aW9uKG5ld1Bvcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucmVzZXRTbWFydEN1cnNvcigpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWx0ZXJzIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGZvY3VzZWQgY29sdW1uLlxuICAgICAqL1xuICAgIGFsaWduQ29sdW1uKGFsaWdubWVudCwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLndpdGhDb21wbGV0ZWRUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIHRhYmxlLCBmb2N1cyB9KSA9PiB7XG4gICAgICAgICAgICBsZXQgbmV3Rm9jdXMgPSBmb2N1cztcbiAgICAgICAgICAgIC8vIGFsdGVyIGFsaWdubWVudFxuICAgICAgICAgICAgbGV0IGFsdGVyZWQgPSB0YWJsZTtcbiAgICAgICAgICAgIGlmICgwIDw9IG5ld0ZvY3VzLmNvbHVtbiAmJlxuICAgICAgICAgICAgICAgIG5ld0ZvY3VzLmNvbHVtbiA8PSBhbHRlcmVkLmdldEhlYWRlcldpZHRoKCkgLSAxKSB7XG4gICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLmFsdGVyQWxpZ25tZW50KHRhYmxlLCBuZXdGb2N1cy5jb2x1bW4sIGFsaWdubWVudCwgb3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBmb3JtYXRcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKGFsdGVyZWQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgdGFibGUsIGZvcm1hdHRlZCwgZmFsc2UpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW92ZVRvRm9jdXMocmFuZ2Uuc3RhcnQucm93LCBmb3JtYXR0ZWQudGFibGUsIG5ld0ZvY3VzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2VsZWN0cyB0aGUgZm9jdXNlZCBjZWxsIGNvbnRlbnQuXG4gICAgICovXG4gICAgc2VsZWN0Q2VsbChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBhcHBseVxuICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgdGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0Rm9jdXMocmFuZ2Uuc3RhcnQucm93LCB0YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb3ZlcyB0aGUgZm9jdXMgdG8gYW5vdGhlciBjZWxsLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvd09mZnNldCAtIE9mZnNldCBpbiByb3cuXG4gICAgICogQHBhcmFtIGNvbHVtbk9mZnNldCAtIE9mZnNldCBpbiBjb2x1bW4uXG4gICAgICovXG4gICAgbW92ZUZvY3VzKHJvd09mZnNldCwgY29sdW1uT2Zmc2V0LCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRGb2N1cyA9IG5ld0ZvY3VzO1xuICAgICAgICAgICAgLy8gbW92ZSBmb2N1c1xuICAgICAgICAgICAgaWYgKHJvd09mZnNldCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRhYmxlLmdldEhlaWdodCgpO1xuICAgICAgICAgICAgICAgIC8vIHNraXAgZGVsaW1pdGVyIHJvd1xuICAgICAgICAgICAgICAgIGNvbnN0IHNraXAgPSBuZXdGb2N1cy5yb3cgPCAxICYmIG5ld0ZvY3VzLnJvdyArIHJvd09mZnNldCA+PSAxXG4gICAgICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgICAgICA6IG5ld0ZvY3VzLnJvdyA+IDEgJiYgbmV3Rm9jdXMucm93ICsgcm93T2Zmc2V0IDw9IDFcbiAgICAgICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhNYXRoLm1pbihNYXRoLm1heChuZXdGb2N1cy5yb3cgKyByb3dPZmZzZXQgKyBza2lwLCAwKSwgaGVpZ2h0IDw9IDIgPyAwIDogaGVpZ2h0IC0gMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvbHVtbk9mZnNldCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGFibGUuZ2V0SGVhZGVyV2lkdGgoKTtcbiAgICAgICAgICAgICAgICBpZiAoIShuZXdGb2N1cy5jb2x1bW4gPCAwICYmIGNvbHVtbk9mZnNldCA8IDApICYmXG4gICAgICAgICAgICAgICAgICAgICEobmV3Rm9jdXMuY29sdW1uID4gd2lkdGggLSAxICYmIGNvbHVtbk9mZnNldCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKE1hdGgubWluKE1hdGgubWF4KG5ld0ZvY3VzLmNvbHVtbiArIGNvbHVtbk9mZnNldCwgMCksIHdpZHRoIC0gMSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1vdmVkID0gIW5ld0ZvY3VzLnBvc0VxdWFscyhzdGFydEZvY3VzKTtcbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUodGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgdGFibGUsIGZvcm1hdHRlZCwgbW92ZWQpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgaWYgKG1vdmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEZvY3VzKHJhbmdlLnN0YXJ0LnJvdywgZm9ybWF0dGVkLnRhYmxlLCBuZXdGb2N1cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb3ZlVG9Gb2N1cyhyYW5nZS5zdGFydC5yb3csIGZvcm1hdHRlZC50YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG1vdmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFNtYXJ0Q3Vyc29yKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb3ZlcyB0aGUgZm9jdXMgdG8gdGhlIG5leHQgY2VsbC5cbiAgICAgKi9cbiAgICBuZXh0Q2VsbChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3dpdGhUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIHRhYmxlLCBmb2N1cyB9KSA9PiB7XG4gICAgICAgICAgICAvLyByZXNldCBzbWFydCBjdXJzb3IgaWYgbW92ZWRcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzTW92ZWQgPSAodGhpcy5fc2NUYWJsZVBvcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgIXJhbmdlLnN0YXJ0LmVxdWFscyh0aGlzLl9zY1RhYmxlUG9zKSkgfHxcbiAgICAgICAgICAgICAgICAodGhpcy5fc2NMYXN0Rm9jdXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAhZm9jdXMucG9zRXF1YWxzKHRoaXMuX3NjTGFzdEZvY3VzKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2NBY3RpdmUgJiYgZm9jdXNNb3ZlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRTbWFydEN1cnNvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBjb21wbGV0ZVxuICAgICAgICAgICAgY29uc3QgY29tcGxldGVkID0gZm9ybWF0dGVyXzEuY29tcGxldGVUYWJsZSh0YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICBpZiAoY29tcGxldGVkLmRlbGltaXRlckluc2VydGVkICYmIG5ld0ZvY3VzLnJvdyA+IDApIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhuZXdGb2N1cy5yb3cgKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0Rm9jdXMgPSBuZXdGb2N1cztcbiAgICAgICAgICAgIGxldCBhbHRlcmVkID0gY29tcGxldGVkLnRhYmxlO1xuICAgICAgICAgICAgLy8gbW92ZSBmb2N1c1xuICAgICAgICAgICAgaWYgKG5ld0ZvY3VzLnJvdyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIC8vIG1vdmUgdG8gbmV4dCByb3dcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdygyKTtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zbWFydEN1cnNvcikge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uIDwgMCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSA8IG5ld0ZvY3VzLmNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRDb2x1bW4oMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBpbnNlcnQgYW4gZW1wdHkgcm93IGlmIG5lZWRlZFxuICAgICAgICAgICAgICAgIGlmIChuZXdGb2N1cy5yb3cgPiBhbHRlcmVkLmdldEhlaWdodCgpIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3cgPSBuZXcgQXJyYXkoYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpKS5maWxsKG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKCcnKSk7XG4gICAgICAgICAgICAgICAgICAgIGFsdGVyZWQgPSBmb3JtYXR0ZXJfMS5pbnNlcnRSb3coYWx0ZXJlZCwgYWx0ZXJlZC5nZXRIZWlnaHQoKSwgbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KHJvdywgJycsICcnKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gaW5zZXJ0IGFuIGVtcHR5IGNvbHVtbiBpZiBuZWVkZWRcbiAgICAgICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uID4gYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSBuZXcgQXJyYXkoYWx0ZXJlZC5nZXRIZWlnaHQoKSAtIDEpLmZpbGwobmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoJycpKTtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLmluc2VydENvbHVtbihhbHRlcmVkLCBhbHRlcmVkLmdldEhlYWRlcldpZHRoKCksIGNvbHVtbiwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG1vdmUgdG8gbmV4dCBjb2x1bW5cbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbihuZXdGb2N1cy5jb2x1bW4gKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUoYWx0ZXJlZCwgb3B0aW9ucyk7XG4gICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldE9mZnNldChleHBvcnRzLl9jb21wdXRlTmV3T2Zmc2V0KG5ld0ZvY3VzLCBhbHRlcmVkLCBmb3JtYXR0ZWQsIHRydWUpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICBjb25zdCBuZXdMaW5lcyA9IGZvcm1hdHRlZC50YWJsZS50b0xpbmVzKCk7XG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uID4gZm9ybWF0dGVkLnRhYmxlLmdldEhlYWRlcldpZHRoKCkgLSAxKSB7XG4gICAgICAgICAgICAgICAgLy8gYWRkIG1hcmdpblxuICAgICAgICAgICAgICAgIG5ld0xpbmVzW25ld0ZvY3VzLnJvd10gKz0gJyAnO1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0T2Zmc2V0KDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgbmV3TGluZXMsIGxpbmVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RGb2N1cyhyYW5nZS5zdGFydC5yb3csIGZvcm1hdHRlZC50YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zbWFydEN1cnNvcikge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fc2NBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aXZhdGUgc21hcnQgY3Vyc29yXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NUYWJsZVBvcyA9IHJhbmdlLnN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRGb2N1cy5jb2x1bW4gPCAwIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWQudGFibGUuZ2V0SGVhZGVyV2lkdGgoKSAtIDEgPCBzdGFydEZvY3VzLmNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NTdGFydEZvY3VzID0gbmV3IGZvY3VzXzEuRm9jdXMoc3RhcnRGb2N1cy5yb3csIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NTdGFydEZvY3VzID0gc3RhcnRGb2N1cztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9zY0xhc3RGb2N1cyA9IG5ld0ZvY3VzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTW92ZXMgdGhlIGZvY3VzIHRvIHRoZSBwcmV2aW91cyBjZWxsLlxuICAgICAqL1xuICAgIHByZXZpb3VzQ2VsbChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRGb2N1cyA9IG5ld0ZvY3VzO1xuICAgICAgICAgICAgLy8gbW92ZSBmb2N1c1xuICAgICAgICAgICAgaWYgKG5ld0ZvY3VzLnJvdyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChuZXdGb2N1cy5jb2x1bW4gPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKG5ld0ZvY3VzLmNvbHVtbiAtIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG5ld0ZvY3VzLnJvdyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3IGZvY3VzXzEuRm9jdXMoMCwgdGFibGUuZ2V0SGVhZGVyV2lkdGgoKSAtIDEsIG5ld0ZvY3VzLm9mZnNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbihuZXdGb2N1cy5jb2x1bW4gLSAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3IGZvY3VzXzEuRm9jdXMobmV3Rm9jdXMucm93ID09PSAyID8gMCA6IG5ld0ZvY3VzLnJvdyAtIDEsIHRhYmxlLmdldEhlYWRlcldpZHRoKCkgLSAxLCBuZXdGb2N1cy5vZmZzZXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1vdmVkID0gIW5ld0ZvY3VzLnBvc0VxdWFscyhzdGFydEZvY3VzKTtcbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUodGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgdGFibGUsIGZvcm1hdHRlZCwgbW92ZWQpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgaWYgKG1vdmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEZvY3VzKHJhbmdlLnN0YXJ0LnJvdywgZm9ybWF0dGVkLnRhYmxlLCBuZXdGb2N1cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb3ZlVG9Gb2N1cyhyYW5nZS5zdGFydC5yb3csIGZvcm1hdHRlZC50YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG1vdmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFNtYXJ0Q3Vyc29yKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb3ZlcyB0aGUgZm9jdXMgdG8gdGhlIG5leHQgcm93LlxuICAgICAqL1xuICAgIG5leHRSb3cob3B0aW9ucykge1xuICAgICAgICB0aGlzLl93aXRoVGFibGUob3B0aW9ucywgKHsgcmFuZ2UsIGxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgLy8gcmVzZXQgc21hcnQgY3Vyc29yIGlmIG1vdmVkXG4gICAgICAgICAgICBjb25zdCBmb2N1c01vdmVkID0gKHRoaXMuX3NjVGFibGVQb3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICFyYW5nZS5zdGFydC5lcXVhbHModGhpcy5fc2NUYWJsZVBvcykpIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMuX3NjTGFzdEZvY3VzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgIWZvY3VzLnBvc0VxdWFscyh0aGlzLl9zY0xhc3RGb2N1cykpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3NjQWN0aXZlICYmIGZvY3VzTW92ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0U21hcnRDdXJzb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgLy8gY29tcGxldGVcbiAgICAgICAgICAgIGNvbnN0IGNvbXBsZXRlZCA9IGZvcm1hdHRlcl8xLmNvbXBsZXRlVGFibGUodGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKGNvbXBsZXRlZC5kZWxpbWl0ZXJJbnNlcnRlZCAmJiBuZXdGb2N1cy5yb3cgPiAwKSB7XG4gICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRSb3cobmV3Rm9jdXMucm93ICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzdGFydEZvY3VzID0gbmV3Rm9jdXM7XG4gICAgICAgICAgICBsZXQgYWx0ZXJlZCA9IGNvbXBsZXRlZC50YWJsZTtcbiAgICAgICAgICAgIC8vIG1vdmUgZm9jdXNcbiAgICAgICAgICAgIGlmIChuZXdGb2N1cy5yb3cgPT09IDApIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdygyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Um93KG5ld0ZvY3VzLnJvdyArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuc21hcnRDdXJzb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2NBY3RpdmUgJiYgdGhpcy5fc2NTdGFydEZvY3VzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRDb2x1bW4odGhpcy5fc2NTdGFydEZvY3VzLmNvbHVtbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG5ld0ZvY3VzLmNvbHVtbiA8IDAgfHxcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSA8IG5ld0ZvY3VzLmNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbigwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbigwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGluc2VydCBlbXB0eSByb3cgaWYgbmVlZGVkXG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMucm93ID4gYWx0ZXJlZC5nZXRIZWlnaHQoKSAtIDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3cgPSBuZXcgQXJyYXkoYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpKS5maWxsKG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKCcnKSk7XG4gICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLmluc2VydFJvdyhhbHRlcmVkLCBhbHRlcmVkLmdldEhlaWdodCgpLCBuZXcgdGFibGVfcm93XzEuVGFibGVSb3cocm93LCAnJywgJycpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUoYWx0ZXJlZCwgb3B0aW9ucyk7XG4gICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldE9mZnNldChleHBvcnRzLl9jb21wdXRlTmV3T2Zmc2V0KG5ld0ZvY3VzLCBhbHRlcmVkLCBmb3JtYXR0ZWQsIHRydWUpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0Rm9jdXMocmFuZ2Uuc3RhcnQucm93LCBmb3JtYXR0ZWQudGFibGUsIG5ld0ZvY3VzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuc21hcnRDdXJzb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3NjQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFjdGl2YXRlIHNtYXJ0IGN1cnNvclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zY0FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjVGFibGVQb3MgPSByYW5nZS5zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0Rm9jdXMuY29sdW1uIDwgMCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkLnRhYmxlLmdldEhlYWRlcldpZHRoKCkgLSAxIDwgc3RhcnRGb2N1cy5jb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjU3RhcnRGb2N1cyA9IG5ldyBmb2N1c18xLkZvY3VzKHN0YXJ0Rm9jdXMucm93LCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjU3RhcnRGb2N1cyA9IHN0YXJ0Rm9jdXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fc2NMYXN0Rm9jdXMgPSBuZXdGb2N1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluc2VydHMgYW4gZW1wdHkgcm93IGF0IHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAqL1xuICAgIGluc2VydFJvdyhvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBtb3ZlIGZvY3VzXG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMucm93IDw9IDEpIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdygyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKDApO1xuICAgICAgICAgICAgLy8gaW5zZXJ0IGFuIGVtcHR5IHJvd1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gbmV3IEFycmF5KHRhYmxlLmdldEhlYWRlcldpZHRoKCkpLmZpbGwobmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoJycpKTtcbiAgICAgICAgICAgIGNvbnN0IGFsdGVyZWQgPSBmb3JtYXR0ZXJfMS5pbnNlcnRSb3codGFibGUsIG5ld0ZvY3VzLnJvdywgbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KHJvdywgJycsICcnKSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdEFuZEFwcGx5KG9wdGlvbnMsIHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCBhbHRlcmVkLCBuZXdGb2N1cyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGEgcm93IGF0IHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAqL1xuICAgIGRlbGV0ZVJvdyhvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBkZWxldGUgYSByb3dcbiAgICAgICAgICAgIGxldCBhbHRlcmVkID0gdGFibGU7XG4gICAgICAgICAgICBsZXQgbW92ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChuZXdGb2N1cy5yb3cgIT09IDEpIHtcbiAgICAgICAgICAgICAgICBhbHRlcmVkID0gZm9ybWF0dGVyXzEuZGVsZXRlUm93KGFsdGVyZWQsIG5ld0ZvY3VzLnJvdyk7XG4gICAgICAgICAgICAgICAgbW92ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChuZXdGb2N1cy5yb3cgPiBhbHRlcmVkLmdldEhlaWdodCgpIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhuZXdGb2N1cy5yb3cgPT09IDIgPyAwIDogbmV3Rm9jdXMucm93IC0gMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5mb3JtYXRBbmRBcHBseShvcHRpb25zLCByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgYWx0ZXJlZCwgbmV3Rm9jdXMsIG1vdmVkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1vdmVzIHRoZSBmb2N1c2VkIHJvdyBieSB0aGUgc3BlY2lmaWVkIG9mZnNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZzZXQgLSBBbiBvZmZzZXQgdGhlIHJvdyBpcyBtb3ZlZCBieS5cbiAgICAgKi9cbiAgICBtb3ZlUm93KG9mZnNldCwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLndpdGhDb21wbGV0ZWRUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgLy8gbW92ZSByb3dcbiAgICAgICAgICAgIGxldCBhbHRlcmVkID0gdGFibGU7XG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMucm93ID4gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlc3QgPSBNYXRoLm1pbihNYXRoLm1heChuZXdGb2N1cy5yb3cgKyBvZmZzZXQsIDIpLCBhbHRlcmVkLmdldEhlaWdodCgpIC0gMSk7XG4gICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLm1vdmVSb3coYWx0ZXJlZCwgbmV3Rm9jdXMucm93LCBkZXN0KTtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhkZXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9ybWF0QW5kQXBwbHkob3B0aW9ucywgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIGFsdGVyZWQsIG5ld0ZvY3VzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGV2YWx1YXRlRm9ybXVsYXMob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoQ29tcGxldGVkVGFibGUob3B0aW9ucywgKHsgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIHRhYmxlLCBmb2N1cywgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGFibGUuYXBwbHlGb3JtdWxhcyhmb3JtdWxhTGluZXMpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0VycigpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5lcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgdGFibGU6IGZvcm1hdHRlZFRhYmxlLCBmb2N1czogbmV3Rm9jdXMgfSA9IHRoaXMuZm9ybWF0QW5kQXBwbHkob3B0aW9ucywgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIHJlc3VsdC52YWx1ZSwgZm9jdXMsIGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNvcnRzIHJvd3MgYWxwaGFudW1lcmljYWxseSB1c2luZyB0aGUgY29sdW1uIGF0IHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAqIElmIGFsbCBjZWxscyBpbiB0aGUgc29ydGluZyBjb2x1bW4gYXJlIG51bWJlcnMsIHRoZSBjb2x1bW4gaXMgc29ydGVkXG4gICAgICogbnVtZXJpY2FsbHkuXG4gICAgICovXG4gICAgc29ydFJvd3Moc29ydE9yZGVyLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9keVJvd3MgPSB0YWJsZS5nZXRSb3dzKCkuc2xpY2UoMik7XG4gICAgICAgICAgICBjb25zdCBpc051bWJlciA9IChzKSA9PiAvXlxccypbLStdPygoXFxkKyhcXC5cXGQrKT8pfChcXGQrXFwuKXwoXFwuXFxkKykpKFtlRV1bLStdP1xcZCspP1xccyokLy50ZXN0KHMpO1xuICAgICAgICAgICAgY29uc3Qgbm90QWxsTnVtcyA9IGJvZHlSb3dzXG4gICAgICAgICAgICAgICAgLm1hcCgocm93KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IHJvdy5nZXRDZWxsQXQoZm9jdXMuY29sdW1uKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNvbnRlbnQ7IH0pXG4gICAgICAgICAgICAgICAgLnNvbWUoKGNlbGwpID0+IGNlbGwgIT09IHVuZGVmaW5lZCAmJiBjZWxsICE9PSAnJyAmJiAhaXNOdW1iZXIoY2VsbCkpO1xuICAgICAgICAgICAgYm9keVJvd3Muc29ydCgocm93QSwgcm93QikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxBID0gcm93QS5nZXRDZWxsQXQoZm9jdXMuY29sdW1uKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsQiA9IHJvd0IuZ2V0Q2VsbEF0KGZvY3VzLmNvbHVtbik7XG4gICAgICAgICAgICAgICAgaWYgKGNlbGxBID09PSB1bmRlZmluZWQgfHwgY2VsbEEuY29udGVudCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxCID09PSB1bmRlZmluZWQgfHwgY2VsbEIuY29udGVudCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2VsbEIgPT09IHVuZGVmaW5lZCB8fCBjZWxsQi5jb250ZW50ID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudEEgPSBub3RBbGxOdW1zXG4gICAgICAgICAgICAgICAgICAgID8gY2VsbEEuY29udGVudC5yZXBsYWNlKC9bKn5fJF0vZywgJycpXG4gICAgICAgICAgICAgICAgICAgIDogcGFyc2VGbG9hdChjZWxsQS5jb250ZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50QiA9IG5vdEFsbE51bXNcbiAgICAgICAgICAgICAgICAgICAgPyBjZWxsQi5jb250ZW50LnJlcGxhY2UoL1sqfl8kXS9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgOiBwYXJzZUZsb2F0KGNlbGxCLmNvbnRlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChjb250ZW50QSA9PT0gY29udGVudEIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRlbnRBID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjb250ZW50QiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudEEgPCBjb250ZW50QiA/IC0xIDogMTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRlc2NlbmRpbmcpIHtcbiAgICAgICAgICAgICAgICBib2R5Um93cy5yZXZlcnNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbGxSb3dzID0gdGFibGUuZ2V0Um93cygpLnNsaWNlKDAsIDIpLmNvbmNhdChib2R5Um93cyk7XG4gICAgICAgICAgICBjb25zdCBuZXdUYWJsZSA9IG5ldyB0YWJsZV8xLlRhYmxlKGFsbFJvd3MpO1xuICAgICAgICAgICAgY29uc3QgeyB0YWJsZTogZm9ybWF0dGVkVGFibGUsIGZvY3VzOiBuZXdGb2N1cyB9ID0gdGhpcy5mb3JtYXRBbmRBcHBseShvcHRpb25zLCByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgbmV3VGFibGUsIGZvY3VzLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuX21vdmVUb0ZvY3VzKHJhbmdlLnN0YXJ0LnJvdywgZm9ybWF0dGVkVGFibGUsIG5ld0ZvY3VzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluc2VydHMgYW4gZW1wdHkgY29sdW1uIGF0IHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAqL1xuICAgIGluc2VydENvbHVtbihvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBtb3ZlIGZvY3VzXG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMucm93ID09PSAxKSB7XG4gICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRSb3coMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uIDwgMCkge1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaW5zZXJ0IGFuIGVtcHR5IGNvbHVtblxuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gbmV3IEFycmF5KHRhYmxlLmdldEhlaWdodCgpIC0gMSkuZmlsbChuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbCgnJykpO1xuICAgICAgICAgICAgY29uc3QgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLmluc2VydENvbHVtbih0YWJsZSwgbmV3Rm9jdXMuY29sdW1uLCBjb2x1bW4sIG9wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXRBbmRBcHBseShvcHRpb25zLCByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgYWx0ZXJlZCwgbmV3Rm9jdXMpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIGNvbHVtbiBhdCB0aGUgY3VycmVudCBmb2N1cy5cbiAgICAgKi9cbiAgICBkZWxldGVDb2x1bW4ob3B0aW9ucykge1xuICAgICAgICB0aGlzLndpdGhDb21wbGV0ZWRUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgLy8gbW92ZSBmb2N1c1xuICAgICAgICAgICAgaWYgKG5ld0ZvY3VzLnJvdyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Um93KDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZGVsZXRlIGEgY29sdW1uXG4gICAgICAgICAgICBsZXQgYWx0ZXJlZCA9IHRhYmxlO1xuICAgICAgICAgICAgbGV0IG1vdmVkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoMCA8PSBuZXdGb2N1cy5jb2x1bW4gJiZcbiAgICAgICAgICAgICAgICBuZXdGb2N1cy5jb2x1bW4gPD0gYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSkge1xuICAgICAgICAgICAgICAgIGFsdGVyZWQgPSBmb3JtYXR0ZXJfMS5kZWxldGVDb2x1bW4odGFibGUsIG5ld0ZvY3VzLmNvbHVtbiwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgbW92ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChuZXdGb2N1cy5jb2x1bW4gPiBhbHRlcmVkLmdldEhlYWRlcldpZHRoKCkgLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKGFsdGVyZWQuZ2V0SGVhZGVyV2lkdGgoKSAtIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9ybWF0QW5kQXBwbHkob3B0aW9ucywgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIGFsdGVyZWQsIG5ld0ZvY3VzLCBtb3ZlZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb3ZlcyB0aGUgZm9jdXNlZCBjb2x1bW4gYnkgdGhlIHNwZWNpZmllZCBvZmZzZXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb2Zmc2V0IC0gQW4gb2Zmc2V0IHRoZSBjb2x1bW4gaXMgbW92ZWQgYnkuXG4gICAgICovXG4gICAgbW92ZUNvbHVtbihvZmZzZXQsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy53aXRoQ29tcGxldGVkVGFibGUob3B0aW9ucywgKHsgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIHRhYmxlLCBmb2N1cyB9KSA9PiB7XG4gICAgICAgICAgICBsZXQgbmV3Rm9jdXMgPSBmb2N1cztcbiAgICAgICAgICAgIC8vIG1vdmUgY29sdW1uXG4gICAgICAgICAgICBsZXQgYWx0ZXJlZCA9IHRhYmxlO1xuICAgICAgICAgICAgaWYgKDAgPD0gbmV3Rm9jdXMuY29sdW1uICYmXG4gICAgICAgICAgICAgICAgbmV3Rm9jdXMuY29sdW1uIDw9IGFsdGVyZWQuZ2V0SGVhZGVyV2lkdGgoKSAtIDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXN0ID0gTWF0aC5taW4oTWF0aC5tYXgobmV3Rm9jdXMuY29sdW1uICsgb2Zmc2V0LCAwKSwgYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSk7XG4gICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLm1vdmVDb2x1bW4oYWx0ZXJlZCwgbmV3Rm9jdXMuY29sdW1uLCBkZXN0KTtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbihkZXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9ybWF0QW5kQXBwbHkob3B0aW9ucywgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIGFsdGVyZWQsIG5ld0ZvY3VzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZvcm1hdHMgYWxsIHRoZSB0YWJsZXMgaW4gdGhlIHRleHQgZWRpdG9yLlxuICAgICAqL1xuICAgIGZvcm1hdEFsbChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3RleHRFZGl0b3IudHJhbnNhY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmUgPSBleHBvcnRzLl9jcmVhdGVJc1RhYmxlUm93UmVnZXgob3B0aW9ucy5sZWZ0TWFyZ2luQ2hhcnMpO1xuICAgICAgICAgICAgbGV0IHBvcyA9IHRoaXMuX3RleHRFZGl0b3IuZ2V0Q3Vyc29yUG9zaXRpb24oKTtcbiAgICAgICAgICAgIGxldCBsaW5lcyA9IFtdO1xuICAgICAgICAgICAgbGV0IHN0YXJ0Um93ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgbGV0IGxhc3RSb3cgPSB0aGlzLl90ZXh0RWRpdG9yLmdldExhc3RSb3coKTtcbiAgICAgICAgICAgIC8vIGZpbmQgdGFibGVzXG4gICAgICAgICAgICBmb3IgKGxldCByb3cgPSAwOyByb3cgPD0gbGFzdFJvdzsgcm93KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHJvdyk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChyb3cpICYmIHJlLnRlc3QobGluZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZXMucHVzaChsaW5lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0Um93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0Um93ID0gcm93O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN0YXJ0Um93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZ2V0IHRhYmxlIGluZm9cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kUm93ID0gcm93IC0gMTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgcmFuZ2VfMS5SYW5nZShuZXcgcG9pbnRfMS5Qb2ludChzdGFydFJvdywgMCksIG5ldyBwb2ludF8xLlBvaW50KGVuZFJvdywgbGluZXNbbGluZXMubGVuZ3RoIC0gMV0ubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZvcm11bGFMaW5lcyBlbXB0eSBiZWNhdXNlIGZvcm1hdHRpbmcgZG9lcyBub3QgaW52b2x2ZSBmb3JtdWxhc1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWJsZSA9IHBhcnNlcl8xLnJlYWRUYWJsZShsaW5lcywgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvY3VzID0gdGFibGUuZm9jdXNPZlBvc2l0aW9uKHBvcywgc3RhcnRSb3cpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGlmZjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvY3VzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21wbGV0ZWQgPSBmb3JtYXR0ZXJfMS5jb21wbGV0ZVRhYmxlKHRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb21wbGV0ZWQuZGVsaW1pdGVySW5zZXJ0ZWQgJiYgbmV3Rm9jdXMucm93ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Um93KG5ld0ZvY3VzLnJvdyArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUoY29tcGxldGVkLnRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0T2Zmc2V0KGV4cG9ydHMuX2NvbXB1dGVOZXdPZmZzZXQobmV3Rm9jdXMsIGNvbXBsZXRlZC50YWJsZSwgZm9ybWF0dGVkLCBmYWxzZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYXBwbHlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0xpbmVzID0gZm9ybWF0dGVkLnRhYmxlLnRvTGluZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUxpbmVzKHJhbmdlLnN0YXJ0LnJvdywgcmFuZ2UuZW5kLnJvdyArIDEsIG5ld0xpbmVzLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgY3Vyc29yIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBkaWZmID0gbmV3TGluZXMubGVuZ3RoIC0gbGluZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gZm9ybWF0dGVkLnRhYmxlLnBvc2l0aW9uT2ZGb2N1cyhuZXdGb2N1cywgc3RhcnRSb3cpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21wbGV0ZWQgPSBmb3JtYXR0ZXJfMS5jb21wbGV0ZVRhYmxlKHRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKGNvbXBsZXRlZC50YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhcHBseVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3TGluZXMgPSBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgbmV3TGluZXMsIGxpbmVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBjdXJzb3IgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpZmYgPSBuZXdMaW5lcy5sZW5ndGggLSBsaW5lcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocG9zLnJvdyA+IGVuZFJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IG5ldyBwb2ludF8xLlBvaW50KHBvcy5yb3cgKyBkaWZmLCBwb3MuY29sdW1uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyByZXNldFxuICAgICAgICAgICAgICAgICAgICBsaW5lcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBzdGFydFJvdyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlXG4gICAgICAgICAgICAgICAgICAgIGxhc3RSb3cgKz0gZGlmZjtcbiAgICAgICAgICAgICAgICAgICAgcm93ICs9IGRpZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXJ0Um93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBnZXQgdGFibGUgaW5mb1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFJvdyA9IGxhc3RSb3c7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgcmFuZ2VfMS5SYW5nZShuZXcgcG9pbnRfMS5Qb2ludChzdGFydFJvdywgMCksIG5ldyBwb2ludF8xLlBvaW50KGVuZFJvdywgbGluZXNbbGluZXMubGVuZ3RoIC0gMV0ubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgLy8gZm9ybXVsYUxpbmVzIGVtcHR5IGJlY2F1c2UgZm9ybWF0dGluZyBkb2VzIG5vdCBpbnZvbHZlIGZvcm11bGFzXG4gICAgICAgICAgICAgICAgY29uc3QgdGFibGUgPSBwYXJzZXJfMS5yZWFkVGFibGUobGluZXMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvY3VzID0gdGFibGUuZm9jdXNPZlBvc2l0aW9uKHBvcywgc3RhcnRSb3cpO1xuICAgICAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBsZXRlZCA9IGZvcm1hdHRlcl8xLmNvbXBsZXRlVGFibGUodGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ET1xuICAgICAgICAgICAgICAgIGlmIChjb21wbGV0ZWQuZGVsaW1pdGVySW5zZXJ0ZWQgJiYgbmV3Rm9jdXMucm93ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE9cbiAgICAgICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRSb3cobmV3Rm9jdXMucm93ICsgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKGNvbXBsZXRlZC50YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPXG4gICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoXG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPXG4gICAgICAgICAgICAgICAgZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgY29tcGxldGVkLnRhYmxlLCBmb3JtYXR0ZWQsIGZhbHNlKSk7XG4gICAgICAgICAgICAgICAgLy8gYXBwbHlcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdMaW5lcyA9IGZvcm1hdHRlZC50YWJsZS50b0xpbmVzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgbmV3TGluZXMsIGxpbmVzKTtcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE9cbiAgICAgICAgICAgICAgICBwb3MgPSBmb3JtYXR0ZWQudGFibGUucG9zaXRpb25PZkZvY3VzKG5ld0ZvY3VzLCBzdGFydFJvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNldEN1cnNvclBvc2l0aW9uKHBvcyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFeHBvcnRzIHRoZSB0YWJsZSBhcyBhIHR3byBkaW1lbnNpb25hbCBzdHJpbmcgYXJyYXlcbiAgICAgKi9cbiAgICBleHBvcnRUYWJsZSh3aXRodEhlYWRlcnMsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9keVJvd3MgPSB0YWJsZS5nZXRSb3dzKCk7XG4gICAgICAgICAgICBpZiAoYm9keVJvd3MubGVuZ3RoID4gMCAmJiAhd2l0aHRIZWFkZXJzKSB7XG4gICAgICAgICAgICAgICAgYm9keVJvd3Muc3BsaWNlKDAsIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZWxzZSBpZihib2R5Um93cy5sZW5ndGggPiAxKSBib2R5Um93cy5zcGxpY2UoMSwgMSk7XG4gICAgICAgICAgICByZXR1cm4gYm9keVJvd3MubWFwKChyb3cpID0+IHJvdy5nZXRDZWxscygpLm1hcCgoY2VsbCkgPT4gY2VsbC5jb250ZW50KSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFeHBvcnRzIHRoZSB0YWJsZSBhcyBhIHR3byBkaW1lbnNpb25hbCBzdHJpbmcgYXJyYXlcbiAgICAgKi9cbiAgICBleHBvcnRDU1Yod2l0aHRIZWFkZXJzLCBvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHIgPSB0aGlzLmV4cG9ydFRhYmxlKHdpdGh0SGVhZGVycywgb3B0aW9ucyk7XG4gICAgICAgIHJldHVybiAhciA/IHVuZGVmaW5lZCA6IHIubWFwKChyb3cpID0+IHJvdy5qb2luKCdcXHQnKSkuam9pbignXFxuJyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZpbmRzIGEgdGFibGUsIGNvbXBsZXRlcyBpdCwgdGhlbiBkb2VzIGFuIG9wZXJhdGlvbiB3aXRoIGl0LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZ1bmMgLSBBIGZ1bmN0aW9uIHRoYXQgZG9lcyBzb21lIG9wZXJhdGlvbiBvbiB0YWJsZSBpbmZvcm1hdGlvbiBvYnRhaW5lZCBieVxuICAgICAqIHtAbGluayBUYWJsZUVkaXRvciNfZmluZFRhYmxlfS5cbiAgICAgKi9cbiAgICB3aXRoQ29tcGxldGVkVGFibGUob3B0aW9ucywgZnVuYykge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2l0aFRhYmxlKG9wdGlvbnMsICh0YWJsZUluZm8pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IHRhYmxlSW5mby5mb2N1cztcbiAgICAgICAgICAgIC8vIGNvbXBsZXRlXG4gICAgICAgICAgICBjb25zdCBjb21wbGV0ZWQgPSBmb3JtYXR0ZXJfMS5jb21wbGV0ZVRhYmxlKHRhYmxlSW5mby50YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICBpZiAoY29tcGxldGVkLmRlbGltaXRlckluc2VydGVkICYmIG5ld0ZvY3VzLnJvdyA+IDApIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhuZXdGb2N1cy5yb3cgKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUoY29tcGxldGVkLnRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0T2Zmc2V0KGV4cG9ydHMuX2NvbXB1dGVOZXdPZmZzZXQobmV3Rm9jdXMsIGNvbXBsZXRlZC50YWJsZSwgZm9ybWF0dGVkLCBmYWxzZSkpO1xuICAgICAgICAgICAgdGFibGVJbmZvLnRhYmxlID0gZm9ybWF0dGVkLnRhYmxlO1xuICAgICAgICAgICAgdGFibGVJbmZvLmZvY3VzID0gbmV3Rm9jdXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuYyh0YWJsZUluZm8pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRm9ybWF0cyB0aGUgdGFibGUgYW5kIGFwcGxpZXMgYW55IGNoYW5nZXMgYmFzZWQgb24gdGhlIGRpZmZlcmVuY2UgYmV0d2VlblxuICAgICAqIG9yaWdpbmFsTGluZXMgYW5kIHRoZSBuZXdUYWJsZS4gU2hvdWxkIGdlbmVyYWxseSBiZSB0aGUgbGFzdCBmdW5jdGlvbiBjYWxsXG4gICAgICogaW4gYSBUYWJsZUVkaXRvciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmb3JtYXRBbmRBcHBseShvcHRpb25zLCByYW5nZSwgb3JpZ2luYWxMaW5lcywgZm9ybXVsYUxpbmVzLCBuZXdUYWJsZSwgbmV3Rm9jdXMsIG1vdmVkID0gZmFsc2UpIHtcbiAgICAgICAgLy8gZm9ybWF0XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKG5ld1RhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgbmV3VGFibGUsIGZvcm1hdHRlZCwgbW92ZWQpKTtcbiAgICAgICAgLy8gYXBwbHlcbiAgICAgICAgdGhpcy5fdGV4dEVkaXRvci50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBvcmlnaW5hbExpbmVzKTtcbiAgICAgICAgICAgIGlmIChtb3ZlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEZvY3VzKHJhbmdlLnN0YXJ0LnJvdywgZm9ybWF0dGVkLnRhYmxlLCBuZXdGb2N1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb3ZlVG9Gb2N1cyhyYW5nZS5zdGFydC5yb3csIGZvcm1hdHRlZC50YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZXNldFNtYXJ0Q3Vyc29yKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByYW5nZSxcbiAgICAgICAgICAgIGxpbmVzOiBvcmlnaW5hbExpbmVzLFxuICAgICAgICAgICAgZm9ybXVsYUxpbmVzLFxuICAgICAgICAgICAgdGFibGU6IGZvcm1hdHRlZC50YWJsZSxcbiAgICAgICAgICAgIGZvY3VzOiBuZXdGb2N1cyxcbiAgICAgICAgfTtcbiAgICB9XG59XG5leHBvcnRzLlRhYmxlRWRpdG9yID0gVGFibGVFZGl0b3I7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuU29ydE9yZGVyID0gZXhwb3J0cy5UYWJsZUVkaXRvciA9IGV4cG9ydHMub3B0aW9uc1dpdGhEZWZhdWx0cyA9IGV4cG9ydHMuZGVmYXVsdE9wdGlvbnMgPSBleHBvcnRzLklUZXh0RWRpdG9yID0gZXhwb3J0cy5zaG9ydGVzdEVkaXRTY3JpcHQgPSBleHBvcnRzLmFwcGx5RWRpdFNjcmlwdCA9IGV4cG9ydHMuRGVsZXRlID0gZXhwb3J0cy5JbnNlcnQgPSBleHBvcnRzLm1vdmVDb2x1bW4gPSBleHBvcnRzLmRlbGV0ZUNvbHVtbiA9IGV4cG9ydHMuaW5zZXJ0Q29sdW1uID0gZXhwb3J0cy5tb3ZlUm93ID0gZXhwb3J0cy5kZWxldGVSb3cgPSBleHBvcnRzLmluc2VydFJvdyA9IGV4cG9ydHMuYWx0ZXJBbGlnbm1lbnQgPSBleHBvcnRzLmZvcm1hdFRhYmxlID0gZXhwb3J0cy5jb21wbGV0ZVRhYmxlID0gZXhwb3J0cy5Gb3JtYXRUeXBlID0gZXhwb3J0cy5yZWFkVGFibGUgPSBleHBvcnRzLlRhYmxlID0gZXhwb3J0cy5UYWJsZVJvdyA9IGV4cG9ydHMuVGFibGVDZWxsID0gZXhwb3J0cy5IZWFkZXJBbGlnbm1lbnQgPSBleHBvcnRzLkRlZmF1bHRBbGlnbm1lbnQgPSBleHBvcnRzLkFsaWdubWVudCA9IGV4cG9ydHMuRm9jdXMgPSBleHBvcnRzLlJhbmdlID0gZXhwb3J0cy5Qb2ludCA9IHZvaWQgMDtcbnZhciBwb2ludF8xID0gcmVxdWlyZShcIi4vcG9pbnRcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJQb2ludFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcG9pbnRfMS5Qb2ludDsgfSB9KTtcbnZhciByYW5nZV8xID0gcmVxdWlyZShcIi4vcmFuZ2VcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSYW5nZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmFuZ2VfMS5SYW5nZTsgfSB9KTtcbnZhciBmb2N1c18xID0gcmVxdWlyZShcIi4vZm9jdXNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJGb2N1c1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9jdXNfMS5Gb2N1czsgfSB9KTtcbnZhciBhbGlnbm1lbnRfMSA9IHJlcXVpcmUoXCIuL2FsaWdubWVudFwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkFsaWdubWVudFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWxpZ25tZW50XzEuQWxpZ25tZW50OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGVmYXVsdEFsaWdubWVudFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWxpZ25tZW50XzEuRGVmYXVsdEFsaWdubWVudDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkhlYWRlckFsaWdubWVudFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWxpZ25tZW50XzEuSGVhZGVyQWxpZ25tZW50OyB9IH0pO1xudmFyIHRhYmxlX2NlbGxfMSA9IHJlcXVpcmUoXCIuL3RhYmxlLWNlbGxcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUYWJsZUNlbGxcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRhYmxlX2NlbGxfMS5UYWJsZUNlbGw7IH0gfSk7XG52YXIgdGFibGVfcm93XzEgPSByZXF1aXJlKFwiLi90YWJsZS1yb3dcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUYWJsZVJvd1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGFibGVfcm93XzEuVGFibGVSb3c7IH0gfSk7XG52YXIgdGFibGVfMSA9IHJlcXVpcmUoXCIuL3RhYmxlXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVGFibGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRhYmxlXzEuVGFibGU7IH0gfSk7XG52YXIgcGFyc2VyXzEgPSByZXF1aXJlKFwiLi9wYXJzZXJcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZWFkVGFibGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhcnNlcl8xLnJlYWRUYWJsZTsgfSB9KTtcbnZhciBmb3JtYXR0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkZvcm1hdFR5cGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLkZvcm1hdFR5cGU7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjb21wbGV0ZVRhYmxlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtYXR0ZXJfanNfMS5jb21wbGV0ZVRhYmxlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0VGFibGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLmZvcm1hdFRhYmxlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWx0ZXJBbGlnbm1lbnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLmFsdGVyQWxpZ25tZW50OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaW5zZXJ0Um93XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtYXR0ZXJfanNfMS5pbnNlcnRSb3c7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWxldGVSb3dcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLmRlbGV0ZVJvdzsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm1vdmVSb3dcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLm1vdmVSb3c7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpbnNlcnRDb2x1bW5cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLmluc2VydENvbHVtbjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlbGV0ZUNvbHVtblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9ybWF0dGVyX2pzXzEuZGVsZXRlQ29sdW1uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibW92ZUNvbHVtblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9ybWF0dGVyX2pzXzEubW92ZUNvbHVtbjsgfSB9KTtcbnZhciBlZGl0X3NjcmlwdF8xID0gcmVxdWlyZShcIi4vZWRpdC1zY3JpcHRcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnNlcnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVkaXRfc2NyaXB0XzEuSW5zZXJ0OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGVsZXRlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlZGl0X3NjcmlwdF8xLkRlbGV0ZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFwcGx5RWRpdFNjcmlwdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZWRpdF9zY3JpcHRfMS5hcHBseUVkaXRTY3JpcHQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzaG9ydGVzdEVkaXRTY3JpcHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVkaXRfc2NyaXB0XzEuc2hvcnRlc3RFZGl0U2NyaXB0OyB9IH0pO1xudmFyIHRleHRfZWRpdG9yXzEgPSByZXF1aXJlKFwiLi90ZXh0LWVkaXRvclwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIklUZXh0RWRpdG9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0ZXh0X2VkaXRvcl8xLklUZXh0RWRpdG9yOyB9IH0pO1xudmFyIG9wdGlvbnNfMSA9IHJlcXVpcmUoXCIuL29wdGlvbnNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0T3B0aW9uc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gb3B0aW9uc18xLmRlZmF1bHRPcHRpb25zOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwib3B0aW9uc1dpdGhEZWZhdWx0c1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gb3B0aW9uc18xLm9wdGlvbnNXaXRoRGVmYXVsdHM7IH0gfSk7XG52YXIgdGFibGVfZWRpdG9yXzEgPSByZXF1aXJlKFwiLi90YWJsZS1lZGl0b3JcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUYWJsZUVkaXRvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGFibGVfZWRpdG9yXzEuVGFibGVFZGl0b3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJTb3J0T3JkZXJcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRhYmxlX2VkaXRvcl8xLlNvcnRPcmRlcjsgfSB9KTtcbiIsImltcG9ydCB7XG4gIEZvcm1hdFR5cGUsXG4gIE9wdGlvbnMsXG4gIG9wdGlvbnNXaXRoRGVmYXVsdHMsXG59IGZyb20gJ0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0U2V0dGluZ3M6IFBhcnRpYWw8SVNldHRpbmdzPiA9IHtcbiAgZm9ybWF0VHlwZTogRm9ybWF0VHlwZS5OT1JNQUwsXG4gIHNob3dSaWJib25JY29uOiB0cnVlLFxuICBiaW5kRW50ZXI6IHRydWUsXG4gIGJpbmRUYWI6IHRydWUsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZXR0aW5ncyB7XG4gIGZvcm1hdFR5cGU6IEZvcm1hdFR5cGU7XG4gIHNob3dSaWJib25JY29uOiBib29sZWFuO1xuICBiaW5kRW50ZXI6IGJvb2xlYW47XG4gIGJpbmRUYWI6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzIGltcGxlbWVudHMgSVNldHRpbmdzIHtcbiAgcHVibGljIGZvcm1hdFR5cGU6IEZvcm1hdFR5cGU7XG4gIHB1YmxpYyBzaG93UmliYm9uSWNvbjogYm9vbGVhbjtcblxuICBwdWJsaWMgYmluZEVudGVyOiBib29sZWFuO1xuICBwdWJsaWMgYmluZFRhYjogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihsb2FkZWREYXRhOiBQYXJ0aWFsPElTZXR0aW5ncz4pIHtcbiAgICBjb25zdCBhbGxGaWVsZHMgPSB7IC4uLmRlZmF1bHRTZXR0aW5ncywgLi4ubG9hZGVkRGF0YSB9O1xuICAgIHRoaXMuZm9ybWF0VHlwZSA9IGFsbEZpZWxkcy5mb3JtYXRUeXBlO1xuICAgIHRoaXMuc2hvd1JpYmJvbkljb24gPSBhbGxGaWVsZHMuc2hvd1JpYmJvbkljb247XG4gICAgdGhpcy5iaW5kRW50ZXIgPSBhbGxGaWVsZHMuYmluZEVudGVyO1xuICAgIHRoaXMuYmluZFRhYiA9IGFsbEZpZWxkcy5iaW5kVGFiO1xuICB9XG5cbiAgcHVibGljIGFzT3B0aW9ucygpOiBPcHRpb25zIHtcbiAgICByZXR1cm4gb3B0aW9uc1dpdGhEZWZhdWx0cyh7IGZvcm1hdFR5cGU6IHRoaXMuZm9ybWF0VHlwZSB9KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUG9pbnQsIFJhbmdlIH0gZnJvbSAnQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzJztcbmltcG9ydCB7IEFwcCwgRWRpdG9yLCBURmlsZSB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBPYnNpZGlhblRleHRFZGl0b3IgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIElUZXh0RWRpdG9yIGludGVyZmFjZSBmcm9tXG4gKiB0aGUgbXRlLWtlcm5lbCBsaWJyYXJ5LiBJdCB0ZWFjaGVzIHRoZSB0YWJsZSBlZGl0b3IgbGlicmFyeSBob3cgdG8gaW50ZXJmYWNlXG4gKiB3aXRoIE9ic2lkaWFuLlxuICovXG5leHBvcnQgY2xhc3MgT2JzaWRpYW5UZXh0RWRpdG9yIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHA6IEFwcDtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWxlOiBURmlsZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlZGl0b3I6IEVkaXRvcjtcblxuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgZmlsZTogVEZpbGUsIGVkaXRvcjogRWRpdG9yKSB7XG4gICAgdGhpcy5hcHAgPSBhcHA7XG4gICAgdGhpcy5maWxlID0gZmlsZTtcbiAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJzb3JQb3NpdGlvbiA9ICgpOiBQb2ludCA9PiB7XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICBjb25zb2xlLmRlYnVnKFxuICAgICAgYGdldEN1cnNvclBvc2l0aW9uIHdhcyBjYWxsZWQ6IGxpbmUgJHtwb3NpdGlvbi5saW5lfSwgY2ggJHtwb3NpdGlvbi5jaH1gLFxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBQb2ludChwb3NpdGlvbi5saW5lLCBwb3NpdGlvbi5jaCk7XG4gIH07XG5cbiAgcHVibGljIHNldEN1cnNvclBvc2l0aW9uID0gKHBvczogUG9pbnQpOiB2b2lkID0+IHtcbiAgICBjb25zb2xlLmRlYnVnKFxuICAgICAgYHNldEN1cnNvclBvc2l0aW9uIHdhcyBjYWxsZWQ6IGxpbmUgJHtwb3Mucm93fSwgY2ggJHtwb3MuY29sdW1ufWAsXG4gICAgKTtcbiAgICB0aGlzLmVkaXRvci5zZXRDdXJzb3IoeyBsaW5lOiBwb3Mucm93LCBjaDogcG9zLmNvbHVtbiB9KTtcbiAgfTtcblxuICBwdWJsaWMgc2V0U2VsZWN0aW9uUmFuZ2UgPSAocmFuZ2U6IFJhbmdlKTogdm9pZCA9PiB7XG4gICAgY29uc29sZS5kZWJ1Zygnc2V0U2VsZWN0aW9uUmFuZ2Ugd2FzIGNhbGxlZCcpO1xuICAgIHRoaXMuZWRpdG9yLnNldFNlbGVjdGlvbihcbiAgICAgIHsgbGluZTogcmFuZ2Uuc3RhcnQucm93LCBjaDogcmFuZ2Uuc3RhcnQuY29sdW1uIH0sXG4gICAgICB7IGxpbmU6IHJhbmdlLmVuZC5yb3csIGNoOiByYW5nZS5lbmQuY29sdW1uIH0sXG4gICAgKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0TGFzdFJvdyA9ICgpOiBudW1iZXIgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoJ2dldExhc3RSb3cgd2FzIGNhbGxlZCcpO1xuICAgIHJldHVybiB0aGlzLmVkaXRvci5sYXN0TGluZSgpO1xuICB9O1xuXG4gIHB1YmxpYyBhY2NlcHRzVGFibGVFZGl0ID0gKHJvdzogbnVtYmVyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc29sZS5kZWJ1ZyhgYWNjZXB0c1RhYmxlRWRpdCB3YXMgY2FsbGVkIG9uIHJvdyAke3Jvd31gKTtcblxuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5hcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUodGhpcy5maWxlKTtcbiAgICBpZiAoIWNhY2hlLnNlY3Rpb25zKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB0YWJsZSA9IGNhY2hlLnNlY3Rpb25zLmZpbmQoXG4gICAgICAoc2VjdGlvbik6IGJvb2xlYW4gPT5cbiAgICAgICAgc2VjdGlvbi5wb3NpdGlvbi5zdGFydC5saW5lIDw9IHJvdyAmJlxuICAgICAgICBzZWN0aW9uLnBvc2l0aW9uLmVuZC5saW5lID49IHJvdyAmJlxuICAgICAgICBzZWN0aW9uLnR5cGUgIT09ICdjb2RlJyAmJlxuICAgICAgICBzZWN0aW9uLnR5cGUgIT09ICdtYXRoJyxcbiAgICApO1xuICAgIGlmICh0YWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdhY2NlcHRzVGFibGVFZGl0IHJldHVybmluZyBmYWxzZSwgdGFibGUgbm90IGZvdW5kJyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGV4dCBgLXR4LWAgaXMgbm90IG9uIHRoZSBsaW5lIGltbWVkaWF0ZWx5IHByZWNlZWRpbmcgdGhlXG4gICAgLy8gdGFibGUgZm91bmQgaW4gdGhlIHByZXZpb3VzIGNoZWNrLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90Z3Jvc2luZ2VyL2FkdmFuY2VkLXRhYmxlcy1vYnNpZGlhbi9pc3N1ZXMvMTMzXG4gICAgY29uc3QgcHJlY2VlZGluZ0xpbmVJbmRleCA9IHRhYmxlLnBvc2l0aW9uLnN0YXJ0LmxpbmU7XG4gICAgaWYgKHByZWNlZWRpbmdMaW5lSW5kZXggPj0gMCkge1xuICAgICAgY29uc3QgcHJlY2VlZGluZ0xpbmUgPSB0aGlzLmdldExpbmUocHJlY2VlZGluZ0xpbmVJbmRleCk7XG4gICAgICBpZiAocHJlY2VlZGluZ0xpbmUgPT09ICctdHgtJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgcHVibGljIGdldExpbmUgPSAocm93OiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoYGdldExpbmUgd2FzIGNhbGxlZCBvbiBsaW5lICR7cm93fWApO1xuICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRMaW5lKHJvdyk7XG4gIH07XG5cbiAgcHVibGljIGluc2VydExpbmUgPSAocm93OiBudW1iZXIsIGxpbmU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoYGluc2VydExpbmUgd2FzIGNhbGxlZCBhdCBsaW5lICR7cm93fWApO1xuICAgIGNvbnNvbGUuZGVidWcoYE5ldyBsaW5lOiAke2xpbmV9YCk7XG5cbiAgICBpZiAocm93ID4gdGhpcy5nZXRMYXN0Um93KCkpIHtcbiAgICAgIHRoaXMuZWRpdG9yLnJlcGxhY2VSYW5nZSgnXFxuJyArIGxpbmUsIHsgbGluZTogcm93LCBjaDogMCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lZGl0b3IucmVwbGFjZVJhbmdlKGxpbmUgKyAnXFxuJywgeyBsaW5lOiByb3csIGNoOiAwIH0pO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgZGVsZXRlTGluZSA9IChyb3c6IG51bWJlcik6IHZvaWQgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoYGRlbGV0ZUxpbmUgd2FzIGNhbGxlZCBvbiBsaW5lICR7cm93fWApO1xuXG4gICAgLy8gSWYgb24gdGhlIGxhc3QgbGluZSBvZiB0aGUgZmlsZSwgd2UgY2Fubm90IHJlcGxhY2UgdG8gdGhlIG5leHQgcm93LlxuICAgIC8vIEluc3RlYWQsIHJlcGxhY2UgYWxsIHRoZSBjb250ZW50cyBvZiB0aGlzIGxpbmUuXG4gICAgaWYgKHJvdyA9PT0gdGhpcy5nZXRMYXN0Um93KCkpIHtcbiAgICAgIGNvbnN0IHJvd0NvbnRlbnRzID0gdGhpcy5nZXRMaW5lKHJvdyk7XG4gICAgICB0aGlzLmVkaXRvci5yZXBsYWNlUmFuZ2UoXG4gICAgICAgICcnLFxuICAgICAgICB7IGxpbmU6IHJvdywgY2g6IDAgfSxcbiAgICAgICAgeyBsaW5lOiByb3csIGNoOiByb3dDb250ZW50cy5sZW5ndGggfSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWRpdG9yLnJlcGxhY2VSYW5nZShcbiAgICAgICAgJycsXG4gICAgICAgIHsgbGluZTogcm93LCBjaDogMCB9LFxuICAgICAgICB7IGxpbmU6IHJvdyArIDEsIGNoOiAwIH0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgcmVwbGFjZUxpbmVzID0gKFxuICAgIHN0YXJ0Um93OiBudW1iZXIsXG4gICAgZW5kUm93OiBudW1iZXIsXG4gICAgbGluZXM6IHN0cmluZ1tdLFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBUYWtlIG9uZSBvZmYgdGhlIGVuZFJvdyBhbmQgaW5zdGVhZCBnbyB0byB0aGUgZW5kIG9mIHRoYXQgbGluZVxuICAgIGNvbnN0IHJlYWxFbmRSb3cgPSBlbmRSb3cgLSAxO1xuICAgIGNvbnN0IGVuZFJvd0NvbnRlbnRzID0gdGhpcy5lZGl0b3IuZ2V0TGluZShyZWFsRW5kUm93KTtcbiAgICBjb25zdCBlbmRSb3dGaW5hbEluZGV4ID0gZW5kUm93Q29udGVudHMubGVuZ3RoO1xuXG4gICAgdGhpcy5lZGl0b3IucmVwbGFjZVJhbmdlKFxuICAgICAgbGluZXMuam9pbignXFxuJyksXG4gICAgICB7IGxpbmU6IHN0YXJ0Um93LCBjaDogMCB9LFxuICAgICAgeyBsaW5lOiByZWFsRW5kUm93LCBjaDogZW5kUm93RmluYWxJbmRleCB9LFxuICAgICk7XG4gIH07XG5cbiAgcHVibGljIHRyYW5zYWN0ID0gKGZ1bmM6IEZ1bmN0aW9uKTogdm9pZCA9PiB7XG4gICAgLypcbiAgICB0aGlzLmVkaXRvci5vcGVyYXRpb24oKCkgPT4ge1xuICAgICAgZnVuYygpO1xuICAgIH0pO1xuICAgICovXG4gICAgZnVuYygpO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgT2JzaWRpYW5UZXh0RWRpdG9yIH0gZnJvbSAnLi9vYnNpZGlhbi10ZXh0LWVkaXRvcic7XG5pbXBvcnQgeyBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzIH0gZnJvbSAnLi9zZXR0aW5ncyc7XG5pbXBvcnQge1xuICBBbGlnbm1lbnQsXG4gIFNvcnRPcmRlcixcbiAgVGFibGVFZGl0b3IgYXMgTVRFRWRpdG9yLFxufSBmcm9tICdAdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMnO1xuaW1wb3J0IHsgQXBwLCBFZGl0b3IsIE1vZGFsLCBOb3RpY2UsIFRGaWxlIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5leHBvcnQgY2xhc3MgVGFibGVFZGl0b3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcDogQXBwO1xuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzOiBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzO1xuICBwcml2YXRlIHJlYWRvbmx5IG10ZTogTVRFRWRpdG9yO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcDogQXBwLFxuICAgIGZpbGU6IFRGaWxlLFxuICAgIGVkaXRvcjogRWRpdG9yLFxuICAgIHNldHRpbmdzOiBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzLFxuICApIHtcbiAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7XG5cbiAgICBjb25zdCBvdGUgPSBuZXcgT2JzaWRpYW5UZXh0RWRpdG9yKGFwcCwgZmlsZSwgZWRpdG9yKTtcbiAgICB0aGlzLm10ZSA9IG5ldyBNVEVFZGl0b3Iob3RlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBjdXJzb3JJc0luVGFibGVGb3JtdWxhID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLm10ZS5jdXJzb3JJc0luVGFibGVGb3JtdWxhKHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjdXJzb3JJc0luVGFibGUgPSAoKTogYm9vbGVhbiA9PlxuICAgIHRoaXMubXRlLmN1cnNvcklzSW5UYWJsZSh0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbmV4dENlbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUubmV4dENlbGwodGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IHByZXZpb3VzQ2VsbCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5wcmV2aW91c0NlbGwodGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IG5leHRSb3cgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUubmV4dFJvdyh0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybWF0VGFibGUgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuZm9ybWF0KHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtYXRBbGxUYWJsZXMgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuZm9ybWF0QWxsKHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnNlcnRDb2x1bW4gPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuaW5zZXJ0Q29sdW1uKHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnNlcnRSb3cgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuaW5zZXJ0Um93KHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBsZWZ0QWxpZ25Db2x1bW4gPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuYWxpZ25Db2x1bW4oQWxpZ25tZW50LkxFRlQsIHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBjZW50ZXJBbGlnbkNvbHVtbiA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5hbGlnbkNvbHVtbihBbGlnbm1lbnQuQ0VOVEVSLCB0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmlnaHRBbGlnbkNvbHVtbiA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5hbGlnbkNvbHVtbihBbGlnbm1lbnQuUklHSFQsIHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBtb3ZlQ29sdW1uTGVmdCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5tb3ZlQ29sdW1uKC0xLCB0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbW92ZUNvbHVtblJpZ2h0ID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMubXRlLm1vdmVDb2x1bW4oMSwgdGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IG1vdmVSb3dVcCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5tb3ZlUm93KC0xLCB0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbW92ZVJvd0Rvd24gPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUubW92ZVJvdygxLCB0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlQ29sdW1uID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMubXRlLmRlbGV0ZUNvbHVtbih0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlUm93ID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMubXRlLmRlbGV0ZVJvdyh0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc29ydFJvd3NBc2MgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuc29ydFJvd3MoU29ydE9yZGVyLkFzY2VuZGluZywgdGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IHNvcnRSb3dzRGVzYyA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5zb3J0Um93cyhTb3J0T3JkZXIuRGVzY2VuZGluZywgdGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGVzY2FwZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5lc2NhcGUodGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGV2YWx1YXRlRm9ybXVsYXMgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgZXJyID0gdGhpcy5tdGUuZXZhbHVhdGVGb3JtdWxhcyh0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgICBpZiAoZXJyKSB7XG4gICAgICBuZXcgTm90aWNlKGVyci5tZXNzYWdlKTtcbiAgICB9XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGV4cG9ydENTVk1vZGFsID0gKCk6IHZvaWQgPT4ge1xuICAgIG5ldyBDU1ZNb2RhbCh0aGlzLmFwcCwgdGhpcy5tdGUsIHRoaXMuc2V0dGluZ3MpLm9wZW4oKTtcbiAgfTtcbn1cblxuY2xhc3MgQ1NWTW9kYWwgZXh0ZW5kcyBNb2RhbCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbXRlOiBNVEVFZGl0b3I7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3M6IFRhYmxlRWRpdG9yUGx1Z2luU2V0dGluZ3M7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBBcHAsIG10ZTogTVRFRWRpdG9yLCBzZXR0aW5nczogVGFibGVFZGl0b3JQbHVnaW5TZXR0aW5ncykge1xuICAgIHN1cGVyKGFwcCk7XG4gICAgdGhpcy5tdGUgPSBtdGU7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzO1xuICB9XG5cbiAgcHVibGljIG9uT3BlbigpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbnRlbnRFbCB9ID0gdGhpcztcbiAgICBjb25zdCBkaXYgPSBjb250ZW50RWwuY3JlYXRlRGl2KHtcbiAgICAgIGNsczogJ2FkdmFuY2VkLXRhYmxlcy1jc3YtZXhwb3J0JyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRhID0gZGl2LmNyZWF0ZUVsKCd0ZXh0YXJlYScsIHtcbiAgICAgIGF0dHI6IHtcbiAgICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRhLnZhbHVlID0gdGhpcy5tdGUuZXhwb3J0Q1NWKHRydWUsIHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICAgIHRhLm9uQ2xpY2tFdmVudCgoKSA9PiB0YS5zZWxlY3QoKSk7XG5cbiAgICBjb25zdCBsYiA9IGRpdi5jcmVhdGVFbCgnbGFiZWwnKTtcbiAgICBjb25zdCBjYiA9IGxiLmNyZWF0ZUVsKCdpbnB1dCcsIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBhdHRyOiB7XG4gICAgICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGxiLmNyZWF0ZVNwYW4oKS5zZXRUZXh0KCdJbmNsdWRlIHRhYmxlIGhlYWRlcnMnKTtcbiAgICBjYi5vbkNsaWNrRXZlbnQoKCkgPT4ge1xuICAgICAgdGEudmFsdWUgPSB0aGlzLm10ZS5leHBvcnRDU1YoY2IuY2hlY2tlZCwgdGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbnRlbnRFbCB9ID0gdGhpcztcbiAgICBjb250ZW50RWwuZW1wdHkoKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgaWNvbnMgfSBmcm9tICcuL2ljb25zJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yUGx1Z2luU2V0dGluZ3MgfSBmcm9tICcuL3NldHRpbmdzJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi90YWJsZS1lZGl0b3InO1xuaW1wb3J0IHtcbiAgRWRpdG9yLFxuICBJdGVtVmlldyxcbiAgTWFya2Rvd25WaWV3LFxuICBOb3RpY2UsXG4gIFdvcmtzcGFjZUxlYWYsXG59IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGNvbnN0IFRhYmxlQ29udHJvbHNWaWV3VHlwZSA9ICdhZHZhbmNlZC10YWJsZXMtdG9vbGJhcic7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUNvbnRyb2xzVmlldyBleHRlbmRzIEl0ZW1WaWV3IHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nczogVGFibGVFZGl0b3JQbHVnaW5TZXR0aW5ncztcblxuICBjb25zdHJ1Y3RvcihsZWFmOiBXb3Jrc3BhY2VMZWFmLCBzZXR0aW5nczogVGFibGVFZGl0b3JQbHVnaW5TZXR0aW5ncykge1xuICAgIHN1cGVyKGxlYWYpO1xuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBnZXRWaWV3VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBUYWJsZUNvbnRyb2xzVmlld1R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGlzcGxheVRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FkdmFuY2VkIFRhYmxlcyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAnc3ByZWFkc2hlZXQnO1xuICB9XG5cbiAgcHVibGljIGxvYWQoKTogdm9pZCB7XG4gICAgc3VwZXIubG9hZCgpO1xuICAgIHRoaXMuZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkcmF3ID0gKCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWwuY2hpbGRyZW5bMV07XG5cbiAgICBjb25zdCByb290RWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIGNvbnN0IG5hdkhlYWRlciA9IHJvb3RFbC5jcmVhdGVEaXYoeyBjbHM6ICduYXYtaGVhZGVyJyB9KTtcbiAgICBjb25zdCByb3dPbmVCdG5zID0gbmF2SGVhZGVyLmNyZWF0ZURpdih7IGNsczogJ25hdi1idXR0b25zLWNvbnRhaW5lcicgfSk7XG4gICAgdGhpcy5kcmF3QnRuKHJvd09uZUJ0bnMsICdhbGlnbkxlZnQnLCAnbGVmdCBhbGlnbiBjb2x1bW4nLCAodGUpID0+XG4gICAgICB0ZS5sZWZ0QWxpZ25Db2x1bW4oKSxcbiAgICApO1xuICAgIHRoaXMuZHJhd0J0bihyb3dPbmVCdG5zLCAnYWxpZ25DZW50ZXInLCAnY2VudGVyIGFsaWduIGNvbHVtbicsICh0ZSkgPT5cbiAgICAgIHRlLmNlbnRlckFsaWduQ29sdW1uKCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93T25lQnRucywgJ2FsaWduUmlnaHQnLCAncmlnaHQgYWxpZ24gY29sdW1uJywgKHRlKSA9PlxuICAgICAgdGUucmlnaHRBbGlnbkNvbHVtbigpLFxuICAgICk7XG5cbiAgICBjb25zdCByb3dUd29CdG5zID0gbmF2SGVhZGVyLmNyZWF0ZURpdih7IGNsczogJ25hdi1idXR0b25zLWNvbnRhaW5lcicgfSk7XG4gICAgdGhpcy5kcmF3QnRuKHJvd1R3b0J0bnMsICdtb3ZlUm93RG93bicsICdtb3ZlIHJvdyBkb3duJywgKHRlKSA9PlxuICAgICAgdGUubW92ZVJvd0Rvd24oKSxcbiAgICApO1xuICAgIHRoaXMuZHJhd0J0bihyb3dUd29CdG5zLCAnbW92ZVJvd1VwJywgJ21vdmUgcm93IHVwJywgKHRlKSA9PlxuICAgICAgdGUubW92ZVJvd1VwKCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93VHdvQnRucywgJ21vdmVDb2x1bW5SaWdodCcsICdtb3ZlIGNvbHVtbiByaWdodCcsICh0ZSkgPT5cbiAgICAgIHRlLm1vdmVDb2x1bW5SaWdodCgpLFxuICAgICk7XG4gICAgdGhpcy5kcmF3QnRuKHJvd1R3b0J0bnMsICdtb3ZlQ29sdW1uTGVmdCcsICdtb3ZlIGNvbHVtbiBsZWZ0JywgKHRlKSA9PlxuICAgICAgdGUubW92ZUNvbHVtbkxlZnQoKSxcbiAgICApO1xuXG4gICAgY29uc3Qgcm93VGhyZWVCdG5zID0gbmF2SGVhZGVyLmNyZWF0ZURpdih7IGNsczogJ25hdi1idXR0b25zLWNvbnRhaW5lcicgfSk7XG4gICAgdGhpcy5kcmF3QnRuKHJvd1RocmVlQnRucywgJ2luc2VydFJvdycsICdpbnNlcnQgcm93IGFib3ZlJywgKHRlKSA9PlxuICAgICAgdGUuaW5zZXJ0Um93KCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93VGhyZWVCdG5zLCAnaW5zZXJ0Q29sdW1uJywgJ2luc2VydCBjb2x1bW4gbGVmdCcsICh0ZSkgPT5cbiAgICAgIHRlLmluc2VydENvbHVtbigpLFxuICAgICk7XG4gICAgdGhpcy5kcmF3QnRuKHJvd1RocmVlQnRucywgJ2RlbGV0ZVJvdycsICdkZWxldGUgcm93JywgKHRlKSA9PlxuICAgICAgdGUuZGVsZXRlUm93KCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93VGhyZWVCdG5zLCAnZGVsZXRlQ29sdW1uJywgJ2RlbGV0ZSBjb2x1bW4nLCAodGUpID0+XG4gICAgICB0ZS5kZWxldGVDb2x1bW4oKSxcbiAgICApO1xuXG4gICAgY29uc3Qgcm93Rm91ckJ0bnMgPSBuYXZIZWFkZXIuY3JlYXRlRGl2KHsgY2xzOiAnbmF2LWJ1dHRvbnMtY29udGFpbmVyJyB9KTtcbiAgICB0aGlzLmRyYXdCdG4ocm93Rm91ckJ0bnMsICdzb3J0QXNjJywgJ3NvcnQgYnkgY29sdW1uIGFzY2VuZGluZycsICh0ZSkgPT5cbiAgICAgIHRlLnNvcnRSb3dzQXNjKCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93Rm91ckJ0bnMsICdzb3J0RGVzYycsICdzb3J0IGJ5IGNvbHVtbiBkZXNjZW5kaW5nJywgKHRlKSA9PlxuICAgICAgdGUuc29ydFJvd3NEZXNjKCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93Rm91ckJ0bnMsICdmb3JtdWxhJywgJ2V2YWx1YXRlIGZvcm11bGFzJywgKHRlKSA9PlxuICAgICAgdGUuZXZhbHVhdGVGb3JtdWxhcygpLFxuICAgICk7XG5cbiAgICBjb25zdCByb3dGaXZlQnRucyA9IG5hdkhlYWRlci5jcmVhdGVEaXYoeyBjbHM6ICduYXYtYnV0dG9ucy1jb250YWluZXInIH0pO1xuICAgIHRoaXMuZHJhd0J0bihyb3dGaXZlQnRucywgJ2NzdicsICdleHBvcnQgYXMgY3N2JywgKHRlKSA9PlxuICAgICAgdGUuZXhwb3J0Q1NWTW9kYWwoKSxcbiAgICApO1xuICAgIHRoaXMuZHJhd0J0bihyb3dGaXZlQnRucywgJ2hlbHAnLCAnaGVscCcsICgpID0+XG4gICAgICB3aW5kb3cub3BlbihcbiAgICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS90Z3Jvc2luZ2VyL2FkdmFuY2VkLXRhYmxlcy1vYnNpZGlhbi9ibG9iL21haW4vZG9jcy9oZWxwLm1kJyxcbiAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnRhaW5lci5lbXB0eSgpO1xuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChyb290RWwpO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZHJhd0J0biA9IChcbiAgICBwYXJlbnQ6IEhUTUxEaXZFbGVtZW50LFxuICAgIGljb25OYW1lOiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBmbjogKHRlOiBUYWJsZUVkaXRvcikgPT4gdm9pZCxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgY3Vyc29yQ2hlY2sgPSAodGU6IFRhYmxlRWRpdG9yKTogYm9vbGVhbiA9PiB7XG4gICAgICBpZiAodGl0bGUgPT09ICdldmFsdWF0ZSBmb3JtdWxhcycpIHtcbiAgICAgICAgcmV0dXJuIHRlLmN1cnNvcklzSW5UYWJsZSgpIHx8IHRlLmN1cnNvcklzSW5UYWJsZUZvcm11bGEoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0ZS5jdXJzb3JJc0luVGFibGUoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uID0gcGFyZW50LmNyZWF0ZURpdih7IGNsczogJ25hdi1hY3Rpb24tYnV0dG9uJywgdGl0bGUgfSk7XG4gICAgYnV0dG9uLm9uQ2xpY2tFdmVudCgoKSA9PiB0aGlzLndpdGhURShmbiwgY3Vyc29yQ2hlY2spKTtcbiAgICBidXR0b24uYXBwZW5kQ2hpbGQoRWxlbWVudChpY29uc1tpY29uTmFtZV0pKTtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHdpdGhURSA9IChcbiAgICBmbjogKHRlOiBUYWJsZUVkaXRvcikgPT4gdm9pZCxcbiAgICBjdXJzb3JDaGVjazogKHRlOiBUYWJsZUVkaXRvcikgPT4gYm9vbGVhbixcbiAgICBhbGVydE9uTm9UYWJsZSA9IHRydWUsXG4gICk6IHZvaWQgPT4ge1xuICAgIGxldCBlZGl0b3I6IEVkaXRvcjtcbiAgICBjb25zdCBsZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldE1vc3RSZWNlbnRMZWFmKCk7XG4gICAgaWYgKGxlYWYudmlldyBpbnN0YW5jZW9mIE1hcmtkb3duVmlldykge1xuICAgICAgZWRpdG9yID0gbGVhZi52aWV3LmVkaXRvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdBZHZhbmNlZCBUYWJsZXM6IFVuYWJsZSB0byBkZXRlcm1pbmUgY3VycmVudCBlZGl0b3IuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGUgPSBuZXcgVGFibGVFZGl0b3IodGhpcy5hcHAsIGxlYWYudmlldy5maWxlLCBlZGl0b3IsIHRoaXMuc2V0dGluZ3MpO1xuICAgIGlmICghY3Vyc29yQ2hlY2sodGUpKSB7XG4gICAgICBpZiAoYWxlcnRPbk5vVGFibGUpIHtcbiAgICAgICAgbmV3IE5vdGljZSgnQWR2YW5jZWQgVGFibGVzOiBDdXJzb3IgbXVzdCBiZSBpbiBhIHRhYmxlLicpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZuKHRlKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGFuIHN2ZyBzdHJpbmcgaW50byBhbiBIVE1MIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHN2Z1RleHQgc3ZnIGltYWdlIGFzIGEgc3RyaW5nXG4gKi9cbmNvbnN0IEVsZW1lbnQgPSAoc3ZnVGV4dDogc3RyaW5nKTogSFRNTEVsZW1lbnQgPT4ge1xuICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG4gIHJldHVybiBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHN2Z1RleHQsICd0ZXh0L3htbCcpLmRvY3VtZW50RWxlbWVudDtcbn07XG4iLCJpbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJy4vaWNvbnMnO1xuaW1wb3J0IHsgZGVmYXVsdFNldHRpbmdzLCBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzIH0gZnJvbSAnLi9zZXR0aW5ncyc7XG5pbXBvcnQge1xuICBUYWJsZUNvbnRyb2xzVmlldyxcbiAgVGFibGVDb250cm9sc1ZpZXdUeXBlLFxufSBmcm9tICcuL3RhYmxlLWNvbnRyb2xzLXZpZXcnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuL3RhYmxlLWVkaXRvcic7XG5pbXBvcnQgeyBFeHRlbnNpb24sIFByZWMgfSBmcm9tICdAY29kZW1pcnJvci9zdGF0ZSc7XG5pbXBvcnQgeyBLZXlCaW5kaW5nLCBrZXltYXAgfSBmcm9tICdAY29kZW1pcnJvci92aWV3JztcbmltcG9ydCB7IEZvcm1hdFR5cGUgfSBmcm9tICdAdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMnO1xuaW1wb3J0IHtcbiAgQXBwLFxuICBFZGl0b3IsXG4gIE1hcmtkb3duVmlldyxcbiAgTm90aWNlLFxuICBQbHVnaW4sXG4gIFBsdWdpblNldHRpbmdUYWIsXG4gIFNldHRpbmcsXG59IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFibGVFZGl0b3JQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBwdWJsaWMgc2V0dGluZ3M6IFRhYmxlRWRpdG9yUGx1Z2luU2V0dGluZ3M7XG5cbiAgLy8gY21FZGl0b3JzIGlzIHVzZWQgZHVyaW5nIHVubG9hZCB0byByZW1vdmUgb3VyIGV2ZW50IGhhbmRsZXJzLlxuICBwcml2YXRlIGNtRWRpdG9yczogQ29kZU1pcnJvci5FZGl0b3JbXTtcblxuICBwcml2YXRlIHRhYmxlQ29udHJvbHNWaWV3OiBUYWJsZUNvbnRyb2xzVmlldztcblxuICBwdWJsaWMgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnNvbGUubG9nKCdsb2FkaW5nIG1hcmtkb3duLXRhYmxlLWVkaXRvciBwbHVnaW4nKTtcblxuICAgIGF3YWl0IHRoaXMubG9hZFNldHRpbmdzKCk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyVmlldyhcbiAgICAgIFRhYmxlQ29udHJvbHNWaWV3VHlwZSxcbiAgICAgIChsZWFmKSA9PlxuICAgICAgICAodGhpcy50YWJsZUNvbnRyb2xzVmlldyA9IG5ldyBUYWJsZUNvbnRyb2xzVmlldyhsZWFmLCB0aGlzLnNldHRpbmdzKSksXG4gICAgKTtcblxuICAgIGFkZEljb25zKCk7XG5cbiAgICBpZiAodGhpcy5zZXR0aW5ncy5zaG93UmliYm9uSWNvbikge1xuICAgICAgdGhpcy5hZGRSaWJib25JY29uKCdzcHJlYWRzaGVldCcsICdBZHZhbmNlZCBUYWJsZXMgVG9vbGJhcicsICgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVUYWJsZUNvbnRyb2xzVmlldygpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5jbUVkaXRvcnMgPSBbXTtcbiAgICB0aGlzLnJlZ2lzdGVyQ29kZU1pcnJvcigoY20pID0+IHtcbiAgICAgIHRoaXMuY21FZGl0b3JzLnB1c2goY20pO1xuICAgICAgY20ub24oJ2tleWRvd24nLCB0aGlzLmhhbmRsZUtleURvd24pO1xuICAgIH0pO1xuXG4gICAgLy8gQ002IGVkaXRvciBleHRlbnNpb24gZm9yIHJlbWFwcGluZyBrZXlzXG4gICAgdGhpcy5yZWdpc3RlckVkaXRvckV4dGVuc2lvbih0aGlzLm1ha2VFZGl0b3JFeHRlbnNpb24oKSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICduZXh0LXJvdycsXG4gICAgICBuYW1lOiAnR28gdG8gbmV4dCByb3cnLFxuICAgICAgaWNvbjogJ2Fycm93ZW50ZXInLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5iaW5kRW50ZXIgJiYgIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICBuZXcgTm90aWNlKFxuICAgICAgICAgICAgJ0FkdmFuY2VkIFRhYmxlczogTmV4dCByb3cgYWxzbyBib3VuZCB0byBlbnRlci4gJyArXG4gICAgICAgICAgICAgICdQb3NzaWJseSBwcm9kdWNpbmcgZG91YmxlIGFjdGlvbnMuIFNlZSBBZHZhbmNlZCBUYWJsZXMgc2V0dGluZ3MuJyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRlLm5leHRSb3coKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnbmV4dC1jZWxsJyxcbiAgICAgIG5hbWU6ICdHbyB0byBuZXh0IGNlbGwnLFxuICAgICAgaWNvbjogJ2Fycm93dGFiJyxcbiAgICAgIGVkaXRvckNoZWNrQ2FsbGJhY2s6IHRoaXMubmV3UGVyZm9ybVRhYmxlQWN0aW9uKCh0ZTogVGFibGVFZGl0b3IpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MuYmluZFRhYiAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgIG5ldyBOb3RpY2UoXG4gICAgICAgICAgICAnQWR2YW5jZWQgVGFibGVzOiBOZXh0IGNlbGwgYWxzbyBib3VuZCB0byB0YWIuICcgK1xuICAgICAgICAgICAgICAnUG9zc2libHkgcHJvZHVjaW5nIGRvdWJsZSBhY3Rpb25zLiBTZWUgQWR2YW5jZWQgVGFibGVzIHNldHRpbmdzLicsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0ZS5uZXh0Q2VsbCgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdwcmV2aW91cy1jZWxsJyxcbiAgICAgIG5hbWU6ICdHbyB0byBwcmV2aW91cyBjZWxsJyxcbiAgICAgIGVkaXRvckNoZWNrQ2FsbGJhY2s6IHRoaXMubmV3UGVyZm9ybVRhYmxlQWN0aW9uKCh0ZTogVGFibGVFZGl0b3IpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MuYmluZFRhYiAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgIG5ldyBOb3RpY2UoXG4gICAgICAgICAgICAnQWR2YW5jZWQgVGFibGVzOiBQcmV2aW91cyBjZWxsIGFsc28gYm91bmQgdG8gc2hpZnQrdGFiLiAnICtcbiAgICAgICAgICAgICAgJ1Bvc3NpYmx5IHByb2R1Y2luZyBkb3VibGUgYWN0aW9ucy4gU2VlIEFkdmFuY2VkIFRhYmxlcyBzZXR0aW5ncy4nLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGUucHJldmlvdXNDZWxsKCk7XG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ2Zvcm1hdC10YWJsZScsXG4gICAgICBuYW1lOiAnRm9ybWF0IHRhYmxlIGF0IHRoZSBjdXJzb3InLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5mb3JtYXRUYWJsZSgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdmb3JtYXQtYWxsLXRhYmxlcycsXG4gICAgICBuYW1lOiAnRm9ybWF0IGFsbCB0YWJsZXMgaW4gdGhpcyBmaWxlJyxcbiAgICAgIGVkaXRvckNoZWNrQ2FsbGJhY2s6IHRoaXMubmV3UGVyZm9ybVRhYmxlQWN0aW9uKCh0ZTogVGFibGVFZGl0b3IpID0+IHtcbiAgICAgICAgdGUuZm9ybWF0QWxsVGFibGVzKCk7XG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ2luc2VydC1jb2x1bW4nLFxuICAgICAgbmFtZTogJ0luc2VydCBjb2x1bW4gYmVmb3JlIGN1cnJlbnQnLFxuICAgICAgaWNvbjogJ2luc2VydENvbHVtbicsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLmluc2VydENvbHVtbigpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdpbnNlcnQtcm93JyxcbiAgICAgIG5hbWU6ICdJbnNlcnQgcm93IGJlZm9yZSBjdXJyZW50JyxcbiAgICAgIGljb246ICdpbnNlcnRSb3cnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5pbnNlcnRSb3coKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnZXNjYXBlLXRhYmxlJyxcbiAgICAgIG5hbWU6ICdNb3ZlIGN1cnNvciBvdXQgb2YgdGFibGUnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5lc2NhcGUoKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnbGVmdC1hbGlnbi1jb2x1bW4nLFxuICAgICAgbmFtZTogJ0xlZnQgYWxpZ24gY29sdW1uJyxcbiAgICAgIGljb246ICdhbGlnbkxlZnQnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5sZWZ0QWxpZ25Db2x1bW4oKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnY2VudGVyLWFsaWduLWNvbHVtbicsXG4gICAgICBuYW1lOiAnQ2VudGVyIGFsaWduIGNvbHVtbicsXG4gICAgICBpY29uOiAnYWxpZ25DZW50ZXInLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5jZW50ZXJBbGlnbkNvbHVtbigpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdyaWdodC1hbGlnbi1jb2x1bW4nLFxuICAgICAgbmFtZTogJ1JpZ2h0IGFsaWduIGNvbHVtbicsXG4gICAgICBpY29uOiAnYWxpZ25SaWdodCcsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLnJpZ2h0QWxpZ25Db2x1bW4oKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnbW92ZS1jb2x1bW4tbGVmdCcsXG4gICAgICBuYW1lOiAnTW92ZSBjb2x1bW4gbGVmdCcsXG4gICAgICBpY29uOiAnbW92ZUNvbHVtbkxlZnQnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5tb3ZlQ29sdW1uTGVmdCgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdtb3ZlLWNvbHVtbi1yaWdodCcsXG4gICAgICBuYW1lOiAnTW92ZSBjb2x1bW4gcmlnaHQnLFxuICAgICAgaWNvbjogJ21vdmVDb2x1bW5SaWdodCcsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLm1vdmVDb2x1bW5SaWdodCgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdtb3ZlLXJvdy11cCcsXG4gICAgICBuYW1lOiAnTW92ZSByb3cgdXAnLFxuICAgICAgaWNvbjogJ21vdmVSb3dVcCcsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLm1vdmVSb3dVcCgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdtb3ZlLXJvdy1kb3duJyxcbiAgICAgIG5hbWU6ICdNb3ZlIHJvdyBkb3duJyxcbiAgICAgIGljb246ICdtb3ZlUm93RG93bicsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLm1vdmVSb3dEb3duKCk7XG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ2RlbGV0ZS1jb2x1bW4nLFxuICAgICAgbmFtZTogJ0RlbGV0ZSBjb2x1bW4nLFxuICAgICAgaWNvbjogJ2RlbGV0ZUNvbHVtbicsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLmRlbGV0ZUNvbHVtbigpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdkZWxldGUtcm93JyxcbiAgICAgIG5hbWU6ICdEZWxldGUgcm93JyxcbiAgICAgIGljb246ICdkZWxldGVSb3cnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5kZWxldGVSb3coKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnc29ydC1yb3dzLWFzY2VuZGluZycsXG4gICAgICBuYW1lOiAnU29ydCByb3dzIGFzY2VuZGluZycsXG4gICAgICBpY29uOiAnc29ydEFzYycsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLnNvcnRSb3dzQXNjKCk7XG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ3NvcnQtcm93cy1kZXNjZW5kaW5nJyxcbiAgICAgIG5hbWU6ICdTb3J0IHJvd3MgZGVzY2VuZGluZycsXG4gICAgICBpY29uOiAnc29ydERlc2MnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5zb3J0Um93c0Rlc2MoKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnZXZhbHVhdGUtZm9ybXVsYXMnLFxuICAgICAgbmFtZTogJ0V2YWx1YXRlIHRhYmxlIGZvcm11bGFzJyxcbiAgICAgIGljb246ICdmb3JtdWxhJyxcbiAgICAgIGVkaXRvckNoZWNrQ2FsbGJhY2s6IChcbiAgICAgICAgY2hlY2tpbmc6IGJvb2xlYW4sXG4gICAgICAgIGVkaXRvcjogRWRpdG9yLFxuICAgICAgICB2aWV3OiBNYXJrZG93blZpZXcsXG4gICAgICApOiBib29sZWFuIHwgdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IHRlID0gbmV3IFRhYmxlRWRpdG9yKHRoaXMuYXBwLCB2aWV3LmZpbGUsIGVkaXRvciwgdGhpcy5zZXR0aW5ncyk7XG4gICAgICAgIGlmIChjaGVja2luZykge1xuICAgICAgICAgIHJldHVybiB0ZS5jdXJzb3JJc0luVGFibGUoKSB8fCB0ZS5jdXJzb3JJc0luVGFibGVGb3JtdWxhKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGUuZXZhbHVhdGVGb3JtdWxhcygpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ3RhYmxlLWNvbnRyb2wtYmFyJyxcbiAgICAgIG5hbWU6ICdPcGVuIHRhYmxlIGNvbnRyb2xzIHRvb2xiYXInLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbJ01vZCcsICdTaGlmdCddLFxuICAgICAgICAgIGtleTogJ2QnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlVGFibGVDb250cm9sc1ZpZXcoKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZFNldHRpbmdUYWIobmV3IFRhYmxlRWRpdG9yU2V0dGluZ3NUYWIodGhpcy5hcHAsIHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygndW5sb2FkaW5nIG1hcmtkb3duLXRhYmxlLWVkaXRvciBwbHVnaW4nKTtcblxuICAgIHRoaXMuY21FZGl0b3JzLmZvckVhY2goKGNtKSA9PiB7XG4gICAgICBjbS5vZmYoJ2tleWRvd24nLCB0aGlzLmhhbmRsZUtleURvd24pO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gbWFrZUVkaXRvckV4dGVuc2lvbiBpcyB1c2VkIHRvIGJpbmQgVGFiIGFuZCBFbnRlciBpbiB0aGUgbmV3IENNNiBMaXZlIFByZXZpZXcgZWRpdG9yLlxuICBwcml2YXRlIHJlYWRvbmx5IG1ha2VFZGl0b3JFeHRlbnNpb24gPSAoKTogRXh0ZW5zaW9uID0+IHtcbiAgICBjb25zdCBrZXltYXBzOiBLZXlCaW5kaW5nW10gPSBbXTtcblxuICAgIGlmICh0aGlzLnNldHRpbmdzLmJpbmRFbnRlcikge1xuICAgICAga2V5bWFwcy5wdXNoKHtcbiAgICAgICAga2V5OiAnRW50ZXInLFxuICAgICAgICBydW46ICgpOiBib29sZWFuID0+XG4gICAgICAgICAgdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb25DTTYoKHRlOiBUYWJsZUVkaXRvcikgPT4gdGUubmV4dFJvdygpKSgpLFxuICAgICAgICBwcmV2ZW50RGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNldHRpbmdzLmJpbmRUYWIpIHtcbiAgICAgIGtleW1hcHMucHVzaCh7XG4gICAgICAgIGtleTogJ1RhYicsXG4gICAgICAgIHJ1bjogKCk6IGJvb2xlYW4gPT5cbiAgICAgICAgICB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbkNNNigodGU6IFRhYmxlRWRpdG9yKSA9PiB0ZS5uZXh0Q2VsbCgpKSgpLFxuICAgICAgICBzaGlmdDogKCk6IGJvb2xlYW4gPT5cbiAgICAgICAgICB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbkNNNigodGU6IFRhYmxlRWRpdG9yKSA9PlxuICAgICAgICAgICAgdGUucHJldmlvdXNDZWxsKCksXG4gICAgICAgICAgKSgpLFxuICAgICAgICBwcmV2ZW50RGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBQcmVjLm92ZXJyaWRlKGtleW1hcC5vZihrZXltYXBzKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZXdQZXJmb3JtVGFibGVBY3Rpb25DTTYgPVxuICAgIChmbjogKHRlOiBUYWJsZUVkaXRvcikgPT4gdm9pZCk6ICgoKSA9PiBib29sZWFuKSA9PlxuICAgICgpOiBib29sZWFuID0+IHtcbiAgICAgIGNvbnN0IGxlYWYgPSB0aGlzLmFwcC53b3Jrc3BhY2UuYWN0aXZlTGVhZjtcbiAgICAgIGlmIChsZWFmLnZpZXcgaW5zdGFuY2VvZiBNYXJrZG93blZpZXcpIHtcbiAgICAgICAgY29uc3QgdGUgPSBuZXcgVGFibGVFZGl0b3IoXG4gICAgICAgICAgdGhpcy5hcHAsXG4gICAgICAgICAgbGVhZi52aWV3LmZpbGUsXG4gICAgICAgICAgbGVhZi52aWV3LmVkaXRvcixcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0ZS5jdXJzb3JJc0luVGFibGUoKSkge1xuICAgICAgICAgIGZuKHRlKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZXdQZXJmb3JtVGFibGVBY3Rpb24gPVxuICAgIChmbjogKHRlOiBUYWJsZUVkaXRvcikgPT4gdm9pZCwgYWxlcnRPbk5vVGFibGUgPSB0cnVlKSA9PlxuICAgIChjaGVja2luZzogYm9vbGVhbiwgZWRpdG9yOiBFZGl0b3IsIHZpZXc6IE1hcmtkb3duVmlldyk6IGJvb2xlYW4gfCB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHRlID0gbmV3IFRhYmxlRWRpdG9yKHRoaXMuYXBwLCB2aWV3LmZpbGUsIGVkaXRvciwgdGhpcy5zZXR0aW5ncyk7XG5cbiAgICAgIGlmIChjaGVja2luZykge1xuICAgICAgICByZXR1cm4gdGUuY3Vyc29ySXNJblRhYmxlKCk7XG4gICAgICB9XG5cbiAgICAgIGZuKHRlKTtcbiAgICB9O1xuXG4gIC8vIGhhbmRsZUtleURvd24gaXMgdXNlZCB0byBiaW5kIHRoZSB0YWIgYW5kIGVudGVyIGtleXMgaW4gdGhlIGxlZ2FjeSBDTTUgZWRpdG9yLlxuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZUtleURvd24gPSAoXG4gICAgY206IENvZGVNaXJyb3IuRWRpdG9yLFxuICAgIGV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICApOiB2b2lkID0+IHtcbiAgICBpZiAoWydUYWInLCAnRW50ZXInXS5jb250YWlucyhldmVudC5rZXkpKSB7XG4gICAgICBsZXQgZWRpdG9yOiBFZGl0b3I7XG4gICAgICBsZXQgdmlldzogTWFya2Rvd25WaWV3O1xuICAgICAgY29uc3QgYWN0aXZlTGVhZiA9IHRoaXMuYXBwLndvcmtzcGFjZS5hY3RpdmVMZWFmO1xuICAgICAgaWYgKGFjdGl2ZUxlYWYudmlldyBpbnN0YW5jZW9mIE1hcmtkb3duVmlldykge1xuICAgICAgICBlZGl0b3IgPSBhY3RpdmVMZWFmLnZpZXcuZWRpdG9yO1xuICAgICAgICB2aWV3ID0gYWN0aXZlTGVhZi52aWV3O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgICAgIGlmICghdGhpcy5zZXR0aW5ncy5iaW5kVGFiKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIHRlLnByZXZpb3VzQ2VsbCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGUubmV4dENlbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgIGlmICghdGhpcy5zZXR0aW5ncy5iaW5kRW50ZXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgdGUuZXNjYXBlKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5hbHRLZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGUubmV4dFJvdygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH0sIGZhbHNlKTtcblxuICAgICAgLy8gQ2hlY2sgZmlyc3QgaWYgd2UgYXJlIGluIGEgdGFibGUsIGlmIHNvLCB0aGVuIGV4ZWN1dGUuXG4gICAgICBpZiAoYWN0aW9uKHRydWUsIGVkaXRvciwgdmlldykpIHtcbiAgICAgICAgYWN0aW9uKGZhbHNlLCBlZGl0b3IsIHZpZXcpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRvZ2dsZVRhYmxlQ29udHJvbHNWaWV3ID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlYXZlc09mVHlwZShUYWJsZUNvbnRyb2xzVmlld1R5cGUpO1xuICAgIGlmIChleGlzdGluZy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5yZXZlYWxMZWFmKGV4aXN0aW5nWzBdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0UmlnaHRMZWFmKGZhbHNlKS5zZXRWaWV3U3RhdGUoe1xuICAgICAgdHlwZTogVGFibGVDb250cm9sc1ZpZXdUeXBlLFxuICAgICAgYWN0aXZlOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHAud29ya3NwYWNlLnJldmVhbExlYWYoXG4gICAgICB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKFRhYmxlQ29udHJvbHNWaWV3VHlwZSlbMF0sXG4gICAgKTtcbiAgfTtcblxuICBwcml2YXRlIGFzeW5jIGxvYWRTZXR0aW5ncygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXR0aW5nc09wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxuICAgICAgZGVmYXVsdFNldHRpbmdzLFxuICAgICAgYXdhaXQgdGhpcy5sb2FkRGF0YSgpLFxuICAgICk7XG4gICAgdGhpcy5zZXR0aW5ncyA9IG5ldyBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzKHNldHRpbmdzT3B0aW9ucyk7XG4gICAgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSAoKTogYm9vbGVhbiA9PiAodGhpcy5hcHAgYXMgYW55KS5pc01vYmlsZTtcbn1cblxuY2xhc3MgVGFibGVFZGl0b3JTZXR0aW5nc1RhYiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogVGFibGVFZGl0b3JQbHVnaW47XG5cbiAgY29uc3RydWN0b3IoYXBwOiBBcHAsIHBsdWdpbjogVGFibGVFZGl0b3JQbHVnaW4pIHtcbiAgICBzdXBlcihhcHAsIHBsdWdpbik7XG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbnRhaW5lckVsIH0gPSB0aGlzO1xuICAgIGNvbnRhaW5lckVsLmVtcHR5KCk7XG5cbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgnaDInLCB7IHRleHQ6ICdBZHZhbmNlZCBUYWJsZXMgUGx1Z2luIC0gU2V0dGluZ3MnIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnQmluZCBlbnRlciB0byB0YWJsZSBuYXZpZ2F0aW9uJylcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICAnUmVxdWlyZXMgcmVzdGFydCBvZiBPYnNpZGlhbi4gSWYgZW5hYmxlZCwgd2hlbiB0aGUgY3Vyc29yIGlzIGluIGEgdGFibGUsIGVudGVyIGFkdmFuY2VzIHRvIHRoZSBuZXh0ICcgK1xuICAgICAgICAgICdyb3cuIERpc2FibGluZyB0aGlzIGNhbiBoZWxwIGF2b2lkIGNvbmZsaWN0aW5nIHdpdGggdGFnIG9yIENKSyAnICtcbiAgICAgICAgICAnYXV0b2NvbXBsZXRpb24uIElmIGRpc2FibGluZywgYmluZCBcIkdvIHRvIC4uLlwiIGluIHRoZSBPYnNpZGlhbiBIb3RrZXlzIHNldHRpbmdzLicsXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5iaW5kRW50ZXIpLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMucGx1Z2luLnNldHRpbmdzLmJpbmRFbnRlciA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMucGx1Z2luLnNhdmVEYXRhKHRoaXMucGx1Z2luLnNldHRpbmdzKTtcbiAgICAgICAgICB0aGlzLmRpc3BsYXkoKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnQmluZCB0YWIgdG8gdGFibGUgbmF2aWdhdGlvbicpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgJ1JlcXVpcmVzIHJlc3RhcnQgb2YgT2JzaWRpYW4uIElmIGVuYWJsZWQsIHdoZW4gdGhlIGN1cnNvciBpcyBpbiBhIHRhYmxlLCB0YWIvc2hpZnQrdGFiIG5hdmlnYXRlICcgK1xuICAgICAgICAgICdiZXR3ZWVuIGNlbGxzLiBEaXNhYmxpbmcgdGhpcyBjYW4gaGVscCBhdm9pZCBjb25mbGljdGluZyB3aXRoIHRhZyAnICtcbiAgICAgICAgICAnb3IgQ0pLIGF1dG9jb21wbGV0aW9uLiBJZiBkaXNhYmxpbmcsIGJpbmQgXCJHbyB0byAuLi5cIiBpbiB0aGUgT2JzaWRpYW4gSG90a2V5cyBzZXR0aW5ncy4nLFxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PlxuICAgICAgICB0b2dnbGUuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuYmluZFRhYikub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MuYmluZFRhYiA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMucGx1Z2luLnNhdmVEYXRhKHRoaXMucGx1Z2luLnNldHRpbmdzKTtcbiAgICAgICAgICB0aGlzLmRpc3BsYXkoKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnUGFkIGNlbGwgd2lkdGggdXNpbmcgc3BhY2VzJylcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICAnSWYgZW5hYmxlZCwgdGFibGUgY2VsbHMgd2lsbCBoYXZlIHNwYWNlcyBhZGRlZCB0byBtYXRjaCB0aGUgd2l0aCBvZiB0aGUgJyArXG4gICAgICAgICAgJ2xvbmdlc3QgY2VsbCBpbiB0aGUgY29sdW1uLicsXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5mb3JtYXRUeXBlID09PSBGb3JtYXRUeXBlLk5PUk1BTClcbiAgICAgICAgICAub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy5mb3JtYXRUeXBlID0gdmFsdWVcbiAgICAgICAgICAgICAgPyBGb3JtYXRUeXBlLk5PUk1BTFxuICAgICAgICAgICAgICA6IEZvcm1hdFR5cGUuV0VBSztcbiAgICAgICAgICAgIHRoaXMucGx1Z2luLnNhdmVEYXRhKHRoaXMucGx1Z2luLnNldHRpbmdzKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheSgpO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoJ1Nob3cgaWNvbiBpbiBzaWRlYmFyJylcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICAnSWYgZW5hYmxlZCwgYSBidXR0b24gd2hpY2ggb3BlbnMgdGhlIHRhYmxlIGNvbnRyb2xzIHRvb2xiYXIgd2lsbCBiZSBhZGRlZCB0byB0aGUgT2JzaWRpYW4gc2lkZWJhci4gJyArXG4gICAgICAgICAgJ1RoZSB0b29sYmFyIGNhbiBhbHNvIGJlIG9wZW5lZCB3aXRoIGEgSG90a2V5LiBDaGFuZ2VzIG9ubHkgdGFrZSBlZmZlY3Qgb24gcmVsb2FkLicsXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5zaG93UmliYm9uSWNvbilcbiAgICAgICAgICAub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy5zaG93UmliYm9uSWNvbiA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2F2ZURhdGEodGhpcy5wbHVnaW4uc2V0dGluZ3MpO1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5KCk7XG4gICAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgY29uc3QgZGl2ID0gY29udGFpbmVyRWwuY3JlYXRlRWwoJ2RpdicsIHtcbiAgICAgIGNsczogJ2FkdmFuY2VkLXRhYmxlcy1kb25hdGlvbicsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkb25hdGVUZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpO1xuICAgIGRvbmF0ZVRleHQuYXBwZW5kVGV4dChcbiAgICAgICdJZiB0aGlzIHBsdWdpbiBhZGRzIHZhbHVlIGZvciB5b3UgYW5kIHlvdSB3b3VsZCBsaWtlIHRvIGhlbHAgc3VwcG9ydCAnICtcbiAgICAgICAgJ2NvbnRpbnVlZCBkZXZlbG9wbWVudCwgcGxlYXNlIHVzZSB0aGUgYnV0dG9ucyBiZWxvdzonLFxuICAgICk7XG4gICAgZGl2LmFwcGVuZENoaWxkKGRvbmF0ZVRleHQpO1xuXG4gICAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuXG4gICAgZGl2LmFwcGVuZENoaWxkKFxuICAgICAgY3JlYXRlRG9uYXRlQnV0dG9uKFxuICAgICAgICAnaHR0cHM6Ly9wYXlwYWwubWUvdGdyb3NpbmdlcicsXG4gICAgICAgIHBhcnNlci5wYXJzZUZyb21TdHJpbmcocGF5cGFsLCAndGV4dC94bWwnKS5kb2N1bWVudEVsZW1lbnQsXG4gICAgICApLFxuICAgICk7XG5cbiAgICBkaXYuYXBwZW5kQ2hpbGQoXG4gICAgICBjcmVhdGVEb25hdGVCdXR0b24oXG4gICAgICAgICdodHRwczovL3d3dy5idXltZWFjb2ZmZWUuY29tL3Rncm9zaW5nZXInLFxuICAgICAgICBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKGJ1eU1lQUNvZmZlZSwgJ3RleHQveG1sJykuZG9jdW1lbnRFbGVtZW50LFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG5cbmNvbnN0IGNyZWF0ZURvbmF0ZUJ1dHRvbiA9IChsaW5rOiBzdHJpbmcsIGltZzogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCA9PiB7XG4gIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gIGEuc2V0QXR0cmlidXRlKCdocmVmJywgbGluayk7XG4gIGEuYWRkQ2xhc3MoJ2FkdmFuY2VkLXRhYmxlcy1kb25hdGUtYnV0dG9uJyk7XG4gIGEuYXBwZW5kQ2hpbGQoaW1nKTtcbiAgcmV0dXJuIGE7XG59O1xuXG5jb25zdCBidXlNZUFDb2ZmZWUgPSBgXG48c3ZnIHdpZHRoPVwiMTUwXCIgaGVpZ2h0PVwiNDJcIiB2aWV3Qm94PVwiMCAwIDI2MCA3M1wiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0wIDExLjY4QzAgNS4yMjkzMiA1LjIyOTMxIDAgMTEuNjggMEgyNDguMkMyNTQuNjUxIDAgMjU5Ljg4IDUuMjI5MzEgMjU5Ljg4IDExLjY4VjYxLjMyQzI1OS44OCA2Ny43NzA3IDI1NC42NTEgNzMgMjQ4LjIgNzNIMTEuNjhDNS4yMjkzMSA3MyAwIDY3Ljc3MDcgMCA2MS4zMlYxMS42OFpcIiBmaWxsPVwiI0ZGREQwMFwiLz5cbjxwYXRoIGQ9XCJNNTIuMjU2NiAyNC4wMDc4TDUyLjIyNDYgMjMuOTg4OUw1Mi4xNTA0IDIzLjk2NjNDNTIuMTgwMiAyMy45OTE1IDUyLjIxNzYgMjQuMDA2MSA1Mi4yNTY2IDI0LjAwNzhaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTUyLjcyNDggMjcuMzQ1N0w1Mi42ODk1IDI3LjM1NTZMNTIuNzI0OCAyNy4zNDU3WlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk01Mi4yNzAxIDI0LjAwMjRDNTIuMjY2IDI0LjAwMTkgNTIuMjYxOSAyNC4wMDA5IDUyLjI1OCAyMy45OTk1QzUyLjI1NzggMjQuMDAyMiA1Mi4yNTc4IDI0LjAwNDkgNTIuMjU4IDI0LjAwNzZDNTIuMjYyNCAyNC4wMDcgNTIuMjY2NiAyNC4wMDUyIDUyLjI3MDEgMjQuMDAyNFpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNTIuMjU3OCAyNC4wMDk0SDUyLjI2NDNWMjQuMDA1NEw1Mi4yNTc4IDI0LjAwOTRaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTUyLjY5NzMgMjcuMzM5NEw1Mi43NTEzIDI3LjMwODZMNTIuNzcxNCAyNy4yOTczTDUyLjc4OTcgMjcuMjc3OEM1Mi43NTU0IDI3LjI5MjYgNTIuNzI0MSAyNy4zMTM1IDUyLjY5NzMgMjcuMzM5NFpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNTIuMzQ4NCAyNC4wODEyTDUyLjI5NTYgMjQuMDMxTDUyLjI1OTggMjQuMDExNUM1Mi4yNzkgMjQuMDQ1NCA1Mi4zMTA4IDI0LjA3MDUgNTIuMzQ4NCAyNC4wODEyWlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk0zOS4wNjg0IDU2LjQ2OUMzOS4wMjYyIDU2LjQ4NzIgMzguOTg5MyA1Ni41MTU4IDM4Ljk2MDkgNTYuNTUyTDM4Ljk5NDMgNTYuNTMwNkMzOS4wMTY5IDU2LjUwOTggMzkuMDQ4OSA1Ni40ODUzIDM5LjA2ODQgNTYuNDY5WlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk00Ni43ODAyIDU0Ljk1MThDNDYuNzgwMiA1NC45MDQxIDQ2Ljc1NjkgNTQuOTEyOSA0Ni43NjI2IDU1LjA4MjZDNDYuNzYyNiA1NS4wNjg3IDQ2Ljc2ODMgNTUuMDU0OSA0Ni43NzA4IDU1LjA0MTdDNDYuNzczOSA1NS4wMTE1IDQ2Ljc3NjQgNTQuOTgyIDQ2Ljc4MDIgNTQuOTUxOFpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNDUuOTg0NCA1Ni40NjlDNDUuOTQyMiA1Ni40ODcyIDQ1LjkwNTMgNTYuNTE1OCA0NS44NzcgNTYuNTUyTDQ1LjkxMDMgNTYuNTMwNkM0NS45MzI5IDU2LjUwOTggNDUuOTY0OSA1Ni40ODUzIDQ1Ljk4NDQgNTYuNDY5WlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk0zMy42MzA3IDU2LjgzMDFDMzMuNTk4NyA1Ni44MDIzIDMzLjU1OTUgNTYuNzg0IDMzLjUxNzYgNTYuNzc3M0MzMy41NTE1IDU2Ljc5MzcgMzMuNTg1NSA1Ni44MSAzMy42MDgxIDU2LjgyMjZMMzMuNjMwNyA1Ni44MzAxWlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk0zMi40MTE4IDU1LjY1OThDMzIuNDA2OCA1NS42MTAzIDMyLjM5MTYgNTUuNTYyNCAzMi4zNjcyIDU1LjUxOUMzMi4zODQ1IDU1LjU2NDIgMzIuMzk5IDU1LjYxMDQgMzIuNDEwNiA1NS42NTczTDMyLjQxMTggNTUuNjU5OFpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNDAuNjIzIDM0LjcyMjFDMzguOTQ0OSAzNS40NDA1IDM3LjA0MDQgMzYuMjU1MSAzNC41NzIyIDM2LjI1NTFDMzMuNTM5NyAzNi4yNTMxIDMyLjUxMjIgMzYuMTExNCAzMS41MTc2IDM1LjgzNEwzMy4yMjQ3IDUzLjM2MDVDMzMuMjg1MSA1NC4wOTMgMzMuNjE4OCA1NC43NzYxIDM0LjE1OTUgNTUuMjczOUMzNC43MDAzIDU1Ljc3MTggMzUuNDA4NSA1Ni4wNDgyIDM2LjE0MzUgNTYuMDQ4QzM2LjE0MzUgNTYuMDQ4IDM4LjU2NCA1Ni4xNzM3IDM5LjM3MTYgNTYuMTczN0M0MC4yNDA5IDU2LjE3MzcgNDIuODQ3NCA1Ni4wNDggNDIuODQ3NCA1Ni4wNDhDNDMuNTgyMyA1Ni4wNDggNDQuMjkwNCA1NS43NzE2IDQ0LjgzMSA1NS4yNzM3QzQ1LjM3MTYgNTQuNzc1OSA0NS43MDUyIDU0LjA5MjkgNDUuNzY1NiA1My4zNjA1TDQ3LjU5NCAzMy45OTNDNDYuNzc2OSAzMy43MTQgNDUuOTUyMyAzMy41Mjg2IDQ1LjAyMjcgMzMuNTI4NkM0My40MTUgMzMuNTI3OSA0Mi4xMTk2IDM0LjA4MTcgNDAuNjIzIDM0LjcyMjFaXCIgZmlsbD1cIndoaXRlXCIvPlxuPHBhdGggZD1cIk0yNi4yMzQ0IDI3LjI0NDlMMjYuMjYzMyAyNy4yNzE5TDI2LjI4MjEgMjcuMjgzMkMyNi4yNjc2IDI3LjI2ODggMjYuMjUxNiAyNy4yNTU5IDI2LjIzNDQgMjcuMjQ0OVpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNTUuNDkwNiAyNS42Mjc0TDU1LjIzMzYgMjQuMzMwN0M1NS4wMDI5IDIzLjE2NzMgNTQuNDc5MyAyMi4wNjggNTMuMjg1MSAyMS42NDc1QzUyLjkwMjQgMjEuNTEzIDUyLjQ2OCAyMS40NTUyIDUyLjE3NDUgMjEuMTc2OEM1MS44ODEgMjAuODk4MyA1MS43OTQzIDIwLjQ2NTkgNTEuNzI2NCAyMC4wNjQ5QzUxLjYwMDcgMTkuMzI4OSA1MS40ODI1IDE4LjU5MjMgNTEuMzUzNyAxNy44NTc1QzUxLjI0MjQgMTcuMjI1OSA1MS4xNTQ0IDE2LjUxNjMgNTAuODY0NyAxNS45MzY4QzUwLjQ4NzYgMTUuMTU4NiA0OS43MDUgMTQuNzAzNiA0OC45MjY5IDE0LjQwMjVDNDguNTI4MiAxNC4yNTM3IDQ4LjEyMTMgMTQuMTI3OCA0Ny43MDgyIDE0LjAyNTRDNDUuNzY0MiAxMy41MTI1IDQzLjcyMDIgMTMuMzI0IDQxLjcyMDIgMTMuMjE2NUMzOS4zMTk3IDEzLjA4NCAzNi45MTI4IDEzLjEyMzkgMzQuNTE4IDEzLjMzNTlDMzIuNzM1NSAxMy40OTgxIDMwLjg1ODEgMTMuNjk0MiAyOS4xNjQyIDE0LjMxMDhDMjguNTQ1MSAxNC41MzY0IDI3LjkwNzEgMTQuODA3MyAyNy40MzY0IDE1LjI4NTZDMjYuODU4NyAxNS44NzMzIDI2LjY3MDIgMTYuNzgyMSAyNy4wOTE5IDE3LjUxNUMyNy4zOTE3IDE4LjAzNTQgMjcuODk5NiAxOC40MDMxIDI4LjQzODIgMTguNjQ2M0MyOS4xMzk4IDE4Ljk1OTcgMjkuODcyNiAxOS4xOTgyIDMwLjYyNDIgMTkuMzU3OEMzMi43MTcyIDE5LjgyMDQgMzQuODg1IDIwLjAwMjEgMzcuMDIzMyAyMC4wNzk0QzM5LjM5MzIgMjAuMTc1IDQxLjc2NyAyMC4wOTc1IDQ0LjEyNTYgMTkuODQ3NEM0NC43MDg5IDE5Ljc4MzMgNDUuMjkxMSAxOS43MDY0IDQ1Ljg3MjMgMTkuNjE2OEM0Ni41NTY4IDE5LjUxMTggNDYuOTk2MSAxOC42MTY4IDQ2Ljc5NDMgMTcuOTkzM0M0Ni41NTMgMTcuMjQ3OSA0NS45MDQ0IDE2Ljk1ODcgNDUuMTcwOSAxNy4wNzEyQzQ1LjA2MjggMTcuMDg4MiA0NC45NTUzIDE3LjEwMzkgNDQuODQ3MiAxNy4xMTk2TDQ0Ljc2OTIgMTcuMTMxQzQ0LjUyMDggMTcuMTYyNCA0NC4yNzIzIDE3LjE5MTcgNDQuMDIzOCAxNy4yMTlDNDMuNTEwNSAxNy4yNzQzIDQyLjk5NTkgMTcuMzE5NSA0Mi40ODAxIDE3LjM1NDdDNDEuMzI0OSAxNy40MzUyIDQwLjE2NjUgMTcuNDcyMiAzOS4wMDg4IDE3LjQ3NDFDMzcuODcxMiAxNy40NzQxIDM2LjczMjkgMTcuNDQyMSAzNS41OTc4IDE3LjM2NzNDMzUuMDc5OSAxNy4zMzMzIDM0LjU2MzIgMTcuMjkwMiAzNC4wNDc4IDE3LjIzNzhDMzMuODEzNCAxNy4yMTMzIDMzLjU3OTYgMTcuMTg3NSAzMy4zNDU4IDE3LjE1ODZMMzMuMTIzMyAxNy4xMzAzTDMzLjA3NDkgMTcuMTIzNEwzMi44NDQyIDE3LjA5MDFDMzIuMzcyOCAxNy4wMTkxIDMxLjkwMTQgMTYuOTM3NCAzMS40MzUgMTYuODM4N0MzMS4zODggMTYuODI4MyAzMS4zNDU5IDE2LjgwMjEgMzEuMzE1NyAxNi43NjQ1QzMxLjI4NTYgMTYuNzI2OSAzMS4yNjkxIDE2LjY4MDEgMzEuMjY5MSAxNi42MzE5QzMxLjI2OTEgMTYuNTgzNyAzMS4yODU2IDE2LjUzNjkgMzEuMzE1NyAxNi40OTkzQzMxLjM0NTkgMTYuNDYxNyAzMS4zODggMTYuNDM1NiAzMS40MzUgMTYuNDI1MUgzMS40NDM4QzMxLjg0OCAxNi4zMzkgMzIuMjU1MyAxNi4yNjU1IDMyLjY2MzggMTYuMjAxNEMzMi44IDE2LjE4IDMyLjkzNjYgMTYuMTU5IDMzLjA3MzYgMTYuMTM4NUgzMy4wNzc0QzMzLjMzMzIgMTYuMTIxNSAzMy41OTAzIDE2LjA3NTcgMzMuODQ0OCAxNi4wNDU1QzM2LjA1OTUgMTUuODE1MSAzOC4yODc0IDE1LjczNjYgNDAuNTEyOCAxNS44MTA0QzQxLjU5MzMgMTUuODQxOSA0Mi42NzMxIDE1LjkwNTMgNDMuNzQ4NSAxNi4wMTQ3QzQzLjk3OTggMTYuMDM4NiA0NC4yMDk4IDE2LjA2MzcgNDQuNDM5OSAxNi4wOTJDNDQuNTI3OSAxNi4xMDI3IDQ0LjYxNjUgMTYuMTE1MyA0NC43MDUxIDE2LjEyNTlMNDQuODgzNiAxNi4xNTE3QzQ1LjQwNCAxNi4yMjkyIDQ1LjkyMTcgMTYuMzIzMyA0Ni40MzY3IDE2LjQzMzlDNDcuMTk5NyAxNi41OTk5IDQ4LjE3OTYgMTYuNjUzOSA0OC41MTkgMTcuNDg5OEM0OC42MjcxIDE3Ljc1NTEgNDguNjc2MSAxOC4wNDk5IDQ4LjczNTkgMTguMzI4M0w0OC44MTE5IDE4LjY4MzRDNDguODEzOSAxOC42ODk4IDQ4LjgxNTQgMTguNjk2MyA0OC44MTYzIDE4LjcwMjlDNDguOTk2MSAxOS41NDA5IDQ5LjE3NiAyMC4zNzkgNDkuMzU2MiAyMS4yMTdDNDkuMzY5NCAyMS4yNzg5IDQ5LjM2OTcgMjEuMzQyOSA0OS4zNTcxIDIxLjQwNDlDNDkuMzQ0NSAyMS40NjY5IDQ5LjMxOTMgMjEuNTI1NyA0OS4yODI5IDIxLjU3NzZDNDkuMjQ2NiAyMS42Mjk0IDQ5LjIgMjEuNjczMiA0OS4xNDYgMjEuNzA2MkM0OS4wOTIgMjEuNzM5MiA0OS4wMzE3IDIxLjc2MDggNDguOTY5IDIxLjc2OTVINDguOTY0TDQ4Ljg1NCAyMS43ODQ2TDQ4Ljc0NTMgMjEuNzk5QzQ4LjQwMDkgMjEuODQzOSA0OC4wNTYgMjEuODg1OCA0Ny43MTA3IDIxLjkyNDdDNDcuMDMwNyAyMi4wMDIyIDQ2LjM0OTYgMjIuMDY5MyA0NS42Njc0IDIyLjEyNTlDNDQuMzExOSAyMi4yMzg2IDQyLjk1MzYgMjIuMzEyNSA0MS41OTI3IDIyLjM0NzdDNDAuODk5MiAyMi4zNjYyIDQwLjIwNTkgMjIuMzc0OCAzOS41MTI5IDIyLjM3MzVDMzYuNzU0MyAyMi4zNzEzIDMzLjk5ODEgMjIuMjExIDMxLjI1NzggMjEuODkzM0MzMC45NjExIDIxLjg1ODEgMzAuNjY0NSAyMS44MjA0IDMwLjM2NzggMjEuNzgyMUMzMC41OTc4IDIxLjgxMTYgMzAuMjAwNiAyMS43NTk0IDMwLjEyMDIgMjEuNzQ4MUMyOS45MzE2IDIxLjcyMTcgMjkuNzQzMSAyMS42OTQzIDI5LjU1NDUgMjEuNjY1OEMyOC45MjE2IDIxLjU3MDkgMjguMjkyNCAyMS40NTQgMjcuNjYwNyAyMS4zNTE1QzI2Ljg5NzEgMjEuMjI1OCAyNi4xNjY3IDIxLjI4ODcgMjUuNDc2IDIxLjY2NThDMjQuOTA5IDIxLjk3NiAyNC40NTAxIDIyLjQ1MTggMjQuMTYwNSAyMy4wMjk3QzIzLjg2MjYgMjMuNjQ1NiAyMy43NzM5IDI0LjMxNjMgMjMuNjQwNyAyNC45NzgxQzIzLjUwNzQgMjUuNjM5OSAyMy4zIDI2LjM1MjEgMjMuMzc4NiAyNy4wMzE1QzIzLjU0NzcgMjguNDk3OSAyNC41NzI4IDI5LjY4OTUgMjYuMDQ3MyAyOS45NTZDMjcuNDM0NSAzMC4yMDc0IDI4LjgyOTIgMzAuNDExMSAzMC4yMjc2IDMwLjU4NDZDMzUuNzIxMiAzMS4yNTc0IDQxLjI3MTEgMzEuMzM3OSA0Ni43ODE4IDMwLjgyNDdDNDcuMjMwNSAzMC43ODI4IDQ3LjY3ODcgMzAuNzM3MSA0OC4xMjYyIDMwLjY4NzZDNDguMjY2IDMwLjY3MjMgNDguNDA3NCAzMC42ODg0IDQ4LjU0MDEgMzAuNzM0OEM0OC42NzI5IDMwLjc4MTIgNDguNzkzNiAzMC44NTY2IDQ4Ljg5MzQgMzAuOTU1N0M0OC45OTMyIDMxLjA1NDggNDkuMDY5NSAzMS4xNzQ5IDQ5LjExNjkgMzEuMzA3M0M0OS4xNjQyIDMxLjQzOTcgNDkuMTgxNCAzMS41ODExIDQ5LjE2NyAzMS43MjA5TDQ5LjAyNzUgMzMuMDc3M0M0OC43NDYzIDM1LjgxODEgNDguNDY1MiAzOC41NTg3IDQ4LjE4NCA0MS4yOTlDNDcuODkwNyA0NC4xNzY5IDQ3LjU5NTUgNDcuMDU0NSA0Ny4yOTg0IDQ5LjkzMTlDNDcuMjE0NiA1MC43NDIyIDQ3LjEzMDggNTEuNTUyNCA0Ny4wNDcgNTIuMzYyNEM0Ni45NjY2IDUzLjE2IDQ2Ljk1NTIgNTMuOTgyNyA0Ni44MDM4IDU0Ljc3MDlDNDYuNTY0OSA1Ni4wMTAzIDQ1LjcyNTggNTYuNzcxNSA0NC41MDE1IDU3LjA0OTlDNDMuMzc5OCA1Ny4zMDUyIDQyLjIzMzkgNTcuNDM5MiA0MS4wODM2IDU3LjQ0OTdDMzkuODA4MyA1Ny40NTY2IDM4LjUzMzYgNTcuNCAzNy4yNTgzIDU3LjQwNjlDMzUuODk3IDU3LjQxNDUgMzQuMjI5NSA1Ny4yODg3IDMzLjE3ODYgNTYuMjc1NkMzMi4yNTUzIDU1LjM4NTYgMzIuMTI3NyA1My45OTIxIDMyLjAwMiA1Mi43ODcyQzMxLjgzNDQgNTEuMTkyIDMxLjY2ODIgNDkuNTk3MSAzMS41MDM2IDQ4LjAwMjNMMzAuNTc5NiAzOS4xMzQ0TDI5Ljk4MTkgMzMuMzk2NkMyOS45NzE4IDMzLjMwMTcgMjkuOTYxOCAzMy4yMDggMjkuOTUyNCAzMy4xMTI1QzI5Ljg4MDcgMzIuNDI4IDI5LjM5NjEgMzEuNzU4IDI4LjYzMjQgMzEuNzkyNkMyNy45Nzg4IDMxLjgyMTUgMjcuMjM1OSAzMi4zNzcxIDI3LjMxMjUgMzMuMTEyNUwyNy43NTU3IDM3LjM2NjRMMjguNjcyIDQ2LjE2NTdDMjguOTMzMSA0OC42NjUyIDI5LjE5MzUgNTEuMTY1IDI5LjQ1MzMgNTMuNjY1M0MyOS41MDM2IDU0LjE0NDIgMjkuNTUwNyA1NC42MjQ0IDI5LjYwMzUgNTUuMTAzNEMyOS44OTA4IDU3LjcyMDUgMzEuODg5NSA1OS4xMzEgMzQuMzY0NiA1OS41MjgyQzM1LjgxMDIgNTkuNzYwNyAzNy4yOTEgNTkuODA4NSAzOC43NTggNTkuODMyNEM0MC42Mzg2IDU5Ljg2MjYgNDIuNTM4IDU5LjkzNDggNDQuMzg3NyA1OS41OTQyQzQ3LjEyODcgNTkuMDkxNCA0OS4xODUzIDU3LjI2MTEgNDkuNDc4OCA1NC40MjJDNDkuNTYyNiA1My42MDI0IDQ5LjY0NjQgNTIuNzgyNiA0OS43MzAyIDUxLjk2MjZDNTAuMDA4OCA0OS4yNTA3IDUwLjI4NzEgNDYuNTM4NiA1MC41NjQ5IDQzLjgyNjNMNTEuNDczNyAzNC45NjQxTDUxLjg5MDQgMzAuOTAyNkM1MS45MTEyIDMwLjcwMTIgNTEuOTk2MiAzMC41MTE4IDUyLjEzMyAzMC4zNjI1QzUyLjI2OTcgMzAuMjEzMiA1Mi40NTA5IDMwLjExMTkgNTIuNjQ5NyAzMC4wNzM2QzUzLjQzMzUgMjkuOTIwOCA1NC4xODI3IDI5LjY2IDU0Ljc0MDIgMjkuMDYzNUM1NS42Mjc3IDI4LjExMzggNTUuODA0MyAyNi44NzU2IDU1LjQ5MDYgMjUuNjI3NFpNMjYuMDA3MSAyNi41MDM1QzI2LjAxOSAyNi40OTc5IDI1Ljk5NyAyNi42MDAzIDI1Ljk4NzYgMjYuNjQ4MUMyNS45ODU3IDI2LjU3NTggMjUuOTg5NSAyNi41MTE3IDI2LjAwNzEgMjYuNTAzNVpNMjYuMDgzMSAyNy4wOTE4QzI2LjA4OTQgMjcuMDg3NCAyNi4xMDgzIDI3LjExMjYgMjYuMTI3OCAyNy4xNDI4QzI2LjA5ODIgMjcuMTE1MSAyNi4wNzk0IDI3LjA5NDQgMjYuMDgyNSAyNy4wOTE4SDI2LjA4MzFaTTI2LjE1NzkgMjcuMTkwNUMyNi4xODUgMjcuMjM2NCAyNi4xOTk0IDI3LjI2NTMgMjYuMTU3OSAyNy4xOTA1VjI3LjE5MDVaTTI2LjMwODIgMjcuMzEyNUgyNi4zMTE5QzI2LjMxMTkgMjcuMzE2OSAyNi4zMTg4IDI3LjMyMTMgMjYuMzIxNCAyNy4zMjU3QzI2LjMxNzIgMjcuMzIwOCAyNi4zMTI2IDI3LjMxNjQgMjYuMzA3NSAyNy4zMTI1SDI2LjMwODJaTTUyLjYxMzIgMjcuMTMwMkM1Mi4zMzE3IDI3LjM5NzkgNTEuOTA3NCAyNy41MjI0IDUxLjQ4ODIgMjcuNTg0NkM0Ni43ODY4IDI4LjI4MjMgNDIuMDE2OSAyOC42MzU1IDM3LjI2NCAyOC40Nzk2QzMzLjg2MjQgMjguMzYzMyAzMC40OTY3IDI3Ljk4NTYgMjcuMTI5IDI3LjUwOThDMjYuNzk5IDI3LjQ2MzMgMjYuNDQxNCAyNy40MDMgMjYuMjE0NSAyNy4xNTk3QzI1Ljc4NzEgMjYuNzAwOSAyNS45OTcgMjUuNzc3IDI2LjEwODMgMjUuMjIyNkMyNi4yMTAxIDI0LjcxNDggMjYuNDA1IDI0LjAzNzggMjcuMDA5IDIzLjk2NTZDMjcuOTUxOCAyMy44NTQ5IDI5LjA0NjYgMjQuMjUyOCAyOS45Nzk0IDI0LjM5NDJDMzEuMTAyMyAyNC41NjU2IDMyLjIyOTUgMjQuNzAyOCAzMy4zNjA5IDI0LjgwNTlDMzguMTg5MiAyNS4yNDU5IDQzLjA5ODYgMjUuMTc3NCA0Ny45MDU2IDI0LjUzMzdDNDguNzgxNyAyNC40MTYgNDkuNjU0OCAyNC4yNzkyIDUwLjUyNDYgMjQuMTIzM0M1MS4yOTk2IDIzLjk4NDQgNTIuMTU4OCAyMy43MjM2IDUyLjYyNzEgMjQuNTI2MkM1Mi45NDgyIDI1LjA3MyA1Mi45OTEgMjUuODA0NiA1Mi45NDEzIDI2LjQyMjVDNTIuOTI2IDI2LjY5MTcgNTIuODA4NCAyNi45NDQ4IDUyLjYxMjYgMjcuMTMwMkg1Mi42MTMyWlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTgxLjEzMDIgNDAuMTkyOUM4MC44NTU2IDQwLjcxNjkgODAuNDc4MSA0MS4xNzMyIDc5Ljk5NzggNDEuNTYwNEM3OS41MTc1IDQxLjk0NzkgNzguOTU3MSA0Mi4yNjMzIDc4LjMxNjYgNDIuNTA2MkM3Ny42NzYxIDQyLjc0OTcgNzcuMDMxNSA0Mi45MTMxIDc2LjM4MzUgNDIuOTk2NEM3NS43MzUyIDQzLjA3OTkgNzUuMTA2IDQzLjA3MjcgNzQuNDk2MyA0Mi45NzM1QzczLjg4NjMgNDIuODc0OSA3My4zNjc0IDQyLjY3MzcgNzIuOTQwOCA0Mi4zNjk1TDczLjQyMTQgMzcuMzc3OUM3My44NjMzIDM3LjIyNjEgNzQuNDE5NyAzNy4wNzAzIDc1LjA5MDkgMzYuOTEwN0M3NS43NjE5IDM2Ljc1MTMgNzYuNDUyIDM2LjYzNzEgNzcuMTYxMyAzNi41Njg5Qzc3Ljg3MDUgMzYuNTAwMyA3OC41NDEyIDM2LjUwODQgNzkuMTc0NCAzNi41OTE3Qzc5LjgwNjggMzYuNjc1MyA4MC4zMDY1IDM2Ljg3NjUgODAuNjcyNSAzNy4xOTU4QzgwLjg3MDcgMzcuMzc4IDgxLjAzODcgMzcuNTc1NCA4MS4xNzYgMzcuNzg4M0M4MS4zMTMgMzguMDAxMSA4MS4zOTY5IDM4LjIyMTQgODEuNDI3NiAzOC40NDkzQzgxLjUwMzcgMzkuMDg3NSA4MS40MDQ3IDM5LjY2ODcgODEuMTMwMiA0MC4xOTI5Wk03NC4xNTMgMjkuNTYwMkM3NC40NzM0IDI5LjM2MjcgNzQuODU4NSAyOS4xODc3IDc1LjMwODMgMjkuMDM1NkM3NS43NTgxIDI4Ljg4NDEgNzYuMjE5NSAyOC43Nzc0IDc2LjY5MjMgMjguNzE2N0M3Ny4xNjQ4IDI4LjY1NjIgNzcuNjI2MiAyOC42NDgxIDc4LjA3NjMgMjguNjkzOEM3OC41MjU4IDI4LjczOTUgNzguOTIyOCAyOC44NjQ3IDc5LjI2NTkgMjkuMDY5N0M3OS42MDg5IDI5LjI3NTEgNzkuODY0MyAyOS41NzE0IDgwLjAzMiAyOS45NTg2QzgwLjE5OTcgMzAuMzQ2NCA4MC4yNDU2IDMwLjgzNjUgODAuMTY5MyAzMS40MjlDODAuMTA4MyAzMS45MDAxIDc5LjkyMTEgMzIuMjk5MSA3OS42MDg5IDMyLjYyNTZDNzkuMjk2MyAzMi45NTI2IDc4LjkxNDcgMzMuMjI1OSA3OC40NjUyIDMzLjQ0NjJDNzguMDE1NCAzMy42NjY4IDc3LjUzODggMzMuODQxNSA3Ny4wMzU2IDMzLjk3MDJDNzYuNTMyMSAzNC4wOTk3IDc2LjA0NzcgMzQuMTk0OSA3NS41ODI4IDM0LjI1NTNDNzUuMTE3NiAzNC4zMTYzIDc0LjcxMzcgMzQuMzU0NSA3NC4zNzA2IDM0LjM2OTJDNzQuMDI3MyAzNC4zODQ1IDczLjgwMjEgMzQuMzkyMSA3My42OTU2IDM0LjM5MjFMNzQuMTUzIDI5LjU2MDJaTTgzLjYwMDcgMzYuOTY3NkM4My4zNTY2IDM2LjQzNjEgODMuMDI4NyAzNS45Njg5IDgyLjYxNzIgMzUuNTY1OEM4Mi4yMDU0IDM1LjE2MzMgODEuNzE3IDM0Ljg3MDkgODEuMTUzMSAzNC42ODg1QzgxLjM5NjkgMzQuNDkxIDgxLjYzNzEgMzQuMTc5NSA4MS44NzM3IDMzLjc1MzlDODIuMTA5OSAzMy4zMjg4IDgyLjMxMTkgMzIuODY1IDgyLjQ3OTYgMzIuMzYzNkM4Mi42NDc0IDMxLjg2MTkgODIuNzYyIDMxLjM1NyA4Mi44MjI5IDMwLjg0NzhDODIuODgzNiAzMC4zMzg5IDgyLjg2MDcgMjkuOTAyIDgyLjc1NDQgMjkuNTM3QzgyLjQ5NDcgMjguNjI1NiA4Mi4wODcgMjcuOTExNCA4MS41MzAzIDI3LjM5NDZDODAuOTczNCAyNi44NzgyIDgwLjMyNTcgMjYuNTIxMSA3OS41ODYgMjYuMzIzM0M3OC44NDYyIDI2LjEyNjQgNzguMDMwNCAyNi4wODQyIDc3LjEzODMgMjYuMTk4MUM3Ni4yNDYyIDI2LjMxMiA3NS4zMzQ3IDI2LjUzNjEgNzQuNDA0OSAyNi44NzA0Qzc0LjQwNDkgMjYuNzk0NiA3NC40MTI0IDI2LjcxNDggNzQuNDI3OCAyNi42MzEyQzc0LjQ0MjYgMjYuNTQ4IDc0LjQ1MDQgMjYuNDYwNCA3NC40NTA0IDI2LjM2OUM3NC40NTA0IDI2LjE0MTEgNzQuMzM2MSAyNS45NDM5IDc0LjEwNzQgMjUuNzc2NUM3My44Nzg3IDI1LjYwOTMgNzMuNjE1NSAyNS41MTA3IDczLjMxODMgMjUuNDgwMUM3My4wMjA5IDI1LjQ1IDcyLjczMSAyNS41MTQyIDcyLjQ0ODkgMjUuNjczOEM3Mi4xNjY1IDI1LjgzMzQgNzEuOTcyMSAyNi4xMjY0IDcxLjg2NTYgMjYuNTUxMUM3MS43NDM0IDI3LjkxODkgNzEuNjIxNSAyOS4zMzk4IDcxLjQ5OTYgMzAuODEzNEM3MS4zNzc0IDMyLjI4NzUgNzEuMjQ4IDMzLjc3NjcgNzEuMTEwNyAzNS4yODEyQzcwLjk3MzUgMzYuNzg1NSA3MC44MzYyIDM4LjI3ODQgNzAuNjk4OSAzOS43NTk4QzcwLjU2MTYgNDEuMjQxNCA3MC40MjQ0IDQyLjY2NTkgNzAuMjg3MSA0NC4wMzMzQzcwLjMzMyA0NC40NDM2IDcwLjQ0NzMgNDQuNzYyOSA3MC42MzA0IDQ0Ljk5MDdDNzAuODEzMyA0NS4yMTg5IDcxLjAyNjggNDUuMzU1NiA3MS4yNzA5IDQ1LjQwMUM3MS41MTQ3IDQ1LjQ0NjcgNzEuNzcwNCA0NS40MDQ1IDcyLjAzNzEgNDUuMjc1NUM3Mi4zMDM4IDQ1LjE0NjkgNzIuNTM2NSA0NC45MjIyIDcyLjczNSA0NC42MDMyQzczLjM0NDcgNDQuOTM3NSA3NC4wMzExIDQ1LjE1NDEgNzQuNzkzOCA0NS4yNTNDNzUuNTU2MSA0NS4zNTE2IDc2LjMyOTggNDUuMzUxNiA3Ny4xMTU3IDQ1LjI1M0M3Ny45MDA3IDQ1LjE1NDEgNzguNjc0NyA0NC45NjgyIDc5LjQzNzQgNDQuNjk0M0M4MC4xOTk3IDQ0LjQyMTEgODAuODkzNiA0NC4wNzkgODEuNTE5IDQzLjY2OUM4Mi4xNDQxIDQzLjI1ODYgODIuNjcwMyA0Mi43OTExIDgzLjA5NzUgNDIuMjY3MUM4My41MjQ0IDQxLjc0MjYgODMuODA2NSA0MS4xNzY3IDgzLjk0MzcgNDAuNTY5MUM4NC4wODEgMzkuOTQ2IDg0LjExOSAzOS4zMjMxIDg0LjA1ODEgMzguN0M4My45OTcxIDM4LjA3NzEgODMuODQ0NSAzNy41IDgzLjYwMDcgMzYuOTY3NlpcIiBmaWxsPVwiIzBEMEMyM1wiLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMDUuOTE1IDQ5LjAwMTdDMTA1LjgzMiA0OS41MDMxIDEwNS43MTMgNTAuMDMxMSAxMDUuNTYxIDUwLjU4NkMxMDUuNDA4IDUxLjE0MDMgMTA1LjIyOSA1MS42NDU4IDEwNS4wMjMgNTIuMTAxOEMxMDQuODE4IDUyLjU1NzUgMTA0LjU4OSA1Mi45MjU2IDEwNC4zMzcgNTMuMjA3QzEwNC4wODUgNTMuNDg4IDEwMy44MTUgNTMuNjA2IDEwMy41MjUgNTMuNTYwNkMxMDMuMjk2IDUzLjUyOTcgMTAzLjE1MSA1My4zODU0IDEwMy4wOTEgNTMuMTI3NEMxMDMuMDI5IDUyLjg2ODYgMTAzLjAyOSA1Mi41NDk3IDEwMy4wOTEgNTIuMTdDMTAzLjE1MSA1MS43OTAxIDEwMy4yNjkgNTEuMzYwNyAxMDMuNDQ1IDUwLjg4MjFDMTAzLjYyIDUwLjQwMzUgMTAzLjgzNCA0OS45Mjg0IDEwNC4wODUgNDkuNDU3N0MxMDQuMzM3IDQ4Ljk4NjQgMTA0LjYyMyA0OC41MzQ3IDEwNC45NDMgNDguMTAxNUMxMDUuMjY0IDQ3LjY2ODYgMTA1LjU5OSA0Ny4zMDc1IDEwNS45NSA0Ny4wMTg5QzEwNi4wMjYgNDcuMTEgMTA2LjA2IDQ3LjMzNzggMTA2LjA1MyA0Ny43MDI4QzEwNi4wNDUgNDguMDY3NCAxMDUuOTk5IDQ4LjUwMDYgMTA1LjkxNSA0OS4wMDE3Wk0xMTMuNjcgMzkuMTA5N0MxMTMuNDY0IDM4Ljg4MTkgMTEzLjIxMyAzOC43NTI5IDExMi45MTUgMzguNzIyM0MxMTIuNjE4IDM4LjY5MTkgMTEyLjMxNyAzOC44NTkgMTEyLjAxMiAzOS4yMjM3QzExMS44MTMgMzkuNTg4MyAxMTEuNTYyIDM5LjkzNzkgMTExLjI1NyA0MC4yNzIyQzExMC45NTIgNDAuNjA2NyAxMTAuNjM1IDQwLjkxMDMgMTEwLjMwNyA0MS4xODM5QzEwOS45OCA0MS40NTcyIDEwOS42NjcgNDEuNjkzMSAxMDkuMzcgNDEuODkwM0MxMDkuMDcyIDQyLjA4ODEgMTA4Ljg0IDQyLjIzMjQgMTA4LjY3MiA0Mi4zMjM1QzEwOC42MTEgNDEuODM3NCAxMDguNTc2IDQxLjMxMzIgMTA4LjU2OSA0MC43NTA3QzEwOC41NjEgNDAuMTg4NiAxMDguNTczIDM5LjYxOSAxMDguNjAzIDM5LjA0MTVDMTA4LjY0OSAzOC4yMjA5IDEwOC43NDQgMzcuMzkzIDEwOC44ODkgMzYuNTU3QzEwOS4wMzQgMzUuNzIxMyAxMDkuMjQ0IDM0LjkwMDcgMTA5LjUxOCAzNC4wOTUxQzEwOS41MTggMzMuNjcgMTA5LjQxOSAzMy4zMjQyIDEwOS4yMjEgMzMuMDU4MkMxMDkuMDIyIDMyLjc5MjQgMTA4Ljc4MiAzMi42MjUgMTA4LjUgMzIuNTU2N0MxMDguMjE4IDMyLjQ4ODUgMTA3LjkyOSAzMi41MjY0IDEwNy42MzEgMzIuNjcwN0MxMDcuMzM0IDMyLjgxNTMgMTA3LjA3OCAzMy4wNzc1IDEwNi44NjUgMzMuNDU2OUMxMDYuNjgyIDMzLjk1ODYgMTA2LjQ3MiAzNC41MjA3IDEwNi4yMzYgMzUuMTQzNkMxMDUuOTk5IDM1Ljc2NjcgMTA1LjczMiAzNi40MDEyIDEwNS40MzUgMzcuMDQ2OUMxMDUuMTM4IDM3LjY5MzEgMTA0LjgwNiAzOC4zMTk3IDEwNC40NCAzOC45MjczQzEwNC4wNzQgMzkuNTM1NCAxMDMuNjc0IDQwLjA3NSAxMDMuMjM5IDQwLjU0NTdDMTAyLjgwNCA0MS4wMTY4IDEwMi4zMzEgNDEuMzg1NCAxMDEuODIxIDQxLjY1MTJDMTAxLjMxIDQxLjkxNzIgMTAwLjc1NyA0Mi4wMzQ5IDEwMC4xNjIgNDIuMDA0NUM5OS44ODc2IDQxLjkyODUgOTkuNjg5MyA0MS43MjM1IDk5LjU2NzUgNDEuMzg4OUM5OS40NDUzIDQxLjA1NDkgOTkuMzczIDQwLjYzNjggOTkuMzUwNCA0MC4xMzU0Qzk5LjMyNzUgMzkuNjM0IDk5LjM1MDQgMzkuMDgzMSA5OS40MTg5IDM4LjQ4MjhDOTkuNDg3NyAzNy44ODI4IDk5LjU3OTEgMzcuMjg2MyA5OS42OTM0IDM2LjY5MzhDOTkuODA3OCAzNi4xMDEgOTkuOTMzNyAzNS41Mzg5IDEwMC4wNzEgMzUuMDA3MUMxMDAuMjA4IDM0LjQ3NTMgMTAwLjMzNyAzNC4wMjY4IDEwMC40NiAzMy42NjIyQzEwMC42NDMgMzMuMjIxOCAxMDAuNjQzIDMyLjg1MjkgMTAwLjQ2IDMyLjU1NjdDMTAwLjI3NyAzMi4yNjA0IDEwMC4wMjUgMzIuMDYzMSA5OS43MDUgMzEuOTY0Qzk5LjM4NDYgMzEuODY1NCA5OS4wNDg5IDMxLjg2OTQgOTguNjk4MyAzMS45NzU1Qzk4LjM0NzQgMzIuMDgxOSA5OC4wOTU4IDMyLjMxNzMgOTcuOTQzNSAzMi42ODJDOTcuNjg0IDMzLjMwNTQgOTcuNDQ3NSAzNC4wMDQgOTcuMjM0MiAzNC43NzlDOTcuMDIwNiAzNS41NTM5IDk2Ljg0OTEgMzYuMzU1OCA5Ni43MTk3IDM3LjE4MzZDOTYuNTg5NiAzOC4wMTIxIDk2LjUxNzEgMzguODMyNyA5Ni41MDIgMzkuNjQ1NkM5Ni41MDExIDM5LjY5ODUgOTYuNTAzNyAzOS43NDg4IDk2LjUwMzQgMzkuODAxNEM5Ni4xNzA5IDQwLjY4NDggOTUuODU0IDQxLjM1MjUgOTUuNTUzIDQxLjc5OTJDOTUuMTY0MSA0Mi4zNzcgOTQuNzI1MyA0Mi42Mjc3IDk0LjIzNzUgNDIuNTUxM0M5NC4wMjM2IDQyLjQ2MDMgOTMuODgzMiA0Mi4yNDc3IDkzLjgxNDcgNDEuOTEzMkM5My43NDUzIDQxLjU3OTIgOTMuNzIyNyA0MS4xNjg5IDkzLjc0NTMgNDAuNjgyMkM5My43Njg4IDQwLjE5NjQgOTMuODI2IDM5LjY0NTYgOTMuOTE3MSAzOS4wMjk5Qzk0LjAwOTEgMzguNDE0NiA5NC4xMjI5IDM3Ljc3NjQgOTQuMjYwMSAzNy4xMTU0Qzk0LjM5NzcgMzYuNDU0MSA5NC41NDI1IDM1Ljc4OTkgOTQuNjk0OSAzNS4xMjFDOTQuODQ3MiAzNC40NTI1IDk0Ljk4NDUgMzMuODIxOCA5NS4xMDcgMzMuMjI5MUM5NS4wOTE2IDMyLjY5NzMgOTQuOTM1MiAzMi4yOTEgOTQuNjM3NyAzMi4wMDk3Qzk0LjM0MDUgMzEuNzI4OSA5My45MjQ3IDMxLjYxODcgOTMuMzkxMyAzMS42NzkxQzkzLjAyNTMgMzEuODMxMiA5Mi43NTQyIDMyLjAyOSA5Mi41NzkgMzIuMjcxOUM5Mi40MDM0IDMyLjUxNDggOTIuMjYyMyAzMi44MjY1IDkyLjE1NTggMzMuMjA2MkM5Mi4wOTQ2IDMzLjQwNCA5Mi4wMDMyIDMzLjc5OSA5MS44ODEzIDM0LjM5MThDOTEuNzU5MSAzNC45ODQgOTEuNjAzIDM1LjY2NDQgOTEuNDEyMyAzNi40MzE1QzkxLjIyMTcgMzcuMTk5MiA5MC45OTY3IDM4LjAwMDUgOTAuNzM3NiAzOC44MzYyQzkwLjQ3ODEgMzkuNjcxOSA5MC4xODg1IDQwLjQyODMgODkuODY4NCA0MS4xMDQxQzg5LjU0OCA0MS43ODAxIDg5LjE5NzIgNDIuMzIzNSA4OC44MTYxIDQyLjczMzhDODguNDM0OCA0My4xNDM4IDg4LjAyMyA0My4zMTEzIDg3LjU4MDcgNDMuMjM1MkM4Ny4zMzY2IDQzLjE4OTUgODcuMTgwNSA0Mi45Mzg4IDg3LjExMiA0Mi40ODMxQzg3LjA0MzIgNDIuMDI3MSA4Ny4wMzE5IDQxLjQ2NTMgODcuMDc3NSA0MC43OTY0Qzg3LjEyMzMgNDAuMTI3OSA4Ny4yMTQ4IDM5LjM5NDYgODcuMzUyIDM4LjU5NzFDODcuNDg5MyAzNy43OTkzIDg3LjYzIDM3LjA0MzQgODcuNzc1MiAzNi4zMjg5Qzg3LjkyIDM1LjYxNDkgODguMDUzNSAzNC45ODQgODguMTc1NiAzNC40MzcyQzg4LjI5NzUgMzMuODkwMSA4OC4zODE0IDMzLjUyNTQgODguNDI3MiAzMy4zNDMzQzg4LjQyNzIgMzIuOTAyNiA4OC4zMjc3IDMyLjU0OTUgODguMTI5OCAzMi4yODMyQzg3LjkzMTMgMzIuMDE3OCA4Ny42OTEzIDMxLjg1MDMgODcuNDA5MiAzMS43ODE4Qzg3LjEyNjggMzEuNzEzNiA4Ni44MzcyIDMxLjc1MTQgODYuNTQgMzEuODk1N0M4Ni4yNDI2IDMyLjA0MDMgODUuOTg3MiAzMi4zMDI2IDg1Ljc3MzYgMzIuNjgyQzg1LjY5NzMgMzMuMDkyMyA4NS41OTggMzMuNTY3NCA4NS40NzYxIDM0LjEwNjdDODUuMzUzOSAzNC42NDU5IDg1LjIzNjEgMzUuMjAwNiA4NS4xMjE4IDM1Ljc3MDVDODUuMDA3NCAzNi4zNDA0IDg0LjkwMDMgMzYuODk4OCA4NC44MDE0IDM3LjQ0NTlDODQuNzAyMSAzNy45OTMgODQuNjI5OSAzOC40NzE2IDg0LjU4NCAzOC44ODE5Qzg0LjU1MzYgMzkuMjAwOCA4NC41MTkgMzkuNTkyMyA4NC40ODEzIDQwLjA1NTZDODQuNDQzIDQwLjUxOTQgODQuNDIzOCA0MS4wMDkyIDg0LjQyMzggNDEuNTI1N0M4NC40MjM4IDQyLjA0MjcgODQuNDYxOCA0Mi41NTU0IDg0LjUzODUgNDMuMDY0M0M4NC42MTQ1IDQzLjU3MzUgODQuNzUxOCA0NC4wNDA4IDg0Ljk1IDQ0LjQ2NTlDODUuMTQ4MiA0NC44OTE1IDg1LjQyNjUgNDUuMjQwOCA4NS43ODUyIDQ1LjUxNDRDODYuMTQzMyA0NS43ODc5IDg2LjU5NzIgNDUuOTM5NyA4Ny4xNDYzIDQ1Ljk3MDRDODcuNzEwMSA0Ni4wMDA1IDg4LjIwMiA0NS45NTkxIDg4LjYyMTcgNDUuODQ0OUM4OS4wNDEgNDUuNzMxIDg5LjQyMjEgNDUuNTUyMyA4OS43NjU0IDQ1LjMwOTFDOTAuMTA4NCA0NS4wNjY1IDkwLjQyMSA0NC43Nzc2IDkwLjcwMzMgNDQuNDQzQzkwLjk4NTEgNDQuMTA5MSA5MS4yNjM3IDQzLjc0NDQgOTEuNTM4MyA0My4zNDkxQzkxLjc5NzQgNDMuOTI2OSA5Mi4xMzI5IDQ0LjM3NDggOTIuNTQ0NyA0NC42OTRDOTIuOTU2NSA0NS4wMTMgOTMuMzkxMyA0NS4yMDMyIDkzLjg0ODYgNDUuMjYzN0M5NC4zMDYgNDUuMzI0MSA5NC43NzE1IDQ1LjI2MDIgOTUuMjQ0MiA0NS4wNjk5Qzk1LjcxNjcgNDQuODgwMyA5Ni4xNDM2IDQ0LjU1NzMgOTYuNTI1MiA0NC4xMDEyQzk2Ljc3NjIgNDMuODIxNiA5Ny4wMTMxIDQzLjUwMzggOTcuMjM1NCA0My4xNTI1Qzk3LjMyOTcgNDMuMzE3IDk3LjQzMDEgNDMuNDc1OCA5Ny41NDMgNDMuNjIyNEM5Ny45MTY4IDQ0LjEwOTEgOTguNDI0IDQ0LjQ0MyA5OS4wNjQ1IDQ0LjYyNTVDOTkuNzUwNiA0NC44MDggMTAwLjQyMSA0NC44Mzg2IDEwMS4wNzcgNDQuNzE2OUMxMDEuNzMzIDQ0LjU5NTQgMTAyLjM1OCA0NC4zNzQ4IDEwMi45NTMgNDQuMDU1OUMxMDMuNTQ4IDQzLjczNjYgMTA0LjEwMSA0My4zNTMyIDEwNC42MTIgNDIuOTA0N0MxMDUuMTIyIDQyLjQ1NjUgMTA1LjU2OCA0MS45ODk1IDEwNS45NSA0MS41MDI4QzEwNS45MzQgNDEuODUyNCAxMDUuOTI3IDQyLjE4MzIgMTA1LjkyNyA0Mi40OTQ0QzEwNS45MjcgNDIuODA2MSAxMDUuOTE5IDQzLjE0MzggMTA1LjkwNCA0My41MDg4QzEwNS4xNDEgNDQuMDQwOCAxMDQuNDIxIDQ0LjY3OSAxMDMuNzQyIDQ1LjQyMzNDMTAzLjA2NCA0Ni4xNjc2IDEwMi40NjkgNDYuOTYxNiAxMDEuOTU4IDQ3LjgwNTFDMTAxLjQ0NyA0OC42NDgzIDEwMS4wNDcgNDkuNTAzMSAxMDAuNzU3IDUwLjM2OTFDMTAwLjQ2NyA1MS4yMzU3IDEwMC4zMjYgNTIuMDQ0NSAxMDAuMzM0IDUyLjc5NjlDMTAwLjM0MSA1My41NDkgMTAwLjUyMSA1NC4yMDYgMTAwLjg3MSA1NC43NjgxQzEwMS4yMjIgNTUuMzMwNiAxMDEuNzk0IDU1LjczMzEgMTAyLjU4NyA1NS45NzYzQzEwMy40MTEgNTYuMjM0OCAxMDQuMTM1IDU2LjI0MiAxMDQuNzYgNTUuOTk5MUMxMDUuMzg2IDU1Ljc1NTkgMTA1LjkzMSA1NS4zNTMxIDEwNi4zOTYgNTQuNzkxQzEwNi44NjEgNTQuMjI4OSAxMDcuMjQyIDUzLjU0OSAxMDcuNTQgNTIuNzUxMkMxMDcuODM3IDUxLjk1MzQgMTA4LjA3MyA1MS4xMjE1IDEwOC4yNDkgNTAuMjU1NUMxMDguNDI0IDQ5LjM4OTQgMTA4LjUzNSA0OC41Mzc5IDEwOC41OCA0Ny43MDI4QzEwOC42MjYgNDYuODY2OCAxMDguNjI2IDQ2LjEyMTkgMTA4LjU4IDQ1LjQ2ODdDMTA5Ljg5MiA0NC45MjE5IDExMC45NjcgNDQuMjMwNSAxMTEuODA2IDQzLjM5NDVDMTEyLjY0NSA0Mi41NTk0IDExMy4zMzggNDEuNjc3OCAxMTMuODg3IDQwLjc1MDdDMTE0LjA1NSA0MC41MjI5IDExNC4xMTIgNDAuMjQ5MyAxMTQuMDU5IDM5LjkzMDRDMTE0LjAwNiAzOS42MTExIDExMy44NzYgMzkuMzM3NiAxMTMuNjcgMzkuMTA5N1pcIiBmaWxsPVwiIzBEMEMyM1wiLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNDIuNTMgMzcuNjUxNUMxNDIuNTc1IDM3LjMwMjIgMTQyLjY0NCAzNi45MzM1IDE0Mi43MzUgMzYuNTQ2QzE0Mi44MjcgMzYuMTU4NSAxNDIuOTQxIDM1Ljc4MjMgMTQzLjA3OSAzNS40MTc3QzE0My4yMTYgMzUuMDUzMSAxNDMuMzc2IDM0LjczNzkgMTQzLjU1OSAzNC40NzE4QzE0My43NDIgMzQuMjA2MSAxNDMuOTM3IDM0LjAxNjEgMTQ0LjE0MiAzMy45MDE5QzE0NC4zNDggMzMuNzg4MyAxNDQuNTU4IDMzLjc5OTUgMTQ0Ljc3MSAzMy45MzZDMTQ1IDM0LjA3MzEgMTQ1LjE0MSAzNC4zNjE3IDE0NS4xOTUgMzQuODAyMUMxNDUuMjQ4IDM1LjI0MzMgMTQ1LjE5NSAzNS43MTQxIDE0NS4wMzQgMzYuMjE1NUMxNDQuODc0IDM2LjcxNzIgMTQ0LjU4OCAzNy4xODc5IDE0NC4xNzcgMzcuNjI4NkMxNDMuNzY1IDM4LjA2OTYgMTQzLjIwOCAzOC4zNTc5IDE0Mi41MDcgMzguNDk0N0MxNDIuNDc2IDM4LjI4MjQgMTQyLjQ4NCAzOC4wMDExIDE0Mi41MyAzNy42NTE1Wk0xNTAuNDU2IDM4LjU4NTdDMTUwLjIwNCAzOC41MTAzIDE0OS45NjQgMzguNTAyNSAxNDkuNzM1IDM4LjU2MzJDMTQ5LjUwNiAzOC42MjM5IDE0OS4zNjEgMzguNzgzNSAxNDkuMzAxIDM5LjA0MkMxNDkuMTc4IDM5LjUyODEgMTQ4Ljk4NCA0MC4wMjU4IDE0OC43MTcgNDAuNTM0N0MxNDguNDUgNDEuMDQzOSAxNDguMTIyIDQxLjUyNjIgMTQ3LjczNCA0MS45ODIyQzE0Ny4zNDUgNDIuNDM4IDE0Ni45MDYgNDIuODQwOCAxNDYuNDE4IDQzLjE5MDFDMTQ1LjkzIDQzLjUzOTcgMTQ1LjQxOSA0My43OTA0IDE0NC44ODYgNDMuOTQyMkMxNDQuMzUxIDQ0LjEwOTYgMTQzLjkxIDQ0LjEyODQgMTQzLjU1OSA0My45OTkxQzE0My4yMDggNDMuODcwNSAxNDIuOTMgNDMuNjQ5OCAxNDIuNzI0IDQzLjMzODRDMTQyLjUxOCA0My4wMjcgMTQyLjM2OSA0Mi42NTA4IDE0Mi4yNzggNDIuMjEwMUMxNDIuMTg2IDQxLjc2OTQgMTQyLjEzMyA0MS4zMTM3IDE0Mi4xMTggNDAuODQyNEMxNDIuOTg3IDQwLjkwMzQgMTQzLjc2MSA0MC43NDc4IDE0NC40NCA0MC4zNzUxQzE0NS4xMTggNDAuMDAzMiAxNDUuNjk0IDM5LjUwOSAxNDYuMTY3IDM4Ljg5MzdDMTQ2LjYzOSAzOC4yNzg0IDE0Ni45OTggMzcuNTg3IDE0Ny4yNDIgMzYuODE5NUMxNDcuNDg1IDM2LjA1MjQgMTQ3LjYyMyAzNS4yODg3IDE0Ny42NTMgMzQuNTI4OEMxNDcuNjY5IDMzLjgxNDYgMTQ3LjU2MiAzMy4yMTA4IDE0Ny4zMzMgMzIuNzE2OUMxNDcuMTA1IDMyLjIyMzMgMTQ2Ljc5NiAzMS44MzkgMTQ2LjQwNyAzMS41NjU4QzE0Ni4wMTggMzEuMjkyMiAxNDUuNTcyIDMxLjEzMjYgMTQ1LjA2OSAzMS4wODcyQzE0NC41NjYgMzEuMDQxNSAxNDQuMDU0IDMxLjExIDE0My41MzYgMzEuMjkyMkMxNDIuOTEgMzEuNTA1IDE0Mi4zODEgMzEuODUwNiAxNDEuOTQ2IDMyLjMyOTRDMTQxLjUxMiAzMi44MDggMTQxLjE0OSAzMy4zNjI5IDE0MC44NiAzMy45OTMzQzE0MC41NyAzNC42MjM5IDE0MC4zNDEgMzUuMzAzOCAxNDAuMTczIDM2LjAzM0MxNDAuMDA1IDM2Ljc2MjYgMTM5Ljg4MyAzNy40ODA2IDEzOS44MDcgMzguMTg3M0MxMzkuNzM5IDM4LjgyMTQgMTM5LjcwMiAzOS40Mjc4IDEzOS42ODkgNDAuMDEzQzEzOS42NTcgNDAuMDg3NCAxMzkuNjI1IDQwLjE1ODggMTM5LjU5IDQwLjIzODNDMTM5LjM1NCA0MC43NzgyIDEzOS4wNzkgNDEuMzA2MiAxMzguNzY2IDQxLjgyMjZDMTM4LjQ1NCA0Mi4zMzk0IDEzOC4xMDcgNDIuNzcyNSAxMzcuNzI2IDQzLjEyMThDMTM3LjM0NCA0My40NzE0IDEzNi45NDggNDMuNTkyOSAxMzYuNTM2IDQzLjQ4NjVDMTM2LjI5MiA0My40MjYgMTM2LjE1OSA0My4xNDQ0IDEzNi4xMzYgNDIuNjQzM0MxMzYuMTEzIDQyLjE0MTYgMTM2LjEzOSA0MS41MTg3IDEzNi4yMTYgNDAuNzc0MUMxMzYuMjkyIDQwLjAyOTggMTM2LjM4IDM5LjIyMzkgMTM2LjQ3OSAzOC4zNTc5QzEzNi41NzggMzcuNDkxOCAxMzYuNjI4IDM2LjY2NCAxMzYuNjI4IDM1Ljg3MzdDMTM2LjYyOCAzNS4xODk4IDEzNi40OTggMzQuNTMyOSAxMzYuMjM5IDMzLjkwMTlDMTM1Ljk3OSAzMy4yNzE4IDEzNS42MjUgMzIuNzQ3MyAxMzUuMTc1IDMyLjMyOTRDMTM0LjcyNSAzMS45MTEzIDEzNC4yMDMgMzEuNjM0IDEzMy42MDggMzEuNDk3NUMxMzMuMDEzIDMxLjM2MDUgMTMyLjM3MyAzMS40NTE4IDEzMS42ODcgMzEuNzcwOEMxMzEgMzIuMDkgMTMwLjQ1NSAzMi41MzgyIDEzMC4wNTEgMzMuMTE1N0MxMjkuNjQ3IDMzLjY5MzQgMTI5LjI3NyAzNC4zMDA5IDEyOC45NDIgMzQuOTM5MUMxMjguODE5IDM0LjQ1MjggMTI4LjY0MSAzNC4wMDExIDEyOC40MDQgMzMuNTgzQzEyOC4xNjcgMzMuMTY1MSAxMjcuODc4IDMyLjgwMDUgMTI3LjUzNSAzMi40ODg4QzEyNy4xOTEgMzIuMTc3NiAxMjYuODA2IDMxLjkzNDQgMTI2LjM4IDMxLjc1OTVDMTI1Ljk1MyAzMS41ODUxIDEyNS41MDIgMzEuNDk3NSAxMjUuMDMgMzEuNDk3NUMxMjQuNTcyIDMxLjQ5NzUgMTI0LjE0OSAzMS41ODUxIDEyMy43NiAzMS43NTk1QzEyMy4zNzEgMzEuOTM0NCAxMjMuMDE3IDMyLjE1ODMgMTIyLjY5NiAzMi40MzE4QzEyMi4zNzYgMzIuNzA1NiAxMjIuMDg3IDMzLjAxMyAxMjEuODI3IDMzLjM1NTFDMTIxLjU2OCAzMy42OTY5IDEyMS4zMzkgMzQuMDM1MiAxMjEuMTQxIDM0LjM2OTJDMTIxLjExIDMzLjk3NDIgMTIxLjA3NiAzMy42Mjg2IDEyMS4wMzggMzMuMzMyQzEyMSAzMy4wMzU5IDEyMC45MzEgMzIuNzg1MiAxMjAuODMyIDMyLjU4MDFDMTIwLjczMyAzMi4zNzQ4IDEyMC41OTIgMzIuMjE5MyAxMjAuNDA5IDMyLjExMjlDMTIwLjIyNiAzMi4wMDY3IDExOS45NjcgMzEuOTUzMiAxMTkuNjMyIDMxLjk1MzJDMTE5LjQ2NCAzMS45NTMyIDExOS4yOTYgMzEuOTg3NCAxMTkuMTI4IDMyLjA1NTZDMTE4Ljk2IDMyLjEyNDEgMTE4LjgxMSAzMi4yMTkzIDExOC42ODIgMzIuMzQwN0MxMTguNTUyIDMyLjQ2MjcgMTE4LjQ1MyAzMi42MTA1IDExOC4zODUgMzIuNzg1MkMxMTguMzE2IDMyLjk1OTggMTE4LjI5NyAzMy4xNjE0IDExOC4zMjcgMzMuMzg5MkMxMTguMzQyIDMzLjU1NjYgMTE4LjM4NSAzMy43NTc2IDExOC40NTMgMzMuOTkzM0MxMTguNTIyIDM0LjIyODkgMTE4LjU4NyAzNC41MzY5IDExOC42NDggMzQuOTE2M0MxMTguNzA4IDM1LjI5NjIgMTE4Ljc1OCAzNS43NTYgMTE4Ljc5NiAzNi4yOTUzQzExOC44MzQgMzYuODM0OSAxMTguODQ2IDM3LjQ5NTkgMTE4LjgzMSAzOC4yNzg0QzExOC44MTUgMzkuMDYxMSAxMTguNzU4IDM5Ljk3NjMgMTE4LjY1OSA0MS4wMjQ4QzExOC41NiA0Mi4wNzMzIDExOC40MDMgNDMuMjg5IDExOC4xOSA0NC42NzE0QzExOC4xNiA0NC45OTA3IDExOC4yODIgNDUuMjQ5MiAxMTguNTU2IDQ1LjQ0NjdDMTE4LjgzMSA0NS42NDM5IDExOS4xNDMgNDUuNzU3OCAxMTkuNDk0IDQ1Ljc4ODVDMTE5Ljg0NSA0NS44MTg4IDEyMC4xNzcgNDUuNzU3OCAxMjAuNDg5IDQ1LjYwNjNDMTIwLjgwMiA0NS40NTM5IDEyMC45ODEgNDUuMTg4MiAxMjEuMDI3IDQ0LjgwODVDMTIxLjA3MiA0NC4wOTQzIDEyMS4xNiA0My4zMzQ3IDEyMS4yOSA0Mi41MjlDMTIxLjQxOSA0MS43MjQgMTIxLjU3OSA0MC45MjYyIDEyMS43NyA0MC4xMzU5QzEyMS45NjEgMzkuMzQ2IDEyMi4xNzggMzguNTkzOCAxMjIuNDIyIDM3Ljg3OTNDMTIyLjY2NiAzNy4xNjUxIDEyMi45MzcgMzYuNTM0NyAxMjMuMjM0IDM1Ljk4NzZDMTIzLjUzMiAzNS40NDA1IDEyMy44NCAzNS4wMDM5IDEyNC4xNjEgMzQuNjc3MUMxMjQuNDgxIDM0LjM1MDQgMTI0LjgxNiAzNC4xODcgMTI1LjE2NyAzNC4xODdDMTI1LjU5NCAzNC4xODcgMTI1LjkyNiAzNC4zODA1IDEyNi4xNjIgMzQuNzY3OUMxMjYuMzk4IDM1LjE1NTcgMTI2LjU2NiAzNS42NTM2IDEyNi42NjYgMzYuMjYwOUMxMjYuNzY1IDM2Ljg2OSAxMjYuODEgMzcuNTM0MSAxMjYuODAzIDM4LjI1NTVDMTI2Ljc5NSAzOC45NzczIDEyNi43NjUgMzkuNjcyNCAxMjYuNzExIDQwLjM0MUMxMjYuNjU4IDQxLjAwOTggMTI2LjU5NyA0MS42MDYgMTI2LjUyOCA0Mi4xMzAzQzEyNi40NiA0Mi42NTQ1IDEyNi40MSA0My4wMTU3IDEyNi4zOCA0My4yMTI5QzEyNi4zOCA0My41NjI1IDEyNi41MTMgNDMuODM5NSAxMjYuNzggNDQuMDQ0OEMxMjcuMDQ2IDQ0LjI0OTggMTI3LjM0NCA0NC4zNzE2IDEyNy42NzIgNDQuNDA5NUMxMjggNDQuNDQ3NiAxMjguMzA5IDQ0LjM4NjYgMTI4LjU5OCA0NC4yMjdDMTI4Ljg4OCA0NC4wNjc0IDEyOS4wNTYgNDMuNzk4MiAxMjkuMTAyIDQzLjQxNzlDMTI5LjI1NCA0Mi4zMjQgMTI5LjQ2NCA0MS4yMjY0IDEyOS43MzEgNDAuMTI0N0MxMjkuOTk3IDM5LjAyMyAxMzAuMzAzIDM4LjAzNTUgMTMwLjY0NiAzNy4xNjE2QzEzMC45ODkgMzYuMjg3OCAxMzEuMzcgMzUuNTczNSAxMzEuNzkgMzUuMDE4OUMxMzIuMjA5IDM0LjQ2NDYgMTMyLjY1NSAzNC4xODcgMTMzLjEyOCAzNC4xODdDMTMzLjM3MSAzNC4xODcgMTMzLjU1OSAzNC4zNTQ0IDEzMy42ODggMzQuNjg4NEMxMzMuODE4IDM1LjAyMjcgMTMzLjg4MyAzNS40Nzg0IDEzMy44ODMgMzYuMDU1OUMxMzMuODgzIDM2LjQ4MTUgMTMzLjg0OCAzNi45MTg0IDEzMy43OCAzNy4zNjY2QzEzMy43MTEgMzcuODE0OCAxMzMuNjMxIDM4LjI3ODQgMTMzLjU0IDM4Ljc1NjlDMTMzLjQ0OCAzOS4yMzU4IDEzMy4zNjggMzkuNzI1NiAxMzMuMjk5IDQwLjIyN0MxMzMuMjMxIDQwLjcyODcgMTMzLjE5NiA0MS4yNTI3IDEzMy4xOTYgNDEuNzk5OEMxMzMuMTk2IDQyLjE3OTcgMTMzLjIzNSA0Mi42MjA0IDEzMy4zMTEgNDMuMTIxOEMxMzMuMzg3IDQzLjYyMjkgMTMzLjUzMiA0NC4wOTgzIDEzMy43NDUgNDQuNTQ2MkMxMzMuOTU5IDQ0Ljk5NDcgMTM0LjI1MiA0NS4zNzQ0IDEzNC42MjYgNDUuNjg1OEMxMzUgNDUuOTk3MyAxMzUuNDc2IDQ2LjE1MzEgMTM2LjA1NiA0Ni4xNTMxQzEzNi45MjUgNDYuMTUzMSAxMzcuNjk1IDQ1Ljk2NjkgMTM4LjM2NiA0NS41OTQ3QzEzOS4wMzcgNDUuMjIyNiAxMzkuNjEzIDQ0LjczNjUgMTQwLjA5MyA0NC4xMzYyQzE0MC4xMTggNDQuMTA0NyAxNDAuMTQxIDQ0LjA3MTEgMTQwLjE2NSA0NC4wMzk5QzE0MC4yMDIgNDQuMTI4NyAxNDAuMjM1IDQ0LjIyMjcgMTQwLjI3NiA0NC4zMDcxQzE0MC42MDQgNDQuOTc1NiAxNDEuMDUgNDUuNDkyMSAxNDEuNjE1IDQ1Ljg1N0MxNDIuMTc4IDQ2LjIyMTYgMTQyLjg0MiA0Ni40MjI5IDE0My42MDUgNDYuNDYxMUMxNDQuMzY3IDQ2LjQ5ODcgMTQ1LjE5OCA0Ni4zNTgxIDE0Ni4wOTggNDYuMDM5MkMxNDYuNzY5IDQ1Ljc5NiAxNDcuMzUyIDQ1LjQ5MjEgMTQ3Ljg0OCA0NS4xMjc1QzE0OC4zNDMgNDQuNzYyOCAxNDguNzg5IDQ0LjMxODQgMTQ5LjE4NiA0My43OTQxQzE0OS41ODMgNDMuMjY5OSAxNDkuOTQ1IDQyLjY2NTggMTUwLjI3MyA0MS45ODIyQzE1MC42MDEgNDEuMjk4MSAxNTAuOTMyIDQwLjUxNTkgMTUxLjI2OCAzOS42MzQyQzE1MS4zMjkgMzkuMzkxNiAxNTEuMjcyIDM5LjE3NTEgMTUxLjA5NyAzOC45ODQ4QzE1MC45MjEgMzguNzk1MSAxNTAuNzA4IDM4LjY2MjEgMTUwLjQ1NiAzOC41ODU3WlwiIGZpbGw9XCIjMEQwQzIzXCIvPlxuPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE2Mi44ODcgMzYuMDQzNEMxNjIuODEgMzYuNDkxOCAxNjIuNzA3IDM2Ljk4NiAxNjIuNTc4IDM3LjUyNUMxNjIuNDQ4IDM4LjA2NDYgMTYyLjI4NCAzOC42MjMgMTYyLjA4NiAzOS4yMDA0QzE2MS44ODggMzkuNzc3OSAxNjEuNjQ0IDQwLjI5ODQgMTYxLjM1NCA0MC43NjE2QzE2MS4wNjQgNDEuMjI1NCAxNjAuNzMzIDQxLjU5MzUgMTYwLjM1OSA0MS44NjcxQzE1OS45ODUgNDIuMTQwNiAxNTkuNTU1IDQyLjI1NDYgMTU5LjA2NiA0Mi4yMDg5QzE1OC44MjIgNDIuMTc4OCAxNTguNjM1IDQyLjAxMTcgMTU4LjUwNiA0MS43MDc1QzE1OC4zNzYgNDEuNDAzOCAxNTguMzA4IDQxLjAxNjEgMTU4LjMgNDAuNTQ1QzE1OC4yOTIgNDAuMDc0MyAxNTguMzM0IDM5LjU1NzUgMTU4LjQyNiAzOC45OTUxQzE1OC41MTcgMzguNDMzMyAxNTguNjU4IDM3Ljg4MjEgMTU4Ljg0OSAzNy4zNDI2QzE1OS4wNCAzNi44MDM2IDE1OS4yNzIgMzYuMzA1NiAxNTkuNTQ3IDM1Ljg0OTZDMTU5LjgyMSAzNS4zOTM5IDE2MC4xMzggMzUuMDQwNSAxNjAuNDk2IDM0Ljc4OThDMTYwLjg1NCAzNC41MzkxIDE2MS4yNDcgMzQuNDIxNyAxNjEuNjc0IDM0LjQzNjVDMTYyLjEwMSAzNC40NTE4IDE2Mi41NTkgMzQuNjY0MyAxNjMuMDQ3IDM1LjA3NDdDMTYzLjAxNiAzNS4yNzI1IDE2Mi45NjMgMzUuNTk1NCAxNjIuODg3IDM2LjA0MzRaTTE3MS4wMTkgMzcuNzg3QzE3MC43ODIgMzcuNjY1NiAxNzAuNTM4IDM3LjYzOTIgMTcwLjI4NyAzNy43MDc1QzE3MC4wMzUgMzcuNzc1NyAxNjkuODU2IDM4LjAwNzYgMTY5Ljc0OSAzOC40MDI2QzE2OS42ODggMzguODI4MyAxNjkuNTUxIDM5LjMyOTQgMTY5LjMzOCAzOS45MDY5QzE2OS4xMjQgNDAuNDg0MyAxNjguODYxIDQxLjAzMTcgMTY4LjU0OCA0MS41NDc4QzE2OC4yMzYgNDIuMDY0NiAxNjcuODc3IDQyLjQ5NCAxNjcuNDczIDQyLjgzNThDMTY3LjA2OSA0My4xNzc4IDE2Ni42MzggNDMuMzMzNyAxNjYuMTgxIDQzLjMwMjhDMTY1Ljc5OSA0My4yNzI3IDE2NS41MzIgNDMuMDc5IDE2NS4zOCA0Mi43MjE4QzE2NS4yMjcgNDIuMzY0NyAxNjUuMTQ3IDQxLjkxNjggMTY1LjE0IDQxLjM3NjlDMTY1LjEzMiA0MC44MzggMTY1LjE4NiA0MC4yMzAxIDE2NS4zIDM5LjU1MzhDMTY1LjQxNCAzOC44Nzc3IDE2NS41NTIgMzguMjA1NCAxNjUuNzEyIDM3LjUzNjNDMTY1Ljg3MiAzNi44NjggMTY2LjAzNiAzNi4yMjU4IDE2Ni4yMDQgMzUuNjEwNUMxNjYuMzcxIDM0Ljk5NTEgMTY2LjUwOCAzNC40NzQ3IDE2Ni42MTYgMzQuMDQ5M0MxNjYuNzM4IDMzLjY2OTMgMTY2LjY5OSAzMy4zNDY2IDE2Ni41MDEgMzMuMDgwM0MxNjYuMzAzIDMyLjgxNDkgMTY2LjA1NSAzMi42MjQ2IDE2NS43NTggMzIuNTEwN0MxNjUuNDYgMzIuMzk2NyAxNjUuMTU5IDMyLjM2NjQgMTY0Ljg1NCAzMi40MTk2QzE2NC41NDkgMzIuNDcyOCAxNjQuMzUxIDMyLjYzNjIgMTY0LjI1OSAzMi45MDk0QzE2My4zNTkgMzIuMTM0NSAxNjIuNDk0IDMxLjcxNjYgMTYxLjY2MyAzMS42NTU5QzE2MC44MzEgMzEuNTk1MiAxNjAuMDY1IDMxLjc3NzYgMTU5LjM2NCAzMi4yMDNDMTU4LjY2MiAzMi42Mjg0IDE1OC4wNDEgMzMuMjQzNyAxNTcuNSAzNC4wNDkzQzE1Ni45NTggMzQuODU0OSAxNTYuNTIgMzUuNzMyMiAxNTYuMTg0IDM2LjY4MThDMTU1Ljg0OSAzNy42MzE0IDE1NS42MzkgMzguNjAwNCAxNTUuNTU1IDM5LjU4NzlDMTU1LjQ3MSA0MC41NzU3IDE1NS41MzYgNDEuNDc2MSAxNTUuNzUgNDIuMjg5QzE1NS45NjMgNDMuMTAxOCAxNTYuMzQgNDMuNzY2OSAxNTYuODgyIDQ0LjI4M0MxNTcuNDIzIDQ0Ljc5OTggMTU4LjE1OSA0NS4wNTgzIDE1OS4wODkgNDUuMDU4M0MxNTkuNTAxIDQ1LjA1ODMgMTU5Ljg5OCA0NC45NzQ3IDE2MC4yNzkgNDQuODA3NkMxNjAuNjYgNDQuNjQwMSAxNjEuMDExIDQ0LjQ0MjYgMTYxLjMzMSA0NC4yMTQ4QzE2MS42NTEgNDMuOTg2OSAxNjEuOTMzIDQzLjc0NzUgMTYyLjE3OCA0My40OTY4QzE2Mi40MjEgNDMuMjQ2MSAxNjIuNjEyIDQzLjAzNzMgMTYyLjc0OSA0Mi44Njk5QzE2Mi44NTYgNDMuNDE3IDE2My4wMzIgNDMuODgwOCAxNjMuMjc2IDQ0LjI2MDVDMTYzLjUxOSA0NC42NDAxIDE2My43OTggNDQuOTUyMSAxNjQuMTExIDQ1LjE5NDhDMTY0LjQyMyA0NS40Mzc2IDE2NC43NTEgNDUuNjE2NCAxNjUuMDk0IDQ1LjczMDZDMTY1LjQzNyA0NS44NDQ1IDE2NS43NjkgNDUuOTAxNSAxNjYuMDg5IDQ1LjkwMTVDMTY2LjgwNiA0NS45MDE1IDE2Ny40NzcgNDUuNjU4MyAxNjguMTAyIDQ1LjE3MTlDMTY4LjcyNyA0NC42ODYxIDE2OS4yODggNDQuMDg5MyAxNjkuNzg0IDQzLjM4MjlDMTcwLjI3OSA0Mi42NzYyIDE3MC42ODcgNDEuOTMxOSAxNzEuMDA3IDQxLjE0OTFDMTcxLjMyOCA0MC4zNjY2IDE3MS41NDEgMzkuNjcxNSAxNzEuNjQ4IDM5LjA2MzRDMTcxLjc1NSAzOC44MzU1IDE3MS43MzUgMzguNTk2NCAxNzEuNTkxIDM4LjM0NTdDMTcxLjQ0NiAzOC4wOTUgMTcxLjI1NSAzNy45MDkgMTcxLjAxOSAzNy43ODdaXCIgZmlsbD1cIiMwRDBDMjNcIi8+XG48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMjEyLjE5NCA1MC4zNzAxQzIxMi4wNjQgNTAuODg2NiAyMTEuODYyIDUxLjMyMzggMjExLjU4NyA1MS42ODA2QzIxMS4zMTMgNTIuMDM3NyAyMTAuOTcgNTIuMjIzOSAyMTAuNTU4IDUyLjIzOTNDMjEwLjI5OSA1Mi4yNTQzIDIxMC4xMDEgNTIuMTE3NSAyMDkuOTYzIDUxLjgyODlDMjA5LjgyNiA1MS41NDAxIDIwOS43MzEgNTEuMTY3OSAyMDkuNjc4IDUwLjcxMjJDMjA5LjYyNCA1MC4yNTYyIDIwOS42MDEgNDkuNzQ3IDIwOS42MDkgNDkuMTg0OUMyMDkuNjE2IDQ4LjYyMjcgMjA5LjYzOSA0OC4wNjgxIDIwOS42NzggNDcuNTIxQzIwOS43MTUgNDYuOTc0MiAyMDkuNzYxIDQ2LjQ2NDcgMjA5LjgxNSA0NS45OTM5QzIwOS44NjggNDUuNTIyNiAyMDkuOTEgNDUuMTU4NiAyMDkuOTQgNDQuOUMyMTAuNDU5IDQ0Ljk2MDggMjEwLjg5IDQ1LjE4NDYgMjExLjIzMyA0NS41NzIzQzIxMS41NzYgNDUuOTU5OCAyMTEuODM5IDQ2LjQxOTMgMjEyLjAyMiA0Ni45NTE0QzIxMi4yMDUgNDcuNDgzMSAyMTIuMzEyIDQ4LjA1NjggMjEyLjM0MyA0OC42NzIyQzIxMi4zNzMgNDkuMjg3NSAyMTIuMzIzIDQ5Ljg1MzQgMjEyLjE5NCA1MC4zNzAxWk0yMDMuOTEzIDUwLjM3MDFDMjAzLjc4MyA1MC44ODY2IDIwMy41ODEgNTEuMzIzOCAyMDMuMzA3IDUxLjY4MDZDMjAzLjAzMiA1Mi4wMzc3IDIwMi42ODkgNTIuMjIzOSAyMDIuMjc3IDUyLjIzOTNDMjAyLjAxOCA1Mi4yNTQzIDIwMS44MiA1Mi4xMTc1IDIwMS42ODMgNTEuODI4OUMyMDEuNTQ1IDUxLjU0MDEgMjAxLjQ1IDUxLjE2NzkgMjAxLjM5NyA1MC43MTIyQzIwMS4zNDMgNTAuMjU2MiAyMDEuMzIgNDkuNzQ3IDIwMS4zMjggNDkuMTg0OUMyMDEuMzM2IDQ4LjYyMjcgMjAxLjM1OCA0OC4wNjgxIDIwMS4zOTcgNDcuNTIxQzIwMS40MzQgNDYuOTc0MiAyMDEuNDggNDYuNDY0NyAyMDEuNTM0IDQ1Ljk5MzlDMjAxLjU4NyA0NS41MjI2IDIwMS42MjkgNDUuMTU4NiAyMDEuNjYgNDQuOUMyMDIuMTc4IDQ0Ljk2MDggMjAyLjYwOSA0NS4xODQ2IDIwMi45NTIgNDUuNTcyM0MyMDMuMjk1IDQ1Ljk1OTggMjAzLjU1OCA0Ni40MTkzIDIwMy43NDEgNDYuOTUxNEMyMDMuOTI0IDQ3LjQ4MzEgMjA0LjAzMSA0OC4wNTY4IDIwNC4wNjIgNDguNjcyMkMyMDQuMDkyIDQ5LjI4NzUgMjA0LjA0MiA0OS44NTM0IDIwMy45MTMgNTAuMzcwMVpNMTk1LjQxNSAzNy40MjQxQzE5NS4zOTkgMzcuNzg4NCAxOTUuMzY1IDM4LjExMTQgMTk1LjMxMiAzOC4zOTI1QzE5NS4yNTggMzguNjc0MSAxOTUuMTg2IDM4Ljg1MjIgMTk1LjA5NSAzOC45MjgzQzE5NC45MjcgMzguODM2OSAxOTQuNzIxIDM4LjYwMTggMTk0LjQ3NyAzOC4yMjE2QzE5NC4yMzMgMzcuODQxOSAxOTQuMDQyIDM3LjQxMjIgMTkzLjkwNSAzNi45MzM2QzE5My43NjggMzYuNDU1MSAxOTMuNzI1IDM1Ljk4NDMgMTkzLjc3OSAzNS41MjA1QzE5My44MzIgMzUuMDU3MyAxOTQuMDczIDM0LjY5NjcgMTk0LjUgMzQuNDM3OUMxOTQuNjY3IDM0LjM0NjggMTk0LjgxMiAzNC4zODA5IDE5NC45MzQgMzQuNTQwNUMxOTUuMDU2IDM0LjcwMDEgMTk1LjE1NSAzNC45MzE4IDE5NS4yMzIgMzUuMjM1N0MxOTUuMzA4IDM1LjUzOTkgMTk1LjM2MSAzNS44ODkyIDE5NS4zOTIgMzYuMjg0MkMxOTUuNDIyIDM2LjY3OTUgMTk1LjQzIDM3LjA1OTEgMTk1LjQxNSAzNy40MjQxWk0xOTMuMzkgNDEuOTcxMUMxOTMuMTU0IDQyLjIyMTUgMTkyLjg5IDQyLjQzODEgMTkyLjYwMSA0Mi42MjA2QzE5Mi4zMTEgNDIuODAzIDE5Mi4wMTQgNDIuOTM5OCAxOTEuNzA5IDQzLjAzMDlDMTkxLjQwNCA0My4xMjIzIDE5MS4xMjkgNDMuMTQ0OCAxOTAuODg1IDQzLjA5OTFDMTkwLjE5OSA0Mi45NjI3IDE4OS42NzMgNDIuNjY2IDE4OS4zMDcgNDIuMjEwM0MxODguOTQxIDQxLjc1NDUgMTg4LjcwOCA0MS4yMTkgMTg4LjYwOSA0MC42MDM3QzE4OC41MSAzOS45ODgxIDE4OC41MjEgMzkuMzMwOCAxODguNjQ0IDM4LjYzMTlDMTg4Ljc2NSAzNy45MzMgMTg4Ljk3MSAzNy4yODM1IDE4OS4yNjEgMzYuNjgzMkMxODkuNTUxIDM2LjA4MjkgMTg5LjkwMiAzNS41NjYyIDE5MC4zMTMgMzUuMTMzM0MxOTAuNzI1IDM0LjcwMDEgMTkxLjE3NSAzNC40MzA2IDE5MS42NjMgMzQuMzIzOUMxOTEuNDggMzUuMDk4OSAxOTEuNDE5IDM1LjkwMDcgMTkxLjQ4IDM2LjcyODZDMTkxLjU0MSAzNy41NTY4IDE5MS43MzkgMzguMzM1NSAxOTIuMDc1IDM5LjA2NDhDMTkyLjI4OCAzOS41MDYgMTkyLjU0NCAzOS45MDgyIDE5Mi44NDEgNDAuMjcyOUMxOTMuMTM5IDQwLjYzNzggMTkzLjUwMSA0MC45NDkyIDE5My45MjggNDEuMjA3NUMxOTMuODA2IDQxLjQ2NiAxOTMuNjI2IDQxLjcyMDQgMTkzLjM5IDQxLjk3MTFaTTIxOC43MDIgMzcuNjUxOUMyMTguNzQ3IDM3LjMwMjYgMjE4LjgxNiAzNi45MzM2IDIxOC45MDggMzYuNTQ2MkMyMTguOTk5IDM2LjE1OSAyMTkuMTE0IDM1Ljc4MjggMjE5LjI1MSAzNS40MTgxQzIxOS4zODggMzUuMDUzMiAyMTkuNTQ4IDM0LjczOCAyMTkuNzMxIDM0LjQ3MjNDMjE5LjkxNCAzNC4yMDY1IDIyMC4xMDggMzQuMDE2MyAyMjAuMzE0IDMzLjkwMjRDMjIwLjUyIDMzLjc4ODQgMjIwLjczIDMzLjc5OTcgMjIwLjk0MyAzMy45MzY1QzIyMS4xNzIgMzQuMDczNSAyMjEuMzEzIDM0LjM2MjEgMjIxLjM2NyAzNC44MDI1QzIyMS40MiAzNS4yNDM1IDIyMS4zNjcgMzUuNzE0MiAyMjEuMjA3IDM2LjIxNTlDMjIxLjA0NiAzNi43MTczIDIyMC43NjEgMzcuMTg4NCAyMjAuMzQ5IDM3LjYyODhDMjE5LjkzNyAzOC4wNyAyMTkuMzggMzguMzU4MyAyMTguNjc5IDM4LjQ5NTFDMjE4LjY0OCAzOC4yODI2IDIxOC42NTYgMzguMDAxNSAyMTguNzAyIDM3LjY1MTlaTTIyNy45MjEgMzcuNjUxOUMyMjcuOTY2IDM3LjMwMjYgMjI4LjAzNSAzNi45MzM2IDIyOC4xMjYgMzYuNTQ2MkMyMjguMjE4IDM2LjE1OSAyMjguMzMyIDM1Ljc4MjggMjI4LjQ3IDM1LjQxODFDMjI4LjYwNyAzNS4wNTMyIDIyOC43NjcgMzQuNzM4IDIyOC45NSAzNC40NzIzQzIyOS4xMzMgMzQuMjA2NSAyMjkuMzI4IDM0LjAxNjMgMjI5LjUzMyAzMy45MDI0QzIyOS43MzkgMzMuNzg4NCAyMjkuOTQ5IDMzLjc5OTcgMjMwLjE2MiAzMy45MzY1QzIzMC4zOTEgMzQuMDczNSAyMzAuNTMyIDM0LjM2MjEgMjMwLjU4NiAzNC44MDI1QzIzMC42MzkgMzUuMjQzNSAyMzAuNTg2IDM1LjcxNDIgMjMwLjQyNSAzNi4yMTU5QzIzMC4yNjUgMzYuNzE3MyAyMjkuOTc5IDM3LjE4ODQgMjI5LjU2OCAzNy42Mjg4QzIyOS4xNTYgMzguMDcgMjI4LjU5OSAzOC4zNTgzIDIyNy44OTggMzguNDk1MUMyMjcuODY3IDM4LjI4MjYgMjI3Ljg3NSAzOC4wMDE1IDIyNy45MjEgMzcuNjUxOVpNMjM2LjQ4OCAzOC45ODUyQzIzNi4zMTIgMzguNzk1NSAyMzYuMDk5IDM4LjY2MjUgMjM1Ljg0NyAzOC41ODYyQzIzNS41OTUgMzguNTEwNCAyMzUuMzU1IDM4LjUwMjkgMjM1LjEyNiAzOC41NjM2QzIzNC44OTcgMzguNjI0NCAyMzQuNzUyIDM4Ljc4NCAyMzQuNjkyIDM5LjA0MjJDMjM0LjU3IDM5LjUyODYgMjM0LjM3NSA0MC4wMjYyIDIzNC4xMDggNDAuNTM0OUMyMzMuODQxIDQxLjA0NDQgMjMzLjUxNCA0MS41MjY3IDIzMy4xMjUgNDEuOTgyNEMyMzIuNzM2IDQyLjQzODEgMjMyLjI5NyA0Mi44NDEyIDIzMS44MSA0My4xOTA1QzIzMS4zMjEgNDMuNTQwMSAyMzAuODEgNDMuNzkwOCAyMzAuMjc3IDQzLjk0MjNDMjI5Ljc0MyA0NC4xMTAxIDIyOS4zMDEgNDQuMTI4OSAyMjguOTUgNDMuOTk5NkMyMjguNTk5IDQzLjg3MDYgMjI4LjMyMSA0My42NTAzIDIyOC4xMTUgNDMuMzM4OUMyMjcuOTA5IDQzLjAyNzEgMjI3Ljc2MSA0Mi42NTEyIDIyNy42NjkgNDIuMjEwM0MyMjcuNTc4IDQxLjc2OTkgMjI3LjUyNCA0MS4zMTQyIDIyNy41MDkgNDAuODQyOEMyMjguMzc4IDQwLjkwMzggMjI5LjE1MiA0MC43NDgzIDIyOS44MzEgNDAuMzc1NUMyMzAuNTA5IDQwLjAwMzQgMjMxLjA4NSAzOS41MDkyIDIzMS41NTggMzguODkzOUMyMzIuMDMxIDM4LjI3ODggMjMyLjM4OSAzNy41ODc0IDIzMi42MzMgMzYuODJDMjMyLjg3NyAzNi4wNTI2IDIzMy4wMTQgMzUuMjg5MiAyMzMuMDQ1IDM0LjUyOTNDMjMzLjA2IDMzLjgxNSAyMzIuOTUzIDMzLjIxMSAyMzIuNzI0IDMyLjcxNzFDMjMyLjQ5NiAzMi4yMjM1IDIzMi4xODcgMzEuODM5NSAyMzEuNzk4IDMxLjU2NjJDMjMxLjQwOSAzMS4yOTI0IDIzMC45NjMgMzEuMTMzIDIzMC40NiAzMS4wODc0QzIyOS45NTcgMzEuMDQxNyAyMjkuNDQ1IDMxLjExMDUgMjI4LjkyNyAzMS4yOTI0QzIyOC4zMDIgMzEuNTA1NSAyMjcuNzcyIDMxLjg1MSAyMjcuMzM4IDMyLjMyOTZDMjI2LjkwMyAzMi44MDg1IDIyNi41NCAzMy4zNjM0IDIyNi4yNTEgMzMuOTkzNEMyMjUuOTYxIDM0LjYyNDQgMjI1LjczMiAzNS4zMDM5IDIyNS41NjQgMzYuMDMzNUMyMjUuMzk2IDM2Ljc2MjcgMjI1LjI3NCAzNy40ODEgMjI1LjE5OSAzOC4xODc0QzIyNS4xMjQgMzguODczIDIyNS4wODQgMzkuNTI5MiAyMjUuMDc1IDQwLjE1NzJDMjI1LjAxNyA0MC4yODI0IDIyNC45NTYgNDAuNDA4MiAyMjQuODg5IDQwLjUzNDlDMjI0LjYyMiA0MS4wNDQ0IDIyNC4yOTUgNDEuNTI2NyAyMjMuOTA2IDQxLjk4MjRDMjIzLjUxNyA0Mi40MzgxIDIyMy4wNzggNDIuODQxMiAyMjIuNTkxIDQzLjE5MDVDMjIyLjEwMiA0My41NDAxIDIyMS41OTIgNDMuNzkwOCAyMjEuMDU4IDQzLjk0MjNDMjIwLjUyNCA0NC4xMTAxIDIyMC4wODIgNDQuMTI4OSAyMTkuNzMxIDQzLjk5OTZDMjE5LjM4IDQzLjg3MDYgMjE5LjEwMiA0My42NTAzIDIxOC44OTYgNDMuMzM4OUMyMTguNjkxIDQzLjAyNzEgMjE4LjU0MiA0Mi42NTEyIDIxOC40NSA0Mi4yMTAzQzIxOC4zNTkgNDEuNzY5OSAyMTguMzA1IDQxLjMxNDIgMjE4LjI5IDQwLjg0MjhDMjE5LjE1OSA0MC45MDM4IDIxOS45MzMgNDAuNzQ4MyAyMjAuNjEyIDQwLjM3NTVDMjIxLjI5IDQwLjAwMzQgMjIxLjg2NiAzOS41MDkyIDIyMi4zMzkgMzguODkzOUMyMjIuODExIDM4LjI3ODggMjIzLjE3IDM3LjU4NzQgMjIzLjQxNCAzNi44MkMyMjMuNjU4IDM2LjA1MjYgMjIzLjc5NSAzNS4yODkyIDIyMy44MjYgMzQuNTI5M0MyMjMuODQxIDMzLjgxNSAyMjMuNzM0IDMzLjIxMSAyMjMuNTA2IDMyLjcxNzFDMjIzLjI3NyAzMi4yMjM1IDIyMi45NjggMzEuODM5NSAyMjIuNTc5IDMxLjU2NjJDMjIyLjE5IDMxLjI5MjQgMjIxLjc0NCAzMS4xMzMgMjIxLjI0MSAzMS4wODc0QzIyMC43MzggMzEuMDQxNyAyMjAuMjI3IDMxLjExMDUgMjE5LjcwOCAzMS4yOTI0QzIxOS4wODMgMzEuNTA1NSAyMTguNTUzIDMxLjg1MSAyMTguMTE5IDMyLjMyOTZDMjE3LjY4NCAzMi44MDg1IDIxNy4zMjEgMzMuMzYzNCAyMTcuMDMyIDMzLjk5MzRDMjE2Ljc0MiAzNC42MjQ0IDIxNi41MTMgMzUuMzAzOSAyMTYuMzQ2IDM2LjAzMzVDMjE2LjE3OCAzNi43NjI3IDIxNi4wNTYgMzcuNDgxIDIxNS45OCAzOC4xODc0QzIxNS45MzYgMzguNTg1OSAyMTUuOTA3IDM4Ljk3MjIgMjE1Ljg4NiAzOS4zNTE2QzIxNS43MzkgMzkuNDc2NSAyMTUuNTk1IDM5LjYwMjMgMjE1LjQ0MiAzOS43MjU4QzIxNC45MTYgNDAuMTUxNCAyMTQuMzYzIDQwLjUzNDkgMjEzLjc4NCA0MC44NzY5QzIxMy4yMDQgNDEuMjE5IDIxMi42MDEgNDEuNTAwMSAyMTEuOTc3IDQxLjcyMDRDMjExLjM1MSA0MS45NDA4IDIxMC43MSA0Mi4wNzM4IDIxMC4wNTUgNDIuMTE5MkwyMTEuNDczIDI2Ljk4NDdDMjExLjU2NSAyNi42NjU1IDIxMS41MTkgMjYuMzg0NyAyMTEuMzM2IDI2LjE0MTVDMjExLjE1MyAyNS44OTgzIDIxMC45MTYgMjUuNzMxMiAyMTAuNjI3IDI1LjY0MDFDMjEwLjMzNyAyNS41NDg4IDIxMC4wMjggMjUuNTU2NiAyMDkuNyAyNS42NjI3QzIwOS4zNzIgMjUuNzY5NCAyMDkuMTAyIDI2LjAxMjYgMjA4Ljg4OCAyNi4zOTE5QzIwOC43ODEgMjYuOTY5NyAyMDguNjcxIDI3Ljc1OTcgMjA4LjU1NyAyOC43NjI1QzIwOC40NDIgMjkuNzY1MyAyMDguMzI4IDMwLjg1OTUgMjA4LjIxMyAzMi4wNDQ4QzIwOC4wOTkgMzMuMjMgMjA3Ljk4NSAzNC40NTMyIDIwNy44NyAzNS43MTQyQzIwNy43NTYgMzYuOTc1OSAyMDcuNjU3IDM4LjE1MzMgMjA3LjU3MyAzOS4yNDcyQzIwNy41NjkgMzkuMjk1OCAyMDcuNTY2IDM5LjMzOTggMjA3LjU2MiAzOS4zODc4QzIwNy40MjkgMzkuNTAwNSAyMDcuMjk5IDM5LjYxNDIgMjA3LjE2MSAzOS43MjU4QzIwNi42MzUgNDAuMTUxNCAyMDYuMDgyIDQwLjUzNDkgMjA1LjUwMyA0MC44NzY5QzIwNC45MjMgNDEuMjE5IDIwNC4zMjEgNDEuNTAwMSAyMDMuNjk2IDQxLjcyMDRDMjAzLjA3IDQxLjk0MDggMjAyLjQyOSA0Mi4wNzM4IDIwMS43NzQgNDIuMTE5MkwyMDMuMTkyIDI2Ljk4NDdDMjAzLjI4NCAyNi42NjU1IDIwMy4yMzggMjYuMzg0NyAyMDMuMDU1IDI2LjE0MTVDMjAyLjg3MiAyNS44OTgzIDIwMi42MzUgMjUuNzMxMiAyMDIuMzQ2IDI1LjY0MDFDMjAyLjA1NiAyNS41NDg4IDIwMS43NDcgMjUuNTU2NiAyMDEuNDE5IDI1LjY2MjdDMjAxLjA5MSAyNS43Njk0IDIwMC44MjEgMjYuMDEyNiAyMDAuNjA3IDI2LjM5MTlDMjAwLjUwMSAyNi45Njk3IDIwMC4zOSAyNy43NTk3IDIwMC4yNzYgMjguNzYyNUMyMDAuMTYxIDI5Ljc2NTMgMjAwLjA0NyAzMC44NTk1IDE5OS45MzMgMzIuMDQ0OEMxOTkuODE4IDMzLjIzIDE5OS43MDQgMzQuNDUzMiAxOTkuNTg5IDM1LjcxNDJDMTk5LjQ3NSAzNi45NzU5IDE5OS4zNzYgMzguMTUzMyAxOTkuMjkyIDM5LjI0NzJDMTk5LjI5IDM5LjI2OTIgMTk5LjI4OSAzOS4yODkxIDE5OS4yODcgMzkuMzExMUMxOTkuMDQ4IDM5LjQyMTkgMTk4Ljc4NiAzOS41MTkgMTk4LjUwMyAzOS42MDA2QzE5OC4yMTMgMzkuNjg0NCAxOTcuODg1IDM5LjczMzkgMTk3LjUxOSAzOS43NDg5QzE5Ny41OCAzOS40NzUxIDE5Ny42MyAzOS4xNzEyIDE5Ny42NjggMzguODM2OUMxOTcuNzA2IDM4LjUwMjkgMTk3LjczNyAzOC4xNTMzIDE5Ny43NiAzNy43ODg0QzE5Ny43ODIgMzcuNDI0MSAxOTcuNzkgMzcuMDU5MSAxOTcuNzgyIDM2LjY5NDVDMTk3Ljc3NCAzNi4zMjk2IDE5Ny43NTUgMzUuOTk1NiAxOTcuNzI1IDM1LjY5MTRDMTk3LjY0OSAzNS4wMzg1IDE5Ny41MDggMzQuNDE5MSAxOTcuMzAyIDMzLjgzMzhDMTk3LjA5NiAzMy4yNDkxIDE5Ni44MTggMzIuNzU5MyAxOTYuNDY3IDMyLjM2MzdDMTk2LjExNiAzMS45Njg3IDE5NS42NzggMzEuNzAyNyAxOTUuMTUxIDMxLjU2NjJDMTk0LjYyNiAzMS40Mjk0IDE5NC4wMTIgMzEuNDc0OCAxOTMuMzEgMzEuNzAyN0MxOTIuMjczIDMxLjU2NjIgMTkxLjMzOSAzMS42NjEzIDE5MC41MDggMzEuOTg3OEMxODkuNjc3IDMyLjMxNDkgMTg4Ljk1NiAzMi43ODk0IDE4OC4zNDYgMzMuNDEyMkMxODcuNzM2IDM0LjAzNTcgMTg3LjIzNyAzNC43Njg0IDE4Ni44NDggMzUuNjExOUMxODYuNDU5IDM2LjQ1NTEgMTg2LjIgMzcuMzIxNCAxODYuMDcgMzguMjFDMTg2LjAxNSAzOC41ODY4IDE4NS45ODggMzguOTYxOCAxODUuOTggMzkuMzM2QzE4NS43NDQgMzkuODE3NyAxODUuNDg2IDQwLjIzODggMTg1LjIwMSA0MC41OTIxQzE4NC43OTcgNDEuMDkzNSAxODQuMzc3IDQxLjUwMzggMTgzLjk0MyA0MS44MjI4QzE4My41MDggNDIuMTQyIDE4My4wNzcgNDIuMzg1MiAxODIuNjUgNDIuNTUyM0MxODIuMjIzIDQyLjcxOTggMTgxLjg0MiA0Mi44MzM3IDE4MS41MDcgNDIuODk0MUMxODEuMTEgNDIuOTcwMiAxODAuNzI5IDQyLjk3OCAxODAuMzYzIDQyLjkxN0MxNzkuOTk3IDQyLjg1NjUgMTc5LjY2MSA0Mi42ODE2IDE3OS4zNTcgNDIuMzkyN0MxNzkuMTEyIDQyLjE4MDIgMTc4LjkyNSA0MS44MzgxIDE3OC43OTYgNDEuMzY3MUMxNzguNjY2IDQwLjg5NiAxNzguNTkgNDAuMzYwOCAxNzguNTY3IDM5Ljc2MDJDMTc4LjU0NCAzOS4xNTk5IDE3OC41NjcgMzguNTMzIDE3OC42MzYgMzcuODc5OEMxNzguNzA1IDM3LjIyNjYgMTc4LjgyMiAzNi42MDcyIDE3OC45OSAzNi4wMjIyQzE3OS4xNTggMzUuNDM3MiAxNzkuMzcxIDM0LjkxMyAxNzkuNjMxIDM0LjQ0OTJDMTc5Ljg5IDMzLjk4NjIgMTgwLjE5NSAzMy42NTU0IDE4MC41NDYgMzMuNDU3OUMxODAuNzQ0IDMzLjQ4ODYgMTgwLjg2NiAzMy42MDYgMTgwLjkxMiAzMy44MTFDMTgwLjk1OCAzNC4wMTYzIDE4MC45NjkgMzQuMjU5NSAxODAuOTQ2IDM0LjU0MDVDMTgwLjkyMyAzNC44MjE5IDE4MC44ODkgMzUuMTEwNSAxODAuODQzIDM1LjQwNjZDMTgwLjc5NyAzNS43MDMgMTgwLjc3NSAzNS45NTAyIDE4MC43NzUgMzYuMTQ3NEMxODAuODUxIDM2LjU1NzcgMTgwLjk5OSAzNi44NzcgMTgxLjIyMSAzNy4xMDQ4QzE4MS40NDEgMzcuMzMyNyAxODEuNjkgMzcuNDY2IDE4MS45NjQgMzcuNTAzNkMxODIuMjM5IDM3LjU0MTcgMTgyLjUwOSAzNy40NzczIDE4Mi43NzYgMzcuMzA5OEMxODMuMDQzIDM3LjE0MyAxODMuMjYgMzYuODc3IDE4My40MjggMzYuNTEyQzE4My40NDMgMzYuNTI3NCAxODMuNDY2IDM2LjUzNDkgMTgzLjQ5NyAzNi41MzQ5TDE4My44MTcgMzMuNjQwNEMxODMuOTA5IDMzLjI0NTEgMTgzLjg0NyAzMi44OTU4IDE4My42MzQgMzIuNTkxOUMxODMuNDIgMzIuMjg4IDE4My4xMzggMzIuMTEzIDE4Mi43ODggMzIuMDY3NkMxODIuMzQ1IDMxLjQyOTQgMTgxLjc0NyAzMS4wOTE0IDE4MC45OTIgMzEuMDUzMkMxODAuMjM3IDMxLjAxNTQgMTc5LjQ2MyAzMS4yNjIzIDE3OC42NyAzMS43OTQxQzE3OC4xODIgMzIuMTQ0IDE3Ny43NTEgMzIuNjI2IDE3Ny4zNzggMzMuMjQxM0MxNzcuMDA0IDMzLjg1NyAxNzYuNjk5IDM0LjU0MDUgMTc2LjQ2MyAzNS4yOTI2QzE3Ni4yMjYgMzYuMDQ0OCAxNzYuMDU4IDM2LjgzOTEgMTc1Ljk1OSAzNy42NzQ4QzE3NS44NiAzOC41MTA0IDE3NS44NDEgMzkuMzIzNiAxNzUuOTAyIDQwLjExMzNDMTc1Ljk2MyA0MC45MDM4IDE3Ni4xMDQgNDEuNjQ4NCAxNzYuMzI1IDQyLjM0N0MxNzYuNTQ2IDQzLjA0NjIgMTc2Ljg1NSA0My42MzEyIDE3Ny4yNTIgNDQuMTAyQzE3Ny41ODcgNDQuNTEyMyAxNzcuOTY4IDQ0LjgxMjcgMTc4LjM5NSA0NS4wMDI3QzE3OC44MjIgNDUuMTkyNyAxNzkuMjY4IDQ1LjMxMDEgMTc5LjczNCA0NS4zNTU4QzE4MC4xOTkgNDUuNDAxMiAxODAuNjYgNDUuMzgyMSAxODEuMTE4IDQ1LjI5ODhDMTgxLjU3NSA0NS4yMTU1IDE4Mi4wMSA0NS4wOTc4IDE4Mi40MjEgNDQuOTQ1NEMxODIuOTU1IDQ0Ljc0ODIgMTgzLjUwNSA0NC40OTcyIDE4NC4wNjkgNDQuMTkzM0MxODQuNjMzIDQzLjg4OTcgMTg1LjE3NCA0My41MjQ4IDE4NS42OTMgNDMuMDk5MUMxODUuOTY2IDQyLjg3NTMgMTg2LjIyOCA0Mi42MzEzIDE4Ni40ODIgNDIuMzY5NkMxODYuNTk4IDQyLjY1NTMgMTg2LjcyNyA0Mi45MzE3IDE4Ni44ODIgNDMuMTkwNUMxODcuMjk0IDQzLjg3NDEgMTg3Ljg1IDQ0LjQyOSAxODguNTUyIDQ0Ljg1NDRDMTg5LjI1MyA0NS4yNzk3IDE5MC4xMTUgNDUuNDg0NCAxOTEuMTM3IDQ1LjQ2OTdDMTkyLjIzNSA0NS40NTQ0IDE5My4yNDkgNDUuMTc3NCAxOTQuMTggNDQuNjM3OEMxOTUuMTEgNDQuMDk4OCAxOTUuODcyIDQzLjMwNDIgMTk2LjQ2NyA0Mi4yNTZDMTk3LjM1OCA0Mi4yNTYgMTk4LjIzNCA0Mi4xMDk2IDE5OS4wOTYgNDEuODE5QzE5OS4wODkgNDEuOTExIDE5OS4wODEgNDIuMDA3OSAxOTkuMDc1IDQyLjA5NjZDMTk5LjAxNCA0Mi45MDE5IDE5OC45ODMgNDMuNDQ4NyAxOTguOTgzIDQzLjczNzZDMTk4Ljk2OCA0NC4yMzkgMTk4LjkzNCA0NC44NTgxIDE5OC44OCA0NS41OTQ5QzE5OC44MjcgNDYuMzMyIDE5OC43OTMgNDcuMTA2OSAxOTguNzc4IDQ3LjkxOThDMTk4Ljc2MyA0OC43MzI2IDE5OC43OTMgNDkuNTUzMiAxOTguODY5IDUwLjM4MTdDMTk4Ljk0NSA1MS4yMDk2IDE5OS4xMDUgNTEuOTYyIDE5OS4zNDkgNTIuNjM4M0MxOTkuNTkzIDUzLjMxNDEgMTk5Ljk0IDUzLjg4NzggMjAwLjM5IDU0LjM1OTFDMjAwLjg0IDU0LjgyOTkgMjAxLjQzMSA1NS4xMTEyIDIwMi4xNjMgNTUuMjAyM0MyMDIuOTQxIDU1LjMwODQgMjAzLjYxMiA1NS4xNzE3IDIwNC4xNzYgNTQuNzkyQzIwNC43NCA1NC40MTIgMjA1LjE5OCA1My44OTE4IDIwNS41NDkgNTMuMjMwOEMyMDUuODk5IDUyLjU2OTUgMjA2LjE0NyA1MS44MDYxIDIwNi4yOTIgNTAuOTQwMUMyMDYuNDM3IDUwLjA3NCAyMDYuNDc5IDQ5LjIwMzkgMjA2LjQxOCA0OC4zMzAxQzIwNi4zNTcgNDcuNDU2MiAyMDYuMTk2IDQ2LjYzMjEgMjA1LjkzNyA0NS44NTc1QzIwNS42NzggNDUuMDgyMiAyMDUuMzE5IDQ0LjQ0NCAyMDQuODYyIDQzLjk0MjNDMjA1LjEzNyA0My44NjY5IDIwNS40NjUgNDMuNzIyNiAyMDUuODQ2IDQzLjUwOTVDMjA2LjIyNyA0My4yOTY5IDIwNi42MiA0My4wNTc1IDIwNy4wMjQgNDIuNzkxNUMyMDcuMTIzIDQyLjcyNjEgMjA3LjIyMSA0Mi42NTczIDIwNy4zMiA0Mi41OTAyQzIwNy4yODMgNDMuMTI4NiAyMDcuMjY0IDQzLjUxMjYgMjA3LjI2NCA0My43Mzc2QzIwNy4yNDkgNDQuMjM5IDIwNy4yMTUgNDQuODU4MSAyMDcuMTYxIDQ1LjU5NDlDMjA3LjEwOCA0Ni4zMzIgMjA3LjA3MyA0Ny4xMDY5IDIwNy4wNTggNDcuOTE5OEMyMDcuMDQzIDQ4LjczMjYgMjA3LjA3MyA0OS41NTMyIDIwNy4xNSA1MC4zODE3QzIwNy4yMjYgNTEuMjA5NiAyMDcuMzg2IDUxLjk2MiAyMDcuNjMgNTIuNjM4M0MyMDcuODc0IDUzLjMxNDEgMjA4LjIyMSA1My44ODc4IDIwOC42NzEgNTQuMzU5MUMyMDkuMTIxIDU0LjgyOTkgMjA5LjcxMiA1NS4xMTEyIDIxMC40NDQgNTUuMjAyM0MyMTEuMjIxIDU1LjMwODQgMjExLjg5MiA1NS4xNzE3IDIxMi40NTcgNTQuNzkyQzIxMy4wMjEgNTQuNDEyIDIxMy40NzggNTMuODkxOCAyMTMuODMgNTMuMjMwOEMyMTQuMTggNTIuNTY5NSAyMTQuNDI4IDUxLjgwNjEgMjE0LjU3MyA1MC45NDAxQzIxNC43MTggNTAuMDc0IDIxNC43NTkgNDkuMjAzOSAyMTQuNjk5IDQ4LjMzMDFDMjE0LjYzNyA0Ny40NTYyIDIxNC40NzcgNDYuNjMyMSAyMTQuMjE4IDQ1Ljg1NzVDMjEzLjk1OSA0NS4wODIyIDIxMy42MDEgNDQuNDQ0IDIxMy4xNDMgNDMuOTQyM0MyMTMuNDE4IDQzLjg2NjkgMjEzLjc0NSA0My43MjI2IDIxNC4xMjcgNDMuNTA5NUMyMTQuNTA4IDQzLjI5NjkgMjE0LjkgNDMuMDU3NSAyMTUuMzA1IDQyLjc5MTVDMjE1LjUxNSA0Mi42NTMzIDIxNS43MjQgNDIuNTEwNyAyMTUuOTMyIDQyLjM2NDFDMjE2LjAxIDQzLjEwNzIgMjE2LjE3OSA0My43NTkgMjE2LjQ0OCA0NC4zMDczQzIxNi43NzYgNDQuOTc2MSAyMTcuMjIyIDQ1LjQ5MjUgMjE3Ljc4NyA0NS44NTc1QzIxOC4zNTEgNDYuMjIxOCAyMTkuMDE0IDQ2LjQyMzQgMjE5Ljc3NyA0Ni40NjEyQzIyMC41MzkgNDYuNDk4OCAyMjEuMzcgNDYuMzU4NiAyMjIuMjcxIDQ2LjAzOTNDMjIyLjk0MSA0NS43OTY1IDIyMy41MjUgNDUuNDkyNSAyMjQuMDIgNDUuMTI3OUMyMjQuNTE2IDQ0Ljc2MyAyMjQuOTYyIDQ0LjMxODUgMjI1LjM1OCA0My43OTQ2QzIyNS4zODEgNDMuNzY0MiAyMjUuNDAzIDQzLjczMTMgMjI1LjQyNSA0My43MDA2QzIyNS40OTYgNDMuOTEzNCAyMjUuNTc0IDQ0LjExNzkgMjI1LjY2NyA0NC4zMDczQzIyNS45OTUgNDQuOTc2MSAyMjYuNDQxIDQ1LjQ5MjUgMjI3LjAwNiA0NS44NTc1QzIyNy41NjkgNDYuMjIxOCAyMjguMjMzIDQ2LjQyMzQgMjI4Ljk5NiA0Ni40NjEyQzIyOS43NTggNDYuNDk4OCAyMzAuNTg5IDQ2LjM1ODYgMjMxLjQ4OSA0Ni4wMzkzQzIzMi4xNiA0NS43OTY1IDIzMi43NDQgNDUuNDkyNSAyMzMuMjM5IDQ1LjEyNzlDMjMzLjczNSA0NC43NjMgMjM0LjE4MSA0NC4zMTg1IDIzNC41NzcgNDMuNzk0NkMyMzQuOTc0IDQzLjI3IDIzNS4zMzYgNDIuNjY2IDIzNS42NjQgNDEuOTgyNEMyMzUuOTkyIDQxLjI5ODUgMjM2LjMyMyA0MC41MTY0IDIzNi42NTkgMzkuNjM0N0MyMzYuNzIgMzkuMzkxOCAyMzYuNjYzIDM5LjE3NTIgMjM2LjQ4OCAzOC45ODUyWlwiIGZpbGw9XCIjMEQwQzIzXCIvPlxuPC9zdmc+YDtcblxuY29uc3QgcGF5cGFsID0gYFxuPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNTBcIiBoZWlnaHQ9XCI0MFwiPlxuPHBhdGggZmlsbD1cIiMyNTNCODBcIiBkPVwiTTQ2LjIxMSA2Ljc0OWgtNi44MzlhLjk1Ljk1IDAgMCAwLS45MzkuODAybC0yLjc2NiAxNy41MzdhLjU3LjU3IDAgMCAwIC41NjQuNjU4aDMuMjY1YS45NS45NSAwIDAgMCAuOTM5LS44MDNsLjc0Ni00LjczYS45NS45NSAwIDAgMSAuOTM4LS44MDNoMi4xNjVjNC41MDUgMCA3LjEwNS0yLjE4IDcuNzg0LTYuNS4zMDYtMS44OS4wMTMtMy4zNzUtLjg3Mi00LjQxNS0uOTcyLTEuMTQyLTIuNjk2LTEuNzQ2LTQuOTg1LTEuNzQ2ek00NyAxMy4xNTRjLS4zNzQgMi40NTQtMi4yNDkgMi40NTQtNC4wNjIgMi40NTRoLTEuMDMybC43MjQtNC41ODNhLjU3LjU3IDAgMCAxIC41NjMtLjQ4MWguNDczYzEuMjM1IDAgMi40IDAgMy4wMDIuNzA0LjM1OS40Mi40NjkgMS4wNDQuMzMyIDEuOTA2ek02Ni42NTQgMTMuMDc1aC0zLjI3NWEuNTcuNTcgMCAwIDAtLjU2My40ODFsLS4xNDUuOTE2LS4yMjktLjMzMmMtLjcwOS0xLjAyOS0yLjI5LTEuMzczLTMuODY4LTEuMzczLTMuNjE5IDAtNi43MSAyLjc0MS03LjMxMiA2LjU4Ni0uMzEzIDEuOTE4LjEzMiAzLjc1MiAxLjIyIDUuMDMxLjk5OCAxLjE3NiAyLjQyNiAxLjY2NiA0LjEyNSAxLjY2NiAyLjkxNiAwIDQuNTMzLTEuODc1IDQuNTMzLTEuODc1bC0uMTQ2LjkxYS41Ny41NyAwIDAgMCAuNTYyLjY2aDIuOTVhLjk1Ljk1IDAgMCAwIC45MzktLjgwM2wxLjc3LTExLjIwOWEuNTY4LjU2OCAwIDAgMC0uNTYxLS42NTh6bS00LjU2NSA2LjM3NGMtLjMxNiAxLjg3MS0xLjgwMSAzLjEyNy0zLjY5NSAzLjEyNy0uOTUxIDAtMS43MTEtLjMwNS0yLjE5OS0uODgzLS40ODQtLjU3NC0uNjY4LTEuMzkxLS41MTQtMi4zMDEuMjk1LTEuODU1IDEuODA1LTMuMTUyIDMuNjctMy4xNTIuOTMgMCAxLjY4Ni4zMDkgMi4xODQuODkyLjQ5OS41ODkuNjk3IDEuNDExLjU1NCAyLjMxN3pNODQuMDk2IDEzLjA3NWgtMy4yOTFhLjk1NC45NTQgMCAwIDAtLjc4Ny40MTdsLTQuNTM5IDYuNjg2LTEuOTI0LTYuNDI1YS45NTMuOTUzIDAgMCAwLS45MTItLjY3OGgtMy4yMzRhLjU3LjU3IDAgMCAwLS41NDEuNzU0bDMuNjI1IDEwLjYzOC0zLjQwOCA0LjgxMWEuNTcuNTcgMCAwIDAgLjQ2NS45aDMuMjg3YS45NDkuOTQ5IDAgMCAwIC43ODEtLjQwOGwxMC45NDYtMTUuOGEuNTcuNTcgMCAwIDAtLjQ2OC0uODk1elwiLz5cbjxwYXRoIGZpbGw9XCIjMTc5QkQ3XCIgZD1cIk05NC45OTIgNi43NDloLTYuODRhLjk1Ljk1IDAgMCAwLS45MzguODAybC0yLjc2NiAxNy41MzdhLjU2OS41NjkgMCAwIDAgLjU2Mi42NThoMy41MWEuNjY1LjY2NSAwIDAgMCAuNjU2LS41NjJsLjc4NS00Ljk3MWEuOTUuOTUgMCAwIDEgLjkzOC0uODAzaDIuMTY0YzQuNTA2IDAgNy4xMDUtMi4xOCA3Ljc4NS02LjUuMzA3LTEuODkuMDEyLTMuMzc1LS44NzMtNC40MTUtLjk3MS0xLjE0Mi0yLjY5NC0xLjc0Ni00Ljk4My0xLjc0NnptLjc4OSA2LjQwNWMtLjM3MyAyLjQ1NC0yLjI0OCAyLjQ1NC00LjA2MiAyLjQ1NGgtMS4wMzFsLjcyNS00LjU4M2EuNTY4LjU2OCAwIDAgMSAuNTYyLS40ODFoLjQ3M2MxLjIzNCAwIDIuNCAwIDMuMDAyLjcwNC4zNTkuNDIuNDY4IDEuMDQ0LjMzMSAxLjkwNnpNMTE1LjQzNCAxMy4wNzVoLTMuMjczYS41NjcuNTY3IDAgMCAwLS41NjIuNDgxbC0uMTQ1LjkxNi0uMjMtLjMzMmMtLjcwOS0xLjAyOS0yLjI4OS0xLjM3My0zLjg2Ny0xLjM3My0zLjYxOSAwLTYuNzA5IDIuNzQxLTcuMzExIDYuNTg2LS4zMTIgMS45MTguMTMxIDMuNzUyIDEuMjE5IDUuMDMxIDEgMS4xNzYgMi40MjYgMS42NjYgNC4xMjUgMS42NjYgMi45MTYgMCA0LjUzMy0xLjg3NSA0LjUzMy0xLjg3NWwtLjE0Ni45MWEuNTcuNTcgMCAwIDAgLjU2NC42NmgyLjk0OWEuOTUuOTUgMCAwIDAgLjkzOC0uODAzbDEuNzcxLTExLjIwOWEuNTcxLjU3MSAwIDAgMC0uNTY1LS42NTh6bS00LjU2NSA2LjM3NGMtLjMxNCAxLjg3MS0xLjgwMSAzLjEyNy0zLjY5NSAzLjEyNy0uOTQ5IDAtMS43MTEtLjMwNS0yLjE5OS0uODgzLS40ODQtLjU3NC0uNjY2LTEuMzkxLS41MTQtMi4zMDEuMjk3LTEuODU1IDEuODA1LTMuMTUyIDMuNjctMy4xNTIuOTMgMCAxLjY4Ni4zMDkgMi4xODQuODkyLjUwMS41ODkuNjk5IDEuNDExLjU1NCAyLjMxN3pNMTE5LjI5NSA3LjIzbC0yLjgwNyAxNy44NThhLjU2OS41NjkgMCAwIDAgLjU2Mi42NThoMi44MjJjLjQ2OSAwIC44NjctLjM0LjkzOS0uODAzbDIuNzY4LTE3LjUzNmEuNTcuNTcgMCAwIDAtLjU2Mi0uNjU5aC0zLjE2YS41NzEuNTcxIDAgMCAwLS41NjIuNDgyelwiLz5cbjxwYXRoIGZpbGw9XCIjMjUzQjgwXCIgZD1cIk03LjI2NiAyOS4xNTRsLjUyMy0zLjMyMi0xLjE2NS0uMDI3SDEuMDYxTDQuOTI3IDEuMjkyYS4zMTYuMzE2IDAgMCAxIC4zMTQtLjI2OGg5LjM4YzMuMTE0IDAgNS4yNjMuNjQ4IDYuMzg1IDEuOTI3LjUyNi42Ljg2MSAxLjIyNyAxLjAyMyAxLjkxNy4xNy43MjQuMTczIDEuNTg5LjAwNyAyLjY0NGwtLjAxMi4wNzd2LjY3NmwuNTI2LjI5OGEzLjY5IDMuNjkgMCAwIDEgMS4wNjUuODEyYy40NS41MTMuNzQxIDEuMTY1Ljg2NCAxLjkzOC4xMjcuNzk1LjA4NSAxLjc0MS0uMTIzIDIuODEyLS4yNCAxLjIzMi0uNjI4IDIuMzA1LTEuMTUyIDMuMTgzYTYuNTQ3IDYuNTQ3IDAgMCAxLTEuODI1IDJjLS42OTYuNDk0LTEuNTIzLjg2OS0yLjQ1OCAxLjEwOS0uOTA2LjIzNi0xLjkzOS4zNTUtMy4wNzIuMzU1aC0uNzNjLS41MjIgMC0xLjAyOS4xODgtMS40MjcuNTI1YTIuMjEgMi4yMSAwIDAgMC0uNzQ0IDEuMzI4bC0uMDU1LjI5OS0uOTI0IDUuODU1LS4wNDIuMjE1Yy0uMDExLjA2OC0uMDMuMTAyLS4wNTguMTI1YS4xNTUuMTU1IDAgMCAxLS4wOTYuMDM1SDcuMjY2elwiLz5cbjxwYXRoIGZpbGw9XCIjMTc5QkQ3XCIgZD1cIk0yMy4wNDggNy42NjdjLS4wMjguMTc5LS4wNi4zNjItLjA5Ni41NS0xLjIzNyA2LjM1MS01LjQ2OSA4LjU0NS0xMC44NzQgOC41NDVIOS4zMjZjLS42NjEgMC0xLjIxOC40OC0xLjMyMSAxLjEzMkw2LjU5NiAyNi44M2wtLjM5OSAyLjUzM2EuNzA0LjcwNCAwIDAgMCAuNjk1LjgxNGg0Ljg4MWMuNTc4IDAgMS4wNjktLjQyIDEuMTYtLjk5bC4wNDgtLjI0OC45MTktNS44MzIuMDU5LS4zMmMuMDktLjU3Mi41ODItLjk5MiAxLjE2LS45OTJoLjczYzQuNzI5IDAgOC40MzEtMS45MiA5LjUxMy03LjQ3Ni40NTItMi4zMjEuMjE4LTQuMjU5LS45NzgtNS42MjJhNC42NjcgNC42NjcgMCAwIDAtMS4zMzYtMS4wM3pcIi8+XG48cGF0aCBmaWxsPVwiIzIyMkQ2NVwiIGQ9XCJNMjEuNzU0IDcuMTUxYTkuNzU3IDkuNzU3IDAgMCAwLTEuMjAzLS4yNjcgMTUuMjg0IDE1LjI4NCAwIDAgMC0yLjQyNi0uMTc3aC03LjM1MmExLjE3MiAxLjE3MiAwIDAgMC0xLjE1OS45OTJMOC4wNSAxNy42MDVsLS4wNDUuMjg5YTEuMzM2IDEuMzM2IDAgMCAxIDEuMzIxLTEuMTMyaDIuNzUyYzUuNDA1IDAgOS42MzctMi4xOTUgMTAuODc0LTguNTQ1LjAzNy0uMTg4LjA2OC0uMzcxLjA5Ni0uNTVhNi41OTQgNi41OTQgMCAwIDAtMS4wMTctLjQyOSA5LjA0NSA5LjA0NSAwIDAgMC0uMjc3LS4wODd6XCIvPlxuPHBhdGggZmlsbD1cIiMyNTNCODBcIiBkPVwiTTkuNjE0IDcuNjk5YTEuMTY5IDEuMTY5IDAgMCAxIDEuMTU5LS45OTFoNy4zNTJjLjg3MSAwIDEuNjg0LjA1NyAyLjQyNi4xNzdhOS43NTcgOS43NTcgMCAwIDEgMS40ODEuMzUzYy4zNjUuMTIxLjcwNC4yNjQgMS4wMTcuNDI5LjM2OC0yLjM0Ny0uMDAzLTMuOTQ1LTEuMjcyLTUuMzkyQzIwLjM3OC42ODIgMTcuODUzIDAgMTQuNjIyIDBoLTkuMzhjLS42NiAwLTEuMjIzLjQ4LTEuMzI1IDEuMTMzTC4wMSAyNS44OThhLjgwNi44MDYgMCAwIDAgLjc5NS45MzJoNS43OTFsMS40NTQtOS4yMjUgMS41NjQtOS45MDZ6XCIvPlxuPC9zdmc+YDtcbiJdLCJuYW1lcyI6WyJhZGRJY29uIiwiYWxpZ25tZW50XzEiLCJ0YWJsZV9jZWxsXzEiLCJ1bmRlZmluZWQiLCJnbG9iYWwiLCJ0aGlzIiwibG9kYXNoXzEiLCJuZXZlcnRocm93XzEiLCJyZXN1bHRzXzEiLCJhc3RfdXRpbHNfMSIsImNhbGNfMSIsInJvd18xIiwiY29sdW1uXzEiLCJyZWZlcmVuY2VfMSIsInJhbmdlXzEiLCJTZW1hbnRpY0hlbHBlcnNfMSIsIlczQ0VCTkZfMSIsIkN1c3RvbV8xIiwicmVxdWlyZSQkMCIsImRpc3BsYXlfZGlyZWN0aXZlXzEiLCJkZXN0aW5hdGlvbiIsImRlc3RpbmF0aW9uXzEiLCJzaW5nbGVfcGFyYW1fZnVuY3Rpb25fMSIsImNvbmRpdGlvbmFsX2Z1bmN0aW9uXzEiLCJhbGdlYnJhaWNfb3BlcmF0aW9uXzEiLCJjb25zdGFudF8xIiwiZWJuZl8xIiwiZm9jdXNfMSIsInBvaW50XzEiLCJ0YWJsZV9yb3dfMSIsInRhYmxlXzEiLCJhbGlnbm1lbnQiLCJ0YWJsZSIsImZvcm1hdHRlcl8xIiwicGFyc2VyXzEiLCJyYW5nZSIsImVkaXRfc2NyaXB0XzEiLCJmb2N1cyIsImZvcm1hdHRlcl9qc18xIiwidGV4dF9lZGl0b3JfMSIsIm9wdGlvbnNfMSIsInRhYmxlX2VkaXRvcl8xIiwiRm9ybWF0VHlwZSIsIm9wdGlvbnNXaXRoRGVmYXVsdHMiLCJQb2ludCIsIkFsaWdubWVudCIsIlNvcnRPcmRlciIsIk5vdGljZSIsIk1URUVkaXRvciIsIk1vZGFsIiwiTWFya2Rvd25WaWV3IiwiSXRlbVZpZXciLCJQcmVjIiwia2V5bWFwIiwiUGx1Z2luIiwiU2V0dGluZyIsIlBsdWdpblNldHRpbmdUYWIiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxhQUFhLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ25DLElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxjQUFjO0FBQ3pDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFlBQVksS0FBSyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwRixRQUFRLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMxRyxJQUFJLE9BQU8sYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFDRjtBQUNPLFNBQVMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDaEMsSUFBSSxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLElBQUksU0FBUyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQzNDLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6RixDQUFDO0FBQ0Q7QUFDTyxJQUFJLFFBQVEsR0FBRyxXQUFXO0FBQ2pDLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksU0FBUyxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ3JELFFBQVEsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0QsWUFBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLFlBQVksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekYsU0FBUztBQUNULFFBQVEsT0FBTyxDQUFDLENBQUM7QUFDakIsTUFBSztBQUNMLElBQUksT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMzQyxFQUFDO0FBNEJEO0FBQ08sU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0FBQzdELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0FBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUN0RyxRQUFRLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUN0SCxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM5RSxLQUFLLENBQUMsQ0FBQztBQUNQLENBQUM7QUFDRDtBQUNPLFNBQVMsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUU7QUFDM0MsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3JILElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sTUFBTSxLQUFLLFVBQVUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFdBQVcsRUFBRSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0osSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLFVBQVUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN0RSxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUUsRUFBRTtBQUN0QixRQUFRLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSSxTQUFTLENBQUMsaUNBQWlDLENBQUMsQ0FBQztBQUN0RSxRQUFRLE9BQU8sQ0FBQyxFQUFFLElBQUk7QUFDdEIsWUFBWSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN6SyxZQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEQsWUFBWSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDekIsZ0JBQWdCLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07QUFDOUMsZ0JBQWdCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUN4RSxnQkFBZ0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztBQUNqRSxnQkFBZ0IsS0FBSyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsU0FBUztBQUNqRSxnQkFBZ0I7QUFDaEIsb0JBQW9CLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7QUFDaEksb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7QUFDMUcsb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtBQUN6RixvQkFBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUss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cEM7QUFDQTtBQUNBLEVBQUUsSUFBSSxlQUFlLEdBQUc7QUFDeEI7QUFDQSxJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRztBQUNqRixJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRztBQUNqRixJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUc7QUFDN0IsSUFBSSxNQUFNLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxHQUFHO0FBQzdCLElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUc7QUFDdkQsSUFBSSxNQUFNLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRztBQUN2RCxJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHO0FBQ3ZELElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUc7QUFDdkQsSUFBSSxNQUFNLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxHQUFHO0FBQzdCLElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHO0FBQ2pGLElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHO0FBQ2pGLElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUc7QUFDdkQsSUFBSSxNQUFNLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRztBQUN2RCxJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRztBQUMxQyxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUk7QUFDOUIsSUFBSSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJO0FBQzlCLElBQUksTUFBTSxFQUFFLElBQUk7QUFDaEI7QUFDQSxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQy9ELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDL0QsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUMvRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDOUUsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQzlFLElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDL0QsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUMvRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQy9ELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUM5RSxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDOUUsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHO0FBQ2pDLElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQ2hELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUM5RSxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDOUUsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUMvRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQy9ELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQ2hELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQ2hELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQ2hELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQ2hELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDL0QsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUMvRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFB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RUFBRTtBQUM3QixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEUsS0FBSztBQUNMLElBQUksT0FBTyxXQUFXLENBQUM7QUFDdkIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxTQUFTLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtBQUNyRSxJQUFJLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDbEQsSUFBSSxJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUU7QUFDN0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEMsS0FBSztBQUNMLElBQUksT0FBTyxNQUFNLEVBQUUsRUFBRTtBQUNyQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEUsS0FBSztBQUNMLElBQUksT0FBTyxXQUFXLENBQUM7QUFDdkIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7QUFDdkMsSUFBSSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDbEIsUUFBUSxNQUFNLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUNsRDtBQUNBLElBQUksT0FBTyxFQUFFLEtBQUssR0FBRyxNQUFNLEVBQUU7QUFDN0IsTUFBTSxJQUFJLFNBQVMsQ0FBQyxLQUFL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QUFDLENBQUM7QUFDL0IsUUFBUSxPQUFPLE1BQU0sS0FBSyxjQUFjLEdBQUdBLFdBQVMsR0FBRyxNQUFNLENBQUM7QUFDOUQsT0FBTztBQUNQLE1BQU0sT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUdBLFdBQVMsQ0FBQztBQUNwRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMxQixNQUFNLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDL0IsTUFBTSxPQUFPLFlBQVksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUtBLFdBQVMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN2RixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRTtBQUNqQyxNQUFNLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDL0IsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxLQUFLLEtBQUtBLFdBQVMsSUFBSSxjQUFjLEdBQUcsS0FBSyxDQUFDO0FBQ2pGLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsS0FBSztBQUNMO0FBQ0E7QUFDQSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztBQUNyQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcs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QUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxHQUFHLEVBQUU7QUFDOUIsTUFBTSxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFO0FBQ3JDLE1BQU0sSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7QUFDdEMsVUFBVSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztBQUMzQjtBQUNBLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDM0IsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0MsTUFBTSxPQUFPLElBQUksQ0FBQztBQUNsQixLQUFLO0FBQ0w7QUFDQTtBQUNBLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO0FBQzdDLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxjQUFjLENBQUM7QUFDbEQsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7QUFDekMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7QUFDekMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsTUFBTSxFQUFFO0FBQzlCLE1BQU0sSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3BCLFVBQVUsTUFBTSxHQUFHLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDdEQ7QUFDQSxNQUFNLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUM7QUFDbkMsTUFBTSxPQUFPLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRTtBQUMvQixRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDaEMsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxLQUFLLEVBQUU7QUFDaEMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDL0MsTUFBTSxPQUFPLElBQUksQ0FBQztBQUNsQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsV0FBVyxDQUFDLEtBQUssRUFBRTtBQUNoQyxNQUFNLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEMsS0FBSztBQUNMO0FBQ0E7QUFDQSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztBQUNuRSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxLQUFLLENBQUMsT0FBTyxFQUFFO0FBQzVCLE1BQU0sSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4RCxNQUFNLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztBQUM1QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxVQUFVLEdBQUc7QUFDMUIsTUFBTSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksU0FBUyxDQUFDO0FBQ3BDLE1BQU0sSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxHQUFHLEVBQUU7QUFDOUIsTUFBTSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUTtBQUM5QixVQUFVLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkM7QUFDQSxNQUFNLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztBQUM1QixNQUFNLE9BQU8sTUFBTSxDQUFDO0FBQ3BCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsR0FBRyxFQUFFO0FBQzNCLE1BQU0sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLEdBQUcsRUFBRTtBQUMzQixNQUFNLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEMs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QyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BGLE9BQU8sQ0FBQztBQUNSLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsVUFBVSxDQUFDLElBQUksRUFBRTtBQUM5QixNQUFNLE9BQU8sV0FBVztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQztBQUM3QixRQUFRLFFBQVEsSUFBSSxDQUFDLE1BQU07QUFDM0IsVUFBVSxLQUFLLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDO0FBQ2xDLFVBQVUsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELFVBQVUsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdELFVBQVUsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RSxVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FB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Q3BEO0FBQ0EsTUFBTSxPQUFPLEtBQUssR0FBRyxNQUFNLEVBQUU7QUFDN0IsUUFBUSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7QUFDdEUsT0FBTztBQUNQLE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDNUIsTUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDcEIsVUFBVSxNQUFNLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU07QUFDbkQsVUFBVSxRQUFRLEdBQUcsQ0FBQztBQUN0QixVQUFVLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDdEI7QUFDQSxNQUFNLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFO0FBQy9CLFFBQVEsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pDLFFBQVEsSUFBSSxLQUFLLEVBQUU7QUFDbkIsVUFBVSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDckMsU0FBUztBQUNULE9BQU87QUFDUCxNQUFNLE9BQU8sTUFBTSxDQUFDO0FBQ3BCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sR0FBRztBQUN0QixNQUFNLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7QUFDcEMsTUFBTSxJQUFJLENBQUMsTUFBTSxF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LENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtBQUNuQyxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDcEQsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ25CLFFBQVEsT0FBTyxFQUFFLENBQUM7QUFDbEIsT0FBTztBQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBS0EsV0FBUyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsTUFBTSxPQUFPLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3JELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtBQUN4QyxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDcEQsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ25CLFFBQVEsT0FBTyxFQUFFLENBQUM7QUFDbEIsT0FBTztBQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBS0EsV0FBUyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRTtBQUM5QyxNQUFNLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU07QUFDbkMsVUFBVSxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztBQUNqRSxVQUFVLEVBQUUsQ0FBQztBQUNiLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7QUFDekMsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNO0FBQ25DLFVBQVUsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztBQUMzRCxVQUFVLEVBQUUsQ0FBQztBQUNiLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUM1QyxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDcEQsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ25CLFFBQVEsT0FBTyxFQUFFLENBQUM7QUFDbEIsT0FBTztBQUNQLE1BQU0sSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLElBQUksUUFBUSxJQUFJLGNBQWMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO0FBQ3BGLFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUNsQixRQUFRLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDckIsT0FBTztBQUNQLE1BQU0sT0FBTyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDaEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUU7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QSxJQUFJLFNBQVMsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7QUFDcEMsTUFBTSxPQUFPLEtBQUssSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3BFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsSUFBSSxDQUFDLEtBQUssRUFBRTtBQUN6QixNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDcEQsTUFBTSxPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHQSxXQUFTLENBQUM7QUFDcEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtBQUNsRCxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDcEQsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ25CLFFBQVEsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNsQixPQUFPO0FBQ1AsTUFBTSxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDekIsTUFBTSxJQUFJLFNBQVMsS0FBS0EsV0FBUyxFQUFFO0FBQ25DLFFBQVEsS0FBSyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNyQyxRQUFRLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLE9BQU87QUFDUCxNQUFNLE9BQU8sS0FBSyxLQUFLLEtBQUs7QUFDNUIsVUFBVSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztBQUNoRCxVQUFVLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7QUFDM0IsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsV0FBUyxDQUFDO0FBQ2hGLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDcEMsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO0FBQzlELFVBQVUsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7QUFDcEMsVUFBVSxLQUFLLENBQUM7QUFDaEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7QUFDaEQsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO0FBQzlELFVBQVUsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5RCxVQUFVLEtBQUssQ0FBQztBQUNoQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRTtBQUNwRCxNQUFNLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU07QUFDOUQsVUFBVSxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRUEsV0FBUyxFQUFFLFVBQVUsQ0FBQztBQUMzRCxVQUFVLEtBQUssQ0FBQztBQUNoQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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LEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtBQUN4QyxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDcEQsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ25CLFFBQVEsT0FBTyxFQUFFLENBQUM7QUFDbEIsT0FBTztBQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBS0EsV0FBUyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDckQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRTtBQUM5QyxNQUFNLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU07QUFDbkMsVUFBVSxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztBQUNsRSxVQUFVLEVBQUUsQ0FBQztBQUNiLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7QUFDekMsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNO0FBQ25DLFVBQVUsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3JELFVBQVUsRUFBRSxDQUFDO0FBQ2IsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLE1BQU0sRUFBRTtBQUMxQyxNQUFNLE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDdkUsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQyxTQUFTLE1BQU0sRUFBRTtBQUM1QyxNQUFNLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxNQUFNLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDdkMsUUFBUSxRQUFRLEdBQUdBLFdBQVMsQ0FBQztBQUM3QixPQUFPO0FBQ1AsTUFBTSxPQUFPLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakcsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsTUFBTSxFQUFFO0FBQzlDLE1BQU0sSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BDLE1BQU0sVUFBVSxHQUFHLE9BQU8sVUFBVSxJQUFJLFVBQVUsR0FBRyxVQUFVLEdBQUdBLFdBQVMsQ0FBQztBQUM1RSxNQUFNLE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxFQUFFQSxXQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDOUYsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFO0FBQ3pCLE1BQU0sT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDNUQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtBQUNyQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDdEYsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtBQUN6QyxNQUFNLFVBQVUsR0FBRyxPQUFPLFVBQVUsSUFBSSxVQUFVLEdBQUcsVUFBVSxHQUFHQSxXQUFTLENBQUM7QUFDNUUsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRUEsV0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNuRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFO0FBQzFCLE1BQU0sSUFBSSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEMsUUFBUSxPQUFPLEVBQUUsQ0FBQztBQUNsQixPQUFPO0FBQ1AsTUFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLEtBQUssRUFBRTtBQUNqRCxRQUFRLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDdEMsVUFBVSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbkQsVUFBVSxPQUFPLElBQUksQ0FBQztBQUN0QixTQUFTO0FBQ1QsT0FBTyxDQUFDLENBQUM7QUFDVCxNQUFNLE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLEtBQUssRUFBRTtBQUMvQyxRQUFRLE9BQU8sUUFBUSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNwRCxPQUFPLENBQUMsQ0FBQztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtBQUN4QyxNQUFNLElBQUksRUFBRSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO0FBQ3BDLFFBQVEsT0FBTyxFQUFFLENBQUM7QUFDbEIsT0FBTztBQUNQLE1BQU0sSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLE1BQU0sSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO0FBQzVCLFFBQVEsT0FBTyxNQUFNLENBQUM7QUFDdEIsT0FBTztBQUNQLE1BQU0sT0FBTyxRQUFRLENBQUMsTUFBTSxFQUFFLFNBQVMsS0FBSyxFQUFFO0FBQzlDLFFBQVEsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFQSxXQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakQsT0FBTyxDQUFDLENBQUM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsU0FBUyxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQ25ELE1BQU0sT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7QUFDckMsVUFBVSxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztBQUN2QyxVQUFVLEVBQUUsQ0FBQztBQUNiLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxTQUFTLE1BQU0sRUFBRTtBQUN4QyxNQUFNLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBQzdELEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxNQUFNLEVBQUU7QUFDMUMsTUFBTSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEMsTUFBTSxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFO0FBQ3ZDLFFBQVEsUUFBUSxHQUFHQSxXQUFTLENBQUM7QUFDN0IsT0FBTztBQUNQLE1BQU0sT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RixLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsU0FBUyxNQUFNLEVBQUU7QUFDNUMsTUFBTSxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEMsTUFBTSxVQUFVLEdBQUcsT0FBTyxVQUFVLElBQUksVUFBVSxHQUFHLFVBQVUsR0FBR0EsV0FBUyxDQUFDO0FBQzVFLE1BQU0sT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxFQUFFQSxXQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDcEYsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUN0QyxNQUFNLE9BQU8sYUFBYSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsTUFBTSxJQUFJLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUNuRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDMUMsTUFBTSxPQUFPLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLE1BQU0sSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDL0QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLFNBQVMsTUFBTSxFQUFFO0FBQzVDLE1BQU0sSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU07QUFDaEMsVUFBVSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHQSxXQUFTLENBQUM7QUFDakU7QUFDQSxNQUFNLFFBQVEsR0FBRyxPQUFPLFFBQVEsSUFBSSxVQUFVLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsSUFBSUEsV0FBUyxDQUFDO0FBQ3RGLE1BQU0sT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3pDLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFO0FBQzFCLE1BQU0sSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pDLE1BQU0sTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFDOUIsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO0FBQ3JDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtBQUN0QyxNQUFNLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxLQUFLLEVBQUU7QUFDN0MsTUFBTSxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTTtBQUMvQixVQUFVLEtBQUssR0FBRyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkMsVUFBVSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVc7QUFDbEMsVUFBVSxXQUFXLEdBQUcsU0FBUyxNQUFNLEVBQUUsRUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzNFO0FBQ0EsTUFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO0FBQy9DLFVBQVUsRUFBRSxLQUFLLFlBQVksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDOUQsUUFBUSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDdEMsT0FBTztBQUNQLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxJQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxNQUFNLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0FBQzdCLFFBQVEsTUFBTSxFQUFFLElBQUk7QUFDcEIsUUFBUSxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUM7QUFDN0IsUUFBUSxTQUFTLEVBQUVBLFdBQVM7QUFDNUIsT0FBTyxDQUFDLENBQUM7QUFDVCxNQUFNLE9BQU8sSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUU7QUFDM0UsUUFBUSxJQUFJLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7QUFDckMsVUFBVSxLQUFLLENBQUMsSUFBSSxDQUFDQSxXQUFTLENBQUMsQ0FBQztBQUNoQyxTQUFTO0FBQ1QsUUFBUSxPQUFPLEtBQUssQ0FBQztBQUNyQixPQUFPLENBQUMsQ0FBQztBQUNULEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsWUFBWSxHQUFHO0FBQzVCLE1BQU0sT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxhQUFhLEdBQUc7QUFDN0IsTUFBTSxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsV0FBVyxHQUFHO0FBQzNCLE1BQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLQSxXQUFTLEVBQUU7QUFDekMsUUFBUSxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUNoRCxPQUFPO0FBQ1AsTUFBTSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtBQUN6RCxVQUFVLEtBQUssR0FBRyxJQUFJLEdBQUdBLFdBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZFO0FBQ0EsTUFBTSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDOUMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLGlCQUFpQixHQUFHO0FBQ2pDLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFlBQVksQ0FBQyxLQUFLLEVBQUU7QUFDakMsTUFBTSxJQUFJLE1BQU07QUFDaEIsVUFBVSxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ3hCO0FBQ0EsTUFBTSxPQUFPLE1BQU0sWUFBWSxVQUFVLEVBQUU7QUFDM0MsUUFBUSxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDekMsUUFBUSxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztBQUM1QixRQUFRLEtBQUssQ0FBQyxVQUFVLEdBQUdBLFdBQVMsQ0FBQztBQUNyQyxRQUFRLElBQUksTUFBTSxFQUFFO0FBQ3BCLFVBQVUsUUFBUSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7QUFDdkMsU0FBUyxNQUFNO0FBQ2YsVUFBVSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLFNBQVM7QUFDVCxRQUFRLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztBQUM3QixRQUFRLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO0FBQ3BDLE9BQU87QUFDUCxNQUFNLFFBQVEsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0FBQ25DLE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxjQUFjLEdBQUc7QUFDOUIsTUFBTSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0FBQ25DLE1BQU0sSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFO0FBQ3hDLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBQzVCLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtBQUNyQyxVQUFVLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMxQyxTQUFTO0FBQ1QsUUFBUSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3BDLFFBQVEsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7QUFDakMsVUFBVSxNQUFNLEVBQUUsSUFBSTtBQUN0QixVQUFVLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUMzQixVQUFVLFNBQVMsRUFBRUEsV0FBUztBQUM5QixTQUFTLENBQUMsQ0FBQztBQUNYLFFBQVEsT0FBTyxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFELE9BQU87QUFDUCxNQUFNLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNoQyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFlBQVksR0FBRztBQUM1QixNQUFNLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDbEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQ2hFLE1BQU0sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRTtBQUM1QyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE9BQU8sTUFBTTtBQUNiLFFBQVEsZUFBZSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEMsT0FBTztBQUNQLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtBQUNqRCxNQUFNLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDO0FBQzlELE1BQU0sSUFBSSxLQUFLLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7QUFDakUsUUFBUSxTQUFTLEdBQUdBLFdBQVMsQ0FBQztBQUM5QixPQUFPO0FBQ1AsTUFBTSxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsTUFBTSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUU7QUFDM0MsTUFBTSxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxHQUFHLFVBQVUsQ0FBQztBQUNoRSxNQUFNLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLElBQUksR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFO0FBQzNDLE1BQU0sT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN2RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFO0FBQy9DLE1BQU0sT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUM5RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0FBQ3ZELE1BQU0sS0FBSyxHQUFHLEtBQUssS0FBS0EsV0FBUyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDekQsTUFBTSxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRTtBQUMzQyxNQUFNLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLEdBQUcsUUFBUSxDQUFDO0FBQzVELE1BQU0sT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFO0FBQ2hELE1BQU0sSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLGNBQWMsR0FBRyxhQUFhLENBQUM7QUFDdEUsTUFBTSxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksT0FBTyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDaEUsTUFBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFO0FBQzVDLFFBQVEsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxPQUFPLE1BQU07QUFDYixRQUFRLGVBQWUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5QyxPQUFPO0FBQ1AsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0FBQzNELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzdFLE1BQU0sU0FBUyxHQUFHLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkU7QUFDQSxNQUFNLElBQUksTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7QUFDckMsTUFBTSxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUU7QUFDekIsUUFBUSxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDckQsT0FBTztBQUNQLE1BQU0sT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDO0FBQ2pDLFdBQVcsU0FBUyxJQUFJLE1BQU0sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0UsV0FBVyxDQUFDLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7QUFDOUQsTUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDcEIsVUFBVSxNQUFNLEdBQUcsT0FBTyxJQUFJLElBQUksVUFBVTtBQUM1QyxVQUFVLE1BQU0sR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDM0U7QUFDQSxNQUFNLFFBQVEsQ0FBQyxVQUFVLEVBQUUsU0FBUyxLQUFLLEVBQUU7QUFDM0MsUUFBUSxNQUFNLENBQUMsRUFBRSxL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LFFBQVEsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzVDLE9BQU8sQ0FBQztBQUNSLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFO0FBQ3hCLE1BQU0sT0FBTyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUUsVUFBVSxFQUFFO0FBQ3ZELE1BQU0sVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRSxVQUFVLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDM0QsVUFBVSxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pFO0FBQ0EsTUFBTSxJQUFJLFdBQVcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0FBQzFDLE1BQU0sT0FBTyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUU7QUFDckMsUUFBUSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDdEIsWUFBWSxNQUFN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QyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbkMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7QUFDakMsTUFBTSxJQUFJLE9BQU8sSUFBSSxJQUFJLFVBQVUsRUFBRTtBQUNyQyxRQUFRLE1BQU0sSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDN0MsT0FBTztBQUNQLE1BQU0sS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakUsTUFBTSxPQUFPLFFBQVEsQ0FBQyxTQUFTLElBQUksRUFBRTtBQUNyQyxRQUFRLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDL0IsWUFBWSxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbEQ7QUFDQSxRQUFRLElBQUksS0FBSyxFQUFFO0FBQ25CLFVBQVUsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN0QyxTQUFTO0FBQ1QsUUFBUSxPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzVDLE9BQU8sQ0FBQyxDQUFDO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7QUFDMUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxVQUFVLElBQUksVUFBVSxHQUFHLFVBQVUsR0FBR0EsV0FBUyxDQUFDO0FBQzVFLE1BQU0sT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzlELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFO0FBQzlCLE1BQU0sT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3BFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO0FBQzlDLE1BQU0sVUFBVSxHQUFHLE9BQU8sVUFBVSxJQUFJLFVBQVUsR0FBRyxVQUFVLEdBQUdBLFdBQVMsQ0FBQztBQUM1RSxNQUFNLE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxlQUFlLEdBQUcsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDaEYsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFO0FBQ3hDLE1BQU0sT0FBTyxNQUFNLElBQUksSUFBSSxJQUFJLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDOUIsTUFBTSxPQUFPLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDckUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxFQUFFLEdBQUcseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQyxTQUFTLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDL0QsTUFBTSxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUM7QUFDNUIsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxXQUFXLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxPQUFPLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGVBQWUsR0FBRyxTQUFTLEtBQUssRUFBRTtBQUM5RyxNQUFNLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztBQUN4RSxRQUFRLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNwRCxLQUFLLENBQUM7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLGFBQWEsR0FBRyxpQkFBaUIsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsR0FBRyxpQkFBaUIsQ0FBQztBQUM3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxLQUFLLEVBQUU7QUFDaEMsTUFBTSxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUU7QUFDdEMsTUFBTSxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFO0FBQzlCLE1BQU0sT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLO0FBQzlDLFNBQVMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQztBQUM5RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFFBQVEsR0FBRyxjQUFjLElBQUksU0FBUyxDQUFDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxNQUFNLEdBQUcsVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENB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QkFBZ0IsQ0FBQztBQUNsRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFO0FBQzdCLE1BQU0sSUFBSSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7QUFDOUIsTUFBTSxPQUFPLEtBQUssSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksVUFBVSxDQUFDLENBQUM7QUFDdkUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFlBQVksQ0FBQyxLQUFLLEVBQUU7QUFDakMsTUFBTSxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxLQUFLLElBQUksUUFBUSxDQUFDO0FBQ3ZELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksS0FBSyxHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUU7QUFDckMsTUFBTSxPQUFPLE1BQU0sS0FBSyxNQUFNLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDcEYsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUU7QUFDckQsTUFBTSxVQUFVLEdBQUcsT0FBTyxVQUFVLElBQUksVUFBVSxHQUFHLFVBQVUsR0FBR0EsV0FBUyxDQUFDO0FBQzVFLE1BQU0sT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDM0UsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRTtBQUMxQjtBQUNBO0FBQ0E7QUFDQSxNQUFNLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQztBQUNoRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBTSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUM3QixRQUFRLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDekMsT0FBTztBQUNQLE1BQU0sT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxNQUFNLENBQUMsS0FBSyxFQUFFO0FBQzNCLE1BQU0sT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0FBQzVCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRTtBQUMxQixNQUFNLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQztBQUMzQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBTSxPQUFPLE9BQU8sS0FBSyxJQUFJLFFBQVE7QUFDckMsU0FBUyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDO0FBQ2hFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4QyxNQUFNLElBQUksUUFBUSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUMsTUFBTSxPQUFPLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQy9DLFVBQVUsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEQsV0FBVyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxhQUFhLENBQUMsS0FBSyxFQUFFO0FBQ2xDLE1BQU0sT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzlDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxhQUFhLENBQUMsS0FBSyxFQUFFO0FBQ2xDLE1BQU0sT0FBTyxLQUFLO0FBQ2xCLFVBQVUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0FBQzFFLFdBQVcsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDcEMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBTSxPQUFPLEtBQUssSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxNQUFNLEdBQUcsY0FBYyxDQUFDLFNBQVMsTUFBTSxFQUFFLE1BQU0sRUFBRTtBQUN6RCxNQUFNLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUN0RCxRQUFRLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pELFFBQVEsT0FBTztBQUNmLE9BQU87QUFDUCxNQUFNLEtBQUssSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO0FBQzlCLFFBQVEsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRTtBQUM5QyxVQUFVLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2hELFNBQVM7QUFDVCxPQUFPO0FBQ1AsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsU0FBUyxNQUFNLEVBQUUsTUFBTSxFQUFFO0FBQzNELE1BQU0sVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDakQsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksWUFBWSxHQUFHLGNBQWMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNyRixNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM3RCxLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksVUFBVSxHQUFHLGNBQWMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRixNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUMzRCxLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUU7QUFDM0MsTUFBTSxJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDekMsTUFBTSxPQUFPLFVBQVUsSUFBSSxJQUFJLEdBQUcsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDMUUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxNQUFNLEVBQUUsT0FBTyxFQUFFO0FBQ3RELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QjtBQUNBLE1BQU0sSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckIsTUFBTSxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0FBQ2xDLE1BQU0sSUFBSSxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUdBLFdBQVMsQ0FBQztBQUN0RDtBQUNBLE1BQU0sSUFBSSxLQUFLLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7QUFDbEUsUUFBUSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLE9BQU87QUFDUDtBQUNBLE1BQU0sT0FBTyxFQUFFLEtBQUssR0FBRyxNQUFNLEVBQUU7QUFDL0IsUUFBUSxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEMsUUFBUSxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbkMsUUFBUSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QixRQUFRLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDdkM7QUFDQSxRQUFRLE9BQU8sRUFBRSxVQUFVLEdBQUcsV0FBVyxFQUFFO0FBQzNDLFVBQVUsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RDLFVBQVUsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDO0FBQ0EsVUFBVSxJQUFJLEtBQUssS0FBS0EsV0FBUztBQUNqQyxlQUFlLEVBQUUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQ2xGLFlBQVksTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0QyxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFlBQVksR0FBRyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUU7QUFDL0MsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDQSxXQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUNoRCxNQUFNLE9BQU8sS0FBSyxDQUFDLFNBQVMsRUFBRUEsV0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFO0FBQ3hDLE1BQU0sT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDeEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtBQUM1QyxNQUFNLE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQzdFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0FBQzdDLE1BQU0sSUFBSSxNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksR0FBR0EsV0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEUsTUFBTSxPQUFPLE1BQU0sS0FBS0EsV0FBUyxHQUFHLFlBQVksR0FBRyxNQUFNLENBQUM7QUFDMUQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO0FBQy9CLE1BQU0sT0FBTyxNQUFNLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzlELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDakMsTUFBTSxPQUFPLE1BQU0sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDaEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE1BQU0sR0FBRyxjQUFjLENBQUMsU0FBUyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUM3RCxNQUFNLElBQUksS0FBSyxJQUFJLElBQUk7QUFDdkIsVUFBVSxPQUFPLEtBQUssQ0FBQyxRQUFRLElBQUksVUFBVSxFQUFFO0FBQy9DLFFBQVEsS0FBSyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqRCxPQUFPO0FBQ1A7QUFDQSxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDMUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLFNBQVMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDL0QsTUFBTSxJQUFJLEtBQUssSUFBSSxJQUFJO0FBQ3ZCLFVBQVUsT0FBTyxLQUFLLENBQUMsUUFBUSxJQUFJLFVBQVUsRUFBRTtBQUMvQyxRQUFRLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakQsT0FBTztBQUNQO0FBQ0EsTUFBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO0FBQzlDLFFBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoQyxPQUFPLE1BQU07QUFDYixRQUFRLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLE9BQU87QUFDUCxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBTSxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsTUFBTSxDQUFDLE1BQU0sRUFBRTtBQUM1QixNQUFNLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BGLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtBQUN2QyxNQUFNLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFDO0FBQ0EsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUU7QUFDdEQsUUFBUSxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3JFLE9BQU8sQ0FBQyxDQUFDO0FBQ1QsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtBQUN6QyxNQUFNLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFDO0FBQ0EsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUU7QUFDdEQsUUFBUSxlQUFlLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ25FLE9BQU8sQ0FBQyxDQUFDO0FBQ1QsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDLFNBQVMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7QUFDbEUsTUFBTSxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxQyxLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNsRixNQUFNLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN0RCxLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLFNBQVMsTUFBTSxFQUFFLEtBQUssRUFBRTtBQUNoRCxNQUFNLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUMxQixRQUFRLE9BQU8sTUFBTSxDQUFDO0FBQ3RCLE9BQU87QUFDUCxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztBQUN6QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLFNBQVMsSUFBSSxFQUFFO0FBQzdDLFFBQVEsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJ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LElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNwRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtBQUN0RCxNQUFNLFVBQVUsR0FBRyxPQUFPLFVBQVUsSUFBSSxVQUFVLEdBQUcsVUFBVSxHQUFHQSxXQUFTLENBQUM7QUFDNUUsTUFBTSxPQUFPLE1BQU0sSUFBSSxJQUFJLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNoRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxTQUFTLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtBQUN0RCxNQUFNLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDakMsVUFBVSxTQUFTLEdBQUcsS0FBSyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEU7QUFDQSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO0FBQy9CLFFBQVEsSUFBSSxJQUFJLEdBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUM7QUFDaEQsUUFBUSxJQUFJLFNBQVMsRUFBRTtBQUN2QixVQUFVLFdBQVcsR0FBRyxLQUFLLEdBQUcsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQzlDLFNBQVM7QUFDVCxhQUFhLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO0FBQ25DLFVBQVUsV0FBVyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ2pGLFNBQVM7QUFDVCxhQUFhO0FBQ2IsVUFBVSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQzNCLFNBQVM7QUFDVCxPQUFPO0FBQ1AsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLEdBQUcsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQ2xGLFFBQVEsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0QsT0FBTyxDQUFDLENBQUM7QUFDVCxNQUFNLE9BQU8sV0FBVyxDQUFDO0FBQ3pCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtBQUNqQyxNQUFNLE9BQU8sTUFBTSxJQUFJLElBQUksR0FBRyxJQUFJLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0FBQzNDLE1BQU0sT0FBTyxNQUFNLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN2RixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtBQUMzRCxNQUFNLFVBQVUsR0FBRyxPQUFPLFVBQVUsSUFBSSxVQUFVLEdBQUcsVUFBVSxHQUFHQSxXQUFTLENBQUM7QUFDNUUsTUFBTSxPQUFPLE1BQU0sSUFBSSxJQUFJLEdBQUcsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNuRyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUU7QUFDNUIsTUFBTSxPQUFPLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDcEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxNQUFNLEVBQUU7QUFDOUIsTUFBTSxPQUFPLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDdEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtBQUN6QyxNQUFNLElBQUksS0FBSyxLQUFLQSxXQUFTLEVBQUU7QUFDL0IsUUFBUSxLQUFLLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLFFBQVEsS0FBSyxHQUFHQSxXQUFTLENBQUM7QUFDMUIsT0FBTztBQUNQLE1BQU0sSUFBSSxLQUFLLEtBQUtBLFdBQVMsRUFBRTtBQUMv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U0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0Q7QUFDQSxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEMsTUFBTSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDO0FBQ3hFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLE1BQU0sSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0FBQzdDO0FBQ0EsTUFBTSxJQUFJLEtBQUssSUFBSSxjQUFjLENBQUMsTUFB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QUNULE9BQU8sQ0FBQyxDQUFDO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxNQUFNLEVBQUU7QUFDOUIsTUFBTSxPQUFPLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDOUQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRTtBQUM3QixNQUFNLE9BQU8sV0FBVztBQUN4QixRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JCLE9BQU8sQ0FBQztBQUNSLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUU7QUFDNUMsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7QUFDdkUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksSUFBSSxHQUFHLFVBQVUsRUFBRSxDQUFDO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFO0FBQzdCLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxJQUFJLEVBQUU7QUFDNUIsTUFBTSxPQUFPLFlBQVksQ0FBQyxPQUFPLElBQUksSUFBSSxVQUFVLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztBQUMvRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDN0IsTUFBTSxPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDN0QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLGVBQWUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO0FBQzdDLE1BQU0sT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQzdFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxFQUFFLElBQUksRUFBRTtBQUMvQyxNQUFNLE9BQU8sU0FBUyxNQUFNLEVBQUU7QUFDOUIsUUFBUSxPQUFPLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlDLE9BQU8sQ0FBQztBQUNSLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxNQUFNLEVBQUUsSUFBSSxFQUFFO0FBQ25ELE1BQU0sT0FBTyxTQUFTLElBQUksRUFBRTtBQUM1QixRQUFRLE9BQU8sVUFBVSxDQUFDLE1B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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxLQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLEdBQUc7QUFDekIsTUFBTSxPQUFPLEVBQUUsQ0FBQztBQUNoQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLEdBQUc7QUFDekIsTUFBTSxPQUFPLEtBQUssQ0FBQztBQUNuQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsVUFBVSxHQUFHO0FBQzFCLE1BQU0sT0FBTyxFQUFFLENBQUM7QUFDaEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsVUFBVSxHQUFHO0FBQzFCLE1BQU0sT0FBTyxFQUFFLENBQUM7QUFDaEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxHQUFHO0FBQ3hCLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUU7QUFDaEMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsRUFBRTtBQUN6QyxRQUFRLE9BQU8sRUFBRSxDQUFDO0FBQ2xCLE9BQU87QUFDUCxNQUFNLElBQUksS0FBSyxHQUFHLGdCQUFnQjtBQUNsQyxVQUFVLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFDbEQ7QUFDQSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkMsTUFBTSxDQUFDLElBQUksZ0JBQWdCLENBQUM7QUFDNUI7QUFDQSxNQUFNLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDL0MsTUFBTSxPQUFPLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRTtBQUMxQixRQUFRLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixPQUFPO0FBQ1AsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxLQUFLLEVBQUU7QUFDM0IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUMxQixRQUFRLE9BQU8sUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN0QyxPQUFPO0FBQ1AsTUFBTSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxNQUFNLEVBQUU7QUFDOUIsTUFBTSxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQztBQUMzQixNQUFNLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNuQyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLEdBQUcsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUU7QUFDM0QsTUFBTSxPQUFPLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDN0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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LENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsYUFBYTtBQUNiLFNBQVM7QUFDVCxRQUFRO0FBQ1IsWUFBWSxJQUFJLEVBQUUsWUFBWTtBQUM5QixZQUFZLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0csU0FBUztBQUNULFFBQVE7QUFDUixZQUFZLElBQUksRUFBRSxhQUFhO0FBQy9CLFlBQVksR0FBRyxFQUFFO0FBQ2pCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0FBQ3hCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2Qixn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QUFDckMsUUFBUSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3pDLFFBQVEsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO0FBQy9CLFlBQVksT0FBTyxTQUFTLENBQUM7QUFDN0IsU0FBUztBQUNULFFBQVEsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzFDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLGNBQWMsQ0FBQyxLQUFLLEVBQUU7QUFDMUIsUUFBUSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLE9BQU8sR0FBRztBQUNkLFFBQVEsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNyRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7QUFDNUMsUUFBUSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDcEMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEUsUUFBUSxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRTtBQUNwQyxRQUFRLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdB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Q2hCLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztBQUNwQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7QUFDcEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztBQUNwQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDcEIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3RCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO0FBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7QUFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQztBQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUM7QUFDM0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDO0FBQzNCLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQztBQUMzQixDQUFDLENBQUM7QUFDRjtBQUNBLElBQUksT0FBTyxHQUFHLFFBQVEs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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9pY29ucy50cyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3BvaW50LmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvcmFuZ2UuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9mb2N1cy5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2FsaWdubWVudC5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3RhYmxlLWNlbGwuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi90YWJsZS1yb3cuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9uZXZlcnRocm93L25ldmVydGhyb3cuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL2FzdF91dGlscy5qcyIsIm5vZGVfbW9kdWxlcy9sb2Rhc2gvbG9kYXNoLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9yZXN1bHRzLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9hbGdlYnJhaWNfb3BlcmF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9jb25kaXRpb25hbF9mdW5jdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2NhbGMvY29uc3RhbnQuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL2NvbHVtbi5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2NhbGMvcm93LmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9yZWZlcmVuY2UuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL3JhbmdlLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvY2FsYy9kZXN0aW5hdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2NhbGMvZGlzcGxheV9kaXJlY3RpdmUuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL3NpbmdsZV9wYXJhbV9mdW5jdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvVG9rZW5FcnJvci5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvUGFyc2VyLmpzIiwibm9kZV9tb2R1bGVzL2VibmYvZGlzdC9TZW1hbnRpY0hlbHBlcnMuanMiLCJub2RlX21vZHVsZXMvZWJuZi9kaXN0L0dyYW1tYXJzL0JORi5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvR3JhbW1hcnMvVzNDRUJORi5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvR3JhbW1hcnMvQ3VzdG9tLmpzIiwibm9kZV9tb2R1bGVzL2VibmYvZGlzdC9HcmFtbWFycy9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9lYm5mL2Rpc3QvaW5kZXguanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9jYWxjL2NhbGMuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi90YWJsZS5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3BhcnNlci5qcyIsIm5vZGVfbW9kdWxlcy9tZWF3L2xpYi9pbmRleC5tanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9mb3JtYXR0ZXIuanMiLCJub2RlX21vZHVsZXMvQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzL2xpYi9lZGl0LXNjcmlwdC5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3RleHQtZWRpdG9yLmpzIiwibm9kZV9tb2R1bGVzL0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcy9saWIvb3B0aW9ucy5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL3RhYmxlLWVkaXRvci5qcyIsIm5vZGVfbW9kdWxlcy9AdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMvbGliL2luZGV4LmpzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL29ic2lkaWFuLXRleHQtZWRpdG9yLnRzIiwic3JjL3RhYmxlLWVkaXRvci50cyIsInNyYy90YWJsZS1jb250cm9scy12aWV3LnRzIiwic3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwgcCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fY3JlYXRlQmluZGluZyA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfSk7XHJcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgbykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxudmFyIF9fc2V0TW9kdWxlRGVmYXVsdCA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgdikge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xyXG59KSA6IGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIG9bXCJkZWZhdWx0XCJdID0gdjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xyXG4gICAgX19zZXRNb2R1bGVEZWZhdWx0KHJlc3VsdCwgbW9kKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgcHJpdmF0ZU1hcCkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YXRlTWFwLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHByaXZhdGVNYXAuc2V0KHJlY2VpdmVyLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbn1cclxuIiwiaW1wb3J0IHsgYWRkSWNvbiB9IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGNvbnN0IGljb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBzcHJlYWRzaGVldDogYFxuPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCA0ODIuODEgNDgyLjgxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIm00NTcuNTggMjUuNDY0LTQzMi44MyAwLjQyMTUxYy0xMy42NTggMC4wMTMzMTQtMjQuNzU4IDExLjExNS0yNC43NTcgMjQuNzU3bDAuMDMxMDI0IDM0Ny40NWM3LjQ4MzNlLTQgOC4zODA4IDQuMjExIDE1Ljc3MiAxMC42MDggMjAuMjU5IDMuNDUzMyAyLjQ0OTkgNS4wNzE2IDMuMjkwMSA4Ljg3OSAzLjkwMjIgMS43MDMzIDAuMzczMzMgMy40NTYxIDAuNTk0NzEgNS4yNjkyIDAuNTkyOTRsNDMyLjg0LTAuNDIxNTFjMS44MDktMWUtMyAzLjU2MTgtMC4yMTgyMyA1LjI1NjgtMC41OTI5NGgxLjIxNzR2LTAuMzcxOTZjMTAuNTA1LTIuODcyNyAxOC4yNzktMTIuMzk3IDE4LjI3OC0yMy43ODhsLTAuMDMxLTM0Ny40M2MxZS0zIC0xMy42NDktMTEuMTA3LTI0Ljc2My0yNC43NjgtMjQuNzYzem0zLjU0NTMgMjQuNzYzdjcxLjM0NGgtMTYzLjMxdi03NC44ODZoMTU5Ljc2YzEuOTY0MSAwLjAwMTQgMy41NDY3IDEuNTkyMiAzLjU0NjcgMy41NDI1em0tMS42NzM3IDM1MC4zN2gtMTYxLjZ2LTY3LjIwN2gxNjMuMzF2NjQuMjY4YzFlLTMgMS4yNTcyLTAuNzA1NDkgMi4zMjEtMS43MDMzIDIuOTM4NnptLTQzOC4yMS0yLjUxNzF2LTY0LjI2OGg3Ni42NDZ2NjcuMjA3aC03NC45NDJjLTAuOTk3ODQtMC42MTc2NS0xLjcwMzMtMS42ODE0LTEuNzAzMy0yLjkzODZ6bTI1NS4yOC0xNTUuMTh2NjkuNjg4aC0xNTcuNDJ2LTY5LjY4OHptMCA5MC45MTN2NjcuMjA3aC0xNTcuNDJ2LTY3LjIwN3ptLTAuMDMxLTIxMS44M2gtMTU3LjQydi03NC44ODZoMTU3LjQyem0wIDIxLjIyNnY3Ny44MjZoLTE1Ny40MnYtNzcuODI2em0tMTc4LjY0IDc3LjgyNmgtNzYuNjQ2di03Ny44MjZoNzYuNjQ2em0wLjAzMTAyIDIxLjg2MnY2OS42ODhoLTc2LjY0NnYtNjkuNjg4em0xOTkuOTUgNjkuMjY4di02OS42OTdoMTYzLjMxdjY5LjY5N3ptLTAuMDMxLTkxLjU1MnYtNzcuODI2aDE2My4zMXY3Ny44MjZ6XCIgc3Ryb2tlLXdpZHRoPVwiMS4zNzI1XCIvPlxuPC9zdmc+YCxcbiAgYWxpZ25MZWZ0OiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgNTEyIDUxMlwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxnIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSAwIDAgMSA1MTIgMClcIj5cbiAgICA8cGF0aCBkPVwibTUwMS4zMyAxNzAuNjdoLTMyMGMtNS44OTYgMC0xMC42NjcgNC43NzEtMTAuNjY3IDEwLjY2N3YyMS4zMzNjMCA1Ljg5NiA0Ljc3MSAxMC42NjcgMTAuNjY3IDEwLjY2N2gzMjBjNS44OTYgMCAxMC42NjctNC43NzEgMTAuNjY3LTEwLjY2N3YtMjEuMzMzYzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42Njd6XCIvPlxuICAgIDxwYXRoIGQ9XCJtNTAxLjMzIDI5OC42N2gtNDkwLjY3Yy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY2djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDQ5MC42N2M1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjLTFlLTMgLTUuODk1LTQuNzcyLTEwLjY2Ni0xMC42NjgtMTAuNjY2elwiLz5cbiAgICA8cGF0aCBkPVwibTUwMS4zMyA0MjYuNjdoLTMyMGMtNS44OTYgMC0xMC42NjcgNC43NzEtMTAuNjY3IDEwLjY2N3YyMS4zMzNjMCA1Ljg5NiA0Ljc3MSAxMC42NjcgMTAuNjY3IDEwLjY2N2gzMjBjNS44OTYgMCAxMC42NjctNC43NzEgMTAuNjY3LTEwLjY2N3YtMjEuMzMzYzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42Njd6XCIvPlxuICAgIDxwYXRoIGQ9XCJtNTAxLjMzIDQyLjY2N2gtNDkwLjY3Yy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY2djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDQ5MC42N2M1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjLTFlLTMgLTUuODk1LTQuNzcyLTEwLjY2Ni0xMC42NjgtMTAuNjY2elwiLz5cbiAgPC9nPlxuPC9zdmc+YCxcbiAgYWxpZ25DZW50ZXI6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIGVuYWJsZS1iYWNrZ3JvdW5kPVwibmV3IDAgMCA1MTIgNTEyXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPGcgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDUxMiAwKVwiPlxuICAgIDxwYXRoIGQ9XCJtNDE2IDE3MC42N2gtMzIwYy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY3djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDMyMGM1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N3pcIi8+XG4gICAgPHBhdGggZD1cIm01MDEuMzMgMjk4LjY3aC00OTAuNjdjLTUuODk2IDAtMTAuNjY3IDQuNzcxLTEwLjY2NyAxMC42NjZ2MjEuMzMzYzAgNS44OTYgNC43NzEgMTAuNjY3IDEwLjY2NyAxMC42NjdoNDkwLjY3YzUuODk2IDAgMTAuNjY3LTQuNzcxIDEwLjY2Ny0xMC42Njd2LTIxLjMzM2MtMWUtMyAtNS44OTUtNC43NzItMTAuNjY2LTEwLjY2OC0xMC42NjZ6XCIvPlxuICAgIDxwYXRoIGQ9XCJtNDE2IDQyNi42N2gtMzIwYy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY3djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDMyMGM1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N3pcIi8+XG4gICAgPHBhdGggZD1cIm01MDEuMzMgNDIuNjY3aC00OTAuNjdjLTUuODk2IDAtMTAuNjY3IDQuNzcxLTEwLjY2NyAxMC42NjZ2MjEuMzMzYzAgNS44OTYgNC43NzEgMTAuNjY3IDEwLjY2NyAxMC42NjdoNDkwLjY3YzUuODk2IDAgMTAuNjY3LTQuNzcxIDEwLjY2Ny0xMC42Njd2LTIxLjMzM2MtMWUtMyAtNS44OTUtNC43NzItMTAuNjY2LTEwLjY2OC0xMC42NjZ6XCIvPlxuICA8L2c+XG48L3N2Zz5gLFxuICBhbGlnblJpZ2h0OiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgNTEyIDUxMlwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtNTAxLjMzIDE3MC42N2gtMzIwYy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY3djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDMyMGM1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N3pcIi8+XG4gIDxwYXRoIGQ9XCJtNTAxLjMzIDI5OC42N2gtNDkwLjY3Yy01Ljg5NiAwLTEwLjY2NyA0Ljc3MS0xMC42NjcgMTAuNjY2djIxLjMzM2MwIDUuODk2IDQuNzcxIDEwLjY2NyAxMC42NjcgMTAuNjY3aDQ5MC42N2M1Ljg5NiAwIDEwLjY2Ny00Ljc3MSAxMC42NjctMTAuNjY3di0yMS4zMzNjLTFlLTMgLTUuODk1LTQuNzcyLTEwLjY2Ni0xMC42NjgtMTAuNjY2elwiLz5cbiAgPHBhdGggZD1cIm01MDEuMzMgNDI2LjY3aC0zMjBjLTUuODk2IDAtMTAuNjY3IDQuNzcxLTEwLjY2NyAxMC42Njd2MjEuMzMzYzAgNS44OTYgNC43NzEgMTAuNjY3IDEwLjY2NyAxMC42NjdoMzIwYzUuODk2IDAgMTAuNjY3LTQuNzcxIDEwLjY2Ny0xMC42Njd2LTIxLjMzM2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3elwiLz5cbiAgPHBhdGggZD1cIm01MDEuMzMgNDIuNjY3aC00OTAuNjdjLTUuODk2IDAtMTAuNjY3IDQuNzcxLTEwLjY2NyAxMC42NjZ2MjEuMzMzYzAgNS44OTYgNC43NzEgMTAuNjY3IDEwLjY2NyAxMC42NjdoNDkwLjY3YzUuODk2IDAgMTAuNjY3LTQuNzcxIDEwLjY2Ny0xMC42Njd2LTIxLjMzM2MtMWUtMyAtNS44OTUtNC43NzItMTAuNjY2LTEwLjY2OC0xMC42NjZ6XCIvPlxuPC9zdmc+YCxcbiAgZGVsZXRlQ29sdW1uOiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgMjYgMjZcIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCAyNiAyNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0xMy41OTQgMjAuODV2My4xNWgtMTB2LTIyaDEwdjMuMTVjMC42MzMtMC4zMjMgMS4zMDQtMC41NjUgMi0wLjcyN3YtMy40MjNjMC0wLjU1MS0wLjQ0OC0xLTEtMWgtMTJjLTAuNTUgMC0xIDAuNDQ5LTEgMXYyNGMwIDAuNTUxIDAuNDQ5IDEgMSAxaDEyYzAuNTUyIDAgMS0wLjQ0OSAxLTF2LTMuNDI0Yy0wLjY5Ni0wLjE2MS0xLjM2Ny0wLjQwMy0yLTAuNzI2elwiLz5cbiAgPHBhdGggZD1cIm0xNy41OTQgNi4xODhjLTMuNzYyIDAtNi44MTMgMy4wNTEtNi44MTIgNi44MTMtMWUtMyAzLjc2MSAzLjA1IDYuODEyIDYuODEyIDYuODEyczYuODEzLTMuMDUxIDYuODEzLTYuODEzLTMuMDUyLTYuODEyLTYuODEzLTYuODEyem0zLjYzMiA3LjgwMi03LjI2NyAxZS0zdi0xLjk4Mmg3LjI2OGwtMWUtMyAxLjk4MXpcIi8+XG48L3N2Zz5gLFxuICBkZWxldGVSb3c6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIGVuYWJsZS1iYWNrZ3JvdW5kPVwibmV3IDAgMCAxNS4zODEgMTUuMzgxXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgMTUuMzgxIDE1LjM4MVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIk0wLDEuNzMydjcuNzMyaDYuMDUzYzAtMC4wMzUtMC4wMDQtMC4wNy0wLjAwNC0wLjEwNGMwLTAuNDM0LDAuMDYxLTAuODU0LDAuMTY1LTEuMjU1SDEuMzZWMy4wOTIgICAgaDEyLjY2MnYyLjE5MmMwLjU0NiwwLjM5NiwxLjAxLDAuODk3LDEuMzU5LDEuNDc3VjEuNzMySDB6XCIvPlxuICA8cGF0aCBkPVwibTExLjE5NiA1LjI4Yy0yLjMwNyAwLTQuMTgzIDEuODc3LTQuMTgzIDQuMTg0IDAgMi4zMDggMS44NzYgNC4xODUgNC4xODMgNC4xODUgMi4zMDkgMCA0LjE4NS0xLjg3NyA0LjE4NS00LjE4NSAwLTIuMzA3LTEuODc2LTQuMTg0LTQuMTg1LTQuMTg0em0wIDcuMjMzYy0xLjY3OSAwLTMuMDQ3LTEuMzY3LTMuMDQ3LTMuMDQ5IDAtMS42OCAxLjM2OC0zLjA0OSAzLjA0Ny0zLjA0OSAxLjY4NCAwIDMuMDUgMS4zNjkgMy4wNSAzLjA0OSAwIDEuNjgyLTEuMzY2IDMuMDQ5LTMuMDUgMy4wNDl6XCIvPlxuICA8cmVjdCB4PVwiOS4zMTJcIiB5PVwiOC43NTlcIiB3aWR0aD1cIjMuODQ0XCIgaGVpZ2h0PVwiMS4xMDRcIi8+XG48L3N2Zz5gLFxuICBpbnNlcnRDb2x1bW46IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiLTIxIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0yODggMTA2LjY3Yy0zLjkyNTggMC03Ljg1MTYtMS40Mjk3LTEwLjkyMi00LjMxMjVsLTgwLTc0LjY2NGMtNC44MDA4LTQuNDgwNS02LjM3ODktMTEuNDU3LTMuOTY4OC0xNy41NTkgMi40MTAyLTYuMTAxNiA4LjMyMDMtMTAuMTMzIDE0Ljg5MS0xMC4xMzNoMTYwYzYuNTcwMyAwIDEyLjQ4IDQuMDExNyAxNC44OTEgMTAuMTMzIDIuNDEwMiA2LjEyNSAwLjgzMjAzIDEzLjA3OC0zLjk2ODggMTcuNTU5bC04MCA3NC42NjRjLTMuMDcwMyAyLjg4MjgtNi45OTYxIDQuMzEyNS0xMC45MjIgNC4zMTI1em0tMzkuNDAyLTc0LjY2OCAzOS40MDIgMzYuNzc3IDM5LjQwMi0zNi43Nzd6XCIvPlxuICA8cGF0aCBkPVwibTQzMiA1MTJoLTUzLjMzMmMtMjAuNTkgMC0zNy4zMzYtMTYuNzQ2LTM3LjMzNi0zNy4zMzJ2LTMzMC42N2MwLTIwLjU4NiAxNi43NDYtMzcuMzMyIDM3LjMzNi0zNy4zMzJoNTMuMzMyYzIwLjU4NiAwIDM3LjMzMiAxNi43NDYgMzcuMzMyIDM3LjMzMnYzMzAuNjdjMCAyMC41ODYtMTYuNzQ2IDM3LjMzMi0zNy4zMzIgMzcuMzMyem0tNTMuMzMyLTM3My4zM2MtMi45NDUzIDAtNS4zMzU5IDIuMzg2Ny01LjMzNTkgNS4zMzJ2MzMwLjY3YzAgMi45NDE0IDIuMzkwNiA1LjMzMiA1LjMzNTkgNS4zMzJoNTMuMzMyYzIuOTQ1MyAwIDUuMzMyLTIuMzkwNiA1LjMzMi01LjMzMnYtMzMwLjY3YzAtMi45NDUzLTIuMzg2Ny01LjMzMi01LjMzMi01LjMzMnpcIi8+XG4gIDxwYXRoIGQ9XCJtMTk3LjMzIDUxMmgtMTYwYy0yMC41ODYgMC0zNy4zMzItMTYuNzQ2LTM3LjMzMi0zNy4zMzJ2LTMzMC42N2MwLTIwLjU4NiAxNi43NDYtMzcuMzMyIDM3LjMzMi0zNy4zMzJoMTYwYzIwLjU5IDAgMzcuMzM2IDE2Ljc0NiAzNy4zMzYgMzcuMzMydjMzMC42N2MwIDIwLjU4Ni0xNi43NDYgMzcuMzMyLTM3LjMzNiAzNy4zMzJ6bS0xNjAtMzczLjMzYy0yLjk0MTQgMC01LjMzMiAyLjM4NjctNS4zMzIgNS4zMzJ2MzMwLjY3YzAgMi45NDE0IDIuMzkwNiA1LjMzMiA1LjMzMiA1LjMzMmgxNjBjMi45NDUzIDAgNS4zMzU5LTIuMzkwNiA1LjMzNTktNS4zMzJ2LTMzMC42N2MwLTIuOTQ1My0yLjM5MDYtNS4zMzItNS4zMzU5LTUuMzMyelwiLz5cbiAgPHBhdGggZD1cIm00NTMuMzMgMzI1LjMzaC05NmMtOC44MzIgMC0xNi03LjE2OC0xNi0xNnM3LjE2OC0xNiAxNi0xNmg5NmM4LjgzMiAwIDE2IDcuMTY4IDE2IDE2cy03LjE2OCAxNi0xNiAxNnpcIi8+XG4gIDxwYXRoIGQ9XCJtMjE4LjY3IDMyNS4zM2gtMjAyLjY3Yy04LjgzMiAwLTE2LTcuMTY4LTE2LTE2czcuMTY4LTE2IDE2LTE2aDIwMi42N2M4LjgzMiAwIDE2IDcuMTY4IDE2IDE2cy03LjE2OCAxNi0xNiAxNnpcIi8+XG4gIDxwYXRoIGQ9XCJtMTE3LjMzIDUxMmMtOC44MzIgMC0xNi03LjE2OC0xNi0xNnYtMzczLjMzYzAtOC44MzIgNy4xNjgtMTYgMTYtMTZzMTYgNy4xNjggMTYgMTZ2MzczLjMzYzAgOC44MzItNy4xNjggMTYtMTYgMTZ6XCIvPlxuPC9zdmc+YCxcbiAgaW5zZXJ0Um93OiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgLTIxIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtMTYgMjc3LjMzYy0xLjk4NDQgMC0zLjk2ODgtMC4zNjMyOC01Ljg2NzItMS4xMDk0LTYuMTIxMS0yLjQxMDItMTAuMTMzLTguMzIwMy0xMC4xMzMtMTQuODkxdi0xNjBjMC02LjU3MDMgNC4wMTE3LTEyLjQ4IDEwLjEzMy0xNC44OTEgNi4xNDQ1LTIuNDEwMiAxMy4wNzgtMC44NTE1NiAxNy41NTkgMy45Njg4bDc0LjY2NCA4MGM1Ljc2MTcgNi4xNDQ1IDUuNzYxNyAxNS42OCAwIDIxLjgyNGwtNzQuNjY0IDgwYy0zLjA5MzggMy4zMjgxLTcuMzM5OCA1LjA5NzctMTEuNjkxIDUuMDk3N3ptMTYtMTM1LjR2NzguODA1bDM2Ljc3Ny0zOS40MDJ6XCIvPlxuICA8cGF0aCBkPVwibTQ3NC42NyAxMjhoLTMzMC42N2MtMjAuNTg2IDAtMzcuMzMyLTE2Ljc0Ni0zNy4zMzItMzcuMzMydi01My4zMzZjMC0yMC41ODYgMTYuNzQ2LTM3LjMzMiAzNy4zMzItMzcuMzMyaDMzMC42N2MyMC41ODYgMCAzNy4zMzIgMTYuNzQ2IDM3LjMzMiAzNy4zMzJ2NTMuMzM2YzAgMjAuNTg2LTE2Ljc0NiAzNy4zMzItMzcuMzMyIDM3LjMzMnptLTMzMC42Ny05NmMtMi45NDUzIDAtNS4zMzIgMi4zOTA2LTUuMzMyIDUuMzMydjUzLjMzNmMwIDIuOTQxNCAyLjM4NjcgNS4zMzIgNS4zMzIgNS4zMzJoMzMwLjY3YzIuOTQxNCAwIDUuMzMyLTIuMzkwNiA1LjMzMi01LjMzMnYtNTMuMzM2YzAtMi45NDE0LTIuMzkwNi01LjMzMi01LjMzMi01LjMzMnpcIi8+XG4gIDxwYXRoIGQ9XCJtNDc0LjY3IDQ2OS4zM2gtMzMwLjY3Yy0yMC41ODYgMC0zNy4zMzItMTYuNzQ2LTM3LjMzMi0zNy4zMzJ2LTE2MGMwLTIwLjU4NiAxNi43NDYtMzcuMzMyIDM3LjMzMi0zNy4zMzJoMzMwLjY3YzIwLjU4NiAwIDM3LjMzMiAxNi43NDYgMzcuMzMyIDM3LjMzMnYxNjBjMCAyMC41ODYtMTYuNzQ2IDM3LjMzMi0zNy4zMzIgMzcuMzMyem0tMzMwLjY3LTIwMi42NmMtMi45NDUzIDAtNS4zMzIgMi4zODY3LTUuMzMyIDUuMzMydjE2MGMwIDIuOTQ1MyAyLjM4NjcgNS4zMzIgNS4zMzIgNS4zMzJoMzMwLjY3YzIuOTQxNCAwIDUuMzMyLTIuMzg2NyA1LjMzMi01LjMzMnYtMTYwYzAtMi45NDUzLTIuMzkwNi01LjMzMi01LjMzMi01LjMzMnpcIi8+XG4gIDxwYXRoIGQ9XCJtMzA5LjMzIDEyOGMtOC44MzIgMC0xNi03LjE2OC0xNi0xNnYtOTZjMC04LjgzMiA3LjE2OC0xNiAxNi0xNnMxNiA3LjE2OCAxNiAxNnY5NmMwIDguODMyLTcuMTY4IDE2LTE2IDE2elwiLz5cbiAgPHBhdGggZD1cIm0zMDkuMzMgNDY5LjMzYy04LjgzMiAwLTE2LTcuMTY4LTE2LTE2di0yMDIuNjZjMC04LjgzMiA3LjE2OC0xNiAxNi0xNnMxNiA3LjE2OCAxNiAxNnYyMDIuNjZjMCA4LjgzMi03LjE2OCAxNi0xNiAxNnpcIi8+XG4gIDxwYXRoIGQ9XCJtNDk2IDM2OGgtMzczLjMzYy04LjgzMiAwLTE2LTcuMTY4LTE2LTE2czcuMTY4LTE2IDE2LTE2aDM3My4zM2M4LjgzMiAwIDE2IDcuMTY4IDE2IDE2cy03LjE2OCAxNi0xNiAxNnpcIi8+XG48L3N2Zz5gLFxuICBtb3ZlQ29sdW1uTGVmdDogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyLjAyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0zNTcuMzUgNTEyLjAxaDk2YzMyLjM2MyAwIDU4LjY2OC0yNi4zMDUgNTguNjY4LTU4LjY2OHYtMzk0LjY2YzAtMzIuMzYzLTI2LjMwNS01OC42NjgtNTguNjY4LTU4LjY2OGgtOTZjLTMyLjM2MyAwLTU4LjY2NCAyNi4zMDUtNTguNjY0IDU4LjY2OHYzOTQuNjZjMCAzMi4zNjMgMjYuMzAxIDU4LjY2OCA1OC42NjQgNTguNjY4em05Ni00ODBjMTQuNjk5IDAgMjYuNjY4IDExLjk2OSAyNi42NjggMjYuNjY4djM5NC42NmMwIDE0LjY5OS0xMS45NjkgMjYuNjY4LTI2LjY2OCAyNi42NjhoLTk2Yy0xNC42OTkgMC0yNi42NjQtMTEuOTY5LTI2LjY2NC0yNi42Njh2LTM5NC42NmMwLTE0LjY5OSAxMS45NjUtMjYuNjY4IDI2LjY2NC0yNi42Njh6XCIvPlxuICA8cGF0aCBkPVwibTE2LjAxNiAyNzIuMDFoMjI0YzguODMyIDAgMTYtNy4xNjggMTYtMTZzLTcuMTY4LTE2LTE2LTE2aC0yMjRjLTguODMyIDAtMTYgNy4xNjgtMTYgMTZzNy4xNjggMTYgMTYgMTZ6XCIvPlxuICA8cGF0aCBkPVwibTEwMS4zNSAzNTcuMzRjNC4wOTc2IDAgOC4xOTE0LTEuNTU0NyAxMS4zMDktNC42OTE0IDYuMjUtNi4yNSA2LjI1LTE2LjM4MyAwLTIyLjYzN2wtNzQuMDI3LTc0LjAyMyA3NC4wMjctNzQuMDI3YzYuMjUtNi4yNSA2LjI1LTE2LjM4NyAwLTIyLjYzN3MtMTYuMzgzLTYuMjUtMjIuNjM3IDBsLTg1LjMzMiA4NS4zMzZjLTYuMjUgNi4yNS02LjI1IDE2LjM4MyAwIDIyLjYzM2w4NS4zMzIgODUuMzMyYzMuMTM2NyAzLjE2MDIgNy4yMzQ0IDQuNzE0OCAxMS4zMjggNC43MTQ4elwiLz5cbjwvc3ZnPmAsXG4gIG1vdmVDb2x1bW5SaWdodDogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyLjAyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0xNTQuNjcgNTEyLjAxaC05NmMtMzIuMzYzIDAtNTguNjY4LTI2LjMwNS01OC42NjgtNTguNjY4di0zOTQuNjZjMC0zMi4zNjMgMjYuMzA1LTU4LjY2OCA1OC42NjgtNTguNjY4aDk2YzMyLjM2MyAwIDU4LjY2NCAyNi4zMDUgNTguNjY0IDU4LjY2OHYzOTQuNjZjMCAzMi4zNjMtMjYuMzAxIDU4LjY2OC01OC42NjQgNTguNjY4em0tOTYtNDgwYy0xNC42OTkgMC0yNi42NjggMTEuOTY5LTI2LjY2OCAyNi42Njh2Mzk0LjY2YzAgMTQuNjk5IDExLjk2OSAyNi42NjggMjYuNjY4IDI2LjY2OGg5NmMxNC42OTkgMCAyNi42NjQtMTEuOTY5IDI2LjY2NC0yNi42Njh2LTM5NC42NmMwLTE0LjY5OS0xMS45NjUtMjYuNjY4LTI2LjY2NC0yNi42Njh6XCIvPlxuICA8cGF0aCBkPVwibTQ5NiAyNzIuMDFoLTIyNGMtOC44MzIgMC0xNi03LjE2OC0xNi0xNiAwLTguODMyIDcuMTY4LTE2IDE2LTE2aDIyNGM4LjgzMiAwIDE2IDcuMTY4IDE2IDE2IDAgOC44MzItNy4xNjggMTYtMTYgMTZ6XCIvPlxuICA8cGF0aCBkPVwibTQxMC42NyAzNTcuMzRjLTQuMDk3NyAwLTguMTkxNC0xLjU1NDctMTEuMzA5LTQuNjkxNC02LjI1LTYuMjUtNi4yNS0xNi4zODMgMC0yMi42MzdsNzQuMDI3LTc0LjAyMy03NC4wMjctNzQuMDI3Yy02LjI1LTYuMjUtNi4yNS0xNi4zODcgMC0yMi42MzdzMTYuMzgzLTYuMjUgMjIuNjM3IDBsODUuMzMyIDg1LjMzNmM2LjI1IDYuMjUgNi4yNSAxNi4zODMgMCAyMi42MzNsLTg1LjMzMiA4NS4zMzJjLTMuMTM2NyAzLjE2MDItNy4yMzQ0IDQuNzE0OC0xMS4zMjggNC43MTQ4elwiLz5cbjwvc3ZnPmAsXG4gIG1vdmVSb3dEb3duOiBgXG48c3ZnIGNsYXNzPVwid2lkZ2V0LWljb25cIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICA8cGF0aCBkPVwibTQ1My4zMyAyMTMuMzNoLTM5NC42NmMtMzIuMzYzIDAtNTguNjY4LTI2LjMwMS01OC42NjgtNTguNjY0di05NmMwLTMyLjM2MyAyNi4zMDUtNTguNjY4IDU4LjY2OC01OC42NjhoMzk0LjY2YzMyLjM2MyAwIDU4LjY2OCAyNi4zMDUgNTguNjY4IDU4LjY2OHY5NmMwIDMyLjM2My0yNi4zMDUgNTguNjY0LTU4LjY2OCA1OC42NjR6bS0zOTQuNjYtMTgxLjMzYy0xNC42OTkgMC0yNi42NjggMTEuOTY5LTI2LjY2OCAyNi42Njh2OTZjMCAxNC42OTkgMTEuOTY5IDI2LjY2NCAyNi42NjggMjYuNjY0aDM5NC42NmMxNC42OTkgMCAyNi42NjgtMTEuOTY1IDI2LjY2OC0yNi42NjR2LTk2YzAtMTQuNjk5LTExLjk2OS0yNi42NjgtMjYuNjY4LTI2LjY2OHpcIi8+XG4gIDxwYXRoIGQ9XCJtMjU2IDUxMmMtOC44MzIgMC0xNi03LjE2OC0xNi0xNnYtMjI0YzAtOC44MzIgNy4xNjgtMTYgMTYtMTZzMTYgNy4xNjggMTYgMTZ2MjI0YzAgOC44MzItNy4xNjggMTYtMTYgMTZ6XCIvPlxuICA8cGF0aCBkPVwibTI1NiA1MTJjLTQuMDk3NyAwLTguMTkxNC0xLjU1ODYtMTEuMzA5LTQuNjkxNGwtODUuMzMyLTg1LjMzNmMtNi4yNS02LjI1LTYuMjUtMTYuMzgzIDAtMjIuNjMzczE2LjM4My02LjI1IDIyLjYzNyAwbDc0LjAyMyA3NC4wMjcgNzQuMDI3LTc0LjAyN2M2LjI1LTYuMjUgMTYuMzg3LTYuMjUgMjIuNjM3IDBzNi4yNSAxNi4zODMgMCAyMi42MzNsLTg1LjMzNiA4NS4zMzZjLTMuMTU2MiAzLjEzMjgtNy4yNSA0LjY5MTQtMTEuMzQ4IDQuNjkxNHpcIi8+XG48L3N2Zz5gLFxuICBtb3ZlUm93VXA6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtNDUzLjMzIDI5OC42N2gtMzk0LjY2Yy0zMi4zNjMgMC01OC42NjggMjYuMzAxLTU4LjY2OCA1OC42NjR2OTZjMCAzMi4zNjMgMjYuMzA1IDU4LjY2OCA1OC42NjggNTguNjY4aDM5NC42NmMzMi4zNjMgMCA1OC42NjgtMjYuMzA1IDU4LjY2OC01OC42Njh2LTk2YzAtMzIuMzYzLTI2LjMwNS01OC42NjQtNTguNjY4LTU4LjY2NHptLTM5NC42NiAxODEuMzNjLTE0LjY5OSAwLTI2LjY2OC0xMS45NjktMjYuNjY4LTI2LjY2OHYtOTZjMC0xNC42OTkgMTEuOTY5LTI2LjY2NCAyNi42NjgtMjYuNjY0aDM5NC42NmMxNC42OTkgMCAyNi42NjggMTEuOTY1IDI2LjY2OCAyNi42NjR2OTZjMCAxNC42OTktMTEuOTY5IDI2LjY2OC0yNi42NjggMjYuNjY4elwiLz5cbiAgPHBhdGggZD1cIm0yNTYgMGMtOC44MzIgMC0xNiA3LjE2OC0xNiAxNnYyMjRjMCA4LjgzMiA3LjE2OCAxNiAxNiAxNnMxNi03LjE2OCAxNi0xNnYtMjI0YzAtOC44MzItNy4xNjgtMTYtMTYtMTZ6XCIvPlxuICA8cGF0aCBkPVwibTI1NiAwYy00LjA5NzcgMC04LjE5MTQgMS41NTg2LTExLjMwOSA0LjY5MTRsLTg1LjMzMiA4NS4zMzZjLTYuMjUgNi4yNS02LjI1IDE2LjM4MyAwIDIyLjYzM3MxNi4zODMgNi4yNSAyMi42MzcgMGw3NC4wMjMtNzQuMDI3IDc0LjAyNyA3NC4wMjdjNi4yNSA2LjI1IDE2LjM4NyA2LjI1IDIyLjYzNyAwczYuMjUtMTYuMzgzIDAtMjIuNjMzbC04NS4zMzYtODUuMzM2Yy0zLjE1NjItMy4xMzI4LTcuMjUtNC42OTE0LTExLjM0OC00LjY5MTR6XCIvPlxuPC9zdmc+YCxcbiAgc29ydEFzYzogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIC0xIDAgNTAxLjE1KVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzM1wiPlxuICAgIDxwYXRoIGQ9XCJtMzUzLjYgNzQuNDg2Yy0xMS43NzYgMC0yMS4zMzMgOS41NTczLTIxLjMzMyAyMS4zMzN2Mjk4LjY3YzAgMTEuNzc2IDkuNTU3MyAyMS4zMzMgMjEuMzMzIDIxLjMzM3MyMS4zMzMtOS41NTczIDIxLjMzMy0yMS4zMzN2LTI5OC42N2MwLTExLjc3Ni05LjU1NzMtMjEuMzMzLTIxLjMzMy0yMS4zMzN6XCIvPlxuICAgIDxwYXRoIGQ9XCJtMzUzLjYgNzQuNDg2Yy01LjQ2MzYgMC0xMC45MjIgMi4wNzgxLTE1LjA3OSA2LjI1NTJsLTExMy43OCAxMTMuNzhjLTguMzMzMyA4LjMzMzMtOC4zMzMzIDIxLjg0NCAwIDMwLjE3NyA4LjMzMzMgOC4zMzMzIDIxLjg0NCA4LjMzMzMgMzAuMTgzIDBsOTguNjk3LTk4LjcwMyA5OC43MDMgOTguNzAzYzguMzMzMyA4LjMzMzMgMjEuODQ5IDguMzMzMyAzMC4xODMgMCA4LjMzMzMtOC4zMzMzIDguMzMzMy0yMS44NDQgMC0zMC4xNzdsLTExMy43OC0xMTMuNzhjLTQuMjA4My00LjE3NzEtOS42NjY3LTYuMjU1Mi0xNS4xMzEtNi4yNTUyelwiLz5cbiAgPC9nPlxuICA8cGF0aCBkPVwibTE2Ni4wNCAyMTAuMTFxLTUuMDk3MS0xMy40OTItOS41OTQ1LTI2LjM4NS00LjQ5NzQtMTMuMTkyLTkuMjk0Ny0yNi42ODVoLTk0LjE0NmwtMTguODg5IDUzLjA3aC0zMC4yODNxMTEuOTkzLTMyLjk4MSAyMi40ODctNjAuODY1IDEwLjQ5NC0yOC4xODQgMjAuMzg4LTUzLjM2OSAxMC4xOTQtMjUuMTg2IDIwLjA4OS00Ny45NzMgOS44OTQzLTIzLjA4NyAyMC42ODgtNDUuNTc0aDI2LjY4NXExMC43OTQgMjIuNDg3IDIwLjY4OCA0NS41NzQgOS44OTQzIDIyLjc4NyAxOS43ODkgNDcuOTczIDEwLjE5NCAyNS4xODYgMjAuNjg4IDUzLjM2OSAxMC40OTQgMjcuODg0IDIyLjQ4NyA2MC44NjV6bS0yNy4yODQtNzcuMDU2cS05LjU5NDUtMjYuMDg1LTE5LjE4OS01MC4zNzEtOS4yOTQ3LTI0LjU4Ni0xOS40ODktNDcuMDczLTEwLjQ5NCAyMi40ODctMjAuMDg5IDQ3LjA3My05LjI5NDcgMjQuMjg2LTE4LjU4OSA1MC4zNzF6XCIvPlxuICA8cGF0aCBkPVwibTE3My4yNCAzMjUuMjVxLTYuODk2IDcuNzk1NS0xNi4xOTEgMTguODg5LTguOTk0OCAxMC43OTQtMTkuMTg5IDI0LjI4Ni0xMC4xOTQgMTMuMTkyLTIwLjk4OCAyOC4xODQtMTAuNzk0IDE0LjY5Mi0yMS4yODggMjkuOTgzLTEwLjE5NCAxNC45OTEtMTkuNDg5IDI5Ljk4My05LjI5NDcgMTQuOTkxLTE2Ljc5IDI4LjQ4NGgxMTYuOTN2MjQuODg2aC0xNTAuODF2LTE5LjQ4OXE2LjI5NjQtMTEuOTkzIDE0LjY5Mi0yNi4zODUgOC42OTUtMTQuMzkyIDE4LjI5LTI5LjM4MyA5Ljg5NDMtMTQuOTkxIDIwLjM4OC0zMC4yODN0MjAuNjg4LTI5LjM4M3ExMC40OTQtMTQuMDkyIDIwLjA4OC0yNi4zODUgOS44OTQzLTEyLjI5MyAxNy45OS0yMS41ODhoLTEwNi43NHYtMjQuODg2aDE0Mi40MnpcIi8+XG48L3N2Zz5gLFxuICBzb3J0RGVzYzogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIC0xIDAgNTAxLjE1KVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzM1wiPlxuICAgIDxwYXRoIGQ9XCJtMzUzLjYgNzQuNDg2Yy0xMS43NzYgMC0yMS4zMzMgOS41NTczLTIxLjMzMyAyMS4zMzN2Mjk4LjY3YzAgMTEuNzc2IDkuNTU3MyAyMS4zMzMgMjEuMzMzIDIxLjMzM3MyMS4zMzMtOS41NTczIDIxLjMzMy0yMS4zMzN2LTI5OC42N2MwLTExLjc3Ni05LjU1NzMtMjEuMzMzLTIxLjMzMy0yMS4zMzN6XCIvPlxuICAgIDxwYXRoIGQ9XCJtMzUzLjYgNzQuNDg2Yy01LjQ2MzYgMC0xMC45MjIgMi4wNzgxLTE1LjA3OSA2LjI1NTJsLTExMy43OCAxMTMuNzhjLTguMzMzMyA4LjMzMzMtOC4zMzMzIDIxLjg0NCAwIDMwLjE3NyA4LjMzMzMgOC4zMzMzIDIxLjg0NCA4LjMzMzMgMzAuMTgzIDBsOTguNjk3LTk4LjcwMyA5OC43MDMgOTguNzAzYzguMzMzMyA4LjMzMzMgMjEuODQ5IDguMzMzMyAzMC4xODMgMCA4LjMzMzMtOC4zMzMzIDguMzMzMy0yMS44NDQgMC0zMC4xNzdsLTExMy43OC0xMTMuNzhjLTQuMjA4My00LjE3NzEtOS42NjY3LTYuMjU1Mi0xNS4xMzEtNi4yNTUyelwiLz5cbiAgPC9nPlxuICA8cGF0aCBkPVwibTE2OS4xMSA1MDcuNzJxLTUuMDk3MS0xMy40OTItOS41OTQ1LTI2LjM4NS00LjQ5NzQtMTMuMTkyLTkuMjk0Ny0yNi42ODVoLTk0LjE0NmwtMTguODg5IDUzLjA3aC0zMC4yODNxMTEuOTkzLTMyLjk4MSAyMi40ODctNjAuODY1IDEwLjQ5NC0yOC4xODQgMjAuMzg4LTUzLjM2OSAxMC4xOTQtMjUuMTg2IDIwLjA4OC00Ny45NzMgOS44OTQzLTIzLjA4NyAyMC42ODgtNDUuNTc0aDI2LjY4NXExMC43OTQgMjIuNDg3IDIwLjY4OCA0NS41NzQgOS44OTQzIDIyLjc4NyAxOS43ODkgNDcuOTczIDEwLjE5NCAyNS4xODYgMjAuNjg4IDUzLjM2OSAxMC40OTQgMjcuODg0IDIyLjQ4NyA2MC44NjV6bS0yNy4yODQtNzcuMDU2cS05LjU5NDUtMjYuMDg1LTE5LjE4OS01MC4zNzEtOS4yOTQ3LTI0LjU4Ni0xOS40ODktNDcuMDczLTEwLjQ5NCAyMi40ODctMjAuMDg5IDQ3LjA3My05LjI5NDcgMjQuMjg2LTE4LjU4OSA1MC4zNzF6XCIvPlxuICA8cGF0aCBkPVwibTE3Ni4zMSAyNy42MzlxLTYuODk2IDcuNzk1NS0xNi4xOTEgMTguODg5LTguOTk0OCAxMC43OTQtMTkuMTg5IDI0LjI4Ni0xMC4xOTQgMTMuMTkyLTIwLjk4OCAyOC4xODQtMTAuNzk0IDE0LjY5Mi0yMS4yODggMjkuOTgzLTEwLjE5NCAxNC45OTEtMTkuNDg5IDI5Ljk4My05LjI5NDcgMTQuOTkxLTE2Ljc5IDI4LjQ4NGgxMTYuOTN2MjQuODg2aC0xNTAuODF2LTE5LjQ4OXE2LjI5NjQtMTEuOTkzIDE0LjY5Mi0yNi4zODUgOC42OTUtMTQuMzkyIDE4LjI5LTI5LjM4MyA5Ljg5NDMtMTQuOTkxIDIwLjM4OC0zMC4yODMgMTAuNDk0LTE1LjI5MSAyMC42ODgtMjkuMzgzIDEwLjQ5NC0xNC4wOTIgMjAuMDg4LTI2LjM4NSA5Ljg5NDMtMTIuMjkzIDE3Ljk5LTIxLjU4OGgtMTA2Ljc0di0yNC44ODZoMTQyLjQyelwiLz5cbjwvc3ZnPmAsXG4gIGZvcm11bGE6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGQ9XCJtMjYzLjUxIDYyLjk2N2MxLjY3Mi0xMS4xMzQgOS4zMjYtMjIuOTY3IDIwLjIyMi0yMi45NjcgMTEuMDI4IDAgMjAgOC45NzIgMjAgMjBoNDBjMC0zMy4wODQtMjYuOTE2LTYwLTYwLTYwLTMzLjYyOSAwLTU1LjUyNyAyOC42OTEtNTkuNzg0IDU3LjA3M2wtMTIuODYyIDg2LjkyN2gtNjEuMzU0djQwaDU1LjQzNmwtMzkuMjIgMjY1LjA3LTAuMTE2IDAuOTM3Yy0xLjA2MyAxMC42Mi05LjM5MyAyMS45OS0yMC4xIDIxLjk5LTExLjAyOCAwLTIwLTguOTcyLTIwLTIwaC00MGMwIDMzLjA4NCAyNi45MTYgNjAgNjAgNjAgMzMuNjYxIDAgNTYuNzcxLTI5LjE0MSA1OS44NDgtNTcuNDk2bDQwLjAyMy0yNzAuNWg2MC4xMjl2LTQwaC01NC4yMTFsMTEuOTg5LTgxLjAzM3pcIi8+XG4gIDxwb2x5Z29uIHBvaW50cz1cIjQyNi4yNyAyNDggMzc4LjI0IDI0OCAzNTIuMjUgMjg3LjA4IDMzNC45MiAyNDggMjkxLjE3IDI0OCAzMjYgMzI2LjU3IDI3MC41MiA0MTAgMzE4LjU2IDQxMCAzNDUuMjEgMzY5LjkyIDM2Mi45OCA0MTAgNDA2LjczIDQxMCAzNzEuNDYgMzMwLjQzXCIvPlxuPC9zdmc+YCxcbiAgaGVscDogYFxuPHN2ZyBjbGFzcz1cIndpZGdldC1pY29uXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZD1cIm0yNDguMTYgMzQzLjIyYy0xNC42MzkgMC0yNi40OTEgMTIuMi0yNi40OTEgMjYuODQgMCAxNC4yOTEgMTEuNTAzIDI2Ljg0IDI2LjQ5MSAyNi44NHMyNi44NC0xMi41NDggMjYuODQtMjYuODRjMC0xNC42NC0xMi4xOTktMjYuODQtMjYuODQtMjYuODR6XCIvPlxuICA8cGF0aCBkPVwibTI1Mi42OSAxNDBjLTQ3LjA1NyAwLTY4LjY2OCAyNy44ODUtNjguNjY4IDQ2LjcwOCAwIDEzLjU5NSAxMS41MDIgMTkuODY5IDIwLjkxNCAxOS44NjkgMTguODIyIDAgMTEuMTU0LTI2Ljg0IDQ2LjcwOC0yNi44NCAxNy40MjkgMCAzMS4zNzIgNy42NjkgMzEuMzcyIDIzLjcwMyAwIDE4LjgyNC0xOS41MiAyOS42MjktMzEuMDIzIDM5LjM4OS0xMC4xMDggOC43MTQtMjMuMzU0IDIzLjAwNi0yMy4zNTQgNTIuOTgzIDAgMTguMTI1IDQuODc5IDIzLjM1NCAxOS4xNzEgMjMuMzU0IDE3LjA4IDAgMjAuNTY1LTcuNjY4IDIwLjU2NS0xNC4yOTEgMC0xOC4xMjYgMC4zNS0yOC41ODMgMTkuNTIxLTQzLjU3MSA5LjQxMS03LjMyIDM5LjA0LTMxLjAyMyAzOS4wNC02My43ODlzLTI5LjYyOS01Ny41MTUtNzQuMjQ2LTU3LjUxNXpcIi8+XG4gIDxwYXRoIGQ9XCJtMjU2IDBjLTE0MS40OCAwLTI1NiAxMTQuNS0yNTYgMjU2djIzNmMwIDExLjA0NiA4Ljk1NCAyMCAyMCAyMGgyMzZjMTQxLjQ4IDAgMjU2LTExNC41IDI1Ni0yNTYgMC0xNDEuNDgtMTE0LjUtMjU2LTI1Ni0yNTZ6bTAgNDcyaC0yMTZ2LTIxNmMwLTExOS4zOCA5Ni42MDctMjE2IDIxNi0yMTYgMTE5LjM4IDAgMjE2IDk2LjYwNyAyMTYgMjE2IDAgMTE5LjM4LTk2LjYwNyAyMTYtMjE2IDIxNnpcIi8+XG48L3N2Zz5gLFxuICBjc3Y6IGBcbjxzdmcgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuIDxwYXRoIGQ9XCJtNC45OTc5IDl2LThoMTQuNTAybDMuNSAzLjUgMmUtNyAxOC41aC0xOW0xNC0yMnY1aDVtLTE2IDdoLTJjLTEgMC0yIDAuNS0yIDEuNXYxLjVzMWUtOCAwLjUgMCAxLjUgMSAxLjUgMiAxLjVoMm02LjI1LTZoLTIuNWMtMS41IDAtMiAwLjUtMiAxLjVzMC41IDEuNSAyIDEuNSAyIDAuNSAyIDEuNS0wLjUgMS41LTIgMS41aC0yLjVtMTIuMjUtN3YwLjVjMCAwLjUtMi41IDYuNS0yLjUgNi41aC0wLjVzLTIuNS02LTIuNS02LjV2LTAuNVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwidmFyKC0tdGV4dC1tdXRlZClcIiBzdHJva2Utd2lkdGg9XCIxLjVcIi8+XG48L3N2Zz5gLFxuICBhcnJvd2VudGVyOiBgXG48c3ZnIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwibTQuNjQxMTkgMTIuNSAyLjg3MjgzIDIuNzAzOGMuMzAxNjMuMjgzOS4zMTYwMi43NTg2LjAzMjEzIDEuMDYwMi0uMjgzODkuMzAxNy0uNzU4NTQuMzE2LTEuMDYwMTcuMDMyMWwtNC4yNS00Yy0uMTUwNTktLjE0MTctLjIzNTk4LS4zMzkzLS4yMzU5OC0uNTQ2MXMuMDg1MzktLjQwNDQuMjM1OTgtLjU0NjJsNC4yNS0zLjk5OTk1Yy4zMDE2My0uMjgzODkuNzc2MjgtLjI2OTUgMS4wNjAxNy4wMzIxM3MuMjY5NS43NzYyOC0uMDMyMTMgMS4wNjAxN2wtMi44NzI4NCAyLjcwMzg1aDEwLjEwODgyYy45NjY1IDAgMS43NS0uNzgzNSAxLjc1LTEuNzV2LTQuNWMwLS40MTQyMS4zMzU4LS43NS43NS0uNzVzLjc1LjMzNTc5Ljc1Ljc1djQuNWMwIDEuNzk0OS0xLjQ1NTEgMy4yNS0zLjI1IDMuMjV6XCIvPlxuPC9zdmc+YCxcbiAgYXJyb3d0YWI6IGBcbjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJtMTguMjA3MTA2OCAxMS4yOTI4OTMyLTYuNS02LjQ5OTk5OTk4Yy0uMzkwNTI0My0uMzkwNTI0MjktMS4wMjM2ODkzLS4zOTA1MjQyOS0xLjQxNDIxMzYgMC0uMzYwNDgzOTQuMzYwNDgzOTYtLjM4ODIxMzQ4LjkyNzcxNTAyLS4wODMxODg2IDEuMzIwMDA2MjJsLjA4MzE4ODYuMDk0MjA3MzQgNC43OTMxMDY4IDQuNzkyODkzMjJoLTExLjA4NmMtLjUxMjgzNTg0IDAtLjkzNTUwNzE2LjM4NjA0MDItLjk5MzI3MjI3Ljg4MzM3ODlsLS4wMDY3Mjc3My4xMTY2MjExYzAgLjUxMjgzNTguMzg2MDQwMTkuOTM1NTA3Mi44ODMzNzg4Ny45OTMyNzIzbC4xMTY2MjExMy4wMDY3Mjc3aDExLjA4NmwtNC43OTMxMDY4IDQuNzkyODkzMmMtLjM2MDQ4Mzk0LjM2MDQ4NC0uMzg4MjEzNDguOTI3NzE1LS4wODMxODg2IDEuMzIwMDA2MmwuMDgzMTg4Ni4wOTQyMDc0Yy4zNjA0ODQuMzYwNDgzOS45Mjc3MTUuMzg4MjEzNSAxLjMyMDAwNjIuMDgzMTg4NmwuMDk0MjA3NC0uMDgzMTg4NiA2LjUtNi41Yy4zNjA0ODM5LS4zNjA0ODQuMzg4MjEzNS0uOTI3NzE1LjA4MzE4ODYtMS4zMjAwMDYybC0uMDgzMTg4Ni0uMDk0MjA3NC02LjUtNi40OTk5OTk5OHptMi43OTI4OTMyIDcuMjA3MTA2OHYtMTNjMC0uNTUyMjg0NzUtLjQ0NzcxNTMtMS0xLTFzLTEgLjQ0NzcxNTI1LTEgMXYxM2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF6XCIgZmlsbD1cIiMyMTIxMjFcIi8+XG48L3N2Zz5gLFxufTtcblxuZXhwb3J0IGNvbnN0IGFkZEljb25zID0gKCk6IHZvaWQgPT4ge1xuICBPYmplY3Qua2V5cyhpY29ucykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgLy8gRG9uJ3QgYWRkIHRoZSAnaGVscCcgaWNvbiBoZXJlIGFzIGl0IHdpbGwgb3ZlcndyaXRlIHRoZSBuYXRpdmUgb25lLlxuICAgIGlmIChrZXkgIT09ICdoZWxwJykge1xuICAgICAgYWRkSWNvbihrZXksIGljb25zW2tleV0pO1xuICAgIH1cbiAgfSk7XG59O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlBvaW50ID0gdm9pZCAwO1xuLyoqXG4gKiBBIGBQb2ludGAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRoZSB0ZXh0IGVkaXRvci5cbiAqL1xuY2xhc3MgUG9pbnQge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgYFBvaW50YCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93IC0gUm93IG9mIHRoZSBwb2ludCwgc3RhcnRzIGZyb20gMC5cbiAgICAgKiBAcGFyYW0gY29sdW1uIC0gQ29sdW1uIG9mIHRoZSBwb2ludCwgc3RhcnRzIGZyb20gMC5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihyb3csIGNvbHVtbikge1xuICAgICAgICB0aGlzLnJvdyA9IHJvdztcbiAgICAgICAgdGhpcy5jb2x1bW4gPSBjb2x1bW47XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgcG9pbnQgaXMgZXF1YWwgdG8gYW5vdGhlciBwb2ludC5cbiAgICAgKi9cbiAgICBlcXVhbHMocG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm93ID09PSBwb2ludC5yb3cgJiYgdGhpcy5jb2x1bW4gPT09IHBvaW50LmNvbHVtbjtcbiAgICB9XG59XG5leHBvcnRzLlBvaW50ID0gUG9pbnQ7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuUmFuZ2UgPSB2b2lkIDA7XG4vKipcbiAqIEEgYFJhbmdlYCBvYmplY3QgcmVwcmVzZW50cyBhIHJhbmdlIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAqL1xuY2xhc3MgUmFuZ2Uge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgYFJhbmdlYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RhcnQgLSBUaGUgc3RhcnQgcG9pbnQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSBlbmQgLSBUaGUgZW5kIHBvaW50IG9mIHRoZSByYW5nZS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzdGFydCwgZW5kKSB7XG4gICAgICAgIHRoaXMuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgdGhpcy5lbmQgPSBlbmQ7XG4gICAgfVxufVxuZXhwb3J0cy5SYW5nZSA9IFJhbmdlO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkZvY3VzID0gdm9pZCAwO1xuLyoqXG4gKiBBIGBGb2N1c2Agb2JqZWN0IHJlcHJlc2VudHMgd2hpY2ggY2VsbCBpcyBmb2N1c2VkIGluIHRoZSB0YWJsZS5cbiAqXG4gKiBOb3RlIHRoYXQgYHJvd2AgYW5kIGBjb2x1bW5gIHByb3BlcnRpZXMgc3BlY2lmaXkgYSBjZWxsJ3MgcG9zaXRpb24gaW4gdGhlXG4gKiB0YWJsZSwgbm90IHRoZSBjdXJzb3IncyBwb3NpdGlvbiBpbiB0aGUgdGV4dCBlZGl0b3IgYXMge0BsaW5rIFBvaW50fSBjbGFzcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBGb2N1cyB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBgRm9jdXNgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb3cgLSBSb3cgb2YgdGhlIGZvY3VzZWQgY2VsbC5cbiAgICAgKiBAcGFyYW0gY29sdW1uIC0gQ29sdW1uIG9mIHRoZSBmb2N1c2VkIGNlbGwuXG4gICAgICogQHBhcmFtIG9mZnNldCAtIFJhdyBvZmZzZXQgaW4gdGhlIGNlbGwuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iocm93LCBjb2x1bW4sIG9mZnNldCkge1xuICAgICAgICB0aGlzLnJvdyA9IHJvdztcbiAgICAgICAgdGhpcy5jb2x1bW4gPSBjb2x1bW47XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gb2Zmc2V0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdHdvIGZvY3VzZXMgcG9pbnQgdGhlIHNhbWUgY2VsbC5cbiAgICAgKiBPZmZzZXRzIGFyZSBpZ25vcmVkLlxuICAgICAqL1xuICAgIHBvc0VxdWFscyhmb2N1cykge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3cgPT09IGZvY3VzLnJvdyAmJiB0aGlzLmNvbHVtbiA9PT0gZm9jdXMuY29sdW1uO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY29weSBvZiB0aGUgZm9jdXMgb2JqZWN0IGJ5IHNldHRpbmcgaXRzIHJvdyB0byB0aGUgc3BlY2lmaWVkIHZhbHVlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvdyAtIFJvdyBvZiB0aGUgZm9jdXNlZCBjZWxsLlxuICAgICAqIEByZXR1cm5zIEEgbmV3IGZvY3VzIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgcm93LlxuICAgICAqL1xuICAgIHNldFJvdyhyb3cpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGb2N1cyhyb3csIHRoaXMuY29sdW1uLCB0aGlzLm9mZnNldCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBmb2N1cyBvYmplY3QgYnkgc2V0dGluZyBpdHMgY29sdW1uIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29sdW1uIC0gQ29sdW1uIG9mIHRoZSBmb2N1c2VkIGNlbGwuXG4gICAgICogQHJldHVybnMgQSBuZXcgZm9jdXMgb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCBjb2x1bW4uXG4gICAgICovXG4gICAgc2V0Q29sdW1uKGNvbHVtbikge1xuICAgICAgICByZXR1cm4gbmV3IEZvY3VzKHRoaXMucm93LCBjb2x1bW4sIHRoaXMub2Zmc2V0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNvcHkgb2YgdGhlIGZvY3VzIG9iamVjdCBieSBzZXR0aW5nIGl0cyBvZmZzZXQgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZzZXQgLSBPZmZzZXQgaW4gdGhlIGZvY3VzZWQgY2VsbC5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBmb2N1cyBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIG9mZnNldC5cbiAgICAgKi9cbiAgICBzZXRPZmZzZXQob2Zmc2V0KSB7XG4gICAgICAgIHJldHVybiBuZXcgRm9jdXModGhpcy5yb3csIHRoaXMuY29sdW1uLCBvZmZzZXQpO1xuICAgIH1cbn1cbmV4cG9ydHMuRm9jdXMgPSBGb2N1cztcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5IZWFkZXJBbGlnbm1lbnQgPSBleHBvcnRzLkRlZmF1bHRBbGlnbm1lbnQgPSBleHBvcnRzLkFsaWdubWVudCA9IHZvaWQgMDtcbi8qKlxuICogUmVwcmVzZW50cyBjb2x1bW4gYWxpZ25tZW50LlxuICpcbiAqIC0gYEFsaWdubWVudC5OT05FYCAtIFVzZSBkZWZhdWx0IGFsaWdubWVudC5cbiAqIC0gYEFsaWdubWVudC5MRUZUYCAtIEFsaWduIGxlZnQuXG4gKiAtIGBBbGlnbm1lbnQuUklHSFRgIC0gQWxpZ24gcmlnaHQuXG4gKiAtIGBBbGlnbm1lbnQuQ0VOVEVSYCAtIEFsaWduIGNlbnRlci5cbiAqXG4gKi9cbnZhciBBbGlnbm1lbnQ7XG4oZnVuY3Rpb24gKEFsaWdubWVudCkge1xuICAgIEFsaWdubWVudFtcIk5PTkVcIl0gPSBcIm5vbmVcIjtcbiAgICBBbGlnbm1lbnRbXCJMRUZUXCJdID0gXCJsZWZ0XCI7XG4gICAgQWxpZ25tZW50W1wiUklHSFRcIl0gPSBcInJpZ2h0XCI7XG4gICAgQWxpZ25tZW50W1wiQ0VOVEVSXCJdID0gXCJjZW50ZXJcIjtcbn0pKEFsaWdubWVudCA9IGV4cG9ydHMuQWxpZ25tZW50IHx8IChleHBvcnRzLkFsaWdubWVudCA9IHt9KSk7XG4vKipcbiAqIFJlcHJlc2VudHMgZGVmYXVsdCBjb2x1bW4gYWxpZ25tZW50XG4gKlxuICogLSBgRGVmYXVsdEFsaWdubWVudC5MRUZUYCAtIEFsaWduIGxlZnQuXG4gKiAtIGBEZWZhdWx0QWxpZ25tZW50LlJJR0hUYCAtIEFsaWduIHJpZ2h0LlxuICogLSBgRGVmYXVsdEFsaWdubWVudC5DRU5URVJgIC0gQWxpZ24gY2VudGVyLlxuICpcbiAqL1xudmFyIERlZmF1bHRBbGlnbm1lbnQ7XG4oZnVuY3Rpb24gKERlZmF1bHRBbGlnbm1lbnQpIHtcbiAgICBEZWZhdWx0QWxpZ25tZW50W1wiTEVGVFwiXSA9IFwibGVmdFwiO1xuICAgIERlZmF1bHRBbGlnbm1lbnRbXCJSSUdIVFwiXSA9IFwicmlnaHRcIjtcbiAgICBEZWZhdWx0QWxpZ25tZW50W1wiQ0VOVEVSXCJdID0gXCJjZW50ZXJcIjtcbn0pKERlZmF1bHRBbGlnbm1lbnQgPSBleHBvcnRzLkRlZmF1bHRBbGlnbm1lbnQgfHwgKGV4cG9ydHMuRGVmYXVsdEFsaWdubWVudCA9IHt9KSk7XG4vKipcbiAqIFJlcHJlc2VudHMgYWxpZ25tZW50IG9mIGhlYWRlciBjZWxscy5cbiAqXG4gKiAtIGBIZWFkZXJBbGlnbm1lbnQuRk9MTE9XYCAtIEZvbGxvdyBjb2x1bW4ncyBhbGlnbm1lbnQuXG4gKiAtIGBIZWFkZXJBbGlnbm1lbnQuTEVGVGAgLSBBbGlnbiBsZWZ0LlxuICogLSBgSGVhZGVyQWxpZ25tZW50LlJJR0hUYCAtIEFsaWduIHJpZ2h0LlxuICogLSBgSGVhZGVyQWxpZ25tZW50LkNFTlRFUmAgLSBBbGlnbiBjZW50ZXIuXG4gKlxuICovXG52YXIgSGVhZGVyQWxpZ25tZW50O1xuKGZ1bmN0aW9uIChIZWFkZXJBbGlnbm1lbnQpIHtcbiAgICBIZWFkZXJBbGlnbm1lbnRbXCJGT0xMT1dcIl0gPSBcImZvbGxvd1wiO1xuICAgIEhlYWRlckFsaWdubWVudFtcIkxFRlRcIl0gPSBcImxlZnRcIjtcbiAgICBIZWFkZXJBbGlnbm1lbnRbXCJSSUdIVFwiXSA9IFwicmlnaHRcIjtcbiAgICBIZWFkZXJBbGlnbm1lbnRbXCJDRU5URVJcIl0gPSBcImNlbnRlclwiO1xufSkoSGVhZGVyQWxpZ25tZW50ID0gZXhwb3J0cy5IZWFkZXJBbGlnbm1lbnQgfHwgKGV4cG9ydHMuSGVhZGVyQWxpZ25tZW50ID0ge30pKTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UYWJsZUNlbGwgPSB2b2lkIDA7XG5jb25zdCBhbGlnbm1lbnRfMSA9IHJlcXVpcmUoXCIuL2FsaWdubWVudFwiKTtcbi8qKlxuICogQSBgVGFibGVDZWxsYCBvYmplY3QgcmVwcmVzZW50cyBhIHRhYmxlIGNlbGwuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY2xhc3MgVGFibGVDZWxsIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGBUYWJsZUNlbGxgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByYXdDb250ZW50IC0gUmF3IGNvbnRlbnQgb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocmF3Q29udGVudCkge1xuICAgICAgICB0aGlzLnJhd0NvbnRlbnQgPSByYXdDb250ZW50O1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSByYXdDb250ZW50LnRyaW0oKTtcbiAgICAgICAgdGhpcy5wYWRkaW5nTGVmdCA9XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQgPT09ICcnXG4gICAgICAgICAgICAgICAgPyB0aGlzLnJhd0NvbnRlbnQgPT09ICcnXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDFcbiAgICAgICAgICAgICAgICA6IHRoaXMucmF3Q29udGVudC5sZW5ndGggLSB0aGlzLnJhd0NvbnRlbnQudHJpbUxlZnQoKS5sZW5ndGg7XG4gICAgICAgIHRoaXMucGFkZGluZ1JpZ2h0ID1cbiAgICAgICAgICAgIHRoaXMucmF3Q29udGVudC5sZW5ndGggLSB0aGlzLmNvbnRlbnQubGVuZ3RoIC0gdGhpcy5wYWRkaW5nTGVmdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29udmVycyB0aGUgY2VsbCB0byBhIHRleHQgcmVwcmVzZW50YXRpb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgcmF3IGNvbnRlbnQgb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgdG9UZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yYXdDb250ZW50O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGNlbGwgaXMgYSBkZWxpbWl0ZXIgaS5lLiBpdCBvbmx5IGNvbnRhaW5zIGh5cGhlbnMgYC1gIHdpdGggb3B0aW9uYWwgb25lXG4gICAgICogbGVhZGluZyBhbmQgdHJhaWxpbmcgY29sb25zIGA6YC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY2VsbCBpcyBhIGRlbGltaXRlci5cbiAgICAgKi9cbiAgICBpc0RlbGltaXRlcigpIHtcbiAgICAgICAgcmV0dXJuIC9eXFxzKjo/LSs6P1xccyokLy50ZXN0KHRoaXMucmF3Q29udGVudCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGFsaWdubWVudCB0aGUgY2VsbCByZXByZXNlbnRzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIGFsaWdubWVudCB0aGUgY2VsbCByZXByZXNlbnRzOyBgdW5kZWZpbmVkYCBpZiB0aGUgY2VsbCBpcyBub3QgYSBkZWxpbWl0ZXIuXG4gICAgICovXG4gICAgZ2V0QWxpZ25tZW50KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNEZWxpbWl0ZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250ZW50WzBdID09PSAnOicpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRbdGhpcy5jb250ZW50Lmxlbmd0aCAtIDFdID09PSAnOicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWxpZ25tZW50XzEuQWxpZ25tZW50LkNFTlRFUjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTEVGVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250ZW50W3RoaXMuY29udGVudC5sZW5ndGggLSAxXSA9PT0gJzonKSB7XG4gICAgICAgICAgICByZXR1cm4gYWxpZ25tZW50XzEuQWxpZ25tZW50LlJJR0hUO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTk9ORTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgYSByZWxhdGl2ZSBwb3NpdGlvbiBpbiB0aGUgdHJpbW1lZCBjb250ZW50IGZyb20gdGhhdCBpbiB0aGUgcmF3IGNvbnRlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmF3T2Zmc2V0IC0gUmVsYXRpdmUgcG9zaXRpb24gaW4gdGhlIHJhdyBjb250ZW50LlxuICAgICAqIEByZXR1cm5zIC0gUmVsYXRpdmUgcG9zaXRpb24gaW4gdGhlIHRyaW1tZWQgY29udGVudC5cbiAgICAgKi9cbiAgICBjb21wdXRlQ29udGVudE9mZnNldChyYXdPZmZzZXQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudCA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyYXdPZmZzZXQgPCB0aGlzLnBhZGRpbmdMZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmF3T2Zmc2V0IDwgdGhpcy5wYWRkaW5nTGVmdCArIHRoaXMuY29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByYXdPZmZzZXQgLSB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQubGVuZ3RoO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBhIHJlbGF0aXZlIHBvc2l0aW9uIGluIHRoZSByYXcgY29udGVudCBmcm9tIHRoYXQgaW4gdGhlIHRyaW1tZWQgY29udGVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZW50T2Zmc2V0IC0gUmVsYXRpdmUgcG9zaXRpb24gaW4gdGhlIHRyaW1tZWQgY29udGVudC5cbiAgICAgKiBAcmV0dXJucyAtIFJlbGF0aXZlIHBvc2l0aW9uIGluIHRoZSByYXcgY29udGVudC5cbiAgICAgKi9cbiAgICBjb21wdXRlUmF3T2Zmc2V0KGNvbnRlbnRPZmZzZXQpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnRPZmZzZXQgKyB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgIH1cbn1cbmV4cG9ydHMuVGFibGVDZWxsID0gVGFibGVDZWxsO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlRhYmxlUm93ID0gdm9pZCAwO1xuY29uc3QgdGFibGVfY2VsbF8xID0gcmVxdWlyZShcIi4vdGFibGUtY2VsbFwiKTtcbi8qKlxuICogQSBgVGFibGVSb3dgIG9iamVjdCByZXByZXNlbnRzIGEgdGFibGUgcm93LlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIFRhYmxlUm93IHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGBUYWJsZVJvd2Agb2JqZWMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2VsbHMgLSBDZWxscyB0aGF0IHRoZSByb3cgY29udGFpbnMuXG4gICAgICogQHBhcmFtIG1hcmdpbkxlZnQgLSBNYXJnaW4gc3RyaW5nIGF0IHRoZSBsZWZ0IG9mIHRoZSByb3cuXG4gICAgICogQHBhcmFtIG1hcmdpblJpZ2h0IC0gTWFyZ2luIHN0cmluZyBhdCB0aGUgcmlnaHQgb2YgdGhlIHJvdy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihjZWxscywgbWFyZ2luTGVmdCwgbWFyZ2luUmlnaHQpIHtcbiAgICAgICAgdGhpcy5fY2VsbHMgPSBjZWxscy5zbGljZSgpO1xuICAgICAgICB0aGlzLm1hcmdpbkxlZnQgPSBtYXJnaW5MZWZ0O1xuICAgICAgICB0aGlzLm1hcmdpblJpZ2h0ID0gbWFyZ2luUmlnaHQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG51bWJlciBvZiB0aGUgY2VsbHMgaW4gdGhlIHJvdy5cbiAgICAgKi9cbiAgICBnZXRXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NlbGxzLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY2VsbHMgdGhhdCB0aGUgcm93IGNvbnRhaW5zLlxuICAgICAqL1xuICAgIGdldENlbGxzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2VsbHMuc2xpY2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyBhIGNlbGwgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbmRleCAtIEluZGV4LlxuICAgICAqIEByZXR1cm5zIFRoZSBjZWxsIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggaWYgZXhpc3RzOyBgdW5kZWZpbmVkYCBpZiBubyBjZWxsIGlzIGZvdW5kLlxuICAgICAqL1xuICAgIGdldENlbGxBdChpbmRleCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2VsbHNbaW5kZXhdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgY2VsbCBpbiB0aGUgcm93IHRvIGEgbmV3IHZhbHVlLCByZXR1cm5pbmcgYSBjb3B5IG9mIHRoZSByb3dcbiAgICAgKiB3aXRoIHRoZSBtb2RpZmllZCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIElmIGFuIGludmFsaWQgaW5kZXggaXMgcHJvdmlkZWQsIHRoZSByb3cgd2lsbCBiZSB1bmNoYW5nZWQuXG4gICAgICovXG4gICAgc2V0Q2VsbEF0KGluZGV4LCB2YWx1ZSkge1xuICAgICAgICBjb25zdCBjZWxscyA9IHRoaXMuZ2V0Q2VsbHMoKTsgLy8gYSBjb3B5XG4gICAgICAgIGNlbGxzW2luZGV4XSA9IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZVJvdyhjZWxscywgdGhpcy5tYXJnaW5MZWZ0LCB0aGlzLm1hcmdpblJpZ2h0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29udmVycyB0aGUgcm93IHRvIGEgdGV4dCByZXByZXNlbnRhdGlvbi5cbiAgICAgKi9cbiAgICB0b1RleHQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9jZWxscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1hcmdpbkxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2VsbHMgPSB0aGlzLl9jZWxscy5tYXAoKGNlbGwpID0+IGNlbGwudG9UZXh0KCkpLmpvaW4oJ3wnKTtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMubWFyZ2luTGVmdH18JHtjZWxsc318JHt0aGlzLm1hcmdpblJpZ2h0fWA7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgcm93IGlzIGEgZGVsaW1pdGVyIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcm93IGlzIGEgZGVsaW1pdGVyIGkuZS4gYWxsIHRoZSBjZWxscyBjb250YWluZWQgYXJlIGRlbGltaXRlcnMuXG4gICAgICovXG4gICAgaXNEZWxpbWl0ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jZWxscy5ldmVyeSgoY2VsbCkgPT4gY2VsbC5pc0RlbGltaXRlcigpKTtcbiAgICB9XG59XG5leHBvcnRzLlRhYmxlUm93ID0gVGFibGVSb3c7XG4iLCJcInVzZSBzdHJpY3RcIjtcbi8qKlxuICogUmV0cmlldmVkIGZyb21cbiAqICAgaHR0cHM6Ly9naXRodWIuY29tL3N1cGVybWFjcm8vbmV2ZXJ0aHJvd1xuICpcbiAqIE1JVCBMaWNlbnNlXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgR2lvcmdpbyBEZWxnYWRvXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuRXJyID0gZXhwb3J0cy5PayA9IGV4cG9ydHMuZXJyID0gZXhwb3J0cy5vayA9IHZvaWQgMDtcbmNvbnN0IG9rID0gKHZhbHVlKSA9PiBuZXcgT2sodmFsdWUpO1xuZXhwb3J0cy5vayA9IG9rO1xuY29uc3QgZXJyID0gKGVycikgPT4gbmV3IEVycihlcnIpO1xuZXhwb3J0cy5lcnIgPSBlcnI7XG5jbGFzcyBPayB7XG4gICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm1hdGNoID0gKG9rLCBfZXJyKSA9PiBvayh0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgaXNPaygpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlzRXJyKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNPaygpO1xuICAgIH1cbiAgICBtYXAoZikge1xuICAgICAgICByZXR1cm4gZXhwb3J0cy5vayhmKHRoaXMudmFsdWUpKTtcbiAgICB9XG4gICAgbWFwRXJyKF9mKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLm9rKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICAvLyBhZGQgaW5mbyBvbiBob3cgdGhpcyBpcyByZWFsbHkgdXNlZnVsIGZvciBjb252ZXJ0aW5nIGFcbiAgICAvLyBSZXN1bHQ8UmVzdWx0PFQsIEUyPiwgRTE+XG4gICAgLy8gaW50byBhIFJlc3VsdDxULCBFMj5cbiAgICBhbmRUaGVuKGYpIHtcbiAgICAgICAgcmV0dXJuIGYodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHVud3JhcE9yKF92KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICBfdW5zYWZlVW53cmFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG4gICAgX3Vuc2FmZVVud3JhcEVycigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsZWQgYF91bnNhZmVVbndyYXBFcnJgIG9uIGFuIE9rJyk7XG4gICAgfVxufVxuZXhwb3J0cy5PayA9IE9rO1xuY2xhc3MgRXJyIHtcbiAgICBjb25zdHJ1Y3RvcihlcnJvcikge1xuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMubWF0Y2ggPSAoX29rLCBlcnIpID0+IGVycih0aGlzLmVycm9yKTtcbiAgICB9XG4gICAgaXNPaygpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpc0VycigpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzT2soKTtcbiAgICB9XG4gICAgbWFwKF9mKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLmVycih0aGlzLmVycm9yKTtcbiAgICB9XG4gICAgbWFwRXJyKGYpIHtcbiAgICAgICAgcmV0dXJuIGV4cG9ydHMuZXJyKGYodGhpcy5lcnJvcikpO1xuICAgIH1cbiAgICBhbmRUaGVuKF9mKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLmVycih0aGlzLmVycm9yKTtcbiAgICB9XG4gICAgdW53cmFwT3Iodikge1xuICAgICAgICByZXR1cm4gdjtcbiAgICB9XG4gICAgX3Vuc2FmZVVud3JhcCgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYWxsZWQgYF91bnNhZmVVbndyYXBgIG9uIGFuIEVycicpO1xuICAgIH1cbiAgICBfdW5zYWZlVW53cmFwRXJyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lcnJvcjtcbiAgICB9XG59XG5leHBvcnRzLkVyciA9IEVycjtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wcmV0dHlQcmludEFTVCA9IGV4cG9ydHMuY2hlY2tDaGlsZExlbmd0aCA9IGV4cG9ydHMuY2hlY2tUeXBlID0gZXhwb3J0cy5lcnJSZWxhdGl2ZVJlZmVyZW5jZUluZGV4ID0gZXhwb3J0cy5lcnJJbmRleDAgPSB2b2lkIDA7XG5leHBvcnRzLmVyckluZGV4MCA9IG5ldyBFcnJvcignSW5kZXggMCB1c2VkIHRvIGNyZWF0ZSBhIHJlZmVyZW5jZScpO1xuZXhwb3J0cy5lcnJSZWxhdGl2ZVJlZmVyZW5jZUluZGV4ID0gbmV3IEVycm9yKCdDYW4gbm90IHVzZSByZWxhdGl2ZSByZWZlcmVuY2Ugd2hlcmUgYWJzb2x1dGUgcmVmZXJlbmNlIGlzIHJlcXVpcmVkJyk7XG5jb25zdCBjaGVja1R5cGUgPSAoYXN0LCAuLi5leHBlY3RlZFR5cGVzKSA9PiB7XG4gICAgaWYgKGV4cGVjdGVkVHlwZXMuaW5kZXhPZihhc3QudHlwZSkgPj0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoYEZvcm11bGEgZWxlbWVudCAnJHthc3QudGV4dH0nIGlzIGEgJHthc3QudHlwZX0gYnV0IGV4cGVjdGVkIGAgK1xuICAgICAgICBgb25lIG9mICR7ZXhwZWN0ZWRUeXBlc30gaW4gdGhpcyBwb3NpdGlvbi5gKTtcbn07XG5leHBvcnRzLmNoZWNrVHlwZSA9IGNoZWNrVHlwZTtcbmNvbnN0IGNoZWNrQ2hpbGRMZW5ndGggPSAoYXN0LCBsZW4pID0+IHtcbiAgICBpZiAoYXN0LmNoaWxkcmVuLmxlbmd0aCA9PT0gbGVuKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBFcnJvcihgRm9ybXVsYSBlbGVtZW50ICcke2FzdC50ZXh0fScgd2FzIGV4cGVjdGVkIHRvIGhhdmUgJHtsZW59IGAgK1xuICAgICAgICBgZWxlbWVudHMsIGJ1dCBoYWQgJHthc3QuY2hpbGRyZW4ubGVuZ3RofWApO1xufTtcbmV4cG9ydHMuY2hlY2tDaGlsZExlbmd0aCA9IGNoZWNrQ2hpbGRMZW5ndGg7XG5jb25zdCBwcmV0dHlQcmludEFTVCA9ICh0b2tlbiwgbGV2ZWwgPSAwKSA9PiB7XG4gICAgY29uc29sZS5sb2coJyAgJy5yZXBlYXQobGV2ZWwpICtcbiAgICAgICAgYHwtJHt0b2tlbi50eXBlfSR7dG9rZW4uY2hpbGRyZW4ubGVuZ3RoID09PSAwID8gJz0nICsgdG9rZW4udGV4dCA6ICcnfWApO1xuICAgIGlmICh0b2tlbi5jaGlsZHJlbikge1xuICAgICAgICB0b2tlbi5jaGlsZHJlbi5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICBleHBvcnRzLnByZXR0eVByaW50QVNUKGMsIGxldmVsICsgMSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5leHBvcnRzLnByZXR0eVByaW50QVNUID0gcHJldHR5UHJpbnRBU1Q7XG4iLCIvKipcbiAqIEBsaWNlbnNlXG4gKiBMb2Rhc2ggPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBDb3B5cmlnaHQgT3BlbkpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyA8aHR0cHM6Ly9vcGVuanNmLm9yZy8+XG4gKiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+XG4gKiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPlxuICogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzXG4gKi9cbjsoZnVuY3Rpb24oKSB7XG5cbiAgLyoqIFVzZWQgYXMgYSBzYWZlIHJlZmVyZW5jZSBmb3IgYHVuZGVmaW5lZGAgaW4gcHJlLUVTNSBlbnZpcm9ubWVudHMuICovXG4gIHZhciB1bmRlZmluZWQ7XG5cbiAgLyoqIFVzZWQgYXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyLiAqL1xuICB2YXIgVkVSU0lPTiA9ICc0LjE3LjIwJztcblxuICAvKiogVXNlZCBhcyB0aGUgc2l6ZSB0byBlbmFibGUgbGFyZ2UgYXJyYXkgb3B0aW1pemF0aW9ucy4gKi9cbiAgdmFyIExBUkdFX0FSUkFZX1NJWkUgPSAyMDA7XG5cbiAgLyoqIEVycm9yIG1lc3NhZ2UgY29uc3RhbnRzLiAqL1xuICB2YXIgQ09SRV9FUlJPUl9URVhUID0gJ1Vuc3VwcG9ydGVkIGNvcmUtanMgdXNlLiBUcnkgaHR0cHM6Ly9ucG1zLmlvL3NlYXJjaD9xPXBvbnlmaWxsLicsXG4gICAgICBGVU5DX0VSUk9SX1RFWFQgPSAnRXhwZWN0ZWQgYSBmdW5jdGlvbic7XG5cbiAgLyoqIFVzZWQgdG8gc3RhbmQtaW4gZm9yIGB1bmRlZmluZWRgIGhhc2ggdmFsdWVzLiAqL1xuICB2YXIgSEFTSF9VTkRFRklORUQgPSAnX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyc7XG5cbiAgLyoqIFVzZWQgYXMgdGhlIG1heGltdW0gbWVtb2l6ZSBjYWNoZSBzaXplLiAqL1xuICB2YXIgTUFYX01FTU9JWkVfU0laRSA9IDUwMDtcblxuICAvKiogVXNlZCBhcyB0aGUgaW50ZXJuYWwgYXJndW1lbnQgcGxhY2Vob2xkZXIuICovXG4gIHZhciBQTEFDRUhPTERFUiA9ICdfX2xvZGFzaF9wbGFjZWhvbGRlcl9fJztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIGJpdG1hc2tzIGZvciBjbG9uaW5nLiAqL1xuICB2YXIgQ0xPTkVfREVFUF9GTEFHID0gMSxcbiAgICAgIENMT05FX0ZMQVRfRkxBRyA9IDIsXG4gICAgICBDTE9ORV9TWU1CT0xTX0ZMQUcgPSA0O1xuXG4gIC8qKiBVc2VkIHRvIGNvbXBvc2UgYml0bWFza3MgZm9yIHZhbHVlIGNvbXBhcmlzb25zLiAqL1xuICB2YXIgQ09NUEFSRV9QQVJUSUFMX0ZMQUcgPSAxLFxuICAgICAgQ09NUEFSRV9VTk9SREVSRURfRkxBRyA9IDI7XG5cbiAgLyoqIFVzZWQgdG8gY29tcG9zZSBiaXRtYXNrcyBmb3IgZnVuY3Rpb24gbWV0YWRhdGEuICovXG4gIHZhciBXUkFQX0JJTkRfRkxBRyA9IDEsXG4gICAgICBXUkFQX0JJTkRfS0VZX0ZMQUcgPSAyLFxuICAgICAgV1JBUF9DVVJSWV9CT1VORF9GTEFHID0gNCxcbiAgICAgIFdSQVBfQ1VSUllfRkxBRyA9IDgsXG4gICAgICBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcgPSAxNixcbiAgICAgIFdSQVBfUEFSVElBTF9GTEFHID0gMzIsXG4gICAgICBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyA9IDY0LFxuICAgICAgV1JBUF9BUllfRkxBRyA9IDEyOCxcbiAgICAgIFdSQVBfUkVBUkdfRkxBRyA9IDI1NixcbiAgICAgIFdSQVBfRkxJUF9GTEFHID0gNTEyO1xuXG4gIC8qKiBVc2VkIGFzIGRlZmF1bHQgb3B0aW9ucyBmb3IgYF8udHJ1bmNhdGVgLiAqL1xuICB2YXIgREVGQVVMVF9UUlVOQ19MRU5HVEggPSAzMCxcbiAgICAgIERFRkFVTFRfVFJVTkNfT01JU1NJT04gPSAnLi4uJztcblxuICAvKiogVXNlZCB0byBkZXRlY3QgaG90IGZ1bmN0aW9ucyBieSBudW1iZXIgb2YgY2FsbHMgd2l0aGluIGEgc3BhbiBvZiBtaWxsaXNlY29uZHMuICovXG4gIHZhciBIT1RfQ09VTlQgPSA4MDAsXG4gICAgICBIT1RfU1BBTiA9IDE2O1xuXG4gIC8qKiBVc2VkIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIGxhenkgaXRlcmF0ZWVzLiAqL1xuICB2YXIgTEFaWV9GSUxURVJfRkxBRyA9IDEsXG4gICAgICBMQVpZX01BUF9GTEFHID0gMixcbiAgICAgIExBWllfV0hJTEVfRkxBRyA9IDM7XG5cbiAgLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdmFyaW91cyBgTnVtYmVyYCBjb25zdGFudHMuICovXG4gIHZhciBJTkZJTklUWSA9IDEgLyAwLFxuICAgICAgTUFYX1NBRkVfSU5URUdFUiA9IDkwMDcxOTkyNTQ3NDA5OTEsXG4gICAgICBNQVhfSU5URUdFUiA9IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4LFxuICAgICAgTkFOID0gMCAvIDA7XG5cbiAgLyoqIFVzZWQgYXMgcmVmZXJlbmNlcyBmb3IgdGhlIG1heGltdW0gbGVuZ3RoIGFuZCBpbmRleCBvZiBhbiBhcnJheS4gKi9cbiAgdmFyIE1BWF9BUlJBWV9MRU5HVEggPSA0Mjk0OTY3Mjk1LFxuICAgICAgTUFYX0FSUkFZX0lOREVYID0gTUFYX0FSUkFZX0xFTkdUSCAtIDEsXG4gICAgICBIQUxGX01BWF9BUlJBWV9MRU5HVEggPSBNQVhfQVJSQVlfTEVOR1RIID4+PiAxO1xuXG4gIC8qKiBVc2VkIHRvIGFzc29jaWF0ZSB3cmFwIG1ldGhvZHMgd2l0aCB0aGVpciBiaXQgZmxhZ3MuICovXG4gIHZhciB3cmFwRmxhZ3MgPSBbXG4gICAgWydhcnknLCBXUkFQX0FSWV9GTEFHXSxcbiAgICBbJ2JpbmQnLCBXUkFQX0JJTkRfRkxBR10sXG4gICAgWydiaW5kS2V5JywgV1JBUF9CSU5EX0tFWV9GTEFHXSxcbiAgICBbJ2N1cnJ5JywgV1JBUF9DVVJSWV9GTEFHXSxcbiAgICBbJ2N1cnJ5UmlnaHQnLCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUddLFxuICAgIFsnZmxpcCcsIFdSQVBfRkxJUF9GTEFHXSxcbiAgICBbJ3BhcnRpYWwnLCBXUkFQX1BBUlRJQUxfRkxBR10sXG4gICAgWydwYXJ0aWFsUmlnaHQnLCBXUkFQX1BBUlRJQUxfUklHSFRfRkxBR10sXG4gICAgWydyZWFyZycsIFdSQVBfUkVBUkdfRkxBR11cbiAgXTtcblxuICAvKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG4gIHZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXScsXG4gICAgICBhcnJheVRhZyA9ICdbb2JqZWN0IEFycmF5XScsXG4gICAgICBhc3luY1RhZyA9ICdbb2JqZWN0IEFzeW5jRnVuY3Rpb25dJyxcbiAgICAgIGJvb2xUYWcgPSAnW29iamVjdCBCb29sZWFuXScsXG4gICAgICBkYXRlVGFnID0gJ1tvYmplY3QgRGF0ZV0nLFxuICAgICAgZG9tRXhjVGFnID0gJ1tvYmplY3QgRE9NRXhjZXB0aW9uXScsXG4gICAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXScsXG4gICAgICBmdW5jVGFnID0gJ1tvYmplY3QgRnVuY3Rpb25dJyxcbiAgICAgIGdlblRhZyA9ICdbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXScsXG4gICAgICBtYXBUYWcgPSAnW29iamVjdCBNYXBdJyxcbiAgICAgIG51bWJlclRhZyA9ICdbb2JqZWN0IE51bWJlcl0nLFxuICAgICAgbnVsbFRhZyA9ICdbb2JqZWN0IE51bGxdJyxcbiAgICAgIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nLFxuICAgICAgcHJvbWlzZVRhZyA9ICdbb2JqZWN0IFByb21pc2VdJyxcbiAgICAgIHByb3h5VGFnID0gJ1tvYmplY3QgUHJveHldJyxcbiAgICAgIHJlZ2V4cFRhZyA9ICdbb2JqZWN0IFJlZ0V4cF0nLFxuICAgICAgc2V0VGFnID0gJ1tvYmplY3QgU2V0XScsXG4gICAgICBzdHJpbmdUYWcgPSAnW29iamVjdCBTdHJpbmddJyxcbiAgICAgIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nLFxuICAgICAgdW5kZWZpbmVkVGFnID0gJ1tvYmplY3QgVW5kZWZpbmVkXScsXG4gICAgICB3ZWFrTWFwVGFnID0gJ1tvYmplY3QgV2Vha01hcF0nLFxuICAgICAgd2Vha1NldFRhZyA9ICdbb2JqZWN0IFdlYWtTZXRdJztcblxuICB2YXIgYXJyYXlCdWZmZXJUYWcgPSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nLFxuICAgICAgZGF0YVZpZXdUYWcgPSAnW29iamVjdCBEYXRhVmlld10nLFxuICAgICAgZmxvYXQzMlRhZyA9ICdbb2JqZWN0IEZsb2F0MzJBcnJheV0nLFxuICAgICAgZmxvYXQ2NFRhZyA9ICdbb2JqZWN0IEZsb2F0NjRBcnJheV0nLFxuICAgICAgaW50OFRhZyA9ICdbb2JqZWN0IEludDhBcnJheV0nLFxuICAgICAgaW50MTZUYWcgPSAnW29iamVjdCBJbnQxNkFycmF5XScsXG4gICAgICBpbnQzMlRhZyA9ICdbb2JqZWN0IEludDMyQXJyYXldJyxcbiAgICAgIHVpbnQ4VGFnID0gJ1tvYmplY3QgVWludDhBcnJheV0nLFxuICAgICAgdWludDhDbGFtcGVkVGFnID0gJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICAgIHVpbnQxNlRhZyA9ICdbb2JqZWN0IFVpbnQxNkFycmF5XScsXG4gICAgICB1aW50MzJUYWcgPSAnW29iamVjdCBVaW50MzJBcnJheV0nO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGVtcHR5IHN0cmluZyBsaXRlcmFscyBpbiBjb21waWxlZCB0ZW1wbGF0ZSBzb3VyY2UuICovXG4gIHZhciByZUVtcHR5U3RyaW5nTGVhZGluZyA9IC9cXGJfX3AgXFwrPSAnJzsvZyxcbiAgICAgIHJlRW1wdHlTdHJpbmdNaWRkbGUgPSAvXFxiKF9fcCBcXCs9KSAnJyBcXCsvZyxcbiAgICAgIHJlRW1wdHlTdHJpbmdUcmFpbGluZyA9IC8oX19lXFwoLio/XFwpfFxcYl9fdFxcKSkgXFwrXFxuJyc7L2c7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggSFRNTCBlbnRpdGllcyBhbmQgSFRNTCBjaGFyYWN0ZXJzLiAqL1xuICB2YXIgcmVFc2NhcGVkSHRtbCA9IC8mKD86YW1wfGx0fGd0fHF1b3R8IzM5KTsvZyxcbiAgICAgIHJlVW5lc2NhcGVkSHRtbCA9IC9bJjw+XCInXS9nLFxuICAgICAgcmVIYXNFc2NhcGVkSHRtbCA9IFJlZ0V4cChyZUVzY2FwZWRIdG1sLnNvdXJjZSksXG4gICAgICByZUhhc1VuZXNjYXBlZEh0bWwgPSBSZWdFeHAocmVVbmVzY2FwZWRIdG1sLnNvdXJjZSk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbiAgdmFyIHJlRXNjYXBlID0gLzwlLShbXFxzXFxTXSs/KSU+L2csXG4gICAgICByZUV2YWx1YXRlID0gLzwlKFtcXHNcXFNdKz8pJT4vZyxcbiAgICAgIHJlSW50ZXJwb2xhdGUgPSAvPCU9KFtcXHNcXFNdKz8pJT4vZztcblxuICAvKiogVXNlZCB0byBtYXRjaCBwcm9wZXJ0eSBuYW1lcyB3aXRoaW4gcHJvcGVydHkgcGF0aHMuICovXG4gIHZhciByZUlzRGVlcFByb3AgPSAvXFwufFxcWyg/OlteW1xcXV0qfChbXCInXSkoPzooPyFcXDEpW15cXFxcXXxcXFxcLikqP1xcMSlcXF0vLFxuICAgICAgcmVJc1BsYWluUHJvcCA9IC9eXFx3KiQvLFxuICAgICAgcmVQcm9wTmFtZSA9IC9bXi5bXFxdXSt8XFxbKD86KC0/XFxkKyg/OlxcLlxcZCspPyl8KFtcIiddKSgoPzooPyFcXDIpW15cXFxcXXxcXFxcLikqPylcXDIpXFxdfCg/PSg/OlxcLnxcXFtcXF0pKD86XFwufFxcW1xcXXwkKSkvZztcblxuICAvKipcbiAgICogVXNlZCB0byBtYXRjaCBgUmVnRXhwYFxuICAgKiBbc3ludGF4IGNoYXJhY3RlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXBhdHRlcm5zKS5cbiAgICovXG4gIHZhciByZVJlZ0V4cENoYXIgPSAvW1xcXFxeJC4qKz8oKVtcXF17fXxdL2csXG4gICAgICByZUhhc1JlZ0V4cENoYXIgPSBSZWdFeHAocmVSZWdFeHBDaGFyLnNvdXJjZSk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZS4gKi9cbiAgdmFyIHJlVHJpbSA9IC9eXFxzK3xcXHMrJC9nLFxuICAgICAgcmVUcmltU3RhcnQgPSAvXlxccysvLFxuICAgICAgcmVUcmltRW5kID0gL1xccyskLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB3cmFwIGRldGFpbCBjb21tZW50cy4gKi9cbiAgdmFyIHJlV3JhcENvbW1lbnQgPSAvXFx7KD86XFxuXFwvXFwqIFxcW3dyYXBwZWQgd2l0aCAuK1xcXSBcXCpcXC8pP1xcbj8vLFxuICAgICAgcmVXcmFwRGV0YWlscyA9IC9cXHtcXG5cXC9cXCogXFxbd3JhcHBlZCB3aXRoICguKylcXF0gXFwqLyxcbiAgICAgIHJlU3BsaXREZXRhaWxzID0gLyw/ICYgLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB3b3JkcyBjb21wb3NlZCBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycy4gKi9cbiAgdmFyIHJlQXNjaWlXb3JkID0gL1teXFx4MDAtXFx4MmZcXHgzYS1cXHg0MFxceDViLVxceDYwXFx4N2ItXFx4N2ZdKy9nO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGJhY2tzbGFzaGVzIGluIHByb3BlcnR5IHBhdGhzLiAqL1xuICB2YXIgcmVFc2NhcGVDaGFyID0gL1xcXFwoXFxcXCk/L2c7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWF0Y2hcbiAgICogW0VTIHRlbXBsYXRlIGRlbGltaXRlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRlbXBsYXRlLWxpdGVyYWwtbGV4aWNhbC1jb21wb25lbnRzKS5cbiAgICovXG4gIHZhciByZUVzVGVtcGxhdGUgPSAvXFwkXFx7KFteXFxcXH1dKig/OlxcXFwuW15cXFxcfV0qKSopXFx9L2c7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggYFJlZ0V4cGAgZmxhZ3MgZnJvbSB0aGVpciBjb2VyY2VkIHN0cmluZyB2YWx1ZXMuICovXG4gIHZhciByZUZsYWdzID0gL1xcdyokLztcblxuICAvKiogVXNlZCB0byBkZXRlY3QgYmFkIHNpZ25lZCBoZXhhZGVjaW1hbCBzdHJpbmcgdmFsdWVzLiAqL1xuICB2YXIgcmVJc0JhZEhleCA9IC9eWy0rXTB4WzAtOWEtZl0rJC9pO1xuXG4gIC8qKiBVc2VkIHRvIGRldGVjdCBiaW5hcnkgc3RyaW5nIHZhbHVlcy4gKi9cbiAgdmFyIHJlSXNCaW5hcnkgPSAvXjBiWzAxXSskL2k7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IGhvc3QgY29uc3RydWN0b3JzIChTYWZhcmkpLiAqL1xuICB2YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcblxuICAvKiogVXNlZCB0byBkZXRlY3Qgb2N0YWwgc3RyaW5nIHZhbHVlcy4gKi9cbiAgdmFyIHJlSXNPY3RhbCA9IC9eMG9bMC03XSskL2k7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IHVuc2lnbmVkIGludGVnZXIgdmFsdWVzLiAqL1xuICB2YXIgcmVJc1VpbnQgPSAvXig/OjB8WzEtOV1cXGQqKSQvO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIExhdGluIFVuaWNvZGUgbGV0dGVycyAoZXhjbHVkaW5nIG1hdGhlbWF0aWNhbCBvcGVyYXRvcnMpLiAqL1xuICB2YXIgcmVMYXRpbiA9IC9bXFx4YzAtXFx4ZDZcXHhkOC1cXHhmNlxceGY4LVxceGZmXFx1MDEwMC1cXHUwMTdmXS9nO1xuXG4gIC8qKiBVc2VkIHRvIGVuc3VyZSBjYXB0dXJpbmcgb3JkZXIgb2YgdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbiAgdmFyIHJlTm9NYXRjaCA9IC8oJF4pLztcblxuICAvKiogVXNlZCB0byBtYXRjaCB1bmVzY2FwZWQgY2hhcmFjdGVycyBpbiBjb21waWxlZCBzdHJpbmcgbGl0ZXJhbHMuICovXG4gIHZhciByZVVuZXNjYXBlZFN0cmluZyA9IC9bJ1xcblxcclxcdTIwMjhcXHUyMDI5XFxcXF0vZztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIHVuaWNvZGUgY2hhcmFjdGVyIGNsYXNzZXMuICovXG4gIHZhciByc0FzdHJhbFJhbmdlID0gJ1xcXFx1ZDgwMC1cXFxcdWRmZmYnLFxuICAgICAgcnNDb21ib01hcmtzUmFuZ2UgPSAnXFxcXHUwMzAwLVxcXFx1MDM2ZicsXG4gICAgICByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgPSAnXFxcXHVmZTIwLVxcXFx1ZmUyZicsXG4gICAgICByc0NvbWJvU3ltYm9sc1JhbmdlID0gJ1xcXFx1MjBkMC1cXFxcdTIwZmYnLFxuICAgICAgcnNDb21ib1JhbmdlID0gcnNDb21ib01hcmtzUmFuZ2UgKyByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgKyByc0NvbWJvU3ltYm9sc1JhbmdlLFxuICAgICAgcnNEaW5nYmF0UmFuZ2UgPSAnXFxcXHUyNzAwLVxcXFx1MjdiZicsXG4gICAgICByc0xvd2VyUmFuZ2UgPSAnYS16XFxcXHhkZi1cXFxceGY2XFxcXHhmOC1cXFxceGZmJyxcbiAgICAgIHJzTWF0aE9wUmFuZ2UgPSAnXFxcXHhhY1xcXFx4YjFcXFxceGQ3XFxcXHhmNycsXG4gICAgICByc05vbkNoYXJSYW5nZSA9ICdcXFxceDAwLVxcXFx4MmZcXFxceDNhLVxcXFx4NDBcXFxceDViLVxcXFx4NjBcXFxceDdiLVxcXFx4YmYnLFxuICAgICAgcnNQdW5jdHVhdGlvblJhbmdlID0gJ1xcXFx1MjAwMC1cXFxcdTIwNmYnLFxuICAgICAgcnNTcGFjZVJhbmdlID0gJyBcXFxcdFxcXFx4MGJcXFxcZlxcXFx4YTBcXFxcdWZlZmZcXFxcblxcXFxyXFxcXHUyMDI4XFxcXHUyMDI5XFxcXHUxNjgwXFxcXHUxODBlXFxcXHUyMDAwXFxcXHUyMDAxXFxcXHUyMDAyXFxcXHUyMDAzXFxcXHUyMDA0XFxcXHUyMDA1XFxcXHUyMDA2XFxcXHUyMDA3XFxcXHUyMDA4XFxcXHUyMDA5XFxcXHUyMDBhXFxcXHUyMDJmXFxcXHUyMDVmXFxcXHUzMDAwJyxcbiAgICAgIHJzVXBwZXJSYW5nZSA9ICdBLVpcXFxceGMwLVxcXFx4ZDZcXFxceGQ4LVxcXFx4ZGUnLFxuICAgICAgcnNWYXJSYW5nZSA9ICdcXFxcdWZlMGVcXFxcdWZlMGYnLFxuICAgICAgcnNCcmVha1JhbmdlID0gcnNNYXRoT3BSYW5nZSArIHJzTm9uQ2hhclJhbmdlICsgcnNQdW5jdHVhdGlvblJhbmdlICsgcnNTcGFjZVJhbmdlO1xuXG4gIC8qKiBVc2VkIHRvIGNvbXBvc2UgdW5pY29kZSBjYXB0dXJlIGdyb3Vwcy4gKi9cbiAgdmFyIHJzQXBvcyA9IFwiWydcXHUyMDE5XVwiLFxuICAgICAgcnNBc3RyYWwgPSAnWycgKyByc0FzdHJhbFJhbmdlICsgJ10nLFxuICAgICAgcnNCcmVhayA9ICdbJyArIHJzQnJlYWtSYW5nZSArICddJyxcbiAgICAgIHJzQ29tYm8gPSAnWycgKyByc0NvbWJvUmFuZ2UgKyAnXScsXG4gICAgICByc0RpZ2l0cyA9ICdcXFxcZCsnLFxuICAgICAgcnNEaW5nYmF0ID0gJ1snICsgcnNEaW5nYmF0UmFuZ2UgKyAnXScsXG4gICAgICByc0xvd2VyID0gJ1snICsgcnNMb3dlclJhbmdlICsgJ10nLFxuICAgICAgcnNNaXNjID0gJ1teJyArIHJzQXN0cmFsUmFuZ2UgKyByc0JyZWFrUmFuZ2UgKyByc0RpZ2l0cyArIHJzRGluZ2JhdFJhbmdlICsgcnNMb3dlclJhbmdlICsgcnNVcHBlclJhbmdlICsgJ10nLFxuICAgICAgcnNGaXR6ID0gJ1xcXFx1ZDgzY1tcXFxcdWRmZmItXFxcXHVkZmZmXScsXG4gICAgICByc01vZGlmaWVyID0gJyg/OicgKyByc0NvbWJvICsgJ3wnICsgcnNGaXR6ICsgJyknLFxuICAgICAgcnNOb25Bc3RyYWwgPSAnW14nICsgcnNBc3RyYWxSYW5nZSArICddJyxcbiAgICAgIHJzUmVnaW9uYWwgPSAnKD86XFxcXHVkODNjW1xcXFx1ZGRlNi1cXFxcdWRkZmZdKXsyfScsXG4gICAgICByc1N1cnJQYWlyID0gJ1tcXFxcdWQ4MDAtXFxcXHVkYmZmXVtcXFxcdWRjMDAtXFxcXHVkZmZmXScsXG4gICAgICByc1VwcGVyID0gJ1snICsgcnNVcHBlclJhbmdlICsgJ10nLFxuICAgICAgcnNaV0ogPSAnXFxcXHUyMDBkJztcblxuICAvKiogVXNlZCB0byBjb21wb3NlIHVuaWNvZGUgcmVnZXhlcy4gKi9cbiAgdmFyIHJzTWlzY0xvd2VyID0gJyg/OicgKyByc0xvd2VyICsgJ3wnICsgcnNNaXNjICsgJyknLFxuICAgICAgcnNNaXNjVXBwZXIgPSAnKD86JyArIHJzVXBwZXIgKyAnfCcgKyByc01pc2MgKyAnKScsXG4gICAgICByc09wdENvbnRyTG93ZXIgPSAnKD86JyArIHJzQXBvcyArICcoPzpkfGxsfG18cmV8c3x0fHZlKSk/JyxcbiAgICAgIHJzT3B0Q29udHJVcHBlciA9ICcoPzonICsgcnNBcG9zICsgJyg/OkR8TEx8TXxSRXxTfFR8VkUpKT8nLFxuICAgICAgcmVPcHRNb2QgPSByc01vZGlmaWVyICsgJz8nLFxuICAgICAgcnNPcHRWYXIgPSAnWycgKyByc1ZhclJhbmdlICsgJ10/JyxcbiAgICAgIHJzT3B0Sm9pbiA9ICcoPzonICsgcnNaV0ogKyAnKD86JyArIFtyc05vbkFzdHJhbCwgcnNSZWdpb25hbCwgcnNTdXJyUGFpcl0uam9pbignfCcpICsgJyknICsgcnNPcHRWYXIgKyByZU9wdE1vZCArICcpKicsXG4gICAgICByc09yZExvd2VyID0gJ1xcXFxkKig/OjFzdHwybmR8M3JkfCg/IVsxMjNdKVxcXFxkdGgpKD89XFxcXGJ8W0EtWl9dKScsXG4gICAgICByc09yZFVwcGVyID0gJ1xcXFxkKig/OjFTVHwyTkR8M1JEfCg/IVsxMjNdKVxcXFxkVEgpKD89XFxcXGJ8W2Etel9dKScsXG4gICAgICByc1NlcSA9IHJzT3B0VmFyICsgcmVPcHRNb2QgKyByc09wdEpvaW4sXG4gICAgICByc0Vtb2ppID0gJyg/OicgKyBbcnNEaW5nYmF0LCByc1JlZ2lvbmFsLCByc1N1cnJQYWlyXS5qb2luKCd8JykgKyAnKScgKyByc1NlcSxcbiAgICAgIHJzU3ltYm9sID0gJyg/OicgKyBbcnNOb25Bc3RyYWwgKyByc0NvbWJvICsgJz8nLCByc0NvbWJvLCByc1JlZ2lvbmFsLCByc1N1cnJQYWlyLCByc0FzdHJhbF0uam9pbignfCcpICsgJyknO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGFwb3N0cm9waGVzLiAqL1xuICB2YXIgcmVBcG9zID0gUmVnRXhwKHJzQXBvcywgJ2cnKTtcblxuICAvKipcbiAgICogVXNlZCB0byBtYXRjaCBbY29tYmluaW5nIGRpYWNyaXRpY2FsIG1hcmtzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3MpIGFuZFxuICAgKiBbY29tYmluaW5nIGRpYWNyaXRpY2FsIG1hcmtzIGZvciBzeW1ib2xzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3NfZm9yX1N5bWJvbHMpLlxuICAgKi9cbiAgdmFyIHJlQ29tYm9NYXJrID0gUmVnRXhwKHJzQ29tYm8sICdnJyk7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggW3N0cmluZyBzeW1ib2xzXShodHRwczovL21hdGhpYXNieW5lbnMuYmUvbm90ZXMvamF2YXNjcmlwdC11bmljb2RlKS4gKi9cbiAgdmFyIHJlVW5pY29kZSA9IFJlZ0V4cChyc0ZpdHogKyAnKD89JyArIHJzRml0eiArICcpfCcgKyByc1N5bWJvbCArIHJzU2VxLCAnZycpO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGNvbXBsZXggb3IgY29tcG91bmQgd29yZHMuICovXG4gIHZhciByZVVuaWNvZGVXb3JkID0gUmVnRXhwKFtcbiAgICByc1VwcGVyICsgJz8nICsgcnNMb3dlciArICcrJyArIHJzT3B0Q29udHJMb3dlciArICcoPz0nICsgW3JzQnJlYWssIHJzVXBwZXIsICckJ10uam9pbignfCcpICsgJyknLFxuICAgIHJzTWlzY1VwcGVyICsgJysnICsgcnNPcHRDb250clVwcGVyICsgJyg/PScgKyBbcnNCcmVhaywgcnNVcHBlciArIHJzTWlzY0xvd2VyLCAnJCddLmpvaW4oJ3wnKSArICcpJyxcbiAgICByc1VwcGVyICsgJz8nICsgcnNNaXNjTG93ZXIgKyAnKycgKyByc09wdENvbnRyTG93ZXIsXG4gICAgcnNVcHBlciArICcrJyArIHJzT3B0Q29udHJVcHBlcixcbiAgICByc09yZFVwcGVyLFxuICAgIHJzT3JkTG93ZXIsXG4gICAgcnNEaWdpdHMsXG4gICAgcnNFbW9qaVxuICBdLmpvaW4oJ3wnKSwgJ2cnKTtcblxuICAvKiogVXNlZCB0byBkZXRlY3Qgc3RyaW5ncyB3aXRoIFt6ZXJvLXdpZHRoIGpvaW5lcnMgb3IgY29kZSBwb2ludHMgZnJvbSB0aGUgYXN0cmFsIHBsYW5lc10oaHR0cDovL2Vldi5lZS9ibG9nLzIwMTUvMDkvMTIvZGFyay1jb3JuZXJzLW9mLXVuaWNvZGUvKS4gKi9cbiAgdmFyIHJlSGFzVW5pY29kZSA9IFJlZ0V4cCgnWycgKyByc1pXSiArIHJzQXN0cmFsUmFuZ2UgICsgcnNDb21ib1JhbmdlICsgcnNWYXJSYW5nZSArICddJyk7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IHN0cmluZ3MgdGhhdCBuZWVkIGEgbW9yZSByb2J1c3QgcmVnZXhwIHRvIG1hdGNoIHdvcmRzLiAqL1xuICB2YXIgcmVIYXNVbmljb2RlV29yZCA9IC9bYS16XVtBLVpdfFtBLVpdezJ9W2Etel18WzAtOV1bYS16QS1aXXxbYS16QS1aXVswLTldfFteYS16QS1aMC05IF0vO1xuXG4gIC8qKiBVc2VkIHRvIGFzc2lnbiBkZWZhdWx0IGBjb250ZXh0YCBvYmplY3QgcHJvcGVydGllcy4gKi9cbiAgdmFyIGNvbnRleHRQcm9wcyA9IFtcbiAgICAnQXJyYXknLCAnQnVmZmVyJywgJ0RhdGFWaWV3JywgJ0RhdGUnLCAnRXJyb3InLCAnRmxvYXQzMkFycmF5JywgJ0Zsb2F0NjRBcnJheScsXG4gICAgJ0Z1bmN0aW9uJywgJ0ludDhBcnJheScsICdJbnQxNkFycmF5JywgJ0ludDMyQXJyYXknLCAnTWFwJywgJ01hdGgnLCAnT2JqZWN0JyxcbiAgICAnUHJvbWlzZScsICdSZWdFeHAnLCAnU2V0JywgJ1N0cmluZycsICdTeW1ib2wnLCAnVHlwZUVycm9yJywgJ1VpbnQ4QXJyYXknLFxuICAgICdVaW50OENsYW1wZWRBcnJheScsICdVaW50MTZBcnJheScsICdVaW50MzJBcnJheScsICdXZWFrTWFwJyxcbiAgICAnXycsICdjbGVhclRpbWVvdXQnLCAnaXNGaW5pdGUnLCAncGFyc2VJbnQnLCAnc2V0VGltZW91dCdcbiAgXTtcblxuICAvKiogVXNlZCB0byBtYWtlIHRlbXBsYXRlIHNvdXJjZVVSTHMgZWFzaWVyIHRvIGlkZW50aWZ5LiAqL1xuICB2YXIgdGVtcGxhdGVDb3VudGVyID0gLTE7XG5cbiAgLyoqIFVzZWQgdG8gaWRlbnRpZnkgYHRvU3RyaW5nVGFnYCB2YWx1ZXMgb2YgdHlwZWQgYXJyYXlzLiAqL1xuICB2YXIgdHlwZWRBcnJheVRhZ3MgPSB7fTtcbiAgdHlwZWRBcnJheVRhZ3NbZmxvYXQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1tmbG9hdDY0VGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW2ludDhUYWddID0gdHlwZWRBcnJheVRhZ3NbaW50MTZUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbaW50MzJUYWddID0gdHlwZWRBcnJheVRhZ3NbdWludDhUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1t1aW50MzJUYWddID0gdHJ1ZTtcbiAgdHlwZWRBcnJheVRhZ3NbYXJnc1RhZ10gPSB0eXBlZEFycmF5VGFnc1thcnJheVRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ10gPSB0eXBlZEFycmF5VGFnc1tib29sVGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW2RhdGFWaWV3VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2RhdGVUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbZXJyb3JUYWddID0gdHlwZWRBcnJheVRhZ3NbZnVuY1RhZ10gPVxuICB0eXBlZEFycmF5VGFnc1ttYXBUYWddID0gdHlwZWRBcnJheVRhZ3NbbnVtYmVyVGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW29iamVjdFRhZ10gPSB0eXBlZEFycmF5VGFnc1tyZWdleHBUYWddID1cbiAgdHlwZWRBcnJheVRhZ3Nbc2V0VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3N0cmluZ1RhZ10gPVxuICB0eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXSA9IGZhbHNlO1xuXG4gIC8qKiBVc2VkIHRvIGlkZW50aWZ5IGB0b1N0cmluZ1RhZ2AgdmFsdWVzIHN1cHBvcnRlZCBieSBgXy5jbG9uZWAuICovXG4gIHZhciBjbG9uZWFibGVUYWdzID0ge307XG4gIGNsb25lYWJsZVRhZ3NbYXJnc1RhZ10gPSBjbG9uZWFibGVUYWdzW2FycmF5VGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbYXJyYXlCdWZmZXJUYWddID0gY2xvbmVhYmxlVGFnc1tkYXRhVmlld1RhZ10gPVxuICBjbG9uZWFibGVUYWdzW2Jvb2xUYWddID0gY2xvbmVhYmxlVGFnc1tkYXRlVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbZmxvYXQzMlRhZ10gPSBjbG9uZWFibGVUYWdzW2Zsb2F0NjRUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tpbnQ4VGFnXSA9IGNsb25lYWJsZVRhZ3NbaW50MTZUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tpbnQzMlRhZ10gPSBjbG9uZWFibGVUYWdzW21hcFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW251bWJlclRhZ10gPSBjbG9uZWFibGVUYWdzW29iamVjdFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3JlZ2V4cFRhZ10gPSBjbG9uZWFibGVUYWdzW3NldFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3N0cmluZ1RhZ10gPSBjbG9uZWFibGVUYWdzW3N5bWJvbFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3VpbnQ4VGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbdWludDE2VGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG4gIGNsb25lYWJsZVRhZ3NbZXJyb3JUYWddID0gY2xvbmVhYmxlVGFnc1tmdW5jVGFnXSA9XG4gIGNsb25lYWJsZVRhZ3Nbd2Vha01hcFRhZ10gPSBmYWxzZTtcblxuICAvKiogVXNlZCB0byBtYXAgTGF0aW4gVW5pY29kZSBsZXR0ZXJzIHRvIGJhc2ljIExhdGluIGxldHRlcnMuICovXG4gIHZhciBkZWJ1cnJlZExldHRlcnMgPSB7XG4gICAgLy8gTGF0aW4tMSBTdXBwbGVtZW50IGJsb2NrLlxuICAgICdcXHhjMCc6ICdBJywgICdcXHhjMSc6ICdBJywgJ1xceGMyJzogJ0EnLCAnXFx4YzMnOiAnQScsICdcXHhjNCc6ICdBJywgJ1xceGM1JzogJ0EnLFxuICAgICdcXHhlMCc6ICdhJywgICdcXHhlMSc6ICdhJywgJ1xceGUyJzogJ2EnLCAnXFx4ZTMnOiAnYScsICdcXHhlNCc6ICdhJywgJ1xceGU1JzogJ2EnLFxuICAgICdcXHhjNyc6ICdDJywgICdcXHhlNyc6ICdjJyxcbiAgICAnXFx4ZDAnOiAnRCcsICAnXFx4ZjAnOiAnZCcsXG4gICAgJ1xceGM4JzogJ0UnLCAgJ1xceGM5JzogJ0UnLCAnXFx4Y2EnOiAnRScsICdcXHhjYic6ICdFJyxcbiAgICAnXFx4ZTgnOiAnZScsICAnXFx4ZTknOiAnZScsICdcXHhlYSc6ICdlJywgJ1xceGViJzogJ2UnLFxuICAgICdcXHhjYyc6ICdJJywgICdcXHhjZCc6ICdJJywgJ1xceGNlJzogJ0knLCAnXFx4Y2YnOiAnSScsXG4gICAgJ1xceGVjJzogJ2knLCAgJ1xceGVkJzogJ2knLCAnXFx4ZWUnOiAnaScsICdcXHhlZic6ICdpJyxcbiAgICAnXFx4ZDEnOiAnTicsICAnXFx4ZjEnOiAnbicsXG4gICAgJ1xceGQyJzogJ08nLCAgJ1xceGQzJzogJ08nLCAnXFx4ZDQnOiAnTycsICdcXHhkNSc6ICdPJywgJ1xceGQ2JzogJ08nLCAnXFx4ZDgnOiAnTycsXG4gICAgJ1xceGYyJzogJ28nLCAgJ1xceGYzJzogJ28nLCAnXFx4ZjQnOiAnbycsICdcXHhmNSc6ICdvJywgJ1xceGY2JzogJ28nLCAnXFx4ZjgnOiAnbycsXG4gICAgJ1xceGQ5JzogJ1UnLCAgJ1xceGRhJzogJ1UnLCAnXFx4ZGInOiAnVScsICdcXHhkYyc6ICdVJyxcbiAgICAnXFx4ZjknOiAndScsICAnXFx4ZmEnOiAndScsICdcXHhmYic6ICd1JywgJ1xceGZjJzogJ3UnLFxuICAgICdcXHhkZCc6ICdZJywgICdcXHhmZCc6ICd5JywgJ1xceGZmJzogJ3knLFxuICAgICdcXHhjNic6ICdBZScsICdcXHhlNic6ICdhZScsXG4gICAgJ1xceGRlJzogJ1RoJywgJ1xceGZlJzogJ3RoJyxcbiAgICAnXFx4ZGYnOiAnc3MnLFxuICAgIC8vIExhdGluIEV4dGVuZGVkLUEgYmxvY2suXG4gICAgJ1xcdTAxMDAnOiAnQScsICAnXFx1MDEwMic6ICdBJywgJ1xcdTAxMDQnOiAnQScsXG4gICAgJ1xcdTAxMDEnOiAnYScsICAnXFx1MDEwMyc6ICdhJywgJ1xcdTAxMDUnOiAnYScsXG4gICAgJ1xcdTAxMDYnOiAnQycsICAnXFx1MDEwOCc6ICdDJywgJ1xcdTAxMGEnOiAnQycsICdcXHUwMTBjJzogJ0MnLFxuICAgICdcXHUwMTA3JzogJ2MnLCAgJ1xcdTAxMDknOiAnYycsICdcXHUwMTBiJzogJ2MnLCAnXFx1MDEwZCc6ICdjJyxcbiAgICAnXFx1MDEwZSc6ICdEJywgICdcXHUwMTEwJzogJ0QnLCAnXFx1MDEwZic6ICdkJywgJ1xcdTAxMTEnOiAnZCcsXG4gICAgJ1xcdTAxMTInOiAnRScsICAnXFx1MDExNCc6ICdFJywgJ1xcdTAxMTYnOiAnRScsICdcXHUwMTE4JzogJ0UnLCAnXFx1MDExYSc6ICdFJyxcbiAgICAnXFx1MDExMyc6ICdlJywgICdcXHUwMTE1JzogJ2UnLCAnXFx1MDExNyc6ICdlJywgJ1xcdTAxMTknOiAnZScsICdcXHUwMTFiJzogJ2UnLFxuICAgICdcXHUwMTFjJzogJ0cnLCAgJ1xcdTAxMWUnOiAnRycsICdcXHUwMTIwJzogJ0cnLCAnXFx1MDEyMic6ICdHJyxcbiAgICAnXFx1MDExZCc6ICdnJywgICdcXHUwMTFmJzogJ2cnLCAnXFx1MDEyMSc6ICdnJywgJ1xcdTAxMjMnOiAnZycsXG4gICAgJ1xcdTAxMjQnOiAnSCcsICAnXFx1MDEyNic6ICdIJywgJ1xcdTAxMjUnOiAnaCcsICdcXHUwMTI3JzogJ2gnLFxuICAgICdcXHUwMTI4JzogJ0knLCAgJ1xcdTAxMmEnOiAnSScsICdcXHUwMTJjJzogJ0knLCAnXFx1MDEyZSc6ICdJJywgJ1xcdTAxMzAnOiAnSScsXG4gICAgJ1xcdTAxMjknOiAnaScsICAnXFx1MDEyYic6ICdpJywgJ1xcdTAxMmQnOiAnaScsICdcXHUwMTJmJzogJ2knLCAnXFx1MDEzMSc6ICdpJyxcbiAgICAnXFx1MDEzNCc6ICdKJywgICdcXHUwMTM1JzogJ2onLFxuICAgICdcXHUwMTM2JzogJ0snLCAgJ1xcdTAxMzcnOiAnaycsICdcXHUwMTM4JzogJ2snLFxuICAgICdcXHUwMTM5JzogJ0wnLCAgJ1xcdTAxM2InOiAnTCcsICdcXHUwMTNkJzogJ0wnLCAnXFx1MDEzZic6ICdMJywgJ1xcdTAxNDEnOiAnTCcsXG4gICAgJ1xcdTAxM2EnOiAnbCcsICAnXFx1MDEzYyc6ICdsJywgJ1xcdTAxM2UnOiAnbCcsICdcXHUwMTQwJzogJ2wnLCAnXFx1MDE0Mic6ICdsJyxcbiAgICAnXFx1MDE0Myc6ICdOJywgICdcXHUwMTQ1JzogJ04nLCAnXFx1MDE0Nyc6ICdOJywgJ1xcdTAxNGEnOiAnTicsXG4gICAgJ1xcdTAxNDQnOiAnbicsICAnXFx1MDE0Nic6ICduJywgJ1xcdTAxNDgnOiAnbicsICdcXHUwMTRiJzogJ24nLFxuICAgICdcXHUwMTRjJzogJ08nLCAgJ1xcdTAxNGUnOiAnTycsICdcXHUwMTUwJzogJ08nLFxuICAgICdcXHUwMTRkJzogJ28nLCAgJ1xcdTAxNGYnOiAnbycsICdcXHUwMTUxJzogJ28nLFxuICAgICdcXHUwMTU0JzogJ1InLCAgJ1xcdTAxNTYnOiAnUicsICdcXHUwMTU4JzogJ1InLFxuICAgICdcXHUwMTU1JzogJ3InLCAgJ1xcdTAxNTcnOiAncicsICdcXHUwMTU5JzogJ3InLFxuICAgICdcXHUwMTVhJzogJ1MnLCAgJ1xcdTAxNWMnOiAnUycsICdcXHUwMTVlJzogJ1MnLCAnXFx1MDE2MCc6ICdTJyxcbiAgICAnXFx1MDE1Yic6ICdzJywgICdcXHUwMTVkJzogJ3MnLCAnXFx1MDE1Zic6ICdzJywgJ1xcdTAxNjEnOiAncycsXG4gICAgJ1xcdTAxNjInOiAnVCcsICAnXFx1MDE2NCc6ICdUJywgJ1xcdTAxNjYnOiAnVCcsXG4gICAgJ1xcdTAxNjMnOiAndCcsICAnXFx1MDE2NSc6ICd0JywgJ1xcdTAxNjcnOiAndCcsXG4gICAgJ1xcdTAxNjgnOiAnVScsICAnXFx1MDE2YSc6ICdVJywgJ1xcdTAxNmMnOiAnVScsICdcXHUwMTZlJzogJ1UnLCAnXFx1MDE3MCc6ICdVJywgJ1xcdTAxNzInOiAnVScsXG4gICAgJ1xcdTAxNjknOiAndScsICAnXFx1MDE2Yic6ICd1JywgJ1xcdTAxNmQnOiAndScsICdcXHUwMTZmJzogJ3UnLCAnXFx1MDE3MSc6ICd1JywgJ1xcdTAxNzMnOiAndScsXG4gICAgJ1xcdTAxNzQnOiAnVycsICAnXFx1MDE3NSc6ICd3JyxcbiAgICAnXFx1MDE3Nic6ICdZJywgICdcXHUwMTc3JzogJ3knLCAnXFx1MDE3OCc6ICdZJyxcbiAgICAnXFx1MDE3OSc6ICdaJywgICdcXHUwMTdiJzogJ1onLCAnXFx1MDE3ZCc6ICdaJyxcbiAgICAnXFx1MDE3YSc6ICd6JywgICdcXHUwMTdjJzogJ3onLCAnXFx1MDE3ZSc6ICd6JyxcbiAgICAnXFx1MDEzMic6ICdJSicsICdcXHUwMTMzJzogJ2lqJyxcbiAgICAnXFx1MDE1Mic6ICdPZScsICdcXHUwMTUzJzogJ29lJyxcbiAgICAnXFx1MDE0OSc6IFwiJ25cIiwgJ1xcdTAxN2YnOiAncydcbiAgfTtcblxuICAvKiogVXNlZCB0byBtYXAgY2hhcmFjdGVycyB0byBIVE1MIGVudGl0aWVzLiAqL1xuICB2YXIgaHRtbEVzY2FwZXMgPSB7XG4gICAgJyYnOiAnJmFtcDsnLFxuICAgICc8JzogJyZsdDsnLFxuICAgICc+JzogJyZndDsnLFxuICAgICdcIic6ICcmcXVvdDsnLFxuICAgIFwiJ1wiOiAnJiMzOTsnXG4gIH07XG5cbiAgLyoqIFVzZWQgdG8gbWFwIEhUTUwgZW50aXRpZXMgdG8gY2hhcmFjdGVycy4gKi9cbiAgdmFyIGh0bWxVbmVzY2FwZXMgPSB7XG4gICAgJyZhbXA7JzogJyYnLFxuICAgICcmbHQ7JzogJzwnLFxuICAgICcmZ3Q7JzogJz4nLFxuICAgICcmcXVvdDsnOiAnXCInLFxuICAgICcmIzM5Oyc6IFwiJ1wiXG4gIH07XG5cbiAgLyoqIFVzZWQgdG8gZXNjYXBlIGNoYXJhY3RlcnMgZm9yIGluY2x1c2lvbiBpbiBjb21waWxlZCBzdHJpbmcgbGl0ZXJhbHMuICovXG4gIHZhciBzdHJpbmdFc2NhcGVzID0ge1xuICAgICdcXFxcJzogJ1xcXFwnLFxuICAgIFwiJ1wiOiBcIidcIixcbiAgICAnXFxuJzogJ24nLFxuICAgICdcXHInOiAncicsXG4gICAgJ1xcdTIwMjgnOiAndTIwMjgnLFxuICAgICdcXHUyMDI5JzogJ3UyMDI5J1xuICB9O1xuXG4gIC8qKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB3aXRob3V0IGEgZGVwZW5kZW5jeSBvbiBgcm9vdGAuICovXG4gIHZhciBmcmVlUGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQsXG4gICAgICBmcmVlUGFyc2VJbnQgPSBwYXJzZUludDtcblxuICAvKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGdsb2JhbGAgZnJvbSBOb2RlLmpzLiAqL1xuICB2YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbiAgLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbiAgdmFyIGZyZWVTZWxmID0gdHlwZW9mIHNlbGYgPT0gJ29iamVjdCcgJiYgc2VsZiAmJiBzZWxmLk9iamVjdCA9PT0gT2JqZWN0ICYmIHNlbGY7XG5cbiAgLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG4gIHZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG4gIC8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZXhwb3J0c2AuICovXG4gIHZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzID09ICdvYmplY3QnICYmIGV4cG9ydHMgJiYgIWV4cG9ydHMubm9kZVR5cGUgJiYgZXhwb3J0cztcblxuICAvKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG4gIHZhciBmcmVlTW9kdWxlID0gZnJlZUV4cG9ydHMgJiYgdHlwZW9mIG1vZHVsZSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUgJiYgIW1vZHVsZS5ub2RlVHlwZSAmJiBtb2R1bGU7XG5cbiAgLyoqIERldGVjdCB0aGUgcG9wdWxhciBDb21tb25KUyBleHRlbnNpb24gYG1vZHVsZS5leHBvcnRzYC4gKi9cbiAgdmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbiAgLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBwcm9jZXNzYCBmcm9tIE5vZGUuanMuICovXG4gIHZhciBmcmVlUHJvY2VzcyA9IG1vZHVsZUV4cG9ydHMgJiYgZnJlZUdsb2JhbC5wcm9jZXNzO1xuXG4gIC8qKiBVc2VkIHRvIGFjY2VzcyBmYXN0ZXIgTm9kZS5qcyBoZWxwZXJzLiAqL1xuICB2YXIgbm9kZVV0aWwgPSAoZnVuY3Rpb24oKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFVzZSBgdXRpbC50eXBlc2AgZm9yIE5vZGUuanMgMTArLlxuICAgICAgdmFyIHR5cGVzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLnJlcXVpcmUgJiYgZnJlZU1vZHVsZS5yZXF1aXJlKCd1dGlsJykudHlwZXM7XG5cbiAgICAgIGlmICh0eXBlcykge1xuICAgICAgICByZXR1cm4gdHlwZXM7XG4gICAgICB9XG5cbiAgICAgIC8vIExlZ2FjeSBgcHJvY2Vzcy5iaW5kaW5nKCd1dGlsJylgIGZvciBOb2RlLmpzIDwgMTAuXG4gICAgICByZXR1cm4gZnJlZVByb2Nlc3MgJiYgZnJlZVByb2Nlc3MuYmluZGluZyAmJiBmcmVlUHJvY2Vzcy5iaW5kaW5nKCd1dGlsJyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfSgpKTtcblxuICAvKiBOb2RlLmpzIGhlbHBlciByZWZlcmVuY2VzLiAqL1xuICB2YXIgbm9kZUlzQXJyYXlCdWZmZXIgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc0FycmF5QnVmZmVyLFxuICAgICAgbm9kZUlzRGF0ZSA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzRGF0ZSxcbiAgICAgIG5vZGVJc01hcCA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzTWFwLFxuICAgICAgbm9kZUlzUmVnRXhwID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNSZWdFeHAsXG4gICAgICBub2RlSXNTZXQgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1NldCxcbiAgICAgIG5vZGVJc1R5cGVkQXJyYXkgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1R5cGVkQXJyYXk7XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgLyoqXG4gICAqIEEgZmFzdGVyIGFsdGVybmF0aXZlIHRvIGBGdW5jdGlvbiNhcHBseWAsIHRoaXMgZnVuY3Rpb24gaW52b2tlcyBgZnVuY2BcbiAgICogd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgYHRoaXNBcmdgIGFuZCB0aGUgYXJndW1lbnRzIG9mIGBhcmdzYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICAgKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGludm9rZSBgZnVuY2Agd2l0aC5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiBgZnVuY2AuXG4gICAqL1xuICBmdW5jdGlvbiBhcHBseShmdW5jLCB0aGlzQXJnLCBhcmdzKSB7XG4gICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgY2FzZSAwOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcpO1xuICAgICAgY2FzZSAxOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0pO1xuICAgICAgY2FzZSAyOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgY2FzZSAzOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgIH1cbiAgICByZXR1cm4gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VBZ2dyZWdhdG9yYCBmb3IgYXJyYXlzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHNldHRlciBUaGUgZnVuY3Rpb24gdG8gc2V0IGBhY2N1bXVsYXRvcmAgdmFsdWVzLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBhY2N1bXVsYXRvciBUaGUgaW5pdGlhbCBhZ2dyZWdhdGVkIG9iamVjdC5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBhY2N1bXVsYXRvcmAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUFnZ3JlZ2F0b3IoYXJyYXksIHNldHRlciwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgIHNldHRlcihhY2N1bXVsYXRvciwgdmFsdWUsIGl0ZXJhdGVlKHZhbHVlKSwgYXJyYXkpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmZvckVhY2hgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlFYWNoKGFycmF5LCBpdGVyYXRlZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBpZiAoaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpID09PSBmYWxzZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5mb3JFYWNoUmlnaHRgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlFYWNoUmlnaHQoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBpZiAoaXRlcmF0ZWUoYXJyYXlbbGVuZ3RoXSwgbGVuZ3RoLCBhcnJheSkgPT09IGZhbHNlKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmV2ZXJ5YCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFsbCBlbGVtZW50cyBwYXNzIHRoZSBwcmVkaWNhdGUgY2hlY2ssXG4gICAqICBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUV2ZXJ5KGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKCFwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmZpbHRlcmAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZpbHRlcmVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlGaWx0ZXIoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5pbmNsdWRlc2AgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIHNwZWNpZnlpbmcgYW4gaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gdGFyZ2V0IFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHRhcmdldGAgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5SW5jbHVkZXMoYXJyYXksIHZhbHVlKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIHJldHVybiAhIWxlbmd0aCAmJiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIDApID4gLTE7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlIGBhcnJheUluY2x1ZGVzYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGEgY29tcGFyYXRvci5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB0YXJnZXQgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB0YXJnZXRgIGlzIGZvdW5kLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUluY2x1ZGVzV2l0aChhcnJheSwgdmFsdWUsIGNvbXBhcmF0b3IpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGNvbXBhcmF0b3IodmFsdWUsIGFycmF5W2luZGV4XSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ubWFwYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAgICogc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgYXJyYXkuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheU1hcChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICAgIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmRzIHRoZSBlbGVtZW50cyBvZiBgdmFsdWVzYCB0byBgYXJyYXlgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byBhcHBlbmQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlQdXNoKGFycmF5LCB2YWx1ZXMpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgICAgb2Zmc2V0ID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGFycmF5W29mZnNldCArIGluZGV4XSA9IHZhbHVlc1tpbmRleF07XG4gICAgfVxuICAgIHJldHVybiBhcnJheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ucmVkdWNlYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0geyp9IFthY2N1bXVsYXRvcl0gVGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2luaXRBY2N1bV0gU3BlY2lmeSB1c2luZyB0aGUgZmlyc3QgZWxlbWVudCBvZiBgYXJyYXlgIGFzXG4gICAqICB0aGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGFjY3VtdWxhdGVkIHZhbHVlLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlSZWR1Y2UoYXJyYXksIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgaWYgKGluaXRBY2N1bSAmJiBsZW5ndGgpIHtcbiAgICAgIGFjY3VtdWxhdG9yID0gYXJyYXlbKytpbmRleF07XG4gICAgfVxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCBhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSk7XG4gICAgfVxuICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ucmVkdWNlUmlnaHRgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEBwYXJhbSB7Kn0gW2FjY3VtdWxhdG9yXSBUaGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBbaW5pdEFjY3VtXSBTcGVjaWZ5IHVzaW5nIHRoZSBsYXN0IGVsZW1lbnQgb2YgYGFycmF5YCBhc1xuICAgKiAgdGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5UmVkdWNlUmlnaHQoYXJyYXksIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIGlmIChpbml0QWNjdW0gJiYgbGVuZ3RoKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGFycmF5Wy0tbGVuZ3RoXTtcbiAgICB9XG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCBhcnJheVtsZW5ndGhdLCBsZW5ndGgsIGFycmF5KTtcbiAgICB9XG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zb21lYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAgICogc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFueSBlbGVtZW50IHBhc3NlcyB0aGUgcHJlZGljYXRlIGNoZWNrLFxuICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlTb21lKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzaXplIG9mIGFuIEFTQ0lJIGBzdHJpbmdgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgaW5zcGVjdC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3RyaW5nIHNpemUuXG4gICAqL1xuICB2YXIgYXNjaWlTaXplID0gYmFzZVByb3BlcnR5KCdsZW5ndGgnKTtcblxuICAvKipcbiAgICogQ29udmVydHMgYW4gQVNDSUkgYHN0cmluZ2AgdG8gYW4gYXJyYXkuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBhcnJheS5cbiAgICovXG4gIGZ1bmN0aW9uIGFzY2lpVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLnNwbGl0KCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdHMgYW4gQVNDSUkgYHN0cmluZ2AgaW50byBhbiBhcnJheSBvZiBpdHMgd29yZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgd29yZHMgb2YgYHN0cmluZ2AuXG4gICAqL1xuICBmdW5jdGlvbiBhc2NpaVdvcmRzKHN0cmluZykge1xuICAgIHJldHVybiBzdHJpbmcubWF0Y2gocmVBc2NpaVdvcmQpIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5maW5kS2V5YCBhbmQgYF8uZmluZExhc3RLZXlgLFxuICAgKiB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMsIHdoaWNoIGl0ZXJhdGVzIG92ZXIgYGNvbGxlY3Rpb25gXG4gICAqIHVzaW5nIGBlYWNoRnVuY2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBlYWNoRnVuYyBUaGUgZnVuY3Rpb24gdG8gaXRlcmF0ZSBvdmVyIGBjb2xsZWN0aW9uYC5cbiAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGZvdW5kIGVsZW1lbnQgb3IgaXRzIGtleSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VGaW5kS2V5KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZWFjaEZ1bmMpIHtcbiAgICB2YXIgcmVzdWx0O1xuICAgIGVhY2hGdW5jKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pIHtcbiAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGtleSwgY29sbGVjdGlvbikpIHtcbiAgICAgICAgcmVzdWx0ID0ga2V5O1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5maW5kSW5kZXhgIGFuZCBgXy5maW5kTGFzdEluZGV4YCB3aXRob3V0XG4gICAqIHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zyb21SaWdodF0gU3BlY2lmeSBpdGVyYXRpbmcgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZUZpbmRJbmRleChhcnJheSwgcHJlZGljYXRlLCBmcm9tSW5kZXgsIGZyb21SaWdodCkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIGluZGV4ID0gZnJvbUluZGV4ICsgKGZyb21SaWdodCA/IDEgOiAtMSk7XG5cbiAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSkge1xuICAgICAgaWYgKHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW5kZXhPZmAgd2l0aG91dCBgZnJvbUluZGV4YCBib3VuZHMgY2hlY2tzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWVcbiAgICAgID8gc3RyaWN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleClcbiAgICAgIDogYmFzZUZpbmRJbmRleChhcnJheSwgYmFzZUlzTmFOLCBmcm9tSW5kZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZSBgYmFzZUluZGV4T2ZgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYSBjb21wYXJhdG9yLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VJbmRleE9mV2l0aChhcnJheSwgdmFsdWUsIGZyb21JbmRleCwgY29tcGFyYXRvcikge1xuICAgIHZhciBpbmRleCA9IGZyb21JbmRleCAtIDEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBpZiAoY29tcGFyYXRvcihhcnJheVtpbmRleF0sIHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc05hTmAgd2l0aG91dCBzdXBwb3J0IGZvciBudW1iZXIgb2JqZWN0cy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGBOYU5gLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlSXNOYU4odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1lYW5gIGFuZCBgXy5tZWFuQnlgIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbWVhbi5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VNZWFuKGFycmF5LCBpdGVyYXRlZSkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICByZXR1cm4gbGVuZ3RoID8gKGJhc2VTdW0oYXJyYXksIGl0ZXJhdGVlKSAvIGxlbmd0aCkgOiBOQU47XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHJvcGVydHlgIHdpdGhvdXQgc3VwcG9ydCBmb3IgZGVlcCBwYXRocy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVByb3BlcnR5KGtleSkge1xuICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHJvcGVydHlPZmAgd2l0aG91dCBzdXBwb3J0IGZvciBkZWVwIHBhdGhzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVByb3BlcnR5T2Yob2JqZWN0KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGtleSkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZWR1Y2VgIGFuZCBgXy5yZWR1Y2VSaWdodGAsIHdpdGhvdXQgc3VwcG9ydFxuICAgKiBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcywgd2hpY2ggaXRlcmF0ZXMgb3ZlciBgY29sbGVjdGlvbmAgdXNpbmcgYGVhY2hGdW5jYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0geyp9IGFjY3VtdWxhdG9yIFRoZSBpbml0aWFsIHZhbHVlLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGluaXRBY2N1bSBTcGVjaWZ5IHVzaW5nIHRoZSBmaXJzdCBvciBsYXN0IGVsZW1lbnQgb2ZcbiAgICogIGBjb2xsZWN0aW9uYCBhcyB0aGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWFjaEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBgY29sbGVjdGlvbmAuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VSZWR1Y2UoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yLCBpbml0QWNjdW0sIGVhY2hGdW5jKSB7XG4gICAgZWFjaEZ1bmMoY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGluaXRBY2N1bVxuICAgICAgICA/IChpbml0QWNjdW0gPSBmYWxzZSwgdmFsdWUpXG4gICAgICAgIDogaXRlcmF0ZWUoYWNjdW11bGF0b3IsIHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbik7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvcnRCeWAgd2hpY2ggdXNlcyBgY29tcGFyZXJgIHRvIGRlZmluZSB0aGVcbiAgICogc29ydCBvcmRlciBvZiBgYXJyYXlgIGFuZCByZXBsYWNlcyBjcml0ZXJpYSBvYmplY3RzIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZ1xuICAgKiB2YWx1ZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzb3J0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjb21wYXJlciBUaGUgZnVuY3Rpb24gdG8gZGVmaW5lIHNvcnQgb3JkZXIuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVNvcnRCeShhcnJheSwgY29tcGFyZXIpIHtcbiAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgYXJyYXkuc29ydChjb21wYXJlcik7XG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBhcnJheVtsZW5ndGhdID0gYXJyYXlbbGVuZ3RoXS52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnN1bWAgYW5kIGBfLnN1bUJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHN1bS5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VTdW0oYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgdmFyIHJlc3VsdCxcbiAgICAgICAgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciBjdXJyZW50ID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdKTtcbiAgICAgIGlmIChjdXJyZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ID09PSB1bmRlZmluZWQgPyBjdXJyZW50IDogKHJlc3VsdCArIGN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRpbWVzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHNcbiAgICogb3IgbWF4IGFycmF5IGxlbmd0aCBjaGVja3MuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gaW52b2tlIGBpdGVyYXRlZWAuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VUaW1lcyhuLCBpdGVyYXRlZSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICByZXN1bHQgPSBBcnJheShuKTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGluZGV4KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b1BhaXJzYCBhbmQgYF8udG9QYWlyc0luYCB3aGljaCBjcmVhdGVzIGFuIGFycmF5XG4gICAqIG9mIGtleS12YWx1ZSBwYWlycyBmb3IgYG9iamVjdGAgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvcGVydHkgbmFtZXMgb2YgYHByb3BzYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgbmFtZXMgdG8gZ2V0IHZhbHVlcyBmb3IuXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VUb1BhaXJzKG9iamVjdCwgcHJvcHMpIHtcbiAgICByZXR1cm4gYXJyYXlNYXAocHJvcHMsIGZ1bmN0aW9uKGtleSkge1xuICAgICAgcmV0dXJuIFtrZXksIG9iamVjdFtrZXldXTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy51bmFyeWAgd2l0aG91dCBzdXBwb3J0IGZvciBzdG9yaW5nIG1ldGFkYXRhLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjYXAgYXJndW1lbnRzIGZvci5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY2FwcGVkIGZ1bmN0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVVuYXJ5KGZ1bmMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnZhbHVlc2AgYW5kIGBfLnZhbHVlc0luYCB3aGljaCBjcmVhdGVzIGFuXG4gICAqIGFycmF5IG9mIGBvYmplY3RgIHByb3BlcnR5IHZhbHVlcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9wZXJ0eSBuYW1lc1xuICAgKiBvZiBgcHJvcHNgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBuYW1lcyB0byBnZXQgdmFsdWVzIGZvci5cbiAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgdmFsdWVzLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QsIHByb3BzKSB7XG4gICAgcmV0dXJuIGFycmF5TWFwKHByb3BzLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgIHJldHVybiBvYmplY3Rba2V5XTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBgY2FjaGVgIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjYWNoZSBUaGUgY2FjaGUgdG8gcXVlcnkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBjYWNoZUhhcyhjYWNoZSwga2V5KSB7XG4gICAgcmV0dXJuIGNhY2hlLmhhcyhrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udHJpbWAgYW5kIGBfLnRyaW1TdGFydGAgdG8gZ2V0IHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgc3RyaW5nIHN5bWJvbFxuICAgKiB0aGF0IGlzIG5vdCBmb3VuZCBpbiB0aGUgY2hhcmFjdGVyIHN5bWJvbHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IHN0clN5bWJvbHMgVGhlIHN0cmluZyBzeW1ib2xzIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGNoclN5bWJvbHMgVGhlIGNoYXJhY3RlciBzeW1ib2xzIHRvIGZpbmQuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCB1bm1hdGNoZWQgc3RyaW5nIHN5bWJvbC5cbiAgICovXG4gIGZ1bmN0aW9uIGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IHN0clN5bWJvbHMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGggJiYgYmFzZUluZGV4T2YoY2hyU3ltYm9scywgc3RyU3ltYm9sc1tpbmRleF0sIDApID4gLTEpIHt9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udHJpbWAgYW5kIGBfLnRyaW1FbmRgIHRvIGdldCB0aGUgaW5kZXggb2YgdGhlIGxhc3Qgc3RyaW5nIHN5bWJvbFxuICAgKiB0aGF0IGlzIG5vdCBmb3VuZCBpbiB0aGUgY2hhcmFjdGVyIHN5bWJvbHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IHN0clN5bWJvbHMgVGhlIHN0cmluZyBzeW1ib2xzIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGNoclN5bWJvbHMgVGhlIGNoYXJhY3RlciBzeW1ib2xzIHRvIGZpbmQuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBsYXN0IHVubWF0Y2hlZCBzdHJpbmcgc3ltYm9sLlxuICAgKi9cbiAgZnVuY3Rpb24gY2hhcnNFbmRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSB7XG4gICAgdmFyIGluZGV4ID0gc3RyU3ltYm9scy5sZW5ndGg7XG5cbiAgICB3aGlsZSAoaW5kZXgtLSAmJiBiYXNlSW5kZXhPZihjaHJTeW1ib2xzLCBzdHJTeW1ib2xzW2luZGV4XSwgMCkgPiAtMSkge31cbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGBwbGFjZWhvbGRlcmAgb2NjdXJyZW5jZXMgaW4gYGFycmF5YC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gcGxhY2Vob2xkZXIgVGhlIHBsYWNlaG9sZGVyIHRvIHNlYXJjaCBmb3IuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHBsYWNlaG9sZGVyIGNvdW50LlxuICAgKi9cbiAgZnVuY3Rpb24gY291bnRIb2xkZXJzKGFycmF5LCBwbGFjZWhvbGRlcikge1xuICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIHJlc3VsdCA9IDA7XG5cbiAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgIGlmIChhcnJheVtsZW5ndGhdID09PSBwbGFjZWhvbGRlcikge1xuICAgICAgICArK3Jlc3VsdDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLmRlYnVycmAgdG8gY29udmVydCBMYXRpbi0xIFN1cHBsZW1lbnQgYW5kIExhdGluIEV4dGVuZGVkLUFcbiAgICogbGV0dGVycyB0byBiYXNpYyBMYXRpbiBsZXR0ZXJzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbGV0dGVyIFRoZSBtYXRjaGVkIGxldHRlciB0byBkZWJ1cnIuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGRlYnVycmVkIGxldHRlci5cbiAgICovXG4gIHZhciBkZWJ1cnJMZXR0ZXIgPSBiYXNlUHJvcGVydHlPZihkZWJ1cnJlZExldHRlcnMpO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLmVzY2FwZWAgdG8gY29udmVydCBjaGFyYWN0ZXJzIHRvIEhUTUwgZW50aXRpZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaHIgVGhlIG1hdGNoZWQgY2hhcmFjdGVyIHRvIGVzY2FwZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIuXG4gICAqL1xuICB2YXIgZXNjYXBlSHRtbENoYXIgPSBiYXNlUHJvcGVydHlPZihodG1sRXNjYXBlcyk7XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udGVtcGxhdGVgIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hyIFRoZSBtYXRjaGVkIGNoYXJhY3RlciB0byBlc2NhcGUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVzY2FwZWQgY2hhcmFjdGVyLlxuICAgKi9cbiAgZnVuY3Rpb24gZXNjYXBlU3RyaW5nQ2hhcihjaHIpIHtcbiAgICByZXR1cm4gJ1xcXFwnICsgc3RyaW5nRXNjYXBlc1tjaHJdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCwga2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGBzdHJpbmdgIGNvbnRhaW5zIFVuaWNvZGUgc3ltYm9scy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhIHN5bWJvbCBpcyBmb3VuZCwgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gaGFzVW5pY29kZShzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVIYXNVbmljb2RlLnRlc3Qoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYHN0cmluZ2AgY29udGFpbnMgYSB3b3JkIGNvbXBvc2VkIG9mIFVuaWNvZGUgc3ltYm9scy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhIHdvcmQgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICovXG4gIGZ1bmN0aW9uIGhhc1VuaWNvZGVXb3JkKHN0cmluZykge1xuICAgIHJldHVybiByZUhhc1VuaWNvZGVXb3JkLnRlc3Qoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgaXRlcmF0b3JgIHRvIGFuIGFycmF5LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gaXRlcmF0b3IgVGhlIGl0ZXJhdG9yIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gaXRlcmF0b3JUb0FycmF5KGl0ZXJhdG9yKSB7XG4gICAgdmFyIGRhdGEsXG4gICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgd2hpbGUgKCEoZGF0YSA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgcmVzdWx0LnB1c2goZGF0YS52YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYG1hcGAgdG8gaXRzIGtleS12YWx1ZSBwYWlycy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IG1hcCBUaGUgbWFwIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXJzLlxuICAgKi9cbiAgZnVuY3Rpb24gbWFwVG9BcnJheShtYXApIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgcmVzdWx0ID0gQXJyYXkobWFwLnNpemUpO1xuXG4gICAgbWFwLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAgcmVzdWx0WysraW5kZXhdID0gW2tleSwgdmFsdWVdO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHVuYXJ5IGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCBpdHMgYXJndW1lbnQgdHJhbnNmb3JtZWQuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHRyYW5zZm9ybSBUaGUgYXJndW1lbnQgdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICovXG4gIGZ1bmN0aW9uIG92ZXJBcmcoZnVuYywgdHJhbnNmb3JtKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGFyZykge1xuICAgICAgcmV0dXJuIGZ1bmModHJhbnNmb3JtKGFyZykpO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVwbGFjZXMgYWxsIGBwbGFjZWhvbGRlcmAgZWxlbWVudHMgaW4gYGFycmF5YCB3aXRoIGFuIGludGVybmFsIHBsYWNlaG9sZGVyXG4gICAqIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRoZWlyIGluZGV4ZXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAqIEBwYXJhbSB7Kn0gcGxhY2Vob2xkZXIgVGhlIHBsYWNlaG9sZGVyIHRvIHJlcGxhY2UuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAqL1xuICBmdW5jdGlvbiByZXBsYWNlSG9sZGVycyhhcnJheSwgcGxhY2Vob2xkZXIpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICByZXNJbmRleCA9IDAsXG4gICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gcGxhY2Vob2xkZXIgfHwgdmFsdWUgPT09IFBMQUNFSE9MREVSKSB7XG4gICAgICAgIGFycmF5W2luZGV4XSA9IFBMQUNFSE9MREVSO1xuICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSBpbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc2V0YCB0byBhbiBhcnJheSBvZiBpdHMgdmFsdWVzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gc2V0IFRoZSBzZXQgdG8gY29udmVydC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB2YWx1ZXMuXG4gICAqL1xuICBmdW5jdGlvbiBzZXRUb0FycmF5KHNldCkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICByZXN1bHQgPSBBcnJheShzZXQuc2l6ZSk7XG5cbiAgICBzZXQuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgcmVzdWx0WysraW5kZXhdID0gdmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc2V0YCB0byBpdHMgdmFsdWUtdmFsdWUgcGFpcnMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBzZXQgVGhlIHNldCB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHZhbHVlLXZhbHVlIHBhaXJzLlxuICAgKi9cbiAgZnVuY3Rpb24gc2V0VG9QYWlycyhzZXQpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgcmVzdWx0ID0gQXJyYXkoc2V0LnNpemUpO1xuXG4gICAgc2V0LmZvckVhY2goZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJlc3VsdFsrK2luZGV4XSA9IFt2YWx1ZSwgdmFsdWVdO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmluZGV4T2ZgIHdoaWNoIHBlcmZvcm1zIHN0cmljdCBlcXVhbGl0eVxuICAgKiBjb21wYXJpc29ucyBvZiB2YWx1ZXMsIGkuZS4gYD09PWAuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcGFyYW0ge251bWJlcn0gZnJvbUluZGV4IFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICovXG4gIGZ1bmN0aW9uIHN0cmljdEluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICB2YXIgaW5kZXggPSBmcm9tSW5kZXggLSAxLFxuICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGFycmF5W2luZGV4XSA9PT0gdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLmxhc3RJbmRleE9mYCB3aGljaCBwZXJmb3JtcyBzdHJpY3QgZXF1YWxpdHlcbiAgICogY29tcGFyaXNvbnMgb2YgdmFsdWVzLCBpLmUuIGA9PT1gLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAqL1xuICBmdW5jdGlvbiBzdHJpY3RMYXN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgIHZhciBpbmRleCA9IGZyb21JbmRleCArIDE7XG4gICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgIGlmIChhcnJheVtpbmRleF0gPT09IHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG51bWJlciBvZiBzeW1ib2xzIGluIGBzdHJpbmdgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3RyaW5nIHNpemUuXG4gICAqL1xuICBmdW5jdGlvbiBzdHJpbmdTaXplKHN0cmluZykge1xuICAgIHJldHVybiBoYXNVbmljb2RlKHN0cmluZylcbiAgICAgID8gdW5pY29kZVNpemUoc3RyaW5nKVxuICAgICAgOiBhc2NpaVNpemUoc3RyaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBhbiBhcnJheS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gc3RyaW5nVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gaGFzVW5pY29kZShzdHJpbmcpXG4gICAgICA/IHVuaWNvZGVUb0FycmF5KHN0cmluZylcbiAgICAgIDogYXNjaWlUb0FycmF5KHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBieSBgXy51bmVzY2FwZWAgdG8gY29udmVydCBIVE1MIGVudGl0aWVzIHRvIGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaHIgVGhlIG1hdGNoZWQgY2hhcmFjdGVyIHRvIHVuZXNjYXBlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1bmVzY2FwZWQgY2hhcmFjdGVyLlxuICAgKi9cbiAgdmFyIHVuZXNjYXBlSHRtbENoYXIgPSBiYXNlUHJvcGVydHlPZihodG1sVW5lc2NhcGVzKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgc2l6ZSBvZiBhIFVuaWNvZGUgYHN0cmluZ2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyBpbnNwZWN0LlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzdHJpbmcgc2l6ZS5cbiAgICovXG4gIGZ1bmN0aW9uIHVuaWNvZGVTaXplKHN0cmluZykge1xuICAgIHZhciByZXN1bHQgPSByZVVuaWNvZGUubGFzdEluZGV4ID0gMDtcbiAgICB3aGlsZSAocmVVbmljb2RlLnRlc3Qoc3RyaW5nKSkge1xuICAgICAgKytyZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBVbmljb2RlIGBzdHJpbmdgIHRvIGFuIGFycmF5LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgYXJyYXkuXG4gICAqL1xuICBmdW5jdGlvbiB1bmljb2RlVG9BcnJheShzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZSkgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogU3BsaXRzIGEgVW5pY29kZSBgc3RyaW5nYCBpbnRvIGFuIGFycmF5IG9mIGl0cyB3b3Jkcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB3b3JkcyBvZiBgc3RyaW5nYC5cbiAgICovXG4gIGZ1bmN0aW9uIHVuaWNvZGVXb3JkcyhzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZVdvcmQpIHx8IFtdO1xuICB9XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBwcmlzdGluZSBgbG9kYXNoYCBmdW5jdGlvbiB1c2luZyB0aGUgYGNvbnRleHRgIG9iamVjdC5cbiAgICpcbiAgICogQHN0YXRpY1xuICAgKiBAbWVtYmVyT2YgX1xuICAgKiBAc2luY2UgMS4xLjBcbiAgICogQGNhdGVnb3J5IFV0aWxcbiAgICogQHBhcmFtIHtPYmplY3R9IFtjb250ZXh0PXJvb3RdIFRoZSBjb250ZXh0IG9iamVjdC5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGEgbmV3IGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiBfLm1peGluKHsgJ2Zvbyc6IF8uY29uc3RhbnQoJ2ZvbycpIH0pO1xuICAgKlxuICAgKiB2YXIgbG9kYXNoID0gXy5ydW5JbkNvbnRleHQoKTtcbiAgICogbG9kYXNoLm1peGluKHsgJ2Jhcic6IGxvZGFzaC5jb25zdGFudCgnYmFyJykgfSk7XG4gICAqXG4gICAqIF8uaXNGdW5jdGlvbihfLmZvbyk7XG4gICAqIC8vID0+IHRydWVcbiAgICogXy5pc0Z1bmN0aW9uKF8uYmFyKTtcbiAgICogLy8gPT4gZmFsc2VcbiAgICpcbiAgICogbG9kYXNoLmlzRnVuY3Rpb24obG9kYXNoLmZvbyk7XG4gICAqIC8vID0+IGZhbHNlXG4gICAqIGxvZGFzaC5pc0Z1bmN0aW9uKGxvZGFzaC5iYXIpO1xuICAgKiAvLyA9PiB0cnVlXG4gICAqXG4gICAqIC8vIENyZWF0ZSBhIHN1cGVkLXVwIGBkZWZlcmAgaW4gTm9kZS5qcy5cbiAgICogdmFyIGRlZmVyID0gXy5ydW5JbkNvbnRleHQoeyAnc2V0VGltZW91dCc6IHNldEltbWVkaWF0ZSB9KS5kZWZlcjtcbiAgICovXG4gIHZhciBydW5JbkNvbnRleHQgPSAoZnVuY3Rpb24gcnVuSW5Db250ZXh0KGNvbnRleHQpIHtcbiAgICBjb250ZXh0ID0gY29udGV4dCA9PSBudWxsID8gcm9vdCA6IF8uZGVmYXVsdHMocm9vdC5PYmplY3QoKSwgY29udGV4dCwgXy5waWNrKHJvb3QsIGNvbnRleHRQcm9wcykpO1xuXG4gICAgLyoqIEJ1aWx0LWluIGNvbnN0cnVjdG9yIHJlZmVyZW5jZXMuICovXG4gICAgdmFyIEFycmF5ID0gY29udGV4dC5BcnJheSxcbiAgICAgICAgRGF0ZSA9IGNvbnRleHQuRGF0ZSxcbiAgICAgICAgRXJyb3IgPSBjb250ZXh0LkVycm9yLFxuICAgICAgICBGdW5jdGlvbiA9IGNvbnRleHQuRnVuY3Rpb24sXG4gICAgICAgIE1hdGggPSBjb250ZXh0Lk1hdGgsXG4gICAgICAgIE9iamVjdCA9IGNvbnRleHQuT2JqZWN0LFxuICAgICAgICBSZWdFeHAgPSBjb250ZXh0LlJlZ0V4cCxcbiAgICAgICAgU3RyaW5nID0gY29udGV4dC5TdHJpbmcsXG4gICAgICAgIFR5cGVFcnJvciA9IGNvbnRleHQuVHlwZUVycm9yO1xuXG4gICAgLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xuICAgIHZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlLFxuICAgICAgICBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgICAgIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuICAgIC8qKiBVc2VkIHRvIGRldGVjdCBvdmVycmVhY2hpbmcgY29yZS1qcyBzaGltcy4gKi9cbiAgICB2YXIgY29yZUpzRGF0YSA9IGNvbnRleHRbJ19fY29yZS1qc19zaGFyZWRfXyddO1xuXG4gICAgLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xuICAgIHZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbiAgICAvKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbiAgICB2YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuICAgIC8qKiBVc2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBJRHMuICovXG4gICAgdmFyIGlkQ291bnRlciA9IDA7XG5cbiAgICAvKiogVXNlZCB0byBkZXRlY3QgbWV0aG9kcyBtYXNxdWVyYWRpbmcgYXMgbmF0aXZlLiAqL1xuICAgIHZhciBtYXNrU3JjS2V5ID0gKGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHVpZCA9IC9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSAmJiBjb3JlSnNEYXRhLmtleXMgJiYgY29yZUpzRGF0YS5rZXlzLklFX1BST1RPIHx8ICcnKTtcbiAgICAgIHJldHVybiB1aWQgPyAoJ1N5bWJvbChzcmMpXzEuJyArIHVpZCkgOiAnJztcbiAgICB9KCkpO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byByZXNvbHZlIHRoZVxuICAgICAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICAgICAqIG9mIHZhbHVlcy5cbiAgICAgKi9cbiAgICB2YXIgbmF0aXZlT2JqZWN0VG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcblxuICAgIC8qKiBVc2VkIHRvIGluZmVyIHRoZSBgT2JqZWN0YCBjb25zdHJ1Y3Rvci4gKi9cbiAgICB2YXIgb2JqZWN0Q3RvclN0cmluZyA9IGZ1bmNUb1N0cmluZy5jYWxsKE9iamVjdCk7XG5cbiAgICAvKiogVXNlZCB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBgX2AgcmVmZXJlbmNlIGluIGBfLm5vQ29uZmxpY3RgLiAqL1xuICAgIHZhciBvbGREYXNoID0gcm9vdC5fO1xuXG4gICAgLyoqIFVzZWQgdG8gZGV0ZWN0IGlmIGEgbWV0aG9kIGlzIG5hdGl2ZS4gKi9cbiAgICB2YXIgcmVJc05hdGl2ZSA9IFJlZ0V4cCgnXicgK1xuICAgICAgZnVuY1RvU3RyaW5nLmNhbGwoaGFzT3duUHJvcGVydHkpLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgICAgIC5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcXFxcKCl8IGZvciAuKz8oPz1cXFxcXFxdKS9nLCAnJDEuKj8nKSArICckJ1xuICAgICk7XG5cbiAgICAvKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbiAgICB2YXIgQnVmZmVyID0gbW9kdWxlRXhwb3J0cyA/IGNvbnRleHQuQnVmZmVyIDogdW5kZWZpbmVkLFxuICAgICAgICBTeW1ib2wgPSBjb250ZXh0LlN5bWJvbCxcbiAgICAgICAgVWludDhBcnJheSA9IGNvbnRleHQuVWludDhBcnJheSxcbiAgICAgICAgYWxsb2NVbnNhZmUgPSBCdWZmZXIgPyBCdWZmZXIuYWxsb2NVbnNhZmUgOiB1bmRlZmluZWQsXG4gICAgICAgIGdldFByb3RvdHlwZSA9IG92ZXJBcmcoT2JqZWN0LmdldFByb3RvdHlwZU9mLCBPYmplY3QpLFxuICAgICAgICBvYmplY3RDcmVhdGUgPSBPYmplY3QuY3JlYXRlLFxuICAgICAgICBwcm9wZXJ0eUlzRW51bWVyYWJsZSA9IG9iamVjdFByb3RvLnByb3BlcnR5SXNFbnVtZXJhYmxlLFxuICAgICAgICBzcGxpY2UgPSBhcnJheVByb3RvLnNwbGljZSxcbiAgICAgICAgc3ByZWFkYWJsZVN5bWJvbCA9IFN5bWJvbCA/IFN5bWJvbC5pc0NvbmNhdFNwcmVhZGFibGUgOiB1bmRlZmluZWQsXG4gICAgICAgIHN5bUl0ZXJhdG9yID0gU3ltYm9sID8gU3ltYm9sLml0ZXJhdG9yIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1Ub1N0cmluZ1RhZyA9IFN5bWJvbCA/IFN5bWJvbC50b1N0cmluZ1RhZyA6IHVuZGVmaW5lZDtcblxuICAgIHZhciBkZWZpbmVQcm9wZXJ0eSA9IChmdW5jdGlvbigpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZhciBmdW5jID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2RlZmluZVByb3BlcnR5Jyk7XG4gICAgICAgIGZ1bmMoe30sICcnLCB7fSk7XG4gICAgICAgIHJldHVybiBmdW5jO1xuICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9KCkpO1xuXG4gICAgLyoqIE1vY2tlZCBidWlsdC1pbnMuICovXG4gICAgdmFyIGN0eENsZWFyVGltZW91dCA9IGNvbnRleHQuY2xlYXJUaW1lb3V0ICE9PSByb290LmNsZWFyVGltZW91dCAmJiBjb250ZXh0LmNsZWFyVGltZW91dCxcbiAgICAgICAgY3R4Tm93ID0gRGF0ZSAmJiBEYXRlLm5vdyAhPT0gcm9vdC5EYXRlLm5vdyAmJiBEYXRlLm5vdyxcbiAgICAgICAgY3R4U2V0VGltZW91dCA9IGNvbnRleHQuc2V0VGltZW91dCAhPT0gcm9vdC5zZXRUaW1lb3V0ICYmIGNvbnRleHQuc2V0VGltZW91dDtcblxuICAgIC8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbiAgICB2YXIgbmF0aXZlQ2VpbCA9IE1hdGguY2VpbCxcbiAgICAgICAgbmF0aXZlRmxvb3IgPSBNYXRoLmZsb29yLFxuICAgICAgICBuYXRpdmVHZXRTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxcbiAgICAgICAgbmF0aXZlSXNCdWZmZXIgPSBCdWZmZXIgPyBCdWZmZXIuaXNCdWZmZXIgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hdGl2ZUlzRmluaXRlID0gY29udGV4dC5pc0Zpbml0ZSxcbiAgICAgICAgbmF0aXZlSm9pbiA9IGFycmF5UHJvdG8uam9pbixcbiAgICAgICAgbmF0aXZlS2V5cyA9IG92ZXJBcmcoT2JqZWN0LmtleXMsIE9iamVjdCksXG4gICAgICAgIG5hdGl2ZU1heCA9IE1hdGgubWF4LFxuICAgICAgICBuYXRpdmVNaW4gPSBNYXRoLm1pbixcbiAgICAgICAgbmF0aXZlTm93ID0gRGF0ZS5ub3csXG4gICAgICAgIG5hdGl2ZVBhcnNlSW50ID0gY29udGV4dC5wYXJzZUludCxcbiAgICAgICAgbmF0aXZlUmFuZG9tID0gTWF0aC5yYW5kb20sXG4gICAgICAgIG5hdGl2ZVJldmVyc2UgPSBhcnJheVByb3RvLnJldmVyc2U7XG5cbiAgICAvKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB0aGF0IGFyZSB2ZXJpZmllZCB0byBiZSBuYXRpdmUuICovXG4gICAgdmFyIERhdGFWaWV3ID0gZ2V0TmF0aXZlKGNvbnRleHQsICdEYXRhVmlldycpLFxuICAgICAgICBNYXAgPSBnZXROYXRpdmUoY29udGV4dCwgJ01hcCcpLFxuICAgICAgICBQcm9taXNlID0gZ2V0TmF0aXZlKGNvbnRleHQsICdQcm9taXNlJyksXG4gICAgICAgIFNldCA9IGdldE5hdGl2ZShjb250ZXh0LCAnU2V0JyksXG4gICAgICAgIFdlYWtNYXAgPSBnZXROYXRpdmUoY29udGV4dCwgJ1dlYWtNYXAnKSxcbiAgICAgICAgbmF0aXZlQ3JlYXRlID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2NyZWF0ZScpO1xuXG4gICAgLyoqIFVzZWQgdG8gc3RvcmUgZnVuY3Rpb24gbWV0YWRhdGEuICovXG4gICAgdmFyIG1ldGFNYXAgPSBXZWFrTWFwICYmIG5ldyBXZWFrTWFwO1xuXG4gICAgLyoqIFVzZWQgdG8gbG9va3VwIHVubWluaWZpZWQgZnVuY3Rpb24gbmFtZXMuICovXG4gICAgdmFyIHJlYWxOYW1lcyA9IHt9O1xuXG4gICAgLyoqIFVzZWQgdG8gZGV0ZWN0IG1hcHMsIHNldHMsIGFuZCB3ZWFrbWFwcy4gKi9cbiAgICB2YXIgZGF0YVZpZXdDdG9yU3RyaW5nID0gdG9Tb3VyY2UoRGF0YVZpZXcpLFxuICAgICAgICBtYXBDdG9yU3RyaW5nID0gdG9Tb3VyY2UoTWFwKSxcbiAgICAgICAgcHJvbWlzZUN0b3JTdHJpbmcgPSB0b1NvdXJjZShQcm9taXNlKSxcbiAgICAgICAgc2V0Q3RvclN0cmluZyA9IHRvU291cmNlKFNldCksXG4gICAgICAgIHdlYWtNYXBDdG9yU3RyaW5nID0gdG9Tb3VyY2UoV2Vha01hcCk7XG5cbiAgICAvKiogVXNlZCB0byBjb252ZXJ0IHN5bWJvbHMgdG8gcHJpbWl0aXZlcyBhbmQgc3RyaW5ncy4gKi9cbiAgICB2YXIgc3ltYm9sUHJvdG8gPSBTeW1ib2wgPyBTeW1ib2wucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1ib2xWYWx1ZU9mID0gc3ltYm9sUHJvdG8gPyBzeW1ib2xQcm90by52YWx1ZU9mIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1ib2xUb1N0cmluZyA9IHN5bWJvbFByb3RvID8gc3ltYm9sUHJvdG8udG9TdHJpbmcgOiB1bmRlZmluZWQ7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYGxvZGFzaGAgb2JqZWN0IHdoaWNoIHdyYXBzIGB2YWx1ZWAgdG8gZW5hYmxlIGltcGxpY2l0IG1ldGhvZFxuICAgICAqIGNoYWluIHNlcXVlbmNlcy4gTWV0aG9kcyB0aGF0IG9wZXJhdGUgb24gYW5kIHJldHVybiBhcnJheXMsIGNvbGxlY3Rpb25zLFxuICAgICAqIGFuZCBmdW5jdGlvbnMgY2FuIGJlIGNoYWluZWQgdG9nZXRoZXIuIE1ldGhvZHMgdGhhdCByZXRyaWV2ZSBhIHNpbmdsZSB2YWx1ZVxuICAgICAqIG9yIG1heSByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUgd2lsbCBhdXRvbWF0aWNhbGx5IGVuZCB0aGUgY2hhaW4gc2VxdWVuY2VcbiAgICAgKiBhbmQgcmV0dXJuIHRoZSB1bndyYXBwZWQgdmFsdWUuIE90aGVyd2lzZSwgdGhlIHZhbHVlIG11c3QgYmUgdW53cmFwcGVkXG4gICAgICogd2l0aCBgXyN2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBFeHBsaWNpdCBjaGFpbiBzZXF1ZW5jZXMsIHdoaWNoIG11c3QgYmUgdW53cmFwcGVkIHdpdGggYF8jdmFsdWVgLCBtYXkgYmVcbiAgICAgKiBlbmFibGVkIHVzaW5nIGBfLmNoYWluYC5cbiAgICAgKlxuICAgICAqIFRoZSBleGVjdXRpb24gb2YgY2hhaW5lZCBtZXRob2RzIGlzIGxhenksIHRoYXQgaXMsIGl0J3MgZGVmZXJyZWQgdW50aWxcbiAgICAgKiBgXyN2YWx1ZWAgaXMgaW1wbGljaXRseSBvciBleHBsaWNpdGx5IGNhbGxlZC5cbiAgICAgKlxuICAgICAqIExhenkgZXZhbHVhdGlvbiBhbGxvd3Mgc2V2ZXJhbCBtZXRob2RzIHRvIHN1cHBvcnQgc2hvcnRjdXQgZnVzaW9uLlxuICAgICAqIFNob3J0Y3V0IGZ1c2lvbiBpcyBhbiBvcHRpbWl6YXRpb24gdG8gbWVyZ2UgaXRlcmF0ZWUgY2FsbHM7IHRoaXMgYXZvaWRzXG4gICAgICogdGhlIGNyZWF0aW9uIG9mIGludGVybWVkaWF0ZSBhcnJheXMgYW5kIGNhbiBncmVhdGx5IHJlZHVjZSB0aGUgbnVtYmVyIG9mXG4gICAgICogaXRlcmF0ZWUgZXhlY3V0aW9ucy4gU2VjdGlvbnMgb2YgYSBjaGFpbiBzZXF1ZW5jZSBxdWFsaWZ5IGZvciBzaG9ydGN1dFxuICAgICAqIGZ1c2lvbiBpZiB0aGUgc2VjdGlvbiBpcyBhcHBsaWVkIHRvIGFuIGFycmF5IGFuZCBpdGVyYXRlZXMgYWNjZXB0IG9ubHlcbiAgICAgKiBvbmUgYXJndW1lbnQuIFRoZSBoZXVyaXN0aWMgZm9yIHdoZXRoZXIgYSBzZWN0aW9uIHF1YWxpZmllcyBmb3Igc2hvcnRjdXRcbiAgICAgKiBmdXNpb24gaXMgc3ViamVjdCB0byBjaGFuZ2UuXG4gICAgICpcbiAgICAgKiBDaGFpbmluZyBpcyBzdXBwb3J0ZWQgaW4gY3VzdG9tIGJ1aWxkcyBhcyBsb25nIGFzIHRoZSBgXyN2YWx1ZWAgbWV0aG9kIGlzXG4gICAgICogZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBpbmNsdWRlZCBpbiB0aGUgYnVpbGQuXG4gICAgICpcbiAgICAgKiBJbiBhZGRpdGlvbiB0byBsb2Rhc2ggbWV0aG9kcywgd3JhcHBlcnMgaGF2ZSBgQXJyYXlgIGFuZCBgU3RyaW5nYCBtZXRob2RzLlxuICAgICAqXG4gICAgICogVGhlIHdyYXBwZXIgYEFycmF5YCBtZXRob2RzIGFyZTpcbiAgICAgKiBgY29uY2F0YCwgYGpvaW5gLCBgcG9wYCwgYHB1c2hgLCBgc2hpZnRgLCBgc29ydGAsIGBzcGxpY2VgLCBhbmQgYHVuc2hpZnRgXG4gICAgICpcbiAgICAgKiBUaGUgd3JhcHBlciBgU3RyaW5nYCBtZXRob2RzIGFyZTpcbiAgICAgKiBgcmVwbGFjZWAgYW5kIGBzcGxpdGBcbiAgICAgKlxuICAgICAqIFRoZSB3cmFwcGVyIG1ldGhvZHMgdGhhdCBzdXBwb3J0IHNob3J0Y3V0IGZ1c2lvbiBhcmU6XG4gICAgICogYGF0YCwgYGNvbXBhY3RgLCBgZHJvcGAsIGBkcm9wUmlnaHRgLCBgZHJvcFdoaWxlYCwgYGZpbHRlcmAsIGBmaW5kYCxcbiAgICAgKiBgZmluZExhc3RgLCBgaGVhZGAsIGBpbml0aWFsYCwgYGxhc3RgLCBgbWFwYCwgYHJlamVjdGAsIGByZXZlcnNlYCwgYHNsaWNlYCxcbiAgICAgKiBgdGFpbGAsIGB0YWtlYCwgYHRha2VSaWdodGAsIGB0YWtlUmlnaHRXaGlsZWAsIGB0YWtlV2hpbGVgLCBhbmQgYHRvQXJyYXlgXG4gICAgICpcbiAgICAgKiBUaGUgY2hhaW5hYmxlIHdyYXBwZXIgbWV0aG9kcyBhcmU6XG4gICAgICogYGFmdGVyYCwgYGFyeWAsIGBhc3NpZ25gLCBgYXNzaWduSW5gLCBgYXNzaWduSW5XaXRoYCwgYGFzc2lnbldpdGhgLCBgYXRgLFxuICAgICAqIGBiZWZvcmVgLCBgYmluZGAsIGBiaW5kQWxsYCwgYGJpbmRLZXlgLCBgY2FzdEFycmF5YCwgYGNoYWluYCwgYGNodW5rYCxcbiAgICAgKiBgY29tbWl0YCwgYGNvbXBhY3RgLCBgY29uY2F0YCwgYGNvbmZvcm1zYCwgYGNvbnN0YW50YCwgYGNvdW50QnlgLCBgY3JlYXRlYCxcbiAgICAgKiBgY3VycnlgLCBgZGVib3VuY2VgLCBgZGVmYXVsdHNgLCBgZGVmYXVsdHNEZWVwYCwgYGRlZmVyYCwgYGRlbGF5YCxcbiAgICAgKiBgZGlmZmVyZW5jZWAsIGBkaWZmZXJlbmNlQnlgLCBgZGlmZmVyZW5jZVdpdGhgLCBgZHJvcGAsIGBkcm9wUmlnaHRgLFxuICAgICAqIGBkcm9wUmlnaHRXaGlsZWAsIGBkcm9wV2hpbGVgLCBgZXh0ZW5kYCwgYGV4dGVuZFdpdGhgLCBgZmlsbGAsIGBmaWx0ZXJgLFxuICAgICAqIGBmbGF0TWFwYCwgYGZsYXRNYXBEZWVwYCwgYGZsYXRNYXBEZXB0aGAsIGBmbGF0dGVuYCwgYGZsYXR0ZW5EZWVwYCxcbiAgICAgKiBgZmxhdHRlbkRlcHRoYCwgYGZsaXBgLCBgZmxvd2AsIGBmbG93UmlnaHRgLCBgZnJvbVBhaXJzYCwgYGZ1bmN0aW9uc2AsXG4gICAgICogYGZ1bmN0aW9uc0luYCwgYGdyb3VwQnlgLCBgaW5pdGlhbGAsIGBpbnRlcnNlY3Rpb25gLCBgaW50ZXJzZWN0aW9uQnlgLFxuICAgICAqIGBpbnRlcnNlY3Rpb25XaXRoYCwgYGludmVydGAsIGBpbnZlcnRCeWAsIGBpbnZva2VNYXBgLCBgaXRlcmF0ZWVgLCBga2V5QnlgLFxuICAgICAqIGBrZXlzYCwgYGtleXNJbmAsIGBtYXBgLCBgbWFwS2V5c2AsIGBtYXBWYWx1ZXNgLCBgbWF0Y2hlc2AsIGBtYXRjaGVzUHJvcGVydHlgLFxuICAgICAqIGBtZW1vaXplYCwgYG1lcmdlYCwgYG1lcmdlV2l0aGAsIGBtZXRob2RgLCBgbWV0aG9kT2ZgLCBgbWl4aW5gLCBgbmVnYXRlYCxcbiAgICAgKiBgbnRoQXJnYCwgYG9taXRgLCBgb21pdEJ5YCwgYG9uY2VgLCBgb3JkZXJCeWAsIGBvdmVyYCwgYG92ZXJBcmdzYCxcbiAgICAgKiBgb3ZlckV2ZXJ5YCwgYG92ZXJTb21lYCwgYHBhcnRpYWxgLCBgcGFydGlhbFJpZ2h0YCwgYHBhcnRpdGlvbmAsIGBwaWNrYCxcbiAgICAgKiBgcGlja0J5YCwgYHBsYW50YCwgYHByb3BlcnR5YCwgYHByb3BlcnR5T2ZgLCBgcHVsbGAsIGBwdWxsQWxsYCwgYHB1bGxBbGxCeWAsXG4gICAgICogYHB1bGxBbGxXaXRoYCwgYHB1bGxBdGAsIGBwdXNoYCwgYHJhbmdlYCwgYHJhbmdlUmlnaHRgLCBgcmVhcmdgLCBgcmVqZWN0YCxcbiAgICAgKiBgcmVtb3ZlYCwgYHJlc3RgLCBgcmV2ZXJzZWAsIGBzYW1wbGVTaXplYCwgYHNldGAsIGBzZXRXaXRoYCwgYHNodWZmbGVgLFxuICAgICAqIGBzbGljZWAsIGBzb3J0YCwgYHNvcnRCeWAsIGBzcGxpY2VgLCBgc3ByZWFkYCwgYHRhaWxgLCBgdGFrZWAsIGB0YWtlUmlnaHRgLFxuICAgICAqIGB0YWtlUmlnaHRXaGlsZWAsIGB0YWtlV2hpbGVgLCBgdGFwYCwgYHRocm90dGxlYCwgYHRocnVgLCBgdG9BcnJheWAsXG4gICAgICogYHRvUGFpcnNgLCBgdG9QYWlyc0luYCwgYHRvUGF0aGAsIGB0b1BsYWluT2JqZWN0YCwgYHRyYW5zZm9ybWAsIGB1bmFyeWAsXG4gICAgICogYHVuaW9uYCwgYHVuaW9uQnlgLCBgdW5pb25XaXRoYCwgYHVuaXFgLCBgdW5pcUJ5YCwgYHVuaXFXaXRoYCwgYHVuc2V0YCxcbiAgICAgKiBgdW5zaGlmdGAsIGB1bnppcGAsIGB1bnppcFdpdGhgLCBgdXBkYXRlYCwgYHVwZGF0ZVdpdGhgLCBgdmFsdWVzYCxcbiAgICAgKiBgdmFsdWVzSW5gLCBgd2l0aG91dGAsIGB3cmFwYCwgYHhvcmAsIGB4b3JCeWAsIGB4b3JXaXRoYCwgYHppcGAsXG4gICAgICogYHppcE9iamVjdGAsIGB6aXBPYmplY3REZWVwYCwgYW5kIGB6aXBXaXRoYFxuICAgICAqXG4gICAgICogVGhlIHdyYXBwZXIgbWV0aG9kcyB0aGF0IGFyZSAqKm5vdCoqIGNoYWluYWJsZSBieSBkZWZhdWx0IGFyZTpcbiAgICAgKiBgYWRkYCwgYGF0dGVtcHRgLCBgY2FtZWxDYXNlYCwgYGNhcGl0YWxpemVgLCBgY2VpbGAsIGBjbGFtcGAsIGBjbG9uZWAsXG4gICAgICogYGNsb25lRGVlcGAsIGBjbG9uZURlZXBXaXRoYCwgYGNsb25lV2l0aGAsIGBjb25mb3Jtc1RvYCwgYGRlYnVycmAsXG4gICAgICogYGRlZmF1bHRUb2AsIGBkaXZpZGVgLCBgZWFjaGAsIGBlYWNoUmlnaHRgLCBgZW5kc1dpdGhgLCBgZXFgLCBgZXNjYXBlYCxcbiAgICAgKiBgZXNjYXBlUmVnRXhwYCwgYGV2ZXJ5YCwgYGZpbmRgLCBgZmluZEluZGV4YCwgYGZpbmRLZXlgLCBgZmluZExhc3RgLFxuICAgICAqIGBmaW5kTGFzdEluZGV4YCwgYGZpbmRMYXN0S2V5YCwgYGZpcnN0YCwgYGZsb29yYCwgYGZvckVhY2hgLCBgZm9yRWFjaFJpZ2h0YCxcbiAgICAgKiBgZm9ySW5gLCBgZm9ySW5SaWdodGAsIGBmb3JPd25gLCBgZm9yT3duUmlnaHRgLCBgZ2V0YCwgYGd0YCwgYGd0ZWAsIGBoYXNgLFxuICAgICAqIGBoYXNJbmAsIGBoZWFkYCwgYGlkZW50aXR5YCwgYGluY2x1ZGVzYCwgYGluZGV4T2ZgLCBgaW5SYW5nZWAsIGBpbnZva2VgLFxuICAgICAqIGBpc0FyZ3VtZW50c2AsIGBpc0FycmF5YCwgYGlzQXJyYXlCdWZmZXJgLCBgaXNBcnJheUxpa2VgLCBgaXNBcnJheUxpa2VPYmplY3RgLFxuICAgICAqIGBpc0Jvb2xlYW5gLCBgaXNCdWZmZXJgLCBgaXNEYXRlYCwgYGlzRWxlbWVudGAsIGBpc0VtcHR5YCwgYGlzRXF1YWxgLFxuICAgICAqIGBpc0VxdWFsV2l0aGAsIGBpc0Vycm9yYCwgYGlzRmluaXRlYCwgYGlzRnVuY3Rpb25gLCBgaXNJbnRlZ2VyYCwgYGlzTGVuZ3RoYCxcbiAgICAgKiBgaXNNYXBgLCBgaXNNYXRjaGAsIGBpc01hdGNoV2l0aGAsIGBpc05hTmAsIGBpc05hdGl2ZWAsIGBpc05pbGAsIGBpc051bGxgLFxuICAgICAqIGBpc051bWJlcmAsIGBpc09iamVjdGAsIGBpc09iamVjdExpa2VgLCBgaXNQbGFpbk9iamVjdGAsIGBpc1JlZ0V4cGAsXG4gICAgICogYGlzU2FmZUludGVnZXJgLCBgaXNTZXRgLCBgaXNTdHJpbmdgLCBgaXNVbmRlZmluZWRgLCBgaXNUeXBlZEFycmF5YCxcbiAgICAgKiBgaXNXZWFrTWFwYCwgYGlzV2Vha1NldGAsIGBqb2luYCwgYGtlYmFiQ2FzZWAsIGBsYXN0YCwgYGxhc3RJbmRleE9mYCxcbiAgICAgKiBgbG93ZXJDYXNlYCwgYGxvd2VyRmlyc3RgLCBgbHRgLCBgbHRlYCwgYG1heGAsIGBtYXhCeWAsIGBtZWFuYCwgYG1lYW5CeWAsXG4gICAgICogYG1pbmAsIGBtaW5CeWAsIGBtdWx0aXBseWAsIGBub0NvbmZsaWN0YCwgYG5vb3BgLCBgbm93YCwgYG50aGAsIGBwYWRgLFxuICAgICAqIGBwYWRFbmRgLCBgcGFkU3RhcnRgLCBgcGFyc2VJbnRgLCBgcG9wYCwgYHJhbmRvbWAsIGByZWR1Y2VgLCBgcmVkdWNlUmlnaHRgLFxuICAgICAqIGByZXBlYXRgLCBgcmVzdWx0YCwgYHJvdW5kYCwgYHJ1bkluQ29udGV4dGAsIGBzYW1wbGVgLCBgc2hpZnRgLCBgc2l6ZWAsXG4gICAgICogYHNuYWtlQ2FzZWAsIGBzb21lYCwgYHNvcnRlZEluZGV4YCwgYHNvcnRlZEluZGV4QnlgLCBgc29ydGVkTGFzdEluZGV4YCxcbiAgICAgKiBgc29ydGVkTGFzdEluZGV4QnlgLCBgc3RhcnRDYXNlYCwgYHN0YXJ0c1dpdGhgLCBgc3R1YkFycmF5YCwgYHN0dWJGYWxzZWAsXG4gICAgICogYHN0dWJPYmplY3RgLCBgc3R1YlN0cmluZ2AsIGBzdHViVHJ1ZWAsIGBzdWJ0cmFjdGAsIGBzdW1gLCBgc3VtQnlgLFxuICAgICAqIGB0ZW1wbGF0ZWAsIGB0aW1lc2AsIGB0b0Zpbml0ZWAsIGB0b0ludGVnZXJgLCBgdG9KU09OYCwgYHRvTGVuZ3RoYCxcbiAgICAgKiBgdG9Mb3dlcmAsIGB0b051bWJlcmAsIGB0b1NhZmVJbnRlZ2VyYCwgYHRvU3RyaW5nYCwgYHRvVXBwZXJgLCBgdHJpbWAsXG4gICAgICogYHRyaW1FbmRgLCBgdHJpbVN0YXJ0YCwgYHRydW5jYXRlYCwgYHVuZXNjYXBlYCwgYHVuaXF1ZUlkYCwgYHVwcGVyQ2FzZWAsXG4gICAgICogYHVwcGVyRmlyc3RgLCBgdmFsdWVgLCBhbmQgYHdvcmRzYFxuICAgICAqXG4gICAgICogQG5hbWUgX1xuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byB3cmFwIGluIGEgYGxvZGFzaGAgaW5zdGFuY2UuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIHNxdWFyZShuKSB7XG4gICAgICogICByZXR1cm4gbiAqIG47XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIHdyYXBwZWQgPSBfKFsxLCAyLCAzXSk7XG4gICAgICpcbiAgICAgKiAvLyBSZXR1cm5zIGFuIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKiB3cmFwcGVkLnJlZHVjZShfLmFkZCk7XG4gICAgICogLy8gPT4gNlxuICAgICAqXG4gICAgICogLy8gUmV0dXJucyBhIHdyYXBwZWQgdmFsdWUuXG4gICAgICogdmFyIHNxdWFyZXMgPSB3cmFwcGVkLm1hcChzcXVhcmUpO1xuICAgICAqXG4gICAgICogXy5pc0FycmF5KHNxdWFyZXMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoc3F1YXJlcy52YWx1ZSgpKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gbG9kYXNoKHZhbHVlKSB7XG4gICAgICBpZiAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiAhaXNBcnJheSh2YWx1ZSkgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIExhenlXcmFwcGVyKSkge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBMb2Rhc2hXcmFwcGVyKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCAnX193cmFwcGVkX18nKSkge1xuICAgICAgICAgIHJldHVybiB3cmFwcGVyQ2xvbmUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNyZWF0ZWAgd2l0aG91dCBzdXBwb3J0IGZvciBhc3NpZ25pbmdcbiAgICAgKiBwcm9wZXJ0aWVzIHRvIHRoZSBjcmVhdGVkIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHByb3RvIFRoZSBvYmplY3QgdG8gaW5oZXJpdCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICovXG4gICAgdmFyIGJhc2VDcmVhdGUgPSAoZnVuY3Rpb24oKSB7XG4gICAgICBmdW5jdGlvbiBvYmplY3QoKSB7fVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHByb3RvKSB7XG4gICAgICAgIGlmICghaXNPYmplY3QocHJvdG8pKSB7XG4gICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmplY3RDcmVhdGUpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0Q3JlYXRlKHByb3RvKTtcbiAgICAgICAgfVxuICAgICAgICBvYmplY3QucHJvdG90eXBlID0gcHJvdG87XG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgb2JqZWN0O1xuICAgICAgICBvYmplY3QucHJvdG90eXBlID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9KCkpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGZ1bmN0aW9uIHdob3NlIHByb3RvdHlwZSBjaGFpbiBzZXF1ZW5jZSB3cmFwcGVycyBpbmhlcml0IGZyb20uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VMb2Rhc2goKSB7XG4gICAgICAvLyBObyBvcGVyYXRpb24gcGVyZm9ybWVkLlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGNvbnN0cnVjdG9yIGZvciBjcmVhdGluZyBgbG9kYXNoYCB3cmFwcGVyIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbY2hhaW5BbGxdIEVuYWJsZSBleHBsaWNpdCBtZXRob2QgY2hhaW4gc2VxdWVuY2VzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIExvZGFzaFdyYXBwZXIodmFsdWUsIGNoYWluQWxsKSB7XG4gICAgICB0aGlzLl9fd3JhcHBlZF9fID0gdmFsdWU7XG4gICAgICB0aGlzLl9fYWN0aW9uc19fID0gW107XG4gICAgICB0aGlzLl9fY2hhaW5fXyA9ICEhY2hhaW5BbGw7XG4gICAgICB0aGlzLl9faW5kZXhfXyA9IDA7XG4gICAgICB0aGlzLl9fdmFsdWVzX18gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnkgZGVmYXVsdCwgdGhlIHRlbXBsYXRlIGRlbGltaXRlcnMgdXNlZCBieSBsb2Rhc2ggYXJlIGxpa2UgdGhvc2UgaW5cbiAgICAgKiBlbWJlZGRlZCBSdWJ5IChFUkIpIGFzIHdlbGwgYXMgRVMyMDE1IHRlbXBsYXRlIHN0cmluZ3MuIENoYW5nZSB0aGVcbiAgICAgKiBmb2xsb3dpbmcgdGVtcGxhdGUgc2V0dGluZ3MgdG8gdXNlIGFsdGVybmF0aXZlIGRlbGltaXRlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAqL1xuICAgIGxvZGFzaC50ZW1wbGF0ZVNldHRpbmdzID0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtSZWdFeHB9XG4gICAgICAgKi9cbiAgICAgICdlc2NhcGUnOiByZUVzY2FwZSxcblxuICAgICAgLyoqXG4gICAgICAgKiBVc2VkIHRvIGRldGVjdCBjb2RlIHRvIGJlIGV2YWx1YXRlZC5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgICAgICovXG4gICAgICAnZXZhbHVhdGUnOiByZUV2YWx1YXRlLFxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gaW5qZWN0LlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtSZWdFeHB9XG4gICAgICAgKi9cbiAgICAgICdpbnRlcnBvbGF0ZSc6IHJlSW50ZXJwb2xhdGUsXG5cbiAgICAgIC8qKlxuICAgICAgICogVXNlZCB0byByZWZlcmVuY2UgdGhlIGRhdGEgb2JqZWN0IGluIHRoZSB0ZW1wbGF0ZSB0ZXh0LlxuICAgICAgICpcbiAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICAgKi9cbiAgICAgICd2YXJpYWJsZSc6ICcnLFxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gaW1wb3J0IHZhcmlhYmxlcyBpbnRvIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAgICovXG4gICAgICAnaW1wb3J0cyc6IHtcblxuICAgICAgICAvKipcbiAgICAgICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAgICAgKlxuICAgICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNcbiAgICAgICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAgICAgKi9cbiAgICAgICAgJ18nOiBsb2Rhc2hcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gRW5zdXJlIHdyYXBwZXJzIGFyZSBpbnN0YW5jZXMgb2YgYGJhc2VMb2Rhc2hgLlxuICAgIGxvZGFzaC5wcm90b3R5cGUgPSBiYXNlTG9kYXNoLnByb3RvdHlwZTtcbiAgICBsb2Rhc2gucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gbG9kYXNoO1xuXG4gICAgTG9kYXNoV3JhcHBlci5wcm90b3R5cGUgPSBiYXNlQ3JlYXRlKGJhc2VMb2Rhc2gucHJvdG90eXBlKTtcbiAgICBMb2Rhc2hXcmFwcGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IExvZGFzaFdyYXBwZXI7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbGF6eSB3cmFwcGVyIG9iamVjdCB3aGljaCB3cmFwcyBgdmFsdWVgIHRvIGVuYWJsZSBsYXp5IGV2YWx1YXRpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gTGF6eVdyYXBwZXIodmFsdWUpIHtcbiAgICAgIHRoaXMuX193cmFwcGVkX18gPSB2YWx1ZTtcbiAgICAgIHRoaXMuX19hY3Rpb25zX18gPSBbXTtcbiAgICAgIHRoaXMuX19kaXJfXyA9IDE7XG4gICAgICB0aGlzLl9fZmlsdGVyZWRfXyA9IGZhbHNlO1xuICAgICAgdGhpcy5fX2l0ZXJhdGVlc19fID0gW107XG4gICAgICB0aGlzLl9fdGFrZUNvdW50X18gPSBNQVhfQVJSQVlfTEVOR1RIO1xuICAgICAgdGhpcy5fX3ZpZXdzX18gPSBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgdGhlIGxhenkgd3JhcHBlciBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGNsb25lXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIGBMYXp5V3JhcHBlcmAgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxhenlDbG9uZSgpIHtcbiAgICAgIHZhciByZXN1bHQgPSBuZXcgTGF6eVdyYXBwZXIodGhpcy5fX3dyYXBwZWRfXyk7XG4gICAgICByZXN1bHQuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7XG4gICAgICByZXN1bHQuX19kaXJfXyA9IHRoaXMuX19kaXJfXztcbiAgICAgIHJlc3VsdC5fX2ZpbHRlcmVkX18gPSB0aGlzLl9fZmlsdGVyZWRfXztcbiAgICAgIHJlc3VsdC5fX2l0ZXJhdGVlc19fID0gY29weUFycmF5KHRoaXMuX19pdGVyYXRlZXNfXyk7XG4gICAgICByZXN1bHQuX190YWtlQ291bnRfXyA9IHRoaXMuX190YWtlQ291bnRfXztcbiAgICAgIHJlc3VsdC5fX3ZpZXdzX18gPSBjb3B5QXJyYXkodGhpcy5fX3ZpZXdzX18pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnNlcyB0aGUgZGlyZWN0aW9uIG9mIGxhenkgaXRlcmF0aW9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSByZXZlcnNlXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IHJldmVyc2VkIGBMYXp5V3JhcHBlcmAgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxhenlSZXZlcnNlKCkge1xuICAgICAgaWYgKHRoaXMuX19maWx0ZXJlZF9fKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgTGF6eVdyYXBwZXIodGhpcyk7XG4gICAgICAgIHJlc3VsdC5fX2Rpcl9fID0gLTE7XG4gICAgICAgIHJlc3VsdC5fX2ZpbHRlcmVkX18gPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5jbG9uZSgpO1xuICAgICAgICByZXN1bHQuX19kaXJfXyAqPSAtMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXh0cmFjdHMgdGhlIHVud3JhcHBlZCB2YWx1ZSBmcm9tIGl0cyBsYXp5IHdyYXBwZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHZhbHVlXG4gICAgICogQG1lbWJlck9mIExhenlXcmFwcGVyXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsYXp5VmFsdWUoKSB7XG4gICAgICB2YXIgYXJyYXkgPSB0aGlzLl9fd3JhcHBlZF9fLnZhbHVlKCksXG4gICAgICAgICAgZGlyID0gdGhpcy5fX2Rpcl9fLFxuICAgICAgICAgIGlzQXJyID0gaXNBcnJheShhcnJheSksXG4gICAgICAgICAgaXNSaWdodCA9IGRpciA8IDAsXG4gICAgICAgICAgYXJyTGVuZ3RoID0gaXNBcnIgPyBhcnJheS5sZW5ndGggOiAwLFxuICAgICAgICAgIHZpZXcgPSBnZXRWaWV3KDAsIGFyckxlbmd0aCwgdGhpcy5fX3ZpZXdzX18pLFxuICAgICAgICAgIHN0YXJ0ID0gdmlldy5zdGFydCxcbiAgICAgICAgICBlbmQgPSB2aWV3LmVuZCxcbiAgICAgICAgICBsZW5ndGggPSBlbmQgLSBzdGFydCxcbiAgICAgICAgICBpbmRleCA9IGlzUmlnaHQgPyBlbmQgOiAoc3RhcnQgLSAxKSxcbiAgICAgICAgICBpdGVyYXRlZXMgPSB0aGlzLl9faXRlcmF0ZWVzX18sXG4gICAgICAgICAgaXRlckxlbmd0aCA9IGl0ZXJhdGVlcy5sZW5ndGgsXG4gICAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICAgIHRha2VDb3VudCA9IG5hdGl2ZU1pbihsZW5ndGgsIHRoaXMuX190YWtlQ291bnRfXyk7XG5cbiAgICAgIGlmICghaXNBcnIgfHwgKCFpc1JpZ2h0ICYmIGFyckxlbmd0aCA9PSBsZW5ndGggJiYgdGFrZUNvdW50ID09IGxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VXcmFwcGVyVmFsdWUoYXJyYXksIHRoaXMuX19hY3Rpb25zX18pO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuXG4gICAgICBvdXRlcjpcbiAgICAgIHdoaWxlIChsZW5ndGgtLSAmJiByZXNJbmRleCA8IHRha2VDb3VudCkge1xuICAgICAgICBpbmRleCArPSBkaXI7XG5cbiAgICAgICAgdmFyIGl0ZXJJbmRleCA9IC0xLFxuICAgICAgICAgICAgdmFsdWUgPSBhcnJheVtpbmRleF07XG5cbiAgICAgICAgd2hpbGUgKCsraXRlckluZGV4IDwgaXRlckxlbmd0aCkge1xuICAgICAgICAgIHZhciBkYXRhID0gaXRlcmF0ZWVzW2l0ZXJJbmRleF0sXG4gICAgICAgICAgICAgIGl0ZXJhdGVlID0gZGF0YS5pdGVyYXRlZSxcbiAgICAgICAgICAgICAgdHlwZSA9IGRhdGEudHlwZSxcbiAgICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSh2YWx1ZSk7XG5cbiAgICAgICAgICBpZiAodHlwZSA9PSBMQVpZX01BUF9GTEFHKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGNvbXB1dGVkO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWNvbXB1dGVkKSB7XG4gICAgICAgICAgICBpZiAodHlwZSA9PSBMQVpZX0ZJTFRFUl9GTEFHKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG91dGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgYExhenlXcmFwcGVyYCBpcyBhbiBpbnN0YW5jZSBvZiBgYmFzZUxvZGFzaGAuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlID0gYmFzZUNyZWF0ZShiYXNlTG9kYXNoLnByb3RvdHlwZSk7XG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTGF6eVdyYXBwZXI7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgaGFzaCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIEhhc2goZW50cmllcykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gZW50cmllcyA9PSBudWxsID8gMCA6IGVudHJpZXMubGVuZ3RoO1xuXG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2luZGV4XTtcbiAgICAgICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCBrZXktdmFsdWUgZW50cmllcyBmcm9tIHRoZSBoYXNoLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBjbGVhclxuICAgICAqIEBtZW1iZXJPZiBIYXNoXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaENsZWFyKCkge1xuICAgICAgdGhpcy5fX2RhdGFfXyA9IG5hdGl2ZUNyZWF0ZSA/IG5hdGl2ZUNyZWF0ZShudWxsKSA6IHt9O1xuICAgICAgdGhpcy5zaXplID0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgaGFzaC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZGVsZXRlXG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gaGFzaCBUaGUgaGFzaCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc2hEZWxldGUoa2V5KSB7XG4gICAgICB2YXIgcmVzdWx0ID0gdGhpcy5oYXMoa2V5KSAmJiBkZWxldGUgdGhpcy5fX2RhdGFfX1trZXldO1xuICAgICAgdGhpcy5zaXplIC09IHJlc3VsdCA/IDEgOiAwO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBoYXNoIHZhbHVlIGZvciBga2V5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZ2V0XG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaEdldChrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIGlmIChuYXRpdmVDcmVhdGUpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGRhdGFba2V5XTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCA9PT0gSEFTSF9VTkRFRklORUQgPyB1bmRlZmluZWQgOiByZXN1bHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpID8gZGF0YVtrZXldIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhIGhhc2ggdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgaGFzXG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaEhhcyhrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIHJldHVybiBuYXRpdmVDcmVhdGUgPyAoZGF0YVtrZXldICE9PSB1bmRlZmluZWQpIDogaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGhhc2ggYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIEhhc2hcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgaGFzaCBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBoYXNoU2V0KGtleSwgdmFsdWUpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgICAgIHRoaXMuc2l6ZSArPSB0aGlzLmhhcyhrZXkpID8gMCA6IDE7XG4gICAgICBkYXRhW2tleV0gPSAobmF0aXZlQ3JlYXRlICYmIHZhbHVlID09PSB1bmRlZmluZWQpID8gSEFTSF9VTkRFRklORUQgOiB2YWx1ZTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBIYXNoYC5cbiAgICBIYXNoLnByb3RvdHlwZS5jbGVhciA9IGhhc2hDbGVhcjtcbiAgICBIYXNoLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBoYXNoRGVsZXRlO1xuICAgIEhhc2gucHJvdG90eXBlLmdldCA9IGhhc2hHZXQ7XG4gICAgSGFzaC5wcm90b3R5cGUuaGFzID0gaGFzaEhhcztcbiAgICBIYXNoLnByb3RvdHlwZS5zZXQgPSBoYXNoU2V0O1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBsaXN0IGNhY2hlIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gTGlzdENhY2hlKGVudHJpZXMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGVudHJpZXMgPT0gbnVsbCA/IDAgOiBlbnRyaWVzLmxlbmd0aDtcblxuICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgICAgIHRoaXMuc2V0KGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgbGlzdCBjYWNoZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgY2xlYXJcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICovXG4gICAgZnVuY3Rpb24gbGlzdENhY2hlQ2xlYXIoKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fID0gW107XG4gICAgICB0aGlzLnNpemUgPSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYGtleWAgYW5kIGl0cyB2YWx1ZSBmcm9tIHRoZSBsaXN0IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBkZWxldGVcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgICAgICBpbmRleCA9IGFzc29jSW5kZXhPZihkYXRhLCBrZXkpO1xuXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBsYXN0SW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gICAgICBpZiAoaW5kZXggPT0gbGFzdEluZGV4KSB7XG4gICAgICAgIGRhdGEucG9wKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcGxpY2UuY2FsbChkYXRhLCBpbmRleCwgMSk7XG4gICAgICB9XG4gICAgICAtLXRoaXMuc2l6ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxpc3QgY2FjaGUgdmFsdWUgZm9yIGBrZXlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBnZXRcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUdldChrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgICAgICBpbmRleCA9IGFzc29jSW5kZXhPZihkYXRhLCBrZXkpO1xuXG4gICAgICByZXR1cm4gaW5kZXggPCAwID8gdW5kZWZpbmVkIDogZGF0YVtpbmRleF1bMV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgbGlzdCBjYWNoZSB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBoYXNcbiAgICAgKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUhhcyhrZXkpIHtcbiAgICAgIHJldHVybiBhc3NvY0luZGV4T2YodGhpcy5fX2RhdGFfXywga2V5KSA+IC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGxpc3QgY2FjaGUgYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIExpc3RDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBsaXN0IGNhY2hlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICArK3RoaXMuc2l6ZTtcbiAgICAgICAgZGF0YS5wdXNoKFtrZXksIHZhbHVlXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhW2luZGV4XVsxXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYExpc3RDYWNoZWAuXG4gICAgTGlzdENhY2hlLnByb3RvdHlwZS5jbGVhciA9IGxpc3RDYWNoZUNsZWFyO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGVbJ2RlbGV0ZSddID0gbGlzdENhY2hlRGVsZXRlO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbGlzdENhY2hlR2V0O1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuaGFzID0gbGlzdENhY2hlSGFzO1xuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuc2V0ID0gbGlzdENhY2hlU2V0O1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG1hcCBjYWNoZSBvYmplY3QgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBNYXBDYWNoZShlbnRyaWVzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBlbnRyaWVzID09IG51bGwgPyAwIDogZW50cmllcy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaW5kZXhdO1xuICAgICAgICB0aGlzLnNldChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIG1hcC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgY2xlYXJcbiAgICAgKiBAbWVtYmVyT2YgTWFwQ2FjaGVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZUNsZWFyKCkge1xuICAgICAgdGhpcy5zaXplID0gMDtcbiAgICAgIHRoaXMuX19kYXRhX18gPSB7XG4gICAgICAgICdoYXNoJzogbmV3IEhhc2gsXG4gICAgICAgICdtYXAnOiBuZXcgKE1hcCB8fCBMaXN0Q2FjaGUpLFxuICAgICAgICAnc3RyaW5nJzogbmV3IEhhc2hcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIG1hcC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZGVsZXRlXG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlRGVsZXRlKGtleSkge1xuICAgICAgdmFyIHJlc3VsdCA9IGdldE1hcERhdGEodGhpcywga2V5KVsnZGVsZXRlJ10oa2V5KTtcbiAgICAgIHRoaXMuc2l6ZSAtPSByZXN1bHQgPyAxIDogMDtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbWFwIHZhbHVlIGZvciBga2V5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZ2V0XG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlR2V0KGtleSkge1xuICAgICAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5nZXQoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYSBtYXAgdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgaGFzXG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hcENhY2hlSGFzKGtleSkge1xuICAgICAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KS5oYXMoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBtYXAgYGtleWAgdG8gYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgc2V0XG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG1hcCBjYWNoZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IGdldE1hcERhdGEodGhpcywga2V5KSxcbiAgICAgICAgICBzaXplID0gZGF0YS5zaXplO1xuXG4gICAgICBkYXRhLnNldChrZXksIHZhbHVlKTtcbiAgICAgIHRoaXMuc2l6ZSArPSBkYXRhLnNpemUgPT0gc2l6ZSA/IDAgOiAxO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYE1hcENhY2hlYC5cbiAgICBNYXBDYWNoZS5wcm90b3R5cGUuY2xlYXIgPSBtYXBDYWNoZUNsZWFyO1xuICAgIE1hcENhY2hlLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBtYXBDYWNoZURlbGV0ZTtcbiAgICBNYXBDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbWFwQ2FjaGVHZXQ7XG4gICAgTWFwQ2FjaGUucHJvdG90eXBlLmhhcyA9IG1hcENhY2hlSGFzO1xuICAgIE1hcENhY2hlLnByb3RvdHlwZS5zZXQgPSBtYXBDYWNoZVNldDtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBjYWNoZSBvYmplY3QgdG8gc3RvcmUgdW5pcXVlIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBTZXRDYWNoZSh2YWx1ZXMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHZhbHVlcyA9PSBudWxsID8gMCA6IHZhbHVlcy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuX19kYXRhX18gPSBuZXcgTWFwQ2FjaGU7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB0aGlzLmFkZCh2YWx1ZXNbaW5kZXhdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGB2YWx1ZWAgdG8gdGhlIGFycmF5IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBhZGRcbiAgICAgKiBAbWVtYmVyT2YgU2V0Q2FjaGVcbiAgICAgKiBAYWxpYXMgcHVzaFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNhY2hlLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNhY2hlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldENhY2hlQWRkKHZhbHVlKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fLnNldCh2YWx1ZSwgSEFTSF9VTkRFRklORUQpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgaW4gdGhlIGFycmF5IGNhY2hlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBoYXNcbiAgICAgKiBAbWVtYmVyT2YgU2V0Q2FjaGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzZXRDYWNoZUhhcyh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0byBgU2V0Q2FjaGVgLlxuICAgIFNldENhY2hlLnByb3RvdHlwZS5hZGQgPSBTZXRDYWNoZS5wcm90b3R5cGUucHVzaCA9IHNldENhY2hlQWRkO1xuICAgIFNldENhY2hlLnByb3RvdHlwZS5oYXMgPSBzZXRDYWNoZUhhcztcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzdGFjayBjYWNoZSBvYmplY3QgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBTdGFjayhlbnRyaWVzKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18gPSBuZXcgTGlzdENhY2hlKGVudHJpZXMpO1xuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIHN0YWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBjbGVhclxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0YWNrQ2xlYXIoKSB7XG4gICAgICB0aGlzLl9fZGF0YV9fID0gbmV3IExpc3RDYWNoZTtcbiAgICAgIHRoaXMuc2l6ZSA9IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIHN0YWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBkZWxldGVcbiAgICAgKiBAbWVtYmVyT2YgU3RhY2tcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhY2tEZWxldGUoa2V5KSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICAgICAgcmVzdWx0ID0gZGF0YVsnZGVsZXRlJ10oa2V5KTtcblxuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzdGFjayB2YWx1ZSBmb3IgYGtleWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGdldFxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja0dldChrZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmdldChrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhIHN0YWNrIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGhhc1xuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja0hhcyhrZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0YWNrIGBrZXlgIHRvIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHNldFxuICAgICAqIEBtZW1iZXJPZiBTdGFja1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBzdGFjayBjYWNoZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja1NldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gICAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIExpc3RDYWNoZSkge1xuICAgICAgICB2YXIgcGFpcnMgPSBkYXRhLl9fZGF0YV9fO1xuICAgICAgICBpZiAoIU1hcCB8fCAocGFpcnMubGVuZ3RoIDwgTEFSR0VfQVJSQVlfU0laRSAtIDEpKSB7XG4gICAgICAgICAgcGFpcnMucHVzaChba2V5LCB2YWx1ZV0pO1xuICAgICAgICAgIHRoaXMuc2l6ZSA9ICsrZGF0YS5zaXplO1xuICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEgPSB0aGlzLl9fZGF0YV9fID0gbmV3IE1hcENhY2hlKHBhaXJzKTtcbiAgICAgIH1cbiAgICAgIGRhdGEuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYFN0YWNrYC5cbiAgICBTdGFjay5wcm90b3R5cGUuY2xlYXIgPSBzdGFja0NsZWFyO1xuICAgIFN0YWNrLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBzdGFja0RlbGV0ZTtcbiAgICBTdGFjay5wcm90b3R5cGUuZ2V0ID0gc3RhY2tHZXQ7XG4gICAgU3RhY2sucHJvdG90eXBlLmhhcyA9IHN0YWNrSGFzO1xuICAgIFN0YWNrLnByb3RvdHlwZS5zZXQgPSBzdGFja1NldDtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgb2YgdGhlIGFycmF5LWxpa2UgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBpbmhlcml0ZWQgU3BlY2lmeSByZXR1cm5pbmcgaW5oZXJpdGVkIHByb3BlcnR5IG5hbWVzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlMaWtlS2V5cyh2YWx1ZSwgaW5oZXJpdGVkKSB7XG4gICAgICB2YXIgaXNBcnIgPSBpc0FycmF5KHZhbHVlKSxcbiAgICAgICAgICBpc0FyZyA9ICFpc0FyciAmJiBpc0FyZ3VtZW50cyh2YWx1ZSksXG4gICAgICAgICAgaXNCdWZmID0gIWlzQXJyICYmICFpc0FyZyAmJiBpc0J1ZmZlcih2YWx1ZSksXG4gICAgICAgICAgaXNUeXBlID0gIWlzQXJyICYmICFpc0FyZyAmJiAhaXNCdWZmICYmIGlzVHlwZWRBcnJheSh2YWx1ZSksXG4gICAgICAgICAgc2tpcEluZGV4ZXMgPSBpc0FyciB8fCBpc0FyZyB8fCBpc0J1ZmYgfHwgaXNUeXBlLFxuICAgICAgICAgIHJlc3VsdCA9IHNraXBJbmRleGVzID8gYmFzZVRpbWVzKHZhbHVlLmxlbmd0aCwgU3RyaW5nKSA6IFtdLFxuICAgICAgICAgIGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICBpZiAoKGluaGVyaXRlZCB8fCBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrZXkpKSAmJlxuICAgICAgICAgICAgIShza2lwSW5kZXhlcyAmJiAoXG4gICAgICAgICAgICAgICAvLyBTYWZhcmkgOSBoYXMgZW51bWVyYWJsZSBgYXJndW1lbnRzLmxlbmd0aGAgaW4gc3RyaWN0IG1vZGUuXG4gICAgICAgICAgICAgICBrZXkgPT0gJ2xlbmd0aCcgfHxcbiAgICAgICAgICAgICAgIC8vIE5vZGUuanMgMC4xMCBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiBidWZmZXJzLlxuICAgICAgICAgICAgICAgKGlzQnVmZiAmJiAoa2V5ID09ICdvZmZzZXQnIHx8IGtleSA9PSAncGFyZW50JykpIHx8XG4gICAgICAgICAgICAgICAvLyBQaGFudG9tSlMgMiBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiB0eXBlZCBhcnJheXMuXG4gICAgICAgICAgICAgICAoaXNUeXBlICYmIChrZXkgPT0gJ2J1ZmZlcicgfHwga2V5ID09ICdieXRlTGVuZ3RoJyB8fCBrZXkgPT0gJ2J5dGVPZmZzZXQnKSkgfHxcbiAgICAgICAgICAgICAgIC8vIFNraXAgaW5kZXggcHJvcGVydGllcy5cbiAgICAgICAgICAgICAgIGlzSW5kZXgoa2V5LCBsZW5ndGgpXG4gICAgICAgICAgICApKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnNhbXBsZWAgZm9yIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHNhbXBsZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlTYW1wbGUoYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYXJyYXlbYmFzZVJhbmRvbSgwLCBsZW5ndGggLSAxKV0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnNhbXBsZVNpemVgIGZvciBhcnJheXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzYW1wbGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byBzYW1wbGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlTYW1wbGVTaXplKGFycmF5LCBuKSB7XG4gICAgICByZXR1cm4gc2h1ZmZsZVNlbGYoY29weUFycmF5KGFycmF5KSwgYmFzZUNsYW1wKG4sIDAsIGFycmF5Lmxlbmd0aCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zaHVmZmxlYCBmb3IgYXJyYXlzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2h1ZmZsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzaHVmZmxlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBhcnJheVNodWZmbGUoYXJyYXkpIHtcbiAgICAgIHJldHVybiBzaHVmZmxlU2VsZihjb3B5QXJyYXkoYXJyYXkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGxpa2UgYGFzc2lnblZhbHVlYCBleGNlcHQgdGhhdCBpdCBkb2Vzbid0IGFzc2lnblxuICAgICAqIGB1bmRlZmluZWRgIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGFzc2lnbi5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgICAgIGlmICgodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZXEob2JqZWN0W2tleV0sIHZhbHVlKSkgfHxcbiAgICAgICAgICAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSkge1xuICAgICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc3NpZ25zIGB2YWx1ZWAgdG8gYGtleWAgb2YgYG9iamVjdGAgaWYgdGhlIGV4aXN0aW5nIHZhbHVlIGlzIG5vdCBlcXVpdmFsZW50XG4gICAgICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICAgICAgdmFyIG9ialZhbHVlID0gb2JqZWN0W2tleV07XG4gICAgICBpZiAoIShoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSAmJiBlcShvYmpWYWx1ZSwgdmFsdWUpKSB8fFxuICAgICAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmICEoa2V5IGluIG9iamVjdCkpKSB7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGluZGV4IGF0IHdoaWNoIHRoZSBga2V5YCBpcyBmb3VuZCBpbiBgYXJyYXlgIG9mIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXNzb2NJbmRleE9mKGFycmF5LCBrZXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgaWYgKGVxKGFycmF5W2xlbmd0aF1bMF0sIGtleSkpIHtcbiAgICAgICAgICByZXR1cm4gbGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWdncmVnYXRlcyBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAgb24gYGFjY3VtdWxhdG9yYCB3aXRoIGtleXMgdHJhbnNmb3JtZWRcbiAgICAgKiBieSBgaXRlcmF0ZWVgIGFuZCB2YWx1ZXMgc2V0IGJ5IGBzZXR0ZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc2V0dGVyIFRoZSBmdW5jdGlvbiB0byBzZXQgYGFjY3VtdWxhdG9yYCB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIHRvIHRyYW5zZm9ybSBrZXlzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBhY2N1bXVsYXRvciBUaGUgaW5pdGlhbCBhZ2dyZWdhdGVkIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGFjY3VtdWxhdG9yYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQWdncmVnYXRvcihjb2xsZWN0aW9uLCBzZXR0ZXIsIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgICAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGtleSwgY29sbGVjdGlvbikge1xuICAgICAgICBzZXR0ZXIoYWNjdW11bGF0b3IsIHZhbHVlLCBpdGVyYXRlZSh2YWx1ZSksIGNvbGxlY3Rpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uYXNzaWduYCB3aXRob3V0IHN1cHBvcnQgZm9yIG11bHRpcGxlIHNvdXJjZXNcbiAgICAgKiBvciBgY3VzdG9taXplcmAgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VBc3NpZ24ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgY29weU9iamVjdChzb3VyY2UsIGtleXMoc291cmNlKSwgb2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5hc3NpZ25JbmAgd2l0aG91dCBzdXBwb3J0IGZvciBtdWx0aXBsZSBzb3VyY2VzXG4gICAgICogb3IgYGN1c3RvbWl6ZXJgIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQXNzaWduSW4ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBhc3NpZ25WYWx1ZWAgYW5kIGBhc3NpZ25NZXJnZVZhbHVlYCB3aXRob3V0XG4gICAgICogdmFsdWUgY2hlY2tzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gICAgICBpZiAoa2V5ID09ICdfX3Byb3RvX18nICYmIGRlZmluZVByb3BlcnR5KSB7XG4gICAgICAgIGRlZmluZVByb3BlcnR5KG9iamVjdCwga2V5LCB7XG4gICAgICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsXG4gICAgICAgICAgJ2VudW1lcmFibGUnOiB0cnVlLFxuICAgICAgICAgICd2YWx1ZSc6IHZhbHVlLFxuICAgICAgICAgICd3cml0YWJsZSc6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmF0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWwgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gcGF0aHMgVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBwaWNrZWQgZWxlbWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUF0KG9iamVjdCwgcGF0aHMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGhzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBBcnJheShsZW5ndGgpLFxuICAgICAgICAgIHNraXAgPSBvYmplY3QgPT0gbnVsbDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W2luZGV4XSA9IHNraXAgPyB1bmRlZmluZWQgOiBnZXQob2JqZWN0LCBwYXRoc1tpbmRleF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5jbGFtcGAgd2hpY2ggZG9lc24ndCBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gY2xhbXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsb3dlcl0gVGhlIGxvd2VyIGJvdW5kLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB1cHBlciBUaGUgdXBwZXIgYm91bmQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY2xhbXBlZCBudW1iZXIuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUNsYW1wKG51bWJlciwgbG93ZXIsIHVwcGVyKSB7XG4gICAgICBpZiAobnVtYmVyID09PSBudW1iZXIpIHtcbiAgICAgICAgaWYgKHVwcGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBudW1iZXIgPSBudW1iZXIgPD0gdXBwZXIgPyBudW1iZXIgOiB1cHBlcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIG51bWJlciA9IG51bWJlciA+PSBsb3dlciA/IG51bWJlciA6IGxvd2VyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVtYmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNsb25lYCBhbmQgYF8uY2xvbmVEZWVwYCB3aGljaCB0cmFja3NcbiAgICAgKiB0cmF2ZXJzZWQgb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLlxuICAgICAqICAxIC0gRGVlcCBjbG9uZVxuICAgICAqICAyIC0gRmxhdHRlbiBpbmhlcml0ZWQgcHJvcGVydGllc1xuICAgICAqICA0IC0gQ2xvbmUgc3ltYm9sc1xuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNsb25pbmcuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtrZXldIFRoZSBrZXkgb2YgYHZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIHBhcmVudCBvYmplY3Qgb2YgYHZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIG9iamVjdHMgYW5kIHRoZWlyIGNsb25lIGNvdW50ZXJwYXJ0cy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VDbG9uZSh2YWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwga2V5LCBvYmplY3QsIHN0YWNrKSB7XG4gICAgICB2YXIgcmVzdWx0LFxuICAgICAgICAgIGlzRGVlcCA9IGJpdG1hc2sgJiBDTE9ORV9ERUVQX0ZMQUcsXG4gICAgICAgICAgaXNGbGF0ID0gYml0bWFzayAmIENMT05FX0ZMQVRfRkxBRyxcbiAgICAgICAgICBpc0Z1bGwgPSBiaXRtYXNrICYgQ0xPTkVfU1lNQk9MU19GTEFHO1xuXG4gICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICByZXN1bHQgPSBvYmplY3QgPyBjdXN0b21pemVyKHZhbHVlLCBrZXksIG9iamVjdCwgc3RhY2spIDogY3VzdG9taXplcih2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzQXJyKSB7XG4gICAgICAgIHJlc3VsdCA9IGluaXRDbG9uZUFycmF5KHZhbHVlKTtcbiAgICAgICAgaWYgKCFpc0RlZXApIHtcbiAgICAgICAgICByZXR1cm4gY29weUFycmF5KHZhbHVlLCByZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKHZhbHVlKSxcbiAgICAgICAgICAgIGlzRnVuYyA9IHRhZyA9PSBmdW5jVGFnIHx8IHRhZyA9PSBnZW5UYWc7XG5cbiAgICAgICAgaWYgKGlzQnVmZmVyKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBjbG9uZUJ1ZmZlcih2YWx1ZSwgaXNEZWVwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFnID09IG9iamVjdFRhZyB8fCB0YWcgPT0gYXJnc1RhZyB8fCAoaXNGdW5jICYmICFvYmplY3QpKSB7XG4gICAgICAgICAgcmVzdWx0ID0gKGlzRmxhdCB8fCBpc0Z1bmMpID8ge30gOiBpbml0Q2xvbmVPYmplY3QodmFsdWUpO1xuICAgICAgICAgIGlmICghaXNEZWVwKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNGbGF0XG4gICAgICAgICAgICAgID8gY29weVN5bWJvbHNJbih2YWx1ZSwgYmFzZUFzc2lnbkluKHJlc3VsdCwgdmFsdWUpKVxuICAgICAgICAgICAgICA6IGNvcHlTeW1ib2xzKHZhbHVlLCBiYXNlQXNzaWduKHJlc3VsdCwgdmFsdWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFjbG9uZWFibGVUYWdzW3RhZ10pIHtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3QgPyB2YWx1ZSA6IHt9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQgPSBpbml0Q2xvbmVCeVRhZyh2YWx1ZSwgdGFnLCBpc0RlZXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBDaGVjayBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcyBhbmQgcmV0dXJuIGl0cyBjb3JyZXNwb25kaW5nIGNsb25lLlxuICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgIHZhciBzdGFja2VkID0gc3RhY2suZ2V0KHZhbHVlKTtcbiAgICAgIGlmIChzdGFja2VkKSB7XG4gICAgICAgIHJldHVybiBzdGFja2VkO1xuICAgICAgfVxuICAgICAgc3RhY2suc2V0KHZhbHVlLCByZXN1bHQpO1xuXG4gICAgICBpZiAoaXNTZXQodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goZnVuY3Rpb24oc3ViVmFsdWUpIHtcbiAgICAgICAgICByZXN1bHQuYWRkKGJhc2VDbG9uZShzdWJWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3ViVmFsdWUsIHZhbHVlLCBzdGFjaykpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaXNNYXAodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goZnVuY3Rpb24oc3ViVmFsdWUsIGtleSkge1xuICAgICAgICAgIHJlc3VsdC5zZXQoa2V5LCBiYXNlQ2xvbmUoc3ViVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGtleSwgdmFsdWUsIHN0YWNrKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB2YXIga2V5c0Z1bmMgPSBpc0Z1bGxcbiAgICAgICAgPyAoaXNGbGF0ID8gZ2V0QWxsS2V5c0luIDogZ2V0QWxsS2V5cylcbiAgICAgICAgOiAoaXNGbGF0ID8ga2V5c0luIDoga2V5cyk7XG5cbiAgICAgIHZhciBwcm9wcyA9IGlzQXJyID8gdW5kZWZpbmVkIDoga2V5c0Z1bmModmFsdWUpO1xuICAgICAgYXJyYXlFYWNoKHByb3BzIHx8IHZhbHVlLCBmdW5jdGlvbihzdWJWYWx1ZSwga2V5KSB7XG4gICAgICAgIGlmIChwcm9wcykge1xuICAgICAgICAgIGtleSA9IHN1YlZhbHVlO1xuICAgICAgICAgIHN1YlZhbHVlID0gdmFsdWVba2V5XTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZWN1cnNpdmVseSBwb3B1bGF0ZSBjbG9uZSAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICBhc3NpZ25WYWx1ZShyZXN1bHQsIGtleSwgYmFzZUNsb25lKHN1YlZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBrZXksIHZhbHVlLCBzdGFjaykpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNvbmZvcm1zYCB3aGljaCBkb2Vzbid0IGNsb25lIGBzb3VyY2VgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgcHJlZGljYXRlcyB0byBjb25mb3JtIHRvLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUNvbmZvcm1zKHNvdXJjZSkge1xuICAgICAgdmFyIHByb3BzID0ga2V5cyhzb3VyY2UpO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICByZXR1cm4gYmFzZUNvbmZvcm1zVG8ob2JqZWN0LCBzb3VyY2UsIHByb3BzKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uY29uZm9ybXNUb2Agd2hpY2ggYWNjZXB0cyBgcHJvcHNgIHRvIGNoZWNrLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgcHJlZGljYXRlcyB0byBjb25mb3JtIHRvLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgb2JqZWN0YCBjb25mb3JtcywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBwcm9wcykge1xuICAgICAgdmFyIGxlbmd0aCA9IHByb3BzLmxlbmd0aDtcbiAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gIWxlbmd0aDtcbiAgICAgIH1cbiAgICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIHZhciBrZXkgPSBwcm9wc1tsZW5ndGhdLFxuICAgICAgICAgICAgcHJlZGljYXRlID0gc291cmNlW2tleV0sXG4gICAgICAgICAgICB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgICAgIGlmICgodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSB8fCAhcHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZGVsYXlgIGFuZCBgXy5kZWZlcmAgd2hpY2ggYWNjZXB0cyBgYXJnc2BcbiAgICAgKiB0byBwcm92aWRlIHRvIGBmdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZGVsYXkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHdhaXQgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkgaW52b2NhdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcmdzIFRoZSBhcmd1bWVudHMgdG8gcHJvdmlkZSB0byBgZnVuY2AuXG4gICAgICogQHJldHVybnMge251bWJlcnxPYmplY3R9IFJldHVybnMgdGhlIHRpbWVyIGlkIG9yIHRpbWVvdXQgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VEZWxheShmdW5jLCB3YWl0LCBhcmdzKSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpIHsgZnVuYy5hcHBseSh1bmRlZmluZWQsIGFyZ3MpOyB9LCB3YWl0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2RzIGxpa2UgYF8uZGlmZmVyZW5jZWAgd2l0aG91dCBzdXBwb3J0XG4gICAgICogZm9yIGV4Y2x1ZGluZyBtdWx0aXBsZSBhcnJheXMgb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWVdIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlRGlmZmVyZW5jZShhcnJheSwgdmFsdWVzLCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgaW5jbHVkZXMgPSBhcnJheUluY2x1ZGVzLFxuICAgICAgICAgIGlzQ29tbW9uID0gdHJ1ZSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0gW10sXG4gICAgICAgICAgdmFsdWVzTGVuZ3RoID0gdmFsdWVzLmxlbmd0aDtcblxuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGlmIChpdGVyYXRlZSkge1xuICAgICAgICB2YWx1ZXMgPSBhcnJheU1hcCh2YWx1ZXMsIGJhc2VVbmFyeShpdGVyYXRlZSkpO1xuICAgICAgfVxuICAgICAgaWYgKGNvbXBhcmF0b3IpIHtcbiAgICAgICAgaW5jbHVkZXMgPSBhcnJheUluY2x1ZGVzV2l0aDtcbiAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHZhbHVlcy5sZW5ndGggPj0gTEFSR0VfQVJSQVlfU0laRSkge1xuICAgICAgICBpbmNsdWRlcyA9IGNhY2hlSGFzO1xuICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICB2YWx1ZXMgPSBuZXcgU2V0Q2FjaGUodmFsdWVzKTtcbiAgICAgIH1cbiAgICAgIG91dGVyOlxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSA9PSBudWxsID8gdmFsdWUgOiBpdGVyYXRlZSh2YWx1ZSk7XG5cbiAgICAgICAgdmFsdWUgPSAoY29tcGFyYXRvciB8fCB2YWx1ZSAhPT0gMCkgPyB2YWx1ZSA6IDA7XG4gICAgICAgIGlmIChpc0NvbW1vbiAmJiBjb21wdXRlZCA9PT0gY29tcHV0ZWQpIHtcbiAgICAgICAgICB2YXIgdmFsdWVzSW5kZXggPSB2YWx1ZXNMZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKHZhbHVlc0luZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXNbdmFsdWVzSW5kZXhdID09PSBjb21wdXRlZCkge1xuICAgICAgICAgICAgICBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFpbmNsdWRlcyh2YWx1ZXMsIGNvbXB1dGVkLCBjb21wYXJhdG9yKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mb3JFYWNoYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqL1xuICAgIHZhciBiYXNlRWFjaCA9IGNyZWF0ZUJhc2VFYWNoKGJhc2VGb3JPd24pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yRWFjaFJpZ2h0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqL1xuICAgIHZhciBiYXNlRWFjaFJpZ2h0ID0gY3JlYXRlQmFzZUVhY2goYmFzZUZvck93blJpZ2h0LCB0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmV2ZXJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYWxsIGVsZW1lbnRzIHBhc3MgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUV2ZXJ5KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHRydWU7XG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgcmVzdWx0ID0gISFwcmVkaWNhdGUodmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2RzIGxpa2UgYF8ubWF4YCBhbmQgYF8ubWluYCB3aGljaCBhY2NlcHRzIGFcbiAgICAgKiBgY29tcGFyYXRvcmAgdG8gZGV0ZXJtaW5lIHRoZSBleHRyZW11bSB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmF0b3IgVGhlIGNvbXBhcmF0b3IgdXNlZCB0byBjb21wYXJlIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZXh0cmVtdW0gdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUV4dHJlbXVtKGFycmF5LCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBjdXJyZW50ID0gaXRlcmF0ZWUodmFsdWUpO1xuXG4gICAgICAgIGlmIChjdXJyZW50ICE9IG51bGwgJiYgKGNvbXB1dGVkID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyAoY3VycmVudCA9PT0gY3VycmVudCAmJiAhaXNTeW1ib2woY3VycmVudCkpXG4gICAgICAgICAgICAgIDogY29tcGFyYXRvcihjdXJyZW50LCBjb21wdXRlZClcbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICB2YXIgY29tcHV0ZWQgPSBjdXJyZW50LFxuICAgICAgICAgICAgICByZXN1bHQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5maWxsYCB3aXRob3V0IGFuIGl0ZXJhdGVlIGNhbGwgZ3VhcmQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmaWxsLlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGZpbGwgYGFycmF5YCB3aXRoLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZW5kPWFycmF5Lmxlbmd0aF0gVGhlIGVuZCBwb3NpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlRmlsbChhcnJheSwgdmFsdWUsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICAgIHN0YXJ0ID0gdG9JbnRlZ2VyKHN0YXJ0KTtcbiAgICAgIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgc3RhcnQgPSAtc3RhcnQgPiBsZW5ndGggPyAwIDogKGxlbmd0aCArIHN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGVuZCA9IChlbmQgPT09IHVuZGVmaW5lZCB8fCBlbmQgPiBsZW5ndGgpID8gbGVuZ3RoIDogdG9JbnRlZ2VyKGVuZCk7XG4gICAgICBpZiAoZW5kIDwgMCkge1xuICAgICAgICBlbmQgKz0gbGVuZ3RoO1xuICAgICAgfVxuICAgICAgZW5kID0gc3RhcnQgPiBlbmQgPyAwIDogdG9MZW5ndGgoZW5kKTtcbiAgICAgIHdoaWxlIChzdGFydCA8IGVuZCkge1xuICAgICAgICBhcnJheVtzdGFydCsrXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmZpbHRlcmAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmlsdGVyZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZpbHRlcihjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbikge1xuICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbikpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mbGF0dGVuYCB3aXRoIHN1cHBvcnQgZm9yIHJlc3RyaWN0aW5nIGZsYXR0ZW5pbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmbGF0dGVuLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkZXB0aCBUaGUgbWF4aW11bSByZWN1cnNpb24gZGVwdGguXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbcHJlZGljYXRlPWlzRmxhdHRlbmFibGVdIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdHJpY3RdIFJlc3RyaWN0IHRvIHZhbHVlcyB0aGF0IHBhc3MgYHByZWRpY2F0ZWAgY2hlY2tzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtyZXN1bHQ9W11dIFRoZSBpbml0aWFsIHJlc3VsdCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZsYXR0ZW4oYXJyYXksIGRlcHRoLCBwcmVkaWNhdGUsIGlzU3RyaWN0LCByZXN1bHQpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgICAgcHJlZGljYXRlIHx8IChwcmVkaWNhdGUgPSBpc0ZsYXR0ZW5hYmxlKTtcbiAgICAgIHJlc3VsdCB8fCAocmVzdWx0ID0gW10pO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgIGlmIChkZXB0aCA+IDAgJiYgcHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgIGlmIChkZXB0aCA+IDEpIHtcbiAgICAgICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGZsYXR0ZW4gYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgICAgICBiYXNlRmxhdHRlbih2YWx1ZSwgZGVwdGggLSAxLCBwcmVkaWNhdGUsIGlzU3RyaWN0LCByZXN1bHQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcnJheVB1c2gocmVzdWx0LCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKCFpc1N0cmljdCkge1xuICAgICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBiYXNlRm9yT3duYCB3aGljaCBpdGVyYXRlcyBvdmVyIGBvYmplY3RgXG4gICAgICogcHJvcGVydGllcyByZXR1cm5lZCBieSBga2V5c0Z1bmNgIGFuZCBpbnZva2VzIGBpdGVyYXRlZWAgZm9yIGVhY2ggcHJvcGVydHkuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBgb2JqZWN0YC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIHZhciBiYXNlRm9yID0gY3JlYXRlQmFzZUZvcigpO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlIGBiYXNlRm9yYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIHByb3BlcnRpZXNcbiAgICAgKiBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBrZXlzRnVuYyBUaGUgZnVuY3Rpb24gdG8gZ2V0IHRoZSBrZXlzIG9mIGBvYmplY3RgLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgdmFyIGJhc2VGb3JSaWdodCA9IGNyZWF0ZUJhc2VGb3IodHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mb3JPd25gIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZvck93bihvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3Iob2JqZWN0LCBpdGVyYXRlZSwga2V5cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yT3duUmlnaHRgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZvck93blJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvclJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUsIGtleXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmZ1bmN0aW9uc2Agd2hpY2ggY3JlYXRlcyBhbiBhcnJheSBvZlxuICAgICAqIGBvYmplY3RgIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZpbHRlcmVkIGZyb20gYHByb3BzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IG5hbWVzIHRvIGZpbHRlci5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGZ1bmN0aW9uIG5hbWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VGdW5jdGlvbnMob2JqZWN0LCBwcm9wcykge1xuICAgICAgcmV0dXJuIGFycmF5RmlsdGVyKHByb3BzLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgcmV0dXJuIGlzRnVuY3Rpb24ob2JqZWN0W2tleV0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZ2V0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZmF1bHQgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldChvYmplY3QsIHBhdGgpIHtcbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuXG4gICAgICB2YXIgaW5kZXggPSAwLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAob2JqZWN0ICE9IG51bGwgJiYgaW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgb2JqZWN0ID0gb2JqZWN0W3RvS2V5KHBhdGhbaW5kZXgrK10pXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoaW5kZXggJiYgaW5kZXggPT0gbGVuZ3RoKSA/IG9iamVjdCA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgZ2V0QWxsS2V5c2AgYW5kIGBnZXRBbGxLZXlzSW5gIHdoaWNoIHVzZXNcbiAgICAgKiBga2V5c0Z1bmNgIGFuZCBgc3ltYm9sc0Z1bmNgIHRvIGdldCB0aGUgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBhbmRcbiAgICAgKiBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBgb2JqZWN0YC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzeW1ib2xzRnVuYyBUaGUgZnVuY3Rpb24gdG8gZ2V0IHRoZSBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldEFsbEtleXMob2JqZWN0LCBrZXlzRnVuYywgc3ltYm9sc0Z1bmMpIHtcbiAgICAgIHZhciByZXN1bHQgPSBrZXlzRnVuYyhvYmplY3QpO1xuICAgICAgcmV0dXJuIGlzQXJyYXkob2JqZWN0KSA/IHJlc3VsdCA6IGFycmF5UHVzaChyZXN1bHQsIHN5bWJvbHNGdW5jKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBnZXRUYWdgIHdpdGhvdXQgZmFsbGJhY2tzIGZvciBidWdneSBlbnZpcm9ubWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWRUYWcgOiBudWxsVGFnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChzeW1Ub1N0cmluZ1RhZyAmJiBzeW1Ub1N0cmluZ1RhZyBpbiBPYmplY3QodmFsdWUpKVxuICAgICAgICA/IGdldFJhd1RhZyh2YWx1ZSlcbiAgICAgICAgOiBvYmplY3RUb1N0cmluZyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZ3RgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGdyZWF0ZXIgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUd0KHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIHZhbHVlID4gb3RoZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaGFzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUhhcyhvYmplY3QsIGtleSkge1xuICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmhhc0luYCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUhhc0luKG9iamVjdCwga2V5KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYga2V5IGluIE9iamVjdChvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmluUmFuZ2VgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCBUaGUgc3RhcnQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlbmQgVGhlIGVuZCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBudW1iZXJgIGlzIGluIHRoZSByYW5nZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJblJhbmdlKG51bWJlciwgc3RhcnQsIGVuZCkge1xuICAgICAgcmV0dXJuIG51bWJlciA+PSBuYXRpdmVNaW4oc3RhcnQsIGVuZCkgJiYgbnVtYmVyIDwgbmF0aXZlTWF4KHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5pbnRlcnNlY3Rpb25gLCB3aXRob3V0IHN1cHBvcnRcbiAgICAgKiBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcywgdGhhdCBhY2NlcHRzIGFuIGFycmF5IG9mIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheXMgVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2Ygc2hhcmVkIHZhbHVlcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSW50ZXJzZWN0aW9uKGFycmF5cywgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpIHtcbiAgICAgIHZhciBpbmNsdWRlcyA9IGNvbXBhcmF0b3IgPyBhcnJheUluY2x1ZGVzV2l0aCA6IGFycmF5SW5jbHVkZXMsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXlzWzBdLmxlbmd0aCxcbiAgICAgICAgICBvdGhMZW5ndGggPSBhcnJheXMubGVuZ3RoLFxuICAgICAgICAgIG90aEluZGV4ID0gb3RoTGVuZ3RoLFxuICAgICAgICAgIGNhY2hlcyA9IEFycmF5KG90aExlbmd0aCksXG4gICAgICAgICAgbWF4TGVuZ3RoID0gSW5maW5pdHksXG4gICAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICAgIHdoaWxlIChvdGhJbmRleC0tKSB7XG4gICAgICAgIHZhciBhcnJheSA9IGFycmF5c1tvdGhJbmRleF07XG4gICAgICAgIGlmIChvdGhJbmRleCAmJiBpdGVyYXRlZSkge1xuICAgICAgICAgIGFycmF5ID0gYXJyYXlNYXAoYXJyYXksIGJhc2VVbmFyeShpdGVyYXRlZSkpO1xuICAgICAgICB9XG4gICAgICAgIG1heExlbmd0aCA9IG5hdGl2ZU1pbihhcnJheS5sZW5ndGgsIG1heExlbmd0aCk7XG4gICAgICAgIGNhY2hlc1tvdGhJbmRleF0gPSAhY29tcGFyYXRvciAmJiAoaXRlcmF0ZWUgfHwgKGxlbmd0aCA+PSAxMjAgJiYgYXJyYXkubGVuZ3RoID49IDEyMCkpXG4gICAgICAgICAgPyBuZXcgU2V0Q2FjaGUob3RoSW5kZXggJiYgYXJyYXkpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBhcnJheSA9IGFycmF5c1swXTtcblxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgc2VlbiA9IGNhY2hlc1swXTtcblxuICAgICAgb3V0ZXI6XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCAmJiByZXN1bHQubGVuZ3RoIDwgbWF4TGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPyBpdGVyYXRlZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgICAgICB2YWx1ZSA9IChjb21wYXJhdG9yIHx8IHZhbHVlICE9PSAwKSA/IHZhbHVlIDogMDtcbiAgICAgICAgaWYgKCEoc2VlblxuICAgICAgICAgICAgICA/IGNhY2hlSGFzKHNlZW4sIGNvbXB1dGVkKVxuICAgICAgICAgICAgICA6IGluY2x1ZGVzKHJlc3VsdCwgY29tcHV0ZWQsIGNvbXBhcmF0b3IpXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgb3RoSW5kZXggPSBvdGhMZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKC0tb3RoSW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBjYWNoZSA9IGNhY2hlc1tvdGhJbmRleF07XG4gICAgICAgICAgICBpZiAoIShjYWNoZVxuICAgICAgICAgICAgICAgICAgPyBjYWNoZUhhcyhjYWNoZSwgY29tcHV0ZWQpXG4gICAgICAgICAgICAgICAgICA6IGluY2x1ZGVzKGFycmF5c1tvdGhJbmRleF0sIGNvbXB1dGVkLCBjb21wYXJhdG9yKSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzZWVuKSB7XG4gICAgICAgICAgICBzZWVuLnB1c2goY29tcHV0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW52ZXJ0YCBhbmQgYF8uaW52ZXJ0QnlgIHdoaWNoIGludmVydHNcbiAgICAgKiBgb2JqZWN0YCB3aXRoIHZhbHVlcyB0cmFuc2Zvcm1lZCBieSBgaXRlcmF0ZWVgIGFuZCBzZXQgYnkgYHNldHRlcmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc2V0dGVyIFRoZSBmdW5jdGlvbiB0byBzZXQgYGFjY3VtdWxhdG9yYCB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIHRvIHRyYW5zZm9ybSB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGFjY3VtdWxhdG9yIFRoZSBpbml0aWFsIGludmVydGVkIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGFjY3VtdWxhdG9yYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSW52ZXJ0ZXIob2JqZWN0LCBzZXR0ZXIsIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgICAgYmFzZUZvck93bihvYmplY3QsIGZ1bmN0aW9uKHZhbHVlLCBrZXksIG9iamVjdCkge1xuICAgICAgICBzZXR0ZXIoYWNjdW11bGF0b3IsIGl0ZXJhdGVlKHZhbHVlKSwga2V5LCBvYmplY3QpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaW52b2tlYCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWxcbiAgICAgKiBtZXRob2QgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIG1ldGhvZCB0byBpbnZva2UuXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgYXJndW1lbnRzIHRvIGludm9rZSB0aGUgbWV0aG9kIHdpdGguXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgaW52b2tlZCBtZXRob2QuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUludm9rZShvYmplY3QsIHBhdGgsIGFyZ3MpIHtcbiAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgb2JqZWN0ID0gcGFyZW50KG9iamVjdCwgcGF0aCk7XG4gICAgICB2YXIgZnVuYyA9IG9iamVjdCA9PSBudWxsID8gb2JqZWN0IDogb2JqZWN0W3RvS2V5KGxhc3QocGF0aCkpXTtcbiAgICAgIHJldHVybiBmdW5jID09IG51bGwgPyB1bmRlZmluZWQgOiBhcHBseShmdW5jLCBvYmplY3QsIGFyZ3MpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzQXJndW1lbnRzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc0FyZ3VtZW50cyh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gYXJnc1RhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc0FycmF5QnVmZmVyYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXkgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzQXJyYXlCdWZmZXIodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGFycmF5QnVmZmVyVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzRGF0ZWAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZGF0ZSBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNEYXRlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBkYXRlVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzRXF1YWxgIHdoaWNoIHN1cHBvcnRzIHBhcnRpYWwgY29tcGFyaXNvbnNcbiAgICAgKiBhbmQgdHJhY2tzIHRyYXZlcnNlZCBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLlxuICAgICAqICAxIC0gVW5vcmRlcmVkIGNvbXBhcmlzb25cbiAgICAgKiAgMiAtIFBhcnRpYWwgY29tcGFyaXNvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbc3RhY2tdIFRyYWNrcyB0cmF2ZXJzZWQgYHZhbHVlYCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzRXF1YWwodmFsdWUsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaykge1xuICAgICAgaWYgKHZhbHVlID09PSBvdGhlcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IG90aGVyID09IG51bGwgfHwgKCFpc09iamVjdExpa2UodmFsdWUpICYmICFpc09iamVjdExpa2Uob3RoZXIpKSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlSXNFcXVhbERlZXAodmFsdWUsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBiYXNlSXNFcXVhbCwgc3RhY2spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxgIGZvciBhcnJheXMgYW5kIG9iamVjdHMgd2hpY2ggcGVyZm9ybXNcbiAgICAgKiBkZWVwIGNvbXBhcmlzb25zIGFuZCB0cmFja3MgdHJhdmVyc2VkIG9iamVjdHMgZW5hYmxpbmcgb2JqZWN0cyB3aXRoIGNpcmN1bGFyXG4gICAgICogcmVmZXJlbmNlcyB0byBiZSBjb21wYXJlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBiYXNlSXNFcXVhbGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjdXN0b21pemVyIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29tcGFyaXNvbnMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZXF1YWxGdW5jIFRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgZXF1aXZhbGVudHMgb2YgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbc3RhY2tdIFRyYWNrcyB0cmF2ZXJzZWQgYG9iamVjdGAgYW5kIGBvdGhlcmAgb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG9iamVjdHMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNFcXVhbERlZXAob2JqZWN0LCBvdGhlciwgYml0bWFzaywgY3VzdG9taXplciwgZXF1YWxGdW5jLCBzdGFjaykge1xuICAgICAgdmFyIG9iaklzQXJyID0gaXNBcnJheShvYmplY3QpLFxuICAgICAgICAgIG90aElzQXJyID0gaXNBcnJheShvdGhlciksXG4gICAgICAgICAgb2JqVGFnID0gb2JqSXNBcnIgPyBhcnJheVRhZyA6IGdldFRhZyhvYmplY3QpLFxuICAgICAgICAgIG90aFRhZyA9IG90aElzQXJyID8gYXJyYXlUYWcgOiBnZXRUYWcob3RoZXIpO1xuXG4gICAgICBvYmpUYWcgPSBvYmpUYWcgPT0gYXJnc1RhZyA/IG9iamVjdFRhZyA6IG9ialRhZztcbiAgICAgIG90aFRhZyA9IG90aFRhZyA9PSBhcmdzVGFnID8gb2JqZWN0VGFnIDogb3RoVGFnO1xuXG4gICAgICB2YXIgb2JqSXNPYmogPSBvYmpUYWcgPT0gb2JqZWN0VGFnLFxuICAgICAgICAgIG90aElzT2JqID0gb3RoVGFnID09IG9iamVjdFRhZyxcbiAgICAgICAgICBpc1NhbWVUYWcgPSBvYmpUYWcgPT0gb3RoVGFnO1xuXG4gICAgICBpZiAoaXNTYW1lVGFnICYmIGlzQnVmZmVyKG9iamVjdCkpIHtcbiAgICAgICAgaWYgKCFpc0J1ZmZlcihvdGhlcikpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgb2JqSXNBcnIgPSB0cnVlO1xuICAgICAgICBvYmpJc09iaiA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGlzU2FtZVRhZyAmJiAhb2JqSXNPYmopIHtcbiAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgICAgcmV0dXJuIChvYmpJc0FyciB8fCBpc1R5cGVkQXJyYXkob2JqZWN0KSlcbiAgICAgICAgICA/IGVxdWFsQXJyYXlzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spXG4gICAgICAgICAgOiBlcXVhbEJ5VGFnKG9iamVjdCwgb3RoZXIsIG9ialRhZywgYml0bWFzaywgY3VzdG9taXplciwgZXF1YWxGdW5jLCBzdGFjayk7XG4gICAgICB9XG4gICAgICBpZiAoIShiaXRtYXNrICYgQ09NUEFSRV9QQVJUSUFMX0ZMQUcpKSB7XG4gICAgICAgIHZhciBvYmpJc1dyYXBwZWQgPSBvYmpJc09iaiAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgJ19fd3JhcHBlZF9fJyksXG4gICAgICAgICAgICBvdGhJc1dyYXBwZWQgPSBvdGhJc09iaiAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCAnX193cmFwcGVkX18nKTtcblxuICAgICAgICBpZiAob2JqSXNXcmFwcGVkIHx8IG90aElzV3JhcHBlZCkge1xuICAgICAgICAgIHZhciBvYmpVbndyYXBwZWQgPSBvYmpJc1dyYXBwZWQgPyBvYmplY3QudmFsdWUoKSA6IG9iamVjdCxcbiAgICAgICAgICAgICAgb3RoVW53cmFwcGVkID0gb3RoSXNXcmFwcGVkID8gb3RoZXIudmFsdWUoKSA6IG90aGVyO1xuXG4gICAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgICAgICByZXR1cm4gZXF1YWxGdW5jKG9ialVud3JhcHBlZCwgb3RoVW53cmFwcGVkLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghaXNTYW1lVGFnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjayk7XG4gICAgICByZXR1cm4gZXF1YWxPYmplY3RzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTWFwYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBtYXAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNNYXAodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGdldFRhZyh2YWx1ZSkgPT0gbWFwVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTWF0Y2hgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBtYXRjaERhdGEgVGhlIHByb3BlcnR5IG5hbWVzLCB2YWx1ZXMsIGFuZCBjb21wYXJlIGZsYWdzIHRvIG1hdGNoLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgb2JqZWN0YCBpcyBhIG1hdGNoLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIG1hdGNoRGF0YSwgY3VzdG9taXplcikge1xuICAgICAgdmFyIGluZGV4ID0gbWF0Y2hEYXRhLmxlbmd0aCxcbiAgICAgICAgICBsZW5ndGggPSBpbmRleCxcbiAgICAgICAgICBub0N1c3RvbWl6ZXIgPSAhY3VzdG9taXplcjtcblxuICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAhbGVuZ3RoO1xuICAgICAgfVxuICAgICAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICB2YXIgZGF0YSA9IG1hdGNoRGF0YVtpbmRleF07XG4gICAgICAgIGlmICgobm9DdXN0b21pemVyICYmIGRhdGFbMl0pXG4gICAgICAgICAgICAgID8gZGF0YVsxXSAhPT0gb2JqZWN0W2RhdGFbMF1dXG4gICAgICAgICAgICAgIDogIShkYXRhWzBdIGluIG9iamVjdClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgZGF0YSA9IG1hdGNoRGF0YVtpbmRleF07XG4gICAgICAgIHZhciBrZXkgPSBkYXRhWzBdLFxuICAgICAgICAgICAgb2JqVmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgICAgICAgIHNyY1ZhbHVlID0gZGF0YVsxXTtcblxuICAgICAgICBpZiAobm9DdXN0b21pemVyICYmIGRhdGFbMl0pIHtcbiAgICAgICAgICBpZiAob2JqVmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBzdGFjayA9IG5ldyBTdGFjaztcbiAgICAgICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCwgc291cmNlLCBzdGFjayk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghKHJlc3VsdCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyBiYXNlSXNFcXVhbChzcmNWYWx1ZSwgb2JqVmFsdWUsIENPTVBBUkVfUEFSVElBTF9GTEFHIHwgQ09NUEFSRV9VTk9SREVSRURfRkxBRywgY3VzdG9taXplciwgc3RhY2spXG4gICAgICAgICAgICAgICAgOiByZXN1bHRcbiAgICAgICAgICAgICAgKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYXRpdmVgIHdpdGhvdXQgYmFkIHNoaW0gY2hlY2tzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc05hdGl2ZSh2YWx1ZSkge1xuICAgICAgaWYgKCFpc09iamVjdCh2YWx1ZSkgfHwgaXNNYXNrZWQodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBwYXR0ZXJuID0gaXNGdW5jdGlvbih2YWx1ZSkgPyByZUlzTmF0aXZlIDogcmVJc0hvc3RDdG9yO1xuICAgICAgcmV0dXJuIHBhdHRlcm4udGVzdCh0b1NvdXJjZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzUmVnRXhwYCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSByZWdleHAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNSZWdFeHAodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHJlZ2V4cFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1NldGAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc2V0LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzU2V0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBnZXRUYWcodmFsdWUpID09IHNldFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1R5cGVkQXJyYXlgIHdpdGhvdXQgTm9kZS5qcyBvcHRpbWl6YXRpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHR5cGVkIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzVHlwZWRBcnJheSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiZcbiAgICAgICAgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pdGVyYXRlZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gW3ZhbHVlPV8uaWRlbnRpdHldIFRoZSB2YWx1ZSB0byBjb252ZXJ0IHRvIGFuIGl0ZXJhdGVlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgaXRlcmF0ZWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUl0ZXJhdGVlKHZhbHVlKSB7XG4gICAgICAvLyBEb24ndCBzdG9yZSB0aGUgYHR5cGVvZmAgcmVzdWx0IGluIGEgdmFyaWFibGUgdG8gYXZvaWQgYSBKSVQgYnVnIGluIFNhZmFyaSA5LlxuICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTYwMzQgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gaWRlbnRpdHk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBpc0FycmF5KHZhbHVlKVxuICAgICAgICAgID8gYmFzZU1hdGNoZXNQcm9wZXJ0eSh2YWx1ZVswXSwgdmFsdWVbMV0pXG4gICAgICAgICAgOiBiYXNlTWF0Y2hlcyh2YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNgIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUtleXMob2JqZWN0KSB7XG4gICAgICBpZiAoIWlzUHJvdG90eXBlKG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIG5hdGl2ZUtleXMob2JqZWN0KTtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGZvciAodmFyIGtleSBpbiBPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYga2V5ICE9ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNJbmAgd2hpY2ggZG9lc24ndCB0cmVhdCBzcGFyc2UgYXJyYXlzIGFzIGRlbnNlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlS2V5c0luKG9iamVjdCkge1xuICAgICAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgICAgIHJldHVybiBuYXRpdmVLZXlzSW4ob2JqZWN0KTtcbiAgICAgIH1cbiAgICAgIHZhciBpc1Byb3RvID0gaXNQcm90b3R5cGUob2JqZWN0KSxcbiAgICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgICAgICBpZiAoIShrZXkgPT0gJ2NvbnN0cnVjdG9yJyAmJiAoaXNQcm90byB8fCAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubHRgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUx0KHZhbHVlLCBvdGhlcikge1xuICAgICAgcmV0dXJuIHZhbHVlIDwgb3RoZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubWFwYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICByZXN1bHQgPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IEFycmF5KGNvbGxlY3Rpb24ubGVuZ3RoKSA6IFtdO1xuXG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uKSB7XG4gICAgICAgIHJlc3VsdFsrK2luZGV4XSA9IGl0ZXJhdGVlKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1hdGNoZXNgIHdoaWNoIGRvZXNuJ3QgY2xvbmUgYHNvdXJjZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSB2YWx1ZXMgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWF0Y2hlcyhzb3VyY2UpIHtcbiAgICAgIHZhciBtYXRjaERhdGEgPSBnZXRNYXRjaERhdGEoc291cmNlKTtcbiAgICAgIGlmIChtYXRjaERhdGEubGVuZ3RoID09IDEgJiYgbWF0Y2hEYXRhWzBdWzJdKSB7XG4gICAgICAgIHJldHVybiBtYXRjaGVzU3RyaWN0Q29tcGFyYWJsZShtYXRjaERhdGFbMF1bMF0sIG1hdGNoRGF0YVswXVsxXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBvYmplY3QgPT09IHNvdXJjZSB8fCBiYXNlSXNNYXRjaChvYmplY3QsIHNvdXJjZSwgbWF0Y2hEYXRhKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ubWF0Y2hlc1Byb3BlcnR5YCB3aGljaCBkb2Vzbid0IGNsb25lIGBzcmNWYWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTWF0Y2hlc1Byb3BlcnR5KHBhdGgsIHNyY1ZhbHVlKSB7XG4gICAgICBpZiAoaXNLZXkocGF0aCkgJiYgaXNTdHJpY3RDb21wYXJhYmxlKHNyY1ZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUodG9LZXkocGF0aCksIHNyY1ZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgdmFyIG9ialZhbHVlID0gZ2V0KG9iamVjdCwgcGF0aCk7XG4gICAgICAgIHJldHVybiAob2JqVmFsdWUgPT09IHVuZGVmaW5lZCAmJiBvYmpWYWx1ZSA9PT0gc3JjVmFsdWUpXG4gICAgICAgICAgPyBoYXNJbihvYmplY3QsIHBhdGgpXG4gICAgICAgICAgOiBiYXNlSXNFcXVhbChzcmNWYWx1ZSwgb2JqVmFsdWUsIENPTVBBUkVfUEFSVElBTF9GTEFHIHwgQ09NUEFSRV9VTk9SREVSRURfRkxBRyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1lcmdlYCB3aXRob3V0IHN1cHBvcnQgZm9yIG11bHRpcGxlIHNvdXJjZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzcmNJbmRleCBUaGUgaW5kZXggb2YgYHNvdXJjZWAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgbWVyZ2VkIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIHNvdXJjZSB2YWx1ZXMgYW5kIHRoZWlyIG1lcmdlZFxuICAgICAqICBjb3VudGVycGFydHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1lcmdlKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplciwgc3RhY2spIHtcbiAgICAgIGlmIChvYmplY3QgPT09IHNvdXJjZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBiYXNlRm9yKHNvdXJjZSwgZnVuY3Rpb24oc3JjVmFsdWUsIGtleSkge1xuICAgICAgICBzdGFjayB8fCAoc3RhY2sgPSBuZXcgU3RhY2spO1xuICAgICAgICBpZiAoaXNPYmplY3Qoc3JjVmFsdWUpKSB7XG4gICAgICAgICAgYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgYmFzZU1lcmdlLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdmFyIG5ld1ZhbHVlID0gY3VzdG9taXplclxuICAgICAgICAgICAgPyBjdXN0b21pemVyKHNhZmVHZXQob2JqZWN0LCBrZXkpLCBzcmNWYWx1ZSwgKGtleSArICcnKSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBzcmNWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9LCBrZXlzSW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZU1lcmdlYCBmb3IgYXJyYXlzIGFuZCBvYmplY3RzIHdoaWNoIHBlcmZvcm1zXG4gICAgICogZGVlcCBtZXJnZXMgYW5kIHRyYWNrcyB0cmF2ZXJzZWQgb2JqZWN0cyBlbmFibGluZyBvYmplY3RzIHdpdGggY2lyY3VsYXJcbiAgICAgKiByZWZlcmVuY2VzIHRvIGJlIG1lcmdlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBtZXJnZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3JjSW5kZXggVGhlIGluZGV4IG9mIGBzb3VyY2VgLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IG1lcmdlRnVuYyBUaGUgZnVuY3Rpb24gdG8gbWVyZ2UgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIHNvdXJjZSB2YWx1ZXMgYW5kIHRoZWlyIG1lcmdlZFxuICAgICAqICBjb3VudGVycGFydHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgbWVyZ2VGdW5jLCBjdXN0b21pemVyLCBzdGFjaykge1xuICAgICAgdmFyIG9ialZhbHVlID0gc2FmZUdldChvYmplY3QsIGtleSksXG4gICAgICAgICAgc3JjVmFsdWUgPSBzYWZlR2V0KHNvdXJjZSwga2V5KSxcbiAgICAgICAgICBzdGFja2VkID0gc3RhY2suZ2V0KHNyY1ZhbHVlKTtcblxuICAgICAgaWYgKHN0YWNrZWQpIHtcbiAgICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgc3RhY2tlZCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXJcbiAgICAgICAgPyBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSwgKGtleSArICcnKSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgdmFyIGlzQ29tbW9uID0gbmV3VmFsdWUgPT09IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGlzQ29tbW9uKSB7XG4gICAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkoc3JjVmFsdWUpLFxuICAgICAgICAgICAgaXNCdWZmID0gIWlzQXJyICYmIGlzQnVmZmVyKHNyY1ZhbHVlKSxcbiAgICAgICAgICAgIGlzVHlwZWQgPSAhaXNBcnIgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkoc3JjVmFsdWUpO1xuXG4gICAgICAgIG5ld1ZhbHVlID0gc3JjVmFsdWU7XG4gICAgICAgIGlmIChpc0FyciB8fCBpc0J1ZmYgfHwgaXNUeXBlZCkge1xuICAgICAgICAgIGlmIChpc0FycmF5KG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBvYmpWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoaXNBcnJheUxpa2VPYmplY3Qob2JqVmFsdWUpKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IGNvcHlBcnJheShvYmpWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGlzQnVmZikge1xuICAgICAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gY2xvbmVCdWZmZXIoc3JjVmFsdWUsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmIChpc1R5cGVkKSB7XG4gICAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBjbG9uZVR5cGVkQXJyYXkoc3JjVmFsdWUsIHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gW107XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qoc3JjVmFsdWUpIHx8IGlzQXJndW1lbnRzKHNyY1ZhbHVlKSkge1xuICAgICAgICAgIG5ld1ZhbHVlID0gb2JqVmFsdWU7XG4gICAgICAgICAgaWYgKGlzQXJndW1lbnRzKG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSB0b1BsYWluT2JqZWN0KG9ialZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoIWlzT2JqZWN0KG9ialZhbHVlKSB8fCBpc0Z1bmN0aW9uKG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBpbml0Q2xvbmVPYmplY3Qoc3JjVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNDb21tb24pIHtcbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgbWVyZ2Ugb2JqZWN0cyBhbmQgYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgIHN0YWNrLnNldChzcmNWYWx1ZSwgbmV3VmFsdWUpO1xuICAgICAgICBtZXJnZUZ1bmMobmV3VmFsdWUsIHNyY1ZhbHVlLCBzcmNJbmRleCwgY3VzdG9taXplciwgc3RhY2spO1xuICAgICAgICBzdGFja1snZGVsZXRlJ10oc3JjVmFsdWUpO1xuICAgICAgfVxuICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm50aGAgd2hpY2ggZG9lc24ndCBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIHJldHVybi5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbnRoIGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTnRoKGFycmF5LCBuKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbiArPSBuIDwgMCA/IGxlbmd0aCA6IDA7XG4gICAgICByZXR1cm4gaXNJbmRleChuLCBsZW5ndGgpID8gYXJyYXlbbl0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ub3JkZXJCeWAgd2l0aG91dCBwYXJhbSBndWFyZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9uW118T2JqZWN0W118c3RyaW5nW119IGl0ZXJhdGVlcyBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gb3JkZXJzIFRoZSBzb3J0IG9yZGVycyBvZiBgaXRlcmF0ZWVzYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgaXRlcmF0ZWVzLCBvcmRlcnMpIHtcbiAgICAgIGlmIChpdGVyYXRlZXMubGVuZ3RoKSB7XG4gICAgICAgIGl0ZXJhdGVlcyA9IGFycmF5TWFwKGl0ZXJhdGVlcywgZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShpdGVyYXRlZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgICAgICByZXR1cm4gYmFzZUdldCh2YWx1ZSwgaXRlcmF0ZWUubGVuZ3RoID09PSAxID8gaXRlcmF0ZWVbMF0gOiBpdGVyYXRlZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBpdGVyYXRlZTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpdGVyYXRlZXMgPSBbaWRlbnRpdHldO1xuICAgICAgfVxuXG4gICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgIGl0ZXJhdGVlcyA9IGFycmF5TWFwKGl0ZXJhdGVlcywgYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTtcblxuICAgICAgdmFyIHJlc3VsdCA9IGJhc2VNYXAoY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGtleSwgY29sbGVjdGlvbikge1xuICAgICAgICB2YXIgY3JpdGVyaWEgPSBhcnJheU1hcChpdGVyYXRlZXMsIGZ1bmN0aW9uKGl0ZXJhdGVlKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZXJhdGVlKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7ICdjcml0ZXJpYSc6IGNyaXRlcmlhLCAnaW5kZXgnOiArK2luZGV4LCAndmFsdWUnOiB2YWx1ZSB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBiYXNlU29ydEJ5KHJlc3VsdCwgZnVuY3Rpb24ob2JqZWN0LCBvdGhlcikge1xuICAgICAgICByZXR1cm4gY29tcGFyZU11bHRpcGxlKG9iamVjdCwgb3RoZXIsIG9yZGVycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5waWNrYCB3aXRob3V0IHN1cHBvcnQgZm9yIGluZGl2aWR1YWxcbiAgICAgKiBwcm9wZXJ0eSBpZGVudGlmaWVycy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXRocyBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VQaWNrKG9iamVjdCwgcGF0aHMpIHtcbiAgICAgIHJldHVybiBiYXNlUGlja0J5KG9iamVjdCwgcGF0aHMsIGZ1bmN0aW9uKHZhbHVlLCBwYXRoKSB7XG4gICAgICAgIHJldHVybiBoYXNJbihvYmplY3QsIHBhdGgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgIGBfLnBpY2tCeWAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IHBhdGhzIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBwaWNrLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgcHJvcGVydHkuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUGlja0J5KG9iamVjdCwgcGF0aHMsIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gcGF0aHMubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IHt9O1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgcGF0aCA9IHBhdGhzW2luZGV4XSxcbiAgICAgICAgICAgIHZhbHVlID0gYmFzZUdldChvYmplY3QsIHBhdGgpO1xuXG4gICAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIHBhdGgpKSB7XG4gICAgICAgICAgYmFzZVNldChyZXN1bHQsIGNhc3RQYXRoKHBhdGgsIG9iamVjdCksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VQcm9wZXJ0eWAgd2hpY2ggc3VwcG9ydHMgZGVlcCBwYXRocy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhY2Nlc3NvciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUHJvcGVydHlEZWVwKHBhdGgpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VHZXQob2JqZWN0LCBwYXRoKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucHVsbEFsbEJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlXG4gICAgICogc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlXSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUHVsbEFsbChhcnJheSwgdmFsdWVzLCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGluZGV4T2YgPSBjb21wYXJhdG9yID8gYmFzZUluZGV4T2ZXaXRoIDogYmFzZUluZGV4T2YsXG4gICAgICAgICAgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSB2YWx1ZXMubGVuZ3RoLFxuICAgICAgICAgIHNlZW4gPSBhcnJheTtcblxuICAgICAgaWYgKGFycmF5ID09PSB2YWx1ZXMpIHtcbiAgICAgICAgdmFsdWVzID0gY29weUFycmF5KHZhbHVlcyk7XG4gICAgICB9XG4gICAgICBpZiAoaXRlcmF0ZWUpIHtcbiAgICAgICAgc2VlbiA9IGFycmF5TWFwKGFycmF5LCBiYXNlVW5hcnkoaXRlcmF0ZWUpKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBmcm9tSW5kZXggPSAwLFxuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdLFxuICAgICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSA/IGl0ZXJhdGVlKHZhbHVlKSA6IHZhbHVlO1xuXG4gICAgICAgIHdoaWxlICgoZnJvbUluZGV4ID0gaW5kZXhPZihzZWVuLCBjb21wdXRlZCwgZnJvbUluZGV4LCBjb21wYXJhdG9yKSkgPiAtMSkge1xuICAgICAgICAgIGlmIChzZWVuICE9PSBhcnJheSkge1xuICAgICAgICAgICAgc3BsaWNlLmNhbGwoc2VlbiwgZnJvbUluZGV4LCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BsaWNlLmNhbGwoYXJyYXksIGZyb21JbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5wdWxsQXRgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaW5kaXZpZHVhbFxuICAgICAqIGluZGV4ZXMgb3IgY2FwdHVyaW5nIHRoZSByZW1vdmVkIGVsZW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyW119IGluZGV4ZXMgVGhlIGluZGV4ZXMgb2YgZWxlbWVudHMgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VQdWxsQXQoYXJyYXksIGluZGV4ZXMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA/IGluZGV4ZXMubGVuZ3RoIDogMCxcbiAgICAgICAgICBsYXN0SW5kZXggPSBsZW5ndGggLSAxO1xuXG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgdmFyIGluZGV4ID0gaW5kZXhlc1tsZW5ndGhdO1xuICAgICAgICBpZiAobGVuZ3RoID09IGxhc3RJbmRleCB8fCBpbmRleCAhPT0gcHJldmlvdXMpIHtcbiAgICAgICAgICB2YXIgcHJldmlvdXMgPSBpbmRleDtcbiAgICAgICAgICBpZiAoaXNJbmRleChpbmRleCkpIHtcbiAgICAgICAgICAgIHNwbGljZS5jYWxsKGFycmF5LCBpbmRleCwgMSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJhc2VVbnNldChhcnJheSwgaW5kZXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnJhbmRvbWAgd2l0aG91dCBzdXBwb3J0IGZvciByZXR1cm5pbmdcbiAgICAgKiBmbG9hdGluZy1wb2ludCBudW1iZXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbG93ZXIgVGhlIGxvd2VyIGJvdW5kLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB1cHBlciBUaGUgdXBwZXIgYm91bmQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcmFuZG9tIG51bWJlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUmFuZG9tKGxvd2VyLCB1cHBlcikge1xuICAgICAgcmV0dXJuIGxvd2VyICsgbmF0aXZlRmxvb3IobmF0aXZlUmFuZG9tKCkgKiAodXBwZXIgLSBsb3dlciArIDEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yYW5nZWAgYW5kIGBfLnJhbmdlUmlnaHRgIHdoaWNoIGRvZXNuJ3RcbiAgICAgKiBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgVGhlIHN0YXJ0IG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZW5kIFRoZSBlbmQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGVwIFRoZSB2YWx1ZSB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IGJ5LlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zyb21SaWdodF0gU3BlY2lmeSBpdGVyYXRpbmcgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZ2Ugb2YgbnVtYmVycy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlUmFuZ2Uoc3RhcnQsIGVuZCwgc3RlcCwgZnJvbVJpZ2h0KSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBuYXRpdmVNYXgobmF0aXZlQ2VpbCgoZW5kIC0gc3RhcnQpIC8gKHN0ZXAgfHwgMSkpLCAwKSxcbiAgICAgICAgICByZXN1bHQgPSBBcnJheShsZW5ndGgpO1xuXG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgcmVzdWx0W2Zyb21SaWdodCA/IGxlbmd0aCA6ICsraW5kZXhdID0gc3RhcnQ7XG4gICAgICAgIHN0YXJ0ICs9IHN0ZXA7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnJlcGVhdGAgd2hpY2ggZG9lc24ndCBjb2VyY2UgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gcmVwZWF0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IHRoZSBzdHJpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmVwZWF0ZWQgc3RyaW5nLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VSZXBlYXQoc3RyaW5nLCBuKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gJyc7XG4gICAgICBpZiAoIXN0cmluZyB8fCBuIDwgMSB8fCBuID4gTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgLy8gTGV2ZXJhZ2UgdGhlIGV4cG9uZW50aWF0aW9uIGJ5IHNxdWFyaW5nIGFsZ29yaXRobSBmb3IgYSBmYXN0ZXIgcmVwZWF0LlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0V4cG9uZW50aWF0aW9uX2J5X3NxdWFyaW5nIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICBkbyB7XG4gICAgICAgIGlmIChuICUgMikge1xuICAgICAgICAgIHJlc3VsdCArPSBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgbiA9IG5hdGl2ZUZsb29yKG4gLyAyKTtcbiAgICAgICAgaWYgKG4pIHtcbiAgICAgICAgICBzdHJpbmcgKz0gc3RyaW5nO1xuICAgICAgICB9XG4gICAgICB9IHdoaWxlIChuKTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZXN0YCB3aGljaCBkb2Vzbid0IHZhbGlkYXRlIG9yIGNvZXJjZSBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VSZXN0KGZ1bmMsIHN0YXJ0KSB7XG4gICAgICByZXR1cm4gc2V0VG9TdHJpbmcob3ZlclJlc3QoZnVuYywgc3RhcnQsIGlkZW50aXR5KSwgZnVuYyArICcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zYW1wbGVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBzYW1wbGUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJhbmRvbSBlbGVtZW50LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTYW1wbGUoY29sbGVjdGlvbikge1xuICAgICAgcmV0dXJuIGFycmF5U2FtcGxlKHZhbHVlcyhjb2xsZWN0aW9uKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc2FtcGxlU2l6ZWAgd2l0aG91dCBwYXJhbSBndWFyZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIHNhbXBsZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHNhbXBsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHJhbmRvbSBlbGVtZW50cy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2FtcGxlU2l6ZShjb2xsZWN0aW9uLCBuKSB7XG4gICAgICB2YXIgYXJyYXkgPSB2YWx1ZXMoY29sbGVjdGlvbik7XG4gICAgICByZXR1cm4gc2h1ZmZsZVNlbGYoYXJyYXksIGJhc2VDbGFtcChuLCAwLCBhcnJheS5sZW5ndGgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zZXRgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIHBhdGggY3JlYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGlmICghaXNPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgfVxuICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoLFxuICAgICAgICAgIGxhc3RJbmRleCA9IGxlbmd0aCAtIDEsXG4gICAgICAgICAgbmVzdGVkID0gb2JqZWN0O1xuXG4gICAgICB3aGlsZSAobmVzdGVkICE9IG51bGwgJiYgKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIga2V5ID0gdG9LZXkocGF0aFtpbmRleF0pLFxuICAgICAgICAgICAgbmV3VmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICBpZiAoa2V5ID09PSAnX19wcm90b19fJyB8fCBrZXkgPT09ICdjb25zdHJ1Y3RvcicgfHwga2V5ID09PSAncHJvdG90eXBlJykge1xuICAgICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5kZXggIT0gbGFzdEluZGV4KSB7XG4gICAgICAgICAgdmFyIG9ialZhbHVlID0gbmVzdGVkW2tleV07XG4gICAgICAgICAgbmV3VmFsdWUgPSBjdXN0b21pemVyID8gY3VzdG9taXplcihvYmpWYWx1ZSwga2V5LCBuZXN0ZWQpIDogdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IGlzT2JqZWN0KG9ialZhbHVlKVxuICAgICAgICAgICAgICA/IG9ialZhbHVlXG4gICAgICAgICAgICAgIDogKGlzSW5kZXgocGF0aFtpbmRleCArIDFdKSA/IFtdIDoge30pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhc3NpZ25WYWx1ZShuZXN0ZWQsIGtleSwgbmV3VmFsdWUpO1xuICAgICAgICBuZXN0ZWQgPSBuZXN0ZWRba2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYHNldERhdGFgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaG90IGxvb3Agc2hvcnRpbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFzc29jaWF0ZSBtZXRhZGF0YSB3aXRoLlxuICAgICAqIEBwYXJhbSB7Kn0gZGF0YSBUaGUgbWV0YWRhdGEuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBmdW5jYC5cbiAgICAgKi9cbiAgICB2YXIgYmFzZVNldERhdGEgPSAhbWV0YU1hcCA/IGlkZW50aXR5IDogZnVuY3Rpb24oZnVuYywgZGF0YSkge1xuICAgICAgbWV0YU1hcC5zZXQoZnVuYywgZGF0YSk7XG4gICAgICByZXR1cm4gZnVuYztcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYHNldFRvU3RyaW5nYCB3aXRob3V0IHN1cHBvcnQgZm9yIGhvdCBsb29wIHNob3J0aW5nLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc3RyaW5nIFRoZSBgdG9TdHJpbmdgIHJlc3VsdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICAgICAqL1xuICAgIHZhciBiYXNlU2V0VG9TdHJpbmcgPSAhZGVmaW5lUHJvcGVydHkgPyBpZGVudGl0eSA6IGZ1bmN0aW9uKGZ1bmMsIHN0cmluZykge1xuICAgICAgcmV0dXJuIGRlZmluZVByb3BlcnR5KGZ1bmMsICd0b1N0cmluZycsIHtcbiAgICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsXG4gICAgICAgICdlbnVtZXJhYmxlJzogZmFsc2UsXG4gICAgICAgICd2YWx1ZSc6IGNvbnN0YW50KHN0cmluZyksXG4gICAgICAgICd3cml0YWJsZSc6IHRydWVcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zaHVmZmxlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2h1ZmZsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzaHVmZmxlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2h1ZmZsZShjb2xsZWN0aW9uKSB7XG4gICAgICByZXR1cm4gc2h1ZmZsZVNlbGYodmFsdWVzKGNvbGxlY3Rpb24pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zbGljZWAgd2l0aG91dCBhbiBpdGVyYXRlZSBjYWxsIGd1YXJkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2xpY2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD0wXSBUaGUgc3RhcnQgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtlbmQ9YXJyYXkubGVuZ3RoXSBUaGUgZW5kIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgICAgaWYgKHN0YXJ0IDwgMCkge1xuICAgICAgICBzdGFydCA9IC1zdGFydCA+IGxlbmd0aCA/IDAgOiAobGVuZ3RoICsgc3RhcnQpO1xuICAgICAgfVxuICAgICAgZW5kID0gZW5kID4gbGVuZ3RoID8gbGVuZ3RoIDogZW5kO1xuICAgICAgaWYgKGVuZCA8IDApIHtcbiAgICAgICAgZW5kICs9IGxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGxlbmd0aCA9IHN0YXJ0ID4gZW5kID8gMCA6ICgoZW5kIC0gc3RhcnQpID4+PiAwKTtcbiAgICAgIHN0YXJ0ID4+Pj0gMDtcblxuICAgICAgdmFyIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICByZXN1bHRbaW5kZXhdID0gYXJyYXlbaW5kZXggKyBzdGFydF07XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvbWVgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbnkgZWxlbWVudCBwYXNzZXMgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTb21lKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIHJlc3VsdDtcblxuICAgICAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKSB7XG4gICAgICAgIHJlc3VsdCA9IHByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pO1xuICAgICAgICByZXR1cm4gIXJlc3VsdDtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuICEhcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvcnRlZEluZGV4YCBhbmQgYF8uc29ydGVkTGFzdEluZGV4YCB3aGljaFxuICAgICAqIHBlcmZvcm1zIGEgYmluYXJ5IHNlYXJjaCBvZiBgYXJyYXlgIHRvIGRldGVybWluZSB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYFxuICAgICAqIHNob3VsZCBiZSBpbnNlcnRlZCBpbnRvIGBhcnJheWAgaW4gb3JkZXIgdG8gbWFpbnRhaW4gaXRzIHNvcnQgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtyZXRIaWdoZXN0XSBTcGVjaWZ5IHJldHVybmluZyB0aGUgaGlnaGVzdCBxdWFsaWZpZWQgaW5kZXguXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICAgKiAgaW50byBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUsIHJldEhpZ2hlc3QpIHtcbiAgICAgIHZhciBsb3cgPSAwLFxuICAgICAgICAgIGhpZ2ggPSBhcnJheSA9PSBudWxsID8gbG93IDogYXJyYXkubGVuZ3RoO1xuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmIHZhbHVlID09PSB2YWx1ZSAmJiBoaWdoIDw9IEhBTEZfTUFYX0FSUkFZX0xFTkdUSCkge1xuICAgICAgICB3aGlsZSAobG93IDwgaGlnaCkge1xuICAgICAgICAgIHZhciBtaWQgPSAobG93ICsgaGlnaCkgPj4+IDEsXG4gICAgICAgICAgICAgIGNvbXB1dGVkID0gYXJyYXlbbWlkXTtcblxuICAgICAgICAgIGlmIChjb21wdXRlZCAhPT0gbnVsbCAmJiAhaXNTeW1ib2woY29tcHV0ZWQpICYmXG4gICAgICAgICAgICAgIChyZXRIaWdoZXN0ID8gKGNvbXB1dGVkIDw9IHZhbHVlKSA6IChjb21wdXRlZCA8IHZhbHVlKSkpIHtcbiAgICAgICAgICAgIGxvdyA9IG1pZCArIDE7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGhpZ2ggPSBtaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoaWdoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleEJ5KGFycmF5LCB2YWx1ZSwgaWRlbnRpdHksIHJldEhpZ2hlc3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvcnRlZEluZGV4QnlgIGFuZCBgXy5zb3J0ZWRMYXN0SW5kZXhCeWBcbiAgICAgKiB3aGljaCBpbnZva2VzIGBpdGVyYXRlZWAgZm9yIGB2YWx1ZWAgYW5kIGVhY2ggZWxlbWVudCBvZiBgYXJyYXlgIHRvIGNvbXB1dGVcbiAgICAgKiB0aGVpciBzb3J0IHJhbmtpbmcuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OyAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgc29ydGVkIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZXZhbHVhdGUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbcmV0SGlnaGVzdF0gU3BlY2lmeSByZXR1cm5pbmcgdGhlIGhpZ2hlc3QgcXVhbGlmaWVkIGluZGV4LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGl0ZXJhdGVlLCByZXRIaWdoZXN0KSB7XG4gICAgICB2YXIgbG93ID0gMCxcbiAgICAgICAgICBoaWdoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoaGlnaCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgdmFsdWUgPSBpdGVyYXRlZSh2YWx1ZSk7XG4gICAgICB2YXIgdmFsSXNOYU4gPSB2YWx1ZSAhPT0gdmFsdWUsXG4gICAgICAgICAgdmFsSXNOdWxsID0gdmFsdWUgPT09IG51bGwsXG4gICAgICAgICAgdmFsSXNTeW1ib2wgPSBpc1N5bWJvbCh2YWx1ZSksXG4gICAgICAgICAgdmFsSXNVbmRlZmluZWQgPSB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xuXG4gICAgICB3aGlsZSAobG93IDwgaGlnaCkge1xuICAgICAgICB2YXIgbWlkID0gbmF0aXZlRmxvb3IoKGxvdyArIGhpZ2gpIC8gMiksXG4gICAgICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlKGFycmF5W21pZF0pLFxuICAgICAgICAgICAgb3RoSXNEZWZpbmVkID0gY29tcHV0ZWQgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG90aElzTnVsbCA9IGNvbXB1dGVkID09PSBudWxsLFxuICAgICAgICAgICAgb3RoSXNSZWZsZXhpdmUgPSBjb21wdXRlZCA9PT0gY29tcHV0ZWQsXG4gICAgICAgICAgICBvdGhJc1N5bWJvbCA9IGlzU3ltYm9sKGNvbXB1dGVkKTtcblxuICAgICAgICBpZiAodmFsSXNOYU4pIHtcbiAgICAgICAgICB2YXIgc2V0TG93ID0gcmV0SGlnaGVzdCB8fCBvdGhJc1JlZmxleGl2ZTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWxJc1VuZGVmaW5lZCkge1xuICAgICAgICAgIHNldExvdyA9IG90aElzUmVmbGV4aXZlICYmIChyZXRIaWdoZXN0IHx8IG90aElzRGVmaW5lZCk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsSXNOdWxsKSB7XG4gICAgICAgICAgc2V0TG93ID0gb3RoSXNSZWZsZXhpdmUgJiYgb3RoSXNEZWZpbmVkICYmIChyZXRIaWdoZXN0IHx8ICFvdGhJc051bGwpO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbElzU3ltYm9sKSB7XG4gICAgICAgICAgc2V0TG93ID0gb3RoSXNSZWZsZXhpdmUgJiYgb3RoSXNEZWZpbmVkICYmICFvdGhJc051bGwgJiYgKHJldEhpZ2hlc3QgfHwgIW90aElzU3ltYm9sKTtcbiAgICAgICAgfSBlbHNlIGlmIChvdGhJc051bGwgfHwgb3RoSXNTeW1ib2wpIHtcbiAgICAgICAgICBzZXRMb3cgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRMb3cgPSByZXRIaWdoZXN0ID8gKGNvbXB1dGVkIDw9IHZhbHVlKSA6IChjb21wdXRlZCA8IHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2V0TG93KSB7XG4gICAgICAgICAgbG93ID0gbWlkICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoaWdoID0gbWlkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmF0aXZlTWluKGhpZ2gsIE1BWF9BUlJBWV9JTkRFWCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc29ydGVkVW5pcWAgYW5kIGBfLnNvcnRlZFVuaXFCeWAgd2l0aG91dFxuICAgICAqIHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNvcnRlZFVuaXEoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlID8gaXRlcmF0ZWUodmFsdWUpIDogdmFsdWU7XG5cbiAgICAgICAgaWYgKCFpbmRleCB8fCAhZXEoY29tcHV0ZWQsIHNlZW4pKSB7XG4gICAgICAgICAgdmFyIHNlZW4gPSBjb21wdXRlZDtcbiAgICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSB2YWx1ZSA9PT0gMCA/IDAgOiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b051bWJlcmAgd2hpY2ggZG9lc24ndCBlbnN1cmUgY29ycmVjdFxuICAgICAqIGNvbnZlcnNpb25zIG9mIGJpbmFyeSwgaGV4YWRlY2ltYWwsIG9yIG9jdGFsIHN0cmluZyB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VUb051bWJlcih2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBOQU47XG4gICAgICB9XG4gICAgICByZXR1cm4gK3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRvU3RyaW5nYCB3aGljaCBkb2Vzbid0IGNvbnZlcnQgbnVsbGlzaFxuICAgICAqIHZhbHVlcyB0byBlbXB0eSBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHN0cmluZy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpIHtcbiAgICAgIC8vIEV4aXQgZWFybHkgZm9yIHN0cmluZ3MgdG8gYXZvaWQgYSBwZXJmb3JtYW5jZSBoaXQgaW4gc29tZSBlbnZpcm9ubWVudHMuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBjb252ZXJ0IHZhbHVlcyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICByZXR1cm4gYXJyYXlNYXAodmFsdWUsIGJhc2VUb1N0cmluZykgKyAnJztcbiAgICAgIH1cbiAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHN5bWJvbFRvU3RyaW5nID8gc3ltYm9sVG9TdHJpbmcuY2FsbCh2YWx1ZSkgOiAnJztcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSAodmFsdWUgKyAnJyk7XG4gICAgICByZXR1cm4gKHJlc3VsdCA9PSAnMCcgJiYgKDEgLyB2YWx1ZSkgPT0gLUlORklOSVRZKSA/ICctMCcgOiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udW5pcUJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVVuaXEoYXJyYXksIGl0ZXJhdGVlLCBjb21wYXJhdG9yKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBpbmNsdWRlcyA9IGFycmF5SW5jbHVkZXMsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIGlzQ29tbW9uID0gdHJ1ZSxcbiAgICAgICAgICByZXN1bHQgPSBbXSxcbiAgICAgICAgICBzZWVuID0gcmVzdWx0O1xuXG4gICAgICBpZiAoY29tcGFyYXRvcikge1xuICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICBpbmNsdWRlcyA9IGFycmF5SW5jbHVkZXNXaXRoO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAobGVuZ3RoID49IExBUkdFX0FSUkFZX1NJWkUpIHtcbiAgICAgICAgdmFyIHNldCA9IGl0ZXJhdGVlID8gbnVsbCA6IGNyZWF0ZVNldChhcnJheSk7XG4gICAgICAgIGlmIChzZXQpIHtcbiAgICAgICAgICByZXR1cm4gc2V0VG9BcnJheShzZXQpO1xuICAgICAgICB9XG4gICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICAgIGluY2x1ZGVzID0gY2FjaGVIYXM7XG4gICAgICAgIHNlZW4gPSBuZXcgU2V0Q2FjaGU7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgc2VlbiA9IGl0ZXJhdGVlID8gW10gOiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBvdXRlcjpcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPyBpdGVyYXRlZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgICAgICB2YWx1ZSA9IChjb21wYXJhdG9yIHx8IHZhbHVlICE9PSAwKSA/IHZhbHVlIDogMDtcbiAgICAgICAgaWYgKGlzQ29tbW9uICYmIGNvbXB1dGVkID09PSBjb21wdXRlZCkge1xuICAgICAgICAgIHZhciBzZWVuSW5kZXggPSBzZWVuLmxlbmd0aDtcbiAgICAgICAgICB3aGlsZSAoc2VlbkluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmIChzZWVuW3NlZW5JbmRleF0gPT09IGNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG91dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXRlcmF0ZWUpIHtcbiAgICAgICAgICAgIHNlZW4ucHVzaChjb21wdXRlZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghaW5jbHVkZXMoc2VlbiwgY29tcHV0ZWQsIGNvbXBhcmF0b3IpKSB7XG4gICAgICAgICAgaWYgKHNlZW4gIT09IHJlc3VsdCkge1xuICAgICAgICAgICAgc2Vlbi5wdXNoKGNvbXB1dGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVuc2V0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcHJvcGVydHkgcGF0aCB0byB1bnNldC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHByb3BlcnR5IGlzIGRlbGV0ZWQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVW5zZXQob2JqZWN0LCBwYXRoKSB7XG4gICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcbiAgICAgIG9iamVjdCA9IHBhcmVudChvYmplY3QsIHBhdGgpO1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsIHx8IGRlbGV0ZSBvYmplY3RbdG9LZXkobGFzdChwYXRoKSldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVwZGF0ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIHVwZGF0ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB1cGRhdGVyIFRoZSBmdW5jdGlvbiB0byBwcm9kdWNlIHRoZSB1cGRhdGVkIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIHBhdGggY3JlYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgdXBkYXRlciwgY3VzdG9taXplcikge1xuICAgICAgcmV0dXJuIGJhc2VTZXQob2JqZWN0LCBwYXRoLCB1cGRhdGVyKGJhc2VHZXQob2JqZWN0LCBwYXRoKSksIGN1c3RvbWl6ZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5kcm9wV2hpbGVgIGFuZCBgXy50YWtlV2hpbGVgXG4gICAgICogd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNEcm9wXSBTcGVjaWZ5IGRyb3BwaW5nIGVsZW1lbnRzIGluc3RlYWQgb2YgdGFraW5nIHRoZW0uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VXaGlsZShhcnJheSwgcHJlZGljYXRlLCBpc0Ryb3AsIGZyb21SaWdodCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBpbmRleCA9IGZyb21SaWdodCA/IGxlbmd0aCA6IC0xO1xuXG4gICAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSAmJlxuICAgICAgICBwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7fVxuXG4gICAgICByZXR1cm4gaXNEcm9wXG4gICAgICAgID8gYmFzZVNsaWNlKGFycmF5LCAoZnJvbVJpZ2h0ID8gMCA6IGluZGV4KSwgKGZyb21SaWdodCA/IGluZGV4ICsgMSA6IGxlbmd0aCkpXG4gICAgICAgIDogYmFzZVNsaWNlKGFycmF5LCAoZnJvbVJpZ2h0ID8gaW5kZXggKyAxIDogMCksIChmcm9tUmlnaHQgPyBsZW5ndGggOiBpbmRleCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGB3cmFwcGVyVmFsdWVgIHdoaWNoIHJldHVybnMgdGhlIHJlc3VsdCBvZlxuICAgICAqIHBlcmZvcm1pbmcgYSBzZXF1ZW5jZSBvZiBhY3Rpb25zIG9uIHRoZSB1bndyYXBwZWQgYHZhbHVlYCwgd2hlcmUgZWFjaFxuICAgICAqIHN1Y2Nlc3NpdmUgYWN0aW9uIGlzIHN1cHBsaWVkIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHByZXZpb3VzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB1bndyYXBwZWQgdmFsdWUuXG4gICAgICogQHBhcmFtIHtBcnJheX0gYWN0aW9ucyBBY3Rpb25zIHRvIHBlcmZvcm0gdG8gcmVzb2x2ZSB0aGUgdW53cmFwcGVkIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlV3JhcHBlclZhbHVlKHZhbHVlLCBhY3Rpb25zKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gdmFsdWU7XG4gICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnZhbHVlKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXlSZWR1Y2UoYWN0aW9ucywgZnVuY3Rpb24ocmVzdWx0LCBhY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGFjdGlvbi5mdW5jLmFwcGx5KGFjdGlvbi50aGlzQXJnLCBhcnJheVB1c2goW3Jlc3VsdF0sIGFjdGlvbi5hcmdzKSk7XG4gICAgICB9LCByZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy54b3JgLCB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcywgdGhhdCBhY2NlcHRzIGFuIGFycmF5IG9mIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheXMgVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgdmFsdWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VYb3IoYXJyYXlzLCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5cy5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZVVuaXEoYXJyYXlzWzBdKSA6IFtdO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gYXJyYXlzW2luZGV4XSxcbiAgICAgICAgICAgIG90aEluZGV4ID0gLTE7XG5cbiAgICAgICAgd2hpbGUgKCsrb3RoSW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICBpZiAob3RoSW5kZXggIT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJlc3VsdFtpbmRleF0gPSBiYXNlRGlmZmVyZW5jZShyZXN1bHRbaW5kZXhdIHx8IGFycmF5LCBhcnJheXNbb3RoSW5kZXhdLCBpdGVyYXRlZSwgY29tcGFyYXRvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZVVuaXEoYmFzZUZsYXR0ZW4ocmVzdWx0LCAxKSwgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy56aXBPYmplY3RgIHdoaWNoIGFzc2lnbnMgdmFsdWVzIHVzaW5nIGBhc3NpZ25GdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGFzc2lnbkZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFzc2lnbiB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlWmlwT2JqZWN0KHByb3BzLCB2YWx1ZXMsIGFzc2lnbkZ1bmMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHByb3BzLmxlbmd0aCxcbiAgICAgICAgICB2YWxzTGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSB7fTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gaW5kZXggPCB2YWxzTGVuZ3RoID8gdmFsdWVzW2luZGV4XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgYXNzaWduRnVuYyhyZXN1bHQsIHByb3BzW2luZGV4XSwgdmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYXN0cyBgdmFsdWVgIHRvIGFuIGVtcHR5IGFycmF5IGlmIGl0J3Mgbm90IGFuIGFycmF5IGxpa2Ugb2JqZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgdGhlIGNhc3QgYXJyYXktbGlrZSBvYmplY3QuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2FzdEFycmF5TGlrZU9iamVjdCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KHZhbHVlKSA/IHZhbHVlIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FzdHMgYHZhbHVlYCB0byBgaWRlbnRpdHlgIGlmIGl0J3Mgbm90IGEgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGNhc3QgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2FzdEZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdmdW5jdGlvbicgPyB2YWx1ZSA6IGlkZW50aXR5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhc3RzIGB2YWx1ZWAgdG8gYSBwYXRoIGFycmF5IGlmIGl0J3Mgbm90IG9uZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeSBrZXlzIG9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY2FzdCBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNhc3RQYXRoKHZhbHVlLCBvYmplY3QpIHtcbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNLZXkodmFsdWUsIG9iamVjdCkgPyBbdmFsdWVdIDogc3RyaW5nVG9QYXRoKHRvU3RyaW5nKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBgYmFzZVJlc3RgIGFsaWFzIHdoaWNoIGNhbiBiZSByZXBsYWNlZCB3aXRoIGBpZGVudGl0eWAgYnkgbW9kdWxlXG4gICAgICogcmVwbGFjZW1lbnQgcGx1Z2lucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgdmFyIGNhc3RSZXN0ID0gYmFzZVJlc3Q7XG5cbiAgICAvKipcbiAgICAgKiBDYXN0cyBgYXJyYXlgIHRvIGEgc2xpY2UgaWYgaXQncyBuZWVkZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCBUaGUgc3RhcnQgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtlbmQ9YXJyYXkubGVuZ3RoXSBUaGUgZW5kIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY2FzdCBzbGljZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXN0U2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICBlbmQgPSBlbmQgPT09IHVuZGVmaW5lZCA/IGxlbmd0aCA6IGVuZDtcbiAgICAgIHJldHVybiAoIXN0YXJ0ICYmIGVuZCA+PSBsZW5ndGgpID8gYXJyYXkgOiBiYXNlU2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHRoZSBnbG9iYWwgW2BjbGVhclRpbWVvdXRgXShodHRwczovL21kbi5pby9jbGVhclRpbWVvdXQpLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcnxPYmplY3R9IGlkIFRoZSB0aW1lciBpZCBvciB0aW1lb3V0IG9iamVjdCBvZiB0aGUgdGltZXIgdG8gY2xlYXIuXG4gICAgICovXG4gICAgdmFyIGNsZWFyVGltZW91dCA9IGN0eENsZWFyVGltZW91dCB8fCBmdW5jdGlvbihpZCkge1xuICAgICAgcmV0dXJuIHJvb3QuY2xlYXJUaW1lb3V0KGlkKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mICBgYnVmZmVyYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtCdWZmZXJ9IGJ1ZmZlciBUaGUgYnVmZmVyIHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRGVlcF0gU3BlY2lmeSBhIGRlZXAgY2xvbmUuXG4gICAgICogQHJldHVybnMge0J1ZmZlcn0gUmV0dXJucyB0aGUgY2xvbmVkIGJ1ZmZlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZUJ1ZmZlcihidWZmZXIsIGlzRGVlcCkge1xuICAgICAgaWYgKGlzRGVlcCkge1xuICAgICAgICByZXR1cm4gYnVmZmVyLnNsaWNlKCk7XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gYnVmZmVyLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBhbGxvY1Vuc2FmZSA/IGFsbG9jVW5zYWZlKGxlbmd0aCkgOiBuZXcgYnVmZmVyLmNvbnN0cnVjdG9yKGxlbmd0aCk7XG5cbiAgICAgIGJ1ZmZlci5jb3B5KHJlc3VsdCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiBgYXJyYXlCdWZmZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5QnVmZmVyfSBhcnJheUJ1ZmZlciBUaGUgYXJyYXkgYnVmZmVyIHRvIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtBcnJheUJ1ZmZlcn0gUmV0dXJucyB0aGUgY2xvbmVkIGFycmF5IGJ1ZmZlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZUFycmF5QnVmZmVyKGFycmF5QnVmZmVyKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbmV3IGFycmF5QnVmZmVyLmNvbnN0cnVjdG9yKGFycmF5QnVmZmVyLmJ5dGVMZW5ndGgpO1xuICAgICAgbmV3IFVpbnQ4QXJyYXkocmVzdWx0KS5zZXQobmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGBkYXRhVmlld2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhVmlldyBUaGUgZGF0YSB2aWV3IHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRGVlcF0gU3BlY2lmeSBhIGRlZXAgY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIGRhdGEgdmlldy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZURhdGFWaWV3KGRhdGFWaWV3LCBpc0RlZXApIHtcbiAgICAgIHZhciBidWZmZXIgPSBpc0RlZXAgPyBjbG9uZUFycmF5QnVmZmVyKGRhdGFWaWV3LmJ1ZmZlcikgOiBkYXRhVmlldy5idWZmZXI7XG4gICAgICByZXR1cm4gbmV3IGRhdGFWaWV3LmNvbnN0cnVjdG9yKGJ1ZmZlciwgZGF0YVZpZXcuYnl0ZU9mZnNldCwgZGF0YVZpZXcuYnl0ZUxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGByZWdleHBgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcmVnZXhwIFRoZSByZWdleHAgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIHJlZ2V4cC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVJlZ0V4cChyZWdleHApIHtcbiAgICAgIHZhciByZXN1bHQgPSBuZXcgcmVnZXhwLmNvbnN0cnVjdG9yKHJlZ2V4cC5zb3VyY2UsIHJlRmxhZ3MuZXhlYyhyZWdleHApKTtcbiAgICAgIHJlc3VsdC5sYXN0SW5kZXggPSByZWdleHAubGFzdEluZGV4O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgdGhlIGBzeW1ib2xgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHN5bWJvbCBUaGUgc3ltYm9sIG9iamVjdCB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjbG9uZWQgc3ltYm9sIG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVN5bWJvbChzeW1ib2wpIHtcbiAgICAgIHJldHVybiBzeW1ib2xWYWx1ZU9mID8gT2JqZWN0KHN5bWJvbFZhbHVlT2YuY2FsbChzeW1ib2wpKSA6IHt9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiBgdHlwZWRBcnJheWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSB0eXBlZEFycmF5IFRoZSB0eXBlZCBhcnJheSB0byBjbG9uZS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0RlZXBdIFNwZWNpZnkgYSBkZWVwIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNsb25lZCB0eXBlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVR5cGVkQXJyYXkodHlwZWRBcnJheSwgaXNEZWVwKSB7XG4gICAgICB2YXIgYnVmZmVyID0gaXNEZWVwID8gY2xvbmVBcnJheUJ1ZmZlcih0eXBlZEFycmF5LmJ1ZmZlcikgOiB0eXBlZEFycmF5LmJ1ZmZlcjtcbiAgICAgIHJldHVybiBuZXcgdHlwZWRBcnJheS5jb25zdHJ1Y3RvcihidWZmZXIsIHR5cGVkQXJyYXkuYnl0ZU9mZnNldCwgdHlwZWRBcnJheS5sZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBhcmVzIHZhbHVlcyB0byBzb3J0IHRoZW0gaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc29ydCBvcmRlciBpbmRpY2F0b3IgZm9yIGB2YWx1ZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcGFyZUFzY2VuZGluZyh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gb3RoZXIpIHtcbiAgICAgICAgdmFyIHZhbElzRGVmaW5lZCA9IHZhbHVlICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICB2YWxJc051bGwgPSB2YWx1ZSA9PT0gbnVsbCxcbiAgICAgICAgICAgIHZhbElzUmVmbGV4aXZlID0gdmFsdWUgPT09IHZhbHVlLFxuICAgICAgICAgICAgdmFsSXNTeW1ib2wgPSBpc1N5bWJvbCh2YWx1ZSk7XG5cbiAgICAgICAgdmFyIG90aElzRGVmaW5lZCA9IG90aGVyICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICBvdGhJc051bGwgPSBvdGhlciA9PT0gbnVsbCxcbiAgICAgICAgICAgIG90aElzUmVmbGV4aXZlID0gb3RoZXIgPT09IG90aGVyLFxuICAgICAgICAgICAgb3RoSXNTeW1ib2wgPSBpc1N5bWJvbChvdGhlcik7XG5cbiAgICAgICAgaWYgKCghb3RoSXNOdWxsICYmICFvdGhJc1N5bWJvbCAmJiAhdmFsSXNTeW1ib2wgJiYgdmFsdWUgPiBvdGhlcikgfHxcbiAgICAgICAgICAgICh2YWxJc1N5bWJvbCAmJiBvdGhJc0RlZmluZWQgJiYgb3RoSXNSZWZsZXhpdmUgJiYgIW90aElzTnVsbCAmJiAhb3RoSXNTeW1ib2wpIHx8XG4gICAgICAgICAgICAodmFsSXNOdWxsICYmIG90aElzRGVmaW5lZCAmJiBvdGhJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgICAgICghdmFsSXNEZWZpbmVkICYmIG90aElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAgICAgIXZhbElzUmVmbGV4aXZlKSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCghdmFsSXNOdWxsICYmICF2YWxJc1N5bWJvbCAmJiAhb3RoSXNTeW1ib2wgJiYgdmFsdWUgPCBvdGhlcikgfHxcbiAgICAgICAgICAgIChvdGhJc1N5bWJvbCAmJiB2YWxJc0RlZmluZWQgJiYgdmFsSXNSZWZsZXhpdmUgJiYgIXZhbElzTnVsbCAmJiAhdmFsSXNTeW1ib2wpIHx8XG4gICAgICAgICAgICAob3RoSXNOdWxsICYmIHZhbElzRGVmaW5lZCAmJiB2YWxJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgICAgICghb3RoSXNEZWZpbmVkICYmIHZhbElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAgICAgIW90aElzUmVmbGV4aXZlKSB7XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGJ5IGBfLm9yZGVyQnlgIHRvIGNvbXBhcmUgbXVsdGlwbGUgcHJvcGVydGllcyBvZiBhIHZhbHVlIHRvIGFub3RoZXJcbiAgICAgKiBhbmQgc3RhYmxlIHNvcnQgdGhlbS5cbiAgICAgKlxuICAgICAqIElmIGBvcmRlcnNgIGlzIHVuc3BlY2lmaWVkLCBhbGwgdmFsdWVzIGFyZSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyLiBPdGhlcndpc2UsXG4gICAgICogc3BlY2lmeSBhbiBvcmRlciBvZiBcImRlc2NcIiBmb3IgZGVzY2VuZGluZyBvciBcImFzY1wiIGZvciBhc2NlbmRpbmcgc29ydCBvcmRlclxuICAgICAqIG9mIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3RoZXIgVGhlIG90aGVyIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbltdfHN0cmluZ1tdfSBvcmRlcnMgVGhlIG9yZGVyIHRvIHNvcnQgYnkgZm9yIGVhY2ggcHJvcGVydHkuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc29ydCBvcmRlciBpbmRpY2F0b3IgZm9yIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbXBhcmVNdWx0aXBsZShvYmplY3QsIG90aGVyLCBvcmRlcnMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIG9iakNyaXRlcmlhID0gb2JqZWN0LmNyaXRlcmlhLFxuICAgICAgICAgIG90aENyaXRlcmlhID0gb3RoZXIuY3JpdGVyaWEsXG4gICAgICAgICAgbGVuZ3RoID0gb2JqQ3JpdGVyaWEubGVuZ3RoLFxuICAgICAgICAgIG9yZGVyc0xlbmd0aCA9IG9yZGVycy5sZW5ndGg7XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBjb21wYXJlQXNjZW5kaW5nKG9iakNyaXRlcmlhW2luZGV4XSwgb3RoQ3JpdGVyaWFbaW5kZXhdKTtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIGlmIChpbmRleCA+PSBvcmRlcnNMZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBvcmRlciA9IG9yZGVyc1tpbmRleF07XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdCAqIChvcmRlciA9PSAnZGVzYycgPyAtMSA6IDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBGaXhlcyBhbiBgQXJyYXkjc29ydGAgYnVnIGluIHRoZSBKUyBlbmdpbmUgZW1iZWRkZWQgaW4gQWRvYmUgYXBwbGljYXRpb25zXG4gICAgICAvLyB0aGF0IGNhdXNlcyBpdCwgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCB0byBwcm92aWRlIHRoZSBzYW1lIHZhbHVlIGZvclxuICAgICAgLy8gYG9iamVjdGAgYW5kIGBvdGhlcmAuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vamFzaGtlbmFzL3VuZGVyc2NvcmUvcHVsbC8xMjQ3XG4gICAgICAvLyBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgYWxzbyBlbnN1cmVzIGEgc3RhYmxlIHNvcnQgaW4gVjggYW5kIG90aGVyIGVuZ2luZXMuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9OTAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgIHJldHVybiBvYmplY3QuaW5kZXggLSBvdGhlci5pbmRleDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IHRoYXQgaXMgdGhlIGNvbXBvc2l0aW9uIG9mIHBhcnRpYWxseSBhcHBsaWVkIGFyZ3VtZW50cyxcbiAgICAgKiBwbGFjZWhvbGRlcnMsIGFuZCBwcm92aWRlZCBhcmd1bWVudHMgaW50byBhIHNpbmdsZSBhcnJheSBvZiBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQuXG4gICAgICogQHBhcmFtIHtBcnJheX0gaG9sZGVycyBUaGUgYHBhcnRpYWxzYCBwbGFjZWhvbGRlciBpbmRleGVzLlxuICAgICAqIEBwYXJhbXMge2Jvb2xlYW59IFtpc0N1cnJpZWRdIFNwZWNpZnkgY29tcG9zaW5nIGZvciBhIGN1cnJpZWQgZnVuY3Rpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY29tcG9zZWQgYXJndW1lbnRzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbXBvc2VBcmdzKGFyZ3MsIHBhcnRpYWxzLCBob2xkZXJzLCBpc0N1cnJpZWQpIHtcbiAgICAgIHZhciBhcmdzSW5kZXggPSAtMSxcbiAgICAgICAgICBhcmdzTGVuZ3RoID0gYXJncy5sZW5ndGgsXG4gICAgICAgICAgaG9sZGVyc0xlbmd0aCA9IGhvbGRlcnMubGVuZ3RoLFxuICAgICAgICAgIGxlZnRJbmRleCA9IC0xLFxuICAgICAgICAgIGxlZnRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsXG4gICAgICAgICAgcmFuZ2VMZW5ndGggPSBuYXRpdmVNYXgoYXJnc0xlbmd0aCAtIGhvbGRlcnNMZW5ndGgsIDApLFxuICAgICAgICAgIHJlc3VsdCA9IEFycmF5KGxlZnRMZW5ndGggKyByYW5nZUxlbmd0aCksXG4gICAgICAgICAgaXNVbmN1cnJpZWQgPSAhaXNDdXJyaWVkO1xuXG4gICAgICB3aGlsZSAoKytsZWZ0SW5kZXggPCBsZWZ0TGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtsZWZ0SW5kZXhdID0gcGFydGlhbHNbbGVmdEluZGV4XTtcbiAgICAgIH1cbiAgICAgIHdoaWxlICgrK2FyZ3NJbmRleCA8IGhvbGRlcnNMZW5ndGgpIHtcbiAgICAgICAgaWYgKGlzVW5jdXJyaWVkIHx8IGFyZ3NJbmRleCA8IGFyZ3NMZW5ndGgpIHtcbiAgICAgICAgICByZXN1bHRbaG9sZGVyc1thcmdzSW5kZXhdXSA9IGFyZ3NbYXJnc0luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKHJhbmdlTGVuZ3RoLS0pIHtcbiAgICAgICAgcmVzdWx0W2xlZnRJbmRleCsrXSA9IGFyZ3NbYXJnc0luZGV4KytdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGxpa2UgYGNvbXBvc2VBcmdzYCBleGNlcHQgdGhhdCB0aGUgYXJndW1lbnRzIGNvbXBvc2l0aW9uXG4gICAgICogaXMgdGFpbG9yZWQgZm9yIGBfLnBhcnRpYWxSaWdodGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIGFwcGVuZCB0byB0aG9zZSBwcm92aWRlZC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBob2xkZXJzIFRoZSBgcGFydGlhbHNgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtcyB7Ym9vbGVhbn0gW2lzQ3VycmllZF0gU3BlY2lmeSBjb21wb3NpbmcgZm9yIGEgY3VycmllZCBmdW5jdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBjb21wb3NlZCBhcmd1bWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcG9zZUFyZ3NSaWdodChhcmdzLCBwYXJ0aWFscywgaG9sZGVycywgaXNDdXJyaWVkKSB7XG4gICAgICB2YXIgYXJnc0luZGV4ID0gLTEsXG4gICAgICAgICAgYXJnc0xlbmd0aCA9IGFyZ3MubGVuZ3RoLFxuICAgICAgICAgIGhvbGRlcnNJbmRleCA9IC0xLFxuICAgICAgICAgIGhvbGRlcnNMZW5ndGggPSBob2xkZXJzLmxlbmd0aCxcbiAgICAgICAgICByaWdodEluZGV4ID0gLTEsXG4gICAgICAgICAgcmlnaHRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsXG4gICAgICAgICAgcmFuZ2VMZW5ndGggPSBuYXRpdmVNYXgoYXJnc0xlbmd0aCAtIGhvbGRlcnNMZW5ndGgsIDApLFxuICAgICAgICAgIHJlc3VsdCA9IEFycmF5KHJhbmdlTGVuZ3RoICsgcmlnaHRMZW5ndGgpLFxuICAgICAgICAgIGlzVW5jdXJyaWVkID0gIWlzQ3VycmllZDtcblxuICAgICAgd2hpbGUgKCsrYXJnc0luZGV4IDwgcmFuZ2VMZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W2FyZ3NJbmRleF0gPSBhcmdzW2FyZ3NJbmRleF07XG4gICAgICB9XG4gICAgICB2YXIgb2Zmc2V0ID0gYXJnc0luZGV4O1xuICAgICAgd2hpbGUgKCsrcmlnaHRJbmRleCA8IHJpZ2h0TGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtvZmZzZXQgKyByaWdodEluZGV4XSA9IHBhcnRpYWxzW3JpZ2h0SW5kZXhdO1xuICAgICAgfVxuICAgICAgd2hpbGUgKCsraG9sZGVyc0luZGV4IDwgaG9sZGVyc0xlbmd0aCkge1xuICAgICAgICBpZiAoaXNVbmN1cnJpZWQgfHwgYXJnc0luZGV4IDwgYXJnc0xlbmd0aCkge1xuICAgICAgICAgIHJlc3VsdFtvZmZzZXQgKyBob2xkZXJzW2hvbGRlcnNJbmRleF1dID0gYXJnc1thcmdzSW5kZXgrK107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIHRoZSB2YWx1ZXMgb2YgYHNvdXJjZWAgdG8gYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gc291cmNlIFRoZSBhcnJheSB0byBjb3B5IHZhbHVlcyBmcm9tLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheT1bXV0gVGhlIGFycmF5IHRvIGNvcHkgdmFsdWVzIHRvLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvcHlBcnJheShzb3VyY2UsIGFycmF5KSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBzb3VyY2UubGVuZ3RoO1xuXG4gICAgICBhcnJheSB8fCAoYXJyYXkgPSBBcnJheShsZW5ndGgpKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIGFycmF5W2luZGV4XSA9IHNvdXJjZVtpbmRleF07XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIHByb3BlcnRpZXMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgaWRlbnRpZmllcnMgdG8gY29weS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29waWVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvcHlPYmplY3Qoc291cmNlLCBwcm9wcywgb2JqZWN0LCBjdXN0b21pemVyKSB7XG4gICAgICB2YXIgaXNOZXcgPSAhb2JqZWN0O1xuICAgICAgb2JqZWN0IHx8IChvYmplY3QgPSB7fSk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHByb3BzLmxlbmd0aDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGtleSA9IHByb3BzW2luZGV4XTtcblxuICAgICAgICB2YXIgbmV3VmFsdWUgPSBjdXN0b21pemVyXG4gICAgICAgICAgPyBjdXN0b21pemVyKG9iamVjdFtrZXldLCBzb3VyY2Vba2V5XSwga2V5LCBvYmplY3QsIHNvdXJjZSlcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIG5ld1ZhbHVlID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzTmV3KSB7XG4gICAgICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzaWduVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3BpZXMgb3duIHN5bWJvbHMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgdG8uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb3B5U3ltYm9scyhzb3VyY2UsIG9iamVjdCkge1xuICAgICAgcmV0dXJuIGNvcHlPYmplY3Qoc291cmNlLCBnZXRTeW1ib2xzKHNvdXJjZSksIG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIG93biBhbmQgaW5oZXJpdGVkIHN5bWJvbHMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgdG8uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb3B5U3ltYm9sc0luKHNvdXJjZSwgb2JqZWN0KSB7XG4gICAgICByZXR1cm4gY29weU9iamVjdChzb3VyY2UsIGdldFN5bWJvbHNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmdyb3VwQnlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzZXR0ZXIgVGhlIGZ1bmN0aW9uIHRvIHNldCBhY2N1bXVsYXRvciB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2luaXRpYWxpemVyXSBUaGUgYWNjdW11bGF0b3Igb2JqZWN0IGluaXRpYWxpemVyLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFnZ3JlZ2F0b3IgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQWdncmVnYXRvcihzZXR0ZXIsIGluaXRpYWxpemVyKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlBZ2dyZWdhdG9yIDogYmFzZUFnZ3JlZ2F0b3IsXG4gICAgICAgICAgICBhY2N1bXVsYXRvciA9IGluaXRpYWxpemVyID8gaW5pdGlhbGl6ZXIoKSA6IHt9O1xuXG4gICAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIHNldHRlciwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpLCBhY2N1bXVsYXRvcik7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmFzc2lnbmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGFzc2lnbmVyIFRoZSBmdW5jdGlvbiB0byBhc3NpZ24gdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFzc2lnbmVyIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUFzc2lnbmVyKGFzc2lnbmVyKSB7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgICAgbGVuZ3RoID0gc291cmNlcy5sZW5ndGgsXG4gICAgICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoID4gMSA/IHNvdXJjZXNbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBndWFyZCA9IGxlbmd0aCA+IDIgPyBzb3VyY2VzWzJdIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGN1c3RvbWl6ZXIgPSAoYXNzaWduZXIubGVuZ3RoID4gMyAmJiB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nKVxuICAgICAgICAgID8gKGxlbmd0aC0tLCBjdXN0b21pemVyKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzb3VyY2VzWzBdLCBzb3VyY2VzWzFdLCBndWFyZCkpIHtcbiAgICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoIDwgMyA/IHVuZGVmaW5lZCA6IGN1c3RvbWl6ZXI7XG4gICAgICAgICAgbGVuZ3RoID0gMTtcbiAgICAgICAgfVxuICAgICAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICB2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07XG4gICAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgYXNzaWduZXIob2JqZWN0LCBzb3VyY2UsIGluZGV4LCBjdXN0b21pemVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBgYmFzZUVhY2hgIG9yIGBiYXNlRWFjaFJpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWFjaEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBhIGNvbGxlY3Rpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYmFzZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVCYXNlRWFjaChlYWNoRnVuYywgZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNBcnJheUxpa2UoY29sbGVjdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gZWFjaEZ1bmMoY29sbGVjdGlvbiwgaXRlcmF0ZWUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBsZW5ndGggPSBjb2xsZWN0aW9uLmxlbmd0aCxcbiAgICAgICAgICAgIGluZGV4ID0gZnJvbVJpZ2h0ID8gbGVuZ3RoIDogLTEsXG4gICAgICAgICAgICBpdGVyYWJsZSA9IE9iamVjdChjb2xsZWN0aW9uKTtcblxuICAgICAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSkge1xuICAgICAgICAgIGlmIChpdGVyYXRlZShpdGVyYWJsZVtpbmRleF0sIGluZGV4LCBpdGVyYWJsZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBiYXNlIGZ1bmN0aW9uIGZvciBtZXRob2RzIGxpa2UgYF8uZm9ySW5gIGFuZCBgXy5mb3JPd25gLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBiYXNlIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUJhc2VGb3IoZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0LCBpdGVyYXRlZSwga2V5c0Z1bmMpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgICBpdGVyYWJsZSA9IE9iamVjdChvYmplY3QpLFxuICAgICAgICAgICAgcHJvcHMgPSBrZXlzRnVuYyhvYmplY3QpLFxuICAgICAgICAgICAgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuXG4gICAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICAgIHZhciBrZXkgPSBwcm9wc1tmcm9tUmlnaHQgPyBsZW5ndGggOiArK2luZGV4XTtcbiAgICAgICAgICBpZiAoaXRlcmF0ZWUoaXRlcmFibGVba2V5XSwga2V5LCBpdGVyYWJsZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYGZ1bmNgIHRvIGludm9rZSBpdCB3aXRoIHRoZSBvcHRpb25hbCBgdGhpc2BcbiAgICAgKiBiaW5kaW5nIG9mIGB0aGlzQXJnYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7Kn0gW3RoaXNBcmddIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVCaW5kKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcpIHtcbiAgICAgIHZhciBpc0JpbmQgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcsXG4gICAgICAgICAgQ3RvciA9IGNyZWF0ZUN0b3IoZnVuYyk7XG5cbiAgICAgIGZ1bmN0aW9uIHdyYXBwZXIoKSB7XG4gICAgICAgIHZhciBmbiA9ICh0aGlzICYmIHRoaXMgIT09IHJvb3QgJiYgdGhpcyBpbnN0YW5jZW9mIHdyYXBwZXIpID8gQ3RvciA6IGZ1bmM7XG4gICAgICAgIHJldHVybiBmbi5hcHBseShpc0JpbmQgPyB0aGlzQXJnIDogdGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmxvd2VyRmlyc3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSBUaGUgbmFtZSBvZiB0aGUgYFN0cmluZ2AgY2FzZSBtZXRob2QgdG8gdXNlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNhc2UgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQ2FzZUZpcnN0KG1ldGhvZE5hbWUpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgICB2YXIgc3RyU3ltYm9scyA9IGhhc1VuaWNvZGUoc3RyaW5nKVxuICAgICAgICAgID8gc3RyaW5nVG9BcnJheShzdHJpbmcpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgdmFyIGNociA9IHN0clN5bWJvbHNcbiAgICAgICAgICA/IHN0clN5bWJvbHNbMF1cbiAgICAgICAgICA6IHN0cmluZy5jaGFyQXQoMCk7XG5cbiAgICAgICAgdmFyIHRyYWlsaW5nID0gc3RyU3ltYm9sc1xuICAgICAgICAgID8gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDEpLmpvaW4oJycpXG4gICAgICAgICAgOiBzdHJpbmcuc2xpY2UoMSk7XG5cbiAgICAgICAgcmV0dXJuIGNoclttZXRob2ROYW1lXSgpICsgdHJhaWxpbmc7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmNhbWVsQ2FzZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIFRoZSBmdW5jdGlvbiB0byBjb21iaW5lIGVhY2ggd29yZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjb21wb3VuZGVyIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUNvbXBvdW5kZXIoY2FsbGJhY2spIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5UmVkdWNlKHdvcmRzKGRlYnVycihzdHJpbmcpLnJlcGxhY2UocmVBcG9zLCAnJykpLCBjYWxsYmFjaywgJycpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwcm9kdWNlcyBhbiBpbnN0YW5jZSBvZiBgQ3RvcmAgcmVnYXJkbGVzcyBvZlxuICAgICAqIHdoZXRoZXIgaXQgd2FzIGludm9rZWQgYXMgcGFydCBvZiBhIGBuZXdgIGV4cHJlc3Npb24gb3IgYnkgYGNhbGxgIG9yIGBhcHBseWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IEN0b3IgVGhlIGNvbnN0cnVjdG9yIHRvIHdyYXAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVDdG9yKEN0b3IpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gVXNlIGEgYHN3aXRjaGAgc3RhdGVtZW50IHRvIHdvcmsgd2l0aCBjbGFzcyBjb25zdHJ1Y3RvcnMuIFNlZVxuICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWZ1bmN0aW9uLW9iamVjdHMtY2FsbC10aGlzYXJndW1lbnQtYXJndW1lbnRzbGlzdFxuICAgICAgICAvLyBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMDogcmV0dXJuIG5ldyBDdG9yO1xuICAgICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0pO1xuICAgICAgICAgIGNhc2UgMjogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgIGNhc2UgMzogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgICAgICAgIGNhc2UgNDogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10pO1xuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0pO1xuICAgICAgICAgIGNhc2UgNjogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0sIGFyZ3NbNV0pO1xuICAgICAgICAgIGNhc2UgNzogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0sIGFyZ3NbNV0sIGFyZ3NbNl0pO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0aGlzQmluZGluZyA9IGJhc2VDcmVhdGUoQ3Rvci5wcm90b3R5cGUpLFxuICAgICAgICAgICAgcmVzdWx0ID0gQ3Rvci5hcHBseSh0aGlzQmluZGluZywgYXJncyk7XG5cbiAgICAgICAgLy8gTWltaWMgdGhlIGNvbnN0cnVjdG9yJ3MgYHJldHVybmAgYmVoYXZpb3IuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2VzNS5naXRodWIuaW8vI3gxMy4yLjIgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgICAgcmV0dXJuIGlzT2JqZWN0KHJlc3VsdCkgPyByZXN1bHQgOiB0aGlzQmluZGluZztcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYGZ1bmNgIHRvIGVuYWJsZSBjdXJyeWluZy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBhcml0eSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQ3VycnkoZnVuYywgYml0bWFzaywgYXJpdHkpIHtcbiAgICAgIHZhciBDdG9yID0gY3JlYXRlQ3RvcihmdW5jKTtcblxuICAgICAgZnVuY3Rpb24gd3JhcHBlcigpIHtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsXG4gICAgICAgICAgICBhcmdzID0gQXJyYXkobGVuZ3RoKSxcbiAgICAgICAgICAgIGluZGV4ID0gbGVuZ3RoLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBnZXRIb2xkZXIod3JhcHBlcik7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgICAgICBhcmdzW2luZGV4XSA9IGFyZ3VtZW50c1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGhvbGRlcnMgPSAobGVuZ3RoIDwgMyAmJiBhcmdzWzBdICE9PSBwbGFjZWhvbGRlciAmJiBhcmdzW2xlbmd0aCAtIDFdICE9PSBwbGFjZWhvbGRlcilcbiAgICAgICAgICA/IFtdXG4gICAgICAgICAgOiByZXBsYWNlSG9sZGVycyhhcmdzLCBwbGFjZWhvbGRlcik7XG5cbiAgICAgICAgbGVuZ3RoIC09IGhvbGRlcnMubGVuZ3RoO1xuICAgICAgICBpZiAobGVuZ3RoIDwgYXJpdHkpIHtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlUmVjdXJyeShcbiAgICAgICAgICAgIGZ1bmMsIGJpdG1hc2ssIGNyZWF0ZUh5YnJpZCwgd3JhcHBlci5wbGFjZWhvbGRlciwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgYXJncywgaG9sZGVycywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5IC0gbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZm4gPSAodGhpcyAmJiB0aGlzICE9PSByb290ICYmIHRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyKSA/IEN0b3IgOiBmdW5jO1xuICAgICAgICByZXR1cm4gYXBwbHkoZm4sIHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLmZpbmRgIG9yIGBfLmZpbmRMYXN0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZmluZEluZGV4RnVuYyBUaGUgZnVuY3Rpb24gdG8gZmluZCB0aGUgY29sbGVjdGlvbiBpbmRleC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmaW5kIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUZpbmQoZmluZEluZGV4RnVuYykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZnJvbUluZGV4KSB7XG4gICAgICAgIHZhciBpdGVyYWJsZSA9IE9iamVjdChjb2xsZWN0aW9uKTtcbiAgICAgICAgaWYgKCFpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgIHZhciBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyk7XG4gICAgICAgICAgY29sbGVjdGlvbiA9IGtleXMoY29sbGVjdGlvbik7XG4gICAgICAgICAgcHJlZGljYXRlID0gZnVuY3Rpb24oa2V5KSB7IHJldHVybiBpdGVyYXRlZShpdGVyYWJsZVtrZXldLCBrZXksIGl0ZXJhYmxlKTsgfTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW5kZXggPSBmaW5kSW5kZXhGdW5jKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZnJvbUluZGV4KTtcbiAgICAgICAgcmV0dXJuIGluZGV4ID4gLTEgPyBpdGVyYWJsZVtpdGVyYXRlZSA/IGNvbGxlY3Rpb25baW5kZXhdIDogaW5kZXhdIDogdW5kZWZpbmVkO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYF8uZmxvd2Agb3IgYF8uZmxvd1JpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZmxvdyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVGbG93KGZyb21SaWdodCkge1xuICAgICAgcmV0dXJuIGZsYXRSZXN0KGZ1bmN0aW9uKGZ1bmNzKSB7XG4gICAgICAgIHZhciBsZW5ndGggPSBmdW5jcy5sZW5ndGgsXG4gICAgICAgICAgICBpbmRleCA9IGxlbmd0aCxcbiAgICAgICAgICAgIHByZXJlcSA9IExvZGFzaFdyYXBwZXIucHJvdG90eXBlLnRocnU7XG5cbiAgICAgICAgaWYgKGZyb21SaWdodCkge1xuICAgICAgICAgIGZ1bmNzLnJldmVyc2UoKTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICAgIHZhciBmdW5jID0gZnVuY3NbaW5kZXhdO1xuICAgICAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwcmVyZXEgJiYgIXdyYXBwZXIgJiYgZ2V0RnVuY05hbWUoZnVuYykgPT0gJ3dyYXBwZXInKSB7XG4gICAgICAgICAgICB2YXIgd3JhcHBlciA9IG5ldyBMb2Rhc2hXcmFwcGVyKFtdLCB0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXggPSB3cmFwcGVyID8gaW5kZXggOiBsZW5ndGg7XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgZnVuYyA9IGZ1bmNzW2luZGV4XTtcblxuICAgICAgICAgIHZhciBmdW5jTmFtZSA9IGdldEZ1bmNOYW1lKGZ1bmMpLFxuICAgICAgICAgICAgICBkYXRhID0gZnVuY05hbWUgPT0gJ3dyYXBwZXInID8gZ2V0RGF0YShmdW5jKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgIGlmIChkYXRhICYmIGlzTGF6aWFibGUoZGF0YVswXSkgJiZcbiAgICAgICAgICAgICAgICBkYXRhWzFdID09IChXUkFQX0FSWV9GTEFHIHwgV1JBUF9DVVJSWV9GTEFHIHwgV1JBUF9QQVJUSUFMX0ZMQUcgfCBXUkFQX1JFQVJHX0ZMQUcpICYmXG4gICAgICAgICAgICAgICAgIWRhdGFbNF0ubGVuZ3RoICYmIGRhdGFbOV0gPT0gMVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgIHdyYXBwZXIgPSB3cmFwcGVyW2dldEZ1bmNOYW1lKGRhdGFbMF0pXS5hcHBseSh3cmFwcGVyLCBkYXRhWzNdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd3JhcHBlciA9IChmdW5jLmxlbmd0aCA9PSAxICYmIGlzTGF6aWFibGUoZnVuYykpXG4gICAgICAgICAgICAgID8gd3JhcHBlcltmdW5jTmFtZV0oKVxuICAgICAgICAgICAgICA6IHdyYXBwZXIudGhydShmdW5jKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzLFxuICAgICAgICAgICAgICB2YWx1ZSA9IGFyZ3NbMF07XG5cbiAgICAgICAgICBpZiAod3JhcHBlciAmJiBhcmdzLmxlbmd0aCA9PSAxICYmIGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcHBlci5wbGFudCh2YWx1ZSkudmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGluZGV4ID0gMCxcbiAgICAgICAgICAgICAgcmVzdWx0ID0gbGVuZ3RoID8gZnVuY3NbaW5kZXhdLmFwcGx5KHRoaXMsIGFyZ3MpIDogdmFsdWU7XG5cbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZnVuY3NbaW5kZXhdLmNhbGwodGhpcywgcmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHdyYXBzIGBmdW5jYCB0byBpbnZva2UgaXQgd2l0aCBvcHRpb25hbCBgdGhpc2BcbiAgICAgKiBiaW5kaW5nIG9mIGB0aGlzQXJnYCwgcGFydGlhbCBhcHBsaWNhdGlvbiwgYW5kIGN1cnJ5aW5nLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gZnVuYyBUaGUgZnVuY3Rpb24gb3IgbWV0aG9kIG5hbWUgdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7Kn0gW3RoaXNBcmddIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQgdG9cbiAgICAgKiAgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc10gVGhlIGBwYXJ0aWFsc2AgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbcGFydGlhbHNSaWdodF0gVGhlIGFyZ3VtZW50cyB0byBhcHBlbmQgdG8gdGhvc2UgcHJvdmlkZWRcbiAgICAgKiAgdG8gdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc1JpZ2h0XSBUaGUgYHBhcnRpYWxzUmlnaHRgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2FyZ1Bvc10gVGhlIGFyZ3VtZW50IHBvc2l0aW9ucyBvZiB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJ5XSBUaGUgYXJpdHkgY2FwIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5XSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlSHlicmlkKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBwYXJ0aWFsc1JpZ2h0LCBob2xkZXJzUmlnaHQsIGFyZ1BvcywgYXJ5LCBhcml0eSkge1xuICAgICAgdmFyIGlzQXJ5ID0gYml0bWFzayAmIFdSQVBfQVJZX0ZMQUcsXG4gICAgICAgICAgaXNCaW5kID0gYml0bWFzayAmIFdSQVBfQklORF9GTEFHLFxuICAgICAgICAgIGlzQmluZEtleSA9IGJpdG1hc2sgJiBXUkFQX0JJTkRfS0VZX0ZMQUcsXG4gICAgICAgICAgaXNDdXJyaWVkID0gYml0bWFzayAmIChXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpLFxuICAgICAgICAgIGlzRmxpcCA9IGJpdG1hc2sgJiBXUkFQX0ZMSVBfRkxBRyxcbiAgICAgICAgICBDdG9yID0gaXNCaW5kS2V5ID8gdW5kZWZpbmVkIDogY3JlYXRlQ3RvcihmdW5jKTtcblxuICAgICAgZnVuY3Rpb24gd3JhcHBlcigpIHtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsXG4gICAgICAgICAgICBhcmdzID0gQXJyYXkobGVuZ3RoKSxcbiAgICAgICAgICAgIGluZGV4ID0gbGVuZ3RoO1xuXG4gICAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgICAgYXJnc1tpbmRleF0gPSBhcmd1bWVudHNbaW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0N1cnJpZWQpIHtcbiAgICAgICAgICB2YXIgcGxhY2Vob2xkZXIgPSBnZXRIb2xkZXIod3JhcHBlciksXG4gICAgICAgICAgICAgIGhvbGRlcnNDb3VudCA9IGNvdW50SG9sZGVycyhhcmdzLCBwbGFjZWhvbGRlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcnRpYWxzKSB7XG4gICAgICAgICAgYXJncyA9IGNvbXBvc2VBcmdzKGFyZ3MsIHBhcnRpYWxzLCBob2xkZXJzLCBpc0N1cnJpZWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJ0aWFsc1JpZ2h0KSB7XG4gICAgICAgICAgYXJncyA9IGNvbXBvc2VBcmdzUmlnaHQoYXJncywgcGFydGlhbHNSaWdodCwgaG9sZGVyc1JpZ2h0LCBpc0N1cnJpZWQpO1xuICAgICAgICB9XG4gICAgICAgIGxlbmd0aCAtPSBob2xkZXJzQ291bnQ7XG4gICAgICAgIGlmIChpc0N1cnJpZWQgJiYgbGVuZ3RoIDwgYXJpdHkpIHtcbiAgICAgICAgICB2YXIgbmV3SG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKGFyZ3MsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlUmVjdXJyeShcbiAgICAgICAgICAgIGZ1bmMsIGJpdG1hc2ssIGNyZWF0ZUh5YnJpZCwgd3JhcHBlci5wbGFjZWhvbGRlciwgdGhpc0FyZyxcbiAgICAgICAgICAgIGFyZ3MsIG5ld0hvbGRlcnMsIGFyZ1BvcywgYXJ5LCBhcml0eSAtIGxlbmd0aFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHRoaXNCaW5kaW5nID0gaXNCaW5kID8gdGhpc0FyZyA6IHRoaXMsXG4gICAgICAgICAgICBmbiA9IGlzQmluZEtleSA/IHRoaXNCaW5kaW5nW2Z1bmNdIDogZnVuYztcblxuICAgICAgICBsZW5ndGggPSBhcmdzLmxlbmd0aDtcbiAgICAgICAgaWYgKGFyZ1Bvcykge1xuICAgICAgICAgIGFyZ3MgPSByZW9yZGVyKGFyZ3MsIGFyZ1Bvcyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGbGlwICYmIGxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBhcmdzLnJldmVyc2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNBcnkgJiYgYXJ5IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgYXJncy5sZW5ndGggPSBhcnk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMgJiYgdGhpcyAhPT0gcm9vdCAmJiB0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcikge1xuICAgICAgICAgIGZuID0gQ3RvciB8fCBjcmVhdGVDdG9yKGZuKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpc0JpbmRpbmcsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uaW52ZXJ0QnlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzZXR0ZXIgVGhlIGZ1bmN0aW9uIHRvIHNldCBhY2N1bXVsYXRvciB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gdG9JdGVyYXRlZSBUaGUgZnVuY3Rpb24gdG8gcmVzb2x2ZSBpdGVyYXRlZXMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgaW52ZXJ0ZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlSW52ZXJ0ZXIoc2V0dGVyLCB0b0l0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgICByZXR1cm4gYmFzZUludmVydGVyKG9iamVjdCwgc2V0dGVyLCB0b0l0ZXJhdGVlKGl0ZXJhdGVlKSwge30pO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwZXJmb3JtcyBhIG1hdGhlbWF0aWNhbCBvcGVyYXRpb24gb24gdHdvIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3BlcmF0b3IgVGhlIGZ1bmN0aW9uIHRvIHBlcmZvcm0gdGhlIG9wZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2RlZmF1bHRWYWx1ZV0gVGhlIHZhbHVlIHVzZWQgZm9yIGB1bmRlZmluZWRgIGFyZ3VtZW50cy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBtYXRoZW1hdGljYWwgb3BlcmF0aW9uIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZU1hdGhPcGVyYXRpb24ob3BlcmF0b3IsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiBvdGhlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvdGhlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gb3RoZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgdHlwZW9mIG90aGVyID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGJhc2VUb1N0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICBvdGhlciA9IGJhc2VUb1N0cmluZyhvdGhlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbHVlID0gYmFzZVRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgIG90aGVyID0gYmFzZVRvTnVtYmVyKG90aGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gb3BlcmF0b3IodmFsdWUsIG90aGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gbGlrZSBgXy5vdmVyYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gYXJyYXlGdW5jIFRoZSBmdW5jdGlvbiB0byBpdGVyYXRlIG92ZXIgaXRlcmF0ZWVzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG92ZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlT3ZlcihhcnJheUZ1bmMpIHtcbiAgICAgIHJldHVybiBmbGF0UmVzdChmdW5jdGlvbihpdGVyYXRlZXMpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBiYXNlVW5hcnkoZ2V0SXRlcmF0ZWUoKSkpO1xuICAgICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICAgIHZhciB0aGlzQXJnID0gdGhpcztcbiAgICAgICAgICByZXR1cm4gYXJyYXlGdW5jKGl0ZXJhdGVlcywgZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgICAgICAgIHJldHVybiBhcHBseShpdGVyYXRlZSwgdGhpc0FyZywgYXJncyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyB0aGUgcGFkZGluZyBmb3IgYHN0cmluZ2AgYmFzZWQgb24gYGxlbmd0aGAuIFRoZSBgY2hhcnNgIHN0cmluZ1xuICAgICAqIGlzIHRydW5jYXRlZCBpZiB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgZXhjZWVkcyBgbGVuZ3RoYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aCBUaGUgcGFkZGluZyBsZW5ndGguXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz0nICddIFRoZSBzdHJpbmcgdXNlZCBhcyBwYWRkaW5nLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHBhZGRpbmcgZm9yIGBzdHJpbmdgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVBhZGRpbmcobGVuZ3RoLCBjaGFycykge1xuICAgICAgY2hhcnMgPSBjaGFycyA9PT0gdW5kZWZpbmVkID8gJyAnIDogYmFzZVRvU3RyaW5nKGNoYXJzKTtcblxuICAgICAgdmFyIGNoYXJzTGVuZ3RoID0gY2hhcnMubGVuZ3RoO1xuICAgICAgaWYgKGNoYXJzTGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gY2hhcnNMZW5ndGggPyBiYXNlUmVwZWF0KGNoYXJzLCBsZW5ndGgpIDogY2hhcnM7XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gYmFzZVJlcGVhdChjaGFycywgbmF0aXZlQ2VpbChsZW5ndGggLyBzdHJpbmdTaXplKGNoYXJzKSkpO1xuICAgICAgcmV0dXJuIGhhc1VuaWNvZGUoY2hhcnMpXG4gICAgICAgID8gY2FzdFNsaWNlKHN0cmluZ1RvQXJyYXkocmVzdWx0KSwgMCwgbGVuZ3RoKS5qb2luKCcnKVxuICAgICAgICA6IHJlc3VsdC5zbGljZSgwLCBsZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHdyYXBzIGBmdW5jYCB0byBpbnZva2UgaXQgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmdcbiAgICAgKiBvZiBgdGhpc0FyZ2AgYW5kIGBwYXJ0aWFsc2AgcHJlcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgY3JlYXRlV3JhcGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQgdG9cbiAgICAgKiAgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyB3cmFwcGVkIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVBhcnRpYWwoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMpIHtcbiAgICAgIHZhciBpc0JpbmQgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcsXG4gICAgICAgICAgQ3RvciA9IGNyZWF0ZUN0b3IoZnVuYyk7XG5cbiAgICAgIGZ1bmN0aW9uIHdyYXBwZXIoKSB7XG4gICAgICAgIHZhciBhcmdzSW5kZXggPSAtMSxcbiAgICAgICAgICAgIGFyZ3NMZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoLFxuICAgICAgICAgICAgbGVmdEluZGV4ID0gLTEsXG4gICAgICAgICAgICBsZWZ0TGVuZ3RoID0gcGFydGlhbHMubGVuZ3RoLFxuICAgICAgICAgICAgYXJncyA9IEFycmF5KGxlZnRMZW5ndGggKyBhcmdzTGVuZ3RoKSxcbiAgICAgICAgICAgIGZuID0gKHRoaXMgJiYgdGhpcyAhPT0gcm9vdCAmJiB0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcikgPyBDdG9yIDogZnVuYztcblxuICAgICAgICB3aGlsZSAoKytsZWZ0SW5kZXggPCBsZWZ0TGVuZ3RoKSB7XG4gICAgICAgICAgYXJnc1tsZWZ0SW5kZXhdID0gcGFydGlhbHNbbGVmdEluZGV4XTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoYXJnc0xlbmd0aC0tKSB7XG4gICAgICAgICAgYXJnc1tsZWZ0SW5kZXgrK10gPSBhcmd1bWVudHNbKythcmdzSW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcHBseShmbiwgaXNCaW5kID8gdGhpc0FyZyA6IHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLnJhbmdlYCBvciBgXy5yYW5nZVJpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmFuZ2UgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmFuZ2UoZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oc3RhcnQsIGVuZCwgc3RlcCkge1xuICAgICAgICBpZiAoc3RlcCAmJiB0eXBlb2Ygc3RlcCAhPSAnbnVtYmVyJyAmJiBpc0l0ZXJhdGVlQ2FsbChzdGFydCwgZW5kLCBzdGVwKSkge1xuICAgICAgICAgIGVuZCA9IHN0ZXAgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRW5zdXJlIHRoZSBzaWduIG9mIGAtMGAgaXMgcHJlc2VydmVkLlxuICAgICAgICBzdGFydCA9IHRvRmluaXRlKHN0YXJ0KTtcbiAgICAgICAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZW5kID0gc3RhcnQ7XG4gICAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVuZCA9IHRvRmluaXRlKGVuZCk7XG4gICAgICAgIH1cbiAgICAgICAgc3RlcCA9IHN0ZXAgPT09IHVuZGVmaW5lZCA/IChzdGFydCA8IGVuZCA/IDEgOiAtMSkgOiB0b0Zpbml0ZShzdGVwKTtcbiAgICAgICAgcmV0dXJuIGJhc2VSYW5nZShzdGFydCwgZW5kLCBzdGVwLCBmcm9tUmlnaHQpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwZXJmb3JtcyBhIHJlbGF0aW9uYWwgb3BlcmF0aW9uIG9uIHR3byB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wZXJhdG9yIFRoZSBmdW5jdGlvbiB0byBwZXJmb3JtIHRoZSBvcGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVsYXRpb25hbCBvcGVyYXRpb24gZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihvcGVyYXRvcikge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICBpZiAoISh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgJiYgdHlwZW9mIG90aGVyID09ICdzdHJpbmcnKSkge1xuICAgICAgICAgIHZhbHVlID0gdG9OdW1iZXIodmFsdWUpO1xuICAgICAgICAgIG90aGVyID0gdG9OdW1iZXIob3RoZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcGVyYXRvcih2YWx1ZSwgb3RoZXIpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCB3cmFwcyBgZnVuY2AgdG8gY29udGludWUgY3VycnlpbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgY3JlYXRlV3JhcGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB3cmFwRnVuYyBUaGUgZnVuY3Rpb24gdG8gY3JlYXRlIHRoZSBgZnVuY2Agd3JhcHBlci5cbiAgICAgKiBAcGFyYW0geyp9IHBsYWNlaG9sZGVyIFRoZSBwbGFjZWhvbGRlciB2YWx1ZS5cbiAgICAgKiBAcGFyYW0geyp9IFt0aGlzQXJnXSBUaGUgYHRoaXNgIGJpbmRpbmcgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBwcmVwZW5kIHRvIHRob3NlIHByb3ZpZGVkIHRvXG4gICAgICogIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2hvbGRlcnNdIFRoZSBgcGFydGlhbHNgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2FyZ1Bvc10gVGhlIGFyZ3VtZW50IHBvc2l0aW9ucyBvZiB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJ5XSBUaGUgYXJpdHkgY2FwIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5XSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmVjdXJyeShmdW5jLCBiaXRtYXNrLCB3cmFwRnVuYywgcGxhY2Vob2xkZXIsIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBhcmdQb3MsIGFyeSwgYXJpdHkpIHtcbiAgICAgIHZhciBpc0N1cnJ5ID0gYml0bWFzayAmIFdSQVBfQ1VSUllfRkxBRyxcbiAgICAgICAgICBuZXdIb2xkZXJzID0gaXNDdXJyeSA/IGhvbGRlcnMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3SG9sZGVyc1JpZ2h0ID0gaXNDdXJyeSA/IHVuZGVmaW5lZCA6IGhvbGRlcnMsXG4gICAgICAgICAgbmV3UGFydGlhbHMgPSBpc0N1cnJ5ID8gcGFydGlhbHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3UGFydGlhbHNSaWdodCA9IGlzQ3VycnkgPyB1bmRlZmluZWQgOiBwYXJ0aWFscztcblxuICAgICAgYml0bWFzayB8PSAoaXNDdXJyeSA/IFdSQVBfUEFSVElBTF9GTEFHIDogV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcpO1xuICAgICAgYml0bWFzayAmPSB+KGlzQ3VycnkgPyBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyA6IFdSQVBfUEFSVElBTF9GTEFHKTtcblxuICAgICAgaWYgKCEoYml0bWFzayAmIFdSQVBfQ1VSUllfQk9VTkRfRkxBRykpIHtcbiAgICAgICAgYml0bWFzayAmPSB+KFdSQVBfQklORF9GTEFHIHwgV1JBUF9CSU5EX0tFWV9GTEFHKTtcbiAgICAgIH1cbiAgICAgIHZhciBuZXdEYXRhID0gW1xuICAgICAgICBmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBuZXdQYXJ0aWFscywgbmV3SG9sZGVycywgbmV3UGFydGlhbHNSaWdodCxcbiAgICAgICAgbmV3SG9sZGVyc1JpZ2h0LCBhcmdQb3MsIGFyeSwgYXJpdHlcbiAgICAgIF07XG5cbiAgICAgIHZhciByZXN1bHQgPSB3cmFwRnVuYy5hcHBseSh1bmRlZmluZWQsIG5ld0RhdGEpO1xuICAgICAgaWYgKGlzTGF6aWFibGUoZnVuYykpIHtcbiAgICAgICAgc2V0RGF0YShyZXN1bHQsIG5ld0RhdGEpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICByZXR1cm4gc2V0V3JhcFRvU3RyaW5nKHJlc3VsdCwgZnVuYywgYml0bWFzayk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8ucm91bmRgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSBUaGUgbmFtZSBvZiB0aGUgYE1hdGhgIG1ldGhvZCB0byB1c2Ugd2hlbiByb3VuZGluZy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByb3VuZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVSb3VuZChtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgZnVuYyA9IE1hdGhbbWV0aG9kTmFtZV07XG4gICAgICByZXR1cm4gZnVuY3Rpb24obnVtYmVyLCBwcmVjaXNpb24pIHtcbiAgICAgICAgbnVtYmVyID0gdG9OdW1iZXIobnVtYmVyKTtcbiAgICAgICAgcHJlY2lzaW9uID0gcHJlY2lzaW9uID09IG51bGwgPyAwIDogbmF0aXZlTWluKHRvSW50ZWdlcihwcmVjaXNpb24pLCAyOTIpO1xuICAgICAgICBpZiAocHJlY2lzaW9uICYmIG5hdGl2ZUlzRmluaXRlKG51bWJlcikpIHtcbiAgICAgICAgICAvLyBTaGlmdCB3aXRoIGV4cG9uZW50aWFsIG5vdGF0aW9uIHRvIGF2b2lkIGZsb2F0aW5nLXBvaW50IGlzc3Vlcy5cbiAgICAgICAgICAvLyBTZWUgW01ETl0oaHR0cHM6Ly9tZG4uaW8vcm91bmQjRXhhbXBsZXMpIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICAgICAgdmFyIHBhaXIgPSAodG9TdHJpbmcobnVtYmVyKSArICdlJykuc3BsaXQoJ2UnKSxcbiAgICAgICAgICAgICAgdmFsdWUgPSBmdW5jKHBhaXJbMF0gKyAnZScgKyAoK3BhaXJbMV0gKyBwcmVjaXNpb24pKTtcblxuICAgICAgICAgIHBhaXIgPSAodG9TdHJpbmcodmFsdWUpICsgJ2UnKS5zcGxpdCgnZScpO1xuICAgICAgICAgIHJldHVybiArKHBhaXJbMF0gKyAnZScgKyAoK3BhaXJbMV0gLSBwcmVjaXNpb24pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuYyhudW1iZXIpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2V0IG9iamVjdCBvZiBgdmFsdWVzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYWRkIHRvIHRoZSBzZXQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IHNldC5cbiAgICAgKi9cbiAgICB2YXIgY3JlYXRlU2V0ID0gIShTZXQgJiYgKDEgLyBzZXRUb0FycmF5KG5ldyBTZXQoWywtMF0pKVsxXSkgPT0gSU5GSU5JVFkpID8gbm9vcCA6IGZ1bmN0aW9uKHZhbHVlcykge1xuICAgICAgcmV0dXJuIG5ldyBTZXQodmFsdWVzKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLnRvUGFpcnNgIG9yIGBfLnRvUGFpcnNJbmAgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGtleXNGdW5jIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIGtleXMgb2YgYSBnaXZlbiBvYmplY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFpcnMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlVG9QYWlycyhrZXlzRnVuYykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKG9iamVjdCk7XG4gICAgICAgIGlmICh0YWcgPT0gbWFwVGFnKSB7XG4gICAgICAgICAgcmV0dXJuIG1hcFRvQXJyYXkob2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFnID09IHNldFRhZykge1xuICAgICAgICAgIHJldHVybiBzZXRUb1BhaXJzKG9iamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJhc2VUb1BhaXJzKG9iamVjdCwga2V5c0Z1bmMob2JqZWN0KSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGVpdGhlciBjdXJyaWVzIG9yIGludm9rZXMgYGZ1bmNgIHdpdGggb3B0aW9uYWxcbiAgICAgKiBgdGhpc2AgYmluZGluZyBhbmQgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gZnVuYyBUaGUgZnVuY3Rpb24gb3IgbWV0aG9kIG5hbWUgdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy5cbiAgICAgKiAgICAxIC0gYF8uYmluZGBcbiAgICAgKiAgICAyIC0gYF8uYmluZEtleWBcbiAgICAgKiAgICA0IC0gYF8uY3VycnlgIG9yIGBfLmN1cnJ5UmlnaHRgIG9mIGEgYm91bmQgZnVuY3Rpb25cbiAgICAgKiAgICA4IC0gYF8uY3VycnlgXG4gICAgICogICAxNiAtIGBfLmN1cnJ5UmlnaHRgXG4gICAgICogICAzMiAtIGBfLnBhcnRpYWxgXG4gICAgICogICA2NCAtIGBfLnBhcnRpYWxSaWdodGBcbiAgICAgKiAgMTI4IC0gYF8ucmVhcmdgXG4gICAgICogIDI1NiAtIGBfLmFyeWBcbiAgICAgKiAgNTEyIC0gYF8uZmxpcGBcbiAgICAgKiBAcGFyYW0geyp9IFt0aGlzQXJnXSBUaGUgYHRoaXNgIGJpbmRpbmcgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBiZSBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc10gVGhlIGBwYXJ0aWFsc2AgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbYXJnUG9zXSBUaGUgYXJndW1lbnQgcG9zaXRpb25zIG9mIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcnldIFRoZSBhcml0eSBjYXAgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJpdHldIFRoZSBhcml0eSBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVXcmFwKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBhcmdQb3MsIGFyeSwgYXJpdHkpIHtcbiAgICAgIHZhciBpc0JpbmRLZXkgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0tFWV9GTEFHO1xuICAgICAgaWYgKCFpc0JpbmRLZXkgJiYgdHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gcGFydGlhbHMgPyBwYXJ0aWFscy5sZW5ndGggOiAwO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgYml0bWFzayAmPSB+KFdSQVBfUEFSVElBTF9GTEFHIHwgV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcpO1xuICAgICAgICBwYXJ0aWFscyA9IGhvbGRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBhcnkgPSBhcnkgPT09IHVuZGVmaW5lZCA/IGFyeSA6IG5hdGl2ZU1heCh0b0ludGVnZXIoYXJ5KSwgMCk7XG4gICAgICBhcml0eSA9IGFyaXR5ID09PSB1bmRlZmluZWQgPyBhcml0eSA6IHRvSW50ZWdlcihhcml0eSk7XG4gICAgICBsZW5ndGggLT0gaG9sZGVycyA/IGhvbGRlcnMubGVuZ3RoIDogMDtcblxuICAgICAgaWYgKGJpdG1hc2sgJiBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRykge1xuICAgICAgICB2YXIgcGFydGlhbHNSaWdodCA9IHBhcnRpYWxzLFxuICAgICAgICAgICAgaG9sZGVyc1JpZ2h0ID0gaG9sZGVycztcblxuICAgICAgICBwYXJ0aWFscyA9IGhvbGRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB2YXIgZGF0YSA9IGlzQmluZEtleSA/IHVuZGVmaW5lZCA6IGdldERhdGEoZnVuYyk7XG5cbiAgICAgIHZhciBuZXdEYXRhID0gW1xuICAgICAgICBmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBwYXJ0aWFscywgaG9sZGVycywgcGFydGlhbHNSaWdodCwgaG9sZGVyc1JpZ2h0LFxuICAgICAgICBhcmdQb3MsIGFyeSwgYXJpdHlcbiAgICAgIF07XG5cbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIG1lcmdlRGF0YShuZXdEYXRhLCBkYXRhKTtcbiAgICAgIH1cbiAgICAgIGZ1bmMgPSBuZXdEYXRhWzBdO1xuICAgICAgYml0bWFzayA9IG5ld0RhdGFbMV07XG4gICAgICB0aGlzQXJnID0gbmV3RGF0YVsyXTtcbiAgICAgIHBhcnRpYWxzID0gbmV3RGF0YVszXTtcbiAgICAgIGhvbGRlcnMgPSBuZXdEYXRhWzRdO1xuICAgICAgYXJpdHkgPSBuZXdEYXRhWzldID0gbmV3RGF0YVs5XSA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gKGlzQmluZEtleSA/IDAgOiBmdW5jLmxlbmd0aClcbiAgICAgICAgOiBuYXRpdmVNYXgobmV3RGF0YVs5XSAtIGxlbmd0aCwgMCk7XG5cbiAgICAgIGlmICghYXJpdHkgJiYgYml0bWFzayAmIChXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpKSB7XG4gICAgICAgIGJpdG1hc2sgJj0gfihXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpO1xuICAgICAgfVxuICAgICAgaWYgKCFiaXRtYXNrIHx8IGJpdG1hc2sgPT0gV1JBUF9CSU5EX0ZMQUcpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNyZWF0ZUJpbmQoZnVuYywgYml0bWFzaywgdGhpc0FyZyk7XG4gICAgICB9IGVsc2UgaWYgKGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHIHx8IGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9SSUdIVF9GTEFHKSB7XG4gICAgICAgIHJlc3VsdCA9IGNyZWF0ZUN1cnJ5KGZ1bmMsIGJpdG1hc2ssIGFyaXR5KTtcbiAgICAgIH0gZWxzZSBpZiAoKGJpdG1hc2sgPT0gV1JBUF9QQVJUSUFMX0ZMQUcgfHwgYml0bWFzayA9PSAoV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX1BBUlRJQUxfRkxBRykpICYmICFob2xkZXJzLmxlbmd0aCkge1xuICAgICAgICByZXN1bHQgPSBjcmVhdGVQYXJ0aWFsKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGNyZWF0ZUh5YnJpZC5hcHBseSh1bmRlZmluZWQsIG5ld0RhdGEpO1xuICAgICAgfVxuICAgICAgdmFyIHNldHRlciA9IGRhdGEgPyBiYXNlU2V0RGF0YSA6IHNldERhdGE7XG4gICAgICByZXR1cm4gc2V0V3JhcFRvU3RyaW5nKHNldHRlcihyZXN1bHQsIG5ld0RhdGEpLCBmdW5jLCBiaXRtYXNrKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGJ5IGBfLmRlZmF1bHRzYCB0byBjdXN0b21pemUgaXRzIGBfLmFzc2lnbkluYCB1c2UgdG8gYXNzaWduIHByb3BlcnRpZXNcbiAgICAgKiBvZiBzb3VyY2Ugb2JqZWN0cyB0byB0aGUgZGVzdGluYXRpb24gb2JqZWN0IGZvciBhbGwgZGVzdGluYXRpb24gcHJvcGVydGllc1xuICAgICAqIHRoYXQgcmVzb2x2ZSB0byBgdW5kZWZpbmVkYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSBvYmpWYWx1ZSBUaGUgZGVzdGluYXRpb24gdmFsdWUuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgc291cmNlIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHBhcmVudCBvYmplY3Qgb2YgYG9ialZhbHVlYC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgdmFsdWUgdG8gYXNzaWduLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGN1c3RvbURlZmF1bHRzQXNzaWduSW4ob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCkge1xuICAgICAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAoZXEob2JqVmFsdWUsIG9iamVjdFByb3RvW2tleV0pICYmICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpIHtcbiAgICAgICAgcmV0dXJuIHNyY1ZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9ialZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgYnkgYF8uZGVmYXVsdHNEZWVwYCB0byBjdXN0b21pemUgaXRzIGBfLm1lcmdlYCB1c2UgdG8gbWVyZ2Ugc291cmNlXG4gICAgICogb2JqZWN0cyBpbnRvIGRlc3RpbmF0aW9uIG9iamVjdHMgdGhhdCBhcmUgcGFzc2VkIHRocnUuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gb2JqVmFsdWUgVGhlIGRlc3RpbmF0aW9uIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7Kn0gc3JjVmFsdWUgVGhlIHNvdXJjZSB2YWx1ZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIG1lcmdlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHBhcmVudCBvYmplY3Qgb2YgYG9ialZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBwYXJlbnQgb2JqZWN0IG9mIGBzcmNWYWx1ZWAuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtzdGFja10gVHJhY2tzIHRyYXZlcnNlZCBzb3VyY2UgdmFsdWVzIGFuZCB0aGVpciBtZXJnZWRcbiAgICAgKiAgY291bnRlcnBhcnRzLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3VzdG9tRGVmYXVsdHNNZXJnZShvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKSB7XG4gICAgICBpZiAoaXNPYmplY3Qob2JqVmFsdWUpICYmIGlzT2JqZWN0KHNyY1ZhbHVlKSkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBtZXJnZSBvYmplY3RzIGFuZCBhcnJheXMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgc3RhY2suc2V0KHNyY1ZhbHVlLCBvYmpWYWx1ZSk7XG4gICAgICAgIGJhc2VNZXJnZShvYmpWYWx1ZSwgc3JjVmFsdWUsIHVuZGVmaW5lZCwgY3VzdG9tRGVmYXVsdHNNZXJnZSwgc3RhY2spO1xuICAgICAgICBzdGFja1snZGVsZXRlJ10oc3JjVmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9ialZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgYnkgYF8ub21pdGAgdG8gY3VzdG9taXplIGl0cyBgXy5jbG9uZURlZXBgIHVzZSB0byBvbmx5IGNsb25lIHBsYWluXG4gICAgICogb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHVuY2xvbmVkIHZhbHVlIG9yIGB1bmRlZmluZWRgIHRvIGRlZmVyIGNsb25pbmcgdG8gYF8uY2xvbmVEZWVwYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjdXN0b21PbWl0Q2xvbmUodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc1BsYWluT2JqZWN0KHZhbHVlKSA/IHVuZGVmaW5lZCA6IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxEZWVwYCBmb3IgYXJyYXlzIHdpdGggc3VwcG9ydCBmb3JcbiAgICAgKiBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IG90aGVyIFRoZSBvdGhlciBhcnJheSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGJhc2VJc0VxdWFsYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGN1c3RvbWl6ZXIgVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBlcXVhbEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRldGVybWluZSBlcXVpdmFsZW50cyBvZiB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHN0YWNrIFRyYWNrcyB0cmF2ZXJzZWQgYGFycmF5YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYXJyYXlzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXF1YWxBcnJheXMoYXJyYXksIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHLFxuICAgICAgICAgIGFyckxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBvdGhMZW5ndGggPSBvdGhlci5sZW5ndGg7XG5cbiAgICAgIGlmIChhcnJMZW5ndGggIT0gb3RoTGVuZ3RoICYmICEoaXNQYXJ0aWFsICYmIG90aExlbmd0aCA+IGFyckxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gQ2hlY2sgdGhhdCBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgICAgIHZhciBhcnJTdGFja2VkID0gc3RhY2suZ2V0KGFycmF5KTtcbiAgICAgIHZhciBvdGhTdGFja2VkID0gc3RhY2suZ2V0KG90aGVyKTtcbiAgICAgIGlmIChhcnJTdGFja2VkICYmIG90aFN0YWNrZWQpIHtcbiAgICAgICAgcmV0dXJuIGFyclN0YWNrZWQgPT0gb3RoZXIgJiYgb3RoU3RhY2tlZCA9PSBhcnJheTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIHJlc3VsdCA9IHRydWUsXG4gICAgICAgICAgc2VlbiA9IChiaXRtYXNrICYgQ09NUEFSRV9VTk9SREVSRURfRkxBRykgPyBuZXcgU2V0Q2FjaGUgOiB1bmRlZmluZWQ7XG5cbiAgICAgIHN0YWNrLnNldChhcnJheSwgb3RoZXIpO1xuICAgICAgc3RhY2suc2V0KG90aGVyLCBhcnJheSk7XG5cbiAgICAgIC8vIElnbm9yZSBub24taW5kZXggcHJvcGVydGllcy5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgYXJyTGVuZ3RoKSB7XG4gICAgICAgIHZhciBhcnJWYWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIG90aFZhbHVlID0gb3RoZXJbaW5kZXhdO1xuXG4gICAgICAgIGlmIChjdXN0b21pemVyKSB7XG4gICAgICAgICAgdmFyIGNvbXBhcmVkID0gaXNQYXJ0aWFsXG4gICAgICAgICAgICA/IGN1c3RvbWl6ZXIob3RoVmFsdWUsIGFyclZhbHVlLCBpbmRleCwgb3RoZXIsIGFycmF5LCBzdGFjaylcbiAgICAgICAgICAgIDogY3VzdG9taXplcihhcnJWYWx1ZSwgb3RoVmFsdWUsIGluZGV4LCBhcnJheSwgb3RoZXIsIHN0YWNrKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29tcGFyZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChjb21wYXJlZCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGNvbXBhcmUgYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgIGlmIChzZWVuKSB7XG4gICAgICAgICAgaWYgKCFhcnJheVNvbWUob3RoZXIsIGZ1bmN0aW9uKG90aFZhbHVlLCBvdGhJbmRleCkge1xuICAgICAgICAgICAgICAgIGlmICghY2FjaGVIYXMoc2Vlbiwgb3RoSW5kZXgpICYmXG4gICAgICAgICAgICAgICAgICAgIChhcnJWYWx1ZSA9PT0gb3RoVmFsdWUgfHwgZXF1YWxGdW5jKGFyclZhbHVlLCBvdGhWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlZW4ucHVzaChvdGhJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoIShcbiAgICAgICAgICAgICAgYXJyVmFsdWUgPT09IG90aFZhbHVlIHx8XG4gICAgICAgICAgICAgICAgZXF1YWxGdW5jKGFyclZhbHVlLCBvdGhWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN0YWNrWydkZWxldGUnXShhcnJheSk7XG4gICAgICBzdGFja1snZGVsZXRlJ10ob3RoZXIpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VJc0VxdWFsRGVlcGAgZm9yIGNvbXBhcmluZyBvYmplY3RzIG9mXG4gICAgICogdGhlIHNhbWUgYHRvU3RyaW5nVGFnYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIGZ1bmN0aW9uIG9ubHkgc3VwcG9ydHMgY29tcGFyaW5nIHZhbHVlcyB3aXRoIHRhZ3Mgb2ZcbiAgICAgKiBgQm9vbGVhbmAsIGBEYXRlYCwgYEVycm9yYCwgYE51bWJlcmAsIGBSZWdFeHBgLCBvciBgU3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBgdG9TdHJpbmdUYWdgIG9mIHRoZSBvYmplY3RzIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc3RhY2sgVHJhY2tzIHRyYXZlcnNlZCBgb2JqZWN0YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgb2JqZWN0cyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVxdWFsQnlUYWcob2JqZWN0LCBvdGhlciwgdGFnLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgICBjYXNlIGRhdGFWaWV3VGFnOlxuICAgICAgICAgIGlmICgob2JqZWN0LmJ5dGVMZW5ndGggIT0gb3RoZXIuYnl0ZUxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgKG9iamVjdC5ieXRlT2Zmc2V0ICE9IG90aGVyLmJ5dGVPZmZzZXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9iamVjdCA9IG9iamVjdC5idWZmZXI7XG4gICAgICAgICAgb3RoZXIgPSBvdGhlci5idWZmZXI7XG5cbiAgICAgICAgY2FzZSBhcnJheUJ1ZmZlclRhZzpcbiAgICAgICAgICBpZiAoKG9iamVjdC5ieXRlTGVuZ3RoICE9IG90aGVyLmJ5dGVMZW5ndGgpIHx8XG4gICAgICAgICAgICAgICFlcXVhbEZ1bmMobmV3IFVpbnQ4QXJyYXkob2JqZWN0KSwgbmV3IFVpbnQ4QXJyYXkob3RoZXIpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBjYXNlIGJvb2xUYWc6XG4gICAgICAgIGNhc2UgZGF0ZVRhZzpcbiAgICAgICAgY2FzZSBudW1iZXJUYWc6XG4gICAgICAgICAgLy8gQ29lcmNlIGJvb2xlYW5zIHRvIGAxYCBvciBgMGAgYW5kIGRhdGVzIHRvIG1pbGxpc2Vjb25kcy5cbiAgICAgICAgICAvLyBJbnZhbGlkIGRhdGVzIGFyZSBjb2VyY2VkIHRvIGBOYU5gLlxuICAgICAgICAgIHJldHVybiBlcSgrb2JqZWN0LCArb3RoZXIpO1xuXG4gICAgICAgIGNhc2UgZXJyb3JUYWc6XG4gICAgICAgICAgcmV0dXJuIG9iamVjdC5uYW1lID09IG90aGVyLm5hbWUgJiYgb2JqZWN0Lm1lc3NhZ2UgPT0gb3RoZXIubWVzc2FnZTtcblxuICAgICAgICBjYXNlIHJlZ2V4cFRhZzpcbiAgICAgICAgY2FzZSBzdHJpbmdUYWc6XG4gICAgICAgICAgLy8gQ29lcmNlIHJlZ2V4ZXMgdG8gc3RyaW5ncyBhbmQgdHJlYXQgc3RyaW5ncywgcHJpbWl0aXZlcyBhbmQgb2JqZWN0cyxcbiAgICAgICAgICAvLyBhcyBlcXVhbC4gU2VlIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1yZWdleHAucHJvdG90eXBlLnRvc3RyaW5nXG4gICAgICAgICAgLy8gZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IChvdGhlciArICcnKTtcblxuICAgICAgICBjYXNlIG1hcFRhZzpcbiAgICAgICAgICB2YXIgY29udmVydCA9IG1hcFRvQXJyYXk7XG5cbiAgICAgICAgY2FzZSBzZXRUYWc6XG4gICAgICAgICAgdmFyIGlzUGFydGlhbCA9IGJpdG1hc2sgJiBDT01QQVJFX1BBUlRJQUxfRkxBRztcbiAgICAgICAgICBjb252ZXJ0IHx8IChjb252ZXJ0ID0gc2V0VG9BcnJheSk7XG5cbiAgICAgICAgICBpZiAob2JqZWN0LnNpemUgIT0gb3RoZXIuc2l6ZSAmJiAhaXNQYXJ0aWFsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFzc3VtZSBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgICAgICAgICB2YXIgc3RhY2tlZCA9IHN0YWNrLmdldChvYmplY3QpO1xuICAgICAgICAgIGlmIChzdGFja2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RhY2tlZCA9PSBvdGhlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgYml0bWFzayB8PSBDT01QQVJFX1VOT1JERVJFRF9GTEFHO1xuXG4gICAgICAgICAgLy8gUmVjdXJzaXZlbHkgY29tcGFyZSBvYmplY3RzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgICAgc3RhY2suc2V0KG9iamVjdCwgb3RoZXIpO1xuICAgICAgICAgIHZhciByZXN1bHQgPSBlcXVhbEFycmF5cyhjb252ZXJ0KG9iamVjdCksIGNvbnZlcnQob3RoZXIpLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKTtcbiAgICAgICAgICBzdGFja1snZGVsZXRlJ10ob2JqZWN0KTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuXG4gICAgICAgIGNhc2Ugc3ltYm9sVGFnOlxuICAgICAgICAgIGlmIChzeW1ib2xWYWx1ZU9mKSB7XG4gICAgICAgICAgICByZXR1cm4gc3ltYm9sVmFsdWVPZi5jYWxsKG9iamVjdCkgPT0gc3ltYm9sVmFsdWVPZi5jYWxsKG90aGVyKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlSXNFcXVhbERlZXBgIGZvciBvYmplY3RzIHdpdGggc3VwcG9ydCBmb3JcbiAgICAgKiBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvdGhlciBUaGUgb3RoZXIgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc3RhY2sgVHJhY2tzIHRyYXZlcnNlZCBgb2JqZWN0YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgb2JqZWN0cyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVxdWFsT2JqZWN0cyhvYmplY3QsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHLFxuICAgICAgICAgIG9ialByb3BzID0gZ2V0QWxsS2V5cyhvYmplY3QpLFxuICAgICAgICAgIG9iakxlbmd0aCA9IG9ialByb3BzLmxlbmd0aCxcbiAgICAgICAgICBvdGhQcm9wcyA9IGdldEFsbEtleXMob3RoZXIpLFxuICAgICAgICAgIG90aExlbmd0aCA9IG90aFByb3BzLmxlbmd0aDtcblxuICAgICAgaWYgKG9iakxlbmd0aCAhPSBvdGhMZW5ndGggJiYgIWlzUGFydGlhbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBvYmpMZW5ndGg7XG4gICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICB2YXIga2V5ID0gb2JqUHJvcHNbaW5kZXhdO1xuICAgICAgICBpZiAoIShpc1BhcnRpYWwgPyBrZXkgaW4gb3RoZXIgOiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCBrZXkpKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQ2hlY2sgdGhhdCBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgICAgIHZhciBvYmpTdGFja2VkID0gc3RhY2suZ2V0KG9iamVjdCk7XG4gICAgICB2YXIgb3RoU3RhY2tlZCA9IHN0YWNrLmdldChvdGhlcik7XG4gICAgICBpZiAob2JqU3RhY2tlZCAmJiBvdGhTdGFja2VkKSB7XG4gICAgICAgIHJldHVybiBvYmpTdGFja2VkID09IG90aGVyICYmIG90aFN0YWNrZWQgPT0gb2JqZWN0O1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IHRydWU7XG4gICAgICBzdGFjay5zZXQob2JqZWN0LCBvdGhlcik7XG4gICAgICBzdGFjay5zZXQob3RoZXIsIG9iamVjdCk7XG5cbiAgICAgIHZhciBza2lwQ3RvciA9IGlzUGFydGlhbDtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgb2JqTGVuZ3RoKSB7XG4gICAgICAgIGtleSA9IG9ialByb3BzW2luZGV4XTtcbiAgICAgICAgdmFyIG9ialZhbHVlID0gb2JqZWN0W2tleV0sXG4gICAgICAgICAgICBvdGhWYWx1ZSA9IG90aGVyW2tleV07XG5cbiAgICAgICAgaWYgKGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICB2YXIgY29tcGFyZWQgPSBpc1BhcnRpYWxcbiAgICAgICAgICAgID8gY3VzdG9taXplcihvdGhWYWx1ZSwgb2JqVmFsdWUsIGtleSwgb3RoZXIsIG9iamVjdCwgc3RhY2spXG4gICAgICAgICAgICA6IGN1c3RvbWl6ZXIob2JqVmFsdWUsIG90aFZhbHVlLCBrZXksIG9iamVjdCwgb3RoZXIsIHN0YWNrKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZWN1cnNpdmVseSBjb21wYXJlIG9iamVjdHMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgaWYgKCEoY29tcGFyZWQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICA/IChvYmpWYWx1ZSA9PT0gb3RoVmFsdWUgfHwgZXF1YWxGdW5jKG9ialZhbHVlLCBvdGhWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spKVxuICAgICAgICAgICAgICA6IGNvbXBhcmVkXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgc2tpcEN0b3IgfHwgKHNraXBDdG9yID0ga2V5ID09ICdjb25zdHJ1Y3RvcicpO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdCAmJiAhc2tpcEN0b3IpIHtcbiAgICAgICAgdmFyIG9iakN0b3IgPSBvYmplY3QuY29uc3RydWN0b3IsXG4gICAgICAgICAgICBvdGhDdG9yID0gb3RoZXIuY29uc3RydWN0b3I7XG5cbiAgICAgICAgLy8gTm9uIGBPYmplY3RgIG9iamVjdCBpbnN0YW5jZXMgd2l0aCBkaWZmZXJlbnQgY29uc3RydWN0b3JzIGFyZSBub3QgZXF1YWwuXG4gICAgICAgIGlmIChvYmpDdG9yICE9IG90aEN0b3IgJiZcbiAgICAgICAgICAgICgnY29uc3RydWN0b3InIGluIG9iamVjdCAmJiAnY29uc3RydWN0b3InIGluIG90aGVyKSAmJlxuICAgICAgICAgICAgISh0eXBlb2Ygb2JqQ3RvciA9PSAnZnVuY3Rpb24nICYmIG9iakN0b3IgaW5zdGFuY2VvZiBvYmpDdG9yICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBvdGhDdG9yID09ICdmdW5jdGlvbicgJiYgb3RoQ3RvciBpbnN0YW5jZW9mIG90aEN0b3IpKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN0YWNrWydkZWxldGUnXShvYmplY3QpO1xuICAgICAgc3RhY2tbJ2RlbGV0ZSddKG90aGVyKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlUmVzdGAgd2hpY2ggZmxhdHRlbnMgdGhlIHJlc3QgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdFJlc3QoZnVuYykge1xuICAgICAgcmV0dXJuIHNldFRvU3RyaW5nKG92ZXJSZXN0KGZ1bmMsIHVuZGVmaW5lZCwgZmxhdHRlbiksIGZ1bmMgKyAnJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBhbmQgc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgYW5kIHN5bWJvbHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0QWxsS2V5cyhvYmplY3QpIHtcbiAgICAgIHJldHVybiBiYXNlR2V0QWxsS2V5cyhvYmplY3QsIGtleXMsIGdldFN5bWJvbHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBhbmRcbiAgICAgKiBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyBhbmQgc3ltYm9scy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRBbGxLZXlzSW4ob2JqZWN0KSB7XG4gICAgICByZXR1cm4gYmFzZUdldEFsbEtleXMob2JqZWN0LCBrZXlzSW4sIGdldFN5bWJvbHNJbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBtZXRhZGF0YSBmb3IgYGZ1bmNgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWV0YWRhdGEgZm9yIGBmdW5jYC5cbiAgICAgKi9cbiAgICB2YXIgZ2V0RGF0YSA9ICFtZXRhTWFwID8gbm9vcCA6IGZ1bmN0aW9uKGZ1bmMpIHtcbiAgICAgIHJldHVybiBtZXRhTWFwLmdldChmdW5jKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbmFtZSBvZiBgZnVuY2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGZ1bmN0aW9uIG5hbWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0RnVuY05hbWUoZnVuYykge1xuICAgICAgdmFyIHJlc3VsdCA9IChmdW5jLm5hbWUgKyAnJyksXG4gICAgICAgICAgYXJyYXkgPSByZWFsTmFtZXNbcmVzdWx0XSxcbiAgICAgICAgICBsZW5ndGggPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHJlYWxOYW1lcywgcmVzdWx0KSA/IGFycmF5Lmxlbmd0aCA6IDA7XG5cbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICB2YXIgZGF0YSA9IGFycmF5W2xlbmd0aF0sXG4gICAgICAgICAgICBvdGhlckZ1bmMgPSBkYXRhLmZ1bmM7XG4gICAgICAgIGlmIChvdGhlckZ1bmMgPT0gbnVsbCB8fCBvdGhlckZ1bmMgPT0gZnVuYykge1xuICAgICAgICAgIHJldHVybiBkYXRhLm5hbWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYXJndW1lbnQgcGxhY2Vob2xkZXIgdmFsdWUgZm9yIGBmdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0SG9sZGVyKGZ1bmMpIHtcbiAgICAgIHZhciBvYmplY3QgPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKGxvZGFzaCwgJ3BsYWNlaG9sZGVyJykgPyBsb2Rhc2ggOiBmdW5jO1xuICAgICAgcmV0dXJuIG9iamVjdC5wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBhcHByb3ByaWF0ZSBcIml0ZXJhdGVlXCIgZnVuY3Rpb24uIElmIGBfLml0ZXJhdGVlYCBpcyBjdXN0b21pemVkLFxuICAgICAqIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VzdG9tIG1ldGhvZCwgb3RoZXJ3aXNlIGl0IHJldHVybnMgYGJhc2VJdGVyYXRlZWAuXG4gICAgICogSWYgYXJndW1lbnRzIGFyZSBwcm92aWRlZCwgdGhlIGNob3NlbiBmdW5jdGlvbiBpcyBpbnZva2VkIHdpdGggdGhlbSBhbmRcbiAgICAgKiBpdHMgcmVzdWx0IGlzIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IFt2YWx1ZV0gVGhlIHZhbHVlIHRvIGNvbnZlcnQgdG8gYW4gaXRlcmF0ZWUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcml0eV0gVGhlIGFyaXR5IG9mIHRoZSBjcmVhdGVkIGl0ZXJhdGVlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgY2hvc2VuIGZ1bmN0aW9uIG9yIGl0cyByZXN1bHQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0SXRlcmF0ZWUoKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbG9kYXNoLml0ZXJhdGVlIHx8IGl0ZXJhdGVlO1xuICAgICAgcmVzdWx0ID0gcmVzdWx0ID09PSBpdGVyYXRlZSA/IGJhc2VJdGVyYXRlZSA6IHJlc3VsdDtcbiAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gcmVzdWx0KGFyZ3VtZW50c1swXSwgYXJndW1lbnRzWzFdKSA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkYXRhIGZvciBgbWFwYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG1hcCBUaGUgbWFwIHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIHJlZmVyZW5jZSBrZXkuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hcCBkYXRhLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldE1hcERhdGEobWFwLCBrZXkpIHtcbiAgICAgIHZhciBkYXRhID0gbWFwLl9fZGF0YV9fO1xuICAgICAgcmV0dXJuIGlzS2V5YWJsZShrZXkpXG4gICAgICAgID8gZGF0YVt0eXBlb2Yga2V5ID09ICdzdHJpbmcnID8gJ3N0cmluZycgOiAnaGFzaCddXG4gICAgICAgIDogZGF0YS5tYXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcHJvcGVydHkgbmFtZXMsIHZhbHVlcywgYW5kIGNvbXBhcmUgZmxhZ3Mgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG1hdGNoIGRhdGEgb2YgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0TWF0Y2hEYXRhKG9iamVjdCkge1xuICAgICAgdmFyIHJlc3VsdCA9IGtleXMob2JqZWN0KSxcbiAgICAgICAgICBsZW5ndGggPSByZXN1bHQubGVuZ3RoO1xuXG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgdmFyIGtleSA9IHJlc3VsdFtsZW5ndGhdLFxuICAgICAgICAgICAgdmFsdWUgPSBvYmplY3Rba2V5XTtcblxuICAgICAgICByZXN1bHRbbGVuZ3RoXSA9IFtrZXksIHZhbHVlLCBpc1N0cmljdENvbXBhcmFibGUodmFsdWUpXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbmF0aXZlIGZ1bmN0aW9uIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBtZXRob2QgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBpZiBpdCdzIG5hdGl2ZSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXROYXRpdmUob2JqZWN0LCBrZXkpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGdldFZhbHVlKG9iamVjdCwga2V5KTtcbiAgICAgIHJldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlR2V0VGFnYCB3aGljaCBpZ25vcmVzIGBTeW1ib2wudG9TdHJpbmdUYWdgIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmF3IGB0b1N0cmluZ1RhZ2AuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0UmF3VGFnKHZhbHVlKSB7XG4gICAgICB2YXIgaXNPd24gPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBzeW1Ub1N0cmluZ1RhZyksXG4gICAgICAgICAgdGFnID0gdmFsdWVbc3ltVG9TdHJpbmdUYWddO1xuXG4gICAgICB0cnkge1xuICAgICAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB1bmRlZmluZWQ7XG4gICAgICAgIHZhciB1bm1hc2tlZCA9IHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgICB2YXIgcmVzdWx0ID0gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gICAgICBpZiAodW5tYXNrZWQpIHtcbiAgICAgICAgaWYgKGlzT3duKSB7XG4gICAgICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdGFnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGVudW1lcmFibGUgc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2Ygc3ltYm9scy5cbiAgICAgKi9cbiAgICB2YXIgZ2V0U3ltYm9scyA9ICFuYXRpdmVHZXRTeW1ib2xzID8gc3R1YkFycmF5IDogZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgb2JqZWN0ID0gT2JqZWN0KG9iamVjdCk7XG4gICAgICByZXR1cm4gYXJyYXlGaWx0ZXIobmF0aXZlR2V0U3ltYm9scyhvYmplY3QpLCBmdW5jdGlvbihzeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob2JqZWN0LCBzeW1ib2wpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2Ygc3ltYm9scy5cbiAgICAgKi9cbiAgICB2YXIgZ2V0U3ltYm9sc0luID0gIW5hdGl2ZUdldFN5bWJvbHMgPyBzdHViQXJyYXkgOiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIHdoaWxlIChvYmplY3QpIHtcbiAgICAgICAgYXJyYXlQdXNoKHJlc3VsdCwgZ2V0U3ltYm9scyhvYmplY3QpKTtcbiAgICAgICAgb2JqZWN0ID0gZ2V0UHJvdG90eXBlKG9iamVjdCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBgdG9TdHJpbmdUYWdgIG9mIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGB0b1N0cmluZ1RhZ2AuXG4gICAgICovXG4gICAgdmFyIGdldFRhZyA9IGJhc2VHZXRUYWc7XG5cbiAgICAvLyBGYWxsYmFjayBmb3IgZGF0YSB2aWV3cywgbWFwcywgc2V0cywgYW5kIHdlYWsgbWFwcyBpbiBJRSAxMSBhbmQgcHJvbWlzZXMgaW4gTm9kZS5qcyA8IDYuXG4gICAgaWYgKChEYXRhVmlldyAmJiBnZXRUYWcobmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxKSkpICE9IGRhdGFWaWV3VGFnKSB8fFxuICAgICAgICAoTWFwICYmIGdldFRhZyhuZXcgTWFwKSAhPSBtYXBUYWcpIHx8XG4gICAgICAgIChQcm9taXNlICYmIGdldFRhZyhQcm9taXNlLnJlc29sdmUoKSkgIT0gcHJvbWlzZVRhZykgfHxcbiAgICAgICAgKFNldCAmJiBnZXRUYWcobmV3IFNldCkgIT0gc2V0VGFnKSB8fFxuICAgICAgICAoV2Vha01hcCAmJiBnZXRUYWcobmV3IFdlYWtNYXApICE9IHdlYWtNYXBUYWcpKSB7XG4gICAgICBnZXRUYWcgPSBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gYmFzZUdldFRhZyh2YWx1ZSksXG4gICAgICAgICAgICBDdG9yID0gcmVzdWx0ID09IG9iamVjdFRhZyA/IHZhbHVlLmNvbnN0cnVjdG9yIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY3RvclN0cmluZyA9IEN0b3IgPyB0b1NvdXJjZShDdG9yKSA6ICcnO1xuXG4gICAgICAgIGlmIChjdG9yU3RyaW5nKSB7XG4gICAgICAgICAgc3dpdGNoIChjdG9yU3RyaW5nKSB7XG4gICAgICAgICAgICBjYXNlIGRhdGFWaWV3Q3RvclN0cmluZzogcmV0dXJuIGRhdGFWaWV3VGFnO1xuICAgICAgICAgICAgY2FzZSBtYXBDdG9yU3RyaW5nOiByZXR1cm4gbWFwVGFnO1xuICAgICAgICAgICAgY2FzZSBwcm9taXNlQ3RvclN0cmluZzogcmV0dXJuIHByb21pc2VUYWc7XG4gICAgICAgICAgICBjYXNlIHNldEN0b3JTdHJpbmc6IHJldHVybiBzZXRUYWc7XG4gICAgICAgICAgICBjYXNlIHdlYWtNYXBDdG9yU3RyaW5nOiByZXR1cm4gd2Vha01hcFRhZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmlldywgYXBwbHlpbmcgYW55IGB0cmFuc2Zvcm1zYCB0byB0aGUgYHN0YXJ0YCBhbmQgYGVuZGAgcG9zaXRpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgVGhlIHN0YXJ0IG9mIHRoZSB2aWV3LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlbmQgVGhlIGVuZCBvZiB0aGUgdmlldy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSB0cmFuc2Zvcm1zIFRoZSB0cmFuc2Zvcm1hdGlvbnMgdG8gYXBwbHkgdG8gdGhlIHZpZXcuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgYHN0YXJ0YCBhbmQgYGVuZGBcbiAgICAgKiAgcG9zaXRpb25zIG9mIHRoZSB2aWV3LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldFZpZXcoc3RhcnQsIGVuZCwgdHJhbnNmb3Jtcykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gdHJhbnNmb3Jtcy5sZW5ndGg7XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBkYXRhID0gdHJhbnNmb3Jtc1tpbmRleF0sXG4gICAgICAgICAgICBzaXplID0gZGF0YS5zaXplO1xuXG4gICAgICAgIHN3aXRjaCAoZGF0YS50eXBlKSB7XG4gICAgICAgICAgY2FzZSAnZHJvcCc6ICAgICAgc3RhcnQgKz0gc2l6ZTsgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnZHJvcFJpZ2h0JzogZW5kIC09IHNpemU7IGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3Rha2UnOiAgICAgIGVuZCA9IG5hdGl2ZU1pbihlbmQsIHN0YXJ0ICsgc2l6ZSk7IGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3Rha2VSaWdodCc6IHN0YXJ0ID0gbmF0aXZlTWF4KHN0YXJ0LCBlbmQgLSBzaXplKTsgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7ICdzdGFydCc6IHN0YXJ0LCAnZW5kJzogZW5kIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXh0cmFjdHMgd3JhcHBlciBkZXRhaWxzIGZyb20gdGhlIGBzb3VyY2VgIGJvZHkgY29tbWVudC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHNvdXJjZSBUaGUgc291cmNlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB3cmFwcGVyIGRldGFpbHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0V3JhcERldGFpbHMoc291cmNlKSB7XG4gICAgICB2YXIgbWF0Y2ggPSBzb3VyY2UubWF0Y2gocmVXcmFwRGV0YWlscyk7XG4gICAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXS5zcGxpdChyZVNwbGl0RGV0YWlscykgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHBhdGhgIGV4aXN0cyBvbiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGhhc0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGNoZWNrIHByb3BlcnRpZXMuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBwYXRoYCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBoYXNQYXRoKG9iamVjdCwgcGF0aCwgaGFzRnVuYykge1xuICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIga2V5ID0gdG9LZXkocGF0aFtpbmRleF0pO1xuICAgICAgICBpZiAoIShyZXN1bHQgPSBvYmplY3QgIT0gbnVsbCAmJiBoYXNGdW5jKG9iamVjdCwga2V5KSkpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBvYmplY3QgPSBvYmplY3Rba2V5XTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXN1bHQgfHwgKytpbmRleCAhPSBsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGxlbmd0aCA9IG9iamVjdCA9PSBudWxsID8gMCA6IG9iamVjdC5sZW5ndGg7XG4gICAgICByZXR1cm4gISFsZW5ndGggJiYgaXNMZW5ndGgobGVuZ3RoKSAmJiBpc0luZGV4KGtleSwgbGVuZ3RoKSAmJlxuICAgICAgICAoaXNBcnJheShvYmplY3QpIHx8IGlzQXJndW1lbnRzKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIGFuIGFycmF5IGNsb25lLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBpbml0aWFsaXplZCBjbG9uZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbml0Q2xvbmVBcnJheShhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBuZXcgYXJyYXkuY29uc3RydWN0b3IobGVuZ3RoKTtcblxuICAgICAgLy8gQWRkIHByb3BlcnRpZXMgYXNzaWduZWQgYnkgYFJlZ0V4cCNleGVjYC5cbiAgICAgIGlmIChsZW5ndGggJiYgdHlwZW9mIGFycmF5WzBdID09ICdzdHJpbmcnICYmIGhhc093blByb3BlcnR5LmNhbGwoYXJyYXksICdpbmRleCcpKSB7XG4gICAgICAgIHJlc3VsdC5pbmRleCA9IGFycmF5LmluZGV4O1xuICAgICAgICByZXN1bHQuaW5wdXQgPSBhcnJheS5pbnB1dDtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgYW4gb2JqZWN0IGNsb25lLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgaW5pdGlhbGl6ZWQgY2xvbmUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5pdENsb25lT2JqZWN0KG9iamVjdCkge1xuICAgICAgcmV0dXJuICh0eXBlb2Ygb2JqZWN0LmNvbnN0cnVjdG9yID09ICdmdW5jdGlvbicgJiYgIWlzUHJvdG90eXBlKG9iamVjdCkpXG4gICAgICAgID8gYmFzZUNyZWF0ZShnZXRQcm90b3R5cGUob2JqZWN0KSlcbiAgICAgICAgOiB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBhbiBvYmplY3QgY2xvbmUgYmFzZWQgb24gaXRzIGB0b1N0cmluZ1RhZ2AuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBmdW5jdGlvbiBvbmx5IHN1cHBvcnRzIGNsb25pbmcgdmFsdWVzIHdpdGggdGFncyBvZlxuICAgICAqIGBCb29sZWFuYCwgYERhdGVgLCBgRXJyb3JgLCBgTWFwYCwgYE51bWJlcmAsIGBSZWdFeHBgLCBgU2V0YCwgb3IgYFN0cmluZ2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjbG9uZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBgdG9TdHJpbmdUYWdgIG9mIHRoZSBvYmplY3QgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNEZWVwXSBTcGVjaWZ5IGEgZGVlcCBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBpbml0aWFsaXplZCBjbG9uZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbml0Q2xvbmVCeVRhZyhvYmplY3QsIHRhZywgaXNEZWVwKSB7XG4gICAgICB2YXIgQ3RvciA9IG9iamVjdC5jb25zdHJ1Y3RvcjtcbiAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgIGNhc2UgYXJyYXlCdWZmZXJUYWc6XG4gICAgICAgICAgcmV0dXJuIGNsb25lQXJyYXlCdWZmZXIob2JqZWN0KTtcblxuICAgICAgICBjYXNlIGJvb2xUYWc6XG4gICAgICAgIGNhc2UgZGF0ZVRhZzpcbiAgICAgICAgICByZXR1cm4gbmV3IEN0b3IoK29iamVjdCk7XG5cbiAgICAgICAgY2FzZSBkYXRhVmlld1RhZzpcbiAgICAgICAgICByZXR1cm4gY2xvbmVEYXRhVmlldyhvYmplY3QsIGlzRGVlcCk7XG5cbiAgICAgICAgY2FzZSBmbG9hdDMyVGFnOiBjYXNlIGZsb2F0NjRUYWc6XG4gICAgICAgIGNhc2UgaW50OFRhZzogY2FzZSBpbnQxNlRhZzogY2FzZSBpbnQzMlRhZzpcbiAgICAgICAgY2FzZSB1aW50OFRhZzogY2FzZSB1aW50OENsYW1wZWRUYWc6IGNhc2UgdWludDE2VGFnOiBjYXNlIHVpbnQzMlRhZzpcbiAgICAgICAgICByZXR1cm4gY2xvbmVUeXBlZEFycmF5KG9iamVjdCwgaXNEZWVwKTtcblxuICAgICAgICBjYXNlIG1hcFRhZzpcbiAgICAgICAgICByZXR1cm4gbmV3IEN0b3I7XG5cbiAgICAgICAgY2FzZSBudW1iZXJUYWc6XG4gICAgICAgIGNhc2Ugc3RyaW5nVGFnOlxuICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihvYmplY3QpO1xuXG4gICAgICAgIGNhc2UgcmVnZXhwVGFnOlxuICAgICAgICAgIHJldHVybiBjbG9uZVJlZ0V4cChvYmplY3QpO1xuXG4gICAgICAgIGNhc2Ugc2V0VGFnOlxuICAgICAgICAgIHJldHVybiBuZXcgQ3RvcjtcblxuICAgICAgICBjYXNlIHN5bWJvbFRhZzpcbiAgICAgICAgICByZXR1cm4gY2xvbmVTeW1ib2wob2JqZWN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIHdyYXBwZXIgYGRldGFpbHNgIGluIGEgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBgc291cmNlYCBib2R5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlIFRoZSBzb3VyY2UgdG8gbW9kaWZ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gZGV0YWlscyBUaGUgZGV0YWlscyB0byBpbnNlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgbW9kaWZpZWQgc291cmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSwgZGV0YWlscykge1xuICAgICAgdmFyIGxlbmd0aCA9IGRldGFpbHMubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICAgIH1cbiAgICAgIHZhciBsYXN0SW5kZXggPSBsZW5ndGggLSAxO1xuICAgICAgZGV0YWlsc1tsYXN0SW5kZXhdID0gKGxlbmd0aCA+IDEgPyAnJiAnIDogJycpICsgZGV0YWlsc1tsYXN0SW5kZXhdO1xuICAgICAgZGV0YWlscyA9IGRldGFpbHMuam9pbihsZW5ndGggPiAyID8gJywgJyA6ICcgJyk7XG4gICAgICByZXR1cm4gc291cmNlLnJlcGxhY2UocmVXcmFwQ29tbWVudCwgJ3tcXG4vKiBbd3JhcHBlZCB3aXRoICcgKyBkZXRhaWxzICsgJ10gKi9cXG4nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIGZsYXR0ZW5hYmxlIGBhcmd1bWVudHNgIG9iamVjdCBvciBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZmxhdHRlbmFibGUsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0ZsYXR0ZW5hYmxlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNBcnJheSh2YWx1ZSkgfHwgaXNBcmd1bWVudHModmFsdWUpIHx8XG4gICAgICAgICEhKHNwcmVhZGFibGVTeW1ib2wgJiYgdmFsdWUgJiYgdmFsdWVbc3ByZWFkYWJsZVN5bWJvbF0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBpbmRleC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9TUFYX1NBRkVfSU5URUdFUl0gVGhlIHVwcGVyIGJvdW5kcyBvZiBhIHZhbGlkIGluZGV4LlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgaW5kZXgsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0luZGV4KHZhbHVlLCBsZW5ndGgpIHtcbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgbGVuZ3RoID0gbGVuZ3RoID09IG51bGwgPyBNQVhfU0FGRV9JTlRFR0VSIDogbGVuZ3RoO1xuXG4gICAgICByZXR1cm4gISFsZW5ndGggJiZcbiAgICAgICAgKHR5cGUgPT0gJ251bWJlcicgfHxcbiAgICAgICAgICAodHlwZSAhPSAnc3ltYm9sJyAmJiByZUlzVWludC50ZXN0KHZhbHVlKSkpICYmXG4gICAgICAgICAgICAodmFsdWUgPiAtMSAmJiB2YWx1ZSAlIDEgPT0gMCAmJiB2YWx1ZSA8IGxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBhcmd1bWVudHMgYXJlIGZyb20gYW4gaXRlcmF0ZWUgY2FsbC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIHZhbHVlIGFyZ3VtZW50LlxuICAgICAqIEBwYXJhbSB7Kn0gaW5kZXggVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBpbmRleCBvciBrZXkgYXJndW1lbnQuXG4gICAgICogQHBhcmFtIHsqfSBvYmplY3QgVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBvYmplY3QgYXJndW1lbnQuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBhcmd1bWVudHMgYXJlIGZyb20gYW4gaXRlcmF0ZWUgY2FsbCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzSXRlcmF0ZWVDYWxsKHZhbHVlLCBpbmRleCwgb2JqZWN0KSB7XG4gICAgICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgaW5kZXg7XG4gICAgICBpZiAodHlwZSA9PSAnbnVtYmVyJ1xuICAgICAgICAgICAgPyAoaXNBcnJheUxpa2Uob2JqZWN0KSAmJiBpc0luZGV4KGluZGV4LCBvYmplY3QubGVuZ3RoKSlcbiAgICAgICAgICAgIDogKHR5cGUgPT0gJ3N0cmluZycgJiYgaW5kZXggaW4gb2JqZWN0KVxuICAgICAgICAgICkge1xuICAgICAgICByZXR1cm4gZXEob2JqZWN0W2luZGV4XSwgdmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcHJvcGVydHkgbmFtZSBhbmQgbm90IGEgcHJvcGVydHkgcGF0aC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBvYmplY3QgdG8gcXVlcnkga2V5cyBvbi5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHByb3BlcnR5IG5hbWUsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0tleSh2YWx1ZSwgb2JqZWN0KSB7XG4gICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgICBpZiAodHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nIHx8XG4gICAgICAgICAgdmFsdWUgPT0gbnVsbCB8fCBpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVJc1BsYWluUHJvcC50ZXN0KHZhbHVlKSB8fCAhcmVJc0RlZXBQcm9wLnRlc3QodmFsdWUpIHx8XG4gICAgICAgIChvYmplY3QgIT0gbnVsbCAmJiB2YWx1ZSBpbiBPYmplY3Qob2JqZWN0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUgZm9yIHVzZSBhcyB1bmlxdWUgb2JqZWN0IGtleS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0tleWFibGUodmFsdWUpIHtcbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgcmV0dXJuICh0eXBlID09ICdzdHJpbmcnIHx8IHR5cGUgPT0gJ251bWJlcicgfHwgdHlwZSA9PSAnc3ltYm9sJyB8fCB0eXBlID09ICdib29sZWFuJylcbiAgICAgICAgPyAodmFsdWUgIT09ICdfX3Byb3RvX18nKVxuICAgICAgICA6ICh2YWx1ZSA9PT0gbnVsbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBmdW5jYCBoYXMgYSBsYXp5IGNvdW50ZXJwYXJ0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGZ1bmNgIGhhcyBhIGxhenkgY291bnRlcnBhcnQsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0xhemlhYmxlKGZ1bmMpIHtcbiAgICAgIHZhciBmdW5jTmFtZSA9IGdldEZ1bmNOYW1lKGZ1bmMpLFxuICAgICAgICAgIG90aGVyID0gbG9kYXNoW2Z1bmNOYW1lXTtcblxuICAgICAgaWYgKHR5cGVvZiBvdGhlciAhPSAnZnVuY3Rpb24nIHx8ICEoZnVuY05hbWUgaW4gTGF6eVdyYXBwZXIucHJvdG90eXBlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoZnVuYyA9PT0gb3RoZXIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB2YXIgZGF0YSA9IGdldERhdGEob3RoZXIpO1xuICAgICAgcmV0dXJuICEhZGF0YSAmJiBmdW5jID09PSBkYXRhWzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgZnVuY2AgaGFzIGl0cyBzb3VyY2UgbWFza2VkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGZ1bmNgIGlzIG1hc2tlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTWFza2VkKGZ1bmMpIHtcbiAgICAgIHJldHVybiAhIW1hc2tTcmNLZXkgJiYgKG1hc2tTcmNLZXkgaW4gZnVuYyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBmdW5jYCBpcyBjYXBhYmxlIG9mIGJlaW5nIG1hc2tlZC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBmdW5jYCBpcyBtYXNrYWJsZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIHZhciBpc01hc2thYmxlID0gY29yZUpzRGF0YSA/IGlzRnVuY3Rpb24gOiBzdHViRmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYSBwcm90b3R5cGUgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHByb3RvdHlwZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzUHJvdG90eXBlKHZhbHVlKSB7XG4gICAgICB2YXIgQ3RvciA9IHZhbHVlICYmIHZhbHVlLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIHByb3RvID0gKHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3Rvci5wcm90b3R5cGUpIHx8IG9iamVjdFByb3RvO1xuXG4gICAgICByZXR1cm4gdmFsdWUgPT09IHByb3RvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHN1aXRhYmxlIGZvciBzdHJpY3QgZXF1YWxpdHkgY29tcGFyaXNvbnMsIGkuZS4gYD09PWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlmIHN1aXRhYmxlIGZvciBzdHJpY3RcbiAgICAgKiAgZXF1YWxpdHkgY29tcGFyaXNvbnMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1N0cmljdENvbXBhcmFibGUodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWUgJiYgIWlzT2JqZWN0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYG1hdGNoZXNQcm9wZXJ0eWAgZm9yIHNvdXJjZSB2YWx1ZXMgc3VpdGFibGVcbiAgICAgKiBmb3Igc3RyaWN0IGVxdWFsaXR5IGNvbXBhcmlzb25zLCBpLmUuIGA9PT1gLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcGFyYW0geyp9IHNyY1ZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzcGVjIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hdGNoZXNTdHJpY3RDb21wYXJhYmxlKGtleSwgc3JjVmFsdWUpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmplY3Rba2V5XSA9PT0gc3JjVmFsdWUgJiZcbiAgICAgICAgICAoc3JjVmFsdWUgIT09IHVuZGVmaW5lZCB8fCAoa2V5IGluIE9iamVjdChvYmplY3QpKSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5tZW1vaXplYCB3aGljaCBjbGVhcnMgdGhlIG1lbW9pemVkIGZ1bmN0aW9uJ3NcbiAgICAgKiBjYWNoZSB3aGVuIGl0IGV4Y2VlZHMgYE1BWF9NRU1PSVpFX1NJWkVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBoYXZlIGl0cyBvdXRwdXQgbWVtb2l6ZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgbWVtb2l6ZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWVtb2l6ZUNhcHBlZChmdW5jKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbWVtb2l6ZShmdW5jLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgaWYgKGNhY2hlLnNpemUgPT09IE1BWF9NRU1PSVpFX1NJWkUpIHtcbiAgICAgICAgICBjYWNoZS5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgICB9KTtcblxuICAgICAgdmFyIGNhY2hlID0gcmVzdWx0LmNhY2hlO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXJnZXMgdGhlIGZ1bmN0aW9uIG1ldGFkYXRhIG9mIGBzb3VyY2VgIGludG8gYGRhdGFgLlxuICAgICAqXG4gICAgICogTWVyZ2luZyBtZXRhZGF0YSByZWR1Y2VzIHRoZSBudW1iZXIgb2Ygd3JhcHBlcnMgdXNlZCB0byBpbnZva2UgYSBmdW5jdGlvbi5cbiAgICAgKiBUaGlzIGlzIHBvc3NpYmxlIGJlY2F1c2UgbWV0aG9kcyBsaWtlIGBfLmJpbmRgLCBgXy5jdXJyeWAsIGFuZCBgXy5wYXJ0aWFsYFxuICAgICAqIG1heSBiZSBhcHBsaWVkIHJlZ2FyZGxlc3Mgb2YgZXhlY3V0aW9uIG9yZGVyLiBNZXRob2RzIGxpa2UgYF8uYXJ5YCBhbmRcbiAgICAgKiBgXy5yZWFyZ2AgbW9kaWZ5IGZ1bmN0aW9uIGFyZ3VtZW50cywgbWFraW5nIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZVxuICAgICAqIGV4ZWN1dGVkIGltcG9ydGFudCwgcHJldmVudGluZyB0aGUgbWVyZ2luZyBvZiBtZXRhZGF0YS4gSG93ZXZlciwgd2UgbWFrZVxuICAgICAqIGFuIGV4Y2VwdGlvbiBmb3IgYSBzYWZlIGNvbWJpbmVkIGNhc2Ugd2hlcmUgY3VycmllZCBmdW5jdGlvbnMgaGF2ZSBgXy5hcnlgXG4gICAgICogYW5kIG9yIGBfLnJlYXJnYCBhcHBsaWVkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBkYXRhIFRoZSBkZXN0aW5hdGlvbiBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBzb3VyY2UgVGhlIHNvdXJjZSBtZXRhZGF0YS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGRhdGFgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lcmdlRGF0YShkYXRhLCBzb3VyY2UpIHtcbiAgICAgIHZhciBiaXRtYXNrID0gZGF0YVsxXSxcbiAgICAgICAgICBzcmNCaXRtYXNrID0gc291cmNlWzFdLFxuICAgICAgICAgIG5ld0JpdG1hc2sgPSBiaXRtYXNrIHwgc3JjQml0bWFzayxcbiAgICAgICAgICBpc0NvbW1vbiA9IG5ld0JpdG1hc2sgPCAoV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX0JJTkRfS0VZX0ZMQUcgfCBXUkFQX0FSWV9GTEFHKTtcblxuICAgICAgdmFyIGlzQ29tYm8gPVxuICAgICAgICAoKHNyY0JpdG1hc2sgPT0gV1JBUF9BUllfRkxBRykgJiYgKGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHKSkgfHxcbiAgICAgICAgKChzcmNCaXRtYXNrID09IFdSQVBfQVJZX0ZMQUcpICYmIChiaXRtYXNrID09IFdSQVBfUkVBUkdfRkxBRykgJiYgKGRhdGFbN10ubGVuZ3RoIDw9IHNvdXJjZVs4XSkpIHx8XG4gICAgICAgICgoc3JjQml0bWFzayA9PSAoV1JBUF9BUllfRkxBRyB8IFdSQVBfUkVBUkdfRkxBRykpICYmIChzb3VyY2VbN10ubGVuZ3RoIDw9IHNvdXJjZVs4XSkgJiYgKGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHKSk7XG5cbiAgICAgIC8vIEV4aXQgZWFybHkgaWYgbWV0YWRhdGEgY2FuJ3QgYmUgbWVyZ2VkLlxuICAgICAgaWYgKCEoaXNDb21tb24gfHwgaXNDb21ibykpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgICAvLyBVc2Ugc291cmNlIGB0aGlzQXJnYCBpZiBhdmFpbGFibGUuXG4gICAgICBpZiAoc3JjQml0bWFzayAmIFdSQVBfQklORF9GTEFHKSB7XG4gICAgICAgIGRhdGFbMl0gPSBzb3VyY2VbMl07XG4gICAgICAgIC8vIFNldCB3aGVuIGN1cnJ5aW5nIGEgYm91bmQgZnVuY3Rpb24uXG4gICAgICAgIG5ld0JpdG1hc2sgfD0gYml0bWFzayAmIFdSQVBfQklORF9GTEFHID8gMCA6IFdSQVBfQ1VSUllfQk9VTkRfRkxBRztcbiAgICAgIH1cbiAgICAgIC8vIENvbXBvc2UgcGFydGlhbCBhcmd1bWVudHMuXG4gICAgICB2YXIgdmFsdWUgPSBzb3VyY2VbM107XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHBhcnRpYWxzID0gZGF0YVszXTtcbiAgICAgICAgZGF0YVszXSA9IHBhcnRpYWxzID8gY29tcG9zZUFyZ3MocGFydGlhbHMsIHZhbHVlLCBzb3VyY2VbNF0pIDogdmFsdWU7XG4gICAgICAgIGRhdGFbNF0gPSBwYXJ0aWFscyA/IHJlcGxhY2VIb2xkZXJzKGRhdGFbM10sIFBMQUNFSE9MREVSKSA6IHNvdXJjZVs0XTtcbiAgICAgIH1cbiAgICAgIC8vIENvbXBvc2UgcGFydGlhbCByaWdodCBhcmd1bWVudHMuXG4gICAgICB2YWx1ZSA9IHNvdXJjZVs1XTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBwYXJ0aWFscyA9IGRhdGFbNV07XG4gICAgICAgIGRhdGFbNV0gPSBwYXJ0aWFscyA/IGNvbXBvc2VBcmdzUmlnaHQocGFydGlhbHMsIHZhbHVlLCBzb3VyY2VbNl0pIDogdmFsdWU7XG4gICAgICAgIGRhdGFbNl0gPSBwYXJ0aWFscyA/IHJlcGxhY2VIb2xkZXJzKGRhdGFbNV0sIFBMQUNFSE9MREVSKSA6IHNvdXJjZVs2XTtcbiAgICAgIH1cbiAgICAgIC8vIFVzZSBzb3VyY2UgYGFyZ1Bvc2AgaWYgYXZhaWxhYmxlLlxuICAgICAgdmFsdWUgPSBzb3VyY2VbN107XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgZGF0YVs3XSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgLy8gVXNlIHNvdXJjZSBgYXJ5YCBpZiBpdCdzIHNtYWxsZXIuXG4gICAgICBpZiAoc3JjQml0bWFzayAmIFdSQVBfQVJZX0ZMQUcpIHtcbiAgICAgICAgZGF0YVs4XSA9IGRhdGFbOF0gPT0gbnVsbCA/IHNvdXJjZVs4XSA6IG5hdGl2ZU1pbihkYXRhWzhdLCBzb3VyY2VbOF0pO1xuICAgICAgfVxuICAgICAgLy8gVXNlIHNvdXJjZSBgYXJpdHlgIGlmIG9uZSBpcyBub3QgcHJvdmlkZWQuXG4gICAgICBpZiAoZGF0YVs5XSA9PSBudWxsKSB7XG4gICAgICAgIGRhdGFbOV0gPSBzb3VyY2VbOV07XG4gICAgICB9XG4gICAgICAvLyBVc2Ugc291cmNlIGBmdW5jYCBhbmQgbWVyZ2UgYml0bWFza3MuXG4gICAgICBkYXRhWzBdID0gc291cmNlWzBdO1xuICAgICAgZGF0YVsxXSA9IG5ld0JpdG1hc2s7XG5cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZVxuICAgICAqIFtgT2JqZWN0LmtleXNgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3Qua2V5cylcbiAgICAgKiBleGNlcHQgdGhhdCBpdCBpbmNsdWRlcyBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0aWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBuYXRpdmVLZXlzSW4ob2JqZWN0KSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBpZiAob2JqZWN0ICE9IG51bGwpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIE9iamVjdChvYmplY3QpKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nIHVzaW5nIGBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG9iamVjdFRvU3RyaW5nKHZhbHVlKSB7XG4gICAgICByZXR1cm4gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlUmVzdGAgd2hpY2ggdHJhbnNmb3JtcyB0aGUgcmVzdCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYSByZXN0IHBhcmFtZXRlciB0by5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSByZXN0IGFycmF5IHRyYW5zZm9ybS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvdmVyUmVzdChmdW5jLCBzdGFydCwgdHJhbnNmb3JtKSB7XG4gICAgICBzdGFydCA9IG5hdGl2ZU1heChzdGFydCA9PT0gdW5kZWZpbmVkID8gKGZ1bmMubGVuZ3RoIC0gMSkgOiBzdGFydCwgMCk7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzLFxuICAgICAgICAgICAgaW5kZXggPSAtMSxcbiAgICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1heChhcmdzLmxlbmd0aCAtIHN0YXJ0LCAwKSxcbiAgICAgICAgICAgIGFycmF5ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIGFycmF5W2luZGV4XSA9IGFyZ3Nbc3RhcnQgKyBpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXggPSAtMTtcbiAgICAgICAgdmFyIG90aGVyQXJncyA9IEFycmF5KHN0YXJ0ICsgMSk7XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgc3RhcnQpIHtcbiAgICAgICAgICBvdGhlckFyZ3NbaW5kZXhdID0gYXJnc1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgb3RoZXJBcmdzW3N0YXJ0XSA9IHRyYW5zZm9ybShhcnJheSk7XG4gICAgICAgIHJldHVybiBhcHBseShmdW5jLCB0aGlzLCBvdGhlckFyZ3MpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJlbnQgdmFsdWUgYXQgYHBhdGhgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheX0gcGF0aCBUaGUgcGF0aCB0byBnZXQgdGhlIHBhcmVudCB2YWx1ZSBvZi5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcGFyZW50IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHBhcmVudChvYmplY3QsIHBhdGgpIHtcbiAgICAgIHJldHVybiBwYXRoLmxlbmd0aCA8IDIgPyBvYmplY3QgOiBiYXNlR2V0KG9iamVjdCwgYmFzZVNsaWNlKHBhdGgsIDAsIC0xKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVvcmRlciBgYXJyYXlgIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIGluZGV4ZXMgd2hlcmUgdGhlIGVsZW1lbnQgYXRcbiAgICAgKiB0aGUgZmlyc3QgaW5kZXggaXMgYXNzaWduZWQgYXMgdGhlIGZpcnN0IGVsZW1lbnQsIHRoZSBlbGVtZW50IGF0XG4gICAgICogdGhlIHNlY29uZCBpbmRleCBpcyBhc3NpZ25lZCBhcyB0aGUgc2Vjb25kIGVsZW1lbnQsIGFuZCBzbyBvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHJlb3JkZXIuXG4gICAgICogQHBhcmFtIHtBcnJheX0gaW5kZXhlcyBUaGUgYXJyYW5nZWQgYXJyYXkgaW5kZXhlcy5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZW9yZGVyKGFycmF5LCBpbmRleGVzKSB7XG4gICAgICB2YXIgYXJyTGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1pbihpbmRleGVzLmxlbmd0aCwgYXJyTGVuZ3RoKSxcbiAgICAgICAgICBvbGRBcnJheSA9IGNvcHlBcnJheShhcnJheSk7XG5cbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICB2YXIgaW5kZXggPSBpbmRleGVzW2xlbmd0aF07XG4gICAgICAgIGFycmF5W2xlbmd0aF0gPSBpc0luZGV4KGluZGV4LCBhcnJMZW5ndGgpID8gb2xkQXJyYXlbaW5kZXhdIDogdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhbHVlIGF0IGBrZXlgLCB1bmxlc3MgYGtleWAgaXMgXCJfX3Byb3RvX19cIiBvciBcImNvbnN0cnVjdG9yXCIuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcHJvcGVydHkgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2FmZUdldChvYmplY3QsIGtleSkge1xuICAgICAgaWYgKGtleSA9PT0gJ2NvbnN0cnVjdG9yJyAmJiB0eXBlb2Ygb2JqZWN0W2tleV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoa2V5ID09ICdfX3Byb3RvX18nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9iamVjdFtrZXldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbWV0YWRhdGEgZm9yIGBmdW5jYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBJZiB0aGlzIGZ1bmN0aW9uIGJlY29tZXMgaG90LCBpLmUuIGlzIGludm9rZWQgYSBsb3QgaW4gYSBzaG9ydFxuICAgICAqIHBlcmlvZCBvZiB0aW1lLCBpdCB3aWxsIHRyaXAgaXRzIGJyZWFrZXIgYW5kIHRyYW5zaXRpb24gdG8gYW4gaWRlbnRpdHlcbiAgICAgKiBmdW5jdGlvbiB0byBhdm9pZCBnYXJiYWdlIGNvbGxlY3Rpb24gcGF1c2VzIGluIFY4LiBTZWVcbiAgICAgKiBbVjggaXNzdWUgMjA3MF0oaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MjA3MClcbiAgICAgKiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhc3NvY2lhdGUgbWV0YWRhdGEgd2l0aC5cbiAgICAgKiBAcGFyYW0geyp9IGRhdGEgVGhlIG1ldGFkYXRhLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gICAgICovXG4gICAgdmFyIHNldERhdGEgPSBzaG9ydE91dChiYXNlU2V0RGF0YSk7XG5cbiAgICAvKipcbiAgICAgKiBBIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCB0aGUgZ2xvYmFsIFtgc2V0VGltZW91dGBdKGh0dHBzOi8vbWRuLmlvL3NldFRpbWVvdXQpLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWxheS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gd2FpdCBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheSBpbnZvY2F0aW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ8T2JqZWN0fSBSZXR1cm5zIHRoZSB0aW1lciBpZCBvciB0aW1lb3V0IG9iamVjdC5cbiAgICAgKi9cbiAgICB2YXIgc2V0VGltZW91dCA9IGN0eFNldFRpbWVvdXQgfHwgZnVuY3Rpb24oZnVuYywgd2FpdCkge1xuICAgICAgcmV0dXJuIHJvb3Quc2V0VGltZW91dChmdW5jLCB3YWl0KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYHRvU3RyaW5nYCBtZXRob2Qgb2YgYGZ1bmNgIHRvIHJldHVybiBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBmdW5jYC5cbiAgICAgKi9cbiAgICB2YXIgc2V0VG9TdHJpbmcgPSBzaG9ydE91dChiYXNlU2V0VG9TdHJpbmcpO1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYHRvU3RyaW5nYCBtZXRob2Qgb2YgYHdyYXBwZXJgIHRvIG1pbWljIHRoZSBzb3VyY2Ugb2YgYHJlZmVyZW5jZWBcbiAgICAgKiB3aXRoIHdyYXBwZXIgZGV0YWlscyBpbiBhIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGUgc291cmNlIGJvZHkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHdyYXBwZXIgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWZlcmVuY2UgVGhlIHJlZmVyZW5jZSBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgd3JhcHBlcmAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2V0V3JhcFRvU3RyaW5nKHdyYXBwZXIsIHJlZmVyZW5jZSwgYml0bWFzaykge1xuICAgICAgdmFyIHNvdXJjZSA9IChyZWZlcmVuY2UgKyAnJyk7XG4gICAgICByZXR1cm4gc2V0VG9TdHJpbmcod3JhcHBlciwgaW5zZXJ0V3JhcERldGFpbHMoc291cmNlLCB1cGRhdGVXcmFwRGV0YWlscyhnZXRXcmFwRGV0YWlscyhzb3VyY2UpLCBiaXRtYXNrKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0J2xsIHNob3J0IG91dCBhbmQgaW52b2tlIGBpZGVudGl0eWAgaW5zdGVhZFxuICAgICAqIG9mIGBmdW5jYCB3aGVuIGl0J3MgY2FsbGVkIGBIT1RfQ09VTlRgIG9yIG1vcmUgdGltZXMgaW4gYEhPVF9TUEFOYFxuICAgICAqIG1pbGxpc2Vjb25kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc2hvcnRhYmxlIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNob3J0T3V0KGZ1bmMpIHtcbiAgICAgIHZhciBjb3VudCA9IDAsXG4gICAgICAgICAgbGFzdENhbGxlZCA9IDA7XG5cbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHN0YW1wID0gbmF0aXZlTm93KCksXG4gICAgICAgICAgICByZW1haW5pbmcgPSBIT1RfU1BBTiAtIChzdGFtcCAtIGxhc3RDYWxsZWQpO1xuXG4gICAgICAgIGxhc3RDYWxsZWQgPSBzdGFtcDtcbiAgICAgICAgaWYgKHJlbWFpbmluZyA+IDApIHtcbiAgICAgICAgICBpZiAoKytjb3VudCA+PSBIT1RfQ09VTlQpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMF07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvdW50ID0gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuYy5hcHBseSh1bmRlZmluZWQsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zaHVmZmxlYCB3aGljaCBtdXRhdGVzIGFuZCBzZXRzIHRoZSBzaXplIG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzaHVmZmxlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc2l6ZT1hcnJheS5sZW5ndGhdIFRoZSBzaXplIG9mIGBhcnJheWAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2h1ZmZsZVNlbGYoYXJyYXksIHNpemUpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBsYXN0SW5kZXggPSBsZW5ndGggLSAxO1xuXG4gICAgICBzaXplID0gc2l6ZSA9PT0gdW5kZWZpbmVkID8gbGVuZ3RoIDogc2l6ZTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgc2l6ZSkge1xuICAgICAgICB2YXIgcmFuZCA9IGJhc2VSYW5kb20oaW5kZXgsIGxhc3RJbmRleCksXG4gICAgICAgICAgICB2YWx1ZSA9IGFycmF5W3JhbmRdO1xuXG4gICAgICAgIGFycmF5W3JhbmRdID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGFycmF5Lmxlbmd0aCA9IHNpemU7XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG8gYSBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHByb3BlcnR5IHBhdGggYXJyYXkuXG4gICAgICovXG4gICAgdmFyIHN0cmluZ1RvUGF0aCA9IG1lbW9pemVDYXBwZWQoZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBpZiAoc3RyaW5nLmNoYXJDb2RlQXQoMCkgPT09IDQ2IC8qIC4gKi8pIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJycpO1xuICAgICAgfVxuICAgICAgc3RyaW5nLnJlcGxhY2UocmVQcm9wTmFtZSwgZnVuY3Rpb24obWF0Y2gsIG51bWJlciwgcXVvdGUsIHN1YlN0cmluZykge1xuICAgICAgICByZXN1bHQucHVzaChxdW90ZSA/IHN1YlN0cmluZy5yZXBsYWNlKHJlRXNjYXBlQ2hhciwgJyQxJykgOiAobnVtYmVyIHx8IG1hdGNoKSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nIGtleSBpZiBpdCdzIG5vdCBhIHN0cmluZyBvciBzeW1ib2wuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge3N0cmluZ3xzeW1ib2x9IFJldHVybnMgdGhlIGtleS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b0tleSh2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyB8fCBpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9ICh2YWx1ZSArICcnKTtcbiAgICAgIHJldHVybiAocmVzdWx0ID09ICcwJyAmJiAoMSAvIHZhbHVlKSA9PSAtSU5GSU5JVFkpID8gJy0wJyA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgZnVuY2AgdG8gaXRzIHNvdXJjZSBjb2RlLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNvdXJjZSBjb2RlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvU291cmNlKGZ1bmMpIHtcbiAgICAgIGlmIChmdW5jICE9IG51bGwpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gZnVuY1RvU3RyaW5nLmNhbGwoZnVuYyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIChmdW5jICsgJycpO1xuICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgd3JhcHBlciBgZGV0YWlsc2AgYmFzZWQgb24gYGJpdG1hc2tgIGZsYWdzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IGRldGFpbHMgVGhlIGRldGFpbHMgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGNyZWF0ZVdyYXBgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBkZXRhaWxzYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1cGRhdGVXcmFwRGV0YWlscyhkZXRhaWxzLCBiaXRtYXNrKSB7XG4gICAgICBhcnJheUVhY2god3JhcEZsYWdzLCBmdW5jdGlvbihwYWlyKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9ICdfLicgKyBwYWlyWzBdO1xuICAgICAgICBpZiAoKGJpdG1hc2sgJiBwYWlyWzFdKSAmJiAhYXJyYXlJbmNsdWRlcyhkZXRhaWxzLCB2YWx1ZSkpIHtcbiAgICAgICAgICBkZXRhaWxzLnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBkZXRhaWxzLnNvcnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgYHdyYXBwZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gd3JhcHBlciBUaGUgd3JhcHBlciB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjbG9uZWQgd3JhcHBlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyQ2xvbmUod3JhcHBlcikge1xuICAgICAgaWYgKHdyYXBwZXIgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikge1xuICAgICAgICByZXR1cm4gd3JhcHBlci5jbG9uZSgpO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdCA9IG5ldyBMb2Rhc2hXcmFwcGVyKHdyYXBwZXIuX193cmFwcGVkX18sIHdyYXBwZXIuX19jaGFpbl9fKTtcbiAgICAgIHJlc3VsdC5fX2FjdGlvbnNfXyA9IGNvcHlBcnJheSh3cmFwcGVyLl9fYWN0aW9uc19fKTtcbiAgICAgIHJlc3VsdC5fX2luZGV4X18gID0gd3JhcHBlci5fX2luZGV4X187XG4gICAgICByZXN1bHQuX192YWx1ZXNfXyA9IHdyYXBwZXIuX192YWx1ZXNfXztcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cyBzcGxpdCBpbnRvIGdyb3VwcyB0aGUgbGVuZ3RoIG9mIGBzaXplYC5cbiAgICAgKiBJZiBgYXJyYXlgIGNhbid0IGJlIHNwbGl0IGV2ZW5seSwgdGhlIGZpbmFsIGNodW5rIHdpbGwgYmUgdGhlIHJlbWFpbmluZ1xuICAgICAqIGVsZW1lbnRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzaXplPTFdIFRoZSBsZW5ndGggb2YgZWFjaCBjaHVua1xuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY2h1bmtzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNodW5rKFsnYScsICdiJywgJ2MnLCAnZCddLCAyKTtcbiAgICAgKiAvLyA9PiBbWydhJywgJ2InXSwgWydjJywgJ2QnXV1cbiAgICAgKlxuICAgICAqIF8uY2h1bmsoWydhJywgJ2InLCAnYycsICdkJ10sIDMpO1xuICAgICAqIC8vID0+IFtbJ2EnLCAnYicsICdjJ10sIFsnZCddXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNodW5rKGFycmF5LCBzaXplLCBndWFyZCkge1xuICAgICAgaWYgKChndWFyZCA/IGlzSXRlcmF0ZWVDYWxsKGFycmF5LCBzaXplLCBndWFyZCkgOiBzaXplID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIHNpemUgPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2l6ZSA9IG5hdGl2ZU1heCh0b0ludGVnZXIoc2l6ZSksIDApO1xuICAgICAgfVxuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGggfHwgc2l6ZSA8IDEpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gMCxcbiAgICAgICAgICByZXNJbmRleCA9IDAsXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkobmF0aXZlQ2VpbChsZW5ndGggLyBzaXplKSk7XG5cbiAgICAgIHdoaWxlIChpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSBiYXNlU2xpY2UoYXJyYXksIGluZGV4LCAoaW5kZXggKz0gc2l6ZSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IHdpdGggYWxsIGZhbHNleSB2YWx1ZXMgcmVtb3ZlZC4gVGhlIHZhbHVlcyBgZmFsc2VgLCBgbnVsbGAsXG4gICAgICogYDBgLCBgXCJcImAsIGB1bmRlZmluZWRgLCBhbmQgYE5hTmAgYXJlIGZhbHNleS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBjb21wYWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jb21wYWN0KFswLCAxLCBmYWxzZSwgMiwgJycsIDNdKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb21wYWN0KGFycmF5KSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICByZXNJbmRleCA9IDAsXG4gICAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgcmVzdWx0W3Jlc0luZGV4KytdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBhcnJheSBjb25jYXRlbmF0aW5nIGBhcnJheWAgd2l0aCBhbnkgYWRkaXRpb25hbCBhcnJheXNcbiAgICAgKiBhbmQvb3IgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGNvbmNhdGVuYXRlLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBjb25jYXRlbmF0ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBjb25jYXRlbmF0ZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxXTtcbiAgICAgKiB2YXIgb3RoZXIgPSBfLmNvbmNhdChhcnJheSwgMiwgWzNdLCBbWzRdXSk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhvdGhlcik7XG4gICAgICogLy8gPT4gWzEsIDIsIDMsIFs0XV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb25jYXQoKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHZhciBhcmdzID0gQXJyYXkobGVuZ3RoIC0gMSksXG4gICAgICAgICAgYXJyYXkgPSBhcmd1bWVudHNbMF0sXG4gICAgICAgICAgaW5kZXggPSBsZW5ndGg7XG5cbiAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgIGFyZ3NbaW5kZXggLSAxXSA9IGFyZ3VtZW50c1tpbmRleF07XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXlQdXNoKGlzQXJyYXkoYXJyYXkpID8gY29weUFycmF5KGFycmF5KSA6IFthcnJheV0sIGJhc2VGbGF0dGVuKGFyZ3MsIDEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGBhcnJheWAgdmFsdWVzIG5vdCBpbmNsdWRlZCBpbiB0aGUgb3RoZXIgZ2l2ZW4gYXJyYXlzXG4gICAgICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuIFRoZSBvcmRlciBhbmQgcmVmZXJlbmNlcyBvZiByZXN1bHQgdmFsdWVzIGFyZVxuICAgICAqIGRldGVybWluZWQgYnkgdGhlIGZpcnN0IGFycmF5LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5wdWxsQWxsYCwgdGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQHNlZSBfLndpdGhvdXQsIF8ueG9yXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGlmZmVyZW5jZShbMiwgMV0sIFsyLCAzXSk7XG4gICAgICogLy8gPT4gWzFdXG4gICAgICovXG4gICAgdmFyIGRpZmZlcmVuY2UgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheSwgdmFsdWVzKSB7XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2VPYmplY3QoYXJyYXkpXG4gICAgICAgID8gYmFzZURpZmZlcmVuY2UoYXJyYXksIGJhc2VGbGF0dGVuKHZhbHVlcywgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5kaWZmZXJlbmNlYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCBhbmQgYHZhbHVlc2AgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvblxuICAgICAqIGJ5IHdoaWNoIHRoZXkncmUgY29tcGFyZWQuIFRoZSBvcmRlciBhbmQgcmVmZXJlbmNlcyBvZiByZXN1bHQgdmFsdWVzIGFyZVxuICAgICAqIGRldGVybWluZWQgYnkgdGhlIGZpcnN0IGFycmF5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDpcbiAgICAgKiAodmFsdWUpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5wdWxsQWxsQnlgLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBleGNsdWRlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGlmZmVyZW5jZUJ5KFsyLjEsIDEuMl0sIFsyLjMsIDMuNF0sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsxLjJdXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRpZmZlcmVuY2VCeShbeyAneCc6IDIgfSwgeyAneCc6IDEgfV0sIFt7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDIgfV1cbiAgICAgKi9cbiAgICB2YXIgZGlmZmVyZW5jZUJ5ID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksIHZhbHVlcykge1xuICAgICAgdmFyIGl0ZXJhdGVlID0gbGFzdCh2YWx1ZXMpO1xuICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSkge1xuICAgICAgICBpdGVyYXRlZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSlcbiAgICAgICAgPyBiYXNlRGlmZmVyZW5jZShhcnJheSwgYmFzZUZsYXR0ZW4odmFsdWVzLCAxLCBpc0FycmF5TGlrZU9iamVjdCwgdHJ1ZSksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSlcbiAgICAgICAgOiBbXTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZGlmZmVyZW5jZWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5YCB0byBgdmFsdWVzYC4gVGhlIG9yZGVyIGFuZFxuICAgICAqIHJlZmVyZW5jZXMgb2YgcmVzdWx0IHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgZmlyc3QgYXJyYXkuIFRoZSBjb21wYXJhdG9yXG4gICAgICogaXMgaW52b2tlZCB3aXRoIHR3byBhcmd1bWVudHM6IChhcnJWYWwsIG90aFZhbCkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLnB1bGxBbGxXaXRoYCwgdGhpcyBtZXRob2QgcmV0dXJucyBhIG5ldyBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9XTtcbiAgICAgKlxuICAgICAqIF8uZGlmZmVyZW5jZVdpdGgob2JqZWN0cywgW3sgJ3gnOiAxLCAneSc6IDIgfV0sIF8uaXNFcXVhbCk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAyLCAneSc6IDEgfV1cbiAgICAgKi9cbiAgICB2YXIgZGlmZmVyZW5jZVdpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheSwgdmFsdWVzKSB7XG4gICAgICB2YXIgY29tcGFyYXRvciA9IGxhc3QodmFsdWVzKTtcbiAgICAgIGlmIChpc0FycmF5TGlrZU9iamVjdChjb21wYXJhdG9yKSkge1xuICAgICAgICBjb21wYXJhdG9yID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KVxuICAgICAgICA/IGJhc2VEaWZmZXJlbmNlKGFycmF5LCBiYXNlRmxhdHRlbih2YWx1ZXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSwgdW5kZWZpbmVkLCBjb21wYXJhdG9yKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBgbmAgZWxlbWVudHMgZHJvcHBlZCBmcm9tIHRoZSBiZWdpbm5pbmcuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC41LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTFdIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gZHJvcC5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kcm9wKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gWzIsIDNdXG4gICAgICpcbiAgICAgKiBfLmRyb3AoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbM11cbiAgICAgKlxuICAgICAqIF8uZHJvcChbMSwgMiwgM10sIDUpO1xuICAgICAqIC8vID0+IFtdXG4gICAgICpcbiAgICAgKiBfLmRyb3AoWzEsIDIsIDNdLCAwKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkcm9wKGFycmF5LCBuLCBndWFyZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgbiA9IChndWFyZCB8fCBuID09PSB1bmRlZmluZWQpID8gMSA6IHRvSW50ZWdlcihuKTtcbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIG4gPCAwID8gMCA6IG4sIGxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBgbmAgZWxlbWVudHMgZHJvcHBlZCBmcm9tIHRoZSBlbmQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTFdIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gZHJvcC5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kcm9wUmlnaHQoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIF8uZHJvcFJpZ2h0KFsxLCAyLCAzXSwgMik7XG4gICAgICogLy8gPT4gWzFdXG4gICAgICpcbiAgICAgKiBfLmRyb3BSaWdodChbMSwgMiwgM10sIDUpO1xuICAgICAqIC8vID0+IFtdXG4gICAgICpcbiAgICAgKiBfLmRyb3BSaWdodChbMSwgMiwgM10sIDApO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRyb3BSaWdodChhcnJheSwgbiwgZ3VhcmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIG4gPSAoZ3VhcmQgfHwgbiA9PT0gdW5kZWZpbmVkKSA/IDEgOiB0b0ludGVnZXIobik7XG4gICAgICBuID0gbGVuZ3RoIC0gbjtcbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIDAsIG4gPCAwID8gMCA6IG4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIGV4Y2x1ZGluZyBlbGVtZW50cyBkcm9wcGVkIGZyb20gdGhlIGVuZC5cbiAgICAgKiBFbGVtZW50cyBhcmUgZHJvcHBlZCB1bnRpbCBgcHJlZGljYXRlYCByZXR1cm5zIGZhbHNleS4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXgsIGFycmF5KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmRyb3BSaWdodFdoaWxlKHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiAhby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wUmlnaHRXaGlsZSh1c2VycywgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5JywgJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZHJvcFJpZ2h0V2hpbGUodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leSddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRyb3BSaWdodFdoaWxlKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknLCAnZnJlZCcsICdwZWJibGVzJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkcm9wUmlnaHRXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIHRydWUsIHRydWUpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgZXhjbHVkaW5nIGVsZW1lbnRzIGRyb3BwZWQgZnJvbSB0aGUgYmVnaW5uaW5nLlxuICAgICAqIEVsZW1lbnRzIGFyZSBkcm9wcGVkIHVudGlsIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5LiBUaGUgcHJlZGljYXRlIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleCwgYXJyYXkpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZHJvcFdoaWxlKHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiAhby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZHJvcFdoaWxlKHVzZXJzLCB7ICd1c2VyJzogJ2Jhcm5leScsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnLCAncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wV2hpbGUodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wV2hpbGUodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leScsICdmcmVkJywgJ3BlYmJsZXMnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRyb3BXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIHRydWUpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmlsbHMgZWxlbWVudHMgb2YgYGFycmF5YCB3aXRoIGB2YWx1ZWAgZnJvbSBgc3RhcnRgIHVwIHRvLCBidXQgbm90XG4gICAgICogaW5jbHVkaW5nLCBgZW5kYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmlsbC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBmaWxsIGBhcnJheWAgd2l0aC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2VuZD1hcnJheS5sZW5ndGhdIFRoZSBlbmQgcG9zaXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxLCAyLCAzXTtcbiAgICAgKlxuICAgICAqIF8uZmlsbChhcnJheSwgJ2EnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWydhJywgJ2EnLCAnYSddXG4gICAgICpcbiAgICAgKiBfLmZpbGwoQXJyYXkoMyksIDIpO1xuICAgICAqIC8vID0+IFsyLCAyLCAyXVxuICAgICAqXG4gICAgICogXy5maWxsKFs0LCA2LCA4LCAxMF0sICcqJywgMSwgMyk7XG4gICAgICogLy8gPT4gWzQsICcqJywgJyonLCAxMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaWxsKGFycmF5LCB2YWx1ZSwgc3RhcnQsIGVuZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKHN0YXJ0ICYmIHR5cGVvZiBzdGFydCAhPSAnbnVtYmVyJyAmJiBpc0l0ZXJhdGVlQ2FsbChhcnJheSwgdmFsdWUsIHN0YXJ0KSkge1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlRmlsbChhcnJheSwgdmFsdWUsIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmluZGAgZXhjZXB0IHRoYXQgaXQgcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0XG4gICAgICogZWxlbWVudCBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtmcm9tSW5kZXg9MF0gVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBmb3VuZCBlbGVtZW50LCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmluZEluZGV4KHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLnVzZXIgPT0gJ2Jhcm5leSc7IH0pO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kSW5kZXgodXNlcnMsIHsgJ3VzZXInOiAnZnJlZCcsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kSW5kZXgodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRJbmRleCh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IDJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaW5kSW5kZXgoYXJyYXksIHByZWRpY2F0ZSwgZnJvbUluZGV4KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBmcm9tSW5kZXggPT0gbnVsbCA/IDAgOiB0b0ludGVnZXIoZnJvbUluZGV4KTtcbiAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgaW5kZXggPSBuYXRpdmVNYXgobGVuZ3RoICsgaW5kZXgsIDApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VGaW5kSW5kZXgoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGluZGV4KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZpbmRJbmRleGAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50c1xuICAgICAqIG9mIGBjb2xsZWN0aW9uYCBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtmcm9tSW5kZXg9YXJyYXkubGVuZ3RoLTFdIFRoZSBpbmRleCB0byBzZWFyY2ggZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgZm91bmQgZWxlbWVudCwgZWxzZSBgLTFgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbmRMYXN0SW5kZXgodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8udXNlciA9PSAncGViYmxlcyc7IH0pO1xuICAgICAqIC8vID0+IDJcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kTGFzdEluZGV4KHVzZXJzLCB7ICd1c2VyJzogJ2Jhcm5leScsICdhY3RpdmUnOiB0cnVlIH0pO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRMYXN0SW5kZXgodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRMYXN0SW5kZXgodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAwXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmluZExhc3RJbmRleChhcnJheSwgcHJlZGljYXRlLCBmcm9tSW5kZXgpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IGxlbmd0aCAtIDE7XG4gICAgICBpZiAoZnJvbUluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaW5kZXggPSB0b0ludGVnZXIoZnJvbUluZGV4KTtcbiAgICAgICAgaW5kZXggPSBmcm9tSW5kZXggPCAwXG4gICAgICAgICAgPyBuYXRpdmVNYXgobGVuZ3RoICsgaW5kZXgsIDApXG4gICAgICAgICAgOiBuYXRpdmVNaW4oaW5kZXgsIGxlbmd0aCAtIDEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VGaW5kSW5kZXgoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGluZGV4LCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGbGF0dGVucyBgYXJyYXlgIGEgc2luZ2xlIGxldmVsIGRlZXAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmxhdHRlbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZmxhdHRlbihbMSwgWzIsIFszLCBbNF1dLCA1XV0pO1xuICAgICAqIC8vID0+IFsxLCAyLCBbMywgWzRdXSwgNV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0dGVuKGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZUZsYXR0ZW4oYXJyYXksIDEpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVjdXJzaXZlbHkgZmxhdHRlbnMgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmbGF0dGVuLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZsYXR0ZW5lZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mbGF0dGVuRGVlcChbMSwgWzIsIFszLCBbNF1dLCA1XV0pO1xuICAgICAqIC8vID0+IFsxLCAyLCAzLCA0LCA1XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXR0ZW5EZWVwKGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZUZsYXR0ZW4oYXJyYXksIElORklOSVRZKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlY3Vyc2l2ZWx5IGZsYXR0ZW4gYGFycmF5YCB1cCB0byBgZGVwdGhgIHRpbWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGZsYXR0ZW4uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtkZXB0aD0xXSBUaGUgbWF4aW11bSByZWN1cnNpb24gZGVwdGguXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMSwgWzIsIFszLCBbNF1dLCA1XV07XG4gICAgICpcbiAgICAgKiBfLmZsYXR0ZW5EZXB0aChhcnJheSwgMSk7XG4gICAgICogLy8gPT4gWzEsIDIsIFszLCBbNF1dLCA1XVxuICAgICAqXG4gICAgICogXy5mbGF0dGVuRGVwdGgoYXJyYXksIDIpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzLCBbNF0sIDVdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdHRlbkRlcHRoKGFycmF5LCBkZXB0aCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgZGVwdGggPSBkZXB0aCA9PT0gdW5kZWZpbmVkID8gMSA6IHRvSW50ZWdlcihkZXB0aCk7XG4gICAgICByZXR1cm4gYmFzZUZsYXR0ZW4oYXJyYXksIGRlcHRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW52ZXJzZSBvZiBgXy50b1BhaXJzYDsgdGhpcyBtZXRob2QgcmV0dXJucyBhbiBvYmplY3QgY29tcG9zZWRcbiAgICAgKiBmcm9tIGtleS12YWx1ZSBgcGFpcnNgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gcGFpcnMgVGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZyb21QYWlycyhbWydhJywgMV0sIFsnYicsIDJdXSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gZnJvbVBhaXJzKHBhaXJzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBwYWlycyA9PSBudWxsID8gMCA6IHBhaXJzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSB7fTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHBhaXIgPSBwYWlyc1tpbmRleF07XG4gICAgICAgIHJlc3VsdFtwYWlyWzBdXSA9IHBhaXJbMV07XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBhbGlhcyBmaXJzdFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZmlyc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmhlYWQoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICpcbiAgICAgKiBfLmhlYWQoW10pO1xuICAgICAqIC8vID0+IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSA/IGFycmF5WzBdIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGluZGV4IGF0IHdoaWNoIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGB2YWx1ZWAgaXMgZm91bmQgaW4gYGFycmF5YFxuICAgICAqIHVzaW5nIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLiBJZiBgZnJvbUluZGV4YCBpcyBuZWdhdGl2ZSwgaXQncyB1c2VkIGFzIHRoZVxuICAgICAqIG9mZnNldCBmcm9tIHRoZSBlbmQgb2YgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtmcm9tSW5kZXg9MF0gVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW5kZXhPZihbMSwgMiwgMSwgMl0sIDIpO1xuICAgICAqIC8vID0+IDFcbiAgICAgKlxuICAgICAqIC8vIFNlYXJjaCBmcm9tIHRoZSBgZnJvbUluZGV4YC5cbiAgICAgKiBfLmluZGV4T2YoWzEsIDIsIDEsIDJdLCAyLCAyKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gZnJvbUluZGV4ID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGZyb21JbmRleCk7XG4gICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgIGluZGV4ID0gbmF0aXZlTWF4KGxlbmd0aCArIGluZGV4LCAwKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIGluZGV4KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFsbCBidXQgdGhlIGxhc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pbml0aWFsKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5pdGlhbChhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VTbGljZShhcnJheSwgMCwgLTEpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB1bmlxdWUgdmFsdWVzIHRoYXQgYXJlIGluY2x1ZGVkIGluIGFsbCBnaXZlbiBhcnJheXNcbiAgICAgKiB1c2luZyBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy4gVGhlIG9yZGVyIGFuZCByZWZlcmVuY2VzIG9mIHJlc3VsdCB2YWx1ZXMgYXJlXG4gICAgICogZGV0ZXJtaW5lZCBieSB0aGUgZmlyc3QgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgaW50ZXJzZWN0aW5nIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pbnRlcnNlY3Rpb24oWzIsIDFdLCBbMiwgM10pO1xuICAgICAqIC8vID0+IFsyXVxuICAgICAqL1xuICAgIHZhciBpbnRlcnNlY3Rpb24gPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBtYXBwZWQgPSBhcnJheU1hcChhcnJheXMsIGNhc3RBcnJheUxpa2VPYmplY3QpO1xuICAgICAgcmV0dXJuIChtYXBwZWQubGVuZ3RoICYmIG1hcHBlZFswXSA9PT0gYXJyYXlzWzBdKVxuICAgICAgICA/IGJhc2VJbnRlcnNlY3Rpb24obWFwcGVkKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pbnRlcnNlY3Rpb25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYFxuICAgICAqIHdoaWNoIGlzIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBvZiBlYWNoIGBhcnJheXNgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb25cbiAgICAgKiBieSB3aGljaCB0aGV5J3JlIGNvbXBhcmVkLiBUaGUgb3JkZXIgYW5kIHJlZmVyZW5jZXMgb2YgcmVzdWx0IHZhbHVlcyBhcmVcbiAgICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBmaXJzdCBhcnJheS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6XG4gICAgICogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgaW50ZXJzZWN0aW5nIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pbnRlcnNlY3Rpb25CeShbMi4xLCAxLjJdLCBbMi4zLCAzLjRdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiBbMi4xXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5pbnRlcnNlY3Rpb25CeShbeyAneCc6IDEgfV0sIFt7ICd4JzogMiB9LCB7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEgfV1cbiAgICAgKi9cbiAgICB2YXIgaW50ZXJzZWN0aW9uQnkgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBpdGVyYXRlZSA9IGxhc3QoYXJyYXlzKSxcbiAgICAgICAgICBtYXBwZWQgPSBhcnJheU1hcChhcnJheXMsIGNhc3RBcnJheUxpa2VPYmplY3QpO1xuXG4gICAgICBpZiAoaXRlcmF0ZWUgPT09IGxhc3QobWFwcGVkKSkge1xuICAgICAgICBpdGVyYXRlZSA9IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1hcHBlZC5wb3AoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAobWFwcGVkLmxlbmd0aCAmJiBtYXBwZWRbMF0gPT09IGFycmF5c1swXSlcbiAgICAgICAgPyBiYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pbnRlcnNlY3Rpb25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGNvbXBhcmF0b3JgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCB0byBjb21wYXJlIGVsZW1lbnRzIG9mIGBhcnJheXNgLiBUaGUgb3JkZXIgYW5kIHJlZmVyZW5jZXNcbiAgICAgKiBvZiByZXN1bHQgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBmaXJzdCBhcnJheS4gVGhlIGNvbXBhcmF0b3IgaXNcbiAgICAgKiBpbnZva2VkIHdpdGggdHdvIGFyZ3VtZW50czogKGFyclZhbCwgb3RoVmFsKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBpbnRlcnNlY3RpbmcgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfV07XG4gICAgICogdmFyIG90aGVycyA9IFt7ICd4JzogMSwgJ3knOiAxIH0sIHsgJ3gnOiAxLCAneSc6IDIgfV07XG4gICAgICpcbiAgICAgKiBfLmludGVyc2VjdGlvbldpdGgob2JqZWN0cywgb3RoZXJzLCBfLmlzRXF1YWwpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSwgJ3knOiAyIH1dXG4gICAgICovXG4gICAgdmFyIGludGVyc2VjdGlvbldpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBjb21wYXJhdG9yID0gbGFzdChhcnJheXMpLFxuICAgICAgICAgIG1hcHBlZCA9IGFycmF5TWFwKGFycmF5cywgY2FzdEFycmF5TGlrZU9iamVjdCk7XG5cbiAgICAgIGNvbXBhcmF0b3IgPSB0eXBlb2YgY29tcGFyYXRvciA9PSAnZnVuY3Rpb24nID8gY29tcGFyYXRvciA6IHVuZGVmaW5lZDtcbiAgICAgIGlmIChjb21wYXJhdG9yKSB7XG4gICAgICAgIG1hcHBlZC5wb3AoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAobWFwcGVkLmxlbmd0aCAmJiBtYXBwZWRbMF0gPT09IGFycmF5c1swXSlcbiAgICAgICAgPyBiYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCwgdW5kZWZpbmVkLCBjb21wYXJhdG9yKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYWxsIGVsZW1lbnRzIGluIGBhcnJheWAgaW50byBhIHN0cmluZyBzZXBhcmF0ZWQgYnkgYHNlcGFyYXRvcmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gY29udmVydC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3NlcGFyYXRvcj0nLCddIFRoZSBlbGVtZW50IHNlcGFyYXRvci5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBqb2luZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmpvaW4oWydhJywgJ2InLCAnYyddLCAnficpO1xuICAgICAqIC8vID0+ICdhfmJ+YydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBqb2luKGFycmF5LCBzZXBhcmF0b3IpIHtcbiAgICAgIHJldHVybiBhcnJheSA9PSBudWxsID8gJycgOiBuYXRpdmVKb2luLmNhbGwoYXJyYXksIHNlcGFyYXRvcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbGFzdCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGxhc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmxhc3QoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gbGFzdChhcnJheSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbmd0aCA/IGFycmF5W2xlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaW5kZXhPZmAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGBhcnJheWAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD1hcnJheS5sZW5ndGgtMV0gVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubGFzdEluZGV4T2YoWzEsIDIsIDEsIDJdLCAyKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiAvLyBTZWFyY2ggZnJvbSB0aGUgYGZyb21JbmRleGAuXG4gICAgICogXy5sYXN0SW5kZXhPZihbMSwgMiwgMSwgMl0sIDIsIDIpO1xuICAgICAqIC8vID0+IDFcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsYXN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gbGVuZ3RoO1xuICAgICAgaWYgKGZyb21JbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGluZGV4ID0gdG9JbnRlZ2VyKGZyb21JbmRleCk7XG4gICAgICAgIGluZGV4ID0gaW5kZXggPCAwID8gbmF0aXZlTWF4KGxlbmd0aCArIGluZGV4LCAwKSA6IG5hdGl2ZU1pbihpbmRleCwgbGVuZ3RoIC0gMSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHZhbHVlXG4gICAgICAgID8gc3RyaWN0TGFzdEluZGV4T2YoYXJyYXksIHZhbHVlLCBpbmRleClcbiAgICAgICAgOiBiYXNlRmluZEluZGV4KGFycmF5LCBiYXNlSXNOYU4sIGluZGV4LCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBlbGVtZW50IGF0IGluZGV4IGBuYCBvZiBgYXJyYXlgLiBJZiBgbmAgaXMgbmVnYXRpdmUsIHRoZSBudGhcbiAgICAgKiBlbGVtZW50IGZyb20gdGhlIGVuZCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjExLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTBdIFRoZSBpbmRleCBvZiB0aGUgZWxlbWVudCB0byByZXR1cm4uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG50aCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsnYScsICdiJywgJ2MnLCAnZCddO1xuICAgICAqXG4gICAgICogXy5udGgoYXJyYXksIDEpO1xuICAgICAqIC8vID0+ICdiJ1xuICAgICAqXG4gICAgICogXy5udGgoYXJyYXksIC0yKTtcbiAgICAgKiAvLyA9PiAnYyc7XG4gICAgICovXG4gICAgZnVuY3Rpb24gbnRoKGFycmF5LCBuKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkgPyBiYXNlTnRoKGFycmF5LCB0b0ludGVnZXIobikpIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGdpdmVuIHZhbHVlcyBmcm9tIGBhcnJheWAgdXNpbmdcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8ud2l0aG91dGAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC4gVXNlIGBfLnJlbW92ZWBcbiAgICAgKiB0byByZW1vdmUgZWxlbWVudHMgZnJvbSBhbiBhcnJheSBieSBwcmVkaWNhdGUuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsnYScsICdiJywgJ2MnLCAnYScsICdiJywgJ2MnXTtcbiAgICAgKlxuICAgICAqIF8ucHVsbChhcnJheSwgJ2EnLCAnYycpO1xuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbJ2InLCAnYiddXG4gICAgICovXG4gICAgdmFyIHB1bGwgPSBiYXNlUmVzdChwdWxsQWxsKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucHVsbGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBhbiBhcnJheSBvZiB2YWx1ZXMgdG8gcmVtb3ZlLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5kaWZmZXJlbmNlYCwgdGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSB2YWx1ZXMgVGhlIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsnYScsICdiJywgJ2MnLCAnYScsICdiJywgJ2MnXTtcbiAgICAgKlxuICAgICAqIF8ucHVsbEFsbChhcnJheSwgWydhJywgJ2MnXSk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsnYicsICdiJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwdWxsQWxsKGFycmF5LCB2YWx1ZXMpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoICYmIHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoKVxuICAgICAgICA/IGJhc2VQdWxsQWxsKGFycmF5LCB2YWx1ZXMpXG4gICAgICAgIDogYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5wdWxsQWxsYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCBhbmQgYHZhbHVlc2AgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvblxuICAgICAqIGJ5IHdoaWNoIHRoZXkncmUgY29tcGFyZWQuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5kaWZmZXJlbmNlQnlgLCB0aGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgdmFsdWVzIHRvIHJlbW92ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFt7ICd4JzogMSB9LCB7ICd4JzogMiB9LCB7ICd4JzogMyB9LCB7ICd4JzogMSB9XTtcbiAgICAgKlxuICAgICAqIF8ucHVsbEFsbEJ5KGFycmF5LCBbeyAneCc6IDEgfSwgeyAneCc6IDMgfV0sICd4Jyk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHB1bGxBbGxCeShhcnJheSwgdmFsdWVzLCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGggJiYgdmFsdWVzICYmIHZhbHVlcy5sZW5ndGgpXG4gICAgICAgID8gYmFzZVB1bGxBbGwoYXJyYXksIHZhbHVlcywgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKVxuICAgICAgICA6IGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucHVsbEFsbGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5YCB0byBgdmFsdWVzYC4gVGhlIGNvbXBhcmF0b3IgaXNcbiAgICAgKiBpbnZva2VkIHdpdGggdHdvIGFyZ3VtZW50czogKGFyclZhbCwgb3RoVmFsKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8uZGlmZmVyZW5jZVdpdGhgLCB0aGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgdmFsdWVzIHRvIHJlbW92ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDMsICd5JzogNCB9LCB7ICd4JzogNSwgJ3knOiA2IH1dO1xuICAgICAqXG4gICAgICogXy5wdWxsQWxsV2l0aChhcnJheSwgW3sgJ3gnOiAzLCAneSc6IDQgfV0sIF8uaXNFcXVhbCk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiA1LCAneSc6IDYgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwdWxsQWxsV2l0aChhcnJheSwgdmFsdWVzLCBjb21wYXJhdG9yKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCAmJiB2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aClcbiAgICAgICAgPyBiYXNlUHVsbEFsbChhcnJheSwgdmFsdWVzLCB1bmRlZmluZWQsIGNvbXBhcmF0b3IpXG4gICAgICAgIDogYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBlbGVtZW50cyBmcm9tIGBhcnJheWAgY29ycmVzcG9uZGluZyB0byBgaW5kZXhlc2AgYW5kIHJldHVybnMgYW5cbiAgICAgKiBhcnJheSBvZiByZW1vdmVkIGVsZW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5hdGAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHsuLi4obnVtYmVyfG51bWJlcltdKX0gW2luZGV4ZXNdIFRoZSBpbmRleGVzIG9mIGVsZW1lbnRzIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiByZW1vdmVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbJ2EnLCAnYicsICdjJywgJ2QnXTtcbiAgICAgKiB2YXIgcHVsbGVkID0gXy5wdWxsQXQoYXJyYXksIFsxLCAzXSk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWydhJywgJ2MnXVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2cocHVsbGVkKTtcbiAgICAgKiAvLyA9PiBbJ2InLCAnZCddXG4gICAgICovXG4gICAgdmFyIHB1bGxBdCA9IGZsYXRSZXN0KGZ1bmN0aW9uKGFycmF5LCBpbmRleGVzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0gYmFzZUF0KGFycmF5LCBpbmRleGVzKTtcblxuICAgICAgYmFzZVB1bGxBdChhcnJheSwgYXJyYXlNYXAoaW5kZXhlcywgZnVuY3Rpb24oaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIGlzSW5kZXgoaW5kZXgsIGxlbmd0aCkgPyAraW5kZXggOiBpbmRleDtcbiAgICAgIH0pLnNvcnQoY29tcGFyZUFzY2VuZGluZykpO1xuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgZWxlbWVudHMgZnJvbSBgYXJyYXlgIHRoYXQgYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yXG4gICAgICogYW5kIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIHJlbW92ZWQgZWxlbWVudHMuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4LCBhcnJheSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLmZpbHRlcmAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC4gVXNlIGBfLnB1bGxgXG4gICAgICogdG8gcHVsbCBlbGVtZW50cyBmcm9tIGFuIGFycmF5IGJ5IHZhbHVlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgcmVtb3ZlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDMsIDRdO1xuICAgICAqIHZhciBldmVucyA9IF8ucmVtb3ZlKGFycmF5LCBmdW5jdGlvbihuKSB7XG4gICAgICogICByZXR1cm4gbiAlIDIgPT0gMDtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMSwgM11cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGV2ZW5zKTtcbiAgICAgKiAvLyA9PiBbMiwgNF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZW1vdmUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgaW5kZXhlcyA9IFtdLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgICAgcHJlZGljYXRlID0gZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIGFycmF5KSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgICBpbmRleGVzLnB1c2goaW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBiYXNlUHVsbEF0KGFycmF5LCBpbmRleGVzKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV2ZXJzZXMgYGFycmF5YCBzbyB0aGF0IHRoZSBmaXJzdCBlbGVtZW50IGJlY29tZXMgdGhlIGxhc3QsIHRoZSBzZWNvbmRcbiAgICAgKiBlbGVtZW50IGJlY29tZXMgdGhlIHNlY29uZCB0byBsYXN0LCBhbmQgc28gb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgIGFuZCBpcyBiYXNlZCBvblxuICAgICAqIFtgQXJyYXkjcmV2ZXJzZWBdKGh0dHBzOi8vbWRuLmlvL0FycmF5L3JldmVyc2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDNdO1xuICAgICAqXG4gICAgICogXy5yZXZlcnNlKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMywgMiwgMV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMywgMiwgMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZXZlcnNlKGFycmF5KSB7XG4gICAgICByZXR1cm4gYXJyYXkgPT0gbnVsbCA/IGFycmF5IDogbmF0aXZlUmV2ZXJzZS5jYWxsKGFycmF5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCBmcm9tIGBzdGFydGAgdXAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nLCBgZW5kYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyB1c2VkIGluc3RlYWQgb2ZcbiAgICAgKiBbYEFycmF5I3NsaWNlYF0oaHR0cHM6Ly9tZG4uaW8vQXJyYXkvc2xpY2UpIHRvIGVuc3VyZSBkZW5zZSBhcnJheXMgYXJlXG4gICAgICogcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2xpY2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD0wXSBUaGUgc3RhcnQgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtlbmQ9YXJyYXkubGVuZ3RoXSBUaGUgZW5kIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzbGljZShhcnJheSwgc3RhcnQsIGVuZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGVuZCAmJiB0eXBlb2YgZW5kICE9ICdudW1iZXInICYmIGlzSXRlcmF0ZWVDYWxsKGFycmF5LCBzdGFydCwgZW5kKSkge1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBzdGFydCA9IHN0YXJ0ID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKHN0YXJ0KTtcbiAgICAgICAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW5ndGggOiB0b0ludGVnZXIoZW5kKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZXMgYSBiaW5hcnkgc2VhcmNoIHRvIGRldGVybWluZSB0aGUgbG93ZXN0IGluZGV4IGF0IHdoaWNoIGB2YWx1ZWBcbiAgICAgKiBzaG91bGQgYmUgaW5zZXJ0ZWQgaW50byBgYXJyYXlgIGluIG9yZGVyIHRvIG1haW50YWluIGl0cyBzb3J0IG9yZGVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIHNvcnRlZCBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGV2YWx1YXRlLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zb3J0ZWRJbmRleChbMzAsIDUwXSwgNDApO1xuICAgICAqIC8vID0+IDFcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRJbmRleChhcnJheSwgdmFsdWUpIHtcbiAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnNvcnRlZEluZGV4YCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIGZvciBgdmFsdWVgIGFuZCBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCB0byBjb21wdXRlIHRoZWlyXG4gICAgICogc29ydCByYW5raW5nLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICAgKiAgaW50byBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogNCB9LCB7ICd4JzogNSB9XTtcbiAgICAgKlxuICAgICAqIF8uc29ydGVkSW5kZXhCeShvYmplY3RzLCB7ICd4JzogNCB9LCBmdW5jdGlvbihvKSB7IHJldHVybiBvLng7IH0pO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uc29ydGVkSW5kZXhCeShvYmplY3RzLCB7ICd4JzogNCB9LCAneCcpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRJbmRleEJ5KGFycmF5LCB2YWx1ZSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pbmRleE9mYCBleGNlcHQgdGhhdCBpdCBwZXJmb3JtcyBhIGJpbmFyeVxuICAgICAqIHNlYXJjaCBvbiBhIHNvcnRlZCBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZEluZGV4T2YoWzQsIDUsIDUsIDUsIDZdLCA1KTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkSW5kZXhPZihhcnJheSwgdmFsdWUpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGgpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gYmFzZVNvcnRlZEluZGV4KGFycmF5LCB2YWx1ZSk7XG4gICAgICAgIGlmIChpbmRleCA8IGxlbmd0aCAmJiBlcShhcnJheVtpbmRleF0sIHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc29ydGVkSW5kZXhgIGV4Y2VwdCB0aGF0IGl0IHJldHVybnMgdGhlIGhpZ2hlc3RcbiAgICAgKiBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZCBpbnRvIGBhcnJheWAgaW4gb3JkZXIgdG9cbiAgICAgKiBtYWludGFpbiBpdHMgc29ydCBvcmRlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZFxuICAgICAqICBpbnRvIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29ydGVkTGFzdEluZGV4KFs0LCA1LCA1LCA1LCA2XSwgNSk7XG4gICAgICogLy8gPT4gNFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZExhc3RJbmRleChhcnJheSwgdmFsdWUpIHtcbiAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnNvcnRlZExhc3RJbmRleGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCBmb3IgYHZhbHVlYCBhbmQgZWFjaCBlbGVtZW50IG9mIGBhcnJheWAgdG8gY29tcHV0ZSB0aGVpclxuICAgICAqIHNvcnQgcmFua2luZy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgc29ydGVkIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZXZhbHVhdGUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDQgfSwgeyAneCc6IDUgfV07XG4gICAgICpcbiAgICAgKiBfLnNvcnRlZExhc3RJbmRleEJ5KG9iamVjdHMsIHsgJ3gnOiA0IH0sIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8ueDsgfSk7XG4gICAgICogLy8gPT4gMVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb3J0ZWRMYXN0SW5kZXhCeShvYmplY3RzLCB7ICd4JzogNCB9LCAneCcpO1xuICAgICAqIC8vID0+IDFcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXhCeShhcnJheSwgdmFsdWUsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksIHZhbHVlLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMiksIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubGFzdEluZGV4T2ZgIGV4Y2VwdCB0aGF0IGl0IHBlcmZvcm1zIGEgYmluYXJ5XG4gICAgICogc2VhcmNoIG9uIGEgc29ydGVkIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29ydGVkTGFzdEluZGV4T2YoWzQsIDUsIDUsIDUsIDZdLCA1KTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkTGFzdEluZGV4T2YoYXJyYXksIHZhbHVlKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoKSB7XG4gICAgICAgIHZhciBpbmRleCA9IGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUsIHRydWUpIC0gMTtcbiAgICAgICAgaWYgKGVxKGFycmF5W2luZGV4XSwgdmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bmlxYCBleGNlcHQgdGhhdCBpdCdzIGRlc2lnbmVkIGFuZCBvcHRpbWl6ZWRcbiAgICAgKiBmb3Igc29ydGVkIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZFVuaXEoWzEsIDEsIDJdKTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRVbmlxKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlU29ydGVkVW5pcShhcnJheSlcbiAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaXFCeWAgZXhjZXB0IHRoYXQgaXQncyBkZXNpZ25lZCBhbmQgb3B0aW1pemVkXG4gICAgICogZm9yIHNvcnRlZCBhcnJheXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWVdIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZFVuaXFCeShbMS4xLCAxLjIsIDIuMywgMi40XSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4gWzEuMSwgMi4zXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZFVuaXFCeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VTb3J0ZWRVbmlxKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgYnV0IHRoZSBmaXJzdCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRhaWwoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0YWlsKGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZVNsaWNlKGFycmF5LCAxLCBsZW5ndGgpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBgbmAgZWxlbWVudHMgdGFrZW4gZnJvbSB0aGUgYmVnaW5uaW5nLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHRha2UuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGFrZShbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IFsxXVxuICAgICAqXG4gICAgICogXy50YWtlKFsxLCAyLCAzXSwgMik7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICpcbiAgICAgKiBfLnRha2UoWzEsIDIsIDNdLCA1KTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIF8udGFrZShbMSwgMiwgM10sIDApO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGFrZShhcnJheSwgbiwgZ3VhcmQpIHtcbiAgICAgIGlmICghKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgbiA9IChndWFyZCB8fCBuID09PSB1bmRlZmluZWQpID8gMSA6IHRvSW50ZWdlcihuKTtcbiAgICAgIHJldHVybiBiYXNlU2xpY2UoYXJyYXksIDAsIG4gPCAwID8gMCA6IG4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIHdpdGggYG5gIGVsZW1lbnRzIHRha2VuIGZyb20gdGhlIGVuZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MV0gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byB0YWtlLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRha2VSaWdodChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IFszXVxuICAgICAqXG4gICAgICogXy50YWtlUmlnaHQoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbMiwgM11cbiAgICAgKlxuICAgICAqIF8udGFrZVJpZ2h0KFsxLCAyLCAzXSwgNSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBfLnRha2VSaWdodChbMSwgMiwgM10sIDApO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGFrZVJpZ2h0KGFycmF5LCBuLCBndWFyZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgbiA9IChndWFyZCB8fCBuID09PSB1bmRlZmluZWQpID8gMSA6IHRvSW50ZWdlcihuKTtcbiAgICAgIG4gPSBsZW5ndGggLSBuO1xuICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgbiA8IDAgPyAwIDogbiwgbGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCB3aXRoIGVsZW1lbnRzIHRha2VuIGZyb20gdGhlIGVuZC4gRWxlbWVudHMgYXJlXG4gICAgICogdGFrZW4gdW50aWwgYHByZWRpY2F0ZWAgcmV0dXJucyBmYWxzZXkuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoXG4gICAgICogdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4LCBhcnJheSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy50YWtlUmlnaHRXaGlsZSh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnLCAncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udGFrZVJpZ2h0V2hpbGUodXNlcnMsIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udGFrZVJpZ2h0V2hpbGUodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnLCAncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnRha2VSaWdodFdoaWxlKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0YWtlUmlnaHRXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGZhbHNlLCB0cnVlKVxuICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIHdpdGggZWxlbWVudHMgdGFrZW4gZnJvbSB0aGUgYmVnaW5uaW5nLiBFbGVtZW50c1xuICAgICAqIGFyZSB0YWtlbiB1bnRpbCBgcHJlZGljYXRlYCByZXR1cm5zIGZhbHNleS4gVGhlIHByZWRpY2F0ZSBpcyBpbnZva2VkIHdpdGhcbiAgICAgKiB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXgsIGFycmF5KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnRha2VXaGlsZSh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leScsICdmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy50YWtlV2hpbGUodXNlcnMsIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnRha2VXaGlsZSh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5JywgJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy50YWtlV2hpbGUodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRha2VXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMykpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB1bmlxdWUgdmFsdWVzLCBpbiBvcmRlciwgZnJvbSBhbGwgZ2l2ZW4gYXJyYXlzIHVzaW5nXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY29tYmluZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaW9uKFsyXSwgWzEsIDJdKTtcbiAgICAgKiAvLyA9PiBbMiwgMV1cbiAgICAgKi9cbiAgICB2YXIgdW5pb24gPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaW9uYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgb2YgZWFjaCBgYXJyYXlzYCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uIGJ5XG4gICAgICogd2hpY2ggdW5pcXVlbmVzcyBpcyBjb21wdXRlZC4gUmVzdWx0IHZhbHVlcyBhcmUgY2hvc2VuIGZyb20gdGhlIGZpcnN0XG4gICAgICogYXJyYXkgaW4gd2hpY2ggdGhlIHZhbHVlIG9jY3Vycy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6XG4gICAgICogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY29tYmluZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaW9uQnkoWzIuMV0sIFsxLjIsIDIuM10sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsyLjEsIDEuMl1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udW5pb25CeShbeyAneCc6IDEgfV0sIFt7ICd4JzogMiB9LCB7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEgfSwgeyAneCc6IDIgfV1cbiAgICAgKi9cbiAgICB2YXIgdW5pb25CeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIGl0ZXJhdGVlID0gbGFzdChhcnJheXMpO1xuICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSkge1xuICAgICAgICBpdGVyYXRlZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW5pb25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGNvbXBhcmF0b3JgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBjb21wYXJlIGVsZW1lbnRzIG9mIGBhcnJheXNgLiBSZXN1bHQgdmFsdWVzIGFyZSBjaG9zZW4gZnJvbVxuICAgICAqIHRoZSBmaXJzdCBhcnJheSBpbiB3aGljaCB0aGUgdmFsdWUgb2NjdXJzLiBUaGUgY29tcGFyYXRvciBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGNvbWJpbmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH1dO1xuICAgICAqIHZhciBvdGhlcnMgPSBbeyAneCc6IDEsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAyIH1dO1xuICAgICAqXG4gICAgICogXy51bmlvbldpdGgob2JqZWN0cywgb3RoZXJzLCBfLmlzRXF1YWwpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfSwgeyAneCc6IDEsICd5JzogMSB9XVxuICAgICAqL1xuICAgIHZhciB1bmlvbldpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBjb21wYXJhdG9yID0gbGFzdChhcnJheXMpO1xuICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09ICdmdW5jdGlvbicgPyBjb21wYXJhdG9yIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKGFycmF5cywgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpLCB1bmRlZmluZWQsIGNvbXBhcmF0b3IpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGR1cGxpY2F0ZS1mcmVlIHZlcnNpb24gb2YgYW4gYXJyYXksIHVzaW5nXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMsIGluIHdoaWNoIG9ubHkgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgZWFjaCBlbGVtZW50XG4gICAgICogaXMga2VwdC4gVGhlIG9yZGVyIG9mIHJlc3VsdCB2YWx1ZXMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgdGhleSBvY2N1clxuICAgICAqIGluIHRoZSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaXEoWzIsIDEsIDJdKTtcbiAgICAgKiAvLyA9PiBbMiwgMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmlxKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkgPyBiYXNlVW5pcShhcnJheSkgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaXFgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBpbiBgYXJyYXlgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb24gYnkgd2hpY2hcbiAgICAgKiB1bmlxdWVuZXNzIGlzIGNvbXB1dGVkLiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZVxuICAgICAqIG9yZGVyIHRoZXkgb2NjdXIgaW4gdGhlIGFycmF5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDpcbiAgICAgKiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGR1cGxpY2F0ZSBmcmVlIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaXFCeShbMi4xLCAxLjIsIDIuM10sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsyLjEsIDEuMl1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udW5pcUJ5KFt7ICd4JzogMSB9LCB7ICd4JzogMiB9LCB7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDEgfSwgeyAneCc6IDIgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmlxQnkoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkgPyBiYXNlVW5pcShhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW5pcWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5YC4gVGhlIG9yZGVyIG9mIHJlc3VsdCB2YWx1ZXMgaXNcbiAgICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBvcmRlciB0aGV5IG9jY3VyIGluIHRoZSBhcnJheS5UaGUgY29tcGFyYXRvciBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAyIH1dO1xuICAgICAqXG4gICAgICogXy51bmlxV2l0aChvYmplY3RzLCBfLmlzRXF1YWwpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmlxV2l0aChhcnJheSwgY29tcGFyYXRvcikge1xuICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09ICdmdW5jdGlvbicgPyBjb21wYXJhdG9yIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpID8gYmFzZVVuaXEoYXJyYXksIHVuZGVmaW5lZCwgY29tcGFyYXRvcikgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnppcGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBhbiBhcnJheSBvZiBncm91cGVkXG4gICAgICogZWxlbWVudHMgYW5kIGNyZWF0ZXMgYW4gYXJyYXkgcmVncm91cGluZyB0aGUgZWxlbWVudHMgdG8gdGhlaXIgcHJlLXppcFxuICAgICAqIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgb2YgZ3JvdXBlZCBlbGVtZW50cyB0byBwcm9jZXNzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHJlZ3JvdXBlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHppcHBlZCA9IF8uemlwKFsnYScsICdiJ10sIFsxLCAyXSwgW3RydWUsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gW1snYScsIDEsIHRydWVdLCBbJ2InLCAyLCBmYWxzZV1dXG4gICAgICpcbiAgICAgKiBfLnVuemlwKHppcHBlZCk7XG4gICAgICogLy8gPT4gW1snYScsICdiJ10sIFsxLCAyXSwgW3RydWUsIGZhbHNlXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bnppcChhcnJheSkge1xuICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gMDtcbiAgICAgIGFycmF5ID0gYXJyYXlGaWx0ZXIoYXJyYXksIGZ1bmN0aW9uKGdyb3VwKSB7XG4gICAgICAgIGlmIChpc0FycmF5TGlrZU9iamVjdChncm91cCkpIHtcbiAgICAgICAgICBsZW5ndGggPSBuYXRpdmVNYXgoZ3JvdXAubGVuZ3RoLCBsZW5ndGgpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBiYXNlVGltZXMobGVuZ3RoLCBmdW5jdGlvbihpbmRleCkge1xuICAgICAgICByZXR1cm4gYXJyYXlNYXAoYXJyYXksIGJhc2VQcm9wZXJ0eShpbmRleCkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bnppcGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHRvIHNwZWNpZnlcbiAgICAgKiBob3cgcmVncm91cGVkIHZhbHVlcyBzaG91bGQgYmUgY29tYmluZWQuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhlXG4gICAgICogZWxlbWVudHMgb2YgZWFjaCBncm91cDogKC4uLmdyb3VwKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjguMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzIHRvIHByb2Nlc3MuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiB0byBjb21iaW5lXG4gICAgICogIHJlZ3JvdXBlZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgcmVncm91cGVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgemlwcGVkID0gXy56aXAoWzEsIDJdLCBbMTAsIDIwXSwgWzEwMCwgMjAwXSk7XG4gICAgICogLy8gPT4gW1sxLCAxMCwgMTAwXSwgWzIsIDIwLCAyMDBdXVxuICAgICAqXG4gICAgICogXy51bnppcFdpdGgoemlwcGVkLCBfLmFkZCk7XG4gICAgICogLy8gPT4gWzMsIDMwLCAzMDBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW56aXBXaXRoKGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gdW56aXAoYXJyYXkpO1xuICAgICAgaWYgKGl0ZXJhdGVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheU1hcChyZXN1bHQsIGZ1bmN0aW9uKGdyb3VwKSB7XG4gICAgICAgIHJldHVybiBhcHBseShpdGVyYXRlZSwgdW5kZWZpbmVkLCBncm91cCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IGV4Y2x1ZGluZyBhbGwgZ2l2ZW4gdmFsdWVzIHVzaW5nXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLnB1bGxgLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbdmFsdWVzXSBUaGUgdmFsdWVzIHRvIGV4Y2x1ZGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBzZWUgXy5kaWZmZXJlbmNlLCBfLnhvclxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLndpdGhvdXQoWzIsIDEsIDIsIDNdLCAxLCAyKTtcbiAgICAgKiAvLyA9PiBbM11cbiAgICAgKi9cbiAgICB2YXIgd2l0aG91dCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5LCB2YWx1ZXMpIHtcbiAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSlcbiAgICAgICAgPyBiYXNlRGlmZmVyZW5jZShhcnJheSwgdmFsdWVzKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB1bmlxdWUgdmFsdWVzIHRoYXQgaXMgdGhlXG4gICAgICogW3N5bW1ldHJpYyBkaWZmZXJlbmNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TeW1tZXRyaWNfZGlmZmVyZW5jZSlcbiAgICAgKiBvZiB0aGUgZ2l2ZW4gYXJyYXlzLiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBvcmRlclxuICAgICAqIHRoZXkgb2NjdXIgaW4gdGhlIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQHNlZSBfLmRpZmZlcmVuY2UsIF8ud2l0aG91dFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnhvcihbMiwgMV0sIFsyLCAzXSk7XG4gICAgICogLy8gPT4gWzEsIDNdXG4gICAgICovXG4gICAgdmFyIHhvciA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgcmV0dXJuIGJhc2VYb3IoYXJyYXlGaWx0ZXIoYXJyYXlzLCBpc0FycmF5TGlrZU9iamVjdCkpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy54b3JgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBvZiBlYWNoIGBhcnJheXNgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb24gYnlcbiAgICAgKiB3aGljaCBieSB3aGljaCB0aGV5J3JlIGNvbXBhcmVkLiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpcyBkZXRlcm1pbmVkXG4gICAgICogYnkgdGhlIG9yZGVyIHRoZXkgb2NjdXIgaW4gdGhlIGFycmF5cy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmVcbiAgICAgKiBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnhvckJ5KFsyLjEsIDEuMl0sIFsyLjMsIDMuNF0sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsxLjIsIDMuNF1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ueG9yQnkoW3sgJ3gnOiAxIH1dLCBbeyAneCc6IDIgfSwgeyAneCc6IDEgfV0sICd4Jyk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAyIH1dXG4gICAgICovXG4gICAgdmFyIHhvckJ5ID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgaXRlcmF0ZWUgPSBsYXN0KGFycmF5cyk7XG4gICAgICBpZiAoaXNBcnJheUxpa2VPYmplY3QoaXRlcmF0ZWUpKSB7XG4gICAgICAgIGl0ZXJhdGVlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VYb3IoYXJyYXlGaWx0ZXIoYXJyYXlzLCBpc0FycmF5TGlrZU9iamVjdCksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnhvcmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5c2AuIFRoZSBvcmRlciBvZiByZXN1bHQgdmFsdWVzIGlzXG4gICAgICogZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgdGhleSBvY2N1ciBpbiB0aGUgYXJyYXlzLiBUaGUgY29tcGFyYXRvciBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH1dO1xuICAgICAqIHZhciBvdGhlcnMgPSBbeyAneCc6IDEsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAyIH1dO1xuICAgICAqXG4gICAgICogXy54b3JXaXRoKG9iamVjdHMsIG90aGVycywgXy5pc0VxdWFsKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDIsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAxIH1dXG4gICAgICovXG4gICAgdmFyIHhvcldpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBjb21wYXJhdG9yID0gbGFzdChhcnJheXMpO1xuICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09ICdmdW5jdGlvbicgPyBjb21wYXJhdG9yIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VYb3IoYXJyYXlGaWx0ZXIoYXJyYXlzLCBpc0FycmF5TGlrZU9iamVjdCksIHVuZGVmaW5lZCwgY29tcGFyYXRvcik7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGdyb3VwZWQgZWxlbWVudHMsIHRoZSBmaXJzdCBvZiB3aGljaCBjb250YWlucyB0aGVcbiAgICAgKiBmaXJzdCBlbGVtZW50cyBvZiB0aGUgZ2l2ZW4gYXJyYXlzLCB0aGUgc2Vjb25kIG9mIHdoaWNoIGNvbnRhaW5zIHRoZVxuICAgICAqIHNlY29uZCBlbGVtZW50cyBvZiB0aGUgZ2l2ZW4gYXJyYXlzLCBhbmQgc28gb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZ3JvdXBlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy56aXAoWydhJywgJ2InXSwgWzEsIDJdLCBbdHJ1ZSwgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBbWydhJywgMSwgdHJ1ZV0sIFsnYicsIDIsIGZhbHNlXV1cbiAgICAgKi9cbiAgICB2YXIgemlwID0gYmFzZVJlc3QodW56aXApO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mcm9tUGFpcnNgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgdHdvIGFycmF5cyxcbiAgICAgKiBvbmUgb2YgcHJvcGVydHkgaWRlbnRpZmllcnMgYW5kIG9uZSBvZiBjb3JyZXNwb25kaW5nIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjQuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwcm9wcz1bXV0gVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFt2YWx1ZXM9W11dIFRoZSBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy56aXBPYmplY3QoWydhJywgJ2InXSwgWzEsIDJdKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB6aXBPYmplY3QocHJvcHMsIHZhbHVlcykge1xuICAgICAgcmV0dXJuIGJhc2VaaXBPYmplY3QocHJvcHMgfHwgW10sIHZhbHVlcyB8fCBbXSwgYXNzaWduVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uemlwT2JqZWN0YCBleGNlcHQgdGhhdCBpdCBzdXBwb3J0cyBwcm9wZXJ0eSBwYXRocy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwcm9wcz1bXV0gVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFt2YWx1ZXM9W11dIFRoZSBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy56aXBPYmplY3REZWVwKFsnYS5iWzBdLmMnLCAnYS5iWzFdLmQnXSwgWzEsIDJdKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogeyAnYic6IFt7ICdjJzogMSB9LCB7ICdkJzogMiB9XSB9IH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB6aXBPYmplY3REZWVwKHByb3BzLCB2YWx1ZXMpIHtcbiAgICAgIHJldHVybiBiYXNlWmlwT2JqZWN0KHByb3BzIHx8IFtdLCB2YWx1ZXMgfHwgW10sIGJhc2VTZXQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uemlwYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgdG8gc3BlY2lmeVxuICAgICAqIGhvdyBncm91cGVkIHZhbHVlcyBzaG91bGQgYmUgY29tYmluZWQuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhlXG4gICAgICogZWxlbWVudHMgb2YgZWFjaCBncm91cDogKC4uLmdyb3VwKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjguMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIHRvIGNvbWJpbmVcbiAgICAgKiAgZ3JvdXBlZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZ3JvdXBlZCBlbGVtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy56aXBXaXRoKFsxLCAyXSwgWzEwLCAyMF0sIFsxMDAsIDIwMF0sIGZ1bmN0aW9uKGEsIGIsIGMpIHtcbiAgICAgKiAgIHJldHVybiBhICsgYiArIGM7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gWzExMSwgMjIyXVxuICAgICAqL1xuICAgIHZhciB6aXBXaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXlzLmxlbmd0aCxcbiAgICAgICAgICBpdGVyYXRlZSA9IGxlbmd0aCA+IDEgPyBhcnJheXNbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG5cbiAgICAgIGl0ZXJhdGVlID0gdHlwZW9mIGl0ZXJhdGVlID09ICdmdW5jdGlvbicgPyAoYXJyYXlzLnBvcCgpLCBpdGVyYXRlZSkgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gdW56aXBXaXRoKGFycmF5cywgaXRlcmF0ZWUpO1xuICAgIH0pO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UgdGhhdCB3cmFwcyBgdmFsdWVgIHdpdGggZXhwbGljaXQgbWV0aG9kXG4gICAgICogY2hhaW4gc2VxdWVuY2VzIGVuYWJsZWQuIFRoZSByZXN1bHQgb2Ygc3VjaCBzZXF1ZW5jZXMgbXVzdCBiZSB1bndyYXBwZWRcbiAgICAgKiB3aXRoIGBfI3ZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjMuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byB3cmFwLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWdlJzogMzYgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgICdhZ2UnOiA0MCB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FnZSc6IDEgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiB2YXIgeW91bmdlc3QgPSBfXG4gICAgICogICAuY2hhaW4odXNlcnMpXG4gICAgICogICAuc29ydEJ5KCdhZ2UnKVxuICAgICAqICAgLm1hcChmdW5jdGlvbihvKSB7XG4gICAgICogICAgIHJldHVybiBvLnVzZXIgKyAnIGlzICcgKyBvLmFnZTtcbiAgICAgKiAgIH0pXG4gICAgICogICAuaGVhZCgpXG4gICAgICogICAudmFsdWUoKTtcbiAgICAgKiAvLyA9PiAncGViYmxlcyBpcyAxJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNoYWluKHZhbHVlKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbG9kYXNoKHZhbHVlKTtcbiAgICAgIHJlc3VsdC5fX2NoYWluX18gPSB0cnVlO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpbnZva2VzIGBpbnRlcmNlcHRvcmAgYW5kIHJldHVybnMgYHZhbHVlYC4gVGhlIGludGVyY2VwdG9yXG4gICAgICogaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDsgKHZhbHVlKS4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG9cbiAgICAgKiBcInRhcCBpbnRvXCIgYSBtZXRob2QgY2hhaW4gc2VxdWVuY2UgaW4gb3JkZXIgdG8gbW9kaWZ5IGludGVybWVkaWF0ZSByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb3ZpZGUgdG8gYGludGVyY2VwdG9yYC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpbnRlcmNlcHRvciBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIGB2YWx1ZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8oWzEsIDIsIDNdKVxuICAgICAqICAudGFwKGZ1bmN0aW9uKGFycmF5KSB7XG4gICAgICogICAgLy8gTXV0YXRlIGlucHV0IGFycmF5LlxuICAgICAqICAgIGFycmF5LnBvcCgpO1xuICAgICAqICB9KVxuICAgICAqICAucmV2ZXJzZSgpXG4gICAgICogIC52YWx1ZSgpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRhcCh2YWx1ZSwgaW50ZXJjZXB0b3IpIHtcbiAgICAgIGludGVyY2VwdG9yKHZhbHVlKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnRhcGAgZXhjZXB0IHRoYXQgaXQgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGBpbnRlcmNlcHRvcmAuXG4gICAgICogVGhlIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8gXCJwYXNzIHRocnVcIiB2YWx1ZXMgcmVwbGFjaW5nIGludGVybWVkaWF0ZVxuICAgICAqIHJlc3VsdHMgaW4gYSBtZXRob2QgY2hhaW4gc2VxdWVuY2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcHJvdmlkZSB0byBgaW50ZXJjZXB0b3JgLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGludGVyY2VwdG9yIFRoZSBmdW5jdGlvbiB0byBpbnZva2UuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc3VsdCBvZiBgaW50ZXJjZXB0b3JgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfKCcgIGFiYyAgJylcbiAgICAgKiAgLmNoYWluKClcbiAgICAgKiAgLnRyaW0oKVxuICAgICAqICAudGhydShmdW5jdGlvbih2YWx1ZSkge1xuICAgICAqICAgIHJldHVybiBbdmFsdWVdO1xuICAgICAqICB9KVxuICAgICAqICAudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbJ2FiYyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGhydSh2YWx1ZSwgaW50ZXJjZXB0b3IpIHtcbiAgICAgIHJldHVybiBpbnRlcmNlcHRvcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgdGhlIHdyYXBwZXIgdmVyc2lvbiBvZiBgXy5hdGAuXG4gICAgICpcbiAgICAgKiBAbmFtZSBhdFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMC4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEBwYXJhbSB7Li4uKHN0cmluZ3xzdHJpbmdbXSl9IFtwYXRoc10gVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogMyB9IH0sIDRdIH07XG4gICAgICpcbiAgICAgKiBfKG9iamVjdCkuYXQoWydhWzBdLmIuYycsICdhWzFdJ10pLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWzMsIDRdXG4gICAgICovXG4gICAgdmFyIHdyYXBwZXJBdCA9IGZsYXRSZXN0KGZ1bmN0aW9uKHBhdGhzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gcGF0aHMubGVuZ3RoLFxuICAgICAgICAgIHN0YXJ0ID0gbGVuZ3RoID8gcGF0aHNbMF0gOiAwLFxuICAgICAgICAgIHZhbHVlID0gdGhpcy5fX3dyYXBwZWRfXyxcbiAgICAgICAgICBpbnRlcmNlcHRvciA9IGZ1bmN0aW9uKG9iamVjdCkgeyByZXR1cm4gYmFzZUF0KG9iamVjdCwgcGF0aHMpOyB9O1xuXG4gICAgICBpZiAobGVuZ3RoID4gMSB8fCB0aGlzLl9fYWN0aW9uc19fLmxlbmd0aCB8fFxuICAgICAgICAgICEodmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikgfHwgIWlzSW5kZXgoc3RhcnQpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRocnUoaW50ZXJjZXB0b3IpO1xuICAgICAgfVxuICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZShzdGFydCwgK3N0YXJ0ICsgKGxlbmd0aCA/IDEgOiAwKSk7XG4gICAgICB2YWx1ZS5fX2FjdGlvbnNfXy5wdXNoKHtcbiAgICAgICAgJ2Z1bmMnOiB0aHJ1LFxuICAgICAgICAnYXJncyc6IFtpbnRlcmNlcHRvcl0sXG4gICAgICAgICd0aGlzQXJnJzogdW5kZWZpbmVkXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBuZXcgTG9kYXNoV3JhcHBlcih2YWx1ZSwgdGhpcy5fX2NoYWluX18pLnRocnUoZnVuY3Rpb24oYXJyYXkpIHtcbiAgICAgICAgaWYgKGxlbmd0aCAmJiAhYXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgYXJyYXkucHVzaCh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2Ugd2l0aCBleHBsaWNpdCBtZXRob2QgY2hhaW4gc2VxdWVuY2VzIGVuYWJsZWQuXG4gICAgICpcbiAgICAgKiBAbmFtZSBjaGFpblxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiAvLyBBIHNlcXVlbmNlIHdpdGhvdXQgZXhwbGljaXQgY2hhaW5pbmcuXG4gICAgICogXyh1c2VycykuaGVhZCgpO1xuICAgICAqIC8vID0+IHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2IH1cbiAgICAgKlxuICAgICAqIC8vIEEgc2VxdWVuY2Ugd2l0aCBleHBsaWNpdCBjaGFpbmluZy5cbiAgICAgKiBfKHVzZXJzKVxuICAgICAqICAgLmNoYWluKClcbiAgICAgKiAgIC5oZWFkKClcbiAgICAgKiAgIC5waWNrKCd1c2VyJylcbiAgICAgKiAgIC52YWx1ZSgpO1xuICAgICAqIC8vID0+IHsgJ3VzZXInOiAnYmFybmV5JyB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlckNoYWluKCkge1xuICAgICAgcmV0dXJuIGNoYWluKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHRoZSBjaGFpbiBzZXF1ZW5jZSBhbmQgcmV0dXJucyB0aGUgd3JhcHBlZCByZXN1bHQuXG4gICAgICpcbiAgICAgKiBAbmFtZSBjb21taXRcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjIuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDJdO1xuICAgICAqIHZhciB3cmFwcGVkID0gXyhhcnJheSkucHVzaCgzKTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIHdyYXBwZWQgPSB3cmFwcGVkLmNvbW1pdCgpO1xuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIHdyYXBwZWQubGFzdCgpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyQ29tbWl0KCkge1xuICAgICAgcmV0dXJuIG5ldyBMb2Rhc2hXcmFwcGVyKHRoaXMudmFsdWUoKSwgdGhpcy5fX2NoYWluX18pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5leHQgdmFsdWUgb24gYSB3cmFwcGVkIG9iamVjdCBmb2xsb3dpbmcgdGhlXG4gICAgICogW2l0ZXJhdG9yIHByb3RvY29sXShodHRwczovL21kbi5pby9pdGVyYXRpb25fcHJvdG9jb2xzI2l0ZXJhdG9yKS5cbiAgICAgKlxuICAgICAqIEBuYW1lIG5leHRcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXh0IGl0ZXJhdG9yIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgd3JhcHBlZCA9IF8oWzEsIDJdKTtcbiAgICAgKlxuICAgICAqIHdyYXBwZWQubmV4dCgpO1xuICAgICAqIC8vID0+IHsgJ2RvbmUnOiBmYWxzZSwgJ3ZhbHVlJzogMSB9XG4gICAgICpcbiAgICAgKiB3cmFwcGVkLm5leHQoKTtcbiAgICAgKiAvLyA9PiB7ICdkb25lJzogZmFsc2UsICd2YWx1ZSc6IDIgfVxuICAgICAqXG4gICAgICogd3JhcHBlZC5uZXh0KCk7XG4gICAgICogLy8gPT4geyAnZG9uZSc6IHRydWUsICd2YWx1ZSc6IHVuZGVmaW5lZCB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlck5leHQoKSB7XG4gICAgICBpZiAodGhpcy5fX3ZhbHVlc19fID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fX3ZhbHVlc19fID0gdG9BcnJheSh0aGlzLnZhbHVlKCkpO1xuICAgICAgfVxuICAgICAgdmFyIGRvbmUgPSB0aGlzLl9faW5kZXhfXyA+PSB0aGlzLl9fdmFsdWVzX18ubGVuZ3RoLFxuICAgICAgICAgIHZhbHVlID0gZG9uZSA/IHVuZGVmaW5lZCA6IHRoaXMuX192YWx1ZXNfX1t0aGlzLl9faW5kZXhfXysrXTtcblxuICAgICAgcmV0dXJuIHsgJ2RvbmUnOiBkb25lLCAndmFsdWUnOiB2YWx1ZSB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuYWJsZXMgdGhlIHdyYXBwZXIgdG8gYmUgaXRlcmFibGUuXG4gICAgICpcbiAgICAgKiBAbmFtZSBTeW1ib2wuaXRlcmF0b3JcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSB3cmFwcGVyIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHdyYXBwZWQgPSBfKFsxLCAyXSk7XG4gICAgICpcbiAgICAgKiB3cmFwcGVkW1N5bWJvbC5pdGVyYXRvcl0oKSA9PT0gd3JhcHBlZDtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBBcnJheS5mcm9tKHdyYXBwZWQpO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJUb0l0ZXJhdG9yKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIHRoZSBjaGFpbiBzZXF1ZW5jZSBwbGFudGluZyBgdmFsdWVgIGFzIHRoZSB3cmFwcGVkIHZhbHVlLlxuICAgICAqXG4gICAgICogQG5hbWUgcGxhbnRcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjIuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwbGFudC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgd3JhcHBlZCA9IF8oWzEsIDJdKS5tYXAoc3F1YXJlKTtcbiAgICAgKiB2YXIgb3RoZXIgPSB3cmFwcGVkLnBsYW50KFszLCA0XSk7XG4gICAgICpcbiAgICAgKiBvdGhlci52YWx1ZSgpO1xuICAgICAqIC8vID0+IFs5LCAxNl1cbiAgICAgKlxuICAgICAqIHdyYXBwZWQudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbMSwgNF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyUGxhbnQodmFsdWUpIHtcbiAgICAgIHZhciByZXN1bHQsXG4gICAgICAgICAgcGFyZW50ID0gdGhpcztcblxuICAgICAgd2hpbGUgKHBhcmVudCBpbnN0YW5jZW9mIGJhc2VMb2Rhc2gpIHtcbiAgICAgICAgdmFyIGNsb25lID0gd3JhcHBlckNsb25lKHBhcmVudCk7XG4gICAgICAgIGNsb25lLl9faW5kZXhfXyA9IDA7XG4gICAgICAgIGNsb25lLl9fdmFsdWVzX18gPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICBwcmV2aW91cy5fX3dyYXBwZWRfXyA9IGNsb25lO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IGNsb25lO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwcmV2aW91cyA9IGNsb25lO1xuICAgICAgICBwYXJlbnQgPSBwYXJlbnQuX193cmFwcGVkX187XG4gICAgICB9XG4gICAgICBwcmV2aW91cy5fX3dyYXBwZWRfXyA9IHZhbHVlO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB0aGUgd3JhcHBlciB2ZXJzaW9uIG9mIGBfLnJldmVyc2VgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgdGhlIHdyYXBwZWQgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAbmFtZSByZXZlcnNlXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxLCAyLCAzXTtcbiAgICAgKlxuICAgICAqIF8oYXJyYXkpLnJldmVyc2UoKS52YWx1ZSgpXG4gICAgICogLy8gPT4gWzMsIDIsIDFdXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWzMsIDIsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlclJldmVyc2UoKSB7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLl9fd3JhcHBlZF9fO1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpIHtcbiAgICAgICAgdmFyIHdyYXBwZWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX19hY3Rpb25zX18ubGVuZ3RoKSB7XG4gICAgICAgICAgd3JhcHBlZCA9IG5ldyBMYXp5V3JhcHBlcih0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICB3cmFwcGVkID0gd3JhcHBlZC5yZXZlcnNlKCk7XG4gICAgICAgIHdyYXBwZWQuX19hY3Rpb25zX18ucHVzaCh7XG4gICAgICAgICAgJ2Z1bmMnOiB0aHJ1LFxuICAgICAgICAgICdhcmdzJzogW3JldmVyc2VdLFxuICAgICAgICAgICd0aGlzQXJnJzogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIod3JhcHBlZCwgdGhpcy5fX2NoYWluX18pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMudGhydShyZXZlcnNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyB0aGUgY2hhaW4gc2VxdWVuY2UgdG8gcmVzb2x2ZSB0aGUgdW53cmFwcGVkIHZhbHVlLlxuICAgICAqXG4gICAgICogQG5hbWUgdmFsdWVcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBhbGlhcyB0b0pTT04sIHZhbHVlT2ZcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHVud3JhcHBlZCB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXyhbMSwgMiwgM10pLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlclZhbHVlKCkge1xuICAgICAgcmV0dXJuIGJhc2VXcmFwcGVyVmFsdWUodGhpcy5fX3dyYXBwZWRfXywgdGhpcy5fX2FjdGlvbnNfXyk7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2Yga2V5cyBnZW5lcmF0ZWQgZnJvbSB0aGUgcmVzdWx0cyBvZiBydW5uaW5nXG4gICAgICogZWFjaCBlbGVtZW50IG9mIGBjb2xsZWN0aW9uYCB0aHJ1IGBpdGVyYXRlZWAuIFRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIG9mXG4gICAgICogZWFjaCBrZXkgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUga2V5IHdhcyByZXR1cm5lZCBieSBgaXRlcmF0ZWVgLiBUaGVcbiAgICAgKiBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSB0byB0cmFuc2Zvcm0ga2V5cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjb21wb3NlZCBhZ2dyZWdhdGUgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNvdW50QnkoWzYuMSwgNC4yLCA2LjNdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiB7ICc0JzogMSwgJzYnOiAyIH1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uY291bnRCeShbJ29uZScsICd0d28nLCAndGhyZWUnXSwgJ2xlbmd0aCcpO1xuICAgICAqIC8vID0+IHsgJzMnOiAyLCAnNSc6IDEgfVxuICAgICAqL1xuICAgIHZhciBjb3VudEJ5ID0gY3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHJlc3VsdCwga2V5KSkge1xuICAgICAgICArK3Jlc3VsdFtrZXldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCAxKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IgKiphbGwqKiBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAuXG4gICAgICogSXRlcmF0aW9uIGlzIHN0b3BwZWQgb25jZSBgcHJlZGljYXRlYCByZXR1cm5zIGZhbHNleS4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCByZXR1cm5zIGB0cnVlYCBmb3JcbiAgICAgKiBbZW1wdHkgY29sbGVjdGlvbnNdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0VtcHR5X3NldCkgYmVjYXVzZVxuICAgICAqIFtldmVyeXRoaW5nIGlzIHRydWVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZhY3VvdXNfdHJ1dGgpIG9mXG4gICAgICogZWxlbWVudHMgb2YgZW1wdHkgY29sbGVjdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYWxsIGVsZW1lbnRzIHBhc3MgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmV2ZXJ5KFt0cnVlLCAxLCBudWxsLCAneWVzJ10sIEJvb2xlYW4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmV2ZXJ5KHVzZXJzLCB7ICd1c2VyJzogJ2Jhcm5leScsICdhY3RpdmUnOiBmYWxzZSB9KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZXZlcnkodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmV2ZXJ5KHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBldmVyeShjb2xsZWN0aW9uLCBwcmVkaWNhdGUsIGd1YXJkKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUV2ZXJ5IDogYmFzZUV2ZXJ5O1xuICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZ3VhcmQpKSB7XG4gICAgICAgIHByZWRpY2F0ZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2YgYGNvbGxlY3Rpb25gLCByZXR1cm5pbmcgYW4gYXJyYXkgb2YgYWxsIGVsZW1lbnRzXG4gICAgICogYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0aHJlZVxuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5yZW1vdmVgLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZpbHRlcmVkIGFycmF5LlxuICAgICAqIEBzZWUgXy5yZWplY3RcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYsICdhY3RpdmUnOiB0cnVlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5maWx0ZXIodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuICFvLmFjdGl2ZTsgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsIHsgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leSddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leSddXG4gICAgICpcbiAgICAgKiAvLyBDb21iaW5pbmcgc2V2ZXJhbCBwcmVkaWNhdGVzIHVzaW5nIGBfLm92ZXJFdmVyeWAgb3IgYF8ub3ZlclNvbWVgLlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCBfLm92ZXJTb21lKFt7ICdhZ2UnOiAzNiB9LCBbJ2FnZScsIDQwXV0pKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnLCAnYmFybmV5J11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaWx0ZXIoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUZpbHRlciA6IGJhc2VGaWx0ZXI7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mIGBjb2xsZWN0aW9uYCwgcmV0dXJuaW5nIHRoZSBmaXJzdCBlbGVtZW50XG4gICAgICogYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0aHJlZVxuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD0wXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hdGNoZWQgZWxlbWVudCwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbmQodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlIDwgNDA7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdCBmb3IgJ2Jhcm5leSdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kKHVzZXJzLCB7ICdhZ2UnOiAxLCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3QgZm9yICdwZWJibGVzJ1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZCh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdCBmb3IgJ2ZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmQodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBvYmplY3QgZm9yICdiYXJuZXknXG4gICAgICovXG4gICAgdmFyIGZpbmQgPSBjcmVhdGVGaW5kKGZpbmRJbmRleCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZpbmRgIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2ZcbiAgICAgKiBgY29sbGVjdGlvbmAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD1jb2xsZWN0aW9uLmxlbmd0aC0xXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hdGNoZWQgZWxlbWVudCwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5maW5kTGFzdChbMSwgMiwgMywgNF0sIGZ1bmN0aW9uKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICUgMiA9PSAxO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IDNcbiAgICAgKi9cbiAgICB2YXIgZmluZExhc3QgPSBjcmVhdGVGaW5kKGZpbmRMYXN0SW5kZXgpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZsYXR0ZW5lZCBhcnJheSBvZiB2YWx1ZXMgYnkgcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gXG4gICAgICogdGhydSBgaXRlcmF0ZWVgIGFuZCBmbGF0dGVuaW5nIHRoZSBtYXBwZWQgcmVzdWx0cy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtuLCBuXTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLmZsYXRNYXAoWzEsIDJdLCBkdXBsaWNhdGUpO1xuICAgICAqIC8vID0+IFsxLCAxLCAyLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXRNYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCAxKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZsYXRNYXBgIGV4Y2VwdCB0aGF0IGl0IHJlY3Vyc2l2ZWx5IGZsYXR0ZW5zIHRoZVxuICAgICAqIG1hcHBlZCByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtbW24sIG5dXV07XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5mbGF0TWFwRGVlcChbMSwgMl0sIGR1cGxpY2F0ZSk7XG4gICAgICogLy8gPT4gWzEsIDEsIDIsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdE1hcERlZXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCBJTkZJTklUWSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mbGF0TWFwYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBmbGF0dGVucyB0aGVcbiAgICAgKiBtYXBwZWQgcmVzdWx0cyB1cCB0byBgZGVwdGhgIHRpbWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtkZXB0aD0xXSBUaGUgbWF4aW11bSByZWN1cnNpb24gZGVwdGguXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtbW24sIG5dXV07XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5mbGF0TWFwRGVwdGgoWzEsIDJdLCBkdXBsaWNhdGUsIDIpO1xuICAgICAqIC8vID0+IFtbMSwgMV0sIFsyLCAyXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0TWFwRGVwdGgoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGRlcHRoKSB7XG4gICAgICBkZXB0aCA9IGRlcHRoID09PSB1bmRlZmluZWQgPyAxIDogdG9JbnRlZ2VyKGRlcHRoKTtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCBkZXB0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAgYW5kIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgZWFjaCBlbGVtZW50LlxuICAgICAqIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIEFzIHdpdGggb3RoZXIgXCJDb2xsZWN0aW9uc1wiIG1ldGhvZHMsIG9iamVjdHMgd2l0aCBhIFwibGVuZ3RoXCJcbiAgICAgKiBwcm9wZXJ0eSBhcmUgaXRlcmF0ZWQgbGlrZSBhcnJheXMuIFRvIGF2b2lkIHRoaXMgYmVoYXZpb3IgdXNlIGBfLmZvckluYFxuICAgICAqIG9yIGBfLmZvck93bmAgZm9yIG9iamVjdCBpdGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAYWxpYXMgZWFjaFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqIEBzZWUgXy5mb3JFYWNoUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mb3JFYWNoKFsxLCAyXSwgZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHZhbHVlKTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiBMb2dzIGAxYCB0aGVuIGAyYC5cbiAgICAgKlxuICAgICAqIF8uZm9yRWFjaCh7ICdhJzogMSwgJ2InOiAyIH0sIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGtleSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gTG9ncyAnYScgdGhlbiAnYicgKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZCkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZm9yRWFjaChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlFYWNoIDogYmFzZUVhY2g7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZm9yRWFjaGAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGBjb2xsZWN0aW9uYCBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAYWxpYXMgZWFjaFJpZ2h0XG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fE9iamVjdH0gUmV0dXJucyBgY29sbGVjdGlvbmAuXG4gICAgICogQHNlZSBfLmZvckVhY2hcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mb3JFYWNoUmlnaHQoWzEsIDJdLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAqICAgY29uc29sZS5sb2codmFsdWUpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgYDJgIHRoZW4gYDFgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvckVhY2hSaWdodChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlFYWNoUmlnaHQgOiBiYXNlRWFjaFJpZ2h0O1xuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCBjb21wb3NlZCBvZiBrZXlzIGdlbmVyYXRlZCBmcm9tIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmdcbiAgICAgKiBlYWNoIGVsZW1lbnQgb2YgYGNvbGxlY3Rpb25gIHRocnUgYGl0ZXJhdGVlYC4gVGhlIG9yZGVyIG9mIGdyb3VwZWQgdmFsdWVzXG4gICAgICogaXMgZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgdGhleSBvY2N1ciBpbiBgY29sbGVjdGlvbmAuIFRoZSBjb3JyZXNwb25kaW5nXG4gICAgICogdmFsdWUgb2YgZWFjaCBrZXkgaXMgYW4gYXJyYXkgb2YgZWxlbWVudHMgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlXG4gICAgICoga2V5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY29tcG9zZWQgYWdncmVnYXRlIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ncm91cEJ5KFs2LjEsIDQuMiwgNi4zXSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4geyAnNCc6IFs0LjJdLCAnNic6IFs2LjEsIDYuM10gfVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5ncm91cEJ5KFsnb25lJywgJ3R3bycsICd0aHJlZSddLCAnbGVuZ3RoJyk7XG4gICAgICogLy8gPT4geyAnMyc6IFsnb25lJywgJ3R3byddLCAnNSc6IFsndGhyZWUnXSB9XG4gICAgICovXG4gICAgdmFyIGdyb3VwQnkgPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldLnB1c2godmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCBbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGluIGBjb2xsZWN0aW9uYC4gSWYgYGNvbGxlY3Rpb25gIGlzIGEgc3RyaW5nLCBpdCdzXG4gICAgICogY2hlY2tlZCBmb3IgYSBzdWJzdHJpbmcgb2YgYHZhbHVlYCwgb3RoZXJ3aXNlXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBpcyB1c2VkIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy4gSWYgYGZyb21JbmRleGAgaXMgbmVnYXRpdmUsIGl0J3MgdXNlZCBhc1xuICAgICAqIHRoZSBvZmZzZXQgZnJvbSB0aGUgZW5kIG9mIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R8c3RyaW5nfSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD0wXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ucmVkdWNlYC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBmb3VuZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmluY2x1ZGVzKFsxLCAyLCAzXSwgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pbmNsdWRlcyhbMSwgMiwgM10sIDEsIDIpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmluY2x1ZGVzKHsgJ2EnOiAxLCAnYic6IDIgfSwgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pbmNsdWRlcygnYWJjZCcsICdiYycpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbmNsdWRlcyhjb2xsZWN0aW9uLCB2YWx1ZSwgZnJvbUluZGV4LCBndWFyZCkge1xuICAgICAgY29sbGVjdGlvbiA9IGlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pID8gY29sbGVjdGlvbiA6IHZhbHVlcyhjb2xsZWN0aW9uKTtcbiAgICAgIGZyb21JbmRleCA9IChmcm9tSW5kZXggJiYgIWd1YXJkKSA/IHRvSW50ZWdlcihmcm9tSW5kZXgpIDogMDtcblxuICAgICAgdmFyIGxlbmd0aCA9IGNvbGxlY3Rpb24ubGVuZ3RoO1xuICAgICAgaWYgKGZyb21JbmRleCA8IDApIHtcbiAgICAgICAgZnJvbUluZGV4ID0gbmF0aXZlTWF4KGxlbmd0aCArIGZyb21JbmRleCwgMCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbilcbiAgICAgICAgPyAoZnJvbUluZGV4IDw9IGxlbmd0aCAmJiBjb2xsZWN0aW9uLmluZGV4T2YodmFsdWUsIGZyb21JbmRleCkgPiAtMSlcbiAgICAgICAgOiAoISFsZW5ndGggJiYgYmFzZUluZGV4T2YoY29sbGVjdGlvbiwgdmFsdWUsIGZyb21JbmRleCkgPiAtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgbWV0aG9kIGF0IGBwYXRoYCBvZiBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gLCByZXR1cm5pbmdcbiAgICAgKiBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiBlYWNoIGludm9rZWQgbWV0aG9kLiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHNcbiAgICAgKiBhcmUgcHJvdmlkZWQgdG8gZWFjaCBpbnZva2VkIG1ldGhvZC4gSWYgYHBhdGhgIGlzIGEgZnVuY3Rpb24sIGl0J3MgaW52b2tlZFxuICAgICAqIGZvciwgYW5kIGB0aGlzYCBib3VuZCB0bywgZWFjaCBlbGVtZW50IGluIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7QXJyYXl8RnVuY3Rpb258c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBtZXRob2QgdG8gaW52b2tlIG9yXG4gICAgICogIHRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgZWFjaCBtZXRob2Qgd2l0aC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW52b2tlTWFwKFtbNSwgMSwgN10sIFszLCAyLCAxXV0sICdzb3J0Jyk7XG4gICAgICogLy8gPT4gW1sxLCA1LCA3XSwgWzEsIDIsIDNdXVxuICAgICAqXG4gICAgICogXy5pbnZva2VNYXAoWzEyMywgNDU2XSwgU3RyaW5nLnByb3RvdHlwZS5zcGxpdCwgJycpO1xuICAgICAqIC8vID0+IFtbJzEnLCAnMicsICczJ10sIFsnNCcsICc1JywgJzYnXV1cbiAgICAgKi9cbiAgICB2YXIgaW52b2tlTWFwID0gYmFzZVJlc3QoZnVuY3Rpb24oY29sbGVjdGlvbiwgcGF0aCwgYXJncykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgaXNGdW5jID0gdHlwZW9mIHBhdGggPT0gJ2Z1bmN0aW9uJyxcbiAgICAgICAgICByZXN1bHQgPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IEFycmF5KGNvbGxlY3Rpb24ubGVuZ3RoKSA6IFtdO1xuXG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICByZXN1bHRbKytpbmRleF0gPSBpc0Z1bmMgPyBhcHBseShwYXRoLCB2YWx1ZSwgYXJncykgOiBiYXNlSW52b2tlKHZhbHVlLCBwYXRoLCBhcmdzKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIGtleXMgZ2VuZXJhdGVkIGZyb20gdGhlIHJlc3VsdHMgb2YgcnVubmluZ1xuICAgICAqIGVhY2ggZWxlbWVudCBvZiBgY29sbGVjdGlvbmAgdGhydSBgaXRlcmF0ZWVgLiBUaGUgY29ycmVzcG9uZGluZyB2YWx1ZSBvZlxuICAgICAqIGVhY2gga2V5IGlzIHRoZSBsYXN0IGVsZW1lbnQgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlIGtleS4gVGhlXG4gICAgICogaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY29tcG9zZWQgYWdncmVnYXRlIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gW1xuICAgICAqICAgeyAnZGlyJzogJ2xlZnQnLCAnY29kZSc6IDk3IH0sXG4gICAgICogICB7ICdkaXInOiAncmlnaHQnLCAnY29kZSc6IDEwMCB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8ua2V5QnkoYXJyYXksIGZ1bmN0aW9uKG8pIHtcbiAgICAgKiAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG8uY29kZSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnYSc6IHsgJ2Rpcic6ICdsZWZ0JywgJ2NvZGUnOiA5NyB9LCAnZCc6IHsgJ2Rpcic6ICdyaWdodCcsICdjb2RlJzogMTAwIH0gfVxuICAgICAqXG4gICAgICogXy5rZXlCeShhcnJheSwgJ2RpcicpO1xuICAgICAqIC8vID0+IHsgJ2xlZnQnOiB7ICdkaXInOiAnbGVmdCcsICdjb2RlJzogOTcgfSwgJ3JpZ2h0JzogeyAnZGlyJzogJ3JpZ2h0JywgJ2NvZGUnOiAxMDAgfSB9XG4gICAgICovXG4gICAgdmFyIGtleUJ5ID0gY3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsIGtleSwgdmFsdWUpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB2YWx1ZXMgYnkgcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gIHRocnVcbiAgICAgKiBgaXRlcmF0ZWVgLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czpcbiAgICAgKiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICpcbiAgICAgKiBNYW55IGxvZGFzaCBtZXRob2RzIGFyZSBndWFyZGVkIHRvIHdvcmsgYXMgaXRlcmF0ZWVzIGZvciBtZXRob2RzIGxpa2VcbiAgICAgKiBgXy5ldmVyeWAsIGBfLmZpbHRlcmAsIGBfLm1hcGAsIGBfLm1hcFZhbHVlc2AsIGBfLnJlamVjdGAsIGFuZCBgXy5zb21lYC5cbiAgICAgKlxuICAgICAqIFRoZSBndWFyZGVkIG1ldGhvZHMgYXJlOlxuICAgICAqIGBhcnlgLCBgY2h1bmtgLCBgY3VycnlgLCBgY3VycnlSaWdodGAsIGBkcm9wYCwgYGRyb3BSaWdodGAsIGBldmVyeWAsXG4gICAgICogYGZpbGxgLCBgaW52ZXJ0YCwgYHBhcnNlSW50YCwgYHJhbmRvbWAsIGByYW5nZWAsIGByYW5nZVJpZ2h0YCwgYHJlcGVhdGAsXG4gICAgICogYHNhbXBsZVNpemVgLCBgc2xpY2VgLCBgc29tZWAsIGBzb3J0QnlgLCBgc3BsaXRgLCBgdGFrZWAsIGB0YWtlUmlnaHRgLFxuICAgICAqIGB0ZW1wbGF0ZWAsIGB0cmltYCwgYHRyaW1FbmRgLCBgdHJpbVN0YXJ0YCwgYW5kIGB3b3Jkc2BcbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLm1hcChbNCwgOF0sIHNxdWFyZSk7XG4gICAgICogLy8gPT4gWzE2LCA2NF1cbiAgICAgKlxuICAgICAqIF8ubWFwKHsgJ2EnOiA0LCAnYic6IDggfSwgc3F1YXJlKTtcbiAgICAgKiAvLyA9PiBbMTYsIDY0XSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5tYXAodXNlcnMsICd1c2VyJyk7XG4gICAgICogLy8gPT4gWydiYXJuZXknLCAnZnJlZCddXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheU1hcCA6IGJhc2VNYXA7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc29ydEJ5YCBleGNlcHQgdGhhdCBpdCBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgc29ydFxuICAgICAqIG9yZGVycyBvZiB0aGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuIElmIGBvcmRlcnNgIGlzIHVuc3BlY2lmaWVkLCBhbGwgdmFsdWVzXG4gICAgICogYXJlIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIuIE90aGVyd2lzZSwgc3BlY2lmeSBhbiBvcmRlciBvZiBcImRlc2NcIiBmb3JcbiAgICAgKiBkZXNjZW5kaW5nIG9yIFwiYXNjXCIgZm9yIGFzY2VuZGluZyBzb3J0IG9yZGVyIG9mIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtBcnJheVtdfEZ1bmN0aW9uW118T2JqZWN0W118c3RyaW5nW119IFtpdGVyYXRlZXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gW29yZGVyc10gVGhlIHNvcnQgb3JkZXJzIG9mIGBpdGVyYXRlZXNgLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLnJlZHVjZWAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgc29ydGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0OCB9LFxuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzQgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIC8vIFNvcnQgYnkgYHVzZXJgIGluIGFzY2VuZGluZyBvcmRlciBhbmQgYnkgYGFnZWAgaW4gZGVzY2VuZGluZyBvcmRlci5cbiAgICAgKiBfLm9yZGVyQnkodXNlcnMsIFsndXNlcicsICdhZ2UnXSwgWydhc2MnLCAnZGVzYyddKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbWydiYXJuZXknLCAzNl0sIFsnYmFybmV5JywgMzRdLCBbJ2ZyZWQnLCA0OF0sIFsnZnJlZCcsIDQwXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzLCBndWFyZCkge1xuICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAoIWlzQXJyYXkoaXRlcmF0ZWVzKSkge1xuICAgICAgICBpdGVyYXRlZXMgPSBpdGVyYXRlZXMgPT0gbnVsbCA/IFtdIDogW2l0ZXJhdGVlc107XG4gICAgICB9XG4gICAgICBvcmRlcnMgPSBndWFyZCA/IHVuZGVmaW5lZCA6IG9yZGVycztcbiAgICAgIGlmICghaXNBcnJheShvcmRlcnMpKSB7XG4gICAgICAgIG9yZGVycyA9IG9yZGVycyA9PSBudWxsID8gW10gOiBbb3JkZXJzXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLCBpdGVyYXRlZXMsIG9yZGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cyBzcGxpdCBpbnRvIHR3byBncm91cHMsIHRoZSBmaXJzdCBvZiB3aGljaFxuICAgICAqIGNvbnRhaW5zIGVsZW1lbnRzIGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5IGZvciwgdGhlIHNlY29uZCBvZiB3aGljaFxuICAgICAqIGNvbnRhaW5zIGVsZW1lbnRzIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5IGZvci4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWdlJzogMzYsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FnZSc6IDEsICAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2ZyZWQnXSwgWydiYXJuZXknLCAncGViYmxlcyddXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgeyAnYWdlJzogMSwgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ3BlYmJsZXMnXSwgWydiYXJuZXknLCAnZnJlZCddXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ucGFydGl0aW9uKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgW1snYmFybmV5JywgJ3BlYmJsZXMnXSwgWydmcmVkJ11dXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2ZyZWQnXSwgWydiYXJuZXknLCAncGViYmxlcyddXVxuICAgICAqL1xuICAgIHZhciBwYXJ0aXRpb24gPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgcmVzdWx0W2tleSA/IDAgOiAxXS5wdXNoKHZhbHVlKTtcbiAgICB9LCBmdW5jdGlvbigpIHsgcmV0dXJuIFtbXSwgW11dOyB9KTtcblxuICAgIC8qKlxuICAgICAqIFJlZHVjZXMgYGNvbGxlY3Rpb25gIHRvIGEgdmFsdWUgd2hpY2ggaXMgdGhlIGFjY3VtdWxhdGVkIHJlc3VsdCBvZiBydW5uaW5nXG4gICAgICogZWFjaCBlbGVtZW50IGluIGBjb2xsZWN0aW9uYCB0aHJ1IGBpdGVyYXRlZWAsIHdoZXJlIGVhY2ggc3VjY2Vzc2l2ZVxuICAgICAqIGludm9jYXRpb24gaXMgc3VwcGxpZWQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgcHJldmlvdXMuIElmIGBhY2N1bXVsYXRvcmBcbiAgICAgKiBpcyBub3QgZ2l2ZW4sIHRoZSBmaXJzdCBlbGVtZW50IG9mIGBjb2xsZWN0aW9uYCBpcyB1c2VkIGFzIHRoZSBpbml0aWFsXG4gICAgICogdmFsdWUuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggZm91ciBhcmd1bWVudHM6XG4gICAgICogKGFjY3VtdWxhdG9yLCB2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqIE1hbnkgbG9kYXNoIG1ldGhvZHMgYXJlIGd1YXJkZWQgdG8gd29yayBhcyBpdGVyYXRlZXMgZm9yIG1ldGhvZHMgbGlrZVxuICAgICAqIGBfLnJlZHVjZWAsIGBfLnJlZHVjZVJpZ2h0YCwgYW5kIGBfLnRyYW5zZm9ybWAuXG4gICAgICpcbiAgICAgKiBUaGUgZ3VhcmRlZCBtZXRob2RzIGFyZTpcbiAgICAgKiBgYXNzaWduYCwgYGRlZmF1bHRzYCwgYGRlZmF1bHRzRGVlcGAsIGBpbmNsdWRlc2AsIGBtZXJnZWAsIGBvcmRlckJ5YCxcbiAgICAgKiBhbmQgYHNvcnRCeWBcbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7Kn0gW2FjY3VtdWxhdG9yXSBUaGUgaW5pdGlhbCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgYWNjdW11bGF0ZWQgdmFsdWUuXG4gICAgICogQHNlZSBfLnJlZHVjZVJpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucmVkdWNlKFsxLCAyXSwgZnVuY3Rpb24oc3VtLCBuKSB7XG4gICAgICogICByZXR1cm4gc3VtICsgbjtcbiAgICAgKiB9LCAwKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiBfLnJlZHVjZSh7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDEgfSwgZnVuY3Rpb24ocmVzdWx0LCB2YWx1ZSwga2V5KSB7XG4gICAgICogICAocmVzdWx0W3ZhbHVlXSB8fCAocmVzdWx0W3ZhbHVlXSA9IFtdKSkucHVzaChrZXkpO1xuICAgICAqICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgKiB9LCB7fSk7XG4gICAgICogLy8gPT4geyAnMSc6IFsnYScsICdjJ10sICcyJzogWydiJ10gfSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlZHVjZShjb2xsZWN0aW9uLCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5UmVkdWNlIDogYmFzZVJlZHVjZSxcbiAgICAgICAgICBpbml0QWNjdW0gPSBhcmd1bWVudHMubGVuZ3RoIDwgMztcblxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDQpLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtLCBiYXNlRWFjaCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5yZWR1Y2VgIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2ZcbiAgICAgKiBgY29sbGVjdGlvbmAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsqfSBbYWNjdW11bGF0b3JdIFRoZSBpbml0aWFsIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICAgKiBAc2VlIF8ucmVkdWNlXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFtbMCwgMV0sIFsyLCAzXSwgWzQsIDVdXTtcbiAgICAgKlxuICAgICAqIF8ucmVkdWNlUmlnaHQoYXJyYXksIGZ1bmN0aW9uKGZsYXR0ZW5lZCwgb3RoZXIpIHtcbiAgICAgKiAgIHJldHVybiBmbGF0dGVuZWQuY29uY2F0KG90aGVyKTtcbiAgICAgKiB9LCBbXSk7XG4gICAgICogLy8gPT4gWzQsIDUsIDIsIDMsIDAsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVkdWNlUmlnaHQoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheVJlZHVjZVJpZ2h0IDogYmFzZVJlZHVjZSxcbiAgICAgICAgICBpbml0QWNjdW0gPSBhcmd1bWVudHMubGVuZ3RoIDwgMztcblxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDQpLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtLCBiYXNlRWFjaFJpZ2h0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8uZmlsdGVyYDsgdGhpcyBtZXRob2QgcmV0dXJucyB0aGUgZWxlbWVudHMgb2YgYGNvbGxlY3Rpb25gXG4gICAgICogdGhhdCBgcHJlZGljYXRlYCBkb2VzICoqbm90KiogcmV0dXJuIHRydXRoeSBmb3IuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmlsdGVyZWQgYXJyYXkuXG4gICAgICogQHNlZSBfLmZpbHRlclxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnJlamVjdCh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgeyAnYWdlJzogNDAsICdhY3RpdmUnOiB0cnVlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZWplY3QoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUZpbHRlciA6IGJhc2VGaWx0ZXI7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSByYW5kb20gZWxlbWVudCBmcm9tIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2FtcGxlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zYW1wbGUoWzEsIDIsIDMsIDRdKTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2FtcGxlKGNvbGxlY3Rpb24pIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5U2FtcGxlIDogYmFzZVNhbXBsZTtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYG5gIHJhbmRvbSBlbGVtZW50cyBhdCB1bmlxdWUga2V5cyBmcm9tIGBjb2xsZWN0aW9uYCB1cCB0byB0aGVcbiAgICAgKiBzaXplIG9mIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2FtcGxlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHNhbXBsZS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNhbXBsZVNpemUoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbMywgMV1cbiAgICAgKlxuICAgICAqIF8uc2FtcGxlU2l6ZShbMSwgMiwgM10sIDQpO1xuICAgICAqIC8vID0+IFsyLCAzLCAxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNhbXBsZVNpemUoY29sbGVjdGlvbiwgbiwgZ3VhcmQpIHtcbiAgICAgIGlmICgoZ3VhcmQgPyBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBuLCBndWFyZCkgOiBuID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIG4gPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIH1cbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5U2FtcGxlU2l6ZSA6IGJhc2VTYW1wbGVTaXplO1xuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBzaHVmZmxlZCB2YWx1ZXMsIHVzaW5nIGEgdmVyc2lvbiBvZiB0aGVcbiAgICAgKiBbRmlzaGVyLVlhdGVzIHNodWZmbGVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Zpc2hlci1ZYXRlc19zaHVmZmxlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2h1ZmZsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzaHVmZmxlZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zaHVmZmxlKFsxLCAyLCAzLCA0XSk7XG4gICAgICogLy8gPT4gWzQsIDEsIDMsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2h1ZmZsZShjb2xsZWN0aW9uKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheVNodWZmbGUgOiBiYXNlU2h1ZmZsZTtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHNpemUgb2YgYGNvbGxlY3Rpb25gIGJ5IHJldHVybmluZyBpdHMgbGVuZ3RoIGZvciBhcnJheS1saWtlXG4gICAgICogdmFsdWVzIG9yIHRoZSBudW1iZXIgb2Ygb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgZm9yIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fHN0cmluZ30gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNvbGxlY3Rpb24gc2l6ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zaXplKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy5zaXplKHsgJ2EnOiAxLCAnYic6IDIgfSk7XG4gICAgICogLy8gPT4gMlxuICAgICAqXG4gICAgICogXy5zaXplKCdwZWJibGVzJyk7XG4gICAgICogLy8gPT4gN1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNpemUoY29sbGVjdGlvbikge1xuICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIGlmIChpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICByZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbikgPyBzdHJpbmdTaXplKGNvbGxlY3Rpb24pIDogY29sbGVjdGlvbi5sZW5ndGg7XG4gICAgICB9XG4gICAgICB2YXIgdGFnID0gZ2V0VGFnKGNvbGxlY3Rpb24pO1xuICAgICAgaWYgKHRhZyA9PSBtYXBUYWcgfHwgdGFnID09IHNldFRhZykge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5zaXplO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VLZXlzKGNvbGxlY3Rpb24pLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yICoqYW55KiogZWxlbWVudCBvZiBgY29sbGVjdGlvbmAuXG4gICAgICogSXRlcmF0aW9uIGlzIHN0b3BwZWQgb25jZSBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeS4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbnkgZWxlbWVudCBwYXNzZXMgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvbWUoW251bGwsIDAsICd5ZXMnLCBmYWxzZV0sIEJvb2xlYW4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnNvbWUodXNlcnMsIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb21lKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb21lKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvbWUoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTb21lIDogYmFzZVNvbWU7XG4gICAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkpIHtcbiAgICAgICAgcHJlZGljYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cywgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlciBieSB0aGUgcmVzdWx0cyBvZlxuICAgICAqIHJ1bm5pbmcgZWFjaCBlbGVtZW50IGluIGEgY29sbGVjdGlvbiB0aHJ1IGVhY2ggaXRlcmF0ZWUuIFRoaXMgbWV0aG9kXG4gICAgICogcGVyZm9ybXMgYSBzdGFibGUgc29ydCwgdGhhdCBpcywgaXQgcHJlc2VydmVzIHRoZSBvcmlnaW5hbCBzb3J0IG9yZGVyIG9mXG4gICAgICogZXF1YWwgZWxlbWVudHMuIFRoZSBpdGVyYXRlZXMgYXJlIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW2l0ZXJhdGVlcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBpdGVyYXRlZXMgdG8gc29ydCBieS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQ4IH0sXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogMzAgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM0IH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5zb3J0QnkodXNlcnMsIFtmdW5jdGlvbihvKSB7IHJldHVybiBvLnVzZXI7IH1dKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbWydiYXJuZXknLCAzNl0sIFsnYmFybmV5JywgMzRdLCBbJ2ZyZWQnLCA0OF0sIFsnZnJlZCcsIDMwXV1cbiAgICAgKlxuICAgICAqIF8uc29ydEJ5KHVzZXJzLCBbJ3VzZXInLCAnYWdlJ10pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2Jhcm5leScsIDM0XSwgWydiYXJuZXknLCAzNl0sIFsnZnJlZCcsIDMwXSwgWydmcmVkJywgNDhdXVxuICAgICAqL1xuICAgIHZhciBzb3J0QnkgPSBiYXNlUmVzdChmdW5jdGlvbihjb2xsZWN0aW9uLCBpdGVyYXRlZXMpIHtcbiAgICAgIGlmIChjb2xsZWN0aW9uID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIGxlbmd0aCA9IGl0ZXJhdGVlcy5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoID4gMSAmJiBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBpdGVyYXRlZXNbMF0sIGl0ZXJhdGVlc1sxXSkpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gW107XG4gICAgICB9IGVsc2UgaWYgKGxlbmd0aCA+IDIgJiYgaXNJdGVyYXRlZUNhbGwoaXRlcmF0ZWVzWzBdLCBpdGVyYXRlZXNbMV0sIGl0ZXJhdGVlc1syXSkpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gW2l0ZXJhdGVlc1swXV07XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgYmFzZUZsYXR0ZW4oaXRlcmF0ZWVzLCAxKSwgW10pO1xuICAgIH0pO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdGltZXN0YW1wIG9mIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRoYXQgaGF2ZSBlbGFwc2VkIHNpbmNlXG4gICAgICogdGhlIFVuaXggZXBvY2ggKDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi40LjBcbiAgICAgKiBAY2F0ZWdvcnkgRGF0ZVxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVzdGFtcC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWZlcihmdW5jdGlvbihzdGFtcCkge1xuICAgICAqICAgY29uc29sZS5sb2coXy5ub3coKSAtIHN0YW1wKTtcbiAgICAgKiB9LCBfLm5vdygpKTtcbiAgICAgKiAvLyA9PiBMb2dzIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGl0IHRvb2sgZm9yIHRoZSBkZWZlcnJlZCBpbnZvY2F0aW9uLlxuICAgICAqL1xuICAgIHZhciBub3cgPSBjdHhOb3cgfHwgZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gcm9vdC5EYXRlLm5vdygpO1xuICAgIH07XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8uYmVmb3JlYDsgdGhpcyBtZXRob2QgY3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlc1xuICAgICAqIGBmdW5jYCBvbmNlIGl0J3MgY2FsbGVkIGBuYCBvciBtb3JlIHRpbWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiBjYWxscyBiZWZvcmUgYGZ1bmNgIGlzIGludm9rZWQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVzdHJpY3RlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHNhdmVzID0gWydwcm9maWxlJywgJ3NldHRpbmdzJ107XG4gICAgICpcbiAgICAgKiB2YXIgZG9uZSA9IF8uYWZ0ZXIoc2F2ZXMubGVuZ3RoLCBmdW5jdGlvbigpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdkb25lIHNhdmluZyEnKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIF8uZm9yRWFjaChzYXZlcywgZnVuY3Rpb24odHlwZSkge1xuICAgICAqICAgYXN5bmNTYXZlKHsgJ3R5cGUnOiB0eXBlLCAnY29tcGxldGUnOiBkb25lIH0pO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2RvbmUgc2F2aW5nIScgYWZ0ZXIgdGhlIHR3byBhc3luYyBzYXZlcyBoYXZlIGNvbXBsZXRlZC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBhZnRlcihuLCBmdW5jKSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAoLS1uIDwgMSkge1xuICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2AsIHdpdGggdXAgdG8gYG5gIGFyZ3VtZW50cyxcbiAgICAgKiBpZ25vcmluZyBhbnkgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjYXAgYXJndW1lbnRzIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249ZnVuYy5sZW5ndGhdIFRoZSBhcml0eSBjYXAuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjYXBwZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnNicsICc4JywgJzEwJ10sIF8uYXJ5KHBhcnNlSW50LCAxKSk7XG4gICAgICogLy8gPT4gWzYsIDgsIDEwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFyeShmdW5jLCBuLCBndWFyZCkge1xuICAgICAgbiA9IGd1YXJkID8gdW5kZWZpbmVkIDogbjtcbiAgICAgIG4gPSAoZnVuYyAmJiBuID09IG51bGwpID8gZnVuYy5sZW5ndGggOiBuO1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9BUllfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBuKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCwgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgYW5kIGFyZ3VtZW50c1xuICAgICAqIG9mIHRoZSBjcmVhdGVkIGZ1bmN0aW9uLCB3aGlsZSBpdCdzIGNhbGxlZCBsZXNzIHRoYW4gYG5gIHRpbWVzLiBTdWJzZXF1ZW50XG4gICAgICogY2FsbHMgdG8gdGhlIGNyZWF0ZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgIGludm9jYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIGNhbGxzIGF0IHdoaWNoIGBmdW5jYCBpcyBubyBsb25nZXIgaW52b2tlZC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byByZXN0cmljdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByZXN0cmljdGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBqUXVlcnkoZWxlbWVudCkub24oJ2NsaWNrJywgXy5iZWZvcmUoNSwgYWRkQ29udGFjdFRvTGlzdCkpO1xuICAgICAqIC8vID0+IEFsbG93cyBhZGRpbmcgdXAgdG8gNCBjb250YWN0cyB0byB0aGUgbGlzdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiZWZvcmUobiwgZnVuYykge1xuICAgICAgdmFyIHJlc3VsdDtcbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIG4gPSB0b0ludGVnZXIobik7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICgtLW4gPiAwKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuIDw9IDEpIHtcbiAgICAgICAgICBmdW5jID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIGB0aGlzQXJnYFxuICAgICAqIGFuZCBgcGFydGlhbHNgIHByZXBlbmRlZCB0byB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogVGhlIGBfLmJpbmQucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpYyBidWlsZHMsXG4gICAgICogbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBuYXRpdmUgYEZ1bmN0aW9uI2JpbmRgLCB0aGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIlxuICAgICAqIHByb3BlcnR5IG9mIGJvdW5kIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGJpbmQuXG4gICAgICogQHBhcmFtIHsqfSB0aGlzQXJnIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbcGFydGlhbHNdIFRoZSBhcmd1bWVudHMgdG8gYmUgcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYm91bmQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGdyZWV0KGdyZWV0aW5nLCBwdW5jdHVhdGlvbikge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJyAnICsgdGhpcy51c2VyICsgcHVuY3R1YXRpb247XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ3VzZXInOiAnZnJlZCcgfTtcbiAgICAgKlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZChncmVldCwgb2JqZWN0LCAnaGknKTtcbiAgICAgKiBib3VuZCgnIScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKlxuICAgICAqIC8vIEJvdW5kIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZChncmVldCwgb2JqZWN0LCBfLCAnIScpO1xuICAgICAqIGJvdW5kKCdoaScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKi9cbiAgICB2YXIgYmluZCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHRoaXNBcmcsIHBhcnRpYWxzKSB7XG4gICAgICB2YXIgYml0bWFzayA9IFdSQVBfQklORF9GTEFHO1xuICAgICAgaWYgKHBhcnRpYWxzLmxlbmd0aCkge1xuICAgICAgICB2YXIgaG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKHBhcnRpYWxzLCBnZXRIb2xkZXIoYmluZCkpO1xuICAgICAgICBiaXRtYXNrIHw9IFdSQVBfUEFSVElBTF9GTEFHO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyB0aGUgbWV0aG9kIGF0IGBvYmplY3Rba2V5XWAgd2l0aCBgcGFydGlhbHNgXG4gICAgICogcHJlcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaWZmZXJzIGZyb20gYF8uYmluZGAgYnkgYWxsb3dpbmcgYm91bmQgZnVuY3Rpb25zIHRvIHJlZmVyZW5jZVxuICAgICAqIG1ldGhvZHMgdGhhdCBtYXkgYmUgcmVkZWZpbmVkIG9yIGRvbid0IHlldCBleGlzdC4gU2VlXG4gICAgICogW1BldGVyIE1pY2hhdXgncyBhcnRpY2xlXShodHRwOi8vcGV0ZXIubWljaGF1eC5jYS9hcnRpY2xlcy9sYXp5LWZ1bmN0aW9uLWRlZmluaXRpb24tcGF0dGVybilcbiAgICAgKiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogVGhlIGBfLmJpbmRLZXkucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpY1xuICAgICAqIGJ1aWxkcywgbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZva2UgdGhlIG1ldGhvZCBvbi5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIG1ldGhvZC5cbiAgICAgKiBAcGFyYW0gey4uLip9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBiZSBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBib3VuZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHtcbiAgICAgKiAgICd1c2VyJzogJ2ZyZWQnLFxuICAgICAqICAgJ2dyZWV0JzogZnVuY3Rpb24oZ3JlZXRpbmcsIHB1bmN0dWF0aW9uKSB7XG4gICAgICogICAgIHJldHVybiBncmVldGluZyArICcgJyArIHRoaXMudXNlciArIHB1bmN0dWF0aW9uO1xuICAgICAqICAgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiB2YXIgYm91bmQgPSBfLmJpbmRLZXkob2JqZWN0LCAnZ3JlZXQnLCAnaGknKTtcbiAgICAgKiBib3VuZCgnIScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKlxuICAgICAqIG9iamVjdC5ncmVldCA9IGZ1bmN0aW9uKGdyZWV0aW5nLCBwdW5jdHVhdGlvbikge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJ3lhICcgKyB0aGlzLnVzZXIgKyBwdW5jdHVhdGlvbjtcbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogYm91bmQoJyEnKTtcbiAgICAgKiAvLyA9PiAnaGl5YSBmcmVkISdcbiAgICAgKlxuICAgICAqIC8vIEJvdW5kIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZEtleShvYmplY3QsICdncmVldCcsIF8sICchJyk7XG4gICAgICogYm91bmQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpeWEgZnJlZCEnXG4gICAgICovXG4gICAgdmFyIGJpbmRLZXkgPSBiYXNlUmVzdChmdW5jdGlvbihvYmplY3QsIGtleSwgcGFydGlhbHMpIHtcbiAgICAgIHZhciBiaXRtYXNrID0gV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX0JJTkRfS0VZX0ZMQUc7XG4gICAgICBpZiAocGFydGlhbHMubGVuZ3RoKSB7XG4gICAgICAgIHZhciBob2xkZXJzID0gcmVwbGFjZUhvbGRlcnMocGFydGlhbHMsIGdldEhvbGRlcihiaW5kS2V5KSk7XG4gICAgICAgIGJpdG1hc2sgfD0gV1JBUF9QQVJUSUFMX0ZMQUc7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChrZXksIGJpdG1hc2ssIG9iamVjdCwgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBhcmd1bWVudHMgb2YgYGZ1bmNgIGFuZCBlaXRoZXIgaW52b2tlc1xuICAgICAqIGBmdW5jYCByZXR1cm5pbmcgaXRzIHJlc3VsdCwgaWYgYXQgbGVhc3QgYGFyaXR5YCBudW1iZXIgb2YgYXJndW1lbnRzIGhhdmVcbiAgICAgKiBiZWVuIHByb3ZpZGVkLCBvciByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIHRoZSByZW1haW5pbmcgYGZ1bmNgXG4gICAgICogYXJndW1lbnRzLCBhbmQgc28gb24uIFRoZSBhcml0eSBvZiBgZnVuY2AgbWF5IGJlIHNwZWNpZmllZCBpZiBgZnVuYy5sZW5ndGhgXG4gICAgICogaXMgbm90IHN1ZmZpY2llbnQuXG4gICAgICpcbiAgICAgKiBUaGUgYF8uY3VycnkucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpYyBidWlsZHMsXG4gICAgICogbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcHJvdmlkZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc2V0IHRoZSBcImxlbmd0aFwiIHByb3BlcnR5IG9mIGN1cnJpZWQgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY3VycnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcml0eT1mdW5jLmxlbmd0aF0gVGhlIGFyaXR5IG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGN1cnJpZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhYmMgPSBmdW5jdGlvbihhLCBiLCBjKSB7XG4gICAgICogICByZXR1cm4gW2EsIGIsIGNdO1xuICAgICAqIH07XG4gICAgICpcbiAgICAgKiB2YXIgY3VycmllZCA9IF8uY3VycnkoYWJjKTtcbiAgICAgKlxuICAgICAqIGN1cnJpZWQoMSkoMikoMyk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBjdXJyaWVkKDEsIDIpKDMpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogY3VycmllZCgxLCAyLCAzKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIC8vIEN1cnJpZWQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogY3VycmllZCgxKShfLCAzKSgyKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjdXJyeShmdW5jLCBhcml0eSwgZ3VhcmQpIHtcbiAgICAgIGFyaXR5ID0gZ3VhcmQgPyB1bmRlZmluZWQgOiBhcml0eTtcbiAgICAgIHZhciByZXN1bHQgPSBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfQ1VSUllfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5KTtcbiAgICAgIHJlc3VsdC5wbGFjZWhvbGRlciA9IGN1cnJ5LnBsYWNlaG9sZGVyO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmN1cnJ5YCBleGNlcHQgdGhhdCBhcmd1bWVudHMgYXJlIGFwcGxpZWQgdG8gYGZ1bmNgXG4gICAgICogaW4gdGhlIG1hbm5lciBvZiBgXy5wYXJ0aWFsUmlnaHRgIGluc3RlYWQgb2YgYF8ucGFydGlhbGAuXG4gICAgICpcbiAgICAgKiBUaGUgYF8uY3VycnlSaWdodC5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljXG4gICAgICogYnVpbGRzLCBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgZG9lc24ndCBzZXQgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgb2YgY3VycmllZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjdXJyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5PWZ1bmMubGVuZ3RoXSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY3VycmllZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFiYyA9IGZ1bmN0aW9uKGEsIGIsIGMpIHtcbiAgICAgKiAgIHJldHVybiBbYSwgYiwgY107XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIHZhciBjdXJyaWVkID0gXy5jdXJyeVJpZ2h0KGFiYyk7XG4gICAgICpcbiAgICAgKiBjdXJyaWVkKDMpKDIpKDEpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogY3VycmllZCgyLCAzKSgxKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIGN1cnJpZWQoMSwgMiwgMyk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiAvLyBDdXJyaWVkIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIGN1cnJpZWQoMykoMSwgXykoMik7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3VycnlSaWdodChmdW5jLCBhcml0eSwgZ3VhcmQpIHtcbiAgICAgIGFyaXR5ID0gZ3VhcmQgPyB1bmRlZmluZWQgOiBhcml0eTtcbiAgICAgIHZhciByZXN1bHQgPSBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfQ1VSUllfUklHSFRfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5KTtcbiAgICAgIHJlc3VsdC5wbGFjZWhvbGRlciA9IGN1cnJ5UmlnaHQucGxhY2Vob2xkZXI7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBkZWJvdW5jZWQgZnVuY3Rpb24gdGhhdCBkZWxheXMgaW52b2tpbmcgYGZ1bmNgIHVudGlsIGFmdGVyIGB3YWl0YFxuICAgICAqIG1pbGxpc2Vjb25kcyBoYXZlIGVsYXBzZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uIHdhc1xuICAgICAqIGludm9rZWQuIFRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gY29tZXMgd2l0aCBhIGBjYW5jZWxgIG1ldGhvZCB0byBjYW5jZWxcbiAgICAgKiBkZWxheWVkIGBmdW5jYCBpbnZvY2F0aW9ucyBhbmQgYSBgZmx1c2hgIG1ldGhvZCB0byBpbW1lZGlhdGVseSBpbnZva2UgdGhlbS5cbiAgICAgKiBQcm92aWRlIGBvcHRpb25zYCB0byBpbmRpY2F0ZSB3aGV0aGVyIGBmdW5jYCBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGVcbiAgICAgKiBsZWFkaW5nIGFuZC9vciB0cmFpbGluZyBlZGdlIG9mIHRoZSBgd2FpdGAgdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0aGUgbGFzdCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlIGRlYm91bmNlZCBmdW5jdGlvbi4gU3Vic2VxdWVudFxuICAgICAqIGNhbGxzIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgXG4gICAgICogaW52b2NhdGlvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBJZiBgbGVhZGluZ2AgYW5kIGB0cmFpbGluZ2Agb3B0aW9ucyBhcmUgYHRydWVgLCBgZnVuY2AgaXNcbiAgICAgKiBpbnZva2VkIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0IG9ubHkgaWYgdGhlIGRlYm91bmNlZCBmdW5jdGlvblxuICAgICAqIGlzIGludm9rZWQgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHRoZSBgd2FpdGAgdGltZW91dC5cbiAgICAgKlxuICAgICAqIElmIGB3YWl0YCBpcyBgMGAgYW5kIGBsZWFkaW5nYCBpcyBgZmFsc2VgLCBgZnVuY2AgaW52b2NhdGlvbiBpcyBkZWZlcnJlZFxuICAgICAqIHVudGlsIHRvIHRoZSBuZXh0IHRpY2ssIHNpbWlsYXIgdG8gYHNldFRpbWVvdXRgIHdpdGggYSB0aW1lb3V0IG9mIGAwYC5cbiAgICAgKlxuICAgICAqIFNlZSBbRGF2aWQgQ29yYmFjaG8ncyBhcnRpY2xlXShodHRwczovL2Nzcy10cmlja3MuY29tL2RlYm91bmNpbmctdGhyb3R0bGluZy1leHBsYWluZWQtZXhhbXBsZXMvKVxuICAgICAqIGZvciBkZXRhaWxzIG92ZXIgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYF8uZGVib3VuY2VgIGFuZCBgXy50aHJvdHRsZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWJvdW5jZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3dhaXQ9MF0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5sZWFkaW5nPWZhbHNlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLm1heFdhaXRdXG4gICAgICogIFRoZSBtYXhpbXVtIHRpbWUgYGZ1bmNgIGlzIGFsbG93ZWQgdG8gYmUgZGVsYXllZCBiZWZvcmUgaXQncyBpbnZva2VkLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMudHJhaWxpbmc9dHJ1ZV1cbiAgICAgKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBkZWJvdW5jZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIC8vIEF2b2lkIGNvc3RseSBjYWxjdWxhdGlvbnMgd2hpbGUgdGhlIHdpbmRvdyBzaXplIGlzIGluIGZsdXguXG4gICAgICogalF1ZXJ5KHdpbmRvdykub24oJ3Jlc2l6ZScsIF8uZGVib3VuY2UoY2FsY3VsYXRlTGF5b3V0LCAxNTApKTtcbiAgICAgKlxuICAgICAqIC8vIEludm9rZSBgc2VuZE1haWxgIHdoZW4gY2xpY2tlZCwgZGVib3VuY2luZyBzdWJzZXF1ZW50IGNhbGxzLlxuICAgICAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCBfLmRlYm91bmNlKHNlbmRNYWlsLCAzMDAsIHtcbiAgICAgKiAgICdsZWFkaW5nJzogdHJ1ZSxcbiAgICAgKiAgICd0cmFpbGluZyc6IGZhbHNlXG4gICAgICogfSkpO1xuICAgICAqXG4gICAgICogLy8gRW5zdXJlIGBiYXRjaExvZ2AgaXMgaW52b2tlZCBvbmNlIGFmdGVyIDEgc2Vjb25kIG9mIGRlYm91bmNlZCBjYWxscy5cbiAgICAgKiB2YXIgZGVib3VuY2VkID0gXy5kZWJvdW5jZShiYXRjaExvZywgMjUwLCB7ICdtYXhXYWl0JzogMTAwMCB9KTtcbiAgICAgKiB2YXIgc291cmNlID0gbmV3IEV2ZW50U291cmNlKCcvc3RyZWFtJyk7XG4gICAgICogalF1ZXJ5KHNvdXJjZSkub24oJ21lc3NhZ2UnLCBkZWJvdW5jZWQpO1xuICAgICAqXG4gICAgICogLy8gQ2FuY2VsIHRoZSB0cmFpbGluZyBkZWJvdW5jZWQgaW52b2NhdGlvbi5cbiAgICAgKiBqUXVlcnkod2luZG93KS5vbigncG9wc3RhdGUnLCBkZWJvdW5jZWQuY2FuY2VsKTtcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBvcHRpb25zKSB7XG4gICAgICB2YXIgbGFzdEFyZ3MsXG4gICAgICAgICAgbGFzdFRoaXMsXG4gICAgICAgICAgbWF4V2FpdCxcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgdGltZXJJZCxcbiAgICAgICAgICBsYXN0Q2FsbFRpbWUsXG4gICAgICAgICAgbGFzdEludm9rZVRpbWUgPSAwLFxuICAgICAgICAgIGxlYWRpbmcgPSBmYWxzZSxcbiAgICAgICAgICBtYXhpbmcgPSBmYWxzZSxcbiAgICAgICAgICB0cmFpbGluZyA9IHRydWU7XG5cbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHdhaXQgPSB0b051bWJlcih3YWl0KSB8fCAwO1xuICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgIGxlYWRpbmcgPSAhIW9wdGlvbnMubGVhZGluZztcbiAgICAgICAgbWF4aW5nID0gJ21heFdhaXQnIGluIG9wdGlvbnM7XG4gICAgICAgIG1heFdhaXQgPSBtYXhpbmcgPyBuYXRpdmVNYXgodG9OdW1iZXIob3B0aW9ucy5tYXhXYWl0KSB8fCAwLCB3YWl0KSA6IG1heFdhaXQ7XG4gICAgICAgIHRyYWlsaW5nID0gJ3RyYWlsaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLnRyYWlsaW5nIDogdHJhaWxpbmc7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGludm9rZUZ1bmModGltZSkge1xuICAgICAgICB2YXIgYXJncyA9IGxhc3RBcmdzLFxuICAgICAgICAgICAgdGhpc0FyZyA9IGxhc3RUaGlzO1xuXG4gICAgICAgIGxhc3RBcmdzID0gbGFzdFRoaXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gbGVhZGluZ0VkZ2UodGltZSkge1xuICAgICAgICAvLyBSZXNldCBhbnkgYG1heFdhaXRgIHRpbWVyLlxuICAgICAgICBsYXN0SW52b2tlVGltZSA9IHRpbWU7XG4gICAgICAgIC8vIFN0YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHRyYWlsaW5nIGVkZ2UuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIC8vIEludm9rZSB0aGUgbGVhZGluZyBlZGdlLlxuICAgICAgICByZXR1cm4gbGVhZGluZyA/IGludm9rZUZ1bmModGltZSkgOiByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHJlbWFpbmluZ1dhaXQodGltZSkge1xuICAgICAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICAgICAgdGltZVNpbmNlTGFzdEludm9rZSA9IHRpbWUgLSBsYXN0SW52b2tlVGltZSxcbiAgICAgICAgICAgIHRpbWVXYWl0aW5nID0gd2FpdCAtIHRpbWVTaW5jZUxhc3RDYWxsO1xuXG4gICAgICAgIHJldHVybiBtYXhpbmdcbiAgICAgICAgICA/IG5hdGl2ZU1pbih0aW1lV2FpdGluZywgbWF4V2FpdCAtIHRpbWVTaW5jZUxhc3RJbnZva2UpXG4gICAgICAgICAgOiB0aW1lV2FpdGluZztcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2hvdWxkSW52b2tlKHRpbWUpIHtcbiAgICAgICAgdmFyIHRpbWVTaW5jZUxhc3RDYWxsID0gdGltZSAtIGxhc3RDYWxsVGltZSxcbiAgICAgICAgICAgIHRpbWVTaW5jZUxhc3RJbnZva2UgPSB0aW1lIC0gbGFzdEludm9rZVRpbWU7XG5cbiAgICAgICAgLy8gRWl0aGVyIHRoaXMgaXMgdGhlIGZpcnN0IGNhbGwsIGFjdGl2aXR5IGhhcyBzdG9wcGVkIGFuZCB3ZSdyZSBhdCB0aGVcbiAgICAgICAgLy8gdHJhaWxpbmcgZWRnZSwgdGhlIHN5c3RlbSB0aW1lIGhhcyBnb25lIGJhY2t3YXJkcyBhbmQgd2UncmUgdHJlYXRpbmdcbiAgICAgICAgLy8gaXQgYXMgdGhlIHRyYWlsaW5nIGVkZ2UsIG9yIHdlJ3ZlIGhpdCB0aGUgYG1heFdhaXRgIGxpbWl0LlxuICAgICAgICByZXR1cm4gKGxhc3RDYWxsVGltZSA9PT0gdW5kZWZpbmVkIHx8ICh0aW1lU2luY2VMYXN0Q2FsbCA+PSB3YWl0KSB8fFxuICAgICAgICAgICh0aW1lU2luY2VMYXN0Q2FsbCA8IDApIHx8IChtYXhpbmcgJiYgdGltZVNpbmNlTGFzdEludm9rZSA+PSBtYXhXYWl0KSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRpbWVyRXhwaXJlZCgpIHtcbiAgICAgICAgdmFyIHRpbWUgPSBub3coKTtcbiAgICAgICAgaWYgKHNob3VsZEludm9rZSh0aW1lKSkge1xuICAgICAgICAgIHJldHVybiB0cmFpbGluZ0VkZ2UodGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmVzdGFydCB0aGUgdGltZXIuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgcmVtYWluaW5nV2FpdCh0aW1lKSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRyYWlsaW5nRWRnZSh0aW1lKSB7XG4gICAgICAgIHRpbWVySWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gT25seSBpbnZva2UgaWYgd2UgaGF2ZSBgbGFzdEFyZ3NgIHdoaWNoIG1lYW5zIGBmdW5jYCBoYXMgYmVlblxuICAgICAgICAvLyBkZWJvdW5jZWQgYXQgbGVhc3Qgb25jZS5cbiAgICAgICAgaWYgKHRyYWlsaW5nICYmIGxhc3RBcmdzKSB7XG4gICAgICAgICAgcmV0dXJuIGludm9rZUZ1bmModGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2FuY2VsKCkge1xuICAgICAgICBpZiAodGltZXJJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuICAgICAgICB9XG4gICAgICAgIGxhc3RJbnZva2VUaW1lID0gMDtcbiAgICAgICAgbGFzdEFyZ3MgPSBsYXN0Q2FsbFRpbWUgPSBsYXN0VGhpcyA9IHRpbWVySWQgPSB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZsdXNoKCkge1xuICAgICAgICByZXR1cm4gdGltZXJJZCA9PT0gdW5kZWZpbmVkID8gcmVzdWx0IDogdHJhaWxpbmdFZGdlKG5vdygpKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZGVib3VuY2VkKCkge1xuICAgICAgICB2YXIgdGltZSA9IG5vdygpLFxuICAgICAgICAgICAgaXNJbnZva2luZyA9IHNob3VsZEludm9rZSh0aW1lKTtcblxuICAgICAgICBsYXN0QXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgbGFzdFRoaXMgPSB0aGlzO1xuICAgICAgICBsYXN0Q2FsbFRpbWUgPSB0aW1lO1xuXG4gICAgICAgIGlmIChpc0ludm9raW5nKSB7XG4gICAgICAgICAgaWYgKHRpbWVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGxlYWRpbmdFZGdlKGxhc3RDYWxsVGltZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChtYXhpbmcpIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBpbnZvY2F0aW9ucyBpbiBhIHRpZ2h0IGxvb3AuXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICAgICAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgICAgICAgICAgcmV0dXJuIGludm9rZUZ1bmMobGFzdENhbGxUaW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRpbWVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGRlYm91bmNlZC5jYW5jZWwgPSBjYW5jZWw7XG4gICAgICBkZWJvdW5jZWQuZmx1c2ggPSBmbHVzaDtcbiAgICAgIHJldHVybiBkZWJvdW5jZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmZXJzIGludm9raW5nIHRoZSBgZnVuY2AgdW50aWwgdGhlIGN1cnJlbnQgY2FsbCBzdGFjayBoYXMgY2xlYXJlZC4gQW55XG4gICAgICogYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHByb3ZpZGVkIHRvIGBmdW5jYCB3aGVuIGl0J3MgaW52b2tlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlZmVyLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVyIGlkLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlZmVyKGZ1bmN0aW9uKHRleHQpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHRleHQpO1xuICAgICAqIH0sICdkZWZlcnJlZCcpO1xuICAgICAqIC8vID0+IExvZ3MgJ2RlZmVycmVkJyBhZnRlciBvbmUgbWlsbGlzZWNvbmQuXG4gICAgICovXG4gICAgdmFyIGRlZmVyID0gYmFzZVJlc3QoZnVuY3Rpb24oZnVuYywgYXJncykge1xuICAgICAgcmV0dXJuIGJhc2VEZWxheShmdW5jLCAxLCBhcmdzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEludm9rZXMgYGZ1bmNgIGFmdGVyIGB3YWl0YCBtaWxsaXNlY29uZHMuIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmVcbiAgICAgKiBwcm92aWRlZCB0byBgZnVuY2Agd2hlbiBpdCdzIGludm9rZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWxheS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gd2FpdCBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheSBpbnZvY2F0aW9uLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVyIGlkLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlbGF5KGZ1bmN0aW9uKHRleHQpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHRleHQpO1xuICAgICAqIH0sIDEwMDAsICdsYXRlcicpO1xuICAgICAqIC8vID0+IExvZ3MgJ2xhdGVyJyBhZnRlciBvbmUgc2Vjb25kLlxuICAgICAqL1xuICAgIHZhciBkZWxheSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHdhaXQsIGFyZ3MpIHtcbiAgICAgIHJldHVybiBiYXNlRGVsYXkoZnVuYywgdG9OdW1iZXIod2FpdCkgfHwgMCwgYXJncyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGFyZ3VtZW50cyByZXZlcnNlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGZsaXAgYXJndW1lbnRzIGZvci5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmbGlwcGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZmxpcHBlZCA9IF8uZmxpcChmdW5jdGlvbigpIHtcbiAgICAgKiAgIHJldHVybiBfLnRvQXJyYXkoYXJndW1lbnRzKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIGZsaXBwZWQoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiBbJ2QnLCAnYycsICdiJywgJ2EnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsaXAoZnVuYykge1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9GTElQX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IG1lbW9pemVzIHRoZSByZXN1bHQgb2YgYGZ1bmNgLiBJZiBgcmVzb2x2ZXJgIGlzXG4gICAgICogcHJvdmlkZWQsIGl0IGRldGVybWluZXMgdGhlIGNhY2hlIGtleSBmb3Igc3RvcmluZyB0aGUgcmVzdWx0IGJhc2VkIG9uIHRoZVxuICAgICAqIGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uIEJ5IGRlZmF1bHQsIHRoZSBmaXJzdCBhcmd1bWVudFxuICAgICAqIHByb3ZpZGVkIHRvIHRoZSBtZW1vaXplZCBmdW5jdGlvbiBpcyB1c2VkIGFzIHRoZSBtYXAgY2FjaGUga2V5LiBUaGUgYGZ1bmNgXG4gICAgICogaXMgaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhlIGNhY2hlIGlzIGV4cG9zZWQgYXMgdGhlIGBjYWNoZWAgcHJvcGVydHkgb24gdGhlIG1lbW9pemVkXG4gICAgICogZnVuY3Rpb24uIEl0cyBjcmVhdGlvbiBtYXkgYmUgY3VzdG9taXplZCBieSByZXBsYWNpbmcgdGhlIGBfLm1lbW9pemUuQ2FjaGVgXG4gICAgICogY29uc3RydWN0b3Igd2l0aCBvbmUgd2hvc2UgaW5zdGFuY2VzIGltcGxlbWVudCB0aGVcbiAgICAgKiBbYE1hcGBdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXByb3BlcnRpZXMtb2YtdGhlLW1hcC1wcm90b3R5cGUtb2JqZWN0KVxuICAgICAqIG1ldGhvZCBpbnRlcmZhY2Ugb2YgYGNsZWFyYCwgYGRlbGV0ZWAsIGBnZXRgLCBgaGFzYCwgYW5kIGBzZXRgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaGF2ZSBpdHMgb3V0cHV0IG1lbW9pemVkLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtyZXNvbHZlcl0gVGhlIGZ1bmN0aW9uIHRvIHJlc29sdmUgdGhlIGNhY2hlIGtleS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBtZW1vaXplZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6IDIgfTtcbiAgICAgKiB2YXIgb3RoZXIgPSB7ICdjJzogMywgJ2QnOiA0IH07XG4gICAgICpcbiAgICAgKiB2YXIgdmFsdWVzID0gXy5tZW1vaXplKF8udmFsdWVzKTtcbiAgICAgKiB2YWx1ZXMob2JqZWN0KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIHZhbHVlcyhvdGhlcik7XG4gICAgICogLy8gPT4gWzMsIDRdXG4gICAgICpcbiAgICAgKiBvYmplY3QuYSA9IDI7XG4gICAgICogdmFsdWVzKG9iamVjdCk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICpcbiAgICAgKiAvLyBNb2RpZnkgdGhlIHJlc3VsdCBjYWNoZS5cbiAgICAgKiB2YWx1ZXMuY2FjaGUuc2V0KG9iamVjdCwgWydhJywgJ2InXSk7XG4gICAgICogdmFsdWVzKG9iamVjdCk7XG4gICAgICogLy8gPT4gWydhJywgJ2InXVxuICAgICAqXG4gICAgICogLy8gUmVwbGFjZSBgXy5tZW1vaXplLkNhY2hlYC5cbiAgICAgKiBfLm1lbW9pemUuQ2FjaGUgPSBXZWFrTWFwO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lbW9pemUoZnVuYywgcmVzb2x2ZXIpIHtcbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nIHx8IChyZXNvbHZlciAhPSBudWxsICYmIHR5cGVvZiByZXNvbHZlciAhPSAnZnVuY3Rpb24nKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICB2YXIgbWVtb2l6ZWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgICBrZXkgPSByZXNvbHZlciA/IHJlc29sdmVyLmFwcGx5KHRoaXMsIGFyZ3MpIDogYXJnc1swXSxcbiAgICAgICAgICAgIGNhY2hlID0gbWVtb2l6ZWQuY2FjaGU7XG5cbiAgICAgICAgaWYgKGNhY2hlLmhhcyhrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuIGNhY2hlLmdldChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIHZhciByZXN1bHQgPSBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICBtZW1vaXplZC5jYWNoZSA9IGNhY2hlLnNldChrZXksIHJlc3VsdCkgfHwgY2FjaGU7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgICAgbWVtb2l6ZWQuY2FjaGUgPSBuZXcgKG1lbW9pemUuQ2FjaGUgfHwgTWFwQ2FjaGUpO1xuICAgICAgcmV0dXJuIG1lbW9pemVkO1xuICAgIH1cblxuICAgIC8vIEV4cG9zZSBgTWFwQ2FjaGVgLlxuICAgIG1lbW9pemUuQ2FjaGUgPSBNYXBDYWNoZTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IG5lZ2F0ZXMgdGhlIHJlc3VsdCBvZiB0aGUgcHJlZGljYXRlIGBmdW5jYC4gVGhlXG4gICAgICogYGZ1bmNgIHByZWRpY2F0ZSBpcyBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIGFuZCBhcmd1bWVudHMgb2YgdGhlXG4gICAgICogY3JlYXRlZCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgcHJlZGljYXRlIHRvIG5lZ2F0ZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBuZWdhdGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0V2ZW4obikge1xuICAgICAqICAgcmV0dXJuIG4gJSAyID09IDA7XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5maWx0ZXIoWzEsIDIsIDMsIDQsIDUsIDZdLCBfLm5lZ2F0ZShpc0V2ZW4pKTtcbiAgICAgKiAvLyA9PiBbMSwgMywgNV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBuZWdhdGUocHJlZGljYXRlKSB7XG4gICAgICBpZiAodHlwZW9mIHByZWRpY2F0ZSAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgIHN3aXRjaCAoYXJncy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDA6IHJldHVybiAhcHJlZGljYXRlLmNhbGwodGhpcyk7XG4gICAgICAgICAgY2FzZSAxOiByZXR1cm4gIXByZWRpY2F0ZS5jYWxsKHRoaXMsIGFyZ3NbMF0pO1xuICAgICAgICAgIGNhc2UgMjogcmV0dXJuICFwcmVkaWNhdGUuY2FsbCh0aGlzLCBhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICBjYXNlIDM6IHJldHVybiAhcHJlZGljYXRlLmNhbGwodGhpcywgYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICFwcmVkaWNhdGUuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGlzIHJlc3RyaWN0ZWQgdG8gaW52b2tpbmcgYGZ1bmNgIG9uY2UuIFJlcGVhdCBjYWxsc1xuICAgICAqIHRvIHRoZSBmdW5jdGlvbiByZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBpbnZvY2F0aW9uLiBUaGUgYGZ1bmNgIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBhbmQgYXJndW1lbnRzIG9mIHRoZSBjcmVhdGVkIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVzdHJpY3RlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGluaXRpYWxpemUgPSBfLm9uY2UoY3JlYXRlQXBwbGljYXRpb24pO1xuICAgICAqIGluaXRpYWxpemUoKTtcbiAgICAgKiBpbml0aWFsaXplKCk7XG4gICAgICogLy8gPT4gYGNyZWF0ZUFwcGxpY2F0aW9uYCBpcyBpbnZva2VkIG9uY2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvbmNlKGZ1bmMpIHtcbiAgICAgIHJldHVybiBiZWZvcmUoMiwgZnVuYyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCBpdHMgYXJndW1lbnRzIHRyYW5zZm9ybWVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW3RyYW5zZm9ybXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgYXJndW1lbnQgdHJhbnNmb3Jtcy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gZG91YmxlZChuKSB7XG4gICAgICogICByZXR1cm4gbiAqIDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ub3ZlckFyZ3MoZnVuY3Rpb24oeCwgeSkge1xuICAgICAqICAgcmV0dXJuIFt4LCB5XTtcbiAgICAgKiB9LCBbc3F1YXJlLCBkb3VibGVkXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKDksIDMpO1xuICAgICAqIC8vID0+IFs4MSwgNl1cbiAgICAgKlxuICAgICAqIGZ1bmMoMTAsIDUpO1xuICAgICAqIC8vID0+IFsxMDAsIDEwXVxuICAgICAqL1xuICAgIHZhciBvdmVyQXJncyA9IGNhc3RSZXN0KGZ1bmN0aW9uKGZ1bmMsIHRyYW5zZm9ybXMpIHtcbiAgICAgIHRyYW5zZm9ybXMgPSAodHJhbnNmb3Jtcy5sZW5ndGggPT0gMSAmJiBpc0FycmF5KHRyYW5zZm9ybXNbMF0pKVxuICAgICAgICA/IGFycmF5TWFwKHRyYW5zZm9ybXNbMF0sIGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSlcbiAgICAgICAgOiBhcnJheU1hcChiYXNlRmxhdHRlbih0cmFuc2Zvcm1zLCAxKSwgYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTtcblxuICAgICAgdmFyIGZ1bmNzTGVuZ3RoID0gdHJhbnNmb3Jtcy5sZW5ndGg7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1pbihhcmdzLmxlbmd0aCwgZnVuY3NMZW5ndGgpO1xuXG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgYXJnc1tpbmRleF0gPSB0cmFuc2Zvcm1zW2luZGV4XS5jYWxsKHRoaXMsIGFyZ3NbaW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgYXJncyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggYHBhcnRpYWxzYCBwcmVwZW5kZWQgdG8gdGhlXG4gICAgICogYXJndW1lbnRzIGl0IHJlY2VpdmVzLiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmJpbmRgIGV4Y2VwdCBpdCBkb2VzICoqbm90KipcbiAgICAgKiBhbHRlciB0aGUgYHRoaXNgIGJpbmRpbmcuXG4gICAgICpcbiAgICAgKiBUaGUgYF8ucGFydGlhbC5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljXG4gICAgICogYnVpbGRzLCBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwYXJ0aWFsbHkgYXBwbGllZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgZG9lc24ndCBzZXQgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgb2YgcGFydGlhbGx5XG4gICAgICogYXBwbGllZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBwYXJ0aWFsbHkgYXBwbHkgYXJndW1lbnRzIHRvLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIGJlIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHBhcnRpYWxseSBhcHBsaWVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBncmVldChncmVldGluZywgbmFtZSkge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJyAnICsgbmFtZTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgc2F5SGVsbG9UbyA9IF8ucGFydGlhbChncmVldCwgJ2hlbGxvJyk7XG4gICAgICogc2F5SGVsbG9UbygnZnJlZCcpO1xuICAgICAqIC8vID0+ICdoZWxsbyBmcmVkJ1xuICAgICAqXG4gICAgICogLy8gUGFydGlhbGx5IGFwcGxpZWQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogdmFyIGdyZWV0RnJlZCA9IF8ucGFydGlhbChncmVldCwgXywgJ2ZyZWQnKTtcbiAgICAgKiBncmVldEZyZWQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQnXG4gICAgICovXG4gICAgdmFyIHBhcnRpYWwgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBwYXJ0aWFscykge1xuICAgICAgdmFyIGhvbGRlcnMgPSByZXBsYWNlSG9sZGVycyhwYXJ0aWFscywgZ2V0SG9sZGVyKHBhcnRpYWwpKTtcbiAgICAgIHJldHVybiBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfUEFSVElBTF9GTEFHLCB1bmRlZmluZWQsIHBhcnRpYWxzLCBob2xkZXJzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucGFydGlhbGAgZXhjZXB0IHRoYXQgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzXG4gICAgICogYXJlIGFwcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBUaGUgYF8ucGFydGlhbFJpZ2h0LnBsYWNlaG9sZGVyYCB2YWx1ZSwgd2hpY2ggZGVmYXVsdHMgdG8gYF9gIGluIG1vbm9saXRoaWNcbiAgICAgKiBidWlsZHMsIG1heSBiZSB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgZm9yIHBhcnRpYWxseSBhcHBsaWVkIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIiBwcm9wZXJ0eSBvZiBwYXJ0aWFsbHlcbiAgICAgKiBhcHBsaWVkIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHBhcnRpYWxseSBhcHBseSBhcmd1bWVudHMgdG8uXG4gICAgICogQHBhcmFtIHsuLi4qfSBbcGFydGlhbHNdIFRoZSBhcmd1bWVudHMgdG8gYmUgcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFydGlhbGx5IGFwcGxpZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGdyZWV0KGdyZWV0aW5nLCBuYW1lKSB7XG4gICAgICogICByZXR1cm4gZ3JlZXRpbmcgKyAnICcgKyBuYW1lO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBncmVldEZyZWQgPSBfLnBhcnRpYWxSaWdodChncmVldCwgJ2ZyZWQnKTtcbiAgICAgKiBncmVldEZyZWQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBQYXJ0aWFsbHkgYXBwbGllZCB3aXRoIHBsYWNlaG9sZGVycy5cbiAgICAgKiB2YXIgc2F5SGVsbG9UbyA9IF8ucGFydGlhbFJpZ2h0KGdyZWV0LCAnaGVsbG8nLCBfKTtcbiAgICAgKiBzYXlIZWxsb1RvKCdmcmVkJyk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGZyZWQnXG4gICAgICovXG4gICAgdmFyIHBhcnRpYWxSaWdodCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHBhcnRpYWxzKSB7XG4gICAgICB2YXIgaG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKHBhcnRpYWxzLCBnZXRIb2xkZXIocGFydGlhbFJpZ2h0KSk7XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChmdW5jLCBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRywgdW5kZWZpbmVkLCBwYXJ0aWFscywgaG9sZGVycyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGFyZ3VtZW50cyBhcnJhbmdlZCBhY2NvcmRpbmdcbiAgICAgKiB0byB0aGUgc3BlY2lmaWVkIGBpbmRleGVzYCB3aGVyZSB0aGUgYXJndW1lbnQgdmFsdWUgYXQgdGhlIGZpcnN0IGluZGV4IGlzXG4gICAgICogcHJvdmlkZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LCB0aGUgYXJndW1lbnQgdmFsdWUgYXQgdGhlIHNlY29uZCBpbmRleCBpc1xuICAgICAqIHByb3ZpZGVkIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQsIGFuZCBzbyBvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHJlYXJyYW5nZSBhcmd1bWVudHMgZm9yLlxuICAgICAqIEBwYXJhbSB7Li4uKG51bWJlcnxudW1iZXJbXSl9IGluZGV4ZXMgVGhlIGFycmFuZ2VkIGFyZ3VtZW50IGluZGV4ZXMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciByZWFyZ2VkID0gXy5yZWFyZyhmdW5jdGlvbihhLCBiLCBjKSB7XG4gICAgICogICByZXR1cm4gW2EsIGIsIGNdO1xuICAgICAqIH0sIFsyLCAwLCAxXSk7XG4gICAgICpcbiAgICAgKiByZWFyZ2VkKCdiJywgJ2MnLCAnYScpXG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddXG4gICAgICovXG4gICAgdmFyIHJlYXJnID0gZmxhdFJlc3QoZnVuY3Rpb24oZnVuYywgaW5kZXhlcykge1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9SRUFSR19GTEFHLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBpbmRleGVzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIHRoZVxuICAgICAqIGNyZWF0ZWQgZnVuY3Rpb24gYW5kIGFyZ3VtZW50cyBmcm9tIGBzdGFydGAgYW5kIGJleW9uZCBwcm92aWRlZCBhc1xuICAgICAqIGFuIGFycmF5LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uIHRoZVxuICAgICAqIFtyZXN0IHBhcmFtZXRlcl0oaHR0cHM6Ly9tZG4uaW8vcmVzdF9wYXJhbWV0ZXJzKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgc2F5ID0gXy5yZXN0KGZ1bmN0aW9uKHdoYXQsIG5hbWVzKSB7XG4gICAgICogICByZXR1cm4gd2hhdCArICcgJyArIF8uaW5pdGlhbChuYW1lcykuam9pbignLCAnKSArXG4gICAgICogICAgIChfLnNpemUobmFtZXMpID4gMSA/ICcsICYgJyA6ICcnKSArIF8ubGFzdChuYW1lcyk7XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBzYXkoJ2hlbGxvJywgJ2ZyZWQnLCAnYmFybmV5JywgJ3BlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVzdChmdW5jLCBzdGFydCkge1xuICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgc3RhcnQgPSBzdGFydCA9PT0gdW5kZWZpbmVkID8gc3RhcnQgOiB0b0ludGVnZXIoc3RhcnQpO1xuICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmMsIHN0YXJ0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiB0aGVcbiAgICAgKiBjcmVhdGUgZnVuY3Rpb24gYW5kIGFuIGFycmF5IG9mIGFyZ3VtZW50cyBtdWNoIGxpa2VcbiAgICAgKiBbYEZ1bmN0aW9uI2FwcGx5YF0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb24gdGhlXG4gICAgICogW3NwcmVhZCBvcGVyYXRvcl0oaHR0cHM6Ly9tZG4uaW8vc3ByZWFkX29wZXJhdG9yKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjIuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHNwcmVhZCBhcmd1bWVudHMgb3Zlci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgc3ByZWFkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgc2F5ID0gXy5zcHJlYWQoZnVuY3Rpb24od2hvLCB3aGF0KSB7XG4gICAgICogICByZXR1cm4gd2hvICsgJyBzYXlzICcgKyB3aGF0O1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogc2F5KFsnZnJlZCcsICdoZWxsbyddKTtcbiAgICAgKiAvLyA9PiAnZnJlZCBzYXlzIGhlbGxvJ1xuICAgICAqXG4gICAgICogdmFyIG51bWJlcnMgPSBQcm9taXNlLmFsbChbXG4gICAgICogICBQcm9taXNlLnJlc29sdmUoNDApLFxuICAgICAqICAgUHJvbWlzZS5yZXNvbHZlKDM2KVxuICAgICAqIF0pO1xuICAgICAqXG4gICAgICogbnVtYmVycy50aGVuKF8uc3ByZWFkKGZ1bmN0aW9uKHgsIHkpIHtcbiAgICAgKiAgIHJldHVybiB4ICsgeTtcbiAgICAgKiB9KSk7XG4gICAgICogLy8gPT4gYSBQcm9taXNlIG9mIDc2XG4gICAgICovXG4gICAgZnVuY3Rpb24gc3ByZWFkKGZ1bmMsIHN0YXJ0KSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICBzdGFydCA9IHN0YXJ0ID09IG51bGwgPyAwIDogbmF0aXZlTWF4KHRvSW50ZWdlcihzdGFydCksIDApO1xuICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gYXJnc1tzdGFydF0sXG4gICAgICAgICAgICBvdGhlckFyZ3MgPSBjYXN0U2xpY2UoYXJncywgMCwgc3RhcnQpO1xuXG4gICAgICAgIGlmIChhcnJheSkge1xuICAgICAgICAgIGFycmF5UHVzaChvdGhlckFyZ3MsIGFycmF5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgb3RoZXJBcmdzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSB0aHJvdHRsZWQgZnVuY3Rpb24gdGhhdCBvbmx5IGludm9rZXMgYGZ1bmNgIGF0IG1vc3Qgb25jZSBwZXJcbiAgICAgKiBldmVyeSBgd2FpdGAgbWlsbGlzZWNvbmRzLiBUaGUgdGhyb3R0bGVkIGZ1bmN0aW9uIGNvbWVzIHdpdGggYSBgY2FuY2VsYFxuICAgICAqIG1ldGhvZCB0byBjYW5jZWwgZGVsYXllZCBgZnVuY2AgaW52b2NhdGlvbnMgYW5kIGEgYGZsdXNoYCBtZXRob2QgdG9cbiAgICAgKiBpbW1lZGlhdGVseSBpbnZva2UgdGhlbS4gUHJvdmlkZSBgb3B0aW9uc2AgdG8gaW5kaWNhdGUgd2hldGhlciBgZnVuY2BcbiAgICAgKiBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGUgbGVhZGluZyBhbmQvb3IgdHJhaWxpbmcgZWRnZSBvZiB0aGUgYHdhaXRgXG4gICAgICogdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkIHdpdGggdGhlIGxhc3QgYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZVxuICAgICAqIHRocm90dGxlZCBmdW5jdGlvbi4gU3Vic2VxdWVudCBjYWxscyB0byB0aGUgdGhyb3R0bGVkIGZ1bmN0aW9uIHJldHVybiB0aGVcbiAgICAgKiByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgIGludm9jYXRpb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSWYgYGxlYWRpbmdgIGFuZCBgdHJhaWxpbmdgIG9wdGlvbnMgYXJlIGB0cnVlYCwgYGZ1bmNgIGlzXG4gICAgICogaW52b2tlZCBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dCBvbmx5IGlmIHRoZSB0aHJvdHRsZWQgZnVuY3Rpb25cbiAgICAgKiBpcyBpbnZva2VkIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgYHdhaXRgIHRpbWVvdXQuXG4gICAgICpcbiAgICAgKiBJZiBgd2FpdGAgaXMgYDBgIGFuZCBgbGVhZGluZ2AgaXMgYGZhbHNlYCwgYGZ1bmNgIGludm9jYXRpb24gaXMgZGVmZXJyZWRcbiAgICAgKiB1bnRpbCB0byB0aGUgbmV4dCB0aWNrLCBzaW1pbGFyIHRvIGBzZXRUaW1lb3V0YCB3aXRoIGEgdGltZW91dCBvZiBgMGAuXG4gICAgICpcbiAgICAgKiBTZWUgW0RhdmlkIENvcmJhY2hvJ3MgYXJ0aWNsZV0oaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9kZWJvdW5jaW5nLXRocm90dGxpbmctZXhwbGFpbmVkLWV4YW1wbGVzLylcbiAgICAgKiBmb3IgZGV0YWlscyBvdmVyIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGBfLnRocm90dGxlYCBhbmQgYF8uZGVib3VuY2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gdGhyb3R0bGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFt3YWl0PTBdIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRocm90dGxlIGludm9jYXRpb25zIHRvLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gVGhlIG9wdGlvbnMgb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMubGVhZGluZz10cnVlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy50cmFpbGluZz10cnVlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHRocm90dGxlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gQXZvaWQgZXhjZXNzaXZlbHkgdXBkYXRpbmcgdGhlIHBvc2l0aW9uIHdoaWxlIHNjcm9sbGluZy5cbiAgICAgKiBqUXVlcnkod2luZG93KS5vbignc2Nyb2xsJywgXy50aHJvdHRsZSh1cGRhdGVQb3NpdGlvbiwgMTAwKSk7XG4gICAgICpcbiAgICAgKiAvLyBJbnZva2UgYHJlbmV3VG9rZW5gIHdoZW4gdGhlIGNsaWNrIGV2ZW50IGlzIGZpcmVkLCBidXQgbm90IG1vcmUgdGhhbiBvbmNlIGV2ZXJ5IDUgbWludXRlcy5cbiAgICAgKiB2YXIgdGhyb3R0bGVkID0gXy50aHJvdHRsZShyZW5ld1Rva2VuLCAzMDAwMDAsIHsgJ3RyYWlsaW5nJzogZmFsc2UgfSk7XG4gICAgICogalF1ZXJ5KGVsZW1lbnQpLm9uKCdjbGljaycsIHRocm90dGxlZCk7XG4gICAgICpcbiAgICAgKiAvLyBDYW5jZWwgdGhlIHRyYWlsaW5nIHRocm90dGxlZCBpbnZvY2F0aW9uLlxuICAgICAqIGpRdWVyeSh3aW5kb3cpLm9uKCdwb3BzdGF0ZScsIHRocm90dGxlZC5jYW5jZWwpO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRocm90dGxlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBsZWFkaW5nID0gdHJ1ZSxcbiAgICAgICAgICB0cmFpbGluZyA9IHRydWU7XG5cbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc09iamVjdChvcHRpb25zKSkge1xuICAgICAgICBsZWFkaW5nID0gJ2xlYWRpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMubGVhZGluZyA6IGxlYWRpbmc7XG4gICAgICAgIHRyYWlsaW5nID0gJ3RyYWlsaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLnRyYWlsaW5nIDogdHJhaWxpbmc7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGVib3VuY2UoZnVuYywgd2FpdCwge1xuICAgICAgICAnbGVhZGluZyc6IGxlYWRpbmcsXG4gICAgICAgICdtYXhXYWl0Jzogd2FpdCxcbiAgICAgICAgJ3RyYWlsaW5nJzogdHJhaWxpbmdcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgdXAgdG8gb25lIGFyZ3VtZW50LCBpZ25vcmluZyBhbnlcbiAgICAgKiBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNhcCBhcmd1bWVudHMgZm9yLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNhcHBlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tYXAoWyc2JywgJzgnLCAnMTAnXSwgXy51bmFyeShwYXJzZUludCkpO1xuICAgICAqIC8vID0+IFs2LCA4LCAxMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmFyeShmdW5jKSB7XG4gICAgICByZXR1cm4gYXJ5KGZ1bmMsIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIGB2YWx1ZWAgdG8gYHdyYXBwZXJgIGFzIGl0cyBmaXJzdFxuICAgICAqIGFyZ3VtZW50LiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlIGZ1bmN0aW9uIGFyZSBhcHBlbmRlZFxuICAgICAqIHRvIHRob3NlIHByb3ZpZGVkIHRvIHRoZSBgd3JhcHBlcmAuIFRoZSB3cmFwcGVyIGlzIGludm9rZWQgd2l0aCB0aGUgYHRoaXNgXG4gICAgICogYmluZGluZyBvZiB0aGUgY3JlYXRlZCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3dyYXBwZXI9aWRlbnRpdHldIFRoZSB3cmFwcGVyIGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgcCA9IF8ud3JhcChfLmVzY2FwZSwgZnVuY3Rpb24oZnVuYywgdGV4dCkge1xuICAgICAqICAgcmV0dXJuICc8cD4nICsgZnVuYyh0ZXh0KSArICc8L3A+JztcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIHAoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gJzxwPmZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlczwvcD4nXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcCh2YWx1ZSwgd3JhcHBlcikge1xuICAgICAgcmV0dXJuIHBhcnRpYWwoY2FzdEZ1bmN0aW9uKHdyYXBwZXIpLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ2FzdHMgYHZhbHVlYCBhcyBhbiBhcnJheSBpZiBpdCdzIG5vdCBvbmUuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC40LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjYXN0IGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNhc3RBcnJheSgxKTtcbiAgICAgKiAvLyA9PiBbMV1cbiAgICAgKlxuICAgICAqIF8uY2FzdEFycmF5KHsgJ2EnOiAxIH0pO1xuICAgICAqIC8vID0+IFt7ICdhJzogMSB9XVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkoJ2FiYycpO1xuICAgICAqIC8vID0+IFsnYWJjJ11cbiAgICAgKlxuICAgICAqIF8uY2FzdEFycmF5KG51bGwpO1xuICAgICAqIC8vID0+IFtudWxsXVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkodW5kZWZpbmVkKTtcbiAgICAgKiAvLyA9PiBbdW5kZWZpbmVkXVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkoKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDNdO1xuICAgICAqIGNvbnNvbGUubG9nKF8uY2FzdEFycmF5KGFycmF5KSA9PT0gYXJyYXkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXN0QXJyYXkoKSB7XG4gICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIHZhbHVlID0gYXJndW1lbnRzWzBdO1xuICAgICAgcmV0dXJuIGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzaGFsbG93IGNsb25lIG9mIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvbiB0aGVcbiAgICAgKiBbc3RydWN0dXJlZCBjbG9uZSBhbGdvcml0aG1dKGh0dHBzOi8vbWRuLmlvL1N0cnVjdHVyZWRfY2xvbmVfYWxnb3JpdGhtKVxuICAgICAqIGFuZCBzdXBwb3J0cyBjbG9uaW5nIGFycmF5cywgYXJyYXkgYnVmZmVycywgYm9vbGVhbnMsIGRhdGUgb2JqZWN0cywgbWFwcyxcbiAgICAgKiBudW1iZXJzLCBgT2JqZWN0YCBvYmplY3RzLCByZWdleGVzLCBzZXRzLCBzdHJpbmdzLCBzeW1ib2xzLCBhbmQgdHlwZWRcbiAgICAgKiBhcnJheXMuIFRoZSBvd24gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mIGBhcmd1bWVudHNgIG9iamVjdHMgYXJlIGNsb25lZFxuICAgICAqIGFzIHBsYWluIG9iamVjdHMuIEFuIGVtcHR5IG9iamVjdCBpcyByZXR1cm5lZCBmb3IgdW5jbG9uZWFibGUgdmFsdWVzIHN1Y2hcbiAgICAgKiBhcyBlcnJvciBvYmplY3RzLCBmdW5jdGlvbnMsIERPTSBub2RlcywgYW5kIFdlYWtNYXBzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqIEBzZWUgXy5jbG9uZURlZXBcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnYSc6IDEgfSwgeyAnYic6IDIgfV07XG4gICAgICpcbiAgICAgKiB2YXIgc2hhbGxvdyA9IF8uY2xvbmUob2JqZWN0cyk7XG4gICAgICogY29uc29sZS5sb2coc2hhbGxvd1swXSA9PT0gb2JqZWN0c1swXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lKHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZUNsb25lKHZhbHVlLCBDTE9ORV9TWU1CT0xTX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uY2xvbmVgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBjbG9uZWQgdmFsdWUuIElmIGBjdXN0b21pemVyYCByZXR1cm5zIGB1bmRlZmluZWRgLFxuICAgICAqIGNsb25pbmcgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZCB3aXRoXG4gICAgICogdXAgdG8gZm91ciBhcmd1bWVudHM7ICh2YWx1ZSBbLCBpbmRleHxrZXksIG9iamVjdCwgc3RhY2tdKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY2xvbmluZy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqIEBzZWUgXy5jbG9uZURlZXBXaXRoXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIodmFsdWUpIHtcbiAgICAgKiAgIGlmIChfLmlzRWxlbWVudCh2YWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHZhbHVlLmNsb25lTm9kZShmYWxzZSk7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGVsID0gXy5jbG9uZVdpdGgoZG9jdW1lbnQuYm9keSwgY3VzdG9taXplcik7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhlbCA9PT0gZG9jdW1lbnQuYm9keSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKiBjb25zb2xlLmxvZyhlbC5ub2RlTmFtZSk7XG4gICAgICogLy8gPT4gJ0JPRFknXG4gICAgICogY29uc29sZS5sb2coZWwuY2hpbGROb2Rlcy5sZW5ndGgpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVdpdGgodmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBiYXNlQ2xvbmUodmFsdWUsIENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5jbG9uZWAgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgY2xvbmVzIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHJlY3Vyc2l2ZWx5IGNsb25lLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBkZWVwIGNsb25lZCB2YWx1ZS5cbiAgICAgKiBAc2VlIF8uY2xvbmVcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnYSc6IDEgfSwgeyAnYic6IDIgfV07XG4gICAgICpcbiAgICAgKiB2YXIgZGVlcCA9IF8uY2xvbmVEZWVwKG9iamVjdHMpO1xuICAgICAqIGNvbnNvbGUubG9nKGRlZXBbMF0gPT09IG9iamVjdHNbMF0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2xvbmVEZWVwKHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZUNsb25lKHZhbHVlLCBDTE9ORV9ERUVQX0ZMQUcgfCBDTE9ORV9TWU1CT0xTX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uY2xvbmVXaXRoYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBjbG9uZXMgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmVjdXJzaXZlbHkgY2xvbmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY2xvbmluZy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZGVlcCBjbG9uZWQgdmFsdWUuXG4gICAgICogQHNlZSBfLmNsb25lV2l0aFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBjdXN0b21pemVyKHZhbHVlKSB7XG4gICAgICogICBpZiAoXy5pc0VsZW1lbnQodmFsdWUpKSB7XG4gICAgICogICAgIHJldHVybiB2YWx1ZS5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGVsID0gXy5jbG9uZURlZXBXaXRoKGRvY3VtZW50LmJvZHksIGN1c3RvbWl6ZXIpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coZWwgPT09IGRvY3VtZW50LmJvZHkpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICogY29uc29sZS5sb2coZWwubm9kZU5hbWUpO1xuICAgICAqIC8vID0+ICdCT0RZJ1xuICAgICAqIGNvbnNvbGUubG9nKGVsLmNoaWxkTm9kZXMubGVuZ3RoKTtcbiAgICAgKiAvLyA9PiAyMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lRGVlcFdpdGgodmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBiYXNlQ2xvbmUodmFsdWUsIENMT05FX0RFRVBfRkxBRyB8IENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBvYmplY3RgIGNvbmZvcm1zIHRvIGBzb3VyY2VgIGJ5IGludm9raW5nIHRoZSBwcmVkaWNhdGVcbiAgICAgKiBwcm9wZXJ0aWVzIG9mIGBzb3VyY2VgIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgdmFsdWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGVxdWl2YWxlbnQgdG8gYF8uY29uZm9ybXNgIHdoZW4gYHNvdXJjZWAgaXNcbiAgICAgKiBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjE0LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSBwcmVkaWNhdGVzIHRvIGNvbmZvcm0gdG8uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBvYmplY3RgIGNvbmZvcm1zLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAyIH07XG4gICAgICpcbiAgICAgKiBfLmNvbmZvcm1zVG8ob2JqZWN0LCB7ICdiJzogZnVuY3Rpb24obikgeyByZXR1cm4gbiA+IDE7IH0gfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5jb25mb3Jtc1RvKG9iamVjdCwgeyAnYic6IGZ1bmN0aW9uKG4pIHsgcmV0dXJuIG4gPiAyOyB9IH0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29uZm9ybXNUbyhvYmplY3QsIHNvdXJjZSkge1xuICAgICAgcmV0dXJuIHNvdXJjZSA9PSBudWxsIHx8IGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBrZXlzKHNvdXJjZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGFcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGNvbXBhcmlzb24gYmV0d2VlbiB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBlcXVpdmFsZW50LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gICAgICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uZXEob2JqZWN0LCBvYmplY3QpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uZXEob2JqZWN0LCBvdGhlcik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uZXEoJ2EnLCAnYScpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uZXEoJ2EnLCBPYmplY3QoJ2EnKSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uZXEoTmFOLCBOYU4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gb3RoZXIgfHwgKHZhbHVlICE9PSB2YWx1ZSAmJiBvdGhlciAhPT0gb3RoZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGdyZWF0ZXIgdGhhbiBgb3RoZXJgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZ3JlYXRlciB0aGFuIGBvdGhlcmAsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAc2VlIF8ubHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ndCgzLCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmd0KDMsIDMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmd0KDEsIDMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGd0ID0gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihiYXNlR3QpO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGBvdGhlcmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy45LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG9cbiAgICAgKiAgYG90aGVyYCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBzZWUgXy5sdGVcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ndGUoMywgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5ndGUoMywgMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5ndGUoMSwgMyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgZ3RlID0gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihmdW5jdGlvbih2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA+PSBvdGhlcjtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxpa2VseSBhbiBgYXJndW1lbnRzYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcmd1bWVudHMoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FyZ3VtZW50cyA9IGJhc2VJc0FyZ3VtZW50cyhmdW5jdGlvbigpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA/IGJhc2VJc0FyZ3VtZW50cyA6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCAnY2FsbGVlJykgJiZcbiAgICAgICAgIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsICdjYWxsZWUnKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhbiBgQXJyYXlgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoJ2FiYycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5QnVmZmVyYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5IGJ1ZmZlciwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlCdWZmZXIobmV3IEFycmF5QnVmZmVyKDIpKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlCdWZmZXIobmV3IEFycmF5KDIpKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FycmF5QnVmZmVyID0gbm9kZUlzQXJyYXlCdWZmZXIgPyBiYXNlVW5hcnkobm9kZUlzQXJyYXlCdWZmZXIpIDogYmFzZUlzQXJyYXlCdWZmZXI7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLiBBIHZhbHVlIGlzIGNvbnNpZGVyZWQgYXJyYXktbGlrZSBpZiBpdCdzXG4gICAgICogbm90IGEgZnVuY3Rpb24gYW5kIGhhcyBhIGB2YWx1ZS5sZW5ndGhgIHRoYXQncyBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBvclxuICAgICAqIGVxdWFsIHRvIGAwYCBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZShbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2UoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZSgnYWJjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZShfLm5vb3ApO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgIWlzRnVuY3Rpb24odmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaXNBcnJheUxpa2VgIGV4Y2VwdCB0aGF0IGl0IGFsc28gY2hlY2tzIGlmIGB2YWx1ZWBcbiAgICAgKiBpcyBhbiBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5LWxpa2Ugb2JqZWN0LFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2VPYmplY3QoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlT2JqZWN0KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2VPYmplY3QoJ2FiYycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlT2JqZWN0KF8ubm9vcCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0FycmF5TGlrZU9iamVjdCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaXNBcnJheUxpa2UodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBib29sZWFuIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYm9vbGVhbiwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQm9vbGVhbihmYWxzZSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Jvb2xlYW4obnVsbCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UgfHxcbiAgICAgICAgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gYm9vbFRhZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBidWZmZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNCdWZmZXIobmV3IEJ1ZmZlcigyKSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0J1ZmZlcihuZXcgVWludDhBcnJheSgyKSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNCdWZmZXIgPSBuYXRpdmVJc0J1ZmZlciB8fCBzdHViRmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYERhdGVgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBkYXRlIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRGF0ZShuZXcgRGF0ZSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0RhdGUoJ01vbiBBcHJpbCAyMyAyMDEyJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNEYXRlID0gbm9kZUlzRGF0ZSA/IGJhc2VVbmFyeShub2RlSXNEYXRlKSA6IGJhc2VJc0RhdGU7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYSBET00gZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBET00gZWxlbWVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRWxlbWVudChkb2N1bWVudC5ib2R5KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRWxlbWVudCgnPGJvZHk+Jyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0VsZW1lbnQodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIHZhbHVlLm5vZGVUeXBlID09PSAxICYmICFpc1BsYWluT2JqZWN0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBlbXB0eSBvYmplY3QsIGNvbGxlY3Rpb24sIG1hcCwgb3Igc2V0LlxuICAgICAqXG4gICAgICogT2JqZWN0cyBhcmUgY29uc2lkZXJlZCBlbXB0eSBpZiB0aGV5IGhhdmUgbm8gb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkXG4gICAgICogcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqIEFycmF5LWxpa2UgdmFsdWVzIHN1Y2ggYXMgYGFyZ3VtZW50c2Agb2JqZWN0cywgYXJyYXlzLCBidWZmZXJzLCBzdHJpbmdzLCBvclxuICAgICAqIGpRdWVyeS1saWtlIGNvbGxlY3Rpb25zIGFyZSBjb25zaWRlcmVkIGVtcHR5IGlmIHRoZXkgaGF2ZSBhIGBsZW5ndGhgIG9mIGAwYC5cbiAgICAgKiBTaW1pbGFybHksIG1hcHMgYW5kIHNldHMgYXJlIGNvbnNpZGVyZWQgZW1wdHkgaWYgdGhleSBoYXZlIGEgYHNpemVgIG9mIGAwYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZW1wdHksIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0VtcHR5KG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNFbXB0eSh0cnVlKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRW1wdHkoMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0VtcHR5KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNFbXB0eSh7ICdhJzogMSB9KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXlMaWtlKHZhbHVlKSAmJlxuICAgICAgICAgIChpc0FycmF5KHZhbHVlKSB8fCB0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlLnNwbGljZSA9PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgICAgICBpc0J1ZmZlcih2YWx1ZSkgfHwgaXNUeXBlZEFycmF5KHZhbHVlKSB8fCBpc0FyZ3VtZW50cyh2YWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUubGVuZ3RoO1xuICAgICAgfVxuICAgICAgdmFyIHRhZyA9IGdldFRhZyh2YWx1ZSk7XG4gICAgICBpZiAodGFnID09IG1hcFRhZyB8fCB0YWcgPT0gc2V0VGFnKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUuc2l6ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1Byb3RvdHlwZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuICFiYXNlS2V5cyh2YWx1ZSkubGVuZ3RoO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBhIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlXG4gICAgICogZXF1aXZhbGVudC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBzdXBwb3J0cyBjb21wYXJpbmcgYXJyYXlzLCBhcnJheSBidWZmZXJzLCBib29sZWFucyxcbiAgICAgKiBkYXRlIG9iamVjdHMsIGVycm9yIG9iamVjdHMsIG1hcHMsIG51bWJlcnMsIGBPYmplY3RgIG9iamVjdHMsIHJlZ2V4ZXMsXG4gICAgICogc2V0cywgc3RyaW5ncywgc3ltYm9scywgYW5kIHR5cGVkIGFycmF5cy4gYE9iamVjdGAgb2JqZWN0cyBhcmUgY29tcGFyZWRcbiAgICAgKiBieSB0aGVpciBvd24sIG5vdCBpbmhlcml0ZWQsIGVudW1lcmFibGUgcHJvcGVydGllcy4gRnVuY3Rpb25zIGFuZCBET01cbiAgICAgKiBub2RlcyBhcmUgY29tcGFyZWQgYnkgc3RyaWN0IGVxdWFsaXR5LCBpLmUuIGA9PT1gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gICAgICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uaXNFcXVhbChvYmplY3QsIG90aGVyKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBvYmplY3QgPT09IG90aGVyO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNFcXVhbCh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiBiYXNlSXNFcXVhbCh2YWx1ZSwgb3RoZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaXNFcXVhbGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgdmFsdWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYCwgY29tcGFyaXNvbnNcbiAgICAgKiBhcmUgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZCB3aXRoIHVwIHRvXG4gICAgICogc2l4IGFyZ3VtZW50czogKG9ialZhbHVlLCBvdGhWYWx1ZSBbLCBpbmRleHxrZXksIG9iamVjdCwgb3RoZXIsIHN0YWNrXSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlcyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0dyZWV0aW5nKHZhbHVlKSB7XG4gICAgICogICByZXR1cm4gL15oKD86aXxlbGxvKSQvLnRlc3QodmFsdWUpO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIG90aFZhbHVlKSB7XG4gICAgICogICBpZiAoaXNHcmVldGluZyhvYmpWYWx1ZSkgJiYgaXNHcmVldGluZyhvdGhWYWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHRydWU7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWydoZWxsbycsICdnb29kYnllJ107XG4gICAgICogdmFyIG90aGVyID0gWydoaScsICdnb29kYnllJ107XG4gICAgICpcbiAgICAgKiBfLmlzRXF1YWxXaXRoKGFycmF5LCBvdGhlciwgY3VzdG9taXplcik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRXF1YWxXaXRoKHZhbHVlLCBvdGhlciwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgdmFyIHJlc3VsdCA9IGN1c3RvbWl6ZXIgPyBjdXN0b21pemVyKHZhbHVlLCBvdGhlcikgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gcmVzdWx0ID09PSB1bmRlZmluZWQgPyBiYXNlSXNFcXVhbCh2YWx1ZSwgb3RoZXIsIHVuZGVmaW5lZCwgY3VzdG9taXplcikgOiAhIXJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBgRXJyb3JgLCBgRXZhbEVycm9yYCwgYFJhbmdlRXJyb3JgLCBgUmVmZXJlbmNlRXJyb3JgLFxuICAgICAqIGBTeW50YXhFcnJvcmAsIGBUeXBlRXJyb3JgLCBvciBgVVJJRXJyb3JgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gZXJyb3Igb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNFcnJvcihuZXcgRXJyb3IpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNFcnJvcihFcnJvcik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Vycm9yKHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICAgICAgcmV0dXJuIHRhZyA9PSBlcnJvclRhZyB8fCB0YWcgPT0gZG9tRXhjVGFnIHx8XG4gICAgICAgICh0eXBlb2YgdmFsdWUubWVzc2FnZSA9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWUubmFtZSA9PSAnc3RyaW5nJyAmJiAhaXNQbGFpbk9iamVjdCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgZmluaXRlIHByaW1pdGl2ZSBudW1iZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYE51bWJlci5pc0Zpbml0ZWBdKGh0dHBzOi8vbWRuLmlvL051bWJlci9pc0Zpbml0ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZmluaXRlIG51bWJlciwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRmluaXRlKDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNGaW5pdGUoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Zpbml0ZShJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNGaW5pdGUoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRmluaXRlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmIG5hdGl2ZUlzRmluaXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYEZ1bmN0aW9uYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZnVuY3Rpb24sIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0Z1bmN0aW9uKF8pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNGdW5jdGlvbigvYWJjLyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBUaGUgdXNlIG9mIGBPYmplY3QjdG9TdHJpbmdgIGF2b2lkcyBpc3N1ZXMgd2l0aCB0aGUgYHR5cGVvZmAgb3BlcmF0b3JcbiAgICAgIC8vIGluIFNhZmFyaSA5IHdoaWNoIHJldHVybnMgJ29iamVjdCcgZm9yIHR5cGVkIGFycmF5cyBhbmQgb3RoZXIgY29uc3RydWN0b3JzLlxuICAgICAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICAgICAgcmV0dXJuIHRhZyA9PSBmdW5jVGFnIHx8IHRhZyA9PSBnZW5UYWcgfHwgdGFnID09IGFzeW5jVGFnIHx8IHRhZyA9PSBwcm94eVRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBpbnRlZ2VyLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uXG4gICAgICogW2BOdW1iZXIuaXNJbnRlZ2VyYF0oaHR0cHM6Ly9tZG4uaW8vTnVtYmVyL2lzSW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGludGVnZXIsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNJbnRlZ2VyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyAmJiB2YWx1ZSA9PSB0b0ludGVnZXIodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBsZW5ndGguXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvblxuICAgICAqIFtgVG9MZW5ndGhgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10b2xlbmd0aCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgbGVuZ3RoLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNMZW5ndGgoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0xlbmd0aChOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0xlbmd0aChJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNMZW5ndGgoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTGVuZ3RoKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmXG4gICAgICAgIHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyB0aGVcbiAgICAgKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gICAgICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdCh7fSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3QoXy5ub29wKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzT2JqZWN0KG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAgICAgKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKHt9KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzT2JqZWN0TGlrZShbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKF8ubm9vcCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBNYXBgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjMuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBtYXAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc01hcChuZXcgTWFwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTWFwKG5ldyBXZWFrTWFwKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc01hcCA9IG5vZGVJc01hcCA/IGJhc2VVbmFyeShub2RlSXNNYXApIDogYmFzZUlzTWFwO1xuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIGBvYmplY3RgIGFuZCBgc291cmNlYCB0b1xuICAgICAqIGRldGVybWluZSBpZiBgb2JqZWN0YCBjb250YWlucyBlcXVpdmFsZW50IHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBlcXVpdmFsZW50IHRvIGBfLm1hdGNoZXNgIHdoZW4gYHNvdXJjZWAgaXNcbiAgICAgKiBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIFBhcnRpYWwgY29tcGFyaXNvbnMgd2lsbCBtYXRjaCBlbXB0eSBhcnJheSBhbmQgZW1wdHkgb2JqZWN0IGBzb3VyY2VgXG4gICAgICogdmFsdWVzIGFnYWluc3QgYW55IGFycmF5IG9yIG9iamVjdCB2YWx1ZSwgcmVzcGVjdGl2ZWx5LiBTZWUgYF8uaXNFcXVhbGBcbiAgICAgKiBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCB2YWx1ZSBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgaXMgYSBtYXRjaCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogMiB9O1xuICAgICAqXG4gICAgICogXy5pc01hdGNoKG9iamVjdCwgeyAnYic6IDIgfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc01hdGNoKG9iamVjdCwgeyAnYic6IDEgfSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc01hdGNoKG9iamVjdCwgc291cmNlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09PSBzb3VyY2UgfHwgYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIGdldE1hdGNoRGF0YShzb3VyY2UpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmlzTWF0Y2hgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBjb21wYXJlIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGAsIGNvbXBhcmlzb25zXG4gICAgICogYXJlIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgIGlzIGludm9rZWQgd2l0aCBmaXZlXG4gICAgICogYXJndW1lbnRzOiAob2JqVmFsdWUsIHNyY1ZhbHVlLCBpbmRleHxrZXksIG9iamVjdCwgc291cmNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgaXMgYSBtYXRjaCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0dyZWV0aW5nKHZhbHVlKSB7XG4gICAgICogICByZXR1cm4gL15oKD86aXxlbGxvKSQvLnRlc3QodmFsdWUpO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlKSB7XG4gICAgICogICBpZiAoaXNHcmVldGluZyhvYmpWYWx1ZSkgJiYgaXNHcmVldGluZyhzcmNWYWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHRydWU7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2dyZWV0aW5nJzogJ2hlbGxvJyB9O1xuICAgICAqIHZhciBzb3VyY2UgPSB7ICdncmVldGluZyc6ICdoaScgfTtcbiAgICAgKlxuICAgICAqIF8uaXNNYXRjaFdpdGgob2JqZWN0LCBzb3VyY2UsIGN1c3RvbWl6ZXIpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc01hdGNoV2l0aChvYmplY3QsIHNvdXJjZSwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VJc01hdGNoKG9iamVjdCwgc291cmNlLCBnZXRNYXRjaERhdGEoc291cmNlKSwgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYE5hTmAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYE51bWJlci5pc05hTmBdKGh0dHBzOi8vbWRuLmlvL051bWJlci9pc05hTikgYW5kIGlzIG5vdCB0aGUgc2FtZSBhc1xuICAgICAqIGdsb2JhbCBbYGlzTmFOYF0oaHR0cHM6Ly9tZG4uaW8vaXNOYU4pIHdoaWNoIHJldHVybnMgYHRydWVgIGZvclxuICAgICAqIGB1bmRlZmluZWRgIGFuZCBvdGhlciBub24tbnVtYmVyIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYE5hTmAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc05hTihOYU4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOYU4obmV3IE51bWJlcihOYU4pKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBpc05hTih1bmRlZmluZWQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOYU4odW5kZWZpbmVkKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTmFOKHZhbHVlKSB7XG4gICAgICAvLyBBbiBgTmFOYCBwcmltaXRpdmUgaXMgdGhlIG9ubHkgdmFsdWUgdGhhdCBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLlxuICAgICAgLy8gUGVyZm9ybSB0aGUgYHRvU3RyaW5nVGFnYCBjaGVjayBmaXJzdCB0byBhdm9pZCBlcnJvcnMgd2l0aCBzb21lXG4gICAgICAvLyBBY3RpdmVYIG9iamVjdHMgaW4gSUUuXG4gICAgICByZXR1cm4gaXNOdW1iZXIodmFsdWUpICYmIHZhbHVlICE9ICt2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHByaXN0aW5lIG5hdGl2ZSBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBjYW4ndCByZWxpYWJseSBkZXRlY3QgbmF0aXZlIGZ1bmN0aW9ucyBpbiB0aGUgcHJlc2VuY2VcbiAgICAgKiBvZiB0aGUgY29yZS1qcyBwYWNrYWdlIGJlY2F1c2UgY29yZS1qcyBjaXJjdW12ZW50cyB0aGlzIGtpbmQgb2YgZGV0ZWN0aW9uLlxuICAgICAqIERlc3BpdGUgbXVsdGlwbGUgcmVxdWVzdHMsIHRoZSBjb3JlLWpzIG1haW50YWluZXIgaGFzIG1hZGUgaXQgY2xlYXI6IGFueVxuICAgICAqIGF0dGVtcHQgdG8gZml4IHRoZSBkZXRlY3Rpb24gd2lsbCBiZSBvYnN0cnVjdGVkLiBBcyBhIHJlc3VsdCwgd2UncmUgbGVmdFxuICAgICAqIHdpdGggbGl0dGxlIGNob2ljZSBidXQgdG8gdGhyb3cgYW4gZXJyb3IuIFVuZm9ydHVuYXRlbHksIHRoaXMgYWxzbyBhZmZlY3RzXG4gICAgICogcGFja2FnZXMsIGxpa2UgW2JhYmVsLXBvbHlmaWxsXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9iYWJlbC1wb2x5ZmlsbCksXG4gICAgICogd2hpY2ggcmVseSBvbiBjb3JlLWpzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzTmF0aXZlKEFycmF5LnByb3RvdHlwZS5wdXNoKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTmF0aXZlKF8pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNOYXRpdmUodmFsdWUpIHtcbiAgICAgIGlmIChpc01hc2thYmxlKHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoQ09SRV9FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYG51bGxgLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNOdWxsKG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOdWxsKHZvaWQgMCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc051bGwodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG51bGxpc2gsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc05pbChudWxsKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTmlsKHZvaWQgMCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc05pbChOYU4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNOaWwodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgTnVtYmVyYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRvIGV4Y2x1ZGUgYEluZmluaXR5YCwgYC1JbmZpbml0eWAsIGFuZCBgTmFOYCwgd2hpY2ggYXJlXG4gICAgICogY2xhc3NpZmllZCBhcyBudW1iZXJzLCB1c2UgdGhlIGBfLmlzRmluaXRlYCBtZXRob2QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbnVtYmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNOdW1iZXIoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc051bWJlcihOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTnVtYmVyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTnVtYmVyKCczJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc051bWJlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyB8fFxuICAgICAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBudW1iZXJUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGF0IGlzLCBhbiBvYmplY3QgY3JlYXRlZCBieSB0aGVcbiAgICAgKiBgT2JqZWN0YCBjb25zdHJ1Y3RvciBvciBvbmUgd2l0aCBhIGBbW1Byb3RvdHlwZV1dYCBvZiBgbnVsbGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC44LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KG5ldyBGb28pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzUGxhaW5PYmplY3QoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KHsgJ3gnOiAwLCAneSc6IDAgfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkgfHwgYmFzZUdldFRhZyh2YWx1ZSkgIT0gb2JqZWN0VGFnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBwcm90byA9IGdldFByb3RvdHlwZSh2YWx1ZSk7XG4gICAgICBpZiAocHJvdG8gPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB2YXIgQ3RvciA9IGhhc093blByb3BlcnR5LmNhbGwocHJvdG8sICdjb25zdHJ1Y3RvcicpICYmIHByb3RvLmNvbnN0cnVjdG9yO1xuICAgICAgcmV0dXJuIHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3RvciBpbnN0YW5jZW9mIEN0b3IgJiZcbiAgICAgICAgZnVuY1RvU3RyaW5nLmNhbGwoQ3RvcikgPT0gb2JqZWN0Q3RvclN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFJlZ0V4cGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHJlZ2V4cCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzUmVnRXhwKC9hYmMvKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzUmVnRXhwKCcvYWJjLycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzUmVnRXhwID0gbm9kZUlzUmVnRXhwID8gYmFzZVVuYXJ5KG5vZGVJc1JlZ0V4cCkgOiBiYXNlSXNSZWdFeHA7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHNhZmUgaW50ZWdlci4gQW4gaW50ZWdlciBpcyBzYWZlIGlmIGl0J3MgYW4gSUVFRS03NTRcbiAgICAgKiBkb3VibGUgcHJlY2lzaW9uIG51bWJlciB3aGljaCBpc24ndCB0aGUgcmVzdWx0IG9mIGEgcm91bmRlZCB1bnNhZmUgaW50ZWdlci5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvblxuICAgICAqIFtgTnVtYmVyLmlzU2FmZUludGVnZXJgXShodHRwczovL21kbi5pby9OdW1iZXIvaXNTYWZlSW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc2FmZSBpbnRlZ2VyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcigzKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzU2FmZUludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcignMycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNTYWZlSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzSW50ZWdlcih2YWx1ZSkgJiYgdmFsdWUgPj0gLU1BWF9TQUZFX0lOVEVHRVIgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFNldGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHNldCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzU2V0KG5ldyBTZXQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNTZXQobmV3IFdlYWtTZXQpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzU2V0ID0gbm9kZUlzU2V0ID8gYmFzZVVuYXJ5KG5vZGVJc1NldCkgOiBiYXNlSXNTZXQ7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFN0cmluZ2AgcHJpbWl0aXZlIG9yIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzdHJpbmcsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc1N0cmluZygnYWJjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1N0cmluZygxKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdzdHJpbmcnIHx8XG4gICAgICAgICghaXNBcnJheSh2YWx1ZSkgJiYgaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzdHJpbmdUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgU3ltYm9sYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHN5bWJvbCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzU3ltYm9sKFN5bWJvbC5pdGVyYXRvcik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1N5bWJvbCgnYWJjJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1N5bWJvbCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgICAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzeW1ib2xUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSB0eXBlZCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzVHlwZWRBcnJheShuZXcgVWludDhBcnJheSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1R5cGVkQXJyYXkoW10pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzVHlwZWRBcnJheSA9IG5vZGVJc1R5cGVkQXJyYXkgPyBiYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSkgOiBiYXNlSXNUeXBlZEFycmF5O1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGB1bmRlZmluZWRgLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNVbmRlZmluZWQodm9pZCAwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzVW5kZWZpbmVkKG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgV2Vha01hcGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHdlYWsgbWFwLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNXZWFrTWFwKG5ldyBXZWFrTWFwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzV2Vha01hcChuZXcgTWFwKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzV2Vha01hcCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgZ2V0VGFnKHZhbHVlKSA9PSB3ZWFrTWFwVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgV2Vha1NldGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHdlYWsgc2V0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNXZWFrU2V0KG5ldyBXZWFrU2V0KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzV2Vha1NldChuZXcgU2V0KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzV2Vha1NldCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gd2Vha1NldFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsZXNzIHRoYW4gYG90aGVyYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjkuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQHNlZSBfLmd0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubHQoMSwgMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5sdCgzLCAzKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5sdCgzLCAxKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBsdCA9IGNyZWF0ZVJlbGF0aW9uYWxPcGVyYXRpb24oYmFzZUx0KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgb3RoZXJgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvXG4gICAgICogIGBvdGhlcmAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAc2VlIF8uZ3RlXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubHRlKDEsIDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8ubHRlKDMsIDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8ubHRlKDMsIDEpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGx0ZSA9IGNyZWF0ZVJlbGF0aW9uYWxPcGVyYXRpb24oZnVuY3Rpb24odmFsdWUsIG90aGVyKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPD0gb3RoZXI7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGFuIGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvQXJyYXkoeyAnYSc6IDEsICdiJzogMiB9KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIF8udG9BcnJheSgnYWJjJyk7XG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddXG4gICAgICpcbiAgICAgKiBfLnRvQXJyYXkoMSk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKlxuICAgICAqIF8udG9BcnJheShudWxsKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvQXJyYXkodmFsdWUpIHtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXlMaWtlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaXNTdHJpbmcodmFsdWUpID8gc3RyaW5nVG9BcnJheSh2YWx1ZSkgOiBjb3B5QXJyYXkodmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKHN5bUl0ZXJhdG9yICYmIHZhbHVlW3N5bUl0ZXJhdG9yXSkge1xuICAgICAgICByZXR1cm4gaXRlcmF0b3JUb0FycmF5KHZhbHVlW3N5bUl0ZXJhdG9yXSgpKTtcbiAgICAgIH1cbiAgICAgIHZhciB0YWcgPSBnZXRUYWcodmFsdWUpLFxuICAgICAgICAgIGZ1bmMgPSB0YWcgPT0gbWFwVGFnID8gbWFwVG9BcnJheSA6ICh0YWcgPT0gc2V0VGFnID8gc2V0VG9BcnJheSA6IHZhbHVlcyk7XG5cbiAgICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgZmluaXRlIG51bWJlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEyLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY29udmVydGVkIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b0Zpbml0ZSgzLjIpO1xuICAgICAqIC8vID0+IDMuMlxuICAgICAqXG4gICAgICogXy50b0Zpbml0ZShOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiA1ZS0zMjRcbiAgICAgKlxuICAgICAqIF8udG9GaW5pdGUoSW5maW5pdHkpO1xuICAgICAqIC8vID0+IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XG4gICAgICpcbiAgICAgKiBfLnRvRmluaXRlKCczLjInKTtcbiAgICAgKiAvLyA9PiAzLjJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b0Zpbml0ZSh2YWx1ZSkge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6IDA7XG4gICAgICB9XG4gICAgICB2YWx1ZSA9IHRvTnVtYmVyKHZhbHVlKTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gSU5GSU5JVFkgfHwgdmFsdWUgPT09IC1JTkZJTklUWSkge1xuICAgICAgICB2YXIgc2lnbiA9ICh2YWx1ZSA8IDAgPyAtMSA6IDEpO1xuICAgICAgICByZXR1cm4gc2lnbiAqIE1BWF9JTlRFR0VSO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlID09PSB2YWx1ZSA/IHZhbHVlIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGFuIGludGVnZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvblxuICAgICAqIFtgVG9JbnRlZ2VyYF0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRvaW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY29udmVydGVkIGludGVnZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9JbnRlZ2VyKDMuMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy50b0ludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogXy50b0ludGVnZXIoSW5maW5pdHkpO1xuICAgICAqIC8vID0+IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XG4gICAgICpcbiAgICAgKiBfLnRvSW50ZWdlcignMy4yJyk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvSW50ZWdlcih2YWx1ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHRvRmluaXRlKHZhbHVlKSxcbiAgICAgICAgICByZW1haW5kZXIgPSByZXN1bHQgJSAxO1xuXG4gICAgICByZXR1cm4gcmVzdWx0ID09PSByZXN1bHQgPyAocmVtYWluZGVyID8gcmVzdWx0IC0gcmVtYWluZGVyIDogcmVzdWx0KSA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhbiBpbnRlZ2VyIHN1aXRhYmxlIGZvciB1c2UgYXMgdGhlIGxlbmd0aCBvZiBhblxuICAgICAqIGFycmF5LWxpa2Ugb2JqZWN0LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uXG4gICAgICogW2BUb0xlbmd0aGBdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRvbGVuZ3RoKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgaW50ZWdlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b0xlbmd0aCgzLjIpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8udG9MZW5ndGgoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogXy50b0xlbmd0aChJbmZpbml0eSk7XG4gICAgICogLy8gPT4gNDI5NDk2NzI5NVxuICAgICAqXG4gICAgICogXy50b0xlbmd0aCgnMy4yJyk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvTGVuZ3RoKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPyBiYXNlQ2xhbXAodG9JbnRlZ2VyKHZhbHVlKSwgMCwgTUFYX0FSUkFZX0xFTkdUSCkgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBudW1iZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvTnVtYmVyKDMuMik7XG4gICAgICogLy8gPT4gMy4yXG4gICAgICpcbiAgICAgKiBfLnRvTnVtYmVyKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IDVlLTMyNFxuICAgICAqXG4gICAgICogXy50b051bWJlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gSW5maW5pdHlcbiAgICAgKlxuICAgICAqIF8udG9OdW1iZXIoJzMuMicpO1xuICAgICAqIC8vID0+IDMuMlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE5BTjtcbiAgICAgIH1cbiAgICAgIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgdmFyIG90aGVyID0gdHlwZW9mIHZhbHVlLnZhbHVlT2YgPT0gJ2Z1bmN0aW9uJyA/IHZhbHVlLnZhbHVlT2YoKSA6IHZhbHVlO1xuICAgICAgICB2YWx1ZSA9IGlzT2JqZWN0KG90aGVyKSA/IChvdGhlciArICcnKSA6IG90aGVyO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6ICt2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZShyZVRyaW0sICcnKTtcbiAgICAgIHZhciBpc0JpbmFyeSA9IHJlSXNCaW5hcnkudGVzdCh2YWx1ZSk7XG4gICAgICByZXR1cm4gKGlzQmluYXJ5IHx8IHJlSXNPY3RhbC50ZXN0KHZhbHVlKSlcbiAgICAgICAgPyBmcmVlUGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIGlzQmluYXJ5ID8gMiA6IDgpXG4gICAgICAgIDogKHJlSXNCYWRIZXgudGVzdCh2YWx1ZSkgPyBOQU4gOiArdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBwbGFpbiBvYmplY3QgZmxhdHRlbmluZyBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmdcbiAgICAgKiBrZXllZCBwcm9wZXJ0aWVzIG9mIGB2YWx1ZWAgdG8gb3duIHByb3BlcnRpZXMgb2YgdGhlIHBsYWluIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgcGxhaW4gb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLmFzc2lnbih7ICdhJzogMSB9LCBuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKlxuICAgICAqIF8uYXNzaWduKHsgJ2EnOiAxIH0sIF8udG9QbGFpbk9iamVjdChuZXcgRm9vKSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gY29weU9iamVjdCh2YWx1ZSwga2V5c0luKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHNhZmUgaW50ZWdlci4gQSBzYWZlIGludGVnZXIgY2FuIGJlIGNvbXBhcmVkIGFuZFxuICAgICAqIHJlcHJlc2VudGVkIGNvcnJlY3RseS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgaW50ZWdlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKDMuMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIF8udG9TYWZlSW50ZWdlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gOTAwNzE5OTI1NDc0MDk5MVxuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKCczLjInKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9TYWZlSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgID8gYmFzZUNsYW1wKHRvSW50ZWdlcih2YWx1ZSksIC1NQVhfU0FGRV9JTlRFR0VSLCBNQVhfU0FGRV9JTlRFR0VSKVxuICAgICAgICA6ICh2YWx1ZSA9PT0gMCA/IHZhbHVlIDogMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZy4gQW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkIGZvciBgbnVsbGBcbiAgICAgKiBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzLiBUaGUgc2lnbiBvZiBgLTBgIGlzIHByZXNlcnZlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKG51bGwpO1xuICAgICAqIC8vID0+ICcnXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKC0wKTtcbiAgICAgKiAvLyA9PiAnLTAnXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gJzEsMiwzJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogYmFzZVRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBBc3NpZ25zIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0aWVzIG9mIHNvdXJjZSBvYmplY3RzIHRvIHRoZVxuICAgICAqIGRlc3RpbmF0aW9uIG9iamVjdC4gU291cmNlIG9iamVjdHMgYXJlIGFwcGxpZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LlxuICAgICAqIFN1YnNlcXVlbnQgc291cmNlcyBvdmVyd3JpdGUgcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgc291cmNlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgIGFuZCBpcyBsb29zZWx5IGJhc2VkIG9uXG4gICAgICogW2BPYmplY3QuYXNzaWduYF0oaHR0cHM6Ly9tZG4uaW8vT2JqZWN0L2Fzc2lnbikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5hc3NpZ25JblxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEJhcigpIHtcbiAgICAgKiAgIHRoaXMuYyA9IDM7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5iID0gMjtcbiAgICAgKiBCYXIucHJvdG90eXBlLmQgPSA0O1xuICAgICAqXG4gICAgICogXy5hc3NpZ24oeyAnYSc6IDAgfSwgbmV3IEZvbywgbmV3IEJhcik7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdjJzogMyB9XG4gICAgICovXG4gICAgdmFyIGFzc2lnbiA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlKSB7XG4gICAgICBpZiAoaXNQcm90b3R5cGUoc291cmNlKSB8fCBpc0FycmF5TGlrZShzb3VyY2UpKSB7XG4gICAgICAgIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzKHNvdXJjZSksIG9iamVjdCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgYXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25gIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgb3duIGFuZFxuICAgICAqIGluaGVyaXRlZCBzb3VyY2UgcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGFsaWFzIGV4dGVuZFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uYXNzaWduXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gQmFyKCkge1xuICAgICAqICAgdGhpcy5jID0gMztcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmIgPSAyO1xuICAgICAqIEJhci5wcm90b3R5cGUuZCA9IDQ7XG4gICAgICpcbiAgICAgKiBfLmFzc2lnbkluKHsgJ2EnOiAwIH0sIG5ldyBGb28sIG5ldyBCYXIpO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMywgJ2QnOiA0IH1cbiAgICAgKi9cbiAgICB2YXIgYXNzaWduSW4gPSBjcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3QsIHNvdXJjZSkge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25JbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIGFzc2lnbmVkIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnNcbiAgICAgKiBgdW5kZWZpbmVkYCwgYXNzaWdubWVudCBpcyBoYW5kbGVkIGJ5IHRoZSBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYFxuICAgICAqIGlzIGludm9rZWQgd2l0aCBmaXZlIGFyZ3VtZW50czogKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBhbGlhcyBleHRlbmRXaXRoXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gc291cmNlcyBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgYXNzaWduZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQHNlZSBfLmFzc2lnbldpdGhcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiBfLmlzVW5kZWZpbmVkKG9ialZhbHVlKSA/IHNyY1ZhbHVlIDogb2JqVmFsdWU7XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGRlZmF1bHRzID0gXy5wYXJ0aWFsUmlnaHQoXy5hc3NpZ25JbldpdGgsIGN1c3RvbWl6ZXIpO1xuICAgICAqXG4gICAgICogZGVmYXVsdHMoeyAnYSc6IDEgfSwgeyAnYic6IDIgfSwgeyAnYSc6IDMgfSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgdmFyIGFzc2lnbkluV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QsIGN1c3RvbWl6ZXIpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBhc3NpZ25lZCB2YWx1ZXMuIElmIGBjdXN0b21pemVyYCByZXR1cm5zXG4gICAgICogYHVuZGVmaW5lZGAsIGFzc2lnbm1lbnQgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmBcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggZml2ZSBhcmd1bWVudHM6IChvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uT2JqZWN0fSBzb3VyY2VzIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uYXNzaWduSW5XaXRoXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlKSB7XG4gICAgICogICByZXR1cm4gXy5pc1VuZGVmaW5lZChvYmpWYWx1ZSkgPyBzcmNWYWx1ZSA6IG9ialZhbHVlO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBkZWZhdWx0cyA9IF8ucGFydGlhbFJpZ2h0KF8uYXNzaWduV2l0aCwgY3VzdG9taXplcik7XG4gICAgICpcbiAgICAgKiBkZWZhdWx0cyh7ICdhJzogMSB9LCB7ICdiJzogMiB9LCB7ICdhJzogMyB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKi9cbiAgICB2YXIgYXNzaWduV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXMoc291cmNlKSwgb2JqZWN0LCBjdXN0b21pemVyKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gYHBhdGhzYCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7Li4uKHN0cmluZ3xzdHJpbmdbXSl9IFtwYXRoc10gVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBwaWNrZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IDMgfSB9LCA0XSB9O1xuICAgICAqXG4gICAgICogXy5hdChvYmplY3QsIFsnYVswXS5iLmMnLCAnYVsxXSddKTtcbiAgICAgKiAvLyA9PiBbMywgNF1cbiAgICAgKi9cbiAgICB2YXIgYXQgPSBmbGF0UmVzdChiYXNlQXQpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgdGhhdCBpbmhlcml0cyBmcm9tIHRoZSBgcHJvdG90eXBlYCBvYmplY3QuIElmIGFcbiAgICAgKiBgcHJvcGVydGllc2Agb2JqZWN0IGlzIGdpdmVuLCBpdHMgb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXNcbiAgICAgKiBhcmUgYXNzaWduZWQgdG8gdGhlIGNyZWF0ZWQgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm90b3R5cGUgVGhlIG9iamVjdCB0byBpbmhlcml0IGZyb20uXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtwcm9wZXJ0aWVzXSBUaGUgcHJvcGVydGllcyB0byBhc3NpZ24gdG8gdGhlIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBTaGFwZSgpIHtcbiAgICAgKiAgIHRoaXMueCA9IDA7XG4gICAgICogICB0aGlzLnkgPSAwO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIENpcmNsZSgpIHtcbiAgICAgKiAgIFNoYXBlLmNhbGwodGhpcyk7XG4gICAgICogfVxuICAgICAqXG4gICAgICogQ2lyY2xlLnByb3RvdHlwZSA9IF8uY3JlYXRlKFNoYXBlLnByb3RvdHlwZSwge1xuICAgICAqICAgJ2NvbnN0cnVjdG9yJzogQ2lyY2xlXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiB2YXIgY2lyY2xlID0gbmV3IENpcmNsZTtcbiAgICAgKiBjaXJjbGUgaW5zdGFuY2VvZiBDaXJjbGU7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogY2lyY2xlIGluc3RhbmNlb2YgU2hhcGU7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZShwcm90b3R5cGUsIHByb3BlcnRpZXMpIHtcbiAgICAgIHZhciByZXN1bHQgPSBiYXNlQ3JlYXRlKHByb3RvdHlwZSk7XG4gICAgICByZXR1cm4gcHJvcGVydGllcyA9PSBudWxsID8gcmVzdWx0IDogYmFzZUFzc2lnbihyZXN1bHQsIHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbnMgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBvZiBzb3VyY2VcbiAgICAgKiBvYmplY3RzIHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QgZm9yIGFsbCBkZXN0aW5hdGlvbiBwcm9wZXJ0aWVzIHRoYXRcbiAgICAgKiByZXNvbHZlIHRvIGB1bmRlZmluZWRgLiBTb3VyY2Ugb2JqZWN0cyBhcmUgYXBwbGllZCBmcm9tIGxlZnQgdG8gcmlnaHQuXG4gICAgICogT25jZSBhIHByb3BlcnR5IGlzIHNldCwgYWRkaXRpb25hbCB2YWx1ZXMgb2YgdGhlIHNhbWUgcHJvcGVydHkgYXJlIGlnbm9yZWQuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZGVmYXVsdHNEZWVwXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGVmYXVsdHMoeyAnYSc6IDEgfSwgeyAnYic6IDIgfSwgeyAnYSc6IDMgfSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgdmFyIGRlZmF1bHRzID0gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcblxuICAgICAgdmFyIGluZGV4ID0gLTE7XG4gICAgICB2YXIgbGVuZ3RoID0gc291cmNlcy5sZW5ndGg7XG4gICAgICB2YXIgZ3VhcmQgPSBsZW5ndGggPiAyID8gc291cmNlc1syXSA6IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHNvdXJjZXNbMF0sIHNvdXJjZXNbMV0sIGd1YXJkKSkge1xuICAgICAgICBsZW5ndGggPSAxO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07XG4gICAgICAgIHZhciBwcm9wcyA9IGtleXNJbihzb3VyY2UpO1xuICAgICAgICB2YXIgcHJvcHNJbmRleCA9IC0xO1xuICAgICAgICB2YXIgcHJvcHNMZW5ndGggPSBwcm9wcy5sZW5ndGg7XG5cbiAgICAgICAgd2hpbGUgKCsrcHJvcHNJbmRleCA8IHByb3BzTGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIGtleSA9IHByb3BzW3Byb3BzSW5kZXhdO1xuICAgICAgICAgIHZhciB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgKGVxKHZhbHVlLCBvYmplY3RQcm90b1trZXldKSAmJiAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSB7XG4gICAgICAgICAgICBvYmplY3Rba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5kZWZhdWx0c2AgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgYXNzaWduc1xuICAgICAqIGRlZmF1bHQgcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZGVmYXVsdHNcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWZhdWx0c0RlZXAoeyAnYSc6IHsgJ2InOiAyIH0gfSwgeyAnYSc6IHsgJ2InOiAxLCAnYyc6IDMgfSB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogeyAnYic6IDIsICdjJzogMyB9IH1cbiAgICAgKi9cbiAgICB2YXIgZGVmYXVsdHNEZWVwID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgYXJncy5wdXNoKHVuZGVmaW5lZCwgY3VzdG9tRGVmYXVsdHNNZXJnZSk7XG4gICAgICByZXR1cm4gYXBwbHkobWVyZ2VXaXRoLCB1bmRlZmluZWQsIGFyZ3MpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5maW5kYCBleGNlcHQgdGhhdCBpdCByZXR1cm5zIHRoZSBrZXkgb2YgdGhlIGZpcnN0XG4gICAgICogZWxlbWVudCBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfSBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIG1hdGNoZWQgZWxlbWVudCxcbiAgICAgKiAgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0ge1xuICAgICAqICAgJ2Jhcm5leSc6ICB7ICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgICdmcmVkJzogICAgeyAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgJ3BlYmJsZXMnOiB7ICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLmZpbmRLZXkodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlIDwgNDA7IH0pO1xuICAgICAqIC8vID0+ICdiYXJuZXknIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZEtleSh1c2VycywgeyAnYWdlJzogMSwgJ2FjdGl2ZSc6IHRydWUgfSk7XG4gICAgICogLy8gPT4gJ3BlYmJsZXMnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kS2V5KHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gJ2ZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRLZXkodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAnYmFybmV5J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbmRLZXkob2JqZWN0LCBwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiBiYXNlRmluZEtleShvYmplY3QsIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGJhc2VGb3JPd24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmluZEtleWAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGEgY29sbGVjdGlvbiBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfSBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIG1hdGNoZWQgZWxlbWVudCxcbiAgICAgKiAgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0ge1xuICAgICAqICAgJ2Jhcm5leSc6ICB7ICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgICdmcmVkJzogICAgeyAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgJ3BlYmJsZXMnOiB7ICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLmZpbmRMYXN0S2V5KHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLmFnZSA8IDQwOyB9KTtcbiAgICAgKiAvLyA9PiByZXR1cm5zICdwZWJibGVzJyBhc3N1bWluZyBgXy5maW5kS2V5YCByZXR1cm5zICdiYXJuZXknXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsIHsgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiAnYmFybmV5J1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiAnZnJlZCdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAncGViYmxlcydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaW5kTGFzdEtleShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIGJhc2VGaW5kS2V5KG9iamVjdCwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgYmFzZUZvck93blJpZ2h0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2YgYW5cbiAgICAgKiBvYmplY3QgYW5kIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgZWFjaCBwcm9wZXJ0eS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBrZXksIG9iamVjdCkuIEl0ZXJhdGVlIGZ1bmN0aW9ucyBtYXkgZXhpdFxuICAgICAqIGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZm9ySW5SaWdodFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5mb3JJbihuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2EnLCAnYicsIHRoZW4gJ2MnIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvckluKG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbFxuICAgICAgICA/IG9iamVjdFxuICAgICAgICA6IGJhc2VGb3Iob2JqZWN0LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMyksIGtleXNJbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mb3JJbmAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBwcm9wZXJ0aWVzIG9mXG4gICAgICogYG9iamVjdGAgaW4gdGhlIG9wcG9zaXRlIG9yZGVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZm9ySW5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8uZm9ySW5SaWdodChuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2MnLCAnYicsIHRoZW4gJ2EnIGFzc3VtaW5nIGBfLmZvckluYCBsb2dzICdhJywgJ2InLCB0aGVuICdjJy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmb3JJblJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbFxuICAgICAgICA/IG9iamVjdFxuICAgICAgICA6IGJhc2VGb3JSaWdodChvYmplY3QsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKSwga2V5c0luKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0aWVzIG9mIGFuIG9iamVjdCBhbmRcbiAgICAgKiBpbnZva2VzIGBpdGVyYXRlZWAgZm9yIGVhY2ggcHJvcGVydHkuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhyZWVcbiAgICAgKiBhcmd1bWVudHM6ICh2YWx1ZSwga2V5LCBvYmplY3QpLiBJdGVyYXRlZSBmdW5jdGlvbnMgbWF5IGV4aXQgaXRlcmF0aW9uXG4gICAgICogZWFybHkgYnkgZXhwbGljaXRseSByZXR1cm5pbmcgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjMuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQHNlZSBfLmZvck93blJpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLmZvck93bihuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2EnIHRoZW4gJ2InIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvck93bihvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3JPd24ob2JqZWN0LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZm9yT3duYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIHByb3BlcnRpZXMgb2ZcbiAgICAgKiBgb2JqZWN0YCBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5mb3JPd25cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8uZm9yT3duUmlnaHQobmV3IEZvbywgZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAqICAgY29uc29sZS5sb2coa2V5KTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiBMb2dzICdiJyB0aGVuICdhJyBhc3N1bWluZyBgXy5mb3JPd25gIGxvZ3MgJ2EnIHRoZW4gJ2InLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvck93blJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvck93blJpZ2h0KG9iamVjdCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZyb20gb3duIGVudW1lcmFibGUgcHJvcGVydGllc1xuICAgICAqIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgZnVuY3Rpb24gbmFtZXMuXG4gICAgICogQHNlZSBfLmZ1bmN0aW9uc0luXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IF8uY29uc3RhbnQoJ2EnKTtcbiAgICAgKiAgIHRoaXMuYiA9IF8uY29uc3RhbnQoJ2InKTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSBfLmNvbnN0YW50KCdjJyk7XG4gICAgICpcbiAgICAgKiBfLmZ1bmN0aW9ucyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYiddXG4gICAgICovXG4gICAgZnVuY3Rpb24gZnVuY3Rpb25zKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlRnVuY3Rpb25zKG9iamVjdCwga2V5cyhvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZyb20gb3duIGFuZCBpbmhlcml0ZWRcbiAgICAgKiBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBuYW1lcy5cbiAgICAgKiBAc2VlIF8uZnVuY3Rpb25zXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IF8uY29uc3RhbnQoJ2EnKTtcbiAgICAgKiAgIHRoaXMuYiA9IF8uY29uc3RhbnQoJ2InKTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSBfLmNvbnN0YW50KCdjJyk7XG4gICAgICpcbiAgICAgKiBfLmZ1bmN0aW9uc0luKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFsnYScsICdiJywgJ2MnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZ1bmN0aW9uc0luKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlRnVuY3Rpb25zKG9iamVjdCwga2V5c0luKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC4gSWYgdGhlIHJlc29sdmVkIHZhbHVlIGlzXG4gICAgICogYHVuZGVmaW5lZGAsIHRoZSBgZGVmYXVsdFZhbHVlYCBpcyByZXR1cm5lZCBpbiBpdHMgcGxhY2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy43LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBbZGVmYXVsdFZhbHVlXSBUaGUgdmFsdWUgcmV0dXJuZWQgZm9yIGB1bmRlZmluZWRgIHJlc29sdmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogMyB9IH1dIH07XG4gICAgICpcbiAgICAgKiBfLmdldChvYmplY3QsICdhWzBdLmIuYycpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8uZ2V0KG9iamVjdCwgWydhJywgJzAnLCAnYicsICdjJ10pO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8uZ2V0KG9iamVjdCwgJ2EuYi5jJywgJ2RlZmF1bHQnKTtcbiAgICAgKiAvLyA9PiAnZGVmYXVsdCdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXQob2JqZWN0LCBwYXRoLCBkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHZhciByZXN1bHQgPSBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IGJhc2VHZXQob2JqZWN0LCBwYXRoKTtcbiAgICAgIHJldHVybiByZXN1bHQgPT09IHVuZGVmaW5lZCA/IGRlZmF1bHRWYWx1ZSA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHBhdGhgIGlzIGEgZGlyZWN0IHByb3BlcnR5IG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHBhdGhgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IHsgJ2InOiAyIH0gfTtcbiAgICAgKiB2YXIgb3RoZXIgPSBfLmNyZWF0ZSh7ICdhJzogXy5jcmVhdGUoeyAnYic6IDIgfSkgfSk7XG4gICAgICpcbiAgICAgKiBfLmhhcyhvYmplY3QsICdhJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5oYXMob2JqZWN0LCAnYS5iJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5oYXMob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhcyhvdGhlciwgJ2EnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhcyhvYmplY3QsIHBhdGgpIHtcbiAgICAgIHJldHVybiBvYmplY3QgIT0gbnVsbCAmJiBoYXNQYXRoKG9iamVjdCwgcGF0aCwgYmFzZUhhcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBwYXRoYCBpcyBhIGRpcmVjdCBvciBpbmhlcml0ZWQgcHJvcGVydHkgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgcGF0aGAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSBfLmNyZWF0ZSh7ICdhJzogXy5jcmVhdGUoeyAnYic6IDIgfSkgfSk7XG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2EnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2EuYicpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaGFzSW4ob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2InKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc0luKG9iamVjdCwgcGF0aCkge1xuICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGhhc1BhdGgob2JqZWN0LCBwYXRoLCBiYXNlSGFzSW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZSBpbnZlcnRlZCBrZXlzIGFuZCB2YWx1ZXMgb2YgYG9iamVjdGAuXG4gICAgICogSWYgYG9iamVjdGAgY29udGFpbnMgZHVwbGljYXRlIHZhbHVlcywgc3Vic2VxdWVudCB2YWx1ZXMgb3ZlcndyaXRlXG4gICAgICogcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZlcnQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGludmVydGVkIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMSB9O1xuICAgICAqXG4gICAgICogXy5pbnZlcnQob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICcxJzogJ2MnLCAnMic6ICdiJyB9XG4gICAgICovXG4gICAgdmFyIGludmVydCA9IGNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiZcbiAgICAgICAgICB0eXBlb2YgdmFsdWUudG9TdHJpbmcgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB2YWx1ZSA9IG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXN1bHRbdmFsdWVdID0ga2V5O1xuICAgIH0sIGNvbnN0YW50KGlkZW50aXR5KSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmludmVydGAgZXhjZXB0IHRoYXQgdGhlIGludmVydGVkIG9iamVjdCBpcyBnZW5lcmF0ZWRcbiAgICAgKiBmcm9tIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmcgZWFjaCBlbGVtZW50IG9mIGBvYmplY3RgIHRocnUgYGl0ZXJhdGVlYC4gVGhlXG4gICAgICogY29ycmVzcG9uZGluZyBpbnZlcnRlZCB2YWx1ZSBvZiBlYWNoIGludmVydGVkIGtleSBpcyBhbiBhcnJheSBvZiBrZXlzXG4gICAgICogcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlIGludmVydGVkIHZhbHVlLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZFxuICAgICAqIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMS4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZlcnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBpbnZlcnRlZCBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uaW52ZXJ0Qnkob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICcxJzogWydhJywgJ2MnXSwgJzInOiBbJ2InXSB9XG4gICAgICpcbiAgICAgKiBfLmludmVydEJ5KG9iamVjdCwgZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiAnZ3JvdXAnICsgdmFsdWU7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnZ3JvdXAxJzogWydhJywgJ2MnXSwgJ2dyb3VwMic6IFsnYiddIH1cbiAgICAgKi9cbiAgICB2YXIgaW52ZXJ0QnkgPSBjcmVhdGVJbnZlcnRlcihmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmXG4gICAgICAgICAgdHlwZW9mIHZhbHVlLnRvU3RyaW5nICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdmFsdWUgPSBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LCB2YWx1ZSkpIHtcbiAgICAgICAgcmVzdWx0W3ZhbHVlXS5wdXNoKGtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHRbdmFsdWVdID0gW2tleV07XG4gICAgICB9XG4gICAgfSwgZ2V0SXRlcmF0ZWUpO1xuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgbWV0aG9kIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIG1ldGhvZCB0byBpbnZva2UuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgdGhlIG1ldGhvZCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGludm9rZWQgbWV0aG9kLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IFsxLCAyLCAzLCA0XSB9IH1dIH07XG4gICAgICpcbiAgICAgKiBfLmludm9rZShvYmplY3QsICdhWzBdLmIuYy5zbGljZScsIDEsIDMpO1xuICAgICAqIC8vID0+IFsyLCAzXVxuICAgICAqL1xuICAgIHZhciBpbnZva2UgPSBiYXNlUmVzdChiYXNlSW52b2tlKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBlbnVtZXJhYmxlIHByb3BlcnR5IG5hbWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuIFNlZSB0aGVcbiAgICAgKiBbRVMgc3BlY10oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LmtleXMpXG4gICAgICogZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8ua2V5cyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYiddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiBfLmtleXMoJ2hpJyk7XG4gICAgICogLy8gPT4gWycwJywgJzEnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGtleXMob2JqZWN0KSB7XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0KSA6IGJhc2VLZXlzKG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBOb24tb2JqZWN0IHZhbHVlcyBhcmUgY29lcmNlZCB0byBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5rZXlzSW4obmV3IEZvbyk7XG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICovXG4gICAgZnVuY3Rpb24ga2V5c0luKG9iamVjdCkge1xuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlKG9iamVjdCkgPyBhcnJheUxpa2VLZXlzKG9iamVjdCwgdHJ1ZSkgOiBiYXNlS2V5c0luKG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLm1hcFZhbHVlc2A7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdGhlXG4gICAgICogc2FtZSB2YWx1ZXMgYXMgYG9iamVjdGAgYW5kIGtleXMgZ2VuZXJhdGVkIGJ5IHJ1bm5pbmcgZWFjaCBvd24gZW51bWVyYWJsZVxuICAgICAqIHN0cmluZyBrZXllZCBwcm9wZXJ0eSBvZiBgb2JqZWN0YCB0aHJ1IGBpdGVyYXRlZWAuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwga2V5LCBvYmplY3QpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBvYmplY3QuXG4gICAgICogQHNlZSBfLm1hcFZhbHVlc1xuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLm1hcEtleXMoeyAnYSc6IDEsICdiJzogMiB9LCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICByZXR1cm4ga2V5ICsgdmFsdWU7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnYTEnOiAxLCAnYjInOiAyIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBLZXlzKG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHZhciByZXN1bHQgPSB7fTtcbiAgICAgIGl0ZXJhdGVlID0gZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpO1xuXG4gICAgICBiYXNlRm9yT3duKG9iamVjdCwgZnVuY3Rpb24odmFsdWUsIGtleSwgb2JqZWN0KSB7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsIGl0ZXJhdGVlKHZhbHVlLCBrZXksIG9iamVjdCksIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lIGtleXMgYXMgYG9iamVjdGAgYW5kIHZhbHVlcyBnZW5lcmF0ZWRcbiAgICAgKiBieSBydW5uaW5nIGVhY2ggb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnR5IG9mIGBvYmplY3RgIHRocnVcbiAgICAgKiBgaXRlcmF0ZWVgLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czpcbiAgICAgKiAodmFsdWUsIGtleSwgb2JqZWN0KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgb2JqZWN0LlxuICAgICAqIEBzZWUgXy5tYXBLZXlzXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IHtcbiAgICAgKiAgICdmcmVkJzogICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwIH0sXG4gICAgICogICAncGViYmxlcyc6IHsgJ3VzZXInOiAncGViYmxlcycsICdhZ2UnOiAxIH1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogXy5tYXBWYWx1ZXModXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlOyB9KTtcbiAgICAgKiAvLyA9PiB7ICdmcmVkJzogNDAsICdwZWJibGVzJzogMSB9IChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1hcFZhbHVlcyh1c2VycywgJ2FnZScpO1xuICAgICAqIC8vID0+IHsgJ2ZyZWQnOiA0MCwgJ3BlYmJsZXMnOiAxIH0gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBWYWx1ZXMob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgICAgaXRlcmF0ZWUgPSBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMyk7XG5cbiAgICAgIGJhc2VGb3JPd24ob2JqZWN0LCBmdW5jdGlvbih2YWx1ZSwga2V5LCBvYmplY3QpIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCBpdGVyYXRlZSh2YWx1ZSwga2V5LCBvYmplY3QpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmFzc2lnbmAgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgbWVyZ2VzIG93biBhbmRcbiAgICAgKiBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBvZiBzb3VyY2Ugb2JqZWN0cyBpbnRvIHRoZVxuICAgICAqIGRlc3RpbmF0aW9uIG9iamVjdC4gU291cmNlIHByb3BlcnRpZXMgdGhhdCByZXNvbHZlIHRvIGB1bmRlZmluZWRgIGFyZVxuICAgICAqIHNraXBwZWQgaWYgYSBkZXN0aW5hdGlvbiB2YWx1ZSBleGlzdHMuIEFycmF5IGFuZCBwbGFpbiBvYmplY3QgcHJvcGVydGllc1xuICAgICAqIGFyZSBtZXJnZWQgcmVjdXJzaXZlbHkuIE90aGVyIG9iamVjdHMgYW5kIHZhbHVlIHR5cGVzIGFyZSBvdmVycmlkZGVuIGJ5XG4gICAgICogYXNzaWdubWVudC4gU291cmNlIG9iamVjdHMgYXJlIGFwcGxpZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBTdWJzZXF1ZW50XG4gICAgICogc291cmNlcyBvdmVyd3JpdGUgcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgc291cmNlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNS4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0ge1xuICAgICAqICAgJ2EnOiBbeyAnYic6IDIgfSwgeyAnZCc6IDQgfV1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogdmFyIG90aGVyID0ge1xuICAgICAqICAgJ2EnOiBbeyAnYyc6IDMgfSwgeyAnZSc6IDUgfV1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogXy5tZXJnZShvYmplY3QsIG90aGVyKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogW3sgJ2InOiAyLCAnYyc6IDMgfSwgeyAnZCc6IDQsICdlJzogNSB9XSB9XG4gICAgICovXG4gICAgdmFyIG1lcmdlID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4KSB7XG4gICAgICBiYXNlTWVyZ2Uob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubWVyZ2VgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBtZXJnZWQgdmFsdWVzIG9mIHRoZSBkZXN0aW5hdGlvbiBhbmQgc291cmNlXG4gICAgICogcHJvcGVydGllcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGAsIG1lcmdpbmcgaXMgaGFuZGxlZCBieSB0aGVcbiAgICAgKiBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYCBpcyBpbnZva2VkIHdpdGggc2l4IGFyZ3VtZW50czpcbiAgICAgKiAob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCwgc291cmNlLCBzdGFjaykuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IHNvdXJjZXMgVGhlIHNvdXJjZSBvYmplY3RzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGN1c3RvbWl6ZXIgVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAgICAgKiAgIGlmIChfLmlzQXJyYXkob2JqVmFsdWUpKSB7XG4gICAgICogICAgIHJldHVybiBvYmpWYWx1ZS5jb25jYXQoc3JjVmFsdWUpO1xuICAgICAqICAgfVxuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogWzFdLCAnYic6IFsyXSB9O1xuICAgICAqIHZhciBvdGhlciA9IHsgJ2EnOiBbM10sICdiJzogWzRdIH07XG4gICAgICpcbiAgICAgKiBfLm1lcmdlV2l0aChvYmplY3QsIG90aGVyLCBjdXN0b21pemVyKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogWzEsIDNdLCAnYic6IFsyLCA0XSB9XG4gICAgICovXG4gICAgdmFyIG1lcmdlV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgYmFzZU1lcmdlKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcik7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8ucGlja2A7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZVxuICAgICAqIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydHkgcGF0aHMgb2YgYG9iamVjdGAgdGhhdCBhcmUgbm90IG9taXR0ZWQuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgY29uc2lkZXJhYmx5IHNsb3dlciB0aGFuIGBfLnBpY2tgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gW3BhdGhzXSBUaGUgcHJvcGVydHkgcGF0aHMgdG8gb21pdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ub21pdChvYmplY3QsIFsnYScsICdjJ10pO1xuICAgICAqIC8vID0+IHsgJ2InOiAnMicgfVxuICAgICAqL1xuICAgIHZhciBvbWl0ID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBwYXRocykge1xuICAgICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICB2YXIgaXNEZWVwID0gZmFsc2U7XG4gICAgICBwYXRocyA9IGFycmF5TWFwKHBhdGhzLCBmdW5jdGlvbihwYXRoKSB7XG4gICAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgICBpc0RlZXAgfHwgKGlzRGVlcCA9IHBhdGgubGVuZ3RoID4gMSk7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgfSk7XG4gICAgICBjb3B5T2JqZWN0KG9iamVjdCwgZ2V0QWxsS2V5c0luKG9iamVjdCksIHJlc3VsdCk7XG4gICAgICBpZiAoaXNEZWVwKSB7XG4gICAgICAgIHJlc3VsdCA9IGJhc2VDbG9uZShyZXN1bHQsIENMT05FX0RFRVBfRkxBRyB8IENMT05FX0ZMQVRfRkxBRyB8IENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9tT21pdENsb25lKTtcbiAgICAgIH1cbiAgICAgIHZhciBsZW5ndGggPSBwYXRocy5sZW5ndGg7XG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgYmFzZVVuc2V0KHJlc3VsdCwgcGF0aHNbbGVuZ3RoXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLnBpY2tCeWA7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mXG4gICAgICogdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2YgYG9iamVjdGAgdGhhdFxuICAgICAqIGBwcmVkaWNhdGVgIGRvZXNuJ3QgcmV0dXJuIHRydXRoeSBmb3IuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoIHR3b1xuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBrZXkpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgcHJvcGVydHkuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6ICcyJywgJ2MnOiAzIH07XG4gICAgICpcbiAgICAgKiBfLm9taXRCeShvYmplY3QsIF8uaXNOdW1iZXIpO1xuICAgICAqIC8vID0+IHsgJ2InOiAnMicgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG9taXRCeShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIHBpY2tCeShvYmplY3QsIG5lZ2F0ZShnZXRJdGVyYXRlZShwcmVkaWNhdGUpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2YgdGhlIHBpY2tlZCBgb2JqZWN0YCBwcm9wZXJ0aWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gW3BhdGhzXSBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ucGljayhvYmplY3QsIFsnYScsICdjJ10pO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYyc6IDMgfVxuICAgICAqL1xuICAgIHZhciBwaWNrID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBwYXRocykge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8ge30gOiBiYXNlUGljayhvYmplY3QsIHBhdGhzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZSBgb2JqZWN0YCBwcm9wZXJ0aWVzIGBwcmVkaWNhdGVgIHJldHVybnNcbiAgICAgKiB0cnV0aHkgZm9yLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0d28gYXJndW1lbnRzOiAodmFsdWUsIGtleSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBwcm9wZXJ0eS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ucGlja0J5KG9iamVjdCwgXy5pc051bWJlcik7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdjJzogMyB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gcGlja0J5KG9iamVjdCwgcHJlZGljYXRlKSB7XG4gICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgdmFyIHByb3BzID0gYXJyYXlNYXAoZ2V0QWxsS2V5c0luKG9iamVjdCksIGZ1bmN0aW9uKHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFtwcm9wXTtcbiAgICAgIH0pO1xuICAgICAgcHJlZGljYXRlID0gZ2V0SXRlcmF0ZWUocHJlZGljYXRlKTtcbiAgICAgIHJldHVybiBiYXNlUGlja0J5KG9iamVjdCwgcHJvcHMsIGZ1bmN0aW9uKHZhbHVlLCBwYXRoKSB7XG4gICAgICAgIHJldHVybiBwcmVkaWNhdGUodmFsdWUsIHBhdGhbMF0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5nZXRgIGV4Y2VwdCB0aGF0IGlmIHRoZSByZXNvbHZlZCB2YWx1ZSBpcyBhXG4gICAgICogZnVuY3Rpb24gaXQncyBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIGl0cyBwYXJlbnQgb2JqZWN0IGFuZFxuICAgICAqIGl0cyByZXN1bHQgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byByZXNvbHZlLlxuICAgICAqIEBwYXJhbSB7Kn0gW2RlZmF1bHRWYWx1ZV0gVGhlIHZhbHVlIHJldHVybmVkIGZvciBgdW5kZWZpbmVkYCByZXNvbHZlZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYzEnOiAzLCAnYzInOiBfLmNvbnN0YW50KDQpIH0gfV0gfTtcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMScpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMicpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMycsICdkZWZhdWx0Jyk7XG4gICAgICogLy8gPT4gJ2RlZmF1bHQnXG4gICAgICpcbiAgICAgKiBfLnJlc3VsdChvYmplY3QsICdhWzBdLmIuYzMnLCBfLmNvbnN0YW50KCdkZWZhdWx0JykpO1xuICAgICAqIC8vID0+ICdkZWZhdWx0J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlc3VsdChvYmplY3QsIHBhdGgsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGxvb3AgaXMgZW50ZXJlZCB3aGVuIHBhdGggaXMgZW1wdHkuXG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICBsZW5ndGggPSAxO1xuICAgICAgICBvYmplY3QgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFt0b0tleShwYXRoW2luZGV4XSldO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGluZGV4ID0gbGVuZ3RoO1xuICAgICAgICAgIHZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIG9iamVjdCA9IGlzRnVuY3Rpb24odmFsdWUpID8gdmFsdWUuY2FsbChvYmplY3QpIDogdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC4gSWYgYSBwb3J0aW9uIG9mIGBwYXRoYCBkb2Vzbid0IGV4aXN0LFxuICAgICAqIGl0J3MgY3JlYXRlZC4gQXJyYXlzIGFyZSBjcmVhdGVkIGZvciBtaXNzaW5nIGluZGV4IHByb3BlcnRpZXMgd2hpbGUgb2JqZWN0c1xuICAgICAqIGFyZSBjcmVhdGVkIGZvciBhbGwgb3RoZXIgbWlzc2luZyBwcm9wZXJ0aWVzLiBVc2UgYF8uc2V0V2l0aGAgdG8gY3VzdG9taXplXG4gICAgICogYHBhdGhgIGNyZWF0aW9uLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy43LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IDMgfSB9XSB9O1xuICAgICAqXG4gICAgICogXy5zZXQob2JqZWN0LCAnYVswXS5iLmMnLCA0KTtcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3QuYVswXS5iLmMpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKlxuICAgICAqIF8uc2V0KG9iamVjdCwgWyd4JywgJzAnLCAneScsICd6J10sIDUpO1xuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdC54WzBdLnkueik7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldChvYmplY3QsIHBhdGgsIHZhbHVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc2V0YCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjdXN0b21pemVyYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgdG8gcHJvZHVjZSB0aGUgb2JqZWN0cyBvZiBgcGF0aGAuICBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYFxuICAgICAqIHBhdGggY3JlYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdGhyZWUgYXJndW1lbnRzOiAobnNWYWx1ZSwga2V5LCBuc09iamVjdCkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0ge307XG4gICAgICpcbiAgICAgKiBfLnNldFdpdGgob2JqZWN0LCAnWzBdWzFdJywgJ2EnLCBPYmplY3QpO1xuICAgICAqIC8vID0+IHsgJzAnOiB7ICcxJzogJ2EnIH0gfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldFdpdGgob2JqZWN0LCBwYXRoLCB2YWx1ZSwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gb2JqZWN0IDogYmFzZVNldChvYmplY3QsIHBhdGgsIHZhbHVlLCBjdXN0b21pemVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZC12YWx1ZSBwYWlycyBmb3IgYG9iamVjdGBcbiAgICAgKiB3aGljaCBjYW4gYmUgY29uc3VtZWQgYnkgYF8uZnJvbVBhaXJzYC4gSWYgYG9iamVjdGAgaXMgYSBtYXAgb3Igc2V0LCBpdHNcbiAgICAgKiBlbnRyaWVzIGFyZSByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBhbGlhcyBlbnRyaWVzXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8udG9QYWlycyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbWydhJywgMV0sIFsnYicsIDJdXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIHZhciB0b1BhaXJzID0gY3JlYXRlVG9QYWlycyhrZXlzKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQtdmFsdWUgcGFpcnNcbiAgICAgKiBmb3IgYG9iamVjdGAgd2hpY2ggY2FuIGJlIGNvbnN1bWVkIGJ5IGBfLmZyb21QYWlyc2AuIElmIGBvYmplY3RgIGlzIGEgbWFwXG4gICAgICogb3Igc2V0LCBpdHMgZW50cmllcyBhcmUgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAYWxpYXMgZW50cmllc0luXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8udG9QYWlyc0luKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFtbJ2EnLCAxXSwgWydiJywgMl0sIFsnYycsIDNdXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIHZhciB0b1BhaXJzSW4gPSBjcmVhdGVUb1BhaXJzKGtleXNJbik7XG5cbiAgICAvKipcbiAgICAgKiBBbiBhbHRlcm5hdGl2ZSB0byBgXy5yZWR1Y2VgOyB0aGlzIG1ldGhvZCB0cmFuc2Zvcm1zIGBvYmplY3RgIHRvIGEgbmV3XG4gICAgICogYGFjY3VtdWxhdG9yYCBvYmplY3Qgd2hpY2ggaXMgdGhlIHJlc3VsdCBvZiBydW5uaW5nIGVhY2ggb2YgaXRzIG93blxuICAgICAqIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgdGhydSBgaXRlcmF0ZWVgLCB3aXRoIGVhY2ggaW52b2NhdGlvblxuICAgICAqIHBvdGVudGlhbGx5IG11dGF0aW5nIHRoZSBgYWNjdW11bGF0b3JgIG9iamVjdC4gSWYgYGFjY3VtdWxhdG9yYCBpcyBub3RcbiAgICAgKiBwcm92aWRlZCwgYSBuZXcgb2JqZWN0IHdpdGggdGhlIHNhbWUgYFtbUHJvdG90eXBlXV1gIHdpbGwgYmUgdXNlZC4gVGhlXG4gICAgICogaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIGZvdXIgYXJndW1lbnRzOiAoYWNjdW11bGF0b3IsIHZhbHVlLCBrZXksIG9iamVjdCkuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsqfSBbYWNjdW11bGF0b3JdIFRoZSBjdXN0b20gYWNjdW11bGF0b3IgdmFsdWUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGFjY3VtdWxhdGVkIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyYW5zZm9ybShbMiwgMywgNF0sIGZ1bmN0aW9uKHJlc3VsdCwgbikge1xuICAgICAqICAgcmVzdWx0LnB1c2gobiAqPSBuKTtcbiAgICAgKiAgIHJldHVybiBuICUgMiA9PSAwO1xuICAgICAqIH0sIFtdKTtcbiAgICAgKiAvLyA9PiBbNCwgOV1cbiAgICAgKlxuICAgICAqIF8udHJhbnNmb3JtKHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMSB9LCBmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIChyZXN1bHRbdmFsdWVdIHx8IChyZXN1bHRbdmFsdWVdID0gW10pKS5wdXNoKGtleSk7XG4gICAgICogfSwge30pO1xuICAgICAqIC8vID0+IHsgJzEnOiBbJ2EnLCAnYyddLCAnMic6IFsnYiddIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm0ob2JqZWN0LCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkob2JqZWN0KSxcbiAgICAgICAgICBpc0Fyckxpa2UgPSBpc0FyciB8fCBpc0J1ZmZlcihvYmplY3QpIHx8IGlzVHlwZWRBcnJheShvYmplY3QpO1xuXG4gICAgICBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCA0KTtcbiAgICAgIGlmIChhY2N1bXVsYXRvciA9PSBudWxsKSB7XG4gICAgICAgIHZhciBDdG9yID0gb2JqZWN0ICYmIG9iamVjdC5jb25zdHJ1Y3RvcjtcbiAgICAgICAgaWYgKGlzQXJyTGlrZSkge1xuICAgICAgICAgIGFjY3VtdWxhdG9yID0gaXNBcnIgPyBuZXcgQ3RvciA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgICBhY2N1bXVsYXRvciA9IGlzRnVuY3Rpb24oQ3RvcikgPyBiYXNlQ3JlYXRlKGdldFByb3RvdHlwZShvYmplY3QpKSA6IHt9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGFjY3VtdWxhdG9yID0ge307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIChpc0Fyckxpa2UgPyBhcnJheUVhY2ggOiBiYXNlRm9yT3duKShvYmplY3QsIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgb2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBpdGVyYXRlZShhY2N1bXVsYXRvciwgdmFsdWUsIGluZGV4LCBvYmplY3QpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUgcHJvcGVydHkgYXQgYHBhdGhgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gdW5zZXQuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSBpcyBkZWxldGVkLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogNyB9IH1dIH07XG4gICAgICogXy51bnNldChvYmplY3QsICdhWzBdLmIuYycpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdCk7XG4gICAgICogLy8gPT4geyAnYSc6IFt7ICdiJzoge30gfV0gfTtcbiAgICAgKlxuICAgICAqIF8udW5zZXQob2JqZWN0LCBbJ2EnLCAnMCcsICdiJywgJ2MnXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogW3sgJ2InOiB7fSB9XSB9O1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuc2V0KG9iamVjdCwgcGF0aCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdHJ1ZSA6IGJhc2VVbnNldChvYmplY3QsIHBhdGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc2V0YCBleGNlcHQgdGhhdCBhY2NlcHRzIGB1cGRhdGVyYCB0byBwcm9kdWNlIHRoZVxuICAgICAqIHZhbHVlIHRvIHNldC4gVXNlIGBfLnVwZGF0ZVdpdGhgIHRvIGN1c3RvbWl6ZSBgcGF0aGAgY3JlYXRpb24uIFRoZSBgdXBkYXRlcmBcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHVwZGF0ZXIgVGhlIGZ1bmN0aW9uIHRvIHByb2R1Y2UgdGhlIHVwZGF0ZWQgdmFsdWUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiBbeyAnYic6IHsgJ2MnOiAzIH0gfV0gfTtcbiAgICAgKlxuICAgICAqIF8udXBkYXRlKG9iamVjdCwgJ2FbMF0uYi5jJywgZnVuY3Rpb24obikgeyByZXR1cm4gbiAqIG47IH0pO1xuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdC5hWzBdLmIuYyk7XG4gICAgICogLy8gPT4gOVxuICAgICAqXG4gICAgICogXy51cGRhdGUob2JqZWN0LCAneFswXS55LnonLCBmdW5jdGlvbihuKSB7IHJldHVybiBuID8gbiArIDEgOiAwOyB9KTtcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3QueFswXS55LnopO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1cGRhdGUob2JqZWN0LCBwYXRoLCB1cGRhdGVyKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgY2FzdEZ1bmN0aW9uKHVwZGF0ZXIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVwZGF0ZWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIG9iamVjdHMgb2YgYHBhdGhgLiAgSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGBcbiAgICAgKiBwYXRoIGNyZWF0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKG5zVmFsdWUsIGtleSwgbnNPYmplY3QpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHVwZGF0ZXIgVGhlIGZ1bmN0aW9uIHRvIHByb2R1Y2UgdGhlIHVwZGF0ZWQgdmFsdWUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgYXNzaWduZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7fTtcbiAgICAgKlxuICAgICAqIF8udXBkYXRlV2l0aChvYmplY3QsICdbMF1bMV0nLCBfLmNvbnN0YW50KCdhJyksIE9iamVjdCk7XG4gICAgICogLy8gPT4geyAnMCc6IHsgJzEnOiAnYScgfSB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gdXBkYXRlV2l0aChvYmplY3QsIHBhdGgsIHVwZGF0ZXIsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IG9iamVjdCA6IGJhc2VVcGRhdGUob2JqZWN0LCBwYXRoLCBjYXN0RnVuY3Rpb24odXBkYXRlciksIGN1c3RvbWl6ZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0eSB2YWx1ZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLnZhbHVlcyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbMSwgMl0gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKlxuICAgICAqIF8udmFsdWVzKCdoaScpO1xuICAgICAqIC8vID0+IFsnaCcsICdpJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB2YWx1ZXMob2JqZWN0KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBbXSA6IGJhc2VWYWx1ZXMob2JqZWN0LCBrZXlzKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnR5XG4gICAgICogdmFsdWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy52YWx1ZXNJbihuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM10gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB2YWx1ZXNJbihvYmplY3QpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IFtdIDogYmFzZVZhbHVlcyhvYmplY3QsIGtleXNJbihvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDbGFtcHMgYG51bWJlcmAgd2l0aGluIHRoZSBpbmNsdXNpdmUgYGxvd2VyYCBhbmQgYHVwcGVyYCBib3VuZHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTnVtYmVyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIGNsYW1wLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbG93ZXJdIFRoZSBsb3dlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdXBwZXIgVGhlIHVwcGVyIGJvdW5kLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNsYW1wZWQgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNsYW1wKC0xMCwgLTUsIDUpO1xuICAgICAqIC8vID0+IC01XG4gICAgICpcbiAgICAgKiBfLmNsYW1wKDEwLCAtNSwgNSk7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsYW1wKG51bWJlciwgbG93ZXIsIHVwcGVyKSB7XG4gICAgICBpZiAodXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB1cHBlciA9IGxvd2VyO1xuICAgICAgICBsb3dlciA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmICh1cHBlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHVwcGVyID0gdG9OdW1iZXIodXBwZXIpO1xuICAgICAgICB1cHBlciA9IHVwcGVyID09PSB1cHBlciA/IHVwcGVyIDogMDtcbiAgICAgIH1cbiAgICAgIGlmIChsb3dlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxvd2VyID0gdG9OdW1iZXIobG93ZXIpO1xuICAgICAgICBsb3dlciA9IGxvd2VyID09PSBsb3dlciA/IGxvd2VyIDogMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlQ2xhbXAodG9OdW1iZXIobnVtYmVyKSwgbG93ZXIsIHVwcGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYG5gIGlzIGJldHdlZW4gYHN0YXJ0YCBhbmQgdXAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nLCBgZW5kYC4gSWZcbiAgICAgKiBgZW5kYCBpcyBub3Qgc3BlY2lmaWVkLCBpdCdzIHNldCB0byBgc3RhcnRgIHdpdGggYHN0YXJ0YCB0aGVuIHNldCB0byBgMGAuXG4gICAgICogSWYgYHN0YXJ0YCBpcyBncmVhdGVyIHRoYW4gYGVuZGAgdGhlIHBhcmFtcyBhcmUgc3dhcHBlZCB0byBzdXBwb3J0XG4gICAgICogbmVnYXRpdmUgcmFuZ2VzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMy4wXG4gICAgICogQGNhdGVnb3J5IE51bWJlclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBudW1iZXIgVGhlIG51bWJlciB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGVuZCBUaGUgZW5kIG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG51bWJlcmAgaXMgaW4gdGhlIHJhbmdlLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQHNlZSBfLnJhbmdlLCBfLnJhbmdlUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDMsIDIsIDQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSg0LCA4KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmluUmFuZ2UoNCwgMik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSgyLCAyKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDEuMiwgMik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDUuMiwgNCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSgtMywgLTIsIC02KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5SYW5nZShudW1iZXIsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHN0YXJ0ID0gdG9GaW5pdGUoc3RhcnQpO1xuICAgICAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVuZCA9IHN0YXJ0O1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbmQgPSB0b0Zpbml0ZShlbmQpO1xuICAgICAgfVxuICAgICAgbnVtYmVyID0gdG9OdW1iZXIobnVtYmVyKTtcbiAgICAgIHJldHVybiBiYXNlSW5SYW5nZShudW1iZXIsIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2R1Y2VzIGEgcmFuZG9tIG51bWJlciBiZXR3ZWVuIHRoZSBpbmNsdXNpdmUgYGxvd2VyYCBhbmQgYHVwcGVyYCBib3VuZHMuXG4gICAgICogSWYgb25seSBvbmUgYXJndW1lbnQgaXMgcHJvdmlkZWQgYSBudW1iZXIgYmV0d2VlbiBgMGAgYW5kIHRoZSBnaXZlbiBudW1iZXJcbiAgICAgKiBpcyByZXR1cm5lZC4gSWYgYGZsb2F0aW5nYCBpcyBgdHJ1ZWAsIG9yIGVpdGhlciBgbG93ZXJgIG9yIGB1cHBlcmAgYXJlXG4gICAgICogZmxvYXRzLCBhIGZsb2F0aW5nLXBvaW50IG51bWJlciBpcyByZXR1cm5lZCBpbnN0ZWFkIG9mIGFuIGludGVnZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSmF2YVNjcmlwdCBmb2xsb3dzIHRoZSBJRUVFLTc1NCBzdGFuZGFyZCBmb3IgcmVzb2x2aW5nXG4gICAgICogZmxvYXRpbmctcG9pbnQgdmFsdWVzIHdoaWNoIGNhbiBwcm9kdWNlIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjcuMFxuICAgICAqIEBjYXRlZ29yeSBOdW1iZXJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2xvd2VyPTBdIFRoZSBsb3dlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3VwcGVyPTFdIFRoZSB1cHBlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmbG9hdGluZ10gU3BlY2lmeSByZXR1cm5pbmcgYSBmbG9hdGluZy1wb2ludCBudW1iZXIuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcmFuZG9tIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yYW5kb20oMCwgNSk7XG4gICAgICogLy8gPT4gYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDVcbiAgICAgKlxuICAgICAqIF8ucmFuZG9tKDUpO1xuICAgICAqIC8vID0+IGFsc28gYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDVcbiAgICAgKlxuICAgICAqIF8ucmFuZG9tKDUsIHRydWUpO1xuICAgICAqIC8vID0+IGEgZmxvYXRpbmctcG9pbnQgbnVtYmVyIGJldHdlZW4gMCBhbmQgNVxuICAgICAqXG4gICAgICogXy5yYW5kb20oMS4yLCA1LjIpO1xuICAgICAqIC8vID0+IGEgZmxvYXRpbmctcG9pbnQgbnVtYmVyIGJldHdlZW4gMS4yIGFuZCA1LjJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiByYW5kb20obG93ZXIsIHVwcGVyLCBmbG9hdGluZykge1xuICAgICAgaWYgKGZsb2F0aW5nICYmIHR5cGVvZiBmbG9hdGluZyAhPSAnYm9vbGVhbicgJiYgaXNJdGVyYXRlZUNhbGwobG93ZXIsIHVwcGVyLCBmbG9hdGluZykpIHtcbiAgICAgICAgdXBwZXIgPSBmbG9hdGluZyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmIChmbG9hdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdXBwZXIgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgZmxvYXRpbmcgPSB1cHBlcjtcbiAgICAgICAgICB1cHBlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgbG93ZXIgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgZmxvYXRpbmcgPSBsb3dlcjtcbiAgICAgICAgICBsb3dlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGxvd2VyID09PSB1bmRlZmluZWQgJiYgdXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsb3dlciA9IDA7XG4gICAgICAgIHVwcGVyID0gMTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBsb3dlciA9IHRvRmluaXRlKGxvd2VyKTtcbiAgICAgICAgaWYgKHVwcGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB1cHBlciA9IGxvd2VyO1xuICAgICAgICAgIGxvd2VyID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cHBlciA9IHRvRmluaXRlKHVwcGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGxvd2VyID4gdXBwZXIpIHtcbiAgICAgICAgdmFyIHRlbXAgPSBsb3dlcjtcbiAgICAgICAgbG93ZXIgPSB1cHBlcjtcbiAgICAgICAgdXBwZXIgPSB0ZW1wO1xuICAgICAgfVxuICAgICAgaWYgKGZsb2F0aW5nIHx8IGxvd2VyICUgMSB8fCB1cHBlciAlIDEpIHtcbiAgICAgICAgdmFyIHJhbmQgPSBuYXRpdmVSYW5kb20oKTtcbiAgICAgICAgcmV0dXJuIG5hdGl2ZU1pbihsb3dlciArIChyYW5kICogKHVwcGVyIC0gbG93ZXIgKyBmcmVlUGFyc2VGbG9hdCgnMWUtJyArICgocmFuZCArICcnKS5sZW5ndGggLSAxKSkpKSwgdXBwZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VSYW5kb20obG93ZXIsIHVwcGVyKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBbY2FtZWwgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FtZWxDYXNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNhbWVsIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jYW1lbENhc2UoJ0ZvbyBCYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vQmFyJ1xuICAgICAqXG4gICAgICogXy5jYW1lbENhc2UoJy0tZm9vLWJhci0tJyk7XG4gICAgICogLy8gPT4gJ2Zvb0JhcidcbiAgICAgKlxuICAgICAqIF8uY2FtZWxDYXNlKCdfX0ZPT19CQVJfXycpO1xuICAgICAqIC8vID0+ICdmb29CYXInXG4gICAgICovXG4gICAgdmFyIGNhbWVsQ2FzZSA9IGNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LCB3b3JkLCBpbmRleCkge1xuICAgICAgd29yZCA9IHdvcmQudG9Mb3dlckNhc2UoKTtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyBjYXBpdGFsaXplKHdvcmQpIDogd29yZCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGBzdHJpbmdgIHRvIHVwcGVyIGNhc2UgYW5kIHRoZSByZW1haW5pbmdcbiAgICAgKiB0byBsb3dlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNhcGl0YWxpemUuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY2FwaXRhbGl6ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNhcGl0YWxpemUoJ0ZSRUQnKTtcbiAgICAgKiAvLyA9PiAnRnJlZCdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXBpdGFsaXplKHN0cmluZykge1xuICAgICAgcmV0dXJuIHVwcGVyRmlyc3QodG9TdHJpbmcoc3RyaW5nKS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWJ1cnJzIGBzdHJpbmdgIGJ5IGNvbnZlcnRpbmdcbiAgICAgKiBbTGF0aW4tMSBTdXBwbGVtZW50XShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MYXRpbi0xX1N1cHBsZW1lbnRfKFVuaWNvZGVfYmxvY2spI0NoYXJhY3Rlcl90YWJsZSlcbiAgICAgKiBhbmQgW0xhdGluIEV4dGVuZGVkLUFdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xhdGluX0V4dGVuZGVkLUEpXG4gICAgICogbGV0dGVycyB0byBiYXNpYyBMYXRpbiBsZXR0ZXJzIGFuZCByZW1vdmluZ1xuICAgICAqIFtjb21iaW5pbmcgZGlhY3JpdGljYWwgbWFya3NdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbWJpbmluZ19EaWFjcml0aWNhbF9NYXJrcykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gZGVidXJyLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGRlYnVycmVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWJ1cnIoJ2TDqWrDoCB2dScpO1xuICAgICAqIC8vID0+ICdkZWphIHZ1J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRlYnVycihzdHJpbmcpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICByZXR1cm4gc3RyaW5nICYmIHN0cmluZy5yZXBsYWNlKHJlTGF0aW4sIGRlYnVyckxldHRlcikucmVwbGFjZShyZUNvbWJvTWFyaywgJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgc3RyaW5nYCBlbmRzIHdpdGggdGhlIGdpdmVuIHRhcmdldCBzdHJpbmcuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3RhcmdldF0gVGhlIHN0cmluZyB0byBzZWFyY2ggZm9yLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcG9zaXRpb249c3RyaW5nLmxlbmd0aF0gVGhlIHBvc2l0aW9uIHRvIHNlYXJjaCB1cCB0by5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHN0cmluZ2AgZW5kcyB3aXRoIGB0YXJnZXRgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZW5kc1dpdGgoJ2FiYycsICdjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5lbmRzV2l0aCgnYWJjJywgJ2InKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5lbmRzV2l0aCgnYWJjJywgJ2InLCAyKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gZW5kc1dpdGgoc3RyaW5nLCB0YXJnZXQsIHBvc2l0aW9uKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgdGFyZ2V0ID0gYmFzZVRvU3RyaW5nKHRhcmdldCk7XG5cbiAgICAgIHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoO1xuICAgICAgcG9zaXRpb24gPSBwb3NpdGlvbiA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gbGVuZ3RoXG4gICAgICAgIDogYmFzZUNsYW1wKHRvSW50ZWdlcihwb3NpdGlvbiksIDAsIGxlbmd0aCk7XG5cbiAgICAgIHZhciBlbmQgPSBwb3NpdGlvbjtcbiAgICAgIHBvc2l0aW9uIC09IHRhcmdldC5sZW5ndGg7XG4gICAgICByZXR1cm4gcG9zaXRpb24gPj0gMCAmJiBzdHJpbmcuc2xpY2UocG9zaXRpb24sIGVuZCkgPT0gdGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoZSBjaGFyYWN0ZXJzIFwiJlwiLCBcIjxcIiwgXCI+XCIsICdcIicsIGFuZCBcIidcIiBpbiBgc3RyaW5nYCB0byB0aGVpclxuICAgICAqIGNvcnJlc3BvbmRpbmcgSFRNTCBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBObyBvdGhlciBjaGFyYWN0ZXJzIGFyZSBlc2NhcGVkLiBUbyBlc2NhcGUgYWRkaXRpb25hbFxuICAgICAqIGNoYXJhY3RlcnMgdXNlIGEgdGhpcmQtcGFydHkgbGlicmFyeSBsaWtlIFtfaGVfXShodHRwczovL210aHMuYmUvaGUpLlxuICAgICAqXG4gICAgICogVGhvdWdoIHRoZSBcIj5cIiBjaGFyYWN0ZXIgaXMgZXNjYXBlZCBmb3Igc3ltbWV0cnksIGNoYXJhY3RlcnMgbGlrZVxuICAgICAqIFwiPlwiIGFuZCBcIi9cIiBkb24ndCBuZWVkIGVzY2FwaW5nIGluIEhUTUwgYW5kIGhhdmUgbm8gc3BlY2lhbCBtZWFuaW5nXG4gICAgICogdW5sZXNzIHRoZXkncmUgcGFydCBvZiBhIHRhZyBvciB1bnF1b3RlZCBhdHRyaWJ1dGUgdmFsdWUuIFNlZVxuICAgICAqIFtNYXRoaWFzIEJ5bmVucydzIGFydGljbGVdKGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9hbWJpZ3VvdXMtYW1wZXJzYW5kcylcbiAgICAgKiAodW5kZXIgXCJzZW1pLXJlbGF0ZWQgZnVuIGZhY3RcIikgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKlxuICAgICAqIFdoZW4gd29ya2luZyB3aXRoIEhUTUwgeW91IHNob3VsZCBhbHdheXNcbiAgICAgKiBbcXVvdGUgYXR0cmlidXRlIHZhbHVlc10oaHR0cDovL3dvbmtvLmNvbS9wb3N0L2h0bWwtZXNjYXBpbmcpIHRvIHJlZHVjZVxuICAgICAqIFhTUyB2ZWN0b3JzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGVzY2FwZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5lc2NhcGUoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gJ2ZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlcydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlc2NhcGUoc3RyaW5nKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgcmV0dXJuIChzdHJpbmcgJiYgcmVIYXNVbmVzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKSlcbiAgICAgICAgPyBzdHJpbmcucmVwbGFjZShyZVVuZXNjYXBlZEh0bWwsIGVzY2FwZUh0bWxDaGFyKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFc2NhcGVzIHRoZSBgUmVnRXhwYCBzcGVjaWFsIGNoYXJhY3RlcnMgXCJeXCIsIFwiJFwiLCBcIlxcXCIsIFwiLlwiLCBcIipcIiwgXCIrXCIsXG4gICAgICogXCI/XCIsIFwiKFwiLCBcIilcIiwgXCJbXCIsIFwiXVwiLCBcIntcIiwgXCJ9XCIsIGFuZCBcInxcIiBpbiBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZXNjYXBlUmVnRXhwKCdbbG9kYXNoXShodHRwczovL2xvZGFzaC5jb20vKScpO1xuICAgICAqIC8vID0+ICdcXFtsb2Rhc2hcXF1cXChodHRwczovL2xvZGFzaFxcLmNvbS9cXCknXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHN0cmluZykge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIHJldHVybiAoc3RyaW5nICYmIHJlSGFzUmVnRXhwQ2hhci50ZXN0KHN0cmluZykpXG4gICAgICAgID8gc3RyaW5nLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgICAgICAgOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG9cbiAgICAgKiBba2ViYWIgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGV0dGVyX2Nhc2UjU3BlY2lhbF9jYXNlX3N0eWxlcykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBrZWJhYiBjYXNlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ua2ViYWJDYXNlKCdGb28gQmFyJyk7XG4gICAgICogLy8gPT4gJ2Zvby1iYXInXG4gICAgICpcbiAgICAgKiBfLmtlYmFiQ2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ2Zvby1iYXInXG4gICAgICpcbiAgICAgKiBfLmtlYmFiQ2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnZm9vLWJhcidcbiAgICAgKi9cbiAgICB2YXIga2ViYWJDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJy0nIDogJycpICsgd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AsIGFzIHNwYWNlIHNlcGFyYXRlZCB3b3JkcywgdG8gbG93ZXIgY2FzZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGxvd2VyIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sb3dlckNhc2UoJy0tRm9vLUJhci0tJyk7XG4gICAgICogLy8gPT4gJ2ZvbyBiYXInXG4gICAgICpcbiAgICAgKiBfLmxvd2VyQ2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ2ZvbyBiYXInXG4gICAgICpcbiAgICAgKiBfLmxvd2VyQ2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnZm9vIGJhcidcbiAgICAgKi9cbiAgICB2YXIgbG93ZXJDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJyAnIDogJycpICsgd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBgc3RyaW5nYCB0byBsb3dlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sb3dlckZpcnN0KCdGcmVkJyk7XG4gICAgICogLy8gPT4gJ2ZyZWQnXG4gICAgICpcbiAgICAgKiBfLmxvd2VyRmlyc3QoJ0ZSRUQnKTtcbiAgICAgKiAvLyA9PiAnZlJFRCdcbiAgICAgKi9cbiAgICB2YXIgbG93ZXJGaXJzdCA9IGNyZWF0ZUNhc2VGaXJzdCgndG9Mb3dlckNhc2UnKTtcblxuICAgIC8qKlxuICAgICAqIFBhZHMgYHN0cmluZ2Agb24gdGhlIGxlZnQgYW5kIHJpZ2h0IHNpZGVzIGlmIGl0J3Mgc2hvcnRlciB0aGFuIGBsZW5ndGhgLlxuICAgICAqIFBhZGRpbmcgY2hhcmFjdGVycyBhcmUgdHJ1bmNhdGVkIGlmIHRoZXkgY2FuJ3QgYmUgZXZlbmx5IGRpdmlkZWQgYnkgYGxlbmd0aGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcGFkLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPTBdIFRoZSBwYWRkaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPScgJ10gVGhlIHN0cmluZyB1c2VkIGFzIHBhZGRpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcGFkZGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5wYWQoJ2FiYycsIDgpO1xuICAgICAqIC8vID0+ICcgIGFiYyAgICdcbiAgICAgKlxuICAgICAqIF8ucGFkKCdhYmMnLCA4LCAnXy0nKTtcbiAgICAgKiAvLyA9PiAnXy1hYmNfLV8nXG4gICAgICpcbiAgICAgKiBfLnBhZCgnYWJjJywgMyk7XG4gICAgICogLy8gPT4gJ2FiYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwYWQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgbGVuZ3RoID0gdG9JbnRlZ2VyKGxlbmd0aCk7XG5cbiAgICAgIHZhciBzdHJMZW5ndGggPSBsZW5ndGggPyBzdHJpbmdTaXplKHN0cmluZykgOiAwO1xuICAgICAgaWYgKCFsZW5ndGggfHwgc3RyTGVuZ3RoID49IGxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfVxuICAgICAgdmFyIG1pZCA9IChsZW5ndGggLSBzdHJMZW5ndGgpIC8gMjtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNyZWF0ZVBhZGRpbmcobmF0aXZlRmxvb3IobWlkKSwgY2hhcnMpICtcbiAgICAgICAgc3RyaW5nICtcbiAgICAgICAgY3JlYXRlUGFkZGluZyhuYXRpdmVDZWlsKG1pZCksIGNoYXJzKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYWRzIGBzdHJpbmdgIG9uIHRoZSByaWdodCBzaWRlIGlmIGl0J3Mgc2hvcnRlciB0aGFuIGBsZW5ndGhgLiBQYWRkaW5nXG4gICAgICogY2hhcmFjdGVycyBhcmUgdHJ1bmNhdGVkIGlmIHRoZXkgZXhjZWVkIGBsZW5ndGhgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIHBhZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2xlbmd0aD0wXSBUaGUgcGFkZGluZyBsZW5ndGguXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz0nICddIFRoZSBzdHJpbmcgdXNlZCBhcyBwYWRkaW5nLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHBhZGRlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucGFkRW5kKCdhYmMnLCA2KTtcbiAgICAgKiAvLyA9PiAnYWJjICAgJ1xuICAgICAqXG4gICAgICogXy5wYWRFbmQoJ2FiYycsIDYsICdfLScpO1xuICAgICAqIC8vID0+ICdhYmNfLV8nXG4gICAgICpcbiAgICAgKiBfLnBhZEVuZCgnYWJjJywgMyk7XG4gICAgICogLy8gPT4gJ2FiYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwYWRFbmQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgbGVuZ3RoID0gdG9JbnRlZ2VyKGxlbmd0aCk7XG5cbiAgICAgIHZhciBzdHJMZW5ndGggPSBsZW5ndGggPyBzdHJpbmdTaXplKHN0cmluZykgOiAwO1xuICAgICAgcmV0dXJuIChsZW5ndGggJiYgc3RyTGVuZ3RoIDwgbGVuZ3RoKVxuICAgICAgICA/IChzdHJpbmcgKyBjcmVhdGVQYWRkaW5nKGxlbmd0aCAtIHN0ckxlbmd0aCwgY2hhcnMpKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYWRzIGBzdHJpbmdgIG9uIHRoZSBsZWZ0IHNpZGUgaWYgaXQncyBzaG9ydGVyIHRoYW4gYGxlbmd0aGAuIFBhZGRpbmdcbiAgICAgKiBjaGFyYWN0ZXJzIGFyZSB0cnVuY2F0ZWQgaWYgdGhleSBleGNlZWQgYGxlbmd0aGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcGFkLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPTBdIFRoZSBwYWRkaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPScgJ10gVGhlIHN0cmluZyB1c2VkIGFzIHBhZGRpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcGFkZGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5wYWRTdGFydCgnYWJjJywgNik7XG4gICAgICogLy8gPT4gJyAgIGFiYydcbiAgICAgKlxuICAgICAqIF8ucGFkU3RhcnQoJ2FiYycsIDYsICdfLScpO1xuICAgICAqIC8vID0+ICdfLV9hYmMnXG4gICAgICpcbiAgICAgKiBfLnBhZFN0YXJ0KCdhYmMnLCAzKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHBhZFN0YXJ0KHN0cmluZywgbGVuZ3RoLCBjaGFycykge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGxlbmd0aCA9IHRvSW50ZWdlcihsZW5ndGgpO1xuXG4gICAgICB2YXIgc3RyTGVuZ3RoID0gbGVuZ3RoID8gc3RyaW5nU2l6ZShzdHJpbmcpIDogMDtcbiAgICAgIHJldHVybiAobGVuZ3RoICYmIHN0ckxlbmd0aCA8IGxlbmd0aClcbiAgICAgICAgPyAoY3JlYXRlUGFkZGluZyhsZW5ndGggLSBzdHJMZW5ndGgsIGNoYXJzKSArIHN0cmluZylcbiAgICAgICAgOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG8gYW4gaW50ZWdlciBvZiB0aGUgc3BlY2lmaWVkIHJhZGl4LiBJZiBgcmFkaXhgIGlzXG4gICAgICogYHVuZGVmaW5lZGAgb3IgYDBgLCBhIGByYWRpeGAgb2YgYDEwYCBpcyB1c2VkIHVubGVzcyBgdmFsdWVgIGlzIGFcbiAgICAgKiBoZXhhZGVjaW1hbCwgaW4gd2hpY2ggY2FzZSBhIGByYWRpeGAgb2YgYDE2YCBpcyB1c2VkLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGFsaWducyB3aXRoIHRoZVxuICAgICAqIFtFUzUgaW1wbGVtZW50YXRpb25dKGh0dHBzOi8vZXM1LmdpdGh1Yi5pby8jeDE1LjEuMi4yKSBvZiBgcGFyc2VJbnRgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMS4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcmFkaXg9MTBdIFRoZSByYWRpeCB0byBpbnRlcnByZXQgYHZhbHVlYCBieS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBpbnRlZ2VyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnBhcnNlSW50KCcwOCcpO1xuICAgICAqIC8vID0+IDhcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnNicsICcwOCcsICcxMCddLCBfLnBhcnNlSW50KTtcbiAgICAgKiAvLyA9PiBbNiwgOCwgMTBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcGFyc2VJbnQoc3RyaW5nLCByYWRpeCwgZ3VhcmQpIHtcbiAgICAgIGlmIChndWFyZCB8fCByYWRpeCA9PSBudWxsKSB7XG4gICAgICAgIHJhZGl4ID0gMDtcbiAgICAgIH0gZWxzZSBpZiAocmFkaXgpIHtcbiAgICAgICAgcmFkaXggPSArcmFkaXg7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmF0aXZlUGFyc2VJbnQodG9TdHJpbmcoc3RyaW5nKS5yZXBsYWNlKHJlVHJpbVN0YXJ0LCAnJyksIHJhZGl4IHx8IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGVhdHMgdGhlIGdpdmVuIHN0cmluZyBgbmAgdGltZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcmVwZWF0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIHJlcGVhdCB0aGUgc3RyaW5nLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmVwZWF0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJlcGVhdCgnKicsIDMpO1xuICAgICAqIC8vID0+ICcqKionXG4gICAgICpcbiAgICAgKiBfLnJlcGVhdCgnYWJjJywgMik7XG4gICAgICogLy8gPT4gJ2FiY2FiYydcbiAgICAgKlxuICAgICAqIF8ucmVwZWF0KCdhYmMnLCAwKTtcbiAgICAgKiAvLyA9PiAnJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlcGVhdChzdHJpbmcsIG4sIGd1YXJkKSB7XG4gICAgICBpZiAoKGd1YXJkID8gaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBuLCBndWFyZCkgOiBuID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIG4gPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlUmVwZWF0KHRvU3RyaW5nKHN0cmluZyksIG4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VzIG1hdGNoZXMgZm9yIGBwYXR0ZXJuYCBpbiBgc3RyaW5nYCB3aXRoIGByZXBsYWNlbWVudGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYFN0cmluZyNyZXBsYWNlYF0oaHR0cHM6Ly9tZG4uaW8vU3RyaW5nL3JlcGxhY2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cHxzdHJpbmd9IHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gcmVwbGFjZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gcmVwbGFjZW1lbnQgVGhlIG1hdGNoIHJlcGxhY2VtZW50LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIG1vZGlmaWVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yZXBsYWNlKCdIaSBGcmVkJywgJ0ZyZWQnLCAnQmFybmV5Jyk7XG4gICAgICogLy8gPT4gJ0hpIEJhcm5leSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZXBsYWNlKCkge1xuICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoYXJnc1swXSk7XG5cbiAgICAgIHJldHVybiBhcmdzLmxlbmd0aCA8IDMgPyBzdHJpbmcgOiBzdHJpbmcucmVwbGFjZShhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0b1xuICAgICAqIFtzbmFrZSBjYXNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TbmFrZV9jYXNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNuYWtlIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zbmFrZUNhc2UoJ0ZvbyBCYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vX2JhcidcbiAgICAgKlxuICAgICAqIF8uc25ha2VDYXNlKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vX2JhcidcbiAgICAgKlxuICAgICAqIF8uc25ha2VDYXNlKCctLUZPTy1CQVItLScpO1xuICAgICAqIC8vID0+ICdmb29fYmFyJ1xuICAgICAqL1xuICAgIHZhciBzbmFrZUNhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCwgd29yZCwgaW5kZXgpIHtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyAnXycgOiAnJykgKyB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTcGxpdHMgYHN0cmluZ2AgYnkgYHNlcGFyYXRvcmAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYFN0cmluZyNzcGxpdGBdKGh0dHBzOi8vbWRuLmlvL1N0cmluZy9zcGxpdCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gc3BsaXQuXG4gICAgICogQHBhcmFtIHtSZWdFeHB8c3RyaW5nfSBzZXBhcmF0b3IgVGhlIHNlcGFyYXRvciBwYXR0ZXJuIHRvIHNwbGl0IGJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGltaXRdIFRoZSBsZW5ndGggdG8gdHJ1bmNhdGUgcmVzdWx0cyB0by5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHN0cmluZyBzZWdtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zcGxpdCgnYS1iLWMnLCAnLScsIDIpO1xuICAgICAqIC8vID0+IFsnYScsICdiJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzcGxpdChzdHJpbmcsIHNlcGFyYXRvciwgbGltaXQpIHtcbiAgICAgIGlmIChsaW1pdCAmJiB0eXBlb2YgbGltaXQgIT0gJ251bWJlcicgJiYgaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBzZXBhcmF0b3IsIGxpbWl0KSkge1xuICAgICAgICBzZXBhcmF0b3IgPSBsaW1pdCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGxpbWl0ID0gbGltaXQgPT09IHVuZGVmaW5lZCA/IE1BWF9BUlJBWV9MRU5HVEggOiBsaW1pdCA+Pj4gMDtcbiAgICAgIGlmICghbGltaXQpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGlmIChzdHJpbmcgJiYgKFxuICAgICAgICAgICAgdHlwZW9mIHNlcGFyYXRvciA9PSAnc3RyaW5nJyB8fFxuICAgICAgICAgICAgKHNlcGFyYXRvciAhPSBudWxsICYmICFpc1JlZ0V4cChzZXBhcmF0b3IpKVxuICAgICAgICAgICkpIHtcbiAgICAgICAgc2VwYXJhdG9yID0gYmFzZVRvU3RyaW5nKHNlcGFyYXRvcik7XG4gICAgICAgIGlmICghc2VwYXJhdG9yICYmIGhhc1VuaWNvZGUoc3RyaW5nKSkge1xuICAgICAgICAgIHJldHVybiBjYXN0U2xpY2Uoc3RyaW5nVG9BcnJheShzdHJpbmcpLCAwLCBsaW1pdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHJpbmcuc3BsaXQoc2VwYXJhdG9yLCBsaW1pdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG9cbiAgICAgKiBbc3RhcnQgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGV0dGVyX2Nhc2UjU3R5bGlzdGljX29yX3NwZWNpYWxpc2VkX3VzYWdlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjEuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHN0YXJ0IGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zdGFydENhc2UoJy0tZm9vLWJhci0tJyk7XG4gICAgICogLy8gPT4gJ0ZvbyBCYXInXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0Q2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ0ZvbyBCYXInXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0Q2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnRk9PIEJBUidcbiAgICAgKi9cbiAgICB2YXIgc3RhcnRDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJyAnIDogJycpICsgdXBwZXJGaXJzdCh3b3JkKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgc3RyaW5nYCBzdGFydHMgd2l0aCB0aGUgZ2l2ZW4gdGFyZ2V0IHN0cmluZy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbdGFyZ2V0XSBUaGUgc3RyaW5nIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwb3NpdGlvbj0wXSBUaGUgcG9zaXRpb24gdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBzdHJpbmdgIHN0YXJ0cyB3aXRoIGB0YXJnZXRgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc3RhcnRzV2l0aCgnYWJjJywgJ2EnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0c1dpdGgoJ2FiYycsICdiJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uc3RhcnRzV2l0aCgnYWJjJywgJ2InLCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhcnRzV2l0aChzdHJpbmcsIHRhcmdldCwgcG9zaXRpb24pIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBwb3NpdGlvbiA9IHBvc2l0aW9uID09IG51bGxcbiAgICAgICAgPyAwXG4gICAgICAgIDogYmFzZUNsYW1wKHRvSW50ZWdlcihwb3NpdGlvbiksIDAsIHN0cmluZy5sZW5ndGgpO1xuXG4gICAgICB0YXJnZXQgPSBiYXNlVG9TdHJpbmcodGFyZ2V0KTtcbiAgICAgIHJldHVybiBzdHJpbmcuc2xpY2UocG9zaXRpb24sIHBvc2l0aW9uICsgdGFyZ2V0Lmxlbmd0aCkgPT0gdGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbiB0aGF0IGNhbiBpbnRlcnBvbGF0ZSBkYXRhIHByb3BlcnRpZXNcbiAgICAgKiBpbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVycywgSFRNTC1lc2NhcGUgaW50ZXJwb2xhdGVkIGRhdGEgcHJvcGVydGllcyBpblxuICAgICAqIFwiZXNjYXBlXCIgZGVsaW1pdGVycywgYW5kIGV4ZWN1dGUgSmF2YVNjcmlwdCBpbiBcImV2YWx1YXRlXCIgZGVsaW1pdGVycy4gRGF0YVxuICAgICAqIHByb3BlcnRpZXMgbWF5IGJlIGFjY2Vzc2VkIGFzIGZyZWUgdmFyaWFibGVzIGluIHRoZSB0ZW1wbGF0ZS4gSWYgYSBzZXR0aW5nXG4gICAgICogb2JqZWN0IGlzIGdpdmVuLCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYF8udGVtcGxhdGVTZXR0aW5nc2AgdmFsdWVzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIEluIHRoZSBkZXZlbG9wbWVudCBidWlsZCBgXy50ZW1wbGF0ZWAgdXRpbGl6ZXNcbiAgICAgKiBbc291cmNlVVJMc10oaHR0cDovL3d3dy5odG1sNXJvY2tzLmNvbS9lbi90dXRvcmlhbHMvZGV2ZWxvcGVydG9vbHMvc291cmNlbWFwcy8jdG9jLXNvdXJjZXVybClcbiAgICAgKiBmb3IgZWFzaWVyIGRlYnVnZ2luZy5cbiAgICAgKlxuICAgICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHByZWNvbXBpbGluZyB0ZW1wbGF0ZXMgc2VlXG4gICAgICogW2xvZGFzaCdzIGN1c3RvbSBidWlsZHMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9sb2Rhc2guY29tL2N1c3RvbS1idWlsZHMpLlxuICAgICAqXG4gICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gQ2hyb21lIGV4dGVuc2lvbiBzYW5kYm94ZXMgc2VlXG4gICAgICogW0Nocm9tZSdzIGV4dGVuc2lvbnMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9leHRlbnNpb25zL3NhbmRib3hpbmdFdmFsKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHRlbXBsYXRlIHN0cmluZy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXNjYXBlPV8udGVtcGxhdGVTZXR0aW5ncy5lc2NhcGVdXG4gICAgICogIFRoZSBIVE1MIFwiZXNjYXBlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5ldmFsdWF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuZXZhbHVhdGVdXG4gICAgICogIFRoZSBcImV2YWx1YXRlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucy5pbXBvcnRzPV8udGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzXVxuICAgICAqICBBbiBvYmplY3QgdG8gaW1wb3J0IGludG8gdGhlIHRlbXBsYXRlIGFzIGZyZWUgdmFyaWFibGVzLlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5pbnRlcnBvbGF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGVdXG4gICAgICogIFRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zb3VyY2VVUkw9J2xvZGFzaC50ZW1wbGF0ZVNvdXJjZXNbbl0nXVxuICAgICAqICBUaGUgc291cmNlVVJMIG9mIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMudmFyaWFibGU9J29iaiddXG4gICAgICogIFRoZSBkYXRhIG9iamVjdCB2YXJpYWJsZSBuYW1lLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyIHRvIGNyZWF0ZSBhIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScpO1xuICAgICAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnZnJlZCcgfSk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGZyZWQhJ1xuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBIVE1MIFwiZXNjYXBlXCIgZGVsaW1pdGVyIHRvIGVzY2FwZSBkYXRhIHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8Yj48JS0gdmFsdWUgJT48L2I+Jyk7XG4gICAgICogY29tcGlsZWQoeyAndmFsdWUnOiAnPHNjcmlwdD4nIH0pO1xuICAgICAqIC8vID0+ICc8Yj4mbHQ7c2NyaXB0Jmd0OzwvYj4nXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IGFuZCBnZW5lcmF0ZSBIVE1MLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlIF8uZm9yRWFjaCh1c2VycywgZnVuY3Rpb24odXNlcikgeyAlPjxsaT48JS0gdXNlciAlPjwvbGk+PCUgfSk7ICU+Jyk7XG4gICAgICogY29tcGlsZWQoeyAndXNlcnMnOiBbJ2ZyZWQnLCAnYmFybmV5J10gfSk7XG4gICAgICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGludGVybmFsIGBwcmludGAgZnVuY3Rpb24gaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgcHJpbnQoXCJoZWxsbyBcIiArIHVzZXIpOyAlPiEnKTtcbiAgICAgKiBjb21waWxlZCh7ICd1c2VyJzogJ2Jhcm5leScgfSk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGJhcm5leSEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIEVTIHRlbXBsYXRlIGxpdGVyYWwgZGVsaW1pdGVyIGFzIGFuIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gICAgICogLy8gRGlzYWJsZSBzdXBwb3J0IGJ5IHJlcGxhY2luZyB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyAkeyB1c2VyIH0hJyk7XG4gICAgICogY29tcGlsZWQoeyAndXNlcic6ICdwZWJibGVzJyB9KTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gcGViYmxlcyEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgYmFja3NsYXNoZXMgdG8gdHJlYXQgZGVsaW1pdGVycyBhcyBwbGFpbiB0ZXh0LlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlPSBcIlxcXFw8JS0gdmFsdWUgJVxcXFw+XCIgJT4nKTtcbiAgICAgKiBjb21waWxlZCh7ICd2YWx1ZSc6ICdpZ25vcmVkJyB9KTtcbiAgICAgKiAvLyA9PiAnPCUtIHZhbHVlICU+J1xuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBgaW1wb3J0c2Agb3B0aW9uIHRvIGltcG9ydCBgalF1ZXJ5YCBhcyBganFgLlxuICAgICAqIHZhciB0ZXh0ID0gJzwlIGpxLmVhY2godXNlcnMsIGZ1bmN0aW9uKHVzZXIpIHsgJT48bGk+PCUtIHVzZXIgJT48L2xpPjwlIH0pOyAlPic7XG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSh0ZXh0LCB7ICdpbXBvcnRzJzogeyAnanEnOiBqUXVlcnkgfSB9KTtcbiAgICAgKiBjb21waWxlZCh7ICd1c2Vycyc6IFsnZnJlZCcsICdiYXJuZXknXSB9KTtcbiAgICAgKiAvLyA9PiAnPGxpPmZyZWQ8L2xpPjxsaT5iYXJuZXk8L2xpPidcbiAgICAgKlxuICAgICAqIC8vIFVzZSB0aGUgYHNvdXJjZVVSTGAgb3B0aW9uIHRvIHNwZWNpZnkgYSBjdXN0b20gc291cmNlVVJMIGZvciB0aGUgdGVtcGxhdGUuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8gPCU9IHVzZXIgJT4hJywgeyAnc291cmNlVVJMJzogJy9iYXNpYy9ncmVldGluZy5qc3QnIH0pO1xuICAgICAqIGNvbXBpbGVkKGRhdGEpO1xuICAgICAqIC8vID0+IEZpbmQgdGhlIHNvdXJjZSBvZiBcImdyZWV0aW5nLmpzdFwiIHVuZGVyIHRoZSBTb3VyY2VzIHRhYiBvciBSZXNvdXJjZXMgcGFuZWwgb2YgdGhlIHdlYiBpbnNwZWN0b3IuXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGB2YXJpYWJsZWAgb3B0aW9uIHRvIGVuc3VyZSBhIHdpdGgtc3RhdGVtZW50IGlzbid0IHVzZWQgaW4gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hpIDwlPSBkYXRhLnVzZXIgJT4hJywgeyAndmFyaWFibGUnOiAnZGF0YScgfSk7XG4gICAgICogY29tcGlsZWQuc291cmNlO1xuICAgICAqIC8vID0+IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgKiAvLyAgIHZhciBfX3QsIF9fcCA9ICcnO1xuICAgICAqIC8vICAgX19wICs9ICdoaSAnICsgKChfX3QgPSAoIGRhdGEudXNlciApKSA9PSBudWxsID8gJycgOiBfX3QpICsgJyEnO1xuICAgICAqIC8vICAgcmV0dXJuIF9fcDtcbiAgICAgKiAvLyB9XG4gICAgICpcbiAgICAgKiAvLyBVc2UgY3VzdG9tIHRlbXBsYXRlIGRlbGltaXRlcnMuXG4gICAgICogXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyB7eyB1c2VyIH19IScpO1xuICAgICAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnbXVzdGFjaGUnIH0pO1xuICAgICAqIC8vID0+ICdoZWxsbyBtdXN0YWNoZSEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGBzb3VyY2VgIHByb3BlcnR5IHRvIGlubGluZSBjb21waWxlZCB0ZW1wbGF0ZXMgZm9yIG1lYW5pbmdmdWxcbiAgICAgKiAvLyBsaW5lIG51bWJlcnMgaW4gZXJyb3IgbWVzc2FnZXMgYW5kIHN0YWNrIHRyYWNlcy5cbiAgICAgKiBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnanN0LmpzJyksICdcXFxuICAgICAqICAgdmFyIEpTVCA9IHtcXFxuICAgICAqICAgICBcIm1haW5cIjogJyArIF8udGVtcGxhdGUobWFpblRleHQpLnNvdXJjZSArICdcXFxuICAgICAqICAgfTtcXFxuICAgICAqICcpO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRlbXBsYXRlKHN0cmluZywgb3B0aW9ucywgZ3VhcmQpIHtcbiAgICAgIC8vIEJhc2VkIG9uIEpvaG4gUmVzaWcncyBgdG1wbGAgaW1wbGVtZW50YXRpb25cbiAgICAgIC8vIChodHRwOi8vZWpvaG4ub3JnL2Jsb2cvamF2YXNjcmlwdC1taWNyby10ZW1wbGF0aW5nLylcbiAgICAgIC8vIGFuZCBMYXVyYSBEb2t0b3JvdmEncyBkb1QuanMgKGh0dHBzOi8vZ2l0aHViLmNvbS9vbGFkby9kb1QpLlxuICAgICAgdmFyIHNldHRpbmdzID0gbG9kYXNoLnRlbXBsYXRlU2V0dGluZ3M7XG5cbiAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSkge1xuICAgICAgICBvcHRpb25zID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIG9wdGlvbnMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMsIHNldHRpbmdzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKTtcblxuICAgICAgdmFyIGltcG9ydHMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMuaW1wb3J0cywgc2V0dGluZ3MuaW1wb3J0cywgY3VzdG9tRGVmYXVsdHNBc3NpZ25JbiksXG4gICAgICAgICAgaW1wb3J0c0tleXMgPSBrZXlzKGltcG9ydHMpLFxuICAgICAgICAgIGltcG9ydHNWYWx1ZXMgPSBiYXNlVmFsdWVzKGltcG9ydHMsIGltcG9ydHNLZXlzKTtcblxuICAgICAgdmFyIGlzRXNjYXBpbmcsXG4gICAgICAgICAgaXNFdmFsdWF0aW5nLFxuICAgICAgICAgIGluZGV4ID0gMCxcbiAgICAgICAgICBpbnRlcnBvbGF0ZSA9IG9wdGlvbnMuaW50ZXJwb2xhdGUgfHwgcmVOb01hdGNoLFxuICAgICAgICAgIHNvdXJjZSA9IFwiX19wICs9ICdcIjtcblxuICAgICAgLy8gQ29tcGlsZSB0aGUgcmVnZXhwIHRvIG1hdGNoIGVhY2ggZGVsaW1pdGVyLlxuICAgICAgdmFyIHJlRGVsaW1pdGVycyA9IFJlZ0V4cChcbiAgICAgICAgKG9wdGlvbnMuZXNjYXBlIHx8IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICAgICAgaW50ZXJwb2xhdGUuc291cmNlICsgJ3wnICtcbiAgICAgICAgKGludGVycG9sYXRlID09PSByZUludGVycG9sYXRlID8gcmVFc1RlbXBsYXRlIDogcmVOb01hdGNoKS5zb3VyY2UgKyAnfCcgK1xuICAgICAgICAob3B0aW9ucy5ldmFsdWF0ZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JCdcbiAgICAgICwgJ2cnKTtcblxuICAgICAgLy8gVXNlIGEgc291cmNlVVJMIGZvciBlYXNpZXIgZGVidWdnaW5nLlxuICAgICAgLy8gVGhlIHNvdXJjZVVSTCBnZXRzIGluamVjdGVkIGludG8gdGhlIHNvdXJjZSB0aGF0J3MgZXZhbC1lZCwgc28gYmUgY2FyZWZ1bFxuICAgICAgLy8gdG8gbm9ybWFsaXplIGFsbCBraW5kcyBvZiB3aGl0ZXNwYWNlLCBzbyBlLmcuIG5ld2xpbmVzIChhbmQgdW5pY29kZSB2ZXJzaW9ucyBvZiBpdCkgY2FuJ3Qgc25lYWsgaW5cbiAgICAgIC8vIGFuZCBlc2NhcGUgdGhlIGNvbW1lbnQsIHRodXMgaW5qZWN0aW5nIGNvZGUgdGhhdCBnZXRzIGV2YWxlZC5cbiAgICAgIHZhciBzb3VyY2VVUkwgPSAnLy8jIHNvdXJjZVVSTD0nICtcbiAgICAgICAgKGhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgJ3NvdXJjZVVSTCcpXG4gICAgICAgICAgPyAob3B0aW9ucy5zb3VyY2VVUkwgKyAnJykucmVwbGFjZSgvXFxzL2csICcgJylcbiAgICAgICAgICA6ICgnbG9kYXNoLnRlbXBsYXRlU291cmNlc1snICsgKCsrdGVtcGxhdGVDb3VudGVyKSArICddJylcbiAgICAgICAgKSArICdcXG4nO1xuXG4gICAgICBzdHJpbmcucmVwbGFjZShyZURlbGltaXRlcnMsIGZ1bmN0aW9uKG1hdGNoLCBlc2NhcGVWYWx1ZSwgaW50ZXJwb2xhdGVWYWx1ZSwgZXNUZW1wbGF0ZVZhbHVlLCBldmFsdWF0ZVZhbHVlLCBvZmZzZXQpIHtcbiAgICAgICAgaW50ZXJwb2xhdGVWYWx1ZSB8fCAoaW50ZXJwb2xhdGVWYWx1ZSA9IGVzVGVtcGxhdGVWYWx1ZSk7XG5cbiAgICAgICAgLy8gRXNjYXBlIGNoYXJhY3RlcnMgdGhhdCBjYW4ndCBiZSBpbmNsdWRlZCBpbiBzdHJpbmcgbGl0ZXJhbHMuXG4gICAgICAgIHNvdXJjZSArPSBzdHJpbmcuc2xpY2UoaW5kZXgsIG9mZnNldCkucmVwbGFjZShyZVVuZXNjYXBlZFN0cmluZywgZXNjYXBlU3RyaW5nQ2hhcik7XG5cbiAgICAgICAgLy8gUmVwbGFjZSBkZWxpbWl0ZXJzIHdpdGggc25pcHBldHMuXG4gICAgICAgIGlmIChlc2NhcGVWYWx1ZSkge1xuICAgICAgICAgIGlzRXNjYXBpbmcgPSB0cnVlO1xuICAgICAgICAgIHNvdXJjZSArPSBcIicgK1xcbl9fZShcIiArIGVzY2FwZVZhbHVlICsgXCIpICtcXG4nXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2YWx1YXRlVmFsdWUpIHtcbiAgICAgICAgICBpc0V2YWx1YXRpbmcgPSB0cnVlO1xuICAgICAgICAgIHNvdXJjZSArPSBcIic7XFxuXCIgKyBldmFsdWF0ZVZhbHVlICsgXCI7XFxuX19wICs9ICdcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW50ZXJwb2xhdGVWYWx1ZSkge1xuICAgICAgICAgIHNvdXJjZSArPSBcIicgK1xcbigoX190ID0gKFwiICsgaW50ZXJwb2xhdGVWYWx1ZSArIFwiKSkgPT0gbnVsbCA/ICcnIDogX190KSArXFxuJ1wiO1xuICAgICAgICB9XG4gICAgICAgIGluZGV4ID0gb2Zmc2V0ICsgbWF0Y2gubGVuZ3RoO1xuXG4gICAgICAgIC8vIFRoZSBKUyBlbmdpbmUgZW1iZWRkZWQgaW4gQWRvYmUgcHJvZHVjdHMgbmVlZHMgYG1hdGNoYCByZXR1cm5lZCBpblxuICAgICAgICAvLyBvcmRlciB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IGBvZmZzZXRgIHZhbHVlLlxuICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICB9KTtcblxuICAgICAgc291cmNlICs9IFwiJztcXG5cIjtcblxuICAgICAgLy8gSWYgYHZhcmlhYmxlYCBpcyBub3Qgc3BlY2lmaWVkIHdyYXAgYSB3aXRoLXN0YXRlbWVudCBhcm91bmQgdGhlIGdlbmVyYXRlZFxuICAgICAgLy8gY29kZSB0byBhZGQgdGhlIGRhdGEgb2JqZWN0IHRvIHRoZSB0b3Agb2YgdGhlIHNjb3BlIGNoYWluLlxuICAgICAgdmFyIHZhcmlhYmxlID0gaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLCAndmFyaWFibGUnKSAmJiBvcHRpb25zLnZhcmlhYmxlO1xuICAgICAgaWYgKCF2YXJpYWJsZSkge1xuICAgICAgICBzb3VyY2UgPSAnd2l0aCAob2JqKSB7XFxuJyArIHNvdXJjZSArICdcXG59XFxuJztcbiAgICAgIH1cbiAgICAgIC8vIENsZWFudXAgY29kZSBieSBzdHJpcHBpbmcgZW1wdHkgc3RyaW5ncy5cbiAgICAgIHNvdXJjZSA9IChpc0V2YWx1YXRpbmcgPyBzb3VyY2UucmVwbGFjZShyZUVtcHR5U3RyaW5nTGVhZGluZywgJycpIDogc291cmNlKVxuICAgICAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nTWlkZGxlLCAnJDEnKVxuICAgICAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsICckMTsnKTtcblxuICAgICAgLy8gRnJhbWUgY29kZSBhcyB0aGUgZnVuY3Rpb24gYm9keS5cbiAgICAgIHNvdXJjZSA9ICdmdW5jdGlvbignICsgKHZhcmlhYmxlIHx8ICdvYmonKSArICcpIHtcXG4nICtcbiAgICAgICAgKHZhcmlhYmxlXG4gICAgICAgICAgPyAnJ1xuICAgICAgICAgIDogJ29iaiB8fCAob2JqID0ge30pO1xcbidcbiAgICAgICAgKSArXG4gICAgICAgIFwidmFyIF9fdCwgX19wID0gJydcIiArXG4gICAgICAgIChpc0VzY2FwaW5nXG4gICAgICAgICAgID8gJywgX19lID0gXy5lc2NhcGUnXG4gICAgICAgICAgIDogJydcbiAgICAgICAgKSArXG4gICAgICAgIChpc0V2YWx1YXRpbmdcbiAgICAgICAgICA/ICcsIF9faiA9IEFycmF5LnByb3RvdHlwZS5qb2luO1xcbicgK1xuICAgICAgICAgICAgXCJmdW5jdGlvbiBwcmludCgpIHsgX19wICs9IF9fai5jYWxsKGFyZ3VtZW50cywgJycpIH1cXG5cIlxuICAgICAgICAgIDogJztcXG4nXG4gICAgICAgICkgK1xuICAgICAgICBzb3VyY2UgK1xuICAgICAgICAncmV0dXJuIF9fcFxcbn0nO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gYXR0ZW1wdChmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEZ1bmN0aW9uKGltcG9ydHNLZXlzLCBzb3VyY2VVUkwgKyAncmV0dXJuICcgKyBzb3VyY2UpXG4gICAgICAgICAgLmFwcGx5KHVuZGVmaW5lZCwgaW1wb3J0c1ZhbHVlcyk7XG4gICAgICB9KTtcblxuICAgICAgLy8gUHJvdmlkZSB0aGUgY29tcGlsZWQgZnVuY3Rpb24ncyBzb3VyY2UgYnkgaXRzIGB0b1N0cmluZ2AgbWV0aG9kIG9yXG4gICAgICAvLyB0aGUgYHNvdXJjZWAgcHJvcGVydHkgYXMgYSBjb252ZW5pZW5jZSBmb3IgaW5saW5pbmcgY29tcGlsZWQgdGVtcGxhdGVzLlxuICAgICAgcmVzdWx0LnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgIGlmIChpc0Vycm9yKHJlc3VsdCkpIHtcbiAgICAgICAgdGhyb3cgcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCwgYXMgYSB3aG9sZSwgdG8gbG93ZXIgY2FzZSBqdXN0IGxpa2VcbiAgICAgKiBbU3RyaW5nI3RvTG93ZXJDYXNlXShodHRwczovL21kbi5pby90b0xvd2VyQ2FzZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBsb3dlciBjYXNlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9Mb3dlcignLS1Gb28tQmFyLS0nKTtcbiAgICAgKiAvLyA9PiAnLS1mb28tYmFyLS0nXG4gICAgICpcbiAgICAgKiBfLnRvTG93ZXIoJ2Zvb0JhcicpO1xuICAgICAqIC8vID0+ICdmb29iYXInXG4gICAgICpcbiAgICAgKiBfLnRvTG93ZXIoJ19fRk9PX0JBUl9fJyk7XG4gICAgICogLy8gPT4gJ19fZm9vX2Jhcl9fJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvTG93ZXIodmFsdWUpIHtcbiAgICAgIHJldHVybiB0b1N0cmluZyh2YWx1ZSkudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCwgYXMgYSB3aG9sZSwgdG8gdXBwZXIgY2FzZSBqdXN0IGxpa2VcbiAgICAgKiBbU3RyaW5nI3RvVXBwZXJDYXNlXShodHRwczovL21kbi5pby90b1VwcGVyQ2FzZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1cHBlciBjYXNlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9VcHBlcignLS1mb28tYmFyLS0nKTtcbiAgICAgKiAvLyA9PiAnLS1GT08tQkFSLS0nXG4gICAgICpcbiAgICAgKiBfLnRvVXBwZXIoJ2Zvb0JhcicpO1xuICAgICAqIC8vID0+ICdGT09CQVInXG4gICAgICpcbiAgICAgKiBfLnRvVXBwZXIoJ19fZm9vX2Jhcl9fJyk7XG4gICAgICogLy8gPT4gJ19fRk9PX0JBUl9fJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvVXBwZXIodmFsdWUpIHtcbiAgICAgIHJldHVybiB0b1N0cmluZyh2YWx1ZSkudG9VcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2Ugb3Igc3BlY2lmaWVkIGNoYXJhY3RlcnMgZnJvbSBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB0cmltLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhcnM9d2hpdGVzcGFjZV0gVGhlIGNoYXJhY3RlcnMgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHRyaW1tZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyaW0oJyAgYWJjICAnKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqXG4gICAgICogXy50cmltKCctXy1hYmMtXy0nLCAnXy0nKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqXG4gICAgICogXy5tYXAoWycgIGZvbyAgJywgJyAgYmFyICAnXSwgXy50cmltKTtcbiAgICAgKiAvLyA9PiBbJ2ZvbycsICdiYXInXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRyaW0oc3RyaW5nLCBjaGFycywgZ3VhcmQpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBpZiAoc3RyaW5nICYmIChndWFyZCB8fCBjaGFycyA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltLCAnJyk7XG4gICAgICB9XG4gICAgICBpZiAoIXN0cmluZyB8fCAhKGNoYXJzID0gYmFzZVRvU3RyaW5nKGNoYXJzKSkpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICAgIH1cbiAgICAgIHZhciBzdHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShzdHJpbmcpLFxuICAgICAgICAgIGNoclN5bWJvbHMgPSBzdHJpbmdUb0FycmF5KGNoYXJzKSxcbiAgICAgICAgICBzdGFydCA9IGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLCBjaHJTeW1ib2xzKSxcbiAgICAgICAgICBlbmQgPSBjaGFyc0VuZEluZGV4KHN0clN5bWJvbHMsIGNoclN5bWJvbHMpICsgMTtcblxuICAgICAgcmV0dXJuIGNhc3RTbGljZShzdHJTeW1ib2xzLCBzdGFydCwgZW5kKS5qb2luKCcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIHRyYWlsaW5nIHdoaXRlc3BhY2Ugb3Igc3BlY2lmaWVkIGNoYXJhY3RlcnMgZnJvbSBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB0cmltLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhcnM9d2hpdGVzcGFjZV0gVGhlIGNoYXJhY3RlcnMgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHRyaW1tZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyaW1FbmQoJyAgYWJjICAnKTtcbiAgICAgKiAvLyA9PiAnICBhYmMnXG4gICAgICpcbiAgICAgKiBfLnRyaW1FbmQoJy1fLWFiYy1fLScsICdfLScpO1xuICAgICAqIC8vID0+ICctXy1hYmMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gdHJpbUVuZChzdHJpbmcsIGNoYXJzLCBndWFyZCkge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGlmIChzdHJpbmcgJiYgKGd1YXJkIHx8IGNoYXJzID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZShyZVRyaW1FbmQsICcnKTtcbiAgICAgIH1cbiAgICAgIGlmICghc3RyaW5nIHx8ICEoY2hhcnMgPSBiYXNlVG9TdHJpbmcoY2hhcnMpKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfVxuICAgICAgdmFyIHN0clN5bWJvbHMgPSBzdHJpbmdUb0FycmF5KHN0cmluZyksXG4gICAgICAgICAgZW5kID0gY2hhcnNFbmRJbmRleChzdHJTeW1ib2xzLCBzdHJpbmdUb0FycmF5KGNoYXJzKSkgKyAxO1xuXG4gICAgICByZXR1cm4gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDAsIGVuZCkuam9pbignJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBsZWFkaW5nIHdoaXRlc3BhY2Ugb3Igc3BlY2lmaWVkIGNoYXJhY3RlcnMgZnJvbSBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB0cmltLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhcnM9d2hpdGVzcGFjZV0gVGhlIGNoYXJhY3RlcnMgdG8gdHJpbS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHRyaW1tZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyaW1TdGFydCgnICBhYmMgICcpO1xuICAgICAqIC8vID0+ICdhYmMgICdcbiAgICAgKlxuICAgICAqIF8udHJpbVN0YXJ0KCctXy1hYmMtXy0nLCAnXy0nKTtcbiAgICAgKiAvLyA9PiAnYWJjLV8tJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRyaW1TdGFydChzdHJpbmcsIGNoYXJzLCBndWFyZCkge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGlmIChzdHJpbmcgJiYgKGd1YXJkIHx8IGNoYXJzID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZShyZVRyaW1TdGFydCwgJycpO1xuICAgICAgfVxuICAgICAgaWYgKCFzdHJpbmcgfHwgIShjaGFycyA9IGJhc2VUb1N0cmluZyhjaGFycykpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICB9XG4gICAgICB2YXIgc3RyU3ltYm9scyA9IHN0cmluZ1RvQXJyYXkoc3RyaW5nKSxcbiAgICAgICAgICBzdGFydCA9IGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLCBzdHJpbmdUb0FycmF5KGNoYXJzKSk7XG5cbiAgICAgIHJldHVybiBjYXN0U2xpY2Uoc3RyU3ltYm9scywgc3RhcnQpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydW5jYXRlcyBgc3RyaW5nYCBpZiBpdCdzIGxvbmdlciB0aGFuIHRoZSBnaXZlbiBtYXhpbXVtIHN0cmluZyBsZW5ndGguXG4gICAgICogVGhlIGxhc3QgY2hhcmFjdGVycyBvZiB0aGUgdHJ1bmNhdGVkIHN0cmluZyBhcmUgcmVwbGFjZWQgd2l0aCB0aGUgb21pc3Npb25cbiAgICAgKiBzdHJpbmcgd2hpY2ggZGVmYXVsdHMgdG8gXCIuLi5cIi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB0cnVuY2F0ZS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubGVuZ3RoPTMwXSBUaGUgbWF4aW11bSBzdHJpbmcgbGVuZ3RoLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5vbWlzc2lvbj0nLi4uJ10gVGhlIHN0cmluZyB0byBpbmRpY2F0ZSB0ZXh0IGlzIG9taXR0ZWQuXG4gICAgICogQHBhcmFtIHtSZWdFeHB8c3RyaW5nfSBbb3B0aW9ucy5zZXBhcmF0b3JdIFRoZSBzZXBhcmF0b3IgcGF0dGVybiB0byB0cnVuY2F0ZSB0by5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB0cnVuY2F0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRydW5jYXRlKCdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWdoYm9yaW5vJyk7XG4gICAgICogLy8gPT4gJ2hpLWRpZGRseS1obyB0aGVyZSwgbmVpZ2hiby4uLidcbiAgICAgKlxuICAgICAqIF8udHJ1bmNhdGUoJ2hpLWRpZGRseS1obyB0aGVyZSwgbmVpZ2hib3Jpbm8nLCB7XG4gICAgICogICAnbGVuZ3RoJzogMjQsXG4gICAgICogICAnc2VwYXJhdG9yJzogJyAnXG4gICAgICogfSk7XG4gICAgICogLy8gPT4gJ2hpLWRpZGRseS1obyB0aGVyZSwuLi4nXG4gICAgICpcbiAgICAgKiBfLnRydW5jYXRlKCdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWdoYm9yaW5vJywge1xuICAgICAqICAgJ2xlbmd0aCc6IDI0LFxuICAgICAqICAgJ3NlcGFyYXRvcic6IC8sPyArL1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+ICdoaS1kaWRkbHktaG8gdGhlcmUuLi4nXG4gICAgICpcbiAgICAgKiBfLnRydW5jYXRlKCdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWdoYm9yaW5vJywge1xuICAgICAqICAgJ29taXNzaW9uJzogJyBbLi4uXSdcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiAnaGktZGlkZGx5LWhvIHRoZXJlLCBuZWlnIFsuLi5dJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRydW5jYXRlKHN0cmluZywgb3B0aW9ucykge1xuICAgICAgdmFyIGxlbmd0aCA9IERFRkFVTFRfVFJVTkNfTEVOR1RILFxuICAgICAgICAgIG9taXNzaW9uID0gREVGQVVMVF9UUlVOQ19PTUlTU0lPTjtcblxuICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgIHZhciBzZXBhcmF0b3IgPSAnc2VwYXJhdG9yJyBpbiBvcHRpb25zID8gb3B0aW9ucy5zZXBhcmF0b3IgOiBzZXBhcmF0b3I7XG4gICAgICAgIGxlbmd0aCA9ICdsZW5ndGgnIGluIG9wdGlvbnMgPyB0b0ludGVnZXIob3B0aW9ucy5sZW5ndGgpIDogbGVuZ3RoO1xuICAgICAgICBvbWlzc2lvbiA9ICdvbWlzc2lvbicgaW4gb3B0aW9ucyA/IGJhc2VUb1N0cmluZyhvcHRpb25zLm9taXNzaW9uKSA6IG9taXNzaW9uO1xuICAgICAgfVxuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgdmFyIHN0ckxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG4gICAgICBpZiAoaGFzVW5pY29kZShzdHJpbmcpKSB7XG4gICAgICAgIHZhciBzdHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShzdHJpbmcpO1xuICAgICAgICBzdHJMZW5ndGggPSBzdHJTeW1ib2xzLmxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGlmIChsZW5ndGggPj0gc3RyTGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICB9XG4gICAgICB2YXIgZW5kID0gbGVuZ3RoIC0gc3RyaW5nU2l6ZShvbWlzc2lvbik7XG4gICAgICBpZiAoZW5kIDwgMSkge1xuICAgICAgICByZXR1cm4gb21pc3Npb247XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gc3RyU3ltYm9sc1xuICAgICAgICA/IGNhc3RTbGljZShzdHJTeW1ib2xzLCAwLCBlbmQpLmpvaW4oJycpXG4gICAgICAgIDogc3RyaW5nLnNsaWNlKDAsIGVuZCk7XG5cbiAgICAgIGlmIChzZXBhcmF0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0ICsgb21pc3Npb247XG4gICAgICB9XG4gICAgICBpZiAoc3RyU3ltYm9scykge1xuICAgICAgICBlbmQgKz0gKHJlc3VsdC5sZW5ndGggLSBlbmQpO1xuICAgICAgfVxuICAgICAgaWYgKGlzUmVnRXhwKHNlcGFyYXRvcikpIHtcbiAgICAgICAgaWYgKHN0cmluZy5zbGljZShlbmQpLnNlYXJjaChzZXBhcmF0b3IpKSB7XG4gICAgICAgICAgdmFyIG1hdGNoLFxuICAgICAgICAgICAgICBzdWJzdHJpbmcgPSByZXN1bHQ7XG5cbiAgICAgICAgICBpZiAoIXNlcGFyYXRvci5nbG9iYWwpIHtcbiAgICAgICAgICAgIHNlcGFyYXRvciA9IFJlZ0V4cChzZXBhcmF0b3Iuc291cmNlLCB0b1N0cmluZyhyZUZsYWdzLmV4ZWMoc2VwYXJhdG9yKSkgKyAnZycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXBhcmF0b3IubGFzdEluZGV4ID0gMDtcbiAgICAgICAgICB3aGlsZSAoKG1hdGNoID0gc2VwYXJhdG9yLmV4ZWMoc3Vic3RyaW5nKSkpIHtcbiAgICAgICAgICAgIHZhciBuZXdFbmQgPSBtYXRjaC5pbmRleDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnNsaWNlKDAsIG5ld0VuZCA9PT0gdW5kZWZpbmVkID8gZW5kIDogbmV3RW5kKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzdHJpbmcuaW5kZXhPZihiYXNlVG9TdHJpbmcoc2VwYXJhdG9yKSwgZW5kKSAhPSBlbmQpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gcmVzdWx0Lmxhc3RJbmRleE9mKHNlcGFyYXRvcik7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnNsaWNlKDAsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdCArIG9taXNzaW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBpbnZlcnNlIG9mIGBfLmVzY2FwZWA7IHRoaXMgbWV0aG9kIGNvbnZlcnRzIHRoZSBIVE1MIGVudGl0aWVzXG4gICAgICogYCZhbXA7YCwgYCZsdDtgLCBgJmd0O2AsIGAmcXVvdDtgLCBhbmQgYCYjMzk7YCBpbiBgc3RyaW5nYCB0b1xuICAgICAqIHRoZWlyIGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBObyBvdGhlciBIVE1MIGVudGl0aWVzIGFyZSB1bmVzY2FwZWQuIFRvIHVuZXNjYXBlIGFkZGl0aW9uYWxcbiAgICAgKiBIVE1MIGVudGl0aWVzIHVzZSBhIHRoaXJkLXBhcnR5IGxpYnJhcnkgbGlrZSBbX2hlX10oaHR0cHM6Ly9tdGhzLmJlL2hlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjYuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byB1bmVzY2FwZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSB1bmVzY2FwZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuZXNjYXBlKCdmcmVkLCBiYXJuZXksICZhbXA7IHBlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiAnZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gdW5lc2NhcGUoc3RyaW5nKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgcmV0dXJuIChzdHJpbmcgJiYgcmVIYXNFc2NhcGVkSHRtbC50ZXN0KHN0cmluZykpXG4gICAgICAgID8gc3RyaW5nLnJlcGxhY2UocmVFc2NhcGVkSHRtbCwgdW5lc2NhcGVIdG1sQ2hhcilcbiAgICAgICAgOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AsIGFzIHNwYWNlIHNlcGFyYXRlZCB3b3JkcywgdG8gdXBwZXIgY2FzZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHVwcGVyIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51cHBlckNhc2UoJy0tZm9vLWJhcicpO1xuICAgICAqIC8vID0+ICdGT08gQkFSJ1xuICAgICAqXG4gICAgICogXy51cHBlckNhc2UoJ2Zvb0JhcicpO1xuICAgICAqIC8vID0+ICdGT08gQkFSJ1xuICAgICAqXG4gICAgICogXy51cHBlckNhc2UoJ19fZm9vX2Jhcl9fJyk7XG4gICAgICogLy8gPT4gJ0ZPTyBCQVInXG4gICAgICovXG4gICAgdmFyIHVwcGVyQ2FzZSA9IGNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LCB3b3JkLCBpbmRleCkge1xuICAgICAgcmV0dXJuIHJlc3VsdCArIChpbmRleCA/ICcgJyA6ICcnKSArIHdvcmQudG9VcHBlckNhc2UoKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYHN0cmluZ2AgdG8gdXBwZXIgY2FzZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udXBwZXJGaXJzdCgnZnJlZCcpO1xuICAgICAqIC8vID0+ICdGcmVkJ1xuICAgICAqXG4gICAgICogXy51cHBlckZpcnN0KCdGUkVEJyk7XG4gICAgICogLy8gPT4gJ0ZSRUQnXG4gICAgICovXG4gICAgdmFyIHVwcGVyRmlyc3QgPSBjcmVhdGVDYXNlRmlyc3QoJ3RvVXBwZXJDYXNlJyk7XG5cbiAgICAvKipcbiAgICAgKiBTcGxpdHMgYHN0cmluZ2AgaW50byBhbiBhcnJheSBvZiBpdHMgd29yZHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cHxzdHJpbmd9IFtwYXR0ZXJuXSBUaGUgcGF0dGVybiB0byBtYXRjaCB3b3Jkcy5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgd29yZHMgb2YgYHN0cmluZ2AuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ud29yZHMoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gWydmcmVkJywgJ2Jhcm5leScsICdwZWJibGVzJ11cbiAgICAgKlxuICAgICAqIF8ud29yZHMoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJywgL1teLCBdKy9nKTtcbiAgICAgKiAvLyA9PiBbJ2ZyZWQnLCAnYmFybmV5JywgJyYnLCAncGViYmxlcyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gd29yZHMoc3RyaW5nLCBwYXR0ZXJuLCBndWFyZCkge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIHBhdHRlcm4gPSBndWFyZCA/IHVuZGVmaW5lZCA6IHBhdHRlcm47XG5cbiAgICAgIGlmIChwYXR0ZXJuID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGhhc1VuaWNvZGVXb3JkKHN0cmluZykgPyB1bmljb2RlV29yZHMoc3RyaW5nKSA6IGFzY2lpV29yZHMoc3RyaW5nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHJpbmcubWF0Y2gocGF0dGVybikgfHwgW107XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQXR0ZW1wdHMgdG8gaW52b2tlIGBmdW5jYCwgcmV0dXJuaW5nIGVpdGhlciB0aGUgcmVzdWx0IG9yIHRoZSBjYXVnaHQgZXJyb3JcbiAgICAgKiBvYmplY3QuIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcHJvdmlkZWQgdG8gYGZ1bmNgIHdoZW4gaXQncyBpbnZva2VkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhdHRlbXB0LlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBgZnVuY2AgcmVzdWx0IG9yIGVycm9yIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gQXZvaWQgdGhyb3dpbmcgZXJyb3JzIGZvciBpbnZhbGlkIHNlbGVjdG9ycy5cbiAgICAgKiB2YXIgZWxlbWVudHMgPSBfLmF0dGVtcHQoZnVuY3Rpb24oc2VsZWN0b3IpIHtcbiAgICAgKiAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICAgKiB9LCAnPl8+Jyk7XG4gICAgICpcbiAgICAgKiBpZiAoXy5pc0Vycm9yKGVsZW1lbnRzKSkge1xuICAgICAqICAgZWxlbWVudHMgPSBbXTtcbiAgICAgKiB9XG4gICAgICovXG4gICAgdmFyIGF0dGVtcHQgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBhcmdzKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdW5kZWZpbmVkLCBhcmdzKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3IoZSkgPyBlIDogbmV3IEVycm9yKGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQmluZHMgbWV0aG9kcyBvZiBhbiBvYmplY3QgdG8gdGhlIG9iamVjdCBpdHNlbGYsIG92ZXJ3cml0aW5nIHRoZSBleGlzdGluZ1xuICAgICAqIG1ldGhvZC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIiBwcm9wZXJ0eSBvZiBib3VuZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBiaW5kIGFuZCBhc3NpZ24gdGhlIGJvdW5kIG1ldGhvZHMgdG8uXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gbWV0aG9kTmFtZXMgVGhlIG9iamVjdCBtZXRob2QgbmFtZXMgdG8gYmluZC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdmlldyA9IHtcbiAgICAgKiAgICdsYWJlbCc6ICdkb2NzJyxcbiAgICAgKiAgICdjbGljayc6IGZ1bmN0aW9uKCkge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnY2xpY2tlZCAnICsgdGhpcy5sYWJlbCk7XG4gICAgICogICB9XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIF8uYmluZEFsbCh2aWV3LCBbJ2NsaWNrJ10pO1xuICAgICAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCB2aWV3LmNsaWNrKTtcbiAgICAgKiAvLyA9PiBMb2dzICdjbGlja2VkIGRvY3MnIHdoZW4gY2xpY2tlZC5cbiAgICAgKi9cbiAgICB2YXIgYmluZEFsbCA9IGZsYXRSZXN0KGZ1bmN0aW9uKG9iamVjdCwgbWV0aG9kTmFtZXMpIHtcbiAgICAgIGFycmF5RWFjaChtZXRob2ROYW1lcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIGtleSA9IHRvS2V5KGtleSk7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgYmluZChvYmplY3Rba2V5XSwgb2JqZWN0KSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpdGVyYXRlcyBvdmVyIGBwYWlyc2AgYW5kIGludm9rZXMgdGhlIGNvcnJlc3BvbmRpbmdcbiAgICAgKiBmdW5jdGlvbiBvZiB0aGUgZmlyc3QgcHJlZGljYXRlIHRvIHJldHVybiB0cnV0aHkuIFRoZSBwcmVkaWNhdGUtZnVuY3Rpb25cbiAgICAgKiBwYWlycyBhcmUgaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBhbmQgYXJndW1lbnRzIG9mIHRoZSBjcmVhdGVkXG4gICAgICogZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHBhaXJzIFRoZSBwcmVkaWNhdGUtZnVuY3Rpb24gcGFpcnMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29tcG9zaXRlIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8uY29uZChbXG4gICAgICogICBbXy5tYXRjaGVzKHsgJ2EnOiAxIH0pLCAgICAgICAgICAgXy5jb25zdGFudCgnbWF0Y2hlcyBBJyldLFxuICAgICAqICAgW18uY29uZm9ybXMoeyAnYic6IF8uaXNOdW1iZXIgfSksIF8uY29uc3RhbnQoJ21hdGNoZXMgQicpXSxcbiAgICAgKiAgIFtfLnN0dWJUcnVlLCAgICAgICAgICAgICAgICAgICAgICBfLmNvbnN0YW50KCdubyBtYXRjaCcpXVxuICAgICAqIF0pO1xuICAgICAqXG4gICAgICogZnVuYyh7ICdhJzogMSwgJ2InOiAyIH0pO1xuICAgICAqIC8vID0+ICdtYXRjaGVzIEEnXG4gICAgICpcbiAgICAgKiBmdW5jKHsgJ2EnOiAwLCAnYic6IDEgfSk7XG4gICAgICogLy8gPT4gJ21hdGNoZXMgQidcbiAgICAgKlxuICAgICAqIGZ1bmMoeyAnYSc6ICcxJywgJ2InOiAnMicgfSk7XG4gICAgICogLy8gPT4gJ25vIG1hdGNoJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbmQocGFpcnMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBwYWlycyA9PSBudWxsID8gMCA6IHBhaXJzLmxlbmd0aCxcbiAgICAgICAgICB0b0l0ZXJhdGVlID0gZ2V0SXRlcmF0ZWUoKTtcblxuICAgICAgcGFpcnMgPSAhbGVuZ3RoID8gW10gOiBhcnJheU1hcChwYWlycywgZnVuY3Rpb24ocGFpcikge1xuICAgICAgICBpZiAodHlwZW9mIHBhaXJbMV0gIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW3RvSXRlcmF0ZWUocGFpclswXSksIHBhaXJbMV1dO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIHZhciBwYWlyID0gcGFpcnNbaW5kZXhdO1xuICAgICAgICAgIGlmIChhcHBseShwYWlyWzBdLCB0aGlzLCBhcmdzKSkge1xuICAgICAgICAgICAgcmV0dXJuIGFwcGx5KHBhaXJbMV0sIHRoaXMsIGFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyB0aGUgcHJlZGljYXRlIHByb3BlcnRpZXMgb2YgYHNvdXJjZWAgd2l0aFxuICAgICAqIHRoZSBjb3JyZXNwb25kaW5nIHByb3BlcnR5IHZhbHVlcyBvZiBhIGdpdmVuIG9iamVjdCwgcmV0dXJuaW5nIGB0cnVlYCBpZlxuICAgICAqIGFsbCBwcmVkaWNhdGVzIHJldHVybiB0cnV0aHksIGVsc2UgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGUgY3JlYXRlZCBmdW5jdGlvbiBpcyBlcXVpdmFsZW50IHRvIGBfLmNvbmZvcm1zVG9gIHdpdGhcbiAgICAgKiBgc291cmNlYCBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHByZWRpY2F0ZXMgdG8gY29uZm9ybSB0by5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzcGVjIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFtcbiAgICAgKiAgIHsgJ2EnOiAyLCAnYic6IDEgfSxcbiAgICAgKiAgIHsgJ2EnOiAxLCAnYic6IDIgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbHRlcihvYmplY3RzLCBfLmNvbmZvcm1zKHsgJ2InOiBmdW5jdGlvbihuKSB7IHJldHVybiBuID4gMTsgfSB9KSk7XG4gICAgICogLy8gPT4gW3sgJ2EnOiAxLCAnYic6IDIgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb25mb3Jtcyhzb3VyY2UpIHtcbiAgICAgIHJldHVybiBiYXNlQ29uZm9ybXMoYmFzZUNsb25lKHNvdXJjZSwgQ0xPTkVfREVFUF9GTEFHKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBgdmFsdWVgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuNC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byByZXR1cm4gZnJvbSB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbnN0YW50IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IF8udGltZXMoMiwgXy5jb25zdGFudCh7ICdhJzogMSB9KSk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3RzKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDEgfSwgeyAnYSc6IDEgfV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdHNbMF0gPT09IG9iamVjdHNbMV0pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb25zdGFudCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBgdmFsdWVgIHRvIGRldGVybWluZSB3aGV0aGVyIGEgZGVmYXVsdCB2YWx1ZSBzaG91bGQgYmUgcmV0dXJuZWQgaW5cbiAgICAgKiBpdHMgcGxhY2UuIFRoZSBgZGVmYXVsdFZhbHVlYCBpcyByZXR1cm5lZCBpZiBgdmFsdWVgIGlzIGBOYU5gLCBgbnVsbGAsXG4gICAgICogb3IgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xNC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0geyp9IGRlZmF1bHRWYWx1ZSBUaGUgZGVmYXVsdCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGVmYXVsdFRvKDEsIDEwKTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICpcbiAgICAgKiBfLmRlZmF1bHRUbyh1bmRlZmluZWQsIDEwKTtcbiAgICAgKiAvLyA9PiAxMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRlZmF1bHRUbyh2YWx1ZSwgZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gKHZhbHVlID09IG51bGwgfHwgdmFsdWUgIT09IHZhbHVlKSA/IGRlZmF1bHRWYWx1ZSA6IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIHJlc3VsdCBvZiBpbnZva2luZyB0aGUgZ2l2ZW4gZnVuY3Rpb25zXG4gICAgICogd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgdGhlIGNyZWF0ZWQgZnVuY3Rpb24sIHdoZXJlIGVhY2ggc3VjY2Vzc2l2ZVxuICAgICAqIGludm9jYXRpb24gaXMgc3VwcGxpZWQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgcHJldmlvdXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Li4uKEZ1bmN0aW9ufEZ1bmN0aW9uW10pfSBbZnVuY3NdIFRoZSBmdW5jdGlvbnMgdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNvbXBvc2l0ZSBmdW5jdGlvbi5cbiAgICAgKiBAc2VlIF8uZmxvd1JpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIHNxdWFyZShuKSB7XG4gICAgICogICByZXR1cm4gbiAqIG47XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGFkZFNxdWFyZSA9IF8uZmxvdyhbXy5hZGQsIHNxdWFyZV0pO1xuICAgICAqIGFkZFNxdWFyZSgxLCAyKTtcbiAgICAgKiAvLyA9PiA5XG4gICAgICovXG4gICAgdmFyIGZsb3cgPSBjcmVhdGVGbG93KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZsb3dgIGV4Y2VwdCB0aGF0IGl0IGNyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0XG4gICAgICogaW52b2tlcyB0aGUgZ2l2ZW4gZnVuY3Rpb25zIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtmdW5jc10gVGhlIGZ1bmN0aW9ucyB0byBpbnZva2UuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29tcG9zaXRlIGZ1bmN0aW9uLlxuICAgICAqIEBzZWUgXy5mbG93XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIHNxdWFyZShuKSB7XG4gICAgICogICByZXR1cm4gbiAqIG47XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGFkZFNxdWFyZSA9IF8uZmxvd1JpZ2h0KFtzcXVhcmUsIF8uYWRkXSk7XG4gICAgICogYWRkU3F1YXJlKDEsIDIpO1xuICAgICAqIC8vID0+IDlcbiAgICAgKi9cbiAgICB2YXIgZmxvd1JpZ2h0ID0gY3JlYXRlRmxvdyh0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIEFueSB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyBgdmFsdWVgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEgfTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKF8uaWRlbnRpdHkob2JqZWN0KSA9PT0gb2JqZWN0KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaWRlbnRpdHkodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIHRoZSBhcmd1bWVudHMgb2YgdGhlIGNyZWF0ZWRcbiAgICAgKiBmdW5jdGlvbi4gSWYgYGZ1bmNgIGlzIGEgcHJvcGVydHkgbmFtZSwgdGhlIGNyZWF0ZWQgZnVuY3Rpb24gcmV0dXJucyB0aGVcbiAgICAgKiBwcm9wZXJ0eSB2YWx1ZSBmb3IgYSBnaXZlbiBlbGVtZW50LiBJZiBgZnVuY2AgaXMgYW4gYXJyYXkgb3Igb2JqZWN0LCB0aGVcbiAgICAgKiBjcmVhdGVkIGZ1bmN0aW9uIHJldHVybnMgYHRydWVgIGZvciBlbGVtZW50cyB0aGF0IGNvbnRhaW4gdGhlIGVxdWl2YWxlbnRcbiAgICAgKiBzb3VyY2UgcHJvcGVydGllcywgb3RoZXJ3aXNlIGl0IHJldHVybnMgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsqfSBbZnVuYz1fLmlkZW50aXR5XSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBhIGNhbGxiYWNrLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgY2FsbGJhY2suXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsIF8uaXRlcmF0ZWUoeyAndXNlcic6ICdiYXJuZXknLCAnYWN0aXZlJzogdHJ1ZSB9KSk7XG4gICAgICogLy8gPT4gW3sgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9XVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmlsdGVyKHVzZXJzLCBfLml0ZXJhdGVlKFsndXNlcicsICdmcmVkJ10pKTtcbiAgICAgKiAvLyA9PiBbeyAndXNlcic6ICdmcmVkJywgJ2FnZSc6IDQwIH1dXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1hcCh1c2VycywgXy5pdGVyYXRlZSgndXNlcicpKTtcbiAgICAgKiAvLyA9PiBbJ2Jhcm5leScsICdmcmVkJ11cbiAgICAgKlxuICAgICAqIC8vIENyZWF0ZSBjdXN0b20gaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKiBfLml0ZXJhdGVlID0gXy53cmFwKF8uaXRlcmF0ZWUsIGZ1bmN0aW9uKGl0ZXJhdGVlLCBmdW5jKSB7XG4gICAgICogICByZXR1cm4gIV8uaXNSZWdFeHAoZnVuYykgPyBpdGVyYXRlZShmdW5jKSA6IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAqICAgICByZXR1cm4gZnVuYy50ZXN0KHN0cmluZyk7XG4gICAgICogICB9O1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogXy5maWx0ZXIoWydhYmMnLCAnZGVmJ10sIC9lZi8pO1xuICAgICAqIC8vID0+IFsnZGVmJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpdGVyYXRlZShmdW5jKSB7XG4gICAgICByZXR1cm4gYmFzZUl0ZXJhdGVlKHR5cGVvZiBmdW5jID09ICdmdW5jdGlvbicgPyBmdW5jIDogYmFzZUNsb25lKGZ1bmMsIENMT05FX0RFRVBfRkxBRykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHBlcmZvcm1zIGEgcGFydGlhbCBkZWVwIGNvbXBhcmlzb24gYmV0d2VlbiBhIGdpdmVuXG4gICAgICogb2JqZWN0IGFuZCBgc291cmNlYCwgcmV0dXJuaW5nIGB0cnVlYCBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGhhcyBlcXVpdmFsZW50XG4gICAgICogcHJvcGVydHkgdmFsdWVzLCBlbHNlIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhlIGNyZWF0ZWQgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byBgXy5pc01hdGNoYCB3aXRoIGBzb3VyY2VgXG4gICAgICogcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICpcbiAgICAgKiBQYXJ0aWFsIGNvbXBhcmlzb25zIHdpbGwgbWF0Y2ggZW1wdHkgYXJyYXkgYW5kIGVtcHR5IG9iamVjdCBgc291cmNlYFxuICAgICAqIHZhbHVlcyBhZ2FpbnN0IGFueSBhcnJheSBvciBvYmplY3QgdmFsdWUsIHJlc3BlY3RpdmVseS4gU2VlIGBfLmlzRXF1YWxgXG4gICAgICogZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgdmFsdWUgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTXVsdGlwbGUgdmFsdWVzIGNhbiBiZSBjaGVja2VkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIG1hdGNoZXJzXG4gICAgICogdXNpbmcgYF8ub3ZlclNvbWVgXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSB2YWx1ZXMgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDMgfSxcbiAgICAgKiAgIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmlsdGVyKG9iamVjdHMsIF8ubWF0Y2hlcyh7ICdhJzogNCwgJ2MnOiA2IH0pKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDQsICdiJzogNSwgJ2MnOiA2IH1dXG4gICAgICpcbiAgICAgKiAvLyBDaGVja2luZyBmb3Igc2V2ZXJhbCBwb3NzaWJsZSB2YWx1ZXNcbiAgICAgKiBfLmZpbHRlcihvYmplY3RzLCBfLm92ZXJTb21lKFtfLm1hdGNoZXMoeyAnYSc6IDEgfSksIF8ubWF0Y2hlcyh7ICdhJzogNCB9KV0pKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH0sIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hdGNoZXMoc291cmNlKSB7XG4gICAgICByZXR1cm4gYmFzZU1hdGNoZXMoYmFzZUNsb25lKHNvdXJjZSwgQ0xPTkVfREVFUF9GTEFHKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcGVyZm9ybXMgYSBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIHRoZVxuICAgICAqIHZhbHVlIGF0IGBwYXRoYCBvZiBhIGdpdmVuIG9iamVjdCB0byBgc3JjVmFsdWVgLCByZXR1cm5pbmcgYHRydWVgIGlmIHRoZVxuICAgICAqIG9iamVjdCB2YWx1ZSBpcyBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogUGFydGlhbCBjb21wYXJpc29ucyB3aWxsIG1hdGNoIGVtcHR5IGFycmF5IGFuZCBlbXB0eSBvYmplY3RcbiAgICAgKiBgc3JjVmFsdWVgIHZhbHVlcyBhZ2FpbnN0IGFueSBhcnJheSBvciBvYmplY3QgdmFsdWUsIHJlc3BlY3RpdmVseS4gU2VlXG4gICAgICogYF8uaXNFcXVhbGAgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgdmFsdWUgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTXVsdGlwbGUgdmFsdWVzIGNhbiBiZSBjaGVja2VkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIG1hdGNoZXJzXG4gICAgICogdXNpbmcgYF8ub3ZlclNvbWVgXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgc3BlYyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDMgfSxcbiAgICAgKiAgIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmluZChvYmplY3RzLCBfLm1hdGNoZXNQcm9wZXJ0eSgnYScsIDQpKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogNCwgJ2InOiA1LCAnYyc6IDYgfVxuICAgICAqXG4gICAgICogLy8gQ2hlY2tpbmcgZm9yIHNldmVyYWwgcG9zc2libGUgdmFsdWVzXG4gICAgICogXy5maWx0ZXIob2JqZWN0cywgXy5vdmVyU29tZShbXy5tYXRjaGVzUHJvcGVydHkoJ2EnLCAxKSwgXy5tYXRjaGVzUHJvcGVydHkoJ2EnLCA0KV0pKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH0sIHsgJ2EnOiA0LCAnYic6IDUsICdjJzogNiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1hdGNoZXNQcm9wZXJ0eShwYXRoLCBzcmNWYWx1ZSkge1xuICAgICAgcmV0dXJuIGJhc2VNYXRjaGVzUHJvcGVydHkocGF0aCwgYmFzZUNsb25lKHNyY1ZhbHVlLCBDTE9ORV9ERUVQX0ZMQUcpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIHRoZSBtZXRob2QgYXQgYHBhdGhgIG9mIGEgZ2l2ZW4gb2JqZWN0LlxuICAgICAqIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcHJvdmlkZWQgdG8gdGhlIGludm9rZWQgbWV0aG9kLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuNy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgbWV0aG9kIHRvIGludm9rZS5cbiAgICAgKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSB0aGUgbWV0aG9kIHdpdGguXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgaW52b2tlciBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogeyAnYic6IF8uY29uc3RhbnQoMikgfSB9LFxuICAgICAqICAgeyAnYSc6IHsgJ2InOiBfLmNvbnN0YW50KDEpIH0gfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLm1hcChvYmplY3RzLCBfLm1ldGhvZCgnYS5iJykpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqXG4gICAgICogXy5tYXAob2JqZWN0cywgXy5tZXRob2QoWydhJywgJ2InXSkpO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqL1xuICAgIHZhciBtZXRob2QgPSBiYXNlUmVzdChmdW5jdGlvbihwYXRoLCBhcmdzKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBiYXNlSW52b2tlKG9iamVjdCwgcGF0aCwgYXJncyk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLm1ldGhvZGA7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXNcbiAgICAgKiB0aGUgbWV0aG9kIGF0IGEgZ2l2ZW4gcGF0aCBvZiBgb2JqZWN0YC4gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZVxuICAgICAqIHByb3ZpZGVkIHRvIHRoZSBpbnZva2VkIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjcuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIHRoZSBtZXRob2Qgd2l0aC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBpbnZva2VyIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBfLnRpbWVzKDMsIF8uY29uc3RhbnQpLFxuICAgICAqICAgICBvYmplY3QgPSB7ICdhJzogYXJyYXksICdiJzogYXJyYXksICdjJzogYXJyYXkgfTtcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnYVsyXScsICdjWzBdJ10sIF8ubWV0aG9kT2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICpcbiAgICAgKiBfLm1hcChbWydhJywgJzInXSwgWydjJywgJzAnXV0sIF8ubWV0aG9kT2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICovXG4gICAgdmFyIG1ldGhvZE9mID0gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBhcmdzKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICByZXR1cm4gYmFzZUludm9rZShvYmplY3QsIHBhdGgsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEFkZHMgYWxsIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBmdW5jdGlvbiBwcm9wZXJ0aWVzIG9mIGEgc291cmNlXG4gICAgICogb2JqZWN0IHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QuIElmIGBvYmplY3RgIGlzIGEgZnVuY3Rpb24sIHRoZW4gbWV0aG9kc1xuICAgICAqIGFyZSBhZGRlZCB0byBpdHMgcHJvdG90eXBlIGFzIHdlbGwuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVXNlIGBfLnJ1bkluQ29udGV4dGAgdG8gY3JlYXRlIGEgcHJpc3RpbmUgYGxvZGFzaGAgZnVuY3Rpb24gdG9cbiAgICAgKiBhdm9pZCBjb25mbGljdHMgY2F1c2VkIGJ5IG1vZGlmeWluZyB0aGUgb3JpZ2luYWwuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb258T2JqZWN0fSBbb2JqZWN0PWxvZGFzaF0gVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgZnVuY3Rpb25zIHRvIGFkZC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmNoYWluPXRydWVdIFNwZWNpZnkgd2hldGhlciBtaXhpbnMgYXJlIGNoYWluYWJsZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb258T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiB2b3dlbHMoc3RyaW5nKSB7XG4gICAgICogICByZXR1cm4gXy5maWx0ZXIoc3RyaW5nLCBmdW5jdGlvbih2KSB7XG4gICAgICogICAgIHJldHVybiAvW2FlaW91XS9pLnRlc3Qodik7XG4gICAgICogICB9KTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLm1peGluKHsgJ3Zvd2Vscyc6IHZvd2VscyB9KTtcbiAgICAgKiBfLnZvd2VscygnZnJlZCcpO1xuICAgICAqIC8vID0+IFsnZSddXG4gICAgICpcbiAgICAgKiBfKCdmcmVkJykudm93ZWxzKCkudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbJ2UnXVxuICAgICAqXG4gICAgICogXy5taXhpbih7ICd2b3dlbHMnOiB2b3dlbHMgfSwgeyAnY2hhaW4nOiBmYWxzZSB9KTtcbiAgICAgKiBfKCdmcmVkJykudm93ZWxzKCk7XG4gICAgICogLy8gPT4gWydlJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtaXhpbihvYmplY3QsIHNvdXJjZSwgb3B0aW9ucykge1xuICAgICAgdmFyIHByb3BzID0ga2V5cyhzb3VyY2UpLFxuICAgICAgICAgIG1ldGhvZE5hbWVzID0gYmFzZUZ1bmN0aW9ucyhzb3VyY2UsIHByb3BzKTtcblxuICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCAmJlxuICAgICAgICAgICEoaXNPYmplY3Qoc291cmNlKSAmJiAobWV0aG9kTmFtZXMubGVuZ3RoIHx8ICFwcm9wcy5sZW5ndGgpKSkge1xuICAgICAgICBvcHRpb25zID0gc291cmNlO1xuICAgICAgICBzb3VyY2UgPSBvYmplY3Q7XG4gICAgICAgIG9iamVjdCA9IHRoaXM7XG4gICAgICAgIG1ldGhvZE5hbWVzID0gYmFzZUZ1bmN0aW9ucyhzb3VyY2UsIGtleXMoc291cmNlKSk7XG4gICAgICB9XG4gICAgICB2YXIgY2hhaW4gPSAhKGlzT2JqZWN0KG9wdGlvbnMpICYmICdjaGFpbicgaW4gb3B0aW9ucykgfHwgISFvcHRpb25zLmNoYWluLFxuICAgICAgICAgIGlzRnVuYyA9IGlzRnVuY3Rpb24ob2JqZWN0KTtcblxuICAgICAgYXJyYXlFYWNoKG1ldGhvZE5hbWVzLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICAgIHZhciBmdW5jID0gc291cmNlW21ldGhvZE5hbWVdO1xuICAgICAgICBvYmplY3RbbWV0aG9kTmFtZV0gPSBmdW5jO1xuICAgICAgICBpZiAoaXNGdW5jKSB7XG4gICAgICAgICAgb2JqZWN0LnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGNoYWluQWxsID0gdGhpcy5fX2NoYWluX187XG4gICAgICAgICAgICBpZiAoY2hhaW4gfHwgY2hhaW5BbGwpIHtcbiAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG9iamVjdCh0aGlzLl9fd3JhcHBlZF9fKSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnMgPSByZXN1bHQuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7XG5cbiAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHsgJ2Z1bmMnOiBmdW5jLCAnYXJncyc6IGFyZ3VtZW50cywgJ3RoaXNBcmcnOiBvYmplY3QgfSk7XG4gICAgICAgICAgICAgIHJlc3VsdC5fX2NoYWluX18gPSBjaGFpbkFsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KG9iamVjdCwgYXJyYXlQdXNoKFt0aGlzLnZhbHVlKCldLCBhcmd1bWVudHMpKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnRzIHRoZSBgX2AgdmFyaWFibGUgdG8gaXRzIHByZXZpb3VzIHZhbHVlIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvXG4gICAgICogdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgbG9kYXNoID0gXy5ub0NvbmZsaWN0KCk7XG4gICAgICovXG4gICAgZnVuY3Rpb24gbm9Db25mbGljdCgpIHtcbiAgICAgIGlmIChyb290Ll8gPT09IHRoaXMpIHtcbiAgICAgICAgcm9vdC5fID0gb2xkRGFzaDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRpbWVzKDIsIF8ubm9vcCk7XG4gICAgICogLy8gPT4gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG5vb3AoKSB7XG4gICAgICAvLyBObyBvcGVyYXRpb24gcGVyZm9ybWVkLlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGdldHMgdGhlIGFyZ3VtZW50IGF0IGluZGV4IGBuYC4gSWYgYG5gIGlzIG5lZ2F0aXZlLFxuICAgICAqIHRoZSBudGggYXJndW1lbnQgZnJvbSB0aGUgZW5kIGlzIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MF0gVGhlIGluZGV4IG9mIHRoZSBhcmd1bWVudCB0byByZXR1cm4uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFzcy10aHJ1IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ubnRoQXJnKDEpO1xuICAgICAqIGZ1bmMoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiAnYidcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5udGhBcmcoLTIpO1xuICAgICAqIGZ1bmMoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiAnYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBudGhBcmcobikge1xuICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICAgIHJldHVybiBiYXNlTnRoKGFyZ3MsIG4pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgaXRlcmF0ZWVzYCB3aXRoIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXNcbiAgICAgKiBhbmQgcmV0dXJucyB0aGVpciByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW2l0ZXJhdGVlcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBpdGVyYXRlZXMgdG8gaW52b2tlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ub3ZlcihbTWF0aC5tYXgsIE1hdGgubWluXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKDEsIDIsIDMsIDQpO1xuICAgICAqIC8vID0+IFs0LCAxXVxuICAgICAqL1xuICAgIHZhciBvdmVyID0gY3JlYXRlT3ZlcihhcnJheU1hcCk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBjaGVja3MgaWYgKiphbGwqKiBvZiB0aGUgYHByZWRpY2F0ZXNgIHJldHVyblxuICAgICAqIHRydXRoeSB3aGVuIGludm9rZWQgd2l0aCB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogRm9sbG93aW5nIHNob3J0aGFuZHMgYXJlIHBvc3NpYmxlIGZvciBwcm92aWRpbmcgcHJlZGljYXRlcy5cbiAgICAgKiBQYXNzIGFuIGBPYmplY3RgIGFuZCBpdCB3aWxsIGJlIHVzZWQgYXMgYW4gcGFyYW1ldGVyIGZvciBgXy5tYXRjaGVzYCB0byBjcmVhdGUgdGhlIHByZWRpY2F0ZS5cbiAgICAgKiBQYXNzIGFuIGBBcnJheWAgb2YgcGFyYW1ldGVycyBmb3IgYF8ubWF0Y2hlc1Byb3BlcnR5YCBhbmQgdGhlIHByZWRpY2F0ZSB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdGhlbS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtwcmVkaWNhdGVzPVtfLmlkZW50aXR5XV1cbiAgICAgKiAgVGhlIHByZWRpY2F0ZXMgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5vdmVyRXZlcnkoW0Jvb2xlYW4sIGlzRmluaXRlXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKCcxJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogZnVuYyhudWxsKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogZnVuYyhOYU4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIG92ZXJFdmVyeSA9IGNyZWF0ZU92ZXIoYXJyYXlFdmVyeSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBjaGVja3MgaWYgKiphbnkqKiBvZiB0aGUgYHByZWRpY2F0ZXNgIHJldHVyblxuICAgICAqIHRydXRoeSB3aGVuIGludm9rZWQgd2l0aCB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogRm9sbG93aW5nIHNob3J0aGFuZHMgYXJlIHBvc3NpYmxlIGZvciBwcm92aWRpbmcgcHJlZGljYXRlcy5cbiAgICAgKiBQYXNzIGFuIGBPYmplY3RgIGFuZCBpdCB3aWxsIGJlIHVzZWQgYXMgYW4gcGFyYW1ldGVyIGZvciBgXy5tYXRjaGVzYCB0byBjcmVhdGUgdGhlIHByZWRpY2F0ZS5cbiAgICAgKiBQYXNzIGFuIGBBcnJheWAgb2YgcGFyYW1ldGVycyBmb3IgYF8ubWF0Y2hlc1Byb3BlcnR5YCBhbmQgdGhlIHByZWRpY2F0ZSB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdGhlbS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtwcmVkaWNhdGVzPVtfLmlkZW50aXR5XV1cbiAgICAgKiAgVGhlIHByZWRpY2F0ZXMgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5vdmVyU29tZShbQm9vbGVhbiwgaXNGaW5pdGVdKTtcbiAgICAgKlxuICAgICAqIGZ1bmMoJzEnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBmdW5jKG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIGZ1bmMoTmFOKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogdmFyIG1hdGNoZXNGdW5jID0gXy5vdmVyU29tZShbeyAnYSc6IDEgfSwgeyAnYSc6IDIgfV0pXG4gICAgICogdmFyIG1hdGNoZXNQcm9wZXJ0eUZ1bmMgPSBfLm92ZXJTb21lKFtbJ2EnLCAxXSwgWydhJywgMl1dKVxuICAgICAqL1xuICAgIHZhciBvdmVyU29tZSA9IGNyZWF0ZU92ZXIoYXJyYXlTb21lKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBhIGdpdmVuIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhY2Nlc3NvciBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbXG4gICAgICogICB7ICdhJzogeyAnYic6IDIgfSB9LFxuICAgICAqICAgeyAnYSc6IHsgJ2InOiAxIH0gfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLm1hcChvYmplY3RzLCBfLnByb3BlcnR5KCdhLmInKSk7XG4gICAgICogLy8gPT4gWzIsIDFdXG4gICAgICpcbiAgICAgKiBfLm1hcChfLnNvcnRCeShvYmplY3RzLCBfLnByb3BlcnR5KFsnYScsICdiJ10pKSwgJ2EuYicpO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHByb3BlcnR5KHBhdGgpIHtcbiAgICAgIHJldHVybiBpc0tleShwYXRoKSA/IGJhc2VQcm9wZXJ0eSh0b0tleShwYXRoKSkgOiBiYXNlUHJvcGVydHlEZWVwKHBhdGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBvcHBvc2l0ZSBvZiBgXy5wcm9wZXJ0eWA7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnNcbiAgICAgKiB0aGUgdmFsdWUgYXQgYSBnaXZlbiBwYXRoIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYWNjZXNzb3IgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFswLCAxLCAyXSxcbiAgICAgKiAgICAgb2JqZWN0ID0geyAnYSc6IGFycmF5LCAnYic6IGFycmF5LCAnYyc6IGFycmF5IH07XG4gICAgICpcbiAgICAgKiBfLm1hcChbJ2FbMl0nLCAnY1swXSddLCBfLnByb3BlcnR5T2Yob2JqZWN0KSk7XG4gICAgICogLy8gPT4gWzIsIDBdXG4gICAgICpcbiAgICAgKiBfLm1hcChbWydhJywgJzInXSwgWydjJywgJzAnXV0sIF8ucHJvcGVydHlPZihvYmplY3QpKTtcbiAgICAgKiAvLyA9PiBbMiwgMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwcm9wZXJ0eU9mKG9iamVjdCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogYmFzZUdldChvYmplY3QsIHBhdGgpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIG51bWJlcnMgKHBvc2l0aXZlIGFuZC9vciBuZWdhdGl2ZSkgcHJvZ3Jlc3NpbmcgZnJvbVxuICAgICAqIGBzdGFydGAgdXAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nLCBgZW5kYC4gQSBzdGVwIG9mIGAtMWAgaXMgdXNlZCBpZiBhIG5lZ2F0aXZlXG4gICAgICogYHN0YXJ0YCBpcyBzcGVjaWZpZWQgd2l0aG91dCBhbiBgZW5kYCBvciBgc3RlcGAuIElmIGBlbmRgIGlzIG5vdCBzcGVjaWZpZWQsXG4gICAgICogaXQncyBzZXQgdG8gYHN0YXJ0YCB3aXRoIGBzdGFydGAgdGhlbiBzZXQgdG8gYDBgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIEphdmFTY3JpcHQgZm9sbG93cyB0aGUgSUVFRS03NTQgc3RhbmRhcmQgZm9yIHJlc29sdmluZ1xuICAgICAqIGZsb2F0aW5nLXBvaW50IHZhbHVlcyB3aGljaCBjYW4gcHJvZHVjZSB1bmV4cGVjdGVkIHJlc3VsdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZW5kIFRoZSBlbmQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RlcD0xXSBUaGUgdmFsdWUgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCBieS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHJhbmdlIG9mIG51bWJlcnMuXG4gICAgICogQHNlZSBfLmluUmFuZ2UsIF8ucmFuZ2VSaWdodFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDQpO1xuICAgICAqIC8vID0+IFswLCAxLCAyLCAzXVxuICAgICAqXG4gICAgICogXy5yYW5nZSgtNCk7XG4gICAgICogLy8gPT4gWzAsIC0xLCAtMiwgLTNdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDEsIDUpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzLCA0XVxuICAgICAqXG4gICAgICogXy5yYW5nZSgwLCAyMCwgNSk7XG4gICAgICogLy8gPT4gWzAsIDUsIDEwLCAxNV1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoMCwgLTQsIC0xKTtcbiAgICAgKiAvLyA9PiBbMCwgLTEsIC0yLCAtM11cbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoMSwgNCwgMCk7XG4gICAgICogLy8gPT4gWzEsIDEsIDFdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDApO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgdmFyIHJhbmdlID0gY3JlYXRlUmFuZ2UoKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucmFuZ2VgIGV4Y2VwdCB0aGF0IGl0IHBvcHVsYXRlcyB2YWx1ZXMgaW5cbiAgICAgKiBkZXNjZW5kaW5nIG9yZGVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGVuZCBUaGUgZW5kIG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV0gVGhlIHZhbHVlIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgYnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5nZSBvZiBudW1iZXJzLlxuICAgICAqIEBzZWUgXy5pblJhbmdlLCBfLnJhbmdlXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCg0KTtcbiAgICAgKiAvLyA9PiBbMywgMiwgMSwgMF1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgtNCk7XG4gICAgICogLy8gPT4gWy0zLCAtMiwgLTEsIDBdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoMSwgNSk7XG4gICAgICogLy8gPT4gWzQsIDMsIDIsIDFdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoMCwgMjAsIDUpO1xuICAgICAqIC8vID0+IFsxNSwgMTAsIDUsIDBdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlUmlnaHQoMCwgLTQsIC0xKTtcbiAgICAgKiAvLyA9PiBbLTMsIC0yLCAtMSwgMF1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgxLCA0LCAwKTtcbiAgICAgKiAvLyA9PiBbMSwgMSwgMV1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgwKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIHZhciByYW5nZVJpZ2h0ID0gY3JlYXRlUmFuZ2UodHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGVtcHR5IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTMuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZW1wdHkgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheXMgPSBfLnRpbWVzKDIsIF8uc3R1YkFycmF5KTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5cyk7XG4gICAgICogLy8gPT4gW1tdLCBbXV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5c1swXSA9PT0gYXJyYXlzWzFdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0dWJBcnJheSgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGBmYWxzZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xMy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRpbWVzKDIsIF8uc3R1YkZhbHNlKTtcbiAgICAgKiAvLyA9PiBbZmFsc2UsIGZhbHNlXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0dWJGYWxzZSgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGVtcHR5IG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEzLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBlbXB0eSBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gXy50aW1lcygyLCBfLnN0dWJPYmplY3QpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0cyk7XG4gICAgICogLy8gPT4gW3t9LCB7fV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdHNbMF0gPT09IG9iamVjdHNbMV0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3R1Yk9iamVjdCgpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEzLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVtcHR5IHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50aW1lcygyLCBfLnN0dWJTdHJpbmcpO1xuICAgICAqIC8vID0+IFsnJywgJyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3R1YlN0cmluZygpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGB0cnVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEzLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50aW1lcygyLCBfLnN0dWJUcnVlKTtcbiAgICAgKiAvLyA9PiBbdHJ1ZSwgdHJ1ZV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdHViVHJ1ZSgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEludm9rZXMgdGhlIGl0ZXJhdGVlIGBuYCB0aW1lcywgcmV0dXJuaW5nIGFuIGFycmF5IG9mIHRoZSByZXN1bHRzIG9mXG4gICAgICogZWFjaCBpbnZvY2F0aW9uLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDsgKGluZGV4KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiB0aW1lcyB0byBpbnZva2UgYGl0ZXJhdGVlYC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGltZXMoMywgU3RyaW5nKTtcbiAgICAgKiAvLyA9PiBbJzAnLCAnMScsICcyJ11cbiAgICAgKlxuICAgICAqICBfLnRpbWVzKDQsIF8uY29uc3RhbnQoMCkpO1xuICAgICAqIC8vID0+IFswLCAwLCAwLCAwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRpbWVzKG4sIGl0ZXJhdGVlKSB7XG4gICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgaWYgKG4gPCAxIHx8IG4gPiBNQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IE1BWF9BUlJBWV9MRU5HVEgsXG4gICAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWluKG4sIE1BWF9BUlJBWV9MRU5HVEgpO1xuXG4gICAgICBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKGl0ZXJhdGVlKTtcbiAgICAgIG4gLT0gTUFYX0FSUkFZX0xFTkdUSDtcblxuICAgICAgdmFyIHJlc3VsdCA9IGJhc2VUaW1lcyhsZW5ndGgsIGl0ZXJhdGVlKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgICAgICBpdGVyYXRlZShpbmRleCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IHByb3BlcnR5IHBhdGggYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9QYXRoKCdhLmIuYycpO1xuICAgICAqIC8vID0+IFsnYScsICdiJywgJ2MnXVxuICAgICAqXG4gICAgICogXy50b1BhdGgoJ2FbMF0uYi5jJyk7XG4gICAgICogLy8gPT4gWydhJywgJzAnLCAnYicsICdjJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b1BhdGgodmFsdWUpIHtcbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gYXJyYXlNYXAodmFsdWUsIHRvS2V5KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpc1N5bWJvbCh2YWx1ZSkgPyBbdmFsdWVdIDogY29weUFycmF5KHN0cmluZ1RvUGF0aCh0b1N0cmluZyh2YWx1ZSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgSUQuIElmIGBwcmVmaXhgIGlzIGdpdmVuLCB0aGUgSUQgaXMgYXBwZW5kZWQgdG8gaXQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbcHJlZml4PScnXSBUaGUgdmFsdWUgdG8gcHJlZml4IHRoZSBJRCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHVuaXF1ZSBJRC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51bmlxdWVJZCgnY29udGFjdF8nKTtcbiAgICAgKiAvLyA9PiAnY29udGFjdF8xMDQnXG4gICAgICpcbiAgICAgKiBfLnVuaXF1ZUlkKCk7XG4gICAgICogLy8gPT4gJzEwNSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmlxdWVJZChwcmVmaXgpIHtcbiAgICAgIHZhciBpZCA9ICsraWRDb3VudGVyO1xuICAgICAgcmV0dXJuIHRvU3RyaW5nKHByZWZpeCkgKyBpZDtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBBZGRzIHR3byBudW1iZXJzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuNC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYXVnZW5kIFRoZSBmaXJzdCBudW1iZXIgaW4gYW4gYWRkaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGFkZGVuZCBUaGUgc2Vjb25kIG51bWJlciBpbiBhbiBhZGRpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSB0b3RhbC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5hZGQoNiwgNCk7XG4gICAgICogLy8gPT4gMTBcbiAgICAgKi9cbiAgICB2YXIgYWRkID0gY3JlYXRlTWF0aE9wZXJhdGlvbihmdW5jdGlvbihhdWdlbmQsIGFkZGVuZCkge1xuICAgICAgcmV0dXJuIGF1Z2VuZCArIGFkZGVuZDtcbiAgICB9LCAwKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIGBudW1iZXJgIHJvdW5kZWQgdXAgdG8gYHByZWNpc2lvbmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4xMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gcm91bmQgdXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwcmVjaXNpb249MF0gVGhlIHByZWNpc2lvbiB0byByb3VuZCB1cCB0by5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSByb3VuZGVkIHVwIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jZWlsKDQuMDA2KTtcbiAgICAgKiAvLyA9PiA1XG4gICAgICpcbiAgICAgKiBfLmNlaWwoNi4wMDQsIDIpO1xuICAgICAqIC8vID0+IDYuMDFcbiAgICAgKlxuICAgICAqIF8uY2VpbCg2MDQwLCAtMik7XG4gICAgICogLy8gPT4gNjEwMFxuICAgICAqL1xuICAgIHZhciBjZWlsID0gY3JlYXRlUm91bmQoJ2NlaWwnKTtcblxuICAgIC8qKlxuICAgICAqIERpdmlkZSB0d28gbnVtYmVycy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjcuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGRpdmlkZW5kIFRoZSBmaXJzdCBudW1iZXIgaW4gYSBkaXZpc2lvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZGl2aXNvciBUaGUgc2Vjb25kIG51bWJlciBpbiBhIGRpdmlzaW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHF1b3RpZW50LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRpdmlkZSg2LCA0KTtcbiAgICAgKiAvLyA9PiAxLjVcbiAgICAgKi9cbiAgICB2YXIgZGl2aWRlID0gY3JlYXRlTWF0aE9wZXJhdGlvbihmdW5jdGlvbihkaXZpZGVuZCwgZGl2aXNvcikge1xuICAgICAgcmV0dXJuIGRpdmlkZW5kIC8gZGl2aXNvcjtcbiAgICB9LCAxKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIGBudW1iZXJgIHJvdW5kZWQgZG93biB0byBgcHJlY2lzaW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjEwLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBudW1iZXIgVGhlIG51bWJlciB0byByb3VuZCBkb3duLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcHJlY2lzaW9uPTBdIFRoZSBwcmVjaXNpb24gdG8gcm91bmQgZG93biB0by5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSByb3VuZGVkIGRvd24gbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZsb29yKDQuMDA2KTtcbiAgICAgKiAvLyA9PiA0XG4gICAgICpcbiAgICAgKiBfLmZsb29yKDAuMDQ2LCAyKTtcbiAgICAgKiAvLyA9PiAwLjA0XG4gICAgICpcbiAgICAgKiBfLmZsb29yKDQwNjAsIC0yKTtcbiAgICAgKiAvLyA9PiA0MDAwXG4gICAgICovXG4gICAgdmFyIGZsb29yID0gY3JlYXRlUm91bmQoJ2Zsb29yJyk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgbWF4aW11bSB2YWx1ZSBvZiBgYXJyYXlgLiBJZiBgYXJyYXlgIGlzIGVtcHR5IG9yIGZhbHNleSxcbiAgICAgKiBgdW5kZWZpbmVkYCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tYXgoWzQsIDIsIDgsIDZdKTtcbiAgICAgKiAvLyA9PiA4XG4gICAgICpcbiAgICAgKiBfLm1heChbXSk7XG4gICAgICogLy8gPT4gdW5kZWZpbmVkXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWF4KGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlRXh0cmVtdW0oYXJyYXksIGlkZW50aXR5LCBiYXNlR3QpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubWF4YCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgaW4gYGFycmF5YCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uIGJ5IHdoaWNoXG4gICAgICogdGhlIHZhbHVlIGlzIHJhbmtlZC4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtYXhpbXVtIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICduJzogMSB9LCB7ICduJzogMiB9XTtcbiAgICAgKlxuICAgICAqIF8ubWF4Qnkob2JqZWN0cywgZnVuY3Rpb24obykgeyByZXR1cm4gby5uOyB9KTtcbiAgICAgKiAvLyA9PiB7ICduJzogMiB9XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1heEJ5KG9iamVjdHMsICduJyk7XG4gICAgICogLy8gPT4geyAnbic6IDIgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1heEJ5KGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZUV4dHJlbXVtKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMiksIGJhc2VHdClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIG1lYW4gb2YgdGhlIHZhbHVlcyBpbiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIG1lYW4uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubWVhbihbNCwgMiwgOCwgNl0pO1xuICAgICAqIC8vID0+IDVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtZWFuKGFycmF5KSB7XG4gICAgICByZXR1cm4gYmFzZU1lYW4oYXJyYXksIGlkZW50aXR5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLm1lYW5gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBpbiBgYXJyYXlgIHRvIGdlbmVyYXRlIHRoZSB2YWx1ZSB0byBiZSBhdmVyYWdlZC5cbiAgICAgKiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjcuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbWVhbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnbic6IDQgfSwgeyAnbic6IDIgfSwgeyAnbic6IDggfSwgeyAnbic6IDYgfV07XG4gICAgICpcbiAgICAgKiBfLm1lYW5CeShvYmplY3RzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLm47IH0pO1xuICAgICAqIC8vID0+IDVcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ubWVhbkJ5KG9iamVjdHMsICduJyk7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lYW5CeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlTWVhbihhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgbWluaW11bSB2YWx1ZSBvZiBgYXJyYXlgLiBJZiBgYXJyYXlgIGlzIGVtcHR5IG9yIGZhbHNleSxcbiAgICAgKiBgdW5kZWZpbmVkYCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWluaW11bSB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5taW4oWzQsIDIsIDgsIDZdKTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICpcbiAgICAgKiBfLm1pbihbXSk7XG4gICAgICogLy8gPT4gdW5kZWZpbmVkXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWluKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlRXh0cmVtdW0oYXJyYXksIGlkZW50aXR5LCBiYXNlTHQpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubWluYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgaW4gYGFycmF5YCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uIGJ5IHdoaWNoXG4gICAgICogdGhlIHZhbHVlIGlzIHJhbmtlZC4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtaW5pbXVtIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICduJzogMSB9LCB7ICduJzogMiB9XTtcbiAgICAgKlxuICAgICAqIF8ubWluQnkob2JqZWN0cywgZnVuY3Rpb24obykgeyByZXR1cm4gby5uOyB9KTtcbiAgICAgKiAvLyA9PiB7ICduJzogMSB9XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1pbkJ5KG9iamVjdHMsICduJyk7XG4gICAgICogLy8gPT4geyAnbic6IDEgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1pbkJ5KGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZUV4dHJlbXVtKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMiksIGJhc2VMdClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTXVsdGlwbHkgdHdvIG51bWJlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC43LjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtdWx0aXBsaWVyIFRoZSBmaXJzdCBudW1iZXIgaW4gYSBtdWx0aXBsaWNhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbXVsdGlwbGljYW5kIFRoZSBzZWNvbmQgbnVtYmVyIGluIGEgbXVsdGlwbGljYXRpb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcHJvZHVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tdWx0aXBseSg2LCA0KTtcbiAgICAgKiAvLyA9PiAyNFxuICAgICAqL1xuICAgIHZhciBtdWx0aXBseSA9IGNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24obXVsdGlwbGllciwgbXVsdGlwbGljYW5kKSB7XG4gICAgICByZXR1cm4gbXVsdGlwbGllciAqIG11bHRpcGxpY2FuZDtcbiAgICB9LCAxKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIGBudW1iZXJgIHJvdW5kZWQgdG8gYHByZWNpc2lvbmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4xMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyIFRoZSBudW1iZXIgdG8gcm91bmQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwcmVjaXNpb249MF0gVGhlIHByZWNpc2lvbiB0byByb3VuZCB0by5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSByb3VuZGVkIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yb3VuZCg0LjAwNik7XG4gICAgICogLy8gPT4gNFxuICAgICAqXG4gICAgICogXy5yb3VuZCg0LjAwNiwgMik7XG4gICAgICogLy8gPT4gNC4wMVxuICAgICAqXG4gICAgICogXy5yb3VuZCg0MDYwLCAtMik7XG4gICAgICogLy8gPT4gNDEwMFxuICAgICAqL1xuICAgIHZhciByb3VuZCA9IGNyZWF0ZVJvdW5kKCdyb3VuZCcpO1xuXG4gICAgLyoqXG4gICAgICogU3VidHJhY3QgdHdvIG51bWJlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtaW51ZW5kIFRoZSBmaXJzdCBudW1iZXIgaW4gYSBzdWJ0cmFjdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3VidHJhaGVuZCBUaGUgc2Vjb25kIG51bWJlciBpbiBhIHN1YnRyYWN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGRpZmZlcmVuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc3VidHJhY3QoNiwgNCk7XG4gICAgICogLy8gPT4gMlxuICAgICAqL1xuICAgIHZhciBzdWJ0cmFjdCA9IGNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24obWludWVuZCwgc3VidHJhaGVuZCkge1xuICAgICAgcmV0dXJuIG1pbnVlbmQgLSBzdWJ0cmFoZW5kO1xuICAgIH0sIDApO1xuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIHN1bSBvZiB0aGUgdmFsdWVzIGluIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy40LjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3VtLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnN1bShbNCwgMiwgOCwgNl0pO1xuICAgICAqIC8vID0+IDIwXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3VtKGFycmF5KSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlU3VtKGFycmF5LCBpZGVudGl0eSlcbiAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc3VtYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIGZvciBlYWNoIGVsZW1lbnQgaW4gYGFycmF5YCB0byBnZW5lcmF0ZSB0aGUgdmFsdWUgdG8gYmUgc3VtbWVkLlxuICAgICAqIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzdW0uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ24nOiA0IH0sIHsgJ24nOiAyIH0sIHsgJ24nOiA4IH0sIHsgJ24nOiA2IH1dO1xuICAgICAqXG4gICAgICogXy5zdW1CeShvYmplY3RzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLm47IH0pO1xuICAgICAqIC8vID0+IDIwXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnN1bUJ5KG9iamVjdHMsICduJyk7XG4gICAgICogLy8gPT4gMjBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdW1CeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VTdW0oYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSlcbiAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8vIEFkZCBtZXRob2RzIHRoYXQgcmV0dXJuIHdyYXBwZWQgdmFsdWVzIGluIGNoYWluIHNlcXVlbmNlcy5cbiAgICBsb2Rhc2guYWZ0ZXIgPSBhZnRlcjtcbiAgICBsb2Rhc2guYXJ5ID0gYXJ5O1xuICAgIGxvZGFzaC5hc3NpZ24gPSBhc3NpZ247XG4gICAgbG9kYXNoLmFzc2lnbkluID0gYXNzaWduSW47XG4gICAgbG9kYXNoLmFzc2lnbkluV2l0aCA9IGFzc2lnbkluV2l0aDtcbiAgICBsb2Rhc2guYXNzaWduV2l0aCA9IGFzc2lnbldpdGg7XG4gICAgbG9kYXNoLmF0ID0gYXQ7XG4gICAgbG9kYXNoLmJlZm9yZSA9IGJlZm9yZTtcbiAgICBsb2Rhc2guYmluZCA9IGJpbmQ7XG4gICAgbG9kYXNoLmJpbmRBbGwgPSBiaW5kQWxsO1xuICAgIGxvZGFzaC5iaW5kS2V5ID0gYmluZEtleTtcbiAgICBsb2Rhc2guY2FzdEFycmF5ID0gY2FzdEFycmF5O1xuICAgIGxvZGFzaC5jaGFpbiA9IGNoYWluO1xuICAgIGxvZGFzaC5jaHVuayA9IGNodW5rO1xuICAgIGxvZGFzaC5jb21wYWN0ID0gY29tcGFjdDtcbiAgICBsb2Rhc2guY29uY2F0ID0gY29uY2F0O1xuICAgIGxvZGFzaC5jb25kID0gY29uZDtcbiAgICBsb2Rhc2guY29uZm9ybXMgPSBjb25mb3JtcztcbiAgICBsb2Rhc2guY29uc3RhbnQgPSBjb25zdGFudDtcbiAgICBsb2Rhc2guY291bnRCeSA9IGNvdW50Qnk7XG4gICAgbG9kYXNoLmNyZWF0ZSA9IGNyZWF0ZTtcbiAgICBsb2Rhc2guY3VycnkgPSBjdXJyeTtcbiAgICBsb2Rhc2guY3VycnlSaWdodCA9IGN1cnJ5UmlnaHQ7XG4gICAgbG9kYXNoLmRlYm91bmNlID0gZGVib3VuY2U7XG4gICAgbG9kYXNoLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gICAgbG9kYXNoLmRlZmF1bHRzRGVlcCA9IGRlZmF1bHRzRGVlcDtcbiAgICBsb2Rhc2guZGVmZXIgPSBkZWZlcjtcbiAgICBsb2Rhc2guZGVsYXkgPSBkZWxheTtcbiAgICBsb2Rhc2guZGlmZmVyZW5jZSA9IGRpZmZlcmVuY2U7XG4gICAgbG9kYXNoLmRpZmZlcmVuY2VCeSA9IGRpZmZlcmVuY2VCeTtcbiAgICBsb2Rhc2guZGlmZmVyZW5jZVdpdGggPSBkaWZmZXJlbmNlV2l0aDtcbiAgICBsb2Rhc2guZHJvcCA9IGRyb3A7XG4gICAgbG9kYXNoLmRyb3BSaWdodCA9IGRyb3BSaWdodDtcbiAgICBsb2Rhc2guZHJvcFJpZ2h0V2hpbGUgPSBkcm9wUmlnaHRXaGlsZTtcbiAgICBsb2Rhc2guZHJvcFdoaWxlID0gZHJvcFdoaWxlO1xuICAgIGxvZGFzaC5maWxsID0gZmlsbDtcbiAgICBsb2Rhc2guZmlsdGVyID0gZmlsdGVyO1xuICAgIGxvZGFzaC5mbGF0TWFwID0gZmxhdE1hcDtcbiAgICBsb2Rhc2guZmxhdE1hcERlZXAgPSBmbGF0TWFwRGVlcDtcbiAgICBsb2Rhc2guZmxhdE1hcERlcHRoID0gZmxhdE1hcERlcHRoO1xuICAgIGxvZGFzaC5mbGF0dGVuID0gZmxhdHRlbjtcbiAgICBsb2Rhc2guZmxhdHRlbkRlZXAgPSBmbGF0dGVuRGVlcDtcbiAgICBsb2Rhc2guZmxhdHRlbkRlcHRoID0gZmxhdHRlbkRlcHRoO1xuICAgIGxvZGFzaC5mbGlwID0gZmxpcDtcbiAgICBsb2Rhc2guZmxvdyA9IGZsb3c7XG4gICAgbG9kYXNoLmZsb3dSaWdodCA9IGZsb3dSaWdodDtcbiAgICBsb2Rhc2guZnJvbVBhaXJzID0gZnJvbVBhaXJzO1xuICAgIGxvZGFzaC5mdW5jdGlvbnMgPSBmdW5jdGlvbnM7XG4gICAgbG9kYXNoLmZ1bmN0aW9uc0luID0gZnVuY3Rpb25zSW47XG4gICAgbG9kYXNoLmdyb3VwQnkgPSBncm91cEJ5O1xuICAgIGxvZGFzaC5pbml0aWFsID0gaW5pdGlhbDtcbiAgICBsb2Rhc2guaW50ZXJzZWN0aW9uID0gaW50ZXJzZWN0aW9uO1xuICAgIGxvZGFzaC5pbnRlcnNlY3Rpb25CeSA9IGludGVyc2VjdGlvbkJ5O1xuICAgIGxvZGFzaC5pbnRlcnNlY3Rpb25XaXRoID0gaW50ZXJzZWN0aW9uV2l0aDtcbiAgICBsb2Rhc2guaW52ZXJ0ID0gaW52ZXJ0O1xuICAgIGxvZGFzaC5pbnZlcnRCeSA9IGludmVydEJ5O1xuICAgIGxvZGFzaC5pbnZva2VNYXAgPSBpbnZva2VNYXA7XG4gICAgbG9kYXNoLml0ZXJhdGVlID0gaXRlcmF0ZWU7XG4gICAgbG9kYXNoLmtleUJ5ID0ga2V5Qnk7XG4gICAgbG9kYXNoLmtleXMgPSBrZXlzO1xuICAgIGxvZGFzaC5rZXlzSW4gPSBrZXlzSW47XG4gICAgbG9kYXNoLm1hcCA9IG1hcDtcbiAgICBsb2Rhc2gubWFwS2V5cyA9IG1hcEtleXM7XG4gICAgbG9kYXNoLm1hcFZhbHVlcyA9IG1hcFZhbHVlcztcbiAgICBsb2Rhc2gubWF0Y2hlcyA9IG1hdGNoZXM7XG4gICAgbG9kYXNoLm1hdGNoZXNQcm9wZXJ0eSA9IG1hdGNoZXNQcm9wZXJ0eTtcbiAgICBsb2Rhc2gubWVtb2l6ZSA9IG1lbW9pemU7XG4gICAgbG9kYXNoLm1lcmdlID0gbWVyZ2U7XG4gICAgbG9kYXNoLm1lcmdlV2l0aCA9IG1lcmdlV2l0aDtcbiAgICBsb2Rhc2gubWV0aG9kID0gbWV0aG9kO1xuICAgIGxvZGFzaC5tZXRob2RPZiA9IG1ldGhvZE9mO1xuICAgIGxvZGFzaC5taXhpbiA9IG1peGluO1xuICAgIGxvZGFzaC5uZWdhdGUgPSBuZWdhdGU7XG4gICAgbG9kYXNoLm50aEFyZyA9IG50aEFyZztcbiAgICBsb2Rhc2gub21pdCA9IG9taXQ7XG4gICAgbG9kYXNoLm9taXRCeSA9IG9taXRCeTtcbiAgICBsb2Rhc2gub25jZSA9IG9uY2U7XG4gICAgbG9kYXNoLm9yZGVyQnkgPSBvcmRlckJ5O1xuICAgIGxvZGFzaC5vdmVyID0gb3ZlcjtcbiAgICBsb2Rhc2gub3ZlckFyZ3MgPSBvdmVyQXJncztcbiAgICBsb2Rhc2gub3ZlckV2ZXJ5ID0gb3ZlckV2ZXJ5O1xuICAgIGxvZGFzaC5vdmVyU29tZSA9IG92ZXJTb21lO1xuICAgIGxvZGFzaC5wYXJ0aWFsID0gcGFydGlhbDtcbiAgICBsb2Rhc2gucGFydGlhbFJpZ2h0ID0gcGFydGlhbFJpZ2h0O1xuICAgIGxvZGFzaC5wYXJ0aXRpb24gPSBwYXJ0aXRpb247XG4gICAgbG9kYXNoLnBpY2sgPSBwaWNrO1xuICAgIGxvZGFzaC5waWNrQnkgPSBwaWNrQnk7XG4gICAgbG9kYXNoLnByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgbG9kYXNoLnByb3BlcnR5T2YgPSBwcm9wZXJ0eU9mO1xuICAgIGxvZGFzaC5wdWxsID0gcHVsbDtcbiAgICBsb2Rhc2gucHVsbEFsbCA9IHB1bGxBbGw7XG4gICAgbG9kYXNoLnB1bGxBbGxCeSA9IHB1bGxBbGxCeTtcbiAgICBsb2Rhc2gucHVsbEFsbFdpdGggPSBwdWxsQWxsV2l0aDtcbiAgICBsb2Rhc2gucHVsbEF0ID0gcHVsbEF0O1xuICAgIGxvZGFzaC5yYW5nZSA9IHJhbmdlO1xuICAgIGxvZGFzaC5yYW5nZVJpZ2h0ID0gcmFuZ2VSaWdodDtcbiAgICBsb2Rhc2gucmVhcmcgPSByZWFyZztcbiAgICBsb2Rhc2gucmVqZWN0ID0gcmVqZWN0O1xuICAgIGxvZGFzaC5yZW1vdmUgPSByZW1vdmU7XG4gICAgbG9kYXNoLnJlc3QgPSByZXN0O1xuICAgIGxvZGFzaC5yZXZlcnNlID0gcmV2ZXJzZTtcbiAgICBsb2Rhc2guc2FtcGxlU2l6ZSA9IHNhbXBsZVNpemU7XG4gICAgbG9kYXNoLnNldCA9IHNldDtcbiAgICBsb2Rhc2guc2V0V2l0aCA9IHNldFdpdGg7XG4gICAgbG9kYXNoLnNodWZmbGUgPSBzaHVmZmxlO1xuICAgIGxvZGFzaC5zbGljZSA9IHNsaWNlO1xuICAgIGxvZGFzaC5zb3J0QnkgPSBzb3J0Qnk7XG4gICAgbG9kYXNoLnNvcnRlZFVuaXEgPSBzb3J0ZWRVbmlxO1xuICAgIGxvZGFzaC5zb3J0ZWRVbmlxQnkgPSBzb3J0ZWRVbmlxQnk7XG4gICAgbG9kYXNoLnNwbGl0ID0gc3BsaXQ7XG4gICAgbG9kYXNoLnNwcmVhZCA9IHNwcmVhZDtcbiAgICBsb2Rhc2gudGFpbCA9IHRhaWw7XG4gICAgbG9kYXNoLnRha2UgPSB0YWtlO1xuICAgIGxvZGFzaC50YWtlUmlnaHQgPSB0YWtlUmlnaHQ7XG4gICAgbG9kYXNoLnRha2VSaWdodFdoaWxlID0gdGFrZVJpZ2h0V2hpbGU7XG4gICAgbG9kYXNoLnRha2VXaGlsZSA9IHRha2VXaGlsZTtcbiAgICBsb2Rhc2gudGFwID0gdGFwO1xuICAgIGxvZGFzaC50aHJvdHRsZSA9IHRocm90dGxlO1xuICAgIGxvZGFzaC50aHJ1ID0gdGhydTtcbiAgICBsb2Rhc2gudG9BcnJheSA9IHRvQXJyYXk7XG4gICAgbG9kYXNoLnRvUGFpcnMgPSB0b1BhaXJzO1xuICAgIGxvZGFzaC50b1BhaXJzSW4gPSB0b1BhaXJzSW47XG4gICAgbG9kYXNoLnRvUGF0aCA9IHRvUGF0aDtcbiAgICBsb2Rhc2gudG9QbGFpbk9iamVjdCA9IHRvUGxhaW5PYmplY3Q7XG4gICAgbG9kYXNoLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICBsb2Rhc2gudW5hcnkgPSB1bmFyeTtcbiAgICBsb2Rhc2gudW5pb24gPSB1bmlvbjtcbiAgICBsb2Rhc2gudW5pb25CeSA9IHVuaW9uQnk7XG4gICAgbG9kYXNoLnVuaW9uV2l0aCA9IHVuaW9uV2l0aDtcbiAgICBsb2Rhc2gudW5pcSA9IHVuaXE7XG4gICAgbG9kYXNoLnVuaXFCeSA9IHVuaXFCeTtcbiAgICBsb2Rhc2gudW5pcVdpdGggPSB1bmlxV2l0aDtcbiAgICBsb2Rhc2gudW5zZXQgPSB1bnNldDtcbiAgICBsb2Rhc2gudW56aXAgPSB1bnppcDtcbiAgICBsb2Rhc2gudW56aXBXaXRoID0gdW56aXBXaXRoO1xuICAgIGxvZGFzaC51cGRhdGUgPSB1cGRhdGU7XG4gICAgbG9kYXNoLnVwZGF0ZVdpdGggPSB1cGRhdGVXaXRoO1xuICAgIGxvZGFzaC52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgbG9kYXNoLnZhbHVlc0luID0gdmFsdWVzSW47XG4gICAgbG9kYXNoLndpdGhvdXQgPSB3aXRob3V0O1xuICAgIGxvZGFzaC53b3JkcyA9IHdvcmRzO1xuICAgIGxvZGFzaC53cmFwID0gd3JhcDtcbiAgICBsb2Rhc2gueG9yID0geG9yO1xuICAgIGxvZGFzaC54b3JCeSA9IHhvckJ5O1xuICAgIGxvZGFzaC54b3JXaXRoID0geG9yV2l0aDtcbiAgICBsb2Rhc2guemlwID0gemlwO1xuICAgIGxvZGFzaC56aXBPYmplY3QgPSB6aXBPYmplY3Q7XG4gICAgbG9kYXNoLnppcE9iamVjdERlZXAgPSB6aXBPYmplY3REZWVwO1xuICAgIGxvZGFzaC56aXBXaXRoID0gemlwV2l0aDtcblxuICAgIC8vIEFkZCBhbGlhc2VzLlxuICAgIGxvZGFzaC5lbnRyaWVzID0gdG9QYWlycztcbiAgICBsb2Rhc2guZW50cmllc0luID0gdG9QYWlyc0luO1xuICAgIGxvZGFzaC5leHRlbmQgPSBhc3NpZ25JbjtcbiAgICBsb2Rhc2guZXh0ZW5kV2l0aCA9IGFzc2lnbkluV2l0aDtcblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBsb2Rhc2gucHJvdG90eXBlYC5cbiAgICBtaXhpbihsb2Rhc2gsIGxvZGFzaCk7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0aGF0IHJldHVybiB1bndyYXBwZWQgdmFsdWVzIGluIGNoYWluIHNlcXVlbmNlcy5cbiAgICBsb2Rhc2guYWRkID0gYWRkO1xuICAgIGxvZGFzaC5hdHRlbXB0ID0gYXR0ZW1wdDtcbiAgICBsb2Rhc2guY2FtZWxDYXNlID0gY2FtZWxDYXNlO1xuICAgIGxvZGFzaC5jYXBpdGFsaXplID0gY2FwaXRhbGl6ZTtcbiAgICBsb2Rhc2guY2VpbCA9IGNlaWw7XG4gICAgbG9kYXNoLmNsYW1wID0gY2xhbXA7XG4gICAgbG9kYXNoLmNsb25lID0gY2xvbmU7XG4gICAgbG9kYXNoLmNsb25lRGVlcCA9IGNsb25lRGVlcDtcbiAgICBsb2Rhc2guY2xvbmVEZWVwV2l0aCA9IGNsb25lRGVlcFdpdGg7XG4gICAgbG9kYXNoLmNsb25lV2l0aCA9IGNsb25lV2l0aDtcbiAgICBsb2Rhc2guY29uZm9ybXNUbyA9IGNvbmZvcm1zVG87XG4gICAgbG9kYXNoLmRlYnVyciA9IGRlYnVycjtcbiAgICBsb2Rhc2guZGVmYXVsdFRvID0gZGVmYXVsdFRvO1xuICAgIGxvZGFzaC5kaXZpZGUgPSBkaXZpZGU7XG4gICAgbG9kYXNoLmVuZHNXaXRoID0gZW5kc1dpdGg7XG4gICAgbG9kYXNoLmVxID0gZXE7XG4gICAgbG9kYXNoLmVzY2FwZSA9IGVzY2FwZTtcbiAgICBsb2Rhc2guZXNjYXBlUmVnRXhwID0gZXNjYXBlUmVnRXhwO1xuICAgIGxvZGFzaC5ldmVyeSA9IGV2ZXJ5O1xuICAgIGxvZGFzaC5maW5kID0gZmluZDtcbiAgICBsb2Rhc2guZmluZEluZGV4ID0gZmluZEluZGV4O1xuICAgIGxvZGFzaC5maW5kS2V5ID0gZmluZEtleTtcbiAgICBsb2Rhc2guZmluZExhc3QgPSBmaW5kTGFzdDtcbiAgICBsb2Rhc2guZmluZExhc3RJbmRleCA9IGZpbmRMYXN0SW5kZXg7XG4gICAgbG9kYXNoLmZpbmRMYXN0S2V5ID0gZmluZExhc3RLZXk7XG4gICAgbG9kYXNoLmZsb29yID0gZmxvb3I7XG4gICAgbG9kYXNoLmZvckVhY2ggPSBmb3JFYWNoO1xuICAgIGxvZGFzaC5mb3JFYWNoUmlnaHQgPSBmb3JFYWNoUmlnaHQ7XG4gICAgbG9kYXNoLmZvckluID0gZm9ySW47XG4gICAgbG9kYXNoLmZvckluUmlnaHQgPSBmb3JJblJpZ2h0O1xuICAgIGxvZGFzaC5mb3JPd24gPSBmb3JPd247XG4gICAgbG9kYXNoLmZvck93blJpZ2h0ID0gZm9yT3duUmlnaHQ7XG4gICAgbG9kYXNoLmdldCA9IGdldDtcbiAgICBsb2Rhc2guZ3QgPSBndDtcbiAgICBsb2Rhc2guZ3RlID0gZ3RlO1xuICAgIGxvZGFzaC5oYXMgPSBoYXM7XG4gICAgbG9kYXNoLmhhc0luID0gaGFzSW47XG4gICAgbG9kYXNoLmhlYWQgPSBoZWFkO1xuICAgIGxvZGFzaC5pZGVudGl0eSA9IGlkZW50aXR5O1xuICAgIGxvZGFzaC5pbmNsdWRlcyA9IGluY2x1ZGVzO1xuICAgIGxvZGFzaC5pbmRleE9mID0gaW5kZXhPZjtcbiAgICBsb2Rhc2guaW5SYW5nZSA9IGluUmFuZ2U7XG4gICAgbG9kYXNoLmludm9rZSA9IGludm9rZTtcbiAgICBsb2Rhc2guaXNBcmd1bWVudHMgPSBpc0FyZ3VtZW50cztcbiAgICBsb2Rhc2guaXNBcnJheSA9IGlzQXJyYXk7XG4gICAgbG9kYXNoLmlzQXJyYXlCdWZmZXIgPSBpc0FycmF5QnVmZmVyO1xuICAgIGxvZGFzaC5pc0FycmF5TGlrZSA9IGlzQXJyYXlMaWtlO1xuICAgIGxvZGFzaC5pc0FycmF5TGlrZU9iamVjdCA9IGlzQXJyYXlMaWtlT2JqZWN0O1xuICAgIGxvZGFzaC5pc0Jvb2xlYW4gPSBpc0Jvb2xlYW47XG4gICAgbG9kYXNoLmlzQnVmZmVyID0gaXNCdWZmZXI7XG4gICAgbG9kYXNoLmlzRGF0ZSA9IGlzRGF0ZTtcbiAgICBsb2Rhc2guaXNFbGVtZW50ID0gaXNFbGVtZW50O1xuICAgIGxvZGFzaC5pc0VtcHR5ID0gaXNFbXB0eTtcbiAgICBsb2Rhc2guaXNFcXVhbCA9IGlzRXF1YWw7XG4gICAgbG9kYXNoLmlzRXF1YWxXaXRoID0gaXNFcXVhbFdpdGg7XG4gICAgbG9kYXNoLmlzRXJyb3IgPSBpc0Vycm9yO1xuICAgIGxvZGFzaC5pc0Zpbml0ZSA9IGlzRmluaXRlO1xuICAgIGxvZGFzaC5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcbiAgICBsb2Rhc2guaXNJbnRlZ2VyID0gaXNJbnRlZ2VyO1xuICAgIGxvZGFzaC5pc0xlbmd0aCA9IGlzTGVuZ3RoO1xuICAgIGxvZGFzaC5pc01hcCA9IGlzTWFwO1xuICAgIGxvZGFzaC5pc01hdGNoID0gaXNNYXRjaDtcbiAgICBsb2Rhc2guaXNNYXRjaFdpdGggPSBpc01hdGNoV2l0aDtcbiAgICBsb2Rhc2guaXNOYU4gPSBpc05hTjtcbiAgICBsb2Rhc2guaXNOYXRpdmUgPSBpc05hdGl2ZTtcbiAgICBsb2Rhc2guaXNOaWwgPSBpc05pbDtcbiAgICBsb2Rhc2guaXNOdWxsID0gaXNOdWxsO1xuICAgIGxvZGFzaC5pc051bWJlciA9IGlzTnVtYmVyO1xuICAgIGxvZGFzaC5pc09iamVjdCA9IGlzT2JqZWN0O1xuICAgIGxvZGFzaC5pc09iamVjdExpa2UgPSBpc09iamVjdExpa2U7XG4gICAgbG9kYXNoLmlzUGxhaW5PYmplY3QgPSBpc1BsYWluT2JqZWN0O1xuICAgIGxvZGFzaC5pc1JlZ0V4cCA9IGlzUmVnRXhwO1xuICAgIGxvZGFzaC5pc1NhZmVJbnRlZ2VyID0gaXNTYWZlSW50ZWdlcjtcbiAgICBsb2Rhc2guaXNTZXQgPSBpc1NldDtcbiAgICBsb2Rhc2guaXNTdHJpbmcgPSBpc1N0cmluZztcbiAgICBsb2Rhc2guaXNTeW1ib2wgPSBpc1N5bWJvbDtcbiAgICBsb2Rhc2guaXNUeXBlZEFycmF5ID0gaXNUeXBlZEFycmF5O1xuICAgIGxvZGFzaC5pc1VuZGVmaW5lZCA9IGlzVW5kZWZpbmVkO1xuICAgIGxvZGFzaC5pc1dlYWtNYXAgPSBpc1dlYWtNYXA7XG4gICAgbG9kYXNoLmlzV2Vha1NldCA9IGlzV2Vha1NldDtcbiAgICBsb2Rhc2guam9pbiA9IGpvaW47XG4gICAgbG9kYXNoLmtlYmFiQ2FzZSA9IGtlYmFiQ2FzZTtcbiAgICBsb2Rhc2gubGFzdCA9IGxhc3Q7XG4gICAgbG9kYXNoLmxhc3RJbmRleE9mID0gbGFzdEluZGV4T2Y7XG4gICAgbG9kYXNoLmxvd2VyQ2FzZSA9IGxvd2VyQ2FzZTtcbiAgICBsb2Rhc2gubG93ZXJGaXJzdCA9IGxvd2VyRmlyc3Q7XG4gICAgbG9kYXNoLmx0ID0gbHQ7XG4gICAgbG9kYXNoLmx0ZSA9IGx0ZTtcbiAgICBsb2Rhc2gubWF4ID0gbWF4O1xuICAgIGxvZGFzaC5tYXhCeSA9IG1heEJ5O1xuICAgIGxvZGFzaC5tZWFuID0gbWVhbjtcbiAgICBsb2Rhc2gubWVhbkJ5ID0gbWVhbkJ5O1xuICAgIGxvZGFzaC5taW4gPSBtaW47XG4gICAgbG9kYXNoLm1pbkJ5ID0gbWluQnk7XG4gICAgbG9kYXNoLnN0dWJBcnJheSA9IHN0dWJBcnJheTtcbiAgICBsb2Rhc2guc3R1YkZhbHNlID0gc3R1YkZhbHNlO1xuICAgIGxvZGFzaC5zdHViT2JqZWN0ID0gc3R1Yk9iamVjdDtcbiAgICBsb2Rhc2guc3R1YlN0cmluZyA9IHN0dWJTdHJpbmc7XG4gICAgbG9kYXNoLnN0dWJUcnVlID0gc3R1YlRydWU7XG4gICAgbG9kYXNoLm11bHRpcGx5ID0gbXVsdGlwbHk7XG4gICAgbG9kYXNoLm50aCA9IG50aDtcbiAgICBsb2Rhc2gubm9Db25mbGljdCA9IG5vQ29uZmxpY3Q7XG4gICAgbG9kYXNoLm5vb3AgPSBub29wO1xuICAgIGxvZGFzaC5ub3cgPSBub3c7XG4gICAgbG9kYXNoLnBhZCA9IHBhZDtcbiAgICBsb2Rhc2gucGFkRW5kID0gcGFkRW5kO1xuICAgIGxvZGFzaC5wYWRTdGFydCA9IHBhZFN0YXJ0O1xuICAgIGxvZGFzaC5wYXJzZUludCA9IHBhcnNlSW50O1xuICAgIGxvZGFzaC5yYW5kb20gPSByYW5kb207XG4gICAgbG9kYXNoLnJlZHVjZSA9IHJlZHVjZTtcbiAgICBsb2Rhc2gucmVkdWNlUmlnaHQgPSByZWR1Y2VSaWdodDtcbiAgICBsb2Rhc2gucmVwZWF0ID0gcmVwZWF0O1xuICAgIGxvZGFzaC5yZXBsYWNlID0gcmVwbGFjZTtcbiAgICBsb2Rhc2gucmVzdWx0ID0gcmVzdWx0O1xuICAgIGxvZGFzaC5yb3VuZCA9IHJvdW5kO1xuICAgIGxvZGFzaC5ydW5JbkNvbnRleHQgPSBydW5JbkNvbnRleHQ7XG4gICAgbG9kYXNoLnNhbXBsZSA9IHNhbXBsZTtcbiAgICBsb2Rhc2guc2l6ZSA9IHNpemU7XG4gICAgbG9kYXNoLnNuYWtlQ2FzZSA9IHNuYWtlQ2FzZTtcbiAgICBsb2Rhc2guc29tZSA9IHNvbWU7XG4gICAgbG9kYXNoLnNvcnRlZEluZGV4ID0gc29ydGVkSW5kZXg7XG4gICAgbG9kYXNoLnNvcnRlZEluZGV4QnkgPSBzb3J0ZWRJbmRleEJ5O1xuICAgIGxvZGFzaC5zb3J0ZWRJbmRleE9mID0gc29ydGVkSW5kZXhPZjtcbiAgICBsb2Rhc2guc29ydGVkTGFzdEluZGV4ID0gc29ydGVkTGFzdEluZGV4O1xuICAgIGxvZGFzaC5zb3J0ZWRMYXN0SW5kZXhCeSA9IHNvcnRlZExhc3RJbmRleEJ5O1xuICAgIGxvZGFzaC5zb3J0ZWRMYXN0SW5kZXhPZiA9IHNvcnRlZExhc3RJbmRleE9mO1xuICAgIGxvZGFzaC5zdGFydENhc2UgPSBzdGFydENhc2U7XG4gICAgbG9kYXNoLnN0YXJ0c1dpdGggPSBzdGFydHNXaXRoO1xuICAgIGxvZGFzaC5zdWJ0cmFjdCA9IHN1YnRyYWN0O1xuICAgIGxvZGFzaC5zdW0gPSBzdW07XG4gICAgbG9kYXNoLnN1bUJ5ID0gc3VtQnk7XG4gICAgbG9kYXNoLnRlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgbG9kYXNoLnRpbWVzID0gdGltZXM7XG4gICAgbG9kYXNoLnRvRmluaXRlID0gdG9GaW5pdGU7XG4gICAgbG9kYXNoLnRvSW50ZWdlciA9IHRvSW50ZWdlcjtcbiAgICBsb2Rhc2gudG9MZW5ndGggPSB0b0xlbmd0aDtcbiAgICBsb2Rhc2gudG9Mb3dlciA9IHRvTG93ZXI7XG4gICAgbG9kYXNoLnRvTnVtYmVyID0gdG9OdW1iZXI7XG4gICAgbG9kYXNoLnRvU2FmZUludGVnZXIgPSB0b1NhZmVJbnRlZ2VyO1xuICAgIGxvZGFzaC50b1N0cmluZyA9IHRvU3RyaW5nO1xuICAgIGxvZGFzaC50b1VwcGVyID0gdG9VcHBlcjtcbiAgICBsb2Rhc2gudHJpbSA9IHRyaW07XG4gICAgbG9kYXNoLnRyaW1FbmQgPSB0cmltRW5kO1xuICAgIGxvZGFzaC50cmltU3RhcnQgPSB0cmltU3RhcnQ7XG4gICAgbG9kYXNoLnRydW5jYXRlID0gdHJ1bmNhdGU7XG4gICAgbG9kYXNoLnVuZXNjYXBlID0gdW5lc2NhcGU7XG4gICAgbG9kYXNoLnVuaXF1ZUlkID0gdW5pcXVlSWQ7XG4gICAgbG9kYXNoLnVwcGVyQ2FzZSA9IHVwcGVyQ2FzZTtcbiAgICBsb2Rhc2gudXBwZXJGaXJzdCA9IHVwcGVyRmlyc3Q7XG5cbiAgICAvLyBBZGQgYWxpYXNlcy5cbiAgICBsb2Rhc2guZWFjaCA9IGZvckVhY2g7XG4gICAgbG9kYXNoLmVhY2hSaWdodCA9IGZvckVhY2hSaWdodDtcbiAgICBsb2Rhc2guZmlyc3QgPSBoZWFkO1xuXG4gICAgbWl4aW4obG9kYXNoLCAoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgc291cmNlID0ge307XG4gICAgICBiYXNlRm9yT3duKGxvZGFzaCwgZnVuY3Rpb24oZnVuYywgbWV0aG9kTmFtZSkge1xuICAgICAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwobG9kYXNoLnByb3RvdHlwZSwgbWV0aG9kTmFtZSkpIHtcbiAgICAgICAgICBzb3VyY2VbbWV0aG9kTmFtZV0gPSBmdW5jO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgfSgpKSwgeyAnY2hhaW4nOiBmYWxzZSB9KTtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIFRoZSBzZW1hbnRpYyB2ZXJzaW9uIG51bWJlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgbG9kYXNoLlZFUlNJT04gPSBWRVJTSU9OO1xuXG4gICAgLy8gQXNzaWduIGRlZmF1bHQgcGxhY2Vob2xkZXJzLlxuICAgIGFycmF5RWFjaChbJ2JpbmQnLCAnYmluZEtleScsICdjdXJyeScsICdjdXJyeVJpZ2h0JywgJ3BhcnRpYWwnLCAncGFydGlhbFJpZ2h0J10sIGZ1bmN0aW9uKG1ldGhvZE5hbWUpIHtcbiAgICAgIGxvZGFzaFttZXRob2ROYW1lXS5wbGFjZWhvbGRlciA9IGxvZGFzaDtcbiAgICB9KTtcblxuICAgIC8vIEFkZCBgTGF6eVdyYXBwZXJgIG1ldGhvZHMgZm9yIGBfLmRyb3BgIGFuZCBgXy50YWtlYCB2YXJpYW50cy5cbiAgICBhcnJheUVhY2goWydkcm9wJywgJ3Rha2UnXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgICAgbiA9IG4gPT09IHVuZGVmaW5lZCA/IDEgOiBuYXRpdmVNYXgodG9JbnRlZ2VyKG4pLCAwKTtcblxuICAgICAgICB2YXIgcmVzdWx0ID0gKHRoaXMuX19maWx0ZXJlZF9fICYmICFpbmRleClcbiAgICAgICAgICA/IG5ldyBMYXp5V3JhcHBlcih0aGlzKVxuICAgICAgICAgIDogdGhpcy5jbG9uZSgpO1xuXG4gICAgICAgIGlmIChyZXN1bHQuX19maWx0ZXJlZF9fKSB7XG4gICAgICAgICAgcmVzdWx0Ll9fdGFrZUNvdW50X18gPSBuYXRpdmVNaW4obiwgcmVzdWx0Ll9fdGFrZUNvdW50X18pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdC5fX3ZpZXdzX18ucHVzaCh7XG4gICAgICAgICAgICAnc2l6ZSc6IG5hdGl2ZU1pbihuLCBNQVhfQVJSQVlfTEVOR1RIKSxcbiAgICAgICAgICAgICd0eXBlJzogbWV0aG9kTmFtZSArIChyZXN1bHQuX19kaXJfXyA8IDAgPyAnUmlnaHQnIDogJycpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG5cbiAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lICsgJ1JpZ2h0J10gPSBmdW5jdGlvbihuKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJldmVyc2UoKVttZXRob2ROYW1lXShuKS5yZXZlcnNlKCk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gQWRkIGBMYXp5V3JhcHBlcmAgbWV0aG9kcyB0aGF0IGFjY2VwdCBhbiBgaXRlcmF0ZWVgIHZhbHVlLlxuICAgIGFycmF5RWFjaChbJ2ZpbHRlcicsICdtYXAnLCAndGFrZVdoaWxlJ10sIGZ1bmN0aW9uKG1ldGhvZE5hbWUsIGluZGV4KSB7XG4gICAgICB2YXIgdHlwZSA9IGluZGV4ICsgMSxcbiAgICAgICAgICBpc0ZpbHRlciA9IHR5cGUgPT0gTEFaWV9GSUxURVJfRkxBRyB8fCB0eXBlID09IExBWllfV0hJTEVfRkxBRztcblxuICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuY2xvbmUoKTtcbiAgICAgICAgcmVzdWx0Ll9faXRlcmF0ZWVzX18ucHVzaCh7XG4gICAgICAgICAgJ2l0ZXJhdGVlJzogZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpLFxuICAgICAgICAgICd0eXBlJzogdHlwZVxuICAgICAgICB9KTtcbiAgICAgICAgcmVzdWx0Ll9fZmlsdGVyZWRfXyA9IHJlc3VsdC5fX2ZpbHRlcmVkX18gfHwgaXNGaWx0ZXI7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gQWRkIGBMYXp5V3JhcHBlcmAgbWV0aG9kcyBmb3IgYF8uaGVhZGAgYW5kIGBfLmxhc3RgLlxuICAgIGFycmF5RWFjaChbJ2hlYWQnLCAnbGFzdCddLCBmdW5jdGlvbihtZXRob2ROYW1lLCBpbmRleCkge1xuICAgICAgdmFyIHRha2VOYW1lID0gJ3Rha2UnICsgKGluZGV4ID8gJ1JpZ2h0JyA6ICcnKTtcblxuICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzW3Rha2VOYW1lXSgxKS52YWx1ZSgpWzBdO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIEFkZCBgTGF6eVdyYXBwZXJgIG1ldGhvZHMgZm9yIGBfLmluaXRpYWxgIGFuZCBgXy50YWlsYC5cbiAgICBhcnJheUVhY2goWydpbml0aWFsJywgJ3RhaWwnXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgIHZhciBkcm9wTmFtZSA9ICdkcm9wJyArIChpbmRleCA/ICcnIDogJ1JpZ2h0Jyk7XG5cbiAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fX2ZpbHRlcmVkX18gPyBuZXcgTGF6eVdyYXBwZXIodGhpcykgOiB0aGlzW2Ryb3BOYW1lXSgxKTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuY29tcGFjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKGlkZW50aXR5KTtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmZpbmQgPSBmdW5jdGlvbihwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcihwcmVkaWNhdGUpLmhlYWQoKTtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmZpbmRMYXN0ID0gZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXZlcnNlKCkuZmluZChwcmVkaWNhdGUpO1xuICAgIH07XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuaW52b2tlTWFwID0gYmFzZVJlc3QoZnVuY3Rpb24ocGF0aCwgYXJncykge1xuICAgICAgaWYgKHR5cGVvZiBwYXRoID09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMYXp5V3JhcHBlcih0aGlzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICByZXR1cm4gYmFzZUludm9rZSh2YWx1ZSwgcGF0aCwgYXJncyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5yZWplY3QgPSBmdW5jdGlvbihwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcihuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlKSkpO1xuICAgIH07XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbihzdGFydCwgZW5kKSB7XG4gICAgICBzdGFydCA9IHRvSW50ZWdlcihzdGFydCk7XG5cbiAgICAgIHZhciByZXN1bHQgPSB0aGlzO1xuICAgICAgaWYgKHJlc3VsdC5fX2ZpbHRlcmVkX18gJiYgKHN0YXJ0ID4gMCB8fCBlbmQgPCAwKSkge1xuICAgICAgICByZXR1cm4gbmV3IExhenlXcmFwcGVyKHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBpZiAoc3RhcnQgPCAwKSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC50YWtlUmlnaHQoLXN0YXJ0KTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhcnQpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmRyb3Aoc3RhcnQpO1xuICAgICAgfVxuICAgICAgaWYgKGVuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVuZCA9IHRvSW50ZWdlcihlbmQpO1xuICAgICAgICByZXN1bHQgPSBlbmQgPCAwID8gcmVzdWx0LmRyb3BSaWdodCgtZW5kKSA6IHJlc3VsdC50YWtlKGVuZCAtIHN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS50YWtlUmlnaHRXaGlsZSA9IGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZSgpLnRha2VXaGlsZShwcmVkaWNhdGUpLnJldmVyc2UoKTtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLnRha2UoTUFYX0FSUkFZX0xFTkdUSCk7XG4gICAgfTtcblxuICAgIC8vIEFkZCBgTGF6eVdyYXBwZXJgIG1ldGhvZHMgdG8gYGxvZGFzaC5wcm90b3R5cGVgLlxuICAgIGJhc2VGb3JPd24oTGF6eVdyYXBwZXIucHJvdG90eXBlLCBmdW5jdGlvbihmdW5jLCBtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgY2hlY2tJdGVyYXRlZSA9IC9eKD86ZmlsdGVyfGZpbmR8bWFwfHJlamVjdCl8V2hpbGUkLy50ZXN0KG1ldGhvZE5hbWUpLFxuICAgICAgICAgIGlzVGFrZXIgPSAvXig/OmhlYWR8bGFzdCkkLy50ZXN0KG1ldGhvZE5hbWUpLFxuICAgICAgICAgIGxvZGFzaEZ1bmMgPSBsb2Rhc2hbaXNUYWtlciA/ICgndGFrZScgKyAobWV0aG9kTmFtZSA9PSAnbGFzdCcgPyAnUmlnaHQnIDogJycpKSA6IG1ldGhvZE5hbWVdLFxuICAgICAgICAgIHJldFVud3JhcHBlZCA9IGlzVGFrZXIgfHwgL15maW5kLy50ZXN0KG1ldGhvZE5hbWUpO1xuXG4gICAgICBpZiAoIWxvZGFzaEZ1bmMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbG9kYXNoLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLl9fd3JhcHBlZF9fLFxuICAgICAgICAgICAgYXJncyA9IGlzVGFrZXIgPyBbMV0gOiBhcmd1bWVudHMsXG4gICAgICAgICAgICBpc0xhenkgPSB2YWx1ZSBpbnN0YW5jZW9mIExhenlXcmFwcGVyLFxuICAgICAgICAgICAgaXRlcmF0ZWUgPSBhcmdzWzBdLFxuICAgICAgICAgICAgdXNlTGF6eSA9IGlzTGF6eSB8fCBpc0FycmF5KHZhbHVlKTtcblxuICAgICAgICB2YXIgaW50ZXJjZXB0b3IgPSBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgIHZhciByZXN1bHQgPSBsb2Rhc2hGdW5jLmFwcGx5KGxvZGFzaCwgYXJyYXlQdXNoKFt2YWx1ZV0sIGFyZ3MpKTtcbiAgICAgICAgICByZXR1cm4gKGlzVGFrZXIgJiYgY2hhaW5BbGwpID8gcmVzdWx0WzBdIDogcmVzdWx0O1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh1c2VMYXp5ICYmIGNoZWNrSXRlcmF0ZWUgJiYgdHlwZW9mIGl0ZXJhdGVlID09ICdmdW5jdGlvbicgJiYgaXRlcmF0ZWUubGVuZ3RoICE9IDEpIHtcbiAgICAgICAgICAvLyBBdm9pZCBsYXp5IHVzZSBpZiB0aGUgaXRlcmF0ZWUgaGFzIGEgXCJsZW5ndGhcIiB2YWx1ZSBvdGhlciB0aGFuIGAxYC5cbiAgICAgICAgICBpc0xhenkgPSB1c2VMYXp5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNoYWluQWxsID0gdGhpcy5fX2NoYWluX18sXG4gICAgICAgICAgICBpc0h5YnJpZCA9ICEhdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgsXG4gICAgICAgICAgICBpc1Vud3JhcHBlZCA9IHJldFVud3JhcHBlZCAmJiAhY2hhaW5BbGwsXG4gICAgICAgICAgICBvbmx5TGF6eSA9IGlzTGF6eSAmJiAhaXNIeWJyaWQ7XG5cbiAgICAgICAgaWYgKCFyZXRVbndyYXBwZWQgJiYgdXNlTGF6eSkge1xuICAgICAgICAgIHZhbHVlID0gb25seUxhenkgPyB2YWx1ZSA6IG5ldyBMYXp5V3JhcHBlcih0aGlzKTtcbiAgICAgICAgICB2YXIgcmVzdWx0ID0gZnVuYy5hcHBseSh2YWx1ZSwgYXJncyk7XG4gICAgICAgICAgcmVzdWx0Ll9fYWN0aW9uc19fLnB1c2goeyAnZnVuYyc6IHRocnUsICdhcmdzJzogW2ludGVyY2VwdG9yXSwgJ3RoaXNBcmcnOiB1bmRlZmluZWQgfSk7XG4gICAgICAgICAgcmV0dXJuIG5ldyBMb2Rhc2hXcmFwcGVyKHJlc3VsdCwgY2hhaW5BbGwpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1Vud3JhcHBlZCAmJiBvbmx5TGF6eSkge1xuICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCA9IHRoaXMudGhydShpbnRlcmNlcHRvcik7XG4gICAgICAgIHJldHVybiBpc1Vud3JhcHBlZCA/IChpc1Rha2VyID8gcmVzdWx0LnZhbHVlKClbMF0gOiByZXN1bHQudmFsdWUoKSkgOiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gQWRkIGBBcnJheWAgbWV0aG9kcyB0byBgbG9kYXNoLnByb3RvdHlwZWAuXG4gICAgYXJyYXlFYWNoKFsncG9wJywgJ3B1c2gnLCAnc2hpZnQnLCAnc29ydCcsICdzcGxpY2UnLCAndW5zaGlmdCddLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgZnVuYyA9IGFycmF5UHJvdG9bbWV0aG9kTmFtZV0sXG4gICAgICAgICAgY2hhaW5OYW1lID0gL14oPzpwdXNofHNvcnR8dW5zaGlmdCkkLy50ZXN0KG1ldGhvZE5hbWUpID8gJ3RhcCcgOiAndGhydScsXG4gICAgICAgICAgcmV0VW53cmFwcGVkID0gL14oPzpwb3B8c2hpZnQpJC8udGVzdChtZXRob2ROYW1lKTtcblxuICAgICAgbG9kYXNoLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgaWYgKHJldFVud3JhcHBlZCAmJiAhdGhpcy5fX2NoYWluX18pIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkoaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpc1tjaGFpbk5hbWVdKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkoaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdLCBhcmdzKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gTWFwIG1pbmlmaWVkIG1ldGhvZCBuYW1lcyB0byB0aGVpciByZWFsIG5hbWVzLlxuICAgIGJhc2VGb3JPd24oTGF6eVdyYXBwZXIucHJvdG90eXBlLCBmdW5jdGlvbihmdW5jLCBtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgbG9kYXNoRnVuYyA9IGxvZGFzaFttZXRob2ROYW1lXTtcbiAgICAgIGlmIChsb2Rhc2hGdW5jKSB7XG4gICAgICAgIHZhciBrZXkgPSBsb2Rhc2hGdW5jLm5hbWUgKyAnJztcbiAgICAgICAgaWYgKCFoYXNPd25Qcm9wZXJ0eS5jYWxsKHJlYWxOYW1lcywga2V5KSkge1xuICAgICAgICAgIHJlYWxOYW1lc1trZXldID0gW107XG4gICAgICAgIH1cbiAgICAgICAgcmVhbE5hbWVzW2tleV0ucHVzaCh7ICduYW1lJzogbWV0aG9kTmFtZSwgJ2Z1bmMnOiBsb2Rhc2hGdW5jIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmVhbE5hbWVzW2NyZWF0ZUh5YnJpZCh1bmRlZmluZWQsIFdSQVBfQklORF9LRVlfRkxBRykubmFtZV0gPSBbe1xuICAgICAgJ25hbWUnOiAnd3JhcHBlcicsXG4gICAgICAnZnVuYyc6IHVuZGVmaW5lZFxuICAgIH1dO1xuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYExhenlXcmFwcGVyYC5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuY2xvbmUgPSBsYXp5Q2xvbmU7XG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLnJldmVyc2UgPSBsYXp5UmV2ZXJzZTtcbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUudmFsdWUgPSBsYXp5VmFsdWU7XG5cbiAgICAvLyBBZGQgY2hhaW4gc2VxdWVuY2UgbWV0aG9kcyB0byB0aGUgYGxvZGFzaGAgd3JhcHBlci5cbiAgICBsb2Rhc2gucHJvdG90eXBlLmF0ID0gd3JhcHBlckF0O1xuICAgIGxvZGFzaC5wcm90b3R5cGUuY2hhaW4gPSB3cmFwcGVyQ2hhaW47XG4gICAgbG9kYXNoLnByb3RvdHlwZS5jb21taXQgPSB3cmFwcGVyQ29tbWl0O1xuICAgIGxvZGFzaC5wcm90b3R5cGUubmV4dCA9IHdyYXBwZXJOZXh0O1xuICAgIGxvZGFzaC5wcm90b3R5cGUucGxhbnQgPSB3cmFwcGVyUGxhbnQ7XG4gICAgbG9kYXNoLnByb3RvdHlwZS5yZXZlcnNlID0gd3JhcHBlclJldmVyc2U7XG4gICAgbG9kYXNoLnByb3RvdHlwZS50b0pTT04gPSBsb2Rhc2gucHJvdG90eXBlLnZhbHVlT2YgPSBsb2Rhc2gucHJvdG90eXBlLnZhbHVlID0gd3JhcHBlclZhbHVlO1xuXG4gICAgLy8gQWRkIGxhenkgYWxpYXNlcy5cbiAgICBsb2Rhc2gucHJvdG90eXBlLmZpcnN0ID0gbG9kYXNoLnByb3RvdHlwZS5oZWFkO1xuXG4gICAgaWYgKHN5bUl0ZXJhdG9yKSB7XG4gICAgICBsb2Rhc2gucHJvdG90eXBlW3N5bUl0ZXJhdG9yXSA9IHdyYXBwZXJUb0l0ZXJhdG9yO1xuICAgIH1cbiAgICByZXR1cm4gbG9kYXNoO1xuICB9KTtcblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAvLyBFeHBvcnQgbG9kYXNoLlxuICB2YXIgXyA9IHJ1bkluQ29udGV4dCgpO1xuXG4gIC8vIFNvbWUgQU1EIGJ1aWxkIG9wdGltaXplcnMsIGxpa2Ugci5qcywgY2hlY2sgZm9yIGNvbmRpdGlvbiBwYXR0ZXJucyBsaWtlOlxuICBpZiAodHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09ICdvYmplY3QnICYmIGRlZmluZS5hbWQpIHtcbiAgICAvLyBFeHBvc2UgTG9kYXNoIG9uIHRoZSBnbG9iYWwgb2JqZWN0IHRvIHByZXZlbnQgZXJyb3JzIHdoZW4gTG9kYXNoIGlzXG4gICAgLy8gbG9hZGVkIGJ5IGEgc2NyaXB0IHRhZyBpbiB0aGUgcHJlc2VuY2Ugb2YgYW4gQU1EIGxvYWRlci5cbiAgICAvLyBTZWUgaHR0cDovL3JlcXVpcmVqcy5vcmcvZG9jcy9lcnJvcnMuaHRtbCNtaXNtYXRjaCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgIC8vIFVzZSBgXy5ub0NvbmZsaWN0YCB0byByZW1vdmUgTG9kYXNoIGZyb20gdGhlIGdsb2JhbCBvYmplY3QuXG4gICAgcm9vdC5fID0gXztcblxuICAgIC8vIERlZmluZSBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlIHNvLCB0aHJvdWdoIHBhdGggbWFwcGluZywgaXQgY2FuIGJlXG4gICAgLy8gcmVmZXJlbmNlZCBhcyB0aGUgXCJ1bmRlcnNjb3JlXCIgbW9kdWxlLlxuICAgIGRlZmluZShmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBfO1xuICAgIH0pO1xuICB9XG4gIC8vIENoZWNrIGZvciBgZXhwb3J0c2AgYWZ0ZXIgYGRlZmluZWAgaW4gY2FzZSBhIGJ1aWxkIG9wdGltaXplciBhZGRzIGl0LlxuICBlbHNlIGlmIChmcmVlTW9kdWxlKSB7XG4gICAgLy8gRXhwb3J0IGZvciBOb2RlLmpzLlxuICAgIChmcmVlTW9kdWxlLmV4cG9ydHMgPSBfKS5fID0gXztcbiAgICAvLyBFeHBvcnQgZm9yIENvbW1vbkpTIHN1cHBvcnQuXG4gICAgZnJlZUV4cG9ydHMuXyA9IF87XG4gIH1cbiAgZWxzZSB7XG4gICAgLy8gRXhwb3J0IHRvIHRoZSBnbG9iYWwgb2JqZWN0LlxuICAgIHJvb3QuXyA9IF87XG4gIH1cbn0uY2FsbCh0aGlzKSk7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVmFsdWUgPSBleHBvcnRzLkFyaXR5ID0gdm9pZCAwO1xuY29uc3QgbG9kYXNoXzEgPSByZXF1aXJlKFwibG9kYXNoXCIpO1xuY2xhc3MgQXJpdHkge1xuICAgIGNvbnN0cnVjdG9yKHJvd3MsIGNvbHVtbnMpIHtcbiAgICAgICAgdGhpcy5pc1JvdyA9ICgpID0+IHRoaXMucm93cyA+IDEgJiYgdGhpcy5jb2xzID09PSAxO1xuICAgICAgICB0aGlzLmlzQ29sdW1uID0gKCkgPT4gdGhpcy5yb3dzID09PSAxICYmIHRoaXMuY29scyA+IDE7XG4gICAgICAgIHRoaXMuaXNDZWxsID0gKCkgPT4gdGhpcy5yb3dzID09PSAxICYmIHRoaXMuY29scyA9PT0gMTtcbiAgICAgICAgdGhpcy5yb3dzID0gcm93cztcbiAgICAgICAgdGhpcy5jb2xzID0gY29sdW1ucztcbiAgICB9XG59XG5leHBvcnRzLkFyaXR5ID0gQXJpdHk7XG5jbGFzcyBWYWx1ZSB7XG4gICAgY29uc3RydWN0b3IodmFsKSB7XG4gICAgICAgIHRoaXMuZ2V0ID0gKHJvdywgY29sdW1uKSA9PiB0aGlzLnZhbFtyb3ddW2NvbHVtbl07XG4gICAgICAgIHRoaXMuZ2V0QXNGbG9hdCA9IChyb3csIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VGbG9hdCh0aGlzLmdldChyb3csIGNvbHVtbikpO1xuICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHBhcnNlZCkgPyAwIDogcGFyc2VkO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdldEFzSW50ID0gKHJvdywgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludCh0aGlzLmdldChyb3csIGNvbHVtbikpO1xuICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHBhcnNlZCkgPyAwIDogcGFyc2VkO1xuICAgICAgICB9O1xuICAgICAgICAvKipcbiAgICAgICAgICogZ2V0QXJpdHkgcmV0dXJucyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgY29udGFpbmVkIHZhbHVlLCBpbiByb3dzIGFuZCBjb2x1bW5zXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmdldEFyaXR5ID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF4Q29scyA9IHRoaXMudmFsLnJlZHVjZSgobWF4LCBjdXJyZW50Um93KSA9PiBNYXRoLm1heChtYXgsIGN1cnJlbnRSb3cubGVuZ3RoKSwgMCk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFyaXR5KHRoaXMudmFsLmxlbmd0aCwgbWF4Q29scyk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXRBcml0eSgpLmlzQ2VsbCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGBbJHtsb2Rhc2hfMS5mbGF0dGVuKHRoaXMudmFsKVxuICAgICAgICAgICAgICAgIC5tYXAoKHZhbCkgPT4gdmFsLnRyaW0oKSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh2YWwpID0+IHZhbCAhPT0gJycpXG4gICAgICAgICAgICAgICAgLmpvaW4oJywgJyl9XWA7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudmFsID0gdmFsO1xuICAgIH1cbn1cbmV4cG9ydHMuVmFsdWUgPSBWYWx1ZTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5BbGdlYnJhaWNPcGVyYXRpb24gPSB2b2lkIDA7XG5jb25zdCBuZXZlcnRocm93XzEgPSByZXF1aXJlKFwiLi4vbmV2ZXJ0aHJvdy9uZXZlcnRocm93XCIpO1xuY29uc3QgYXN0X3V0aWxzXzEgPSByZXF1aXJlKFwiLi9hc3RfdXRpbHNcIik7XG5jb25zdCBjYWxjXzEgPSByZXF1aXJlKFwiLi9jYWxjXCIpO1xuY29uc3QgcmVzdWx0c18xID0gcmVxdWlyZShcIi4vcmVzdWx0c1wiKTtcbmNvbnN0IGxvZGFzaF8xID0gcmVxdWlyZShcImxvZGFzaFwiKTtcbmNsYXNzIEFsZ2VicmFpY09wZXJhdGlvbiB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSkge1xuICAgICAgICB0aGlzLmdldFZhbHVlID0gKHRhYmxlLCBjZWxsKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMub3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICBjYXNlICcrJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkKHRhYmxlLCBjZWxsKTtcbiAgICAgICAgICAgICAgICBjYXNlICctJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3VidHJhY3QodGFibGUsIGNlbGwpO1xuICAgICAgICAgICAgICAgIGNhc2UgJyonOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBseSh0YWJsZSwgY2VsbCk7XG4gICAgICAgICAgICAgICAgY2FzZSAnLyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpdmlkZSh0YWJsZSwgY2VsbCk7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoRXJyb3IoJ0ludmFsaWQgYWxnYnJhaWMgb3BlcmF0b3I6ICcgKyB0aGlzLm9wZXJhdG9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB3aXRoQ2VsbEFuZFJhbmdlIGFpZHMgaW4gcGVyZm9ybWluZyBhIG51bWVyaWMgb3BlcmF0aW9uIG9uIGNlbGxzIGluIGFcbiAgICAgICAgICogdGFibGUgd2hlcmUgYXQgbGVhc3Qgb25lIG9mIHRoZSB0d28gb3BlcmFuZHMgaXMgYSBzaW5nbGUgY2VsbC4gT3B0aW9uYWxseSxcbiAgICAgICAgICogdGhlIHR3byBzaWRlcyBvZiB0aGUgb3BlcmF0aW9uIGNhbiBiZSBzd2FwcGVkLCBzbyB0aGUgc2luZ2xlIGNlbGwgaXNcbiAgICAgICAgICogYWx3YXlzIG9uIHRoZSByaWdodC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMud2l0aENlbGxBbmRSYW5nZSA9ICh0YWJsZSwgY2VsbCwgbmFtZSwgY2FuSGF2ZVJpZ2h0UmFuZ2UsIGZuKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsZWZ0VmFsdWUgPSB0aGlzLmxlZnRTb3VyY2UuZ2V0VmFsdWUodGFibGUsIGNlbGwpO1xuICAgICAgICAgICAgaWYgKGxlZnRWYWx1ZS5pc0VycigpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobGVmdFZhbHVlLmVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0VmFsdWUgPSB0aGlzLnJpZ2h0U291cmNlLmdldFZhbHVlKHRhYmxlLCBjZWxsKTtcbiAgICAgICAgICAgIGlmIChyaWdodFZhbHVlLmlzRXJyKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihyaWdodFZhbHVlLmVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxlZnRBcml0eSA9IGxlZnRWYWx1ZS52YWx1ZS5nZXRBcml0eSgpO1xuICAgICAgICAgICAgY29uc3QgcmlnaHRBcml0eSA9IHJpZ2h0VmFsdWUudmFsdWUuZ2V0QXJpdHkoKTtcbiAgICAgICAgICAgIGlmICghcmlnaHRBcml0eS5pc0NlbGwoKSAmJiAhbGVmdEFyaXR5LmlzQ2VsbCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoRXJyb3IoYEF0IGxlYXN0IG9uZSBvcGVyYW5kIGluIGFsZ2VicmFpYyBcIiR7bmFtZX1cIiBtdXN0IGJlIGEgc2luZ2xlIGNlbGwuYCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyaWdodEFyaXR5LmlzQ2VsbCgpICYmICFjYW5IYXZlUmlnaHRSYW5nZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKEVycm9yKGBSaWdodCBvcGVyYW5kIGluIGFsZ2VicmFpYyBcIiR7bmFtZX1cIiBtdXN0IGJlIGEgc2luZ2xlIGNlbGwuYCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJpZ2h0QXJpdHkuaXNDZWxsKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByaWdodENlbGxWYWx1ZSA9IHJpZ2h0VmFsdWUudmFsdWUuZ2V0QXNGbG9hdCgwLCAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBsb2Rhc2hfMS5tYXAobGVmdFZhbHVlLnZhbHVlLnZhbCwgKGN1cnJlbnRSb3cpID0+IGxvZGFzaF8xLm1hcChjdXJyZW50Um93LCAoY3VycmVudENlbGwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxlZnRDZWxsVmFsdWUgPSBwYXJzZUZsb2F0KGN1cnJlbnRDZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzTmFOKGxlZnRDZWxsVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0Q2VsbFZhbHVlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm4obGVmdENlbGxWYWx1ZSwgcmlnaHRDZWxsVmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IHJlc3VsdHNfMS5WYWx1ZShyZXN1bHQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxlZnRDZWxsVmFsdWUgPSBsZWZ0VmFsdWUudmFsdWUuZ2V0QXNGbG9hdCgwLCAwKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGxvZGFzaF8xLm1hcChyaWdodFZhbHVlLnZhbHVlLnZhbCwgKGN1cnJlbnRSb3cpID0+IGxvZGFzaF8xLm1hcChjdXJyZW50Um93LCAoY3VycmVudENlbGwpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgcmlnaHRDZWxsVmFsdWUgPSBwYXJzZUZsb2F0KGN1cnJlbnRDZWxsKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNOYU4obGVmdENlbGxWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHRDZWxsVmFsdWUgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZm4obGVmdENlbGxWYWx1ZSwgcmlnaHRDZWxsVmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyByZXN1bHRzXzEuVmFsdWUocmVzdWx0KSk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYWRkID0gKHRhYmxlLCBjZWxsKSA9PiB0aGlzLndpdGhDZWxsQW5kUmFuZ2UodGFibGUsIGNlbGwsICdhZGQnLCB0cnVlLCAobGVmdCwgcmlnaHQpID0+IGxlZnQgKyByaWdodCk7XG4gICAgICAgIHRoaXMuc3VidHJhY3QgPSAodGFibGUsIGNlbGwpID0+IHRoaXMud2l0aENlbGxBbmRSYW5nZSh0YWJsZSwgY2VsbCwgJ3N1YnRyYWN0JywgdHJ1ZSwgKGxlZnQsIHJpZ2h0KSA9PiBsZWZ0IC0gcmlnaHQpO1xuICAgICAgICB0aGlzLm11bHRpcGx5ID0gKHRhYmxlLCBjZWxsKSA9PiB0aGlzLndpdGhDZWxsQW5kUmFuZ2UodGFibGUsIGNlbGwsICdtdWx0aXBseScsIHRydWUsIChsZWZ0LCByaWdodCkgPT4gbGVmdCAqIHJpZ2h0KTtcbiAgICAgICAgdGhpcy5kaXZpZGUgPSAodGFibGUsIGNlbGwpID0+IHRoaXMud2l0aENlbGxBbmRSYW5nZSh0YWJsZSwgY2VsbCwgJ2RpdmlkZScsIGZhbHNlLCAobGVmdCwgcmlnaHQpID0+IGxlZnQgLyByaWdodCk7XG4gICAgICAgIGNvbnN0IHR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAnYWxnZWJyYWljX29wZXJhdGlvbicpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAzKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGlsZFR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LmNoaWxkcmVuWzFdLCAnYWxnZWJyYWljX29wZXJhdG9yJyk7XG4gICAgICAgIGlmIChjaGlsZFR5cGVFcnIpIHtcbiAgICAgICAgICAgIHRocm93IGNoaWxkVHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZXJhdG9yID0gYXN0LmNoaWxkcmVuWzFdLnRleHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxlZnRTb3VyY2UgPSBuZXcgY2FsY18xLlNvdXJjZShhc3QuY2hpbGRyZW5bMF0sIHRhYmxlKTtcbiAgICAgICAgICAgIHRoaXMucmlnaHRTb3VyY2UgPSBuZXcgY2FsY18xLlNvdXJjZShhc3QuY2hpbGRyZW5bMl0sIHRhYmxlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIFN0aWxsIGluIGEgY29uc3RydWN0b3IsIHNvIG5vdGhpbmcgd2UgY2FuIGRvIGJ1dCB0aHJvdyBhZ2FpblxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5leHBvcnRzLkFsZ2VicmFpY09wZXJhdGlvbiA9IEFsZ2VicmFpY09wZXJhdGlvbjtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5Db25kaXRpb25hbEZ1bmN0aW9uQ2FsbCA9IHZvaWQgMDtcbmNvbnN0IG5ldmVydGhyb3dfMSA9IHJlcXVpcmUoXCIuLi9uZXZlcnRocm93L25ldmVydGhyb3dcIik7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNvbnN0IGNhbGNfMSA9IHJlcXVpcmUoXCIuL2NhbGNcIik7XG5jbGFzcyBDb25kaXRpb25hbEZ1bmN0aW9uQ2FsbCB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSkge1xuICAgICAgICB0aGlzLmdldFZhbHVlID0gKHRhYmxlLCBjZWxsKSA9PiB0aGlzLnByZWRpY2F0ZVxuICAgICAgICAgICAgLmV2YWwodGFibGUsIGNlbGwpXG4gICAgICAgICAgICAuYW5kVGhlbigocHJlZGljYXRlUmVzdWx0KSA9PiBwcmVkaWNhdGVSZXN1bHRcbiAgICAgICAgICAgID8gdGhpcy5sZWZ0U291cmNlLmdldFZhbHVlKHRhYmxlLCBjZWxsKVxuICAgICAgICAgICAgOiB0aGlzLnJpZ2h0U291cmNlLmdldFZhbHVlKHRhYmxlLCBjZWxsKSk7XG4gICAgICAgIGNvbnN0IHR5cGVFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdjb25kaXRpb25hbF9mdW5jdGlvbl9jYWxsJyk7XG4gICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAzKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5wcmVkaWNhdGUgPSBuZXcgUHJlZGljYXRlKGFzdC5jaGlsZHJlblswXSwgdGFibGUpO1xuICAgICAgICAgICAgdGhpcy5sZWZ0U291cmNlID0gbmV3IGNhbGNfMS5Tb3VyY2UoYXN0LmNoaWxkcmVuWzFdLCB0YWJsZSk7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0U291cmNlID0gbmV3IGNhbGNfMS5Tb3VyY2UoYXN0LmNoaWxkcmVuWzJdLCB0YWJsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBTdGlsbCBpbiBhIGNvbnN0cnVjdG9yLCBzbyBub3RoaW5nIHdlIGNhbiBkbyBidXQgdGhyb3cgYWdhaW5cbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0cy5Db25kaXRpb25hbEZ1bmN0aW9uQ2FsbCA9IENvbmRpdGlvbmFsRnVuY3Rpb25DYWxsO1xuY2xhc3MgUHJlZGljYXRlIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHRoaXMuZXZhbCA9ICh0YWJsZSwgY2VsbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGVmdERhdGEgPSB0aGlzLmxlZnRTb3VyY2UuZ2V0VmFsdWUodGFibGUsIGNlbGwpO1xuICAgICAgICAgICAgaWYgKGxlZnREYXRhLmlzRXJyKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihsZWZ0RGF0YS5lcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByaWdodERhdGEgPSB0aGlzLnJpZ2h0U291cmNlLmdldFZhbHVlKHRhYmxlLCBjZWxsKTtcbiAgICAgICAgICAgIGlmIChyaWdodERhdGEuaXNFcnIoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKHJpZ2h0RGF0YS5lcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsZWZ0QXJpdHkgPSBsZWZ0RGF0YS52YWx1ZS5nZXRBcml0eSgpO1xuICAgICAgICAgICAgY29uc3QgcmlnaHRBcml0eSA9IHJpZ2h0RGF0YS52YWx1ZS5nZXRBcml0eSgpO1xuICAgICAgICAgICAgaWYgKCFsZWZ0QXJpdHkuaXNDZWxsKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihFcnJvcignQ2FuIG9ubHkgdXNlIGNvbXBhcmlzb24gb3BlcmF0b3Igb24gYSBzaW5nbGUgY2VsbC4gTGVmdCBzaWRlIGlzIG5vdCBhIGNlbGwuJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyaWdodEFyaXR5LmlzQ2VsbCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoRXJyb3IoJ0NhbiBvbmx5IHVzZSBjb21wYXJpc29uIG9wZXJhdG9yIG9uIGEgc2luZ2xlIGNlbGwuIFJpZ2h0IHNpZGUgaXMgbm90IGEgY2VsbC4nKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsZWZ0VmFsID0gbGVmdERhdGEudmFsdWUuZ2V0QXNGbG9hdCgwLCAwKTtcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0VmFsID0gcmlnaHREYXRhLnZhbHVlLmdldEFzRmxvYXQoMCwgMCk7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMub3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsID4gcmlnaHRWYWwpO1xuICAgICAgICAgICAgICAgIGNhc2UgJz49JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsID49IHJpZ2h0VmFsKTtcbiAgICAgICAgICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsIDwgcmlnaHRWYWwpO1xuICAgICAgICAgICAgICAgIGNhc2UgJzw9JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsIDw9IHJpZ2h0VmFsKTtcbiAgICAgICAgICAgICAgICBjYXNlICc9PSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobGVmdFZhbCA9PT0gcmlnaHRWYWwpO1xuICAgICAgICAgICAgICAgIGNhc2UgJyE9JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsZWZ0VmFsICE9PSByaWdodFZhbCk7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoRXJyb3IoJ0ludmFsaWQgY29uZGl0aW9uYWwgb3BlcmF0b3I6ICcgKyB0aGlzLm9wZXJhdG9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHR5cGVFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdwcmVkaWNhdGUnKTtcbiAgICAgICAgaWYgKHR5cGVFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChhc3QsIDMpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNoaWxkVHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdC5jaGlsZHJlblsxXSwgJ2NvbmRpdGlvbmFsX29wZXJhdG9yJyk7XG4gICAgICAgIGlmIChjaGlsZFR5cGVFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgY2hpbGRUeXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVyYXRvciA9IGFzdC5jaGlsZHJlblsxXS50ZXh0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0U291cmNlID0gbmV3IGNhbGNfMS5Tb3VyY2UoYXN0LmNoaWxkcmVuWzBdLCB0YWJsZSk7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0U291cmNlID0gbmV3IGNhbGNfMS5Tb3VyY2UoYXN0LmNoaWxkcmVuWzJdLCB0YWJsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBTdGlsbCBpbiBhIGNvbnN0cnVjdG9yLCBzbyBub3RoaW5nIHdlIGNhbiBkbyBidXQgdGhyb3cgYWdhaW5cbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkNvbnN0YW50ID0gdm9pZCAwO1xuY29uc3QgbmV2ZXJ0aHJvd18xID0gcmVxdWlyZShcIi4uL25ldmVydGhyb3cvbmV2ZXJ0aHJvd1wiKTtcbmNvbnN0IGFzdF91dGlsc18xID0gcmVxdWlyZShcIi4vYXN0X3V0aWxzXCIpO1xuY29uc3QgcmVzdWx0c18xID0gcmVxdWlyZShcIi4vcmVzdWx0c1wiKTtcbmNsYXNzIENvbnN0YW50IHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIGNvbnN0IHR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAncmVhbCcsICdmbG9hdCcpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtdWx0aXBsaWVyID0gYXN0LnRleHRbMF0gPT09ICctJyA/IC0xIDogMTtcbiAgICAgICAgaWYgKGFzdC50eXBlID09PSAncmVhbCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtdWx0aXBsaWVyICogcGFyc2VJbnQoYXN0LmNoaWxkcmVuWzBdLnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9XG4gICAgICAgICAgICAgICAgbXVsdGlwbGllciAqXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQoYXN0LmNoaWxkcmVuWzBdLnRleHQgKyAnLicgKyBhc3QuY2hpbGRyZW5bMV0udGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0VmFsdWUodGFibGUsIGN1cnJlbnRDZWxsKSB7XG4gICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IHJlc3VsdHNfMS5WYWx1ZShbW3RoaXMudmFsdWUudG9TdHJpbmcoKV1dKSk7XG4gICAgfVxufVxuZXhwb3J0cy5Db25zdGFudCA9IENvbnN0YW50O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkFic29sdXRlQ29sdW1uID0gZXhwb3J0cy5Db2x1bW4gPSBleHBvcnRzLm5ld0NvbHVtbiA9IHZvaWQgMDtcbmNvbnN0IG5ldmVydGhyb3dfMSA9IHJlcXVpcmUoXCIuLi9uZXZlcnRocm93L25ldmVydGhyb3dcIik7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNvbnN0IHJlc3VsdHNfMSA9IHJlcXVpcmUoXCIuL3Jlc3VsdHNcIik7XG5jb25zdCBuZXdDb2x1bW4gPSAoYXN0LCB0YWJsZSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoYXN0LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3JlbGF0aXZlX2NvbHVtbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgUmVsYXRpdmVDb2x1bW4oYXN0LCB0YWJsZSkpO1xuICAgICAgICAgICAgY2FzZSAnYWJzb2x1dGVfY29sdW1uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyBBYnNvbHV0ZUNvbHVtbihhc3QsIHRhYmxlKSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKG5ldyBFcnJvcihgRm9ybXVsYSBlbGVtZW50ICcke2FzdC50ZXh0fScgaXMgYSAke2FzdC50eXBlfSBidXQgZXhwZWN0ZWQgYW4gYCArXG4gICAgICAgICAgICAgICAgICAgICdyZWxhdHZlX2NvbHVtbiBvciBhYnNvbHV0ZV9jb2x1bW4gaW4gdGhpcyBwb3NpdGlvbi4nKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKGVycm9yKTtcbiAgICB9XG59O1xuZXhwb3J0cy5uZXdDb2x1bW4gPSBuZXdDb2x1bW47XG5jbGFzcyBDb2x1bW4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmdldFZhbHVlID0gKHRhYmxlLCBjdXJyZW50Q2VsbCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgdmFsID0gKChfYSA9IHRhYmxlLmdldENlbGxBdChjdXJyZW50Q2VsbC5yb3csIHRoaXMuZ2V0SW5kZXgoY3VycmVudENlbGwpKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRvVGV4dCgpKSB8fFxuICAgICAgICAgICAgICAgICcnO1xuICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgcmVzdWx0c18xLlZhbHVlKFtbdmFsXV0pKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5leHBvcnRzLkNvbHVtbiA9IENvbHVtbjtcbmNsYXNzIFJlbGF0aXZlQ29sdW1uIGV4dGVuZHMgQ29sdW1uIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2V0SW5kZXggPSAoY3VycmVudENlbGwpID0+IGN1cnJlbnRDZWxsLmNvbHVtbiArIHRoaXMub2Zmc2V0O1xuICAgICAgICB0aGlzLmdldEFic29sdXRlSW5kZXggPSAoKSA9PiBuZXZlcnRocm93XzEuZXJyKGFzdF91dGlsc18xLmVyclJlbGF0aXZlUmVmZXJlbmNlSW5kZXgpO1xuICAgICAgICBjb25zdCB0eXBlRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAncmVsYXRpdmVfY29sdW1uJyk7XG4gICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtdWx0aXBsaWVyID0gYXN0LnRleHRbMV0gPT09ICctJyA/IC0xIDogMTtcbiAgICAgICAgdGhpcy5vZmZzZXQgPSBtdWx0aXBsaWVyICogcGFyc2VJbnQoYXN0LmNoaWxkcmVuWzBdLnRleHQpO1xuICAgIH1cbn1cbmNsYXNzIEFic29sdXRlQ29sdW1uIGV4dGVuZHMgQ29sdW1uIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2V0SW5kZXggPSAoY3VycmVudENlbGwpID0+IHRoaXMuaW5kZXg7XG4gICAgICAgIHRoaXMuZ2V0QWJzb2x1dGVJbmRleCA9ICgpID0+IG5ldmVydGhyb3dfMS5vayh0aGlzLmluZGV4KTtcbiAgICAgICAgbGV0IGluZGV4ID0gLTE7XG4gICAgICAgIGxldCBzeW1ib2wgPSAnJztcbiAgICAgICAgc3dpdGNoIChhc3QuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgc3ltYm9sID0gYXN0LnRleHRbMV07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdC5jaGlsZHJlblswXSwgJ2ludCcpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV2ZXJ0aHJvd18xLmVycih0eXBlRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbmRleCA9IHBhcnNlSW50KGFzdC5jaGlsZHJlblswXS50ZXh0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb3JtdWxhIGVsZW1lbnQgJyR7YXN0LnRleHR9JyBpcyBhICR7YXN0LnR5cGV9IGJ1dCBleHBlY3RlZCBgICtcbiAgICAgICAgICAgICAgICAgICAgJ2EgXFwnYWJzb2x1dGVfY29sdW1uXFwnIGluIHRoaXMgcG9zaXRpb24uJyk7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChzeW1ib2wpIHtcbiAgICAgICAgICAgIGNhc2UgJyc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICAgICAgICBpbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICBpbmRleCA9IHRhYmxlLmdldFdpZHRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2x1bW4gc3ltYm9sICcke3N5bWJvbH0nYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBhc3RfdXRpbHNfMS5lcnJJbmRleDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbmRleCA9IGluZGV4IC0gMTsgLy8gLTEgZm9yIGJlaW5nIHplcm8gaW5kZXhlZFxuICAgIH1cbn1cbmV4cG9ydHMuQWJzb2x1dGVDb2x1bW4gPSBBYnNvbHV0ZUNvbHVtbjtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5BYnNvbHV0ZVJvdyA9IGV4cG9ydHMuUm93ID0gZXhwb3J0cy5uZXdSb3cgPSB2b2lkIDA7XG5jb25zdCBuZXZlcnRocm93XzEgPSByZXF1aXJlKFwiLi4vbmV2ZXJ0aHJvdy9uZXZlcnRocm93XCIpO1xuY29uc3QgYXN0X3V0aWxzXzEgPSByZXF1aXJlKFwiLi9hc3RfdXRpbHNcIik7XG5jb25zdCByZXN1bHRzXzEgPSByZXF1aXJlKFwiLi9yZXN1bHRzXCIpO1xuY29uc3QgbmV3Um93ID0gKGFzdCwgdGFibGUpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBzd2l0Y2ggKGFzdC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdyZWxhdGl2ZV9yb3cnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IFJlbGF0aXZlUm93KGFzdCwgdGFibGUpKTtcbiAgICAgICAgICAgIGNhc2UgJ2Fic29sdXRlX3Jvdyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgQWJzb2x1dGVSb3coYXN0LCB0YWJsZSkpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihuZXcgRXJyb3IoYEZvcm11bGEgZWxlbWVudCAnJHthc3QudGV4dH0nIGlzIGEgJHthc3QudHlwZX0gYnV0IGV4cGVjdGVkIGFuIGAgK1xuICAgICAgICAgICAgICAgICAgICAncmVsYXR2ZV9yb3cgb3IgYWJzb2x1dGVfcm93ICBpbiB0aGlzIHBvc2l0aW9uLicpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoZXJyb3IpO1xuICAgIH1cbn07XG5leHBvcnRzLm5ld1JvdyA9IG5ld1JvdztcbmNsYXNzIFJvdyB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZ2V0VmFsdWUgPSAodGFibGUsIGN1cnJlbnRDZWxsKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBjb25zdCB2YWwgPSAoKF9hID0gdGFibGVcbiAgICAgICAgICAgICAgICAuZ2V0Q2VsbEF0KHRoaXMuZ2V0SW5kZXgoY3VycmVudENlbGwpLCBjdXJyZW50Q2VsbC5jb2x1bW4pKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudG9UZXh0KCkpIHx8ICcnO1xuICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgcmVzdWx0c18xLlZhbHVlKFtbdmFsXV0pKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5leHBvcnRzLlJvdyA9IFJvdztcbmNsYXNzIFJlbGF0aXZlUm93IGV4dGVuZHMgUm93IHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2V0SW5kZXggPSAoY3VycmVudENlbGwpID0+IGN1cnJlbnRDZWxsLnJvdyArIHRoaXMub2Zmc2V0O1xuICAgICAgICB0aGlzLmdldEFic29sdXRlSW5kZXggPSAoKSA9PiBuZXZlcnRocm93XzEuZXJyKGFzdF91dGlsc18xLmVyclJlbGF0aXZlUmVmZXJlbmNlSW5kZXgpO1xuICAgICAgICBjb25zdCB0eXBlRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAncmVsYXRpdmVfcm93Jyk7XG4gICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtdWx0aXBsaWVyID0gYXN0LnRleHRbMV0gPT09ICctJyA/IC0xIDogMTtcbiAgICAgICAgdGhpcy5vZmZzZXQgPSBtdWx0aXBsaWVyICogcGFyc2VJbnQoYXN0LmNoaWxkcmVuWzBdLnRleHQpO1xuICAgIH1cbn1cbmNsYXNzIEFic29sdXRlUm93IGV4dGVuZHMgUm93IHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2V0SW5kZXggPSAoY3VycmVudENlbGwpID0+IHRoaXMuaW5kZXg7XG4gICAgICAgIHRoaXMuZ2V0QWJzb2x1dGVJbmRleCA9ICgpID0+IG5ldmVydGhyb3dfMS5vayh0aGlzLmluZGV4KTtcbiAgICAgICAgbGV0IGluZGV4ID0gLTE7XG4gICAgICAgIGxldCBzeW1ib2wgPSAnJztcbiAgICAgICAgc3dpdGNoIChhc3QuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgc3ltYm9sID0gYXN0LnRleHRbMV07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdC5jaGlsZHJlblswXSwgJ2ludCcpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV2ZXJ0aHJvd18xLmVycih0eXBlRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbmRleCA9IHBhcnNlSW50KGFzdC5jaGlsZHJlblswXS50ZXh0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb3JtdWxhIGVsZW1lbnQgJyR7YXN0LnRleHR9JyBpcyBhICR7YXN0LnR5cGV9IGJ1dCBleHBlY3RlZCBgICtcbiAgICAgICAgICAgICAgICAgICAgJ2EgXFwnYWJzb2x1dGVfcm93XFwnIGluIHRoaXMgcG9zaXRpb24uJyk7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChzeW1ib2wpIHtcbiAgICAgICAgICAgIGNhc2UgJyc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICAgICAgICBpbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICBpbmRleCA9IHRhYmxlLmdldEhlaWdodCgpIC0gMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0knOlxuICAgICAgICAgICAgICAgIGluZGV4ID0gMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJvdyBzeW1ib2wgJyR7c3ltYm9sfSdgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IGFzdF91dGlsc18xLmVyckluZGV4MDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXggPSAwOyAvLyBhY2NvdW50IGZvciBiZWluZyB6ZXJvIGluZGV4ZWRcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXggPSBpbmRleDsgLy8gLTEgZm9yIGJlaW5nIHplcm8gaW5kZXhlZCwgYnV0IHBsdXMgMSB0byBza2lwIGhlYWRlclxuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0cy5BYnNvbHV0ZVJvdyA9IEFic29sdXRlUm93O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlJlZmVyZW5jZSA9IHZvaWQgMDtcbmNvbnN0IG5ldmVydGhyb3dfMSA9IHJlcXVpcmUoXCIuLi9uZXZlcnRocm93L25ldmVydGhyb3dcIik7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNvbnN0IGNvbHVtbl8xID0gcmVxdWlyZShcIi4vY29sdW1uXCIpO1xuY29uc3QgcmVzdWx0c18xID0gcmVxdWlyZShcIi4vcmVzdWx0c1wiKTtcbmNvbnN0IHJvd18xID0gcmVxdWlyZShcIi4vcm93XCIpO1xuY2xhc3MgUmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlKSB7XG4gICAgICAgIHRoaXMuZ2V0VmFsdWUgPSAodGFibGUsIGN1cnJlbnRDZWxsKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBjb25zdCBjZWxsID0ge1xuICAgICAgICAgICAgICAgIHJvdzogdGhpcy5yb3cgPyB0aGlzLnJvdy5nZXRJbmRleChjdXJyZW50Q2VsbCkgOiBjdXJyZW50Q2VsbC5yb3csXG4gICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmNvbHVtblxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuY29sdW1uLmdldEluZGV4KGN1cnJlbnRDZWxsKVxuICAgICAgICAgICAgICAgICAgICA6IGN1cnJlbnRDZWxsLmNvbHVtbixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCB2YWwgPSAoKF9hID0gdGFibGUuZ2V0Q2VsbEF0KGNlbGwucm93LCBjZWxsLmNvbHVtbikpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b1RleHQoKSkgfHwgJyc7XG4gICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyByZXN1bHRzXzEuVmFsdWUoW1t2YWxdXSkpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ3NvdXJjZV9yZWZlcmVuY2UnLCAnYWJzb2x1dGVfcmVmZXJlbmNlJywgJ3JlbGF0aXZlX3JlZmVyZW5jZScpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFzdC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgY2hpbGQgPSBhc3QuY2hpbGRyZW5baV07XG4gICAgICAgICAgICBzd2l0Y2ggKGNoaWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdyZWxhdGl2ZV9yb3cnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2Fic29sdXRlX3Jvdyc6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJvdyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignUmVmZXJlbmNlIG1heSBvbmx5IGhhdmUgYXQgbW9zdCAxIHJvdywgbW9yZSB0aGFuIDEgcHJvdmlkZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjcmVhdGVkUm93ID0gcm93XzEubmV3Um93KGNoaWxkLCB0YWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGVkUm93LmlzRXJyKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGVkUm93LmVycm9yID09PSBhc3RfdXRpbHNfMS5lcnJJbmRleDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBub3QgYWN0dWFsbHkgYW4gZXJyb3IsIGp1c3QgaW5kaWNhdGVzIHVzaW5nIGN1cnJlbnQgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZWRSb3cuZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3cgPSBjcmVhdGVkUm93LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdyZWxhdGl2ZV9jb2x1bW4nOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2Fic29sdXRlX2NvbHVtbic6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbHVtbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignUmVmZXJlbmNlIG1heSBvbmx5IGhhdmUgYXQgbW9zdCAxIGNvbHVtbiwgbW9yZSB0aGFuIDEgcHJvdmlkZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjcmVhdGVkQ29sID0gY29sdW1uXzEubmV3Q29sdW1uKGNoaWxkLCB0YWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGVkQ29sLmlzRXJyKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGVkQ29sLmVycm9yID09PSBhc3RfdXRpbHNfMS5lcnJJbmRleDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBub3QgYWN0dWFsbHkgYW4gZXJyb3IsIGp1c3QgaW5kaWNhdGVzIHVzaW5nIGN1cnJlbnQgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZWRDb2wuZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2x1bW4gPSBjcmVhdGVkQ29sLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMuUmVmZXJlbmNlID0gUmVmZXJlbmNlO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlJhbmdlID0gdm9pZCAwO1xuY29uc3QgbmV2ZXJ0aHJvd18xID0gcmVxdWlyZShcIi4uL25ldmVydGhyb3cvbmV2ZXJ0aHJvd1wiKTtcbmNvbnN0IGFzdF91dGlsc18xID0gcmVxdWlyZShcIi4vYXN0X3V0aWxzXCIpO1xuY29uc3QgcmVmZXJlbmNlXzEgPSByZXF1aXJlKFwiLi9yZWZlcmVuY2VcIik7XG5jb25zdCByZXN1bHRzXzEgPSByZXF1aXJlKFwiLi9yZXN1bHRzXCIpO1xuY29uc3QgbG9kYXNoXzEgPSByZXF1aXJlKFwibG9kYXNoXCIpO1xuY2xhc3MgUmFuZ2Uge1xuICAgIGNvbnN0cnVjdG9yKGFzdCwgdGFibGUpIHtcbiAgICAgICAgdGhpcy5nZXRWYWx1ZSA9ICh0YWJsZSwgY3VycmVudENlbGwpID0+IHtcbiAgICAgICAgICAgIC8vIGlmIG5vIHN0YXJ0IGNvbHVtbiBpcyBwcm92aWRlZCwgY29weSBpdCBmcm9tIHRoZSBjdXJyZW50Q2VsbFxuICAgICAgICAgICAgY29uc3Qgc3RhcnRDb2x1bW4gPSB0aGlzLnN0YXJ0Q29sdW1uXG4gICAgICAgICAgICAgICAgPyB0aGlzLnN0YXJ0Q29sdW1uLmdldEluZGV4KGN1cnJlbnRDZWxsKVxuICAgICAgICAgICAgICAgIDogY3VycmVudENlbGwuY29sdW1uO1xuICAgICAgICAgICAgLy8gaWYgdGhlIGNvbHVtbiBpcyBwcm92aWRlZCBpbiB0aGUgZmlyc3Qgc2V0LCBidXQgbm90IHRoZSBzZWNvbmQsIGNvcHkgaXRcbiAgICAgICAgICAgIGNvbnN0IGVuZENvbHVtbiA9IHRoaXMuZW5kQ29sdW1uXG4gICAgICAgICAgICAgICAgPyB0aGlzLmVuZENvbHVtbi5nZXRJbmRleChjdXJyZW50Q2VsbClcbiAgICAgICAgICAgICAgICA6IHN0YXJ0Q29sdW1uO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRSb3cgPSB0aGlzLnN0YXJ0Um93XG4gICAgICAgICAgICAgICAgPyB0aGlzLnN0YXJ0Um93LmdldEluZGV4KGN1cnJlbnRDZWxsKVxuICAgICAgICAgICAgICAgIDogY3VycmVudENlbGwucm93O1xuICAgICAgICAgICAgY29uc3QgZW5kUm93ID0gdGhpcy5lbmRSb3dcbiAgICAgICAgICAgICAgICA/IHRoaXMuZW5kUm93LmdldEluZGV4KGN1cnJlbnRDZWxsKVxuICAgICAgICAgICAgICAgIDogY3VycmVudENlbGwucm93O1xuICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgcmVzdWx0c18xLlZhbHVlKGxvZGFzaF8xLm1hcChsb2Rhc2hfMS5yYW5nZShzdGFydFJvdywgZW5kUm93ICsgMSksIChyb3cpID0+IGxvZGFzaF8xLm1hcChsb2Rhc2hfMS5yYW5nZShzdGFydENvbHVtbiwgZW5kQ29sdW1uICsgMSksIChjb2wpID0+IHsgdmFyIF9hOyByZXR1cm4gKChfYSA9IHRhYmxlLmdldENlbGxBdChyb3csIGNvbCkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b1RleHQoKSkgfHwgJyc7IH0pKSkpO1xuICAgICAgICB9O1xuICAgICAgICAvLyBUaGVyZSBuZWVkcyB0byBiZSBhIGRpc3RpbmN0aW9uIGJldHdlZW4gcmFuZ2VzIGZvciBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uXG4gICAgICAgIC8vIGEgZGVzdGluYXRpb24gcmFuZ2UgZG9lcyBub3QgYWxsb3cgcmVsYXRpdmUgcmVmZXJlbmNlcywgd2hpY2ggd291bGRcbiAgICAgICAgLy8gc29sdmUgdGhpcyBpc3N1ZSB3aXRoIGdldHRpbmcgdGhlIGluZGV4LlxuICAgICAgICB0aGlzLmFzQ2VsbHMgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuc3RhcnRDb2x1bW4gfHwgIXRoaXMuc3RhcnRSb3cgfHwgIXRoaXMuZW5kUm93KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobmV3IEVycm9yKCdBIHJhbmdlIHVzZWQgYXMgYSBkZXNpbnRhdGlvbiBtdXN0IGRlZmluZSByb3dzIGFuZCBjZWxscycpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZSBzZWNvbmQgcmVmZXJlbmNlIGluIHRoZSByYW5nZSBkb2VzIG5vdCBpbmNsdWRlIGEgY29sdW1uLFxuICAgICAgICAgICAgLy8gdXNlIHRoZSBzdGFydCBjb2x1bW4uXG4gICAgICAgICAgICBsZXQgZW5kQ29sdW1uID0gdGhpcy5lbmRDb2x1bW47XG4gICAgICAgICAgICBpZiAoIWVuZENvbHVtbikge1xuICAgICAgICAgICAgICAgIGVuZENvbHVtbiA9IHRoaXMuc3RhcnRDb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzdGFydFJvd0luZGV4ID0gdGhpcy5zdGFydFJvdy5nZXRBYnNvbHV0ZUluZGV4KCk7XG4gICAgICAgICAgICBjb25zdCBlbmRSb3dJbmRleCA9IHRoaXMuZW5kUm93LmdldEFic29sdXRlSW5kZXgoKTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0Q29sdW1uSW5kZXggPSB0aGlzLnN0YXJ0Q29sdW1uLmdldEFic29sdXRlSW5kZXgoKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZENvbHVtbkluZGV4ID0gZW5kQ29sdW1uLmdldEFic29sdXRlSW5kZXgoKTtcbiAgICAgICAgICAgIGlmIChzdGFydFJvd0luZGV4LmlzRXJyKCkgfHxcbiAgICAgICAgICAgICAgICBlbmRSb3dJbmRleC5pc0VycigpIHx8XG4gICAgICAgICAgICAgICAgc3RhcnRDb2x1bW5JbmRleC5pc0VycigpIHx8XG4gICAgICAgICAgICAgICAgZW5kQ29sdW1uSW5kZXguaXNFcnIoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKG5ldyBFcnJvcignQSByZWxhdGl2ZSByYW5nZSBjYW4gbm90IGJlIHVzZWQgaW4gYSBmb3JtdWxhIGRlc3RpbmF0aW9uJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbWluUm93ID0gTWF0aC5taW4oc3RhcnRSb3dJbmRleC52YWx1ZSwgZW5kUm93SW5kZXgudmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbWF4Um93ID0gTWF0aC5tYXgoc3RhcnRSb3dJbmRleC52YWx1ZSwgZW5kUm93SW5kZXgudmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbWluQ29sdW1uID0gTWF0aC5taW4oc3RhcnRDb2x1bW5JbmRleC52YWx1ZSwgZW5kQ29sdW1uSW5kZXgudmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbWF4Q29sdW1uID0gTWF0aC5tYXgoc3RhcnRDb2x1bW5JbmRleC52YWx1ZSwgZW5kQ29sdW1uSW5kZXgudmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhsb2Rhc2hfMS5mbGF0TWFwKGxvZGFzaF8xLnJhbmdlKG1pblJvdywgbWF4Um93ICsgMSksIChyb3dOdW0pID0+IGxvZGFzaF8xLnJhbmdlKG1pbkNvbHVtbiwgbWF4Q29sdW1uICsgMSkubWFwKChjb2xOdW0pID0+ICh7IHJvdzogcm93TnVtLCBjb2x1bW46IGNvbE51bSB9KSkpKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IHR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LCAncmFuZ2UnKTtcbiAgICAgICAgaWYgKHR5cGVFcnIpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnI7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChhc3QsIDIpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0Q2hpbGQgPSBhc3QuY2hpbGRyZW5bMF07XG4gICAgICAgIGNvbnN0IGVuZENoaWxkID0gYXN0LmNoaWxkcmVuWzFdO1xuICAgICAgICB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKHN0YXJ0Q2hpbGQsICdzb3VyY2VfcmVmZXJlbmNlJyk7XG4gICAgICAgIGlmICh0eXBlRXJyKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyO1xuICAgICAgICB9XG4gICAgICAgIHR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoZW5kQ2hpbGQsICdzb3VyY2VfcmVmZXJlbmNlJyk7XG4gICAgICAgIGlmICh0eXBlRXJyKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyO1xuICAgICAgICB9XG4gICAgICAgIGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChzdGFydENoaWxkLCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoZW5kQ2hpbGQsIDEpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IHJlZmVyZW5jZV8xLlJlZmVyZW5jZShzdGFydENoaWxkLmNoaWxkcmVuWzBdLCB0YWJsZSk7XG4gICAgICAgIGNvbnN0IGVuZCA9IG5ldyByZWZlcmVuY2VfMS5SZWZlcmVuY2UoZW5kQ2hpbGQuY2hpbGRyZW5bMF0sIHRhYmxlKTtcbiAgICAgICAgaWYgKChzdGFydC5yb3cgJiYgIWVuZC5yb3cpIHx8IChlbmQucm93ICYmICFzdGFydC5yb3cpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JhbmdlIG11c3QgdXNlIHJlZmVyZW5jZXMgb2YgdGhlIHNhbWUga2luZCcpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE11c3QgcHJvdmlkZSBhdCBsZWFzdCBhIHJvdyBvciBhIGNvbHVtbiwgYnV0IGlmIHRoZSBmaXJzdCB2YWx1ZSBoYXMgYVxuICAgICAgICAvLyBjb2x1bW4gYnV0IHRoZSBzZWNvbmQgZG9lcyBub3QsIHRoZW4gY29weSB0aGUgZmlyc3QgY29sIHRvIHNlY29uZC5cbiAgICAgICAgaWYgKCFzdGFydC5yb3cgJiYgIXN0YXJ0LmNvbHVtbikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coc3RhcnQpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSYW5nZSBtdXN0IGhhdmUgYSByb3cgb3IgYSBjb2x1bW4gZGVmaW5lZCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydC5yb3cpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRSb3cgPSBzdGFydC5yb3c7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXJ0LmNvbHVtbikge1xuICAgICAgICAgICAgdGhpcy5zdGFydENvbHVtbiA9IHN0YXJ0LmNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5kLnJvdykge1xuICAgICAgICAgICAgdGhpcy5lbmRSb3cgPSBlbmQucm93O1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmQuY29sdW1uKSB7XG4gICAgICAgICAgICB0aGlzLmVuZENvbHVtbiA9IGVuZC5jb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVuZENvbHVtbiA9IHN0YXJ0LmNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMuUmFuZ2UgPSBSYW5nZTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5SYW5nZURlc3RpbmF0aW9uID0gZXhwb3J0cy5DZWxsRGVzdGluYXRpb24gPSBleHBvcnRzLkNvbHVtbkRlc3RpbmF0aW9uID0gZXhwb3J0cy5Sb3dEZXN0aW5hdGlvbiA9IGV4cG9ydHMubmV3RGVzdGluYXRpb24gPSB2b2lkIDA7XG5jb25zdCBuZXZlcnRocm93XzEgPSByZXF1aXJlKFwiLi4vbmV2ZXJ0aHJvdy9uZXZlcnRocm93XCIpO1xuY29uc3QgYXN0X3V0aWxzXzEgPSByZXF1aXJlKFwiLi9hc3RfdXRpbHNcIik7XG5jb25zdCBjb2x1bW5fMSA9IHJlcXVpcmUoXCIuL2NvbHVtblwiKTtcbmNvbnN0IHJhbmdlXzEgPSByZXF1aXJlKFwiLi9yYW5nZVwiKTtcbmNvbnN0IHJvd18xID0gcmVxdWlyZShcIi4vcm93XCIpO1xuY29uc3QgbG9kYXNoXzEgPSByZXF1aXJlKFwibG9kYXNoXCIpO1xuY29uc3QgbmV3RGVzdGluYXRpb24gPSAoYXN0LCB0YWJsZSwgZm9ybWF0dGVyKSA9PiB7XG4gICAgY29uc3QgdHlwZUVyciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdkZXN0aW5hdGlvbicpO1xuICAgIGlmICh0eXBlRXJyKSB7XG4gICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKHR5cGVFcnIpO1xuICAgIH1cbiAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobGVuZ3RoRXJyb3IpO1xuICAgIH1cbiAgICBjb25zdCBjaGlsZCA9IGFzdC5jaGlsZHJlblswXTtcbiAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ3JhbmdlJykge1xuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyBSYW5nZURlc3RpbmF0aW9uKGNoaWxkLCB0YWJsZSwgZm9ybWF0dGVyKSk7XG4gICAgfVxuICAgIC8vIG11c3QgYmUgZWl0aGVyIGFuIGFic29sdXRlX3JlZmVyZW5jZVxuICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoY2hpbGQuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgQ2VsbERlc3RpbmF0aW9uKGNoaWxkLCB0YWJsZSwgZm9ybWF0dGVyKSk7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgY29uc3QgaW5uZXJDaGlsZCA9IGNoaWxkLmNoaWxkcmVuWzBdO1xuICAgICAgICAgICAgICAgIGlmIChpbm5lckNoaWxkLnR5cGUgPT09ICdhYnNvbHV0ZV9yb3cnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IFJvd0Rlc3RpbmF0aW9uKGNoaWxkLCB0YWJsZSwgZm9ybWF0dGVyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlubmVyQ2hpbGQudHlwZSA9PT0gJ2Fic29sdXRlX2NvbHVtbicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgQ29sdW1uRGVzdGluYXRpb24oY2hpbGQsIHRhYmxlLCBmb3JtYXR0ZXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKG5ldyBFcnJvcignVW5leHBlY3RlZCBkZXN0aW5hdGlvbiB0eXBlICcgKyBjaGlsZC50eXBlKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciA9PT0gYXN0X3V0aWxzXzEuZXJySW5kZXgwKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihuZXcgRXJyb3IoJ0luZGV4IDAgbWF5IG5vdCBiZSB1c2VkIGluIGEgZGVzdGluYXRpb24nKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoZXJyb3IpO1xuICAgIH1cbn07XG5leHBvcnRzLm5ld0Rlc3RpbmF0aW9uID0gbmV3RGVzdGluYXRpb247XG5jbGFzcyBSb3dEZXN0aW5hdGlvbiB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSwgZm9ybWF0dGVyKSB7XG4gICAgICAgIHRoaXMubWVyZ2UgPSAoc291cmNlLCB0YWJsZSkgPT4ge1xuICAgICAgICAgICAgLy8gZm9yIGNlbGwgaW4gcm93Li4uXG4gICAgICAgICAgICBjb25zdCBjZWxscyA9IGxvZGFzaF8xLnJhbmdlKDAsIHRhYmxlLmdldFdpZHRoKCkpLm1hcCgoY29sdW1uTnVtKSA9PiAoeyByb3c6IHRoaXMucm93LmluZGV4LCBjb2x1bW46IGNvbHVtbk51bSB9KSk7XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2VGb3JDZWxscyhzb3VyY2UsIHRhYmxlLCBjZWxscywgdGhpcy5mb3JtYXR0ZXIpO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICAgICAgY29uc3QgdHlwZUVyciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdhYnNvbHV0ZV9yZWZlcmVuY2UnKTtcbiAgICAgICAgaWYgKHR5cGVFcnIpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGVuZ3RoRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja0NoaWxkTGVuZ3RoKGFzdCwgMSk7XG4gICAgICAgIGlmIChsZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbGVuZ3RoRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hpbGQgPSBhc3QuY2hpbGRyZW5bMF07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnJvdyA9IG5ldyByb3dfMS5BYnNvbHV0ZVJvdyhjaGlsZCwgdGFibGUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgLy8gSW4gYSBjb25zdHJ1Y3Rvciwgc28gd2UgbXVzdCB0aHJvd1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5leHBvcnRzLlJvd0Rlc3RpbmF0aW9uID0gUm93RGVzdGluYXRpb247XG5jbGFzcyBDb2x1bW5EZXN0aW5hdGlvbiB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSwgZm9ybWF0dGVyKSB7XG4gICAgICAgIHRoaXMubWVyZ2UgPSAoc291cmNlLCB0YWJsZSkgPT4ge1xuICAgICAgICAgICAgLy8gZm9yIGNlbGwgaW4gY29sdW1uIChleGNsdWRpbmcgaGVhZGVyKS4uLlxuICAgICAgICAgICAgY29uc3QgY2VsbHMgPSBsb2Rhc2hfMS5yYW5nZSgyLCB0YWJsZS5nZXRIZWlnaHQoKSkubWFwKChyb3dOdW0pID0+ICh7IHJvdzogcm93TnVtLCBjb2x1bW46IHRoaXMuY29sdW1uLmluZGV4IH0pKTtcbiAgICAgICAgICAgIHJldHVybiBtZXJnZUZvckNlbGxzKHNvdXJjZSwgdGFibGUsIGNlbGxzLCB0aGlzLmZvcm1hdHRlcik7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyO1xuICAgICAgICBjb25zdCB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ2Fic29sdXRlX3JlZmVyZW5jZScpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGlsZCA9IGFzdC5jaGlsZHJlblswXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uID0gbmV3IGNvbHVtbl8xLkFic29sdXRlQ29sdW1uKGNoaWxkLCB0YWJsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBJbiBhIGNvbnN0cnVjdG9yLCBzbyB3ZSBtdXN0IHRocm93XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydHMuQ29sdW1uRGVzdGluYXRpb24gPSBDb2x1bW5EZXN0aW5hdGlvbjtcbmNsYXNzIENlbGxEZXN0aW5hdGlvbiB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSwgZm9ybWF0dGVyKSB7XG4gICAgICAgIHRoaXMubWVyZ2UgPSAoc291cmNlLCB0YWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2VsbCA9IHsgcm93OiB0aGlzLnJvdy5pbmRleCwgY29sdW1uOiB0aGlzLmNvbHVtbi5pbmRleCB9O1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlRm9yQ2VsbHMoc291cmNlLCB0YWJsZSwgW2NlbGxdLCB0aGlzLmZvcm1hdHRlcik7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyO1xuICAgICAgICBjb25zdCB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ2Fic29sdXRlX3JlZmVyZW5jZScpO1xuICAgICAgICBpZiAodHlwZUVycikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycjtcbiAgICAgICAgfVxuICAgICAgICAvLyBBIGNlbGwgbmVlZHMgdG8gaGF2ZSB0d28gY2hpbGRyZW4sIGEgcm93IGFuZCBhIGNvbHVtblxuICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAyKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3dDaGlsZCA9IGFzdC5jaGlsZHJlblswXTtcbiAgICAgICAgY29uc3QgY29sQ2hpbGQgPSBhc3QuY2hpbGRyZW5bMV07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnJvdyA9IG5ldyByb3dfMS5BYnNvbHV0ZVJvdyhyb3dDaGlsZCwgdGFibGUpO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW4gPSBuZXcgY29sdW1uXzEuQWJzb2x1dGVDb2x1bW4oY29sQ2hpbGQsIHRhYmxlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEluIGEgY29uc3RydWN0b3IsIHNvIHdlIG11c3QgdGhyb3dcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0cy5DZWxsRGVzdGluYXRpb24gPSBDZWxsRGVzdGluYXRpb247XG5jbGFzcyBSYW5nZURlc3RpbmF0aW9uIHtcbiAgICBjb25zdHJ1Y3Rvcihhc3QsIHRhYmxlLCBmb3JtYXR0ZXIpIHtcbiAgICAgICAgdGhpcy5tZXJnZSA9IChzb3VyY2UsIHRhYmxlKSA9PiB0aGlzLnJhbmdlXG4gICAgICAgICAgICAuYXNDZWxscygpXG4gICAgICAgICAgICAuYW5kVGhlbigoY2VsbHMpID0+IG1lcmdlRm9yQ2VsbHMoc291cmNlLCB0YWJsZSwgY2VsbHMsIHRoaXMuZm9ybWF0dGVyKSk7XG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyO1xuICAgICAgICBjb25zdCB0eXBlRXJyID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ3JhbmdlJyk7XG4gICAgICAgIGlmICh0eXBlRXJyKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChhc3QsIDIpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGFzdC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgbGV0IGNoaWxkVHlwZUVyciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShjaGlsZCwgJ3NvdXJjZV9yZWZlcmVuY2UnKTtcbiAgICAgICAgICAgIGlmIChjaGlsZFR5cGVFcnIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBjaGlsZFR5cGVFcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjaGlsZExlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChjaGlsZCwgMSk7XG4gICAgICAgICAgICBpZiAoY2hpbGRMZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IGNoaWxkTGVuZ3RoRXJyb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGlsZFR5cGVFcnIgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoY2hpbGQuY2hpbGRyZW5bMF0sICdhYnNvbHV0ZV9yZWZlcmVuY2UnKTtcbiAgICAgICAgICAgIGlmIChjaGlsZFR5cGVFcnIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBjaGlsZFR5cGVFcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJhbmdlID0gbmV3IHJhbmdlXzEuUmFuZ2UoYXN0LCB0YWJsZSk7XG4gICAgfVxufVxuZXhwb3J0cy5SYW5nZURlc3RpbmF0aW9uID0gUmFuZ2VEZXN0aW5hdGlvbjtcbmNvbnN0IG1lcmdlRm9yQ2VsbHMgPSAoc291cmNlLCB0YWJsZSwgY2VsbHMsIGZvcm1hdHRlcikgPT4gY2VsbHMucmVkdWNlKChjdXJyZW50VGFibGUsIGN1cnJlbnRDZWxsKSA9PiBjdXJyZW50VGFibGUuYW5kVGhlbigodCkgPT4gc291cmNlXG4gICAgLmdldFZhbHVlKHQsIGN1cnJlbnRDZWxsKVxuICAgIC5hbmRUaGVuKCh2YWwpID0+IG5ldmVydGhyb3dfMS5vayh2YWwudG9TdHJpbmcoKSkpXG4gICAgLmFuZFRoZW4oKHZhbCkgPT4gbmV2ZXJ0aHJvd18xLm9rKHZhbC50cmltKCkgPT09ICcnID8gJzAnIDogdmFsKSlcbiAgICAuYW5kVGhlbigodmFsKSA9PiBuZXZlcnRocm93XzEub2sodC5zZXRDZWxsQXQoY3VycmVudENlbGwucm93LCBjdXJyZW50Q2VsbC5jb2x1bW4sIGZvcm1hdHRlci5mb3JtYXQodmFsKSkpKSksIG5ldmVydGhyb3dfMS5vayh0YWJsZSkpO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkRpc3BsYXlEaXJlY3RpdmUgPSBleHBvcnRzLkRlZmF1bHRGb3JtYXR0ZXIgPSB2b2lkIDA7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNsYXNzIERlZmF1bHRGb3JtYXR0ZXIge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmZvcm1hdCA9IChudW0pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBudW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVtLnRvU3RyaW5nKCk7XG4gICAgICAgIH07XG4gICAgfVxufVxuZXhwb3J0cy5EZWZhdWx0Rm9ybWF0dGVyID0gRGVmYXVsdEZvcm1hdHRlcjtcbmNsYXNzIERpc3BsYXlEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKGFzdCkge1xuICAgICAgICB0aGlzLmZvcm1hdCA9IChudW0pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZE51bSA9IHBhcnNlRmxvYXQobnVtKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VkTnVtLnRvRml4ZWQodGhpcy5kZWNpbWFsTGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudW0udG9GaXhlZCh0aGlzLmRlY2ltYWxMZW5ndGgpO1xuICAgICAgICB9O1xuICAgICAgICBsZXQgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGFzdCwgJ2Rpc3BsYXlfZGlyZWN0aXZlJyk7XG4gICAgICAgIGlmICh0eXBlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHR5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGVuZ3RoRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja0NoaWxkTGVuZ3RoKGFzdCwgMSk7XG4gICAgICAgIGlmIChsZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbGVuZ3RoRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGlzcGxheURpcmVjdGl2ZU9wdGlvbiA9IGFzdC5jaGlsZHJlblswXTtcbiAgICAgICAgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGRpc3BsYXlEaXJlY3RpdmVPcHRpb24sICdkaXNwbGF5X2RpcmVjdGl2ZV9vcHRpb24nKTtcbiAgICAgICAgaWYgKHR5cGVFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdHlwZUVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGxlbmd0aEVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tDaGlsZExlbmd0aChkaXNwbGF5RGlyZWN0aXZlT3B0aW9uLCAxKTtcbiAgICAgICAgaWYgKGxlbmd0aEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBsZW5ndGhFcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXR0aW5nRGlyZWN0aXZlID0gZGlzcGxheURpcmVjdGl2ZU9wdGlvbi5jaGlsZHJlblswXTtcbiAgICAgICAgdHlwZUVycm9yID0gYXN0X3V0aWxzXzEuY2hlY2tUeXBlKGZvcm1hdHRpbmdEaXJlY3RpdmUsICdmb3JtYXR0aW5nX2RpcmVjdGl2ZScpO1xuICAgICAgICBpZiAodHlwZUVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgbGVuZ3RoRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja0NoaWxkTGVuZ3RoKGZvcm1hdHRpbmdEaXJlY3RpdmUsIDEpO1xuICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGxlbmd0aEVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1hdHRpbmdEaXJlY3RpdmVMZW5ndGggPSBmb3JtYXR0aW5nRGlyZWN0aXZlLmNoaWxkcmVuWzBdO1xuICAgICAgICB0eXBlRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoZm9ybWF0dGluZ0RpcmVjdGl2ZUxlbmd0aCwgJ2ludCcpO1xuICAgICAgICBpZiAodHlwZUVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWNpbWFsTGVuZ3RoID0gcGFyc2VJbnQoZm9ybWF0dGluZ0RpcmVjdGl2ZUxlbmd0aC50ZXh0KTtcbiAgICB9XG59XG5leHBvcnRzLkRpc3BsYXlEaXJlY3RpdmUgPSBEaXNwbGF5RGlyZWN0aXZlO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlNpbmdsZVBhcmFtRnVuY3Rpb25DYWxsID0gdm9pZCAwO1xuY29uc3QgbmV2ZXJ0aHJvd18xID0gcmVxdWlyZShcIi4uL25ldmVydGhyb3cvbmV2ZXJ0aHJvd1wiKTtcbmNvbnN0IGFzdF91dGlsc18xID0gcmVxdWlyZShcIi4vYXN0X3V0aWxzXCIpO1xuY29uc3QgY2FsY18xID0gcmVxdWlyZShcIi4vY2FsY1wiKTtcbmNvbnN0IHJlc3VsdHNfMSA9IHJlcXVpcmUoXCIuL3Jlc3VsdHNcIik7XG5jbGFzcyBTaW5nbGVQYXJhbUZ1bmN0aW9uQ2FsbCB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSkge1xuICAgICAgICB0aGlzLmdldFZhbHVlID0gKHRhYmxlLCBjZWxsKSA9PiB0aGlzLnBhcmFtLmdldFZhbHVlKHRhYmxlLCBjZWxsKS5hbmRUaGVuKChzb3VyY2VEYXRhKSA9PiBcbiAgICAgICAgLy8gVGhlIG9wZXJhdGlvbiBmdW5jdGlvbnMgZG8gbm90IHRocm93IGVycm9ycyBiZWNhdXNlIGRhdGEgYXJpdHkgaGFzXG4gICAgICAgIC8vIGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQuXG4gICAgICAgIG5ldmVydGhyb3dfMS5vayh0aGlzLm9wKHNvdXJjZURhdGEpKSk7XG4gICAgICAgIGNvbnN0IHR5cGVFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICdzaW5nbGVfcGFyYW1fZnVuY3Rpb25fY2FsbCcpO1xuICAgICAgICBpZiAodHlwZUVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0eXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGVuZ3RoRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja0NoaWxkTGVuZ3RoKGFzdCwgMik7XG4gICAgICAgIGlmIChsZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbGVuZ3RoRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hpbGRUeXBlRXJyb3IgPSBhc3RfdXRpbHNfMS5jaGVja1R5cGUoYXN0LmNoaWxkcmVuWzBdLCAnc2luZ2xlX3BhcmFtX2Z1bmN0aW9uJyk7XG4gICAgICAgIGlmIChjaGlsZFR5cGVFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgY2hpbGRUeXBlRXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZnVuY3Rpb25OYW1lID0gYXN0LmNoaWxkcmVuWzBdLnRleHQ7XG4gICAgICAgIHN3aXRjaCAoZnVuY3Rpb25OYW1lKSB7XG4gICAgICAgICAgICBjYXNlICdzdW0nOlxuICAgICAgICAgICAgICAgIHRoaXMub3AgPSBzdW07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtZWFuJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9wID0gbWVhbjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1Vua25vd24gc2luZ2xlIHBhcmFtIGZ1bmN0aW9uIGNhbGw6ICcgKyBmdW5jdGlvbk5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGFyYW0gPSBuZXcgY2FsY18xLlNvdXJjZShhc3QuY2hpbGRyZW5bMV0sIHRhYmxlKTtcbiAgICB9XG59XG5leHBvcnRzLlNpbmdsZVBhcmFtRnVuY3Rpb25DYWxsID0gU2luZ2xlUGFyYW1GdW5jdGlvbkNhbGw7XG4vKipcbiAqIFN1bSBhbGwgdGhlIGNlbGxzIGluIHRoZSBpbnB1dCB2YWx1ZSwgcHJvZHVjaW5nIGEgc2luZ2xlIGNlbGwgb3V0cHV0LlxuICovXG5jb25zdCBzdW0gPSAodmFsdWUpID0+IHtcbiAgICBjb25zdCB0b3RhbCA9IHZhbHVlLnZhbC5yZWR1Y2UoKHJ1bm5pbmdUb3RhbCwgY3VycmVudFJvdykgPT4gY3VycmVudFJvdy5yZWR1Y2UoKHJvd1RvdGFsLCBjdXJyZW50Q2VsbCkgPT4ge1xuICAgICAgICBsZXQgY3VycmVudENlbGxWYWx1ZSA9IHBhcnNlRmxvYXQoY3VycmVudENlbGwpO1xuICAgICAgICBpZiAoaXNOYU4oY3VycmVudENlbGxWYWx1ZSkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDZWxsVmFsdWUgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3dUb3RhbCArIGN1cnJlbnRDZWxsVmFsdWU7XG4gICAgfSwgcnVubmluZ1RvdGFsKSwgMCk7XG4gICAgcmV0dXJuIG5ldyByZXN1bHRzXzEuVmFsdWUoW1t0b3RhbC50b1N0cmluZygpXV0pO1xufTtcbi8qKlxuICogTWVhbiBvZiBhbGwgdGhlIGNlbGxzIGluIHRoZSBpbnB1dCB2YWx1ZSwgcHJvZHVjaW5nIGEgc2luZ2xlIGNlbGwgb3V0cHV0LlxuICovXG5jb25zdCBtZWFuID0gKHZhbHVlKSA9PiB7XG4gICAgY29uc3QgeyB0b3RhbCwgY291bnQgfSA9IHZhbHVlLnZhbC5yZWR1Y2UoKHsgdG90YWw6IHJ1bm5pbmdUb3RhbDEsIGNvdW50OiBjdXJyZW50Q291bnQxIH0sIGN1cnJlbnRSb3cpID0+IGN1cnJlbnRSb3cucmVkdWNlKCh7IHRvdGFsOiBydW5uaW5nVG90YWwyLCBjb3VudDogY3VycmVudENvdW50MiB9LCBjdXJyZW50Q2VsbCkgPT4gKHtcbiAgICAgICAgdG90YWw6IHJ1bm5pbmdUb3RhbDIgKyArY3VycmVudENlbGwsXG4gICAgICAgIGNvdW50OiBjdXJyZW50Q291bnQyICsgMSxcbiAgICB9KSwgeyB0b3RhbDogcnVubmluZ1RvdGFsMSwgY291bnQ6IGN1cnJlbnRDb3VudDEgfSksIHsgdG90YWw6IDAsIGNvdW50OiAwIH0pO1xuICAgIHJldHVybiBuZXcgcmVzdWx0c18xLlZhbHVlKFtbKHRvdGFsIC8gY291bnQpLnRvU3RyaW5nKCldXSk7XG59O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlRva2VuRXJyb3IgPSB2b2lkIDA7XG5jbGFzcyBUb2tlbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2UsIHRva2VuKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICAgIGlmICh0b2tlbiAmJiB0b2tlbi5lcnJvcnMpXG4gICAgICAgICAgICB0b2tlbi5lcnJvcnMucHVzaCh0aGlzKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhyb3cgdGhpcztcbiAgICB9XG4gICAgaW5zcGVjdCgpIHtcbiAgICAgICAgcmV0dXJuICdTeW50YXhFcnJvcjogJyArIHRoaXMubWVzc2FnZTtcbiAgICB9XG59XG5leHBvcnRzLlRva2VuRXJyb3IgPSBUb2tlbkVycm9yO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VG9rZW5FcnJvci5qcy5tYXAiLCJcInVzZSBzdHJpY3RcIjtcbi8vIGh0dHBzOi8vd3d3Lmljcy51Y2kuZWR1L35wYXR0aXMvSUNTLTMzL2xlY3R1cmVzL2VibmYucGRmXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlBhcnNlciA9IGV4cG9ydHMuZmluZFJ1bGVCeU5hbWUgPSBleHBvcnRzLnBhcnNlUnVsZU5hbWUgPSBleHBvcnRzLmVzY2FwZVJlZ0V4cCA9IGV4cG9ydHMucmVhZFRva2VuID0gdm9pZCAwO1xuY29uc3QgVVBQRVJfU05BS0VfUkUgPSAvXltBLVowLTlfXSskLztcbmNvbnN0IGRlY29yYXRpb25SRSA9IC8oXFw/fFxcK3xcXCopJC87XG5jb25zdCBwcmVEZWNvcmF0aW9uUkUgPSAvXihAfCZ8ISkvO1xuY29uc3QgV1NfUlVMRSA9ICdXUyc7XG5jb25zdCBUb2tlbkVycm9yXzEgPSByZXF1aXJlKFwiLi9Ub2tlbkVycm9yXCIpO1xuZnVuY3Rpb24gcmVhZFRva2VuKHR4dCwgZXhwcikge1xuICAgIGxldCByZXN1bHQgPSBleHByLmV4ZWModHh0KTtcbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5pbmRleCA9PSAwKSB7XG4gICAgICAgIGlmIChyZXN1bHRbMF0ubGVuZ3RoID09IDAgJiYgZXhwci5zb3VyY2UubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogbnVsbCxcbiAgICAgICAgICAgIHRleHQ6IHJlc3VsdFswXSxcbiAgICAgICAgICAgIHJlc3Q6IHR4dC5zdWJzdHIocmVzdWx0WzBdLmxlbmd0aCksXG4gICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgIGVuZDogcmVzdWx0WzBdLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICBmdWxsVGV4dDogcmVzdWx0WzBdLFxuICAgICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIHBhcmVudDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmV4cG9ydHMucmVhZFRva2VuID0gcmVhZFRva2VuO1xuZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1xcLVxcW1xcXVxcL1xce1xcfVxcKFxcKVxcKlxcK1xcP1xcLlxcXFxcXF5cXCRcXHxdL2csICdcXFxcJCYnKTtcbn1cbmV4cG9ydHMuZXNjYXBlUmVnRXhwID0gZXNjYXBlUmVnRXhwO1xuZnVuY3Rpb24gZml4UmVzdCh0b2tlbikge1xuICAgIHRva2VuLnJlc3QgPSAnJztcbiAgICB0b2tlbi5jaGlsZHJlbiAmJiB0b2tlbi5jaGlsZHJlbi5mb3JFYWNoKGMgPT4gZml4UmVzdChjKSk7XG59XG5mdW5jdGlvbiBmaXhQb3NpdGlvbnModG9rZW4sIHN0YXJ0KSB7XG4gICAgdG9rZW4uc3RhcnQgKz0gc3RhcnQ7XG4gICAgdG9rZW4uZW5kICs9IHN0YXJ0O1xuICAgIHRva2VuLmNoaWxkcmVuICYmIHRva2VuLmNoaWxkcmVuLmZvckVhY2goYyA9PiBmaXhQb3NpdGlvbnMoYywgdG9rZW4uc3RhcnQpKTtcbn1cbmZ1bmN0aW9uIGFncmVnYXRlRXJyb3JzKGVycm9ycywgdG9rZW4pIHtcbiAgICBpZiAodG9rZW4uZXJyb3JzICYmIHRva2VuLmVycm9ycy5sZW5ndGgpXG4gICAgICAgIHRva2VuLmVycm9ycy5mb3JFYWNoKGVyciA9PiBlcnJvcnMucHVzaChlcnIpKTtcbiAgICB0b2tlbi5jaGlsZHJlbiAmJiB0b2tlbi5jaGlsZHJlbi5mb3JFYWNoKHRvayA9PiBhZ3JlZ2F0ZUVycm9ycyhlcnJvcnMsIHRvaykpO1xufVxuZnVuY3Rpb24gcGFyc2VSdWxlTmFtZShuYW1lKSB7XG4gICAgbGV0IHBvc3REZWNvcmF0aW9uID0gZGVjb3JhdGlvblJFLmV4ZWMobmFtZSk7XG4gICAgbGV0IHByZURlY29yYXRpb24gPSBwcmVEZWNvcmF0aW9uUkUuZXhlYyhuYW1lKTtcbiAgICBsZXQgcG9zdERlY29yYXRpb25UZXh0ID0gKHBvc3REZWNvcmF0aW9uICYmIHBvc3REZWNvcmF0aW9uWzBdKSB8fCAnJztcbiAgICBsZXQgcHJlRGVjb3JhdGlvblRleHQgPSAocHJlRGVjb3JhdGlvbiAmJiBwcmVEZWNvcmF0aW9uWzBdKSB8fCAnJztcbiAgICBsZXQgb3V0ID0ge1xuICAgICAgICByYXc6IG5hbWUsXG4gICAgICAgIG5hbWU6IG5hbWUucmVwbGFjZShkZWNvcmF0aW9uUkUsICcnKS5yZXBsYWNlKHByZURlY29yYXRpb25SRSwgJycpLFxuICAgICAgICBpc09wdGlvbmFsOiBwb3N0RGVjb3JhdGlvblRleHQgPT0gJz8nIHx8IHBvc3REZWNvcmF0aW9uVGV4dCA9PSAnKicsXG4gICAgICAgIGFsbG93UmVwZXRpdGlvbjogcG9zdERlY29yYXRpb25UZXh0ID09ICcrJyB8fCBwb3N0RGVjb3JhdGlvblRleHQgPT0gJyonLFxuICAgICAgICBhdExlYXN0T25lOiBwb3N0RGVjb3JhdGlvblRleHQgPT0gJysnLFxuICAgICAgICBsb29rdXBQb3NpdGl2ZTogcHJlRGVjb3JhdGlvblRleHQgPT0gJyYnLFxuICAgICAgICBsb29rdXBOZWdhdGl2ZTogcHJlRGVjb3JhdGlvblRleHQgPT0gJyEnLFxuICAgICAgICBwaW5uZWQ6IHByZURlY29yYXRpb25UZXh0ID09ICdAJyxcbiAgICAgICAgbG9va3VwOiBmYWxzZSxcbiAgICAgICAgaXNMaXRlcmFsOiBmYWxzZVxuICAgIH07XG4gICAgb3V0LmlzTGl0ZXJhbCA9IG91dC5uYW1lWzBdID09IFwiJ1wiIHx8IG91dC5uYW1lWzBdID09ICdcIic7XG4gICAgb3V0Lmxvb2t1cCA9IG91dC5sb29rdXBOZWdhdGl2ZSB8fCBvdXQubG9va3VwUG9zaXRpdmU7XG4gICAgcmV0dXJuIG91dDtcbn1cbmV4cG9ydHMucGFyc2VSdWxlTmFtZSA9IHBhcnNlUnVsZU5hbWU7XG5mdW5jdGlvbiBmaW5kUnVsZUJ5TmFtZShuYW1lLCBwYXJzZXIpIHtcbiAgICBsZXQgcGFyc2VkID0gcGFyc2VSdWxlTmFtZShuYW1lKTtcbiAgICByZXR1cm4gcGFyc2VyLmNhY2hlZFJ1bGVzW3BhcnNlZC5uYW1lXSB8fCBudWxsO1xufVxuZXhwb3J0cy5maW5kUnVsZUJ5TmFtZSA9IGZpbmRSdWxlQnlOYW1lO1xuLy8vIFJlbW92ZXMgYWxsIHRoZSBub2RlcyBzdGFydGluZyB3aXRoICdSVUxFXydcbmZ1bmN0aW9uIHN0cmlwUnVsZXModG9rZW4sIHJlKSB7XG4gICAgaWYgKHRva2VuLmNoaWxkcmVuKSB7XG4gICAgICAgIGxldCBsb2NhbFJ1bGVzID0gdG9rZW4uY2hpbGRyZW4uZmlsdGVyKHggPT4geC50eXBlICYmIHJlLnRlc3QoeC50eXBlKSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbG9jYWxSdWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IGluZGV4T25DaGlsZHJlbiA9IHRva2VuLmNoaWxkcmVuLmluZGV4T2YobG9jYWxSdWxlc1tpXSk7XG4gICAgICAgICAgICBpZiAoaW5kZXhPbkNoaWxkcmVuICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgdG9rZW4uY2hpbGRyZW4uc3BsaWNlKGluZGV4T25DaGlsZHJlbiwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW4uY2hpbGRyZW4uZm9yRWFjaChjID0+IHN0cmlwUnVsZXMoYywgcmUpKTtcbiAgICB9XG59XG5jb25zdCBpZ25vcmVNaXNzaW5nUnVsZXMgPSBbJ0VPRiddO1xuY2xhc3MgUGFyc2VyIHtcbiAgICBjb25zdHJ1Y3RvcihncmFtbWFyUnVsZXMsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5ncmFtbWFyUnVsZXMgPSBncmFtbWFyUnVsZXM7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuY2FjaGVkUnVsZXMgPSB7fTtcbiAgICAgICAgdGhpcy5kZWJ1ZyA9IG9wdGlvbnMgPyBvcHRpb25zLmRlYnVnID09PSB0cnVlIDogZmFsc2U7XG4gICAgICAgIGxldCBlcnJvcnMgPSBbXTtcbiAgICAgICAgbGV0IG5lZWRlZFJ1bGVzID0gW107XG4gICAgICAgIGdyYW1tYXJSdWxlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICAgICAgbGV0IHBhcnNlZE5hbWUgPSBwYXJzZVJ1bGVOYW1lKHJ1bGUubmFtZSk7XG4gICAgICAgICAgICBpZiAocGFyc2VkTmFtZS5uYW1lIGluIHRoaXMuY2FjaGVkUnVsZXMpIHtcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaCgnRHVwbGljYXRlZCBydWxlICcgKyBwYXJzZWROYW1lLm5hbWUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVkUnVsZXNbcGFyc2VkTmFtZS5uYW1lXSA9IHJ1bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJ1bGUuYm5mIHx8ICFydWxlLmJuZi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsZXQgZXJyb3IgPSAnTWlzc2luZyBydWxlIGNvbnRlbnQsIHJ1bGU6ICcgKyBydWxlLm5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9ycy5pbmRleE9mKGVycm9yKSA9PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcnVsZS5ibmYuZm9yRWFjaChvcHRpb25zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcnNlZCA9IHBhcnNlUnVsZU5hbWUob3B0aW9uc1swXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VkLm5hbWUgPT0gcnVsZS5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGVycm9yID0gJ0xlZnQgcmVjdXJzaW9uIGlzIG5vdCBhbGxvd2VkLCBydWxlOiAnICsgcnVsZS5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcnMuaW5kZXhPZihlcnJvcikgPT0gLTEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5hbWUgPSBwYXJzZVJ1bGVOYW1lKG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFuYW1lLmlzTGl0ZXJhbCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkZWRSdWxlcy5pbmRleE9mKG5hbWUubmFtZSkgPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlTWlzc2luZ1J1bGVzLmluZGV4T2YobmFtZS5uYW1lKSA9PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGVkUnVsZXMucHVzaChuYW1lLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChXU19SVUxFID09IHJ1bGUubmFtZSlcbiAgICAgICAgICAgICAgICBydWxlLmltcGxpY2l0V3MgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChydWxlLmltcGxpY2l0V3MpIHtcbiAgICAgICAgICAgICAgICBpZiAobmVlZGVkUnVsZXMuaW5kZXhPZihXU19SVUxFKSA9PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgbmVlZGVkUnVsZXMucHVzaChXU19SVUxFKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChydWxlLnJlY292ZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAobmVlZGVkUnVsZXMuaW5kZXhPZihydWxlLnJlY292ZXIpID09IC0xKVxuICAgICAgICAgICAgICAgICAgICBuZWVkZWRSdWxlcy5wdXNoKHJ1bGUucmVjb3Zlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBuZWVkZWRSdWxlcy5mb3JFYWNoKHJ1bGVOYW1lID0+IHtcbiAgICAgICAgICAgIGlmICghKHJ1bGVOYW1lIGluIHRoaXMuY2FjaGVkUnVsZXMpKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goJ01pc3NpbmcgcnVsZSAnICsgcnVsZU5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGVycm9ycy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgZ2V0QVNUKHR4dCwgdGFyZ2V0KSB7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLmdyYW1tYXJSdWxlcy5maWx0ZXIoeCA9PiAheC5mcmFnbWVudCAmJiB4Lm5hbWUuaW5kZXhPZignJScpICE9IDApWzBdLm5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMucGFyc2UodHh0LCB0YXJnZXQpO1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBhZ3JlZ2F0ZUVycm9ycyhyZXN1bHQuZXJyb3JzLCByZXN1bHQpO1xuICAgICAgICAgICAgZml4UG9zaXRpb25zKHJlc3VsdCwgMCk7XG4gICAgICAgICAgICAvLyBSRU1PVkUgQUxMIFRIRSBUQUdTIE1BVENISU5HIC9eJS9cbiAgICAgICAgICAgIHN0cmlwUnVsZXMocmVzdWx0LCAvXiUvKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zIHx8ICF0aGlzLm9wdGlvbnMua2VlcFVwcGVyUnVsZXMpXG4gICAgICAgICAgICAgICAgc3RyaXBSdWxlcyhyZXN1bHQsIFVQUEVSX1NOQUtFX1JFKTtcbiAgICAgICAgICAgIGxldCByZXN0ID0gcmVzdWx0LnJlc3Q7XG4gICAgICAgICAgICBpZiAocmVzdCkge1xuICAgICAgICAgICAgICAgIG5ldyBUb2tlbkVycm9yXzEuVG9rZW5FcnJvcignVW5leHBlY3RlZCBlbmQgb2YgaW5wdXQ6IFxcbicgKyByZXN0LCByZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZml4UmVzdChyZXN1bHQpO1xuICAgICAgICAgICAgcmVzdWx0LnJlc3QgPSByZXN0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGVtaXRTb3VyY2UoKSB7XG4gICAgICAgIHJldHVybiAnQ0FOTk9UIEVNSVQgU09VUkNFIEZST00gQkFTRSBQYXJzZXInO1xuICAgIH1cbiAgICBwYXJzZSh0eHQsIHRhcmdldCwgcmVjdXJzaW9uID0gMCkge1xuICAgICAgICBsZXQgb3V0ID0gbnVsbDtcbiAgICAgICAgbGV0IHR5cGUgPSBwYXJzZVJ1bGVOYW1lKHRhcmdldCk7XG4gICAgICAgIGxldCBleHByO1xuICAgICAgICBsZXQgcHJpbnRhYmxlID0gdGhpcy5kZWJ1ZyAmJiAvKiFpc0xpdGVyYWwgJiovICFVUFBFUl9TTkFLRV9SRS50ZXN0KHR5cGUubmFtZSk7XG4gICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgY29uc29sZS5sb2cobmV3IEFycmF5KHJlY3Vyc2lvbikuam9pbign4pSCICAnKSArICdUcnlpbmcgdG8gZ2V0ICcgKyB0YXJnZXQgKyAnIGZyb20gJyArIEpTT04uc3RyaW5naWZ5KHR4dC5zcGxpdCgnXFxuJylbMF0pKTtcbiAgICAgICAgbGV0IHJlYWxUeXBlID0gdHlwZS5uYW1lO1xuICAgICAgICBsZXQgdGFyZ2V0TGV4ID0gZmluZFJ1bGVCeU5hbWUodHlwZS5uYW1lLCB0aGlzKTtcbiAgICAgICAgaWYgKHR5cGUubmFtZSA9PSAnRU9GJykge1xuICAgICAgICAgICAgaWYgKHR4dC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHR4dC5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdFT0YnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgcmVzdDogJycsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIGZ1bGxUZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoIXRhcmdldExleCAmJiB0eXBlLmlzTGl0ZXJhbCkge1xuICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZXZhbFxuICAgICAgICAgICAgICAgIGxldCBzcmMgPSBldmFsKHR5cGUubmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKHNyYyA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICclJUVNUFRZJSUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN0OiB0eHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxUZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZXhwciA9IG5ldyBSZWdFeHAoZXNjYXBlUmVnRXhwKHNyYykpO1xuICAgICAgICAgICAgICAgIHJlYWxUeXBlID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXhwcikge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHJlYWRUb2tlbih0eHQsIGV4cHIpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC50eXBlID0gcmVhbFR5cGU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBvcHRpb25zID0gdGFyZ2V0TGV4LmJuZjtcbiAgICAgICAgICAgIGlmIChvcHRpb25zIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLmZvckVhY2gocGhhc2VzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG91dClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBpbm5lZCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBmdWxsVGV4dDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Q6IHR4dFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBpZiAodGFyZ2V0TGV4LmZyYWdtZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wLmZyYWdtZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRtcFR4dCA9IHR4dDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBvc2l0aW9uID0gMDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGFsbE9wdGlvbmFsID0gcGhhc2VzLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgICAgICAgIGxldCBmb3VuZFNvbWV0aGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBoYXNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwaGFzZXNbaV0gPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbG9jYWxUYXJnZXQgPSBwYXJzZVJ1bGVOYW1lKHBoYXNlc1tpXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsT3B0aW9uYWwgPSBhbGxPcHRpb25hbCAmJiBsb2NhbFRhcmdldC5pc09wdGlvbmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBnb3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZvdW5kQXRMZWFzdE9uZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldExleC5pbXBsaWNpdFdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3QgPSB0aGlzLnBhcnNlKHRtcFR4dCwgbG9jYWxUYXJnZXQubmFtZSwgcmVjdXJzaW9uICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWdvdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBXUztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdTID0gdGhpcy5wYXJzZSh0bXBUeHQsIFdTX1JVTEUsIHJlY3Vyc2lvbiArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoV1MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC50ZXh0ID0gdG1wLnRleHQgKyBXUy50ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLmVuZCA9IHRtcC50ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdTLnBhcmVudCA9IHRtcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5jaGlsZHJlbi5wdXNoKFdTKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcFR4dCA9IHRtcFR4dC5zdWJzdHIoV1MudGV4dC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gKz0gV1MudGV4dC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKFdTICYmIFdTLnRleHQubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3QgPSBnb3QgfHwgdGhpcy5wYXJzZSh0bXBUeHQsIGxvY2FsVGFyZ2V0Lm5hbWUsIHJlY3Vyc2lvbiArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBydWxlIDo6PSBcInRydWVcIiAhW2EtekEtWl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbmVnYXRpdmUgbG9va3VwLCBpZiBpdCBkb2VzIG5vdCBtYXRjaCwgd2Ugc2hvdWxkIGNvbnRpbnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbFRhcmdldC5sb29rdXBOZWdhdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdvdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLyogY2FuY2VsIHRoaXMgcGF0aCAqLztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbFRhcmdldC5sb29rdXBQb3NpdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFnb3QpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZ290KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxUYXJnZXQuaXNPcHRpb25hbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbFRhcmdldC5hdExlYXN0T25lICYmIGZvdW5kQXRMZWFzdE9uZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ290ICYmIHRhcmdldExleC5waW5uZWQgPT0gaSArIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpbm5lZCA9IGdvdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJiBjb25zb2xlLmxvZyhuZXcgQXJyYXkocmVjdXJzaW9uICsgMSkuam9pbign4pSCICAnKSArICfilJTilIAgJyArIGdvdC50eXBlICsgJyBQSU5ORUQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWdvdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdCA9IHRoaXMucGFyc2VSZWNvdmVyeSh0YXJnZXRMZXgsIHRtcFR4dCwgcmVjdXJzaW9uICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZ290KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGlubmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0ID0gdG1wO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ1N5bnRheEVycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdG1wVHh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogdG1wVHh0Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFRleHQ6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0OiAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcFR4dC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yKGBVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dC4gRXhwZWN0aW5nICR7bG9jYWxUYXJnZXQubmFtZX0gR290OiAke3RtcFR4dH1gLCBnb3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yKGBVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dC4gTWlzc2luZyAke2xvY2FsVGFyZ2V0Lm5hbWV9YCwgZ290KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRhYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG5ldyBBcnJheShyZWN1cnNpb24gKyAxKS5qb2luKCfilIIgICcpICsgJ+KUlOKUgCAnICsgZ290LnR5cGUgKyAnICcgKyBKU09OLnN0cmluZ2lmeShnb3QudGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kQXRMZWFzdE9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kU29tZXRoaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdvdC50eXBlID09ICclJUVNUFRZJSUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3Quc3RhcnQgKz0gcG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdC5lbmQgKz0gcG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbG9jYWxUYXJnZXQubG9va3VwUG9zaXRpdmUgJiYgZ290LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnb3QuZnJhZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3QuY2hpbGRyZW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290LmNoaWxkcmVuLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LnN0YXJ0ICs9IHBvc2l0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeC5lbmQgKz0gcG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LnBhcmVudCA9IHRtcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5jaGlsZHJlbi5wdXNoKHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdC5wYXJlbnQgPSB0bXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLmNoaWxkcmVuLnB1c2goZ290KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxUYXJnZXQubG9va3VwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290Lmxvb2t1cCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cobmV3IEFycmF5KHJlY3Vyc2lvbiArIDEpLmpvaW4oJ+KUgiAgJykgKyAn4pSU4pSAICcgKyBnb3QudHlwZSArICcgJyArIEpTT04uc3RyaW5naWZ5KGdvdC50ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVhdCBpdCBmcm9tIHRoZSBpbnB1dCBzdHJlYW0sIG9ubHkgaWYgaXQgaXMgbm90IGEgbG9va3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbG9jYWxUYXJnZXQubG9va3VwICYmICFnb3QubG9va3VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAudGV4dCA9IHRtcC50ZXh0ICsgZ290LnRleHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAuZW5kID0gdG1wLnRleHQubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wVHh0ID0gdG1wVHh0LnN1YnN0cihnb3QudGV4dC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gKz0gZ290LnRleHQubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5yZXN0ID0gdG1wVHh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKGdvdCAmJiBsb2NhbFRhcmdldC5hbGxvd1JlcGV0aXRpb24gJiYgdG1wVHh0Lmxlbmd0aCAmJiAhZ290Lmxvb2t1cCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IC8qIElTIEEgUkVHRVhQICovXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZ290ID0gcmVhZFRva2VuKHRtcFR4dCwgcGhhc2VzW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWdvdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhuZXcgQXJyYXkocmVjdXJzaW9uICsgMSkuam9pbign4pSCICAnKSArICfilJQ+ICcgKyBKU09OLnN0cmluZ2lmeShnb3QudGV4dCkgKyBwaGFzZXNbaV0uc291cmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZFNvbWV0aGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290LnN0YXJ0ICs9IHBvc2l0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdC5lbmQgKz0gcG9zaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLnRleHQgPSB0bXAudGV4dCArIGdvdC50ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcC5lbmQgPSB0bXAudGV4dC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wVHh0ID0gdG1wVHh0LnN1YnN0cihnb3QudGV4dC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uICs9IGdvdC50ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAucmVzdCA9IHRtcFR4dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoZm91bmRTb21ldGhpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dCA9IHRtcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG5ldyBBcnJheShyZWN1cnNpb24pLmpvaW4oJ+KUgiAgJykgKyAn4pScPOKUgOKUtDwgUFVTSElORyAnICsgb3V0LnR5cGUgKyAnICcgKyBKU09OLnN0cmluZ2lmeShvdXQudGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3V0ICYmIHRhcmdldExleC5zaW1wbGlmeVdoZW5PbmVDaGlsZHJlbiAmJiBvdXQuY2hpbGRyZW4ubGVuZ3RoID09IDEpIHtcbiAgICAgICAgICAgICAgICBvdXQgPSBvdXQuY2hpbGRyZW5bMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvdXQpIHtcbiAgICAgICAgICAgIHByaW50YWJsZSAmJiBjb25zb2xlLmxvZyh0YXJnZXQgKyAnIE5PVCBSRVNPTFZFRCBGUk9NICcgKyB0eHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuICAgIHBhcnNlUmVjb3ZlcnkocmVjb3ZlcmFibGVUb2tlbiwgdG1wVHh0LCByZWN1cnNpb24pIHtcbiAgICAgICAgaWYgKHJlY292ZXJhYmxlVG9rZW4ucmVjb3ZlciAmJiB0bXBUeHQubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgcHJpbnRhYmxlID0gdGhpcy5kZWJ1ZztcbiAgICAgICAgICAgIHByaW50YWJsZSAmJlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG5ldyBBcnJheShyZWN1cnNpb24gKyAxKS5qb2luKCfilIIgICcpICtcbiAgICAgICAgICAgICAgICAgICAgJ1RyeWluZyB0byByZWNvdmVyIHVudGlsIHRva2VuICcgK1xuICAgICAgICAgICAgICAgICAgICByZWNvdmVyYWJsZVRva2VuLnJlY292ZXIgK1xuICAgICAgICAgICAgICAgICAgICAnIGZyb20gJyArXG4gICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRtcFR4dC5zcGxpdCgnXFxuJylbMF0gKyB0bXBUeHQuc3BsaXQoJ1xcbicpWzFdKSk7XG4gICAgICAgICAgICBsZXQgdG1wID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdTeW50YXhFcnJvcicsXG4gICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgICAgIGVuZDogMCxcbiAgICAgICAgICAgICAgICBlcnJvcnM6IFtdLFxuICAgICAgICAgICAgICAgIGZ1bGxUZXh0OiAnJyxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICAgICAgcmVzdDogJydcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsZXQgZ290O1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIGdvdCA9IHRoaXMucGFyc2UodG1wVHh0LCByZWNvdmVyYWJsZVRva2VuLnJlY292ZXIsIHJlY3Vyc2lvbiArIDEpO1xuICAgICAgICAgICAgICAgIGlmIChnb3QpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yKCdVbmV4cGVjdGVkIGlucHV0OiBcIicgKyB0bXAudGV4dCArIGBcIiBFeHBlY3Rpbmc6ICR7cmVjb3ZlcmFibGVUb2tlbi5uYW1lfWAsIHRtcCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdG1wLnRleHQgPSB0bXAudGV4dCArIHRtcFR4dFswXTtcbiAgICAgICAgICAgICAgICAgICAgdG1wLmVuZCA9IHRtcC50ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgdG1wVHh0ID0gdG1wVHh0LnN1YnN0cigxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IHdoaWxlICghZ290ICYmIHRtcFR4dC5sZW5ndGggPiAwKTtcbiAgICAgICAgICAgIGlmICh0bXAudGV4dC5sZW5ndGggPiAwICYmIGdvdCkge1xuICAgICAgICAgICAgICAgIHByaW50YWJsZSAmJiBjb25zb2xlLmxvZyhuZXcgQXJyYXkocmVjdXJzaW9uICsgMSkuam9pbign4pSCICAnKSArICdSZWNvdmVyZWQgdGV4dDogJyArIEpTT04uc3RyaW5naWZ5KHRtcC50ZXh0KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRtcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5leHBvcnRzLlBhcnNlciA9IFBhcnNlcjtcbmV4cG9ydHMuZGVmYXVsdCA9IFBhcnNlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVBhcnNlci5qcy5tYXAiLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZmluZENoaWxkcmVuQnlUeXBlID0gdm9pZCAwO1xuLyoqXG4gKiBGaW5kcyBhbGwgdGhlIGRpcmVjdCBjaGlsZHMgb2YgYSBzcGVjaWZ5ZWQgdHlwZVxuICovXG5mdW5jdGlvbiBmaW5kQ2hpbGRyZW5CeVR5cGUodG9rZW4sIHR5cGUpIHtcbiAgICByZXR1cm4gdG9rZW4uY2hpbGRyZW4gPyB0b2tlbi5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gdHlwZSkgOiBbXTtcbn1cbmV4cG9ydHMuZmluZENoaWxkcmVuQnlUeXBlID0gZmluZENoaWxkcmVuQnlUeXBlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U2VtYW50aWNIZWxwZXJzLmpzLm1hcCIsIlwidXNlIHN0cmljdFwiO1xuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmFja3VzJUUyJTgwJTkzTmF1cl9Gb3JtXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKlxuc3ludGF4IDo6PSBSVUxFX0VPTCogcnVsZStcbnJ1bGUgOjo9IFwiIFwiKiBcIjxcIiBydWxlLW5hbWUgXCI+XCIgXCIgXCIqIFwiOjo9XCIgZmlyc3RFeHByZXNzaW9uIG90aGVyRXhwcmVzc2lvbiogXCIgXCIqIFJVTEVfRU9MKyBcIiBcIipcbmZpcnN0RXhwcmVzc2lvbiA6Oj0gXCIgXCIqIGxpc3Rcbm90aGVyRXhwcmVzc2lvbiA6Oj0gXCIgXCIqIFwifFwiIFwiIFwiKiBsaXN0XG5SVUxFX0VPTCA6Oj0gXCJcXHJcIiB8IFwiXFxuXCJcbmxpc3QgOjo9IHRlcm0gXCIgXCIqIGxpc3QgfCB0ZXJtXG50ZXJtIDo6PSBsaXRlcmFsIHwgXCI8XCIgcnVsZS1uYW1lIFwiPlwiXG5saXRlcmFsIDo6PSAnXCInIFJVTEVfQ0hBUkFDVEVSMSogJ1wiJyB8IFwiJ1wiIFJVTEVfQ0hBUkFDVEVSMiogXCInXCJcblJVTEVfQ0hBUkFDVEVSIDo6PSBcIiBcIiB8IFJVTEVfTEVUVEVSIHwgUlVMRV9ESUdJVCB8IFJVTEVfU1lNQk9MXG5SVUxFX0xFVFRFUiA6Oj0gXCJBXCIgfCBcIkJcIiB8IFwiQ1wiIHwgXCJEXCIgfCBcIkVcIiB8IFwiRlwiIHwgXCJHXCIgfCBcIkhcIiB8IFwiSVwiIHwgXCJKXCIgfCBcIktcIiB8IFwiTFwiIHwgXCJNXCIgfCBcIk5cIiB8IFwiT1wiIHwgXCJQXCIgfCBcIlFcIiB8IFwiUlwiIHwgXCJTXCIgfCBcIlRcIiB8IFwiVVwiIHwgXCJWXCIgfCBcIldcIiB8IFwiWFwiIHwgXCJZXCIgfCBcIlpcIiB8IFwiYVwiIHwgXCJiXCIgfCBcImNcIiB8IFwiZFwiIHwgXCJlXCIgfCBcImZcIiB8IFwiZ1wiIHwgXCJoXCIgfCBcImlcIiB8IFwialwiIHwgXCJrXCIgfCBcImxcIiB8IFwibVwiIHwgXCJuXCIgfCBcIm9cIiB8IFwicFwiIHwgXCJxXCIgfCBcInJcIiB8IFwic1wiIHwgXCJ0XCIgfCBcInVcIiB8IFwidlwiIHwgXCJ3XCIgfCBcInhcIiB8IFwieVwiIHwgXCJ6XCJcblJVTEVfRElHSVQgOjo9IFwiMFwiIHwgXCIxXCIgfCBcIjJcIiB8IFwiM1wiIHwgXCI0XCIgfCBcIjVcIiB8IFwiNlwiIHwgXCI3XCIgfCBcIjhcIiB8IFwiOVwiXG5SVUxFX1NZTUJPTCA6Oj0gXCItXCIgfCBcIl9cIiB8IFwiIVwiIHwgXCIjXCIgfCBcIiRcIiB8IFwiJVwiIHwgXCImXCIgfCBcIihcIiB8IFwiKVwiIHwgXCIqXCIgfCBcIitcIiB8IFwiLFwiIHwgXCItXCIgfCBcIi5cIiB8IFwiL1wiIHwgXCI6XCIgfCBcIjtcIiB8IFwiPFwiIHwgXCI9XCIgfCBcIj5cIiB8IFwiP1wiIHwgXCJAXCIgfCBcIltcIiB8IFwiXFxcIiB8IFwiXVwiIHwgXCJeXCIgfCBcIl9cIiB8IFwiYFwiIHwgXCJ7XCIgfCBcInxcIiB8IFwifVwiIHwgXCJ+XCJcblJVTEVfQ0hBUkFDVEVSMSA6Oj0gUlVMRV9DSEFSQUNURVIgfCBcIidcIlxuUlVMRV9DSEFSQUNURVIyIDo6PSBSVUxFX0NIQVJBQ1RFUiB8ICdcIidcbnJ1bGUtbmFtZSA6Oj0gUlVMRV9MRVRURVIgUlVMRV9DSEFSKlxuUlVMRV9DSEFSIDo6PSBSVUxFX0xFVFRFUiB8IFJVTEVfRElHSVQgfCBcIl9cIiB8IFwiLVwiXG4qL1xuY29uc3QgU2VtYW50aWNIZWxwZXJzXzEgPSByZXF1aXJlKFwiLi4vU2VtYW50aWNIZWxwZXJzXCIpO1xuY29uc3QgUGFyc2VyXzEgPSByZXF1aXJlKFwiLi4vUGFyc2VyXCIpO1xudmFyIEJORjtcbihmdW5jdGlvbiAoQk5GKSB7XG4gICAgQk5GLlJVTEVTID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnc3ludGF4JyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9FT0wqJywgJ3J1bGUrJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdydWxlJyxcbiAgICAgICAgICAgIGJuZjogW1xuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgJ1wiIFwiKicsXG4gICAgICAgICAgICAgICAgICAgICdcIjxcIicsXG4gICAgICAgICAgICAgICAgICAgICdydWxlLW5hbWUnLFxuICAgICAgICAgICAgICAgICAgICAnXCI+XCInLFxuICAgICAgICAgICAgICAgICAgICAnXCIgXCIqJyxcbiAgICAgICAgICAgICAgICAgICAgJ1wiOjo9XCInLFxuICAgICAgICAgICAgICAgICAgICAnZmlyc3RFeHByZXNzaW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ290aGVyRXhwcmVzc2lvbionLFxuICAgICAgICAgICAgICAgICAgICAnXCIgXCIqJyxcbiAgICAgICAgICAgICAgICAgICAgJ1JVTEVfRU9MKycsXG4gICAgICAgICAgICAgICAgICAgICdcIiBcIionXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnZmlyc3RFeHByZXNzaW9uJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIgXCIqJywgJ2xpc3QnXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ290aGVyRXhwcmVzc2lvbicsXG4gICAgICAgICAgICBibmY6IFtbJ1wiIFwiKicsICdcInxcIicsICdcIiBcIionLCAnbGlzdCddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9FT0wnLFxuICAgICAgICAgICAgYm5mOiBbWydcIlxcXFxyXCInXSwgWydcIlxcXFxuXCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2xpc3QnLFxuICAgICAgICAgICAgYm5mOiBbWyd0ZXJtJywgJ1wiIFwiKicsICdsaXN0J10sIFsndGVybSddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAndGVybScsXG4gICAgICAgICAgICBibmY6IFtbJ2xpdGVyYWwnXSwgWydcIjxcIicsICdydWxlLW5hbWUnLCAnXCI+XCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2xpdGVyYWwnLFxuICAgICAgICAgICAgYm5mOiBbW2AnXCInYCwgJ1JVTEVfQ0hBUkFDVEVSMSonLCBgJ1wiJ2BdLCBbYFwiJ1wiYCwgJ1JVTEVfQ0hBUkFDVEVSMionLCBgXCInXCJgXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1JVTEVfQ0hBUkFDVEVSJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIgXCInXSwgWydSVUxFX0xFVFRFUiddLCBbJ1JVTEVfRElHSVQnXSwgWydSVUxFX1NZTUJPTCddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9MRVRURVInLFxuICAgICAgICAgICAgYm5mOiBbXG4gICAgICAgICAgICAgICAgWydcIkFcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJCXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiQ1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIkRcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJFXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiRlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIkdcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJIXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiSVwiJ10sXG4gICAgICAgICAgICAgICAgWydcIkpcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJLXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiTFwiJ10sXG4gICAgICAgICAgICAgICAgWydcIk1cIiddLFxuICAgICAgICAgICAgICAgIFsnXCJOXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiT1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIlBcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJRXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiUlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIlNcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJUXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiVVwiJ10sXG4gICAgICAgICAgICAgICAgWydcIlZcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJXXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiWFwiJ10sXG4gICAgICAgICAgICAgICAgWydcIllcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJaXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiYVwiJ10sXG4gICAgICAgICAgICAgICAgWydcImJcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJjXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiZFwiJ10sXG4gICAgICAgICAgICAgICAgWydcImVcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJmXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiZ1wiJ10sXG4gICAgICAgICAgICAgICAgWydcImhcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJpXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wialwiJ10sXG4gICAgICAgICAgICAgICAgWydcImtcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJsXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wibVwiJ10sXG4gICAgICAgICAgICAgICAgWydcIm5cIiddLFxuICAgICAgICAgICAgICAgIFsnXCJvXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wicFwiJ10sXG4gICAgICAgICAgICAgICAgWydcInFcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJyXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wic1wiJ10sXG4gICAgICAgICAgICAgICAgWydcInRcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJ1XCInXSxcbiAgICAgICAgICAgICAgICBbJ1widlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIndcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJ4XCInXSxcbiAgICAgICAgICAgICAgICBbJ1wieVwiJ10sXG4gICAgICAgICAgICAgICAgWydcInpcIiddXG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdSVUxFX0RJR0lUJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIwXCInXSwgWydcIjFcIiddLCBbJ1wiMlwiJ10sIFsnXCIzXCInXSwgWydcIjRcIiddLCBbJ1wiNVwiJ10sIFsnXCI2XCInXSwgWydcIjdcIiddLCBbJ1wiOFwiJ10sIFsnXCI5XCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1JVTEVfU1lNQk9MJyxcbiAgICAgICAgICAgIGJuZjogW1xuICAgICAgICAgICAgICAgIFsnXCItXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiX1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIiFcIiddLFxuICAgICAgICAgICAgICAgIFsnXCIjXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiJFwiJ10sXG4gICAgICAgICAgICAgICAgWydcIiVcIiddLFxuICAgICAgICAgICAgICAgIFsnXCImXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiKFwiJ10sXG4gICAgICAgICAgICAgICAgWydcIilcIiddLFxuICAgICAgICAgICAgICAgIFsnXCIqXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiK1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIixcIiddLFxuICAgICAgICAgICAgICAgIFsnXCItXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiLlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIi9cIiddLFxuICAgICAgICAgICAgICAgIFsnXCI6XCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiO1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIjxcIiddLFxuICAgICAgICAgICAgICAgIFsnXCI9XCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiPlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIj9cIiddLFxuICAgICAgICAgICAgICAgIFsnXCJAXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiW1wiJ10sXG4gICAgICAgICAgICAgICAgWydcIlxcXFxcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJdXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiXlwiJ10sXG4gICAgICAgICAgICAgICAgWydcIl9cIiddLFxuICAgICAgICAgICAgICAgIFsnXCJgXCInXSxcbiAgICAgICAgICAgICAgICBbJ1wie1wiJ10sXG4gICAgICAgICAgICAgICAgWydcInxcIiddLFxuICAgICAgICAgICAgICAgIFsnXCJ9XCInXSxcbiAgICAgICAgICAgICAgICBbJ1wiflwiJ11cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1JVTEVfQ0hBUkFDVEVSMScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfQ0hBUkFDVEVSJ10sIFtgXCInXCJgXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1JVTEVfQ0hBUkFDVEVSMicsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfQ0hBUkFDVEVSJ10sIFtgJ1wiJ2BdXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncnVsZS1uYW1lJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9MRVRURVInLCAnUlVMRV9DSEFSKiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9DSEFSJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9MRVRURVInXSwgWydSVUxFX0RJR0lUJ10sIFsnXCJfXCInXSwgWydcIi1cIiddXVxuICAgICAgICB9XG4gICAgXTtcbiAgICBCTkYuZGVmYXVsdFBhcnNlciA9IG5ldyBQYXJzZXJfMS5QYXJzZXIoQk5GLlJVTEVTLCB7IGRlYnVnOiBmYWxzZSB9KTtcbiAgICBmdW5jdGlvbiBnZXRBbGxUZXJtcyhleHByKSB7XG4gICAgICAgIGxldCB0ZXJtcyA9IFNlbWFudGljSGVscGVyc18xLmZpbmRDaGlsZHJlbkJ5VHlwZShleHByLCAndGVybScpLm1hcCh0ZXJtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBTZW1hbnRpY0hlbHBlcnNfMS5maW5kQ2hpbGRyZW5CeVR5cGUodGVybSwgJ2xpdGVyYWwnKS5jb25jYXQoU2VtYW50aWNIZWxwZXJzXzEuZmluZENoaWxkcmVuQnlUeXBlKHRlcm0sICdydWxlLW5hbWUnKSlbMF0udGV4dDtcbiAgICAgICAgfSk7XG4gICAgICAgIFNlbWFudGljSGVscGVyc18xLmZpbmRDaGlsZHJlbkJ5VHlwZShleHByLCAnbGlzdCcpLmZvckVhY2goZXhwciA9PiB7XG4gICAgICAgICAgICB0ZXJtcyA9IHRlcm1zLmNvbmNhdChnZXRBbGxUZXJtcyhleHByKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGVybXM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFJ1bGVzKHNvdXJjZSwgcGFyc2VyID0gQk5GLmRlZmF1bHRQYXJzZXIpIHtcbiAgICAgICAgbGV0IGFzdCA9IHBhcnNlci5nZXRBU1Qoc291cmNlKTtcbiAgICAgICAgaWYgKCFhc3QpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBwYXJzZSAnICsgc291cmNlKTtcbiAgICAgICAgaWYgKGFzdC5lcnJvcnMgJiYgYXN0LmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IGFzdC5lcnJvcnNbMF07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJ1bGVzID0gU2VtYW50aWNIZWxwZXJzXzEuZmluZENoaWxkcmVuQnlUeXBlKGFzdCwgJ3J1bGUnKTtcbiAgICAgICAgbGV0IHJldCA9IHJ1bGVzLm1hcCgocnVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBTZW1hbnRpY0hlbHBlcnNfMS5maW5kQ2hpbGRyZW5CeVR5cGUocnVsZSwgJ3J1bGUtbmFtZScpWzBdLnRleHQ7XG4gICAgICAgICAgICBsZXQgZXhwcmVzc2lvbnMgPSBTZW1hbnRpY0hlbHBlcnNfMS5maW5kQ2hpbGRyZW5CeVR5cGUocnVsZSwgJ2ZpcnN0RXhwcmVzc2lvbicpLmNvbmNhdChTZW1hbnRpY0hlbHBlcnNfMS5maW5kQ2hpbGRyZW5CeVR5cGUocnVsZSwgJ290aGVyRXhwcmVzc2lvbicpKTtcbiAgICAgICAgICAgIGxldCBibmYgPSBbXTtcbiAgICAgICAgICAgIGV4cHJlc3Npb25zLmZvckVhY2goZXhwciA9PiB7XG4gICAgICAgICAgICAgICAgYm5mLnB1c2goZ2V0QWxsVGVybXMoZXhwcikpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgYm5mXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFyZXQuc29tZSh4ID0+IHgubmFtZSA9PSAnRU9MJykpIHtcbiAgICAgICAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRU9MJyxcbiAgICAgICAgICAgICAgICBibmY6IFtbJ1wiXFxcXHJcXFxcblwiJywgJ1wiXFxcXHJcIicsICdcIlxcXFxuXCInXV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuICAgIEJORi5nZXRSdWxlcyA9IGdldFJ1bGVzO1xuICAgIGZ1bmN0aW9uIFRyYW5zZm9ybShzb3VyY2UsIHN1YlBhcnNlciA9IEJORi5kZWZhdWx0UGFyc2VyKSB7XG4gICAgICAgIHJldHVybiBnZXRSdWxlcyhzb3VyY2Uuam9pbignJyksIHN1YlBhcnNlcik7XG4gICAgfVxuICAgIEJORi5UcmFuc2Zvcm0gPSBUcmFuc2Zvcm07XG4gICAgY2xhc3MgUGFyc2VyIGV4dGVuZHMgUGFyc2VyXzEuUGFyc2VyIHtcbiAgICAgICAgY29uc3RydWN0b3Ioc291cmNlLCBvcHRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJQYXJzZXIgPSBvcHRpb25zICYmIG9wdGlvbnMuZGVidWdSdWxlc1BhcnNlciA9PT0gdHJ1ZSA/IG5ldyBQYXJzZXJfMS5QYXJzZXIoQk5GLlJVTEVTLCB7IGRlYnVnOiB0cnVlIH0pIDogQk5GLmRlZmF1bHRQYXJzZXI7XG4gICAgICAgICAgICBzdXBlcihnZXRSdWxlcyhzb3VyY2UsIHN1YlBhcnNlciksIG9wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIH1cbiAgICAgICAgZW1pdFNvdXJjZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNvdXJjZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBCTkYuUGFyc2VyID0gUGFyc2VyO1xufSkoQk5GIHx8IChCTkYgPSB7fSkpO1xuZXhwb3J0cy5kZWZhdWx0ID0gQk5GO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Qk5GLmpzLm1hcCIsIlwidXNlIHN0cmljdFwiO1xuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL1JFQy14bWwvI05ULU5hbWVcbi8vIGh0dHA6Ly93d3cuYm90dGxlY2Fwcy5kZS9yci91aVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLy8gR3JhbW1hclx0Ojo9XHRQcm9kdWN0aW9uKlxuLy8gUHJvZHVjdGlvblx0Ojo9XHROQ05hbWUgJzo6PScgQ2hvaWNlXG4vLyBOQ05hbWVcdDo6PVx0W2h0dHA6Ly93d3cudzMub3JnL1RSL3htbC1uYW1lcy8jTlQtTkNOYW1lXVxuLy8gQ2hvaWNlXHQ6Oj1cdFNlcXVlbmNlT3JEaWZmZXJlbmNlICggJ3wnIFNlcXVlbmNlT3JEaWZmZXJlbmNlICkqXG4vLyBTZXF1ZW5jZU9yRGlmZmVyZW5jZVx0Ojo9XHQoSXRlbSAoICctJyBJdGVtIHwgSXRlbSogKSk/XG4vLyBJdGVtXHQ6Oj1cdFByaW1hcnkgKCAnPycgfCAnKicgfCAnKycgKT9cbi8vIFByaW1hcnlcdDo6PVx0TkNOYW1lIHwgU3RyaW5nTGl0ZXJhbCB8IENoYXJDb2RlIHwgQ2hhckNsYXNzIHwgJygnIENob2ljZSAnKSdcbi8vIFN0cmluZ0xpdGVyYWxcdDo6PVx0J1wiJyBbXlwiXSogJ1wiJyB8IFwiJ1wiIFteJ10qIFwiJ1wiXG4vLyBDaGFyQ29kZVx0Ojo9XHQnI3gnIFswLTlhLWZBLUZdK1xuLy8gQ2hhckNsYXNzXHQ6Oj1cdCdbJyAnXic/ICggUlVMRV9DaGFyIHwgQ2hhckNvZGUgfCBDaGFyUmFuZ2UgfCBDaGFyQ29kZVJhbmdlICkrICddJ1xuLy8gUlVMRV9DaGFyXHQ6Oj1cdFtodHRwOi8vd3d3LnczLm9yZy9UUi94bWwjTlQtUlVMRV9DaGFyXVxuLy8gQ2hhclJhbmdlXHQ6Oj1cdFJVTEVfQ2hhciAnLScgKCBSVUxFX0NoYXIgLSAnXScgKVxuLy8gQ2hhckNvZGVSYW5nZVx0Ojo9XHRDaGFyQ29kZSAnLScgQ2hhckNvZGVcbi8vIFJVTEVfV0hJVEVTUEFDRVx0Ojo9XHRSVUxFX1MgfCBDb21tZW50XG4vLyBSVUxFX1NcdDo6PVx0I3g5IHwgI3hBIHwgI3hEIHwgI3gyMFxuLy8gQ29tbWVudFx0Ojo9XHQnLyonICggW14qXSB8ICcqJysgW14qL10gKSogJyonKiAnKi8nXG5jb25zdCBQYXJzZXJfMSA9IHJlcXVpcmUoXCIuLi9QYXJzZXJcIik7XG52YXIgQk5GO1xuKGZ1bmN0aW9uIChCTkYpIHtcbiAgICBCTkYuUlVMRVMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdHcmFtbWFyJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9TKicsICclQXRvbWljKicsICdFT0YnXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVBdG9taWMnLFxuICAgICAgICAgICAgYm5mOiBbWydQcm9kdWN0aW9uJywgJ1JVTEVfUyonXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUHJvZHVjdGlvbicsXG4gICAgICAgICAgICBibmY6IFtbJ05DTmFtZScsICdSVUxFX1MqJywgJ1wiOjo9XCInLCAnUlVMRV9XSElURVNQQUNFKicsICdDaG9pY2UnLCAnUlVMRV9XSElURVNQQUNFKicsICdSVUxFX0VPTCsnLCAnUlVMRV9TKiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTkNOYW1lJyxcbiAgICAgICAgICAgIGJuZjogW1svW2EtekEtWl1bYS16QS1aXzAtOV0qL11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdDaG9pY2UnLFxuICAgICAgICAgICAgYm5mOiBbWydTZXF1ZW5jZU9yRGlmZmVyZW5jZScsICclX0Nob2ljZV8xKiddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclX0Nob2ljZV8xJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9XSElURVNQQUNFKicsICdcInxcIicsICdSVUxFX1dISVRFU1BBQ0UqJywgJ1NlcXVlbmNlT3JEaWZmZXJlbmNlJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1NlcXVlbmNlT3JEaWZmZXJlbmNlJyxcbiAgICAgICAgICAgIGJuZjogW1snSXRlbScsICdSVUxFX1dISVRFU1BBQ0UqJywgJyVfSXRlbV8xPyddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnJV9JdGVtXzEnLFxuICAgICAgICAgICAgYm5mOiBbWydNaW51cycsICdJdGVtJ10sIFsnSXRlbSonXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTWludXMnLFxuICAgICAgICAgICAgYm5mOiBbWydcIi1cIiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnSXRlbScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfV0hJVEVTUEFDRSonLCAnJVByaW1hcnknLCAnUHJpbWFyeURlY29yYXRpb24/J11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1ByaW1hcnlEZWNvcmF0aW9uJyxcbiAgICAgICAgICAgIGJuZjogW1snXCI/XCInXSwgWydcIipcIiddLCBbJ1wiK1wiJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdEZWNvcmF0aW9uTmFtZScsXG4gICAgICAgICAgICBibmY6IFtbJ1wiZWJuZjovL1wiJywgL1teXFx4NUQjXSsvXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVQcmltYXJ5JyxcbiAgICAgICAgICAgIGJuZjogW1snTkNOYW1lJ10sIFsnU3RyaW5nTGl0ZXJhbCddLCBbJ0NoYXJDb2RlJ10sIFsnQ2hhckNsYXNzJ10sIFsnU3ViSXRlbSddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdTdWJJdGVtJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIoXCInLCAnUlVMRV9XSElURVNQQUNFKicsICdDaG9pY2UnLCAnUlVMRV9XSElURVNQQUNFKicsICdcIilcIiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnU3RyaW5nTGl0ZXJhbCcsXG4gICAgICAgICAgICBibmY6IFtbYCdcIidgLCAvW15cIl0qLywgYCdcIidgXSwgW2BcIidcImAsIC9bXiddKi8sIGBcIidcImBdXSxcbiAgICAgICAgICAgIHBpbm5lZDogMVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQ2hhckNvZGUnLFxuICAgICAgICAgICAgYm5mOiBbWydcIiN4XCInLCAvWzAtOWEtekEtWl0rL11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdDaGFyQ2xhc3MnLFxuICAgICAgICAgICAgYm5mOiBbW1wiJ1snXCIsIFwiJ14nP1wiLCAnJVJVTEVfQ2hhckNsYXNzXzErJywgJ1wiXVwiJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclUlVMRV9DaGFyQ2xhc3NfMScsXG4gICAgICAgICAgICBibmY6IFtbJ0NoYXJDb2RlUmFuZ2UnXSwgWydDaGFyUmFuZ2UnXSwgWydDaGFyQ29kZSddLCBbJ1JVTEVfQ2hhciddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdSVUxFX0NoYXInLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwOS9dLCBbL1xceDBBL10sIFsvXFx4MEQvXSwgWy9bXFx4MjAtXFx4NWNdL10sIFsvW1xceDVlLVxcdUQ3RkZdL10sIFsvW1xcdUUwMDAtXFx1RkZGRF0vXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoYXJSYW5nZScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfQ2hhcicsICdcIi1cIicsICdSVUxFX0NoYXInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoYXJDb2RlUmFuZ2UnLFxuICAgICAgICAgICAgYm5mOiBbWydDaGFyQ29kZScsICdcIi1cIicsICdDaGFyQ29kZSddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9XSElURVNQQUNFJyxcbiAgICAgICAgICAgIGJuZjogW1snJVJVTEVfV0hJVEVTUEFDRV9DSEFSKiddLCBbJ0NvbW1lbnQnLCAnUlVMRV9XSElURVNQQUNFKiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9TJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9XSElURVNQQUNFJywgJ1JVTEVfUyonXSwgWydSVUxFX0VPTCcsICdSVUxFX1MqJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclUlVMRV9XSElURVNQQUNFX0NIQVInLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwOS9dLCBbL1xceDIwL11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgYm5mOiBbWydcIi8qXCInLCAnJVJVTEVfQ29tbWVudF9Cb2R5KicsICdcIiovXCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVSVUxFX0NvbW1lbnRfQm9keScsXG4gICAgICAgICAgICBibmY6IFtbJyFcIiovXCInLCAvW14qXS9dXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdSVUxFX0VPTCcsXG4gICAgICAgICAgICBibmY6IFtbL1xceDBELywgL1xceDBBL10sIFsvXFx4MEEvXSwgWy9cXHgwRC9dXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTGluaycsXG4gICAgICAgICAgICBibmY6IFtbXCInWydcIiwgJ1VybCcsIFwiJ10nXCJdXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnVXJsJyxcbiAgICAgICAgICAgIGJuZjogW1svW15cXHg1RDovPyNdLywgJ1wiOi8vXCInLCAvW15cXHg1RCNdKy8sICclVXJsMT8nXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVVcmwxJyxcbiAgICAgICAgICAgIGJuZjogW1snXCIjXCInLCAnTkNOYW1lJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfVxuICAgIF07XG4gICAgQk5GLmRlZmF1bHRQYXJzZXIgPSBuZXcgUGFyc2VyXzEuUGFyc2VyKEJORi5SVUxFUywgeyBkZWJ1ZzogZmFsc2UgfSk7XG4gICAgY29uc3QgcHJlRGVjb3JhdGlvblJFID0gL14oIXwmKS87XG4gICAgY29uc3QgZGVjb3JhdGlvblJFID0gLyhcXD98XFwrfFxcKikkLztcbiAgICBjb25zdCBzdWJFeHByZXNzaW9uUkUgPSAvXiUvO1xuICAgIGZ1bmN0aW9uIGdldEJORlJ1bGUobmFtZSwgcGFyc2VyKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbmFtZSA9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKHByZURlY29yYXRpb25SRS50ZXN0KG5hbWUpKVxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIGxldCBzdWJleHByZXNzaW9uID0gc3ViRXhwcmVzc2lvblJFLnRlc3QobmFtZSk7XG4gICAgICAgICAgICBpZiAoc3ViZXhwcmVzc2lvbikge1xuICAgICAgICAgICAgICAgIGxldCBkZWNvcmF0aW9uID0gZGVjb3JhdGlvblJFLmV4ZWMobmFtZSk7XG4gICAgICAgICAgICAgICAgbGV0IGRlY29yYXRpb25UZXh0ID0gZGVjb3JhdGlvbiA/IGRlY29yYXRpb25bMF0gKyAnICcgOiAnJztcbiAgICAgICAgICAgICAgICBsZXQgbG9uZWx5ID0gaXNMb25lbHlSdWxlKG5hbWUsIHBhcnNlcik7XG4gICAgICAgICAgICAgICAgaWYgKGxvbmVseSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldEJORkJvZHkobmFtZSwgcGFyc2VyKSArIGRlY29yYXRpb25UZXh0O1xuICAgICAgICAgICAgICAgIHJldHVybiAnKCcgKyBnZXRCTkZCb2R5KG5hbWUsIHBhcnNlcikgKyAnKScgKyBkZWNvcmF0aW9uVGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5hbWUuc291cmNlXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcXFwoPzp4fHUpKFthLXpBLVowLTldKykvZywgJyN4JDEnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFtcXFxcKD86eHx1KShbYS16QS1aMC05XSspLVxcXFwoPzp4fHUpKFthLXpBLVowLTldKylcXF0vZywgJ1sjeCQxLSN4JDJdJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcnVsZSBpcyBhIHN0cmluZyBsaXRlcmFsIG9yIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRob3V0IGEgZGVzY2VuZGFudCB0cmVlXG4gICAgZnVuY3Rpb24gaXNMb25lbHlSdWxlKG5hbWUsIHBhcnNlcikge1xuICAgICAgICBsZXQgcnVsZSA9IFBhcnNlcl8xLmZpbmRSdWxlQnlOYW1lKG5hbWUsIHBhcnNlcik7XG4gICAgICAgIHJldHVybiAocnVsZSAmJlxuICAgICAgICAgICAgcnVsZS5ibmYubGVuZ3RoID09IDEgJiZcbiAgICAgICAgICAgIHJ1bGUuYm5mWzBdLmxlbmd0aCA9PSAxICYmXG4gICAgICAgICAgICAocnVsZS5ibmZbMF1bMF0gaW5zdGFuY2VvZiBSZWdFeHAgfHwgcnVsZS5ibmZbMF1bMF1bMF0gPT0gJ1wiJyB8fCBydWxlLmJuZlswXVswXVswXSA9PSBcIidcIikpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRCTkZDaG9pY2UocnVsZXMsIHBhcnNlcikge1xuICAgICAgICByZXR1cm4gcnVsZXMubWFwKHggPT4gZ2V0Qk5GUnVsZSh4LCBwYXJzZXIpKS5qb2luKCcgJyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldEJORkJvZHkobmFtZSwgcGFyc2VyKSB7XG4gICAgICAgIGxldCBydWxlID0gUGFyc2VyXzEuZmluZFJ1bGVCeU5hbWUobmFtZSwgcGFyc2VyKTtcbiAgICAgICAgaWYgKHJ1bGUpXG4gICAgICAgICAgICByZXR1cm4gcnVsZS5ibmYubWFwKHggPT4gZ2V0Qk5GQ2hvaWNlKHgsIHBhcnNlcikpLmpvaW4oJyB8ICcpO1xuICAgICAgICByZXR1cm4gJ1JVTEVfTk9UX0ZPVU5EIHsnICsgbmFtZSArICd9JztcbiAgICB9XG4gICAgZnVuY3Rpb24gZW1pdChwYXJzZXIpIHtcbiAgICAgICAgbGV0IGFjdW11bGF0b3IgPSBbXTtcbiAgICAgICAgcGFyc2VyLmdyYW1tYXJSdWxlcy5mb3JFYWNoKGwgPT4ge1xuICAgICAgICAgICAgaWYgKCEvXiUvLnRlc3QobC5uYW1lKSkge1xuICAgICAgICAgICAgICAgIGxldCByZWNvdmVyID0gbC5yZWNvdmVyID8gJyAvKiB7IHJlY292ZXJVbnRpbD0nICsgbC5yZWNvdmVyICsgJyB9ICovJyA6ICcnO1xuICAgICAgICAgICAgICAgIGFjdW11bGF0b3IucHVzaChsLm5hbWUgKyAnIDo6PSAnICsgZ2V0Qk5GQm9keShsLm5hbWUsIHBhcnNlcikgKyByZWNvdmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhY3VtdWxhdG9yLmpvaW4oJ1xcbicpO1xuICAgIH1cbiAgICBCTkYuZW1pdCA9IGVtaXQ7XG4gICAgbGV0IHN1Yml0ZW1zID0gMDtcbiAgICBmdW5jdGlvbiByZXN0YXIodG90YWwsIHJlc3RhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZWJlcmlhIHJlc3RhciAnICsgcmVzdGEgKyAnIGEgJyArIHRvdGFsKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaWZmZXJlbmNlIG5vdCBzdXBwb3J0ZWQgeWV0Jyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbnZlcnRSZWdleCh0eHQpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAodHh0XG4gICAgICAgICAgICAucmVwbGFjZSgvI3goW2EtekEtWjAtOV17NH0pL2csICdcXFxcdSQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8jeChbYS16QS1aMC05XXszfSkvZywgJ1xcXFx1MCQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8jeChbYS16QS1aMC05XXsyfSkvZywgJ1xcXFx4JDEnKVxuICAgICAgICAgICAgLnJlcGxhY2UoLyN4KFthLXpBLVowLTldezF9KS9nLCAnXFxcXHgwJDEnKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFN1Ykl0ZW1zKHRtcFJ1bGVzLCBzZXEsIHBhcmVudE5hbWUpIHtcbiAgICAgICAgbGV0IGFudGVyaW9yID0gbnVsbDtcbiAgICAgICAgbGV0IGJuZlNlcSA9IFtdO1xuICAgICAgICBzZXEuY2hpbGRyZW4uZm9yRWFjaCgoeCwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKHgudHlwZSA9PSAnTWludXMnKSB7XG4gICAgICAgICAgICAgICAgcmVzdGFyKGFudGVyaW9yLCB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGRlY29yYXRpb24gPSBzZXEuY2hpbGRyZW5baSArIDFdO1xuICAgICAgICAgICAgZGVjb3JhdGlvbiA9IChkZWNvcmF0aW9uICYmIGRlY29yYXRpb24udHlwZSA9PSAnUHJpbWFyeURlY29yYXRpb24nICYmIGRlY29yYXRpb24udGV4dCkgfHwgJyc7XG4gICAgICAgICAgICBsZXQgcHJlRGVjb3JhdGlvbiA9ICcnO1xuICAgICAgICAgICAgc3dpdGNoICh4LnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdTdWJJdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5hbWUgPSAnJScgKyAocGFyZW50TmFtZSArIHN1Yml0ZW1zKyspO1xuICAgICAgICAgICAgICAgICAgICBjcmVhdGVSdWxlKHRtcFJ1bGVzLCB4LCBuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gocHJlRGVjb3JhdGlvbiArIG5hbWUgKyBkZWNvcmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnTkNOYW1lJzpcbiAgICAgICAgICAgICAgICBjYXNlICdTdHJpbmdMaXRlcmFsJzpcbiAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gocHJlRGVjb3JhdGlvbiArIHgudGV4dCArIGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdDaGFyQ29kZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnQ2hhckNsYXNzJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlY29yYXRpb24gfHwgcHJlRGVjb3JhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1J1bGUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJyUnICsgKHBhcmVudE5hbWUgKyBzdWJpdGVtcysrKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibmY6IFtbY29udmVydFJlZ2V4KHgudGV4dCldXVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRtcFJ1bGVzLnB1c2gobmV3UnVsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChwcmVEZWNvcmF0aW9uICsgbmV3UnVsZS5uYW1lICsgZGVjb3JhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChjb252ZXJ0UmVnZXgoeC50ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnUHJpbWFyeURlY29yYXRpb24nOlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJyBIT1cgU0hPVUxEIEkgUEFSU0UgVEhJUz8gJyArIHgudHlwZSArICcgLT4gJyArIEpTT04uc3RyaW5naWZ5KHgudGV4dCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYW50ZXJpb3IgPSB4O1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGJuZlNlcTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlUnVsZSh0bXBSdWxlcywgdG9rZW4sIG5hbWUpIHtcbiAgICAgICAgbGV0IGJuZiA9IHRva2VuLmNoaWxkcmVuLmZpbHRlcih4ID0+IHgudHlwZSA9PSAnU2VxdWVuY2VPckRpZmZlcmVuY2UnKS5tYXAocyA9PiBnZXRTdWJJdGVtcyh0bXBSdWxlcywgcywgbmFtZSkpO1xuICAgICAgICBsZXQgcnVsZSA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBibmZcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IHJlY292ZXIgPSBudWxsO1xuICAgICAgICBibmYuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgIHJlY292ZXIgPSByZWNvdmVyIHx8IHhbJ3JlY292ZXInXTtcbiAgICAgICAgICAgIGRlbGV0ZSB4WydyZWNvdmVyJ107XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAobmFtZS5pbmRleE9mKCclJykgPT0gMClcbiAgICAgICAgICAgIHJ1bGUuZnJhZ21lbnQgPSB0cnVlO1xuICAgICAgICBpZiAocmVjb3ZlcilcbiAgICAgICAgICAgIHJ1bGUucmVjb3ZlciA9IHJlY292ZXI7XG4gICAgICAgIHRtcFJ1bGVzLnB1c2gocnVsZSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFJ1bGVzKHNvdXJjZSwgcGFyc2VyID0gQk5GLmRlZmF1bHRQYXJzZXIpIHtcbiAgICAgICAgbGV0IGFzdCA9IHBhcnNlci5nZXRBU1Qoc291cmNlKTtcbiAgICAgICAgaWYgKCFhc3QpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBwYXJzZSAnICsgc291cmNlKTtcbiAgICAgICAgaWYgKGFzdC5lcnJvcnMgJiYgYXN0LmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IGFzdC5lcnJvcnNbMF07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHRtcFJ1bGVzID0gW107XG4gICAgICAgIGFzdC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ1Byb2R1Y3Rpb24nKS5tYXAoKHgpID0+IHtcbiAgICAgICAgICAgIGxldCBuYW1lID0geC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ05DTmFtZScpWzBdLnRleHQ7XG4gICAgICAgICAgICBjcmVhdGVSdWxlKHRtcFJ1bGVzLCB4LCBuYW1lKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0bXBSdWxlcztcbiAgICB9XG4gICAgQk5GLmdldFJ1bGVzID0gZ2V0UnVsZXM7XG4gICAgZnVuY3Rpb24gVHJhbnNmb3JtKHNvdXJjZSwgc3ViUGFyc2VyID0gQk5GLmRlZmF1bHRQYXJzZXIpIHtcbiAgICAgICAgcmV0dXJuIGdldFJ1bGVzKHNvdXJjZS5qb2luKCcnKSwgc3ViUGFyc2VyKTtcbiAgICB9XG4gICAgQk5GLlRyYW5zZm9ybSA9IFRyYW5zZm9ybTtcbiAgICBjbGFzcyBQYXJzZXIgZXh0ZW5kcyBQYXJzZXJfMS5QYXJzZXIge1xuICAgICAgICBjb25zdHJ1Y3Rvcihzb3VyY2UsIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1YlBhcnNlciA9IG9wdGlvbnMgJiYgb3B0aW9ucy5kZWJ1Z1J1bGVzUGFyc2VyID09PSB0cnVlID8gbmV3IFBhcnNlcl8xLlBhcnNlcihCTkYuUlVMRVMsIHsgZGVidWc6IHRydWUgfSkgOiBCTkYuZGVmYXVsdFBhcnNlcjtcbiAgICAgICAgICAgIHN1cGVyKGdldFJ1bGVzKHNvdXJjZSwgc3ViUGFyc2VyKSwgb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgZW1pdFNvdXJjZSgpIHtcbiAgICAgICAgICAgIHJldHVybiBlbWl0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEJORi5QYXJzZXIgPSBQYXJzZXI7XG59KShCTkYgfHwgKEJORiA9IHt9KSk7XG5leHBvcnRzLmRlZmF1bHQgPSBCTkY7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1XM0NFQk5GLmpzLm1hcCIsIlwidXNlIHN0cmljdFwiO1xuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL1JFQy14bWwvI05ULU5hbWVcbi8vIGh0dHA6Ly93d3cuYm90dGxlY2Fwcy5kZS9yci91aVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLy8gR3JhbW1hclx0Ojo9XHRQcm9kdWN0aW9uKlxuLy8gUHJvZHVjdGlvblx0Ojo9XHROQ05hbWUgJzo6PScgQ2hvaWNlXG4vLyBOQ05hbWVcdDo6PVx0W2h0dHA6Ly93d3cudzMub3JnL1RSL3htbC1uYW1lcy8jTlQtTkNOYW1lXVxuLy8gQ2hvaWNlXHQ6Oj1cdFNlcXVlbmNlT3JEaWZmZXJlbmNlICggJ3wnIFNlcXVlbmNlT3JEaWZmZXJlbmNlICkqXG4vLyBTZXF1ZW5jZU9yRGlmZmVyZW5jZVx0Ojo9XHQoSXRlbSAoICctJyBJdGVtIHwgSXRlbSogKSk/XG4vLyBJdGVtXHQ6Oj1cdFByaW1hcnkgKCAnPycgfCAnKicgfCAnKycgKT9cbi8vIFByaW1hcnlcdDo6PVx0TkNOYW1lIHwgU3RyaW5nTGl0ZXJhbCB8IENoYXJDb2RlIHwgQ2hhckNsYXNzIHwgJygnIENob2ljZSAnKSdcbi8vIFN0cmluZ0xpdGVyYWxcdDo6PVx0J1wiJyBbXlwiXSogJ1wiJyB8IFwiJ1wiIFteJ10qIFwiJ1wiXG4vLyBDaGFyQ29kZVx0Ojo9XHQnI3gnIFswLTlhLWZBLUZdK1xuLy8gQ2hhckNsYXNzXHQ6Oj1cdCdbJyAnXic/ICggUlVMRV9DaGFyIHwgQ2hhckNvZGUgfCBDaGFyUmFuZ2UgfCBDaGFyQ29kZVJhbmdlICkrICddJ1xuLy8gUlVMRV9DaGFyXHQ6Oj1cdFtodHRwOi8vd3d3LnczLm9yZy9UUi94bWwjTlQtUlVMRV9DaGFyXVxuLy8gQ2hhclJhbmdlXHQ6Oj1cdFJVTEVfQ2hhciAnLScgKCBSVUxFX0NoYXIgLSAnXScgKVxuLy8gQ2hhckNvZGVSYW5nZVx0Ojo9XHRDaGFyQ29kZSAnLScgQ2hhckNvZGVcbi8vIFJVTEVfV0hJVEVTUEFDRVx0Ojo9XHRSVUxFX1MgfCBDb21tZW50XG4vLyBSVUxFX1NcdDo6PVx0I3g5IHwgI3hBIHwgI3hEIHwgI3gyMFxuLy8gQ29tbWVudFx0Ojo9XHQnLyonICggW14qXSB8ICcqJysgW14qL10gKSogJyonKiAnKi8nXG5jb25zdCBUb2tlbkVycm9yXzEgPSByZXF1aXJlKFwiLi4vVG9rZW5FcnJvclwiKTtcbmNvbnN0IFBhcnNlcl8xID0gcmVxdWlyZShcIi4uL1BhcnNlclwiKTtcbnZhciBCTkY7XG4oZnVuY3Rpb24gKEJORikge1xuICAgIEJORi5SVUxFUyA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0dyYW1tYXInLFxuICAgICAgICAgICAgYm5mOiBbWydSVUxFX1MqJywgJ0F0dHJpYnV0ZXM/JywgJ1JVTEVfUyonLCAnJUF0b21pYyonLCAnRU9GJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclQXRvbWljJyxcbiAgICAgICAgICAgIGJuZjogW1snUHJvZHVjdGlvbicsICdSVUxFX1MqJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1Byb2R1Y3Rpb24nLFxuICAgICAgICAgICAgYm5mOiBbXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAnTkNOYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgJ1JVTEVfUyonLFxuICAgICAgICAgICAgICAgICAgICAnXCI6Oj1cIicsXG4gICAgICAgICAgICAgICAgICAgICdSVUxFX1dISVRFU1BBQ0UqJyxcbiAgICAgICAgICAgICAgICAgICAgJyVDaG9pY2UnLFxuICAgICAgICAgICAgICAgICAgICAnUlVMRV9XSElURVNQQUNFKicsXG4gICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVzPycsXG4gICAgICAgICAgICAgICAgICAgICdSVUxFX0VPTCsnLFxuICAgICAgICAgICAgICAgICAgICAnUlVMRV9TKidcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdOQ05hbWUnLFxuICAgICAgICAgICAgYm5mOiBbWy9bYS16QS1aXVthLXpBLVpfMC05XSovXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0F0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgYm5mOiBbWydcIntcIicsICdBdHRyaWJ1dGUnLCAnJUF0dHJpYnV0ZXMqJywgJ1JVTEVfUyonLCAnXCJ9XCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVBdHRyaWJ1dGVzJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9TKicsICdcIixcIicsICdBdHRyaWJ1dGUnXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQXR0cmlidXRlJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9TKicsICdOQ05hbWUnLCAnUlVMRV9XSElURVNQQUNFKicsICdcIj1cIicsICdSVUxFX1dISVRFU1BBQ0UqJywgJ0F0dHJpYnV0ZVZhbHVlJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdBdHRyaWJ1dGVWYWx1ZScsXG4gICAgICAgICAgICBibmY6IFtbJ05DTmFtZSddLCBbL1sxLTldWzAtOV0qL11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclQ2hvaWNlJyxcbiAgICAgICAgICAgIGJuZjogW1snU2VxdWVuY2VPckRpZmZlcmVuY2UnLCAnJV9DaG9pY2VfMSonXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnJV9DaG9pY2VfMScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfUyonLCAnXCJ8XCInLCAnUlVMRV9TKicsICdTZXF1ZW5jZU9yRGlmZmVyZW5jZSddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdTZXF1ZW5jZU9yRGlmZmVyZW5jZScsXG4gICAgICAgICAgICBibmY6IFtbJyVJdGVtJywgJ1JVTEVfV0hJVEVTUEFDRSonLCAnJV9JdGVtXzE/J11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclX0l0ZW1fMScsXG4gICAgICAgICAgICBibmY6IFtbJ01pbnVzJywgJyVJdGVtJ10sIFsnJUl0ZW0qJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ01pbnVzJyxcbiAgICAgICAgICAgIGJuZjogW1snXCItXCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVJdGVtJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9XSElURVNQQUNFKicsICdQcmltYXJ5UHJlRGVjb3JhdGlvbj8nLCAnJVByaW1hcnknLCAnUHJpbWFyeURlY29yYXRpb24/J11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1ByaW1hcnlEZWNvcmF0aW9uJyxcbiAgICAgICAgICAgIGJuZjogW1snXCI/XCInXSwgWydcIipcIiddLCBbJ1wiK1wiJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdQcmltYXJ5UHJlRGVjb3JhdGlvbicsXG4gICAgICAgICAgICBibmY6IFtbJ1wiJlwiJ10sIFsnXCIhXCInXSwgWydcIn5cIiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnJVByaW1hcnknLFxuICAgICAgICAgICAgYm5mOiBbWydOQ05hbWUnXSwgWydTdHJpbmdMaXRlcmFsJ10sIFsnQ2hhckNvZGUnXSwgWydDaGFyQ2xhc3MnXSwgWydTdWJJdGVtJ11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1N1Ykl0ZW0nLFxuICAgICAgICAgICAgYm5mOiBbWydcIihcIicsICdSVUxFX1MqJywgJyVDaG9pY2UnLCAnUlVMRV9TKicsICdcIilcIiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnU3RyaW5nTGl0ZXJhbCcsXG4gICAgICAgICAgICBibmY6IFtbYCdcIidgLCAvW15cIl0qLywgYCdcIidgXSwgW2BcIidcImAsIC9bXiddKi8sIGBcIidcImBdXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnQ2hhckNvZGUnLFxuICAgICAgICAgICAgYm5mOiBbWydcIiN4XCInLCAvWzAtOWEtekEtWl0rL11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdDaGFyQ2xhc3MnLFxuICAgICAgICAgICAgYm5mOiBbW1wiJ1snXCIsIFwiJ14nP1wiLCAnJVJVTEVfQ2hhckNsYXNzXzErJywgJ1wiXVwiJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclUlVMRV9DaGFyQ2xhc3NfMScsXG4gICAgICAgICAgICBibmY6IFtbJ0NoYXJDb2RlUmFuZ2UnXSwgWydDaGFyUmFuZ2UnXSwgWydDaGFyQ29kZSddLCBbJ1JVTEVfQ2hhciddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdSVUxFX0NoYXInLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwOS9dLCBbL1xceDBBL10sIFsvXFx4MEQvXSwgWy9bXFx4MjAtXFx4NWNdL10sIFsvW1xceDVlLVxcdUQ3RkZdL10sIFsvW1xcdUUwMDAtXFx1RkZGRF0vXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoYXJSYW5nZScsXG4gICAgICAgICAgICBibmY6IFtbJ1JVTEVfQ2hhcicsICdcIi1cIicsICdSVUxFX0NoYXInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NoYXJDb2RlUmFuZ2UnLFxuICAgICAgICAgICAgYm5mOiBbWydDaGFyQ29kZScsICdcIi1cIicsICdDaGFyQ29kZSddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9XSElURVNQQUNFJyxcbiAgICAgICAgICAgIGJuZjogW1snJVJVTEVfV0hJVEVTUEFDRV9DSEFSKiddLCBbJ0NvbW1lbnQnLCAnUlVMRV9XSElURVNQQUNFKiddXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9TJyxcbiAgICAgICAgICAgIGJuZjogW1snUlVMRV9XSElURVNQQUNFJywgJ1JVTEVfUyonXSwgWydSVUxFX0VPTCcsICdSVUxFX1MqJ11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclUlVMRV9XSElURVNQQUNFX0NIQVInLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwOS9dLCBbL1xceDIwL11dLFxuICAgICAgICAgICAgZnJhZ21lbnQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgYm5mOiBbWydcIi8qXCInLCAnJVJVTEVfQ29tbWVudF9Cb2R5KicsICdcIiovXCInXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJyVSVUxFX0NvbW1lbnRfQm9keScsXG4gICAgICAgICAgICBibmY6IFtbL1teKl0vXSwgWydcIipcIisnLCAvW14vXSovXV0sXG4gICAgICAgICAgICBmcmFnbWVudDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUlVMRV9FT0wnLFxuICAgICAgICAgICAgYm5mOiBbWy9cXHgwRC8sIC9cXHgwQS9dLCBbL1xceDBBL10sIFsvXFx4MEQvXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0xpbmsnLFxuICAgICAgICAgICAgYm5mOiBbW1wiJ1snXCIsICdVcmwnLCBcIiddJ1wiXV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1VybCcsXG4gICAgICAgICAgICBibmY6IFtbL1teXFx4NUQ6Lz8jXS8sICdcIjovL1wiJywgL1teXFx4NUQjXSsvLCAnJVVybDE/J11dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICclVXJsMScsXG4gICAgICAgICAgICBibmY6IFtbJ1wiI1wiJywgJ05DTmFtZSddXSxcbiAgICAgICAgICAgIGZyYWdtZW50OiB0cnVlXG4gICAgICAgIH1cbiAgICBdO1xuICAgIEJORi5kZWZhdWx0UGFyc2VyID0gbmV3IFBhcnNlcl8xLlBhcnNlcihCTkYuUlVMRVMsIHsgZGVidWc6IGZhbHNlIH0pO1xuICAgIGNvbnN0IHByZURlY29yYXRpb25SRSA9IC9eKCF8JikvO1xuICAgIGNvbnN0IGRlY29yYXRpb25SRSA9IC8oXFw/fFxcK3xcXCopJC87XG4gICAgY29uc3Qgc3ViRXhwcmVzc2lvblJFID0gL14lLztcbiAgICBmdW5jdGlvbiBnZXRCTkZSdWxlKG5hbWUsIHBhcnNlcikge1xuICAgICAgICBpZiAodHlwZW9mIG5hbWUgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGxldCBkZWNvcmF0aW9uID0gZGVjb3JhdGlvblJFLmV4ZWMobmFtZSk7XG4gICAgICAgICAgICBsZXQgcHJlRGVjb3JhdGlvbiA9IHByZURlY29yYXRpb25SRS5leGVjKG5hbWUpO1xuICAgICAgICAgICAgbGV0IHByZURlY29yYXRpb25UZXh0ID0gcHJlRGVjb3JhdGlvbiA/IHByZURlY29yYXRpb25bMF0gOiAnJztcbiAgICAgICAgICAgIGxldCBkZWNvcmF0aW9uVGV4dCA9IGRlY29yYXRpb24gPyBkZWNvcmF0aW9uWzBdICsgJyAnIDogJyc7XG4gICAgICAgICAgICBsZXQgc3ViZXhwcmVzc2lvbiA9IHN1YkV4cHJlc3Npb25SRS50ZXN0KG5hbWUpO1xuICAgICAgICAgICAgaWYgKHN1YmV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgICAgICBsZXQgbG9uZWx5ID0gaXNMb25lbHlSdWxlKG5hbWUsIHBhcnNlcik7XG4gICAgICAgICAgICAgICAgaWYgKGxvbmVseSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZURlY29yYXRpb25UZXh0ICsgZ2V0Qk5GQm9keShuYW1lLCBwYXJzZXIpICsgZGVjb3JhdGlvblRleHQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZURlY29yYXRpb25UZXh0ICsgJygnICsgZ2V0Qk5GQm9keShuYW1lLCBwYXJzZXIpICsgJyknICsgZGVjb3JhdGlvblRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmFtZS5yZXBsYWNlKHByZURlY29yYXRpb25SRSwgcHJlRGVjb3JhdGlvblRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5hbWUuc291cmNlXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcXFwoPzp4fHUpKFthLXpBLVowLTldKykvZywgJyN4JDEnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFtcXFxcKD86eHx1KShbYS16QS1aMC05XSspLVxcXFwoPzp4fHUpKFthLXpBLVowLTldKylcXF0vZywgJ1sjeCQxLSN4JDJdJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcnVsZSBpcyBhIHN0cmluZyBsaXRlcmFsIG9yIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRob3V0IGEgZGVzY2VuZGFudCB0cmVlXG4gICAgZnVuY3Rpb24gaXNMb25lbHlSdWxlKG5hbWUsIHBhcnNlcikge1xuICAgICAgICBsZXQgcnVsZSA9IFBhcnNlcl8xLmZpbmRSdWxlQnlOYW1lKG5hbWUsIHBhcnNlcik7XG4gICAgICAgIHJldHVybiAocnVsZSAmJlxuICAgICAgICAgICAgcnVsZS5ibmYubGVuZ3RoID09IDEgJiZcbiAgICAgICAgICAgIHJ1bGUuYm5mWzBdLmxlbmd0aCA9PSAxICYmXG4gICAgICAgICAgICAocnVsZS5ibmZbMF1bMF0gaW5zdGFuY2VvZiBSZWdFeHAgfHwgcnVsZS5ibmZbMF1bMF1bMF0gPT0gJ1wiJyB8fCBydWxlLmJuZlswXVswXVswXSA9PSBcIidcIikpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRCTkZDaG9pY2UocnVsZXMsIHBhcnNlcikge1xuICAgICAgICByZXR1cm4gcnVsZXMubWFwKHggPT4gZ2V0Qk5GUnVsZSh4LCBwYXJzZXIpKS5qb2luKCcgJyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldEJORkJvZHkobmFtZSwgcGFyc2VyKSB7XG4gICAgICAgIGxldCBydWxlID0gUGFyc2VyXzEuZmluZFJ1bGVCeU5hbWUobmFtZSwgcGFyc2VyKTtcbiAgICAgICAgaWYgKHJ1bGUpXG4gICAgICAgICAgICByZXR1cm4gcnVsZS5ibmYubWFwKHggPT4gZ2V0Qk5GQ2hvaWNlKHgsIHBhcnNlcikpLmpvaW4oJyB8ICcpO1xuICAgICAgICByZXR1cm4gJ1JVTEVfTk9UX0ZPVU5EIHsnICsgbmFtZSArICd9JztcbiAgICB9XG4gICAgZnVuY3Rpb24gZW1pdChwYXJzZXIpIHtcbiAgICAgICAgbGV0IGFjdW11bGF0b3IgPSBbXTtcbiAgICAgICAgcGFyc2VyLmdyYW1tYXJSdWxlcy5mb3JFYWNoKGwgPT4ge1xuICAgICAgICAgICAgaWYgKCEvXiUvLnRlc3QobC5uYW1lKSkge1xuICAgICAgICAgICAgICAgIGxldCByZWNvdmVyID0gbC5yZWNvdmVyID8gJyB7IHJlY292ZXJVbnRpbD0nICsgbC5yZWNvdmVyICsgJyB9JyA6ICcnO1xuICAgICAgICAgICAgICAgIGFjdW11bGF0b3IucHVzaChsLm5hbWUgKyAnIDo6PSAnICsgZ2V0Qk5GQm9keShsLm5hbWUsIHBhcnNlcikgKyByZWNvdmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhY3VtdWxhdG9yLmpvaW4oJ1xcbicpO1xuICAgIH1cbiAgICBCTkYuZW1pdCA9IGVtaXQ7XG4gICAgbGV0IHN1Yml0ZW1zID0gMDtcbiAgICBmdW5jdGlvbiByZXN0YXIodG90YWwsIHJlc3RhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZWJlcmlhIHJlc3RhciAnICsgcmVzdGEgKyAnIGEgJyArIHRvdGFsKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaWZmZXJlbmNlIG5vdCBzdXBwb3J0ZWQgeWV0Jyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbnZlcnRSZWdleCh0eHQpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAodHh0XG4gICAgICAgICAgICAucmVwbGFjZSgvI3goW2EtekEtWjAtOV17NH0pL2csICdcXFxcdSQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8jeChbYS16QS1aMC05XXszfSkvZywgJ1xcXFx1MCQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8jeChbYS16QS1aMC05XXsyfSkvZywgJ1xcXFx4JDEnKVxuICAgICAgICAgICAgLnJlcGxhY2UoLyN4KFthLXpBLVowLTldezF9KS9nLCAnXFxcXHgwJDEnKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFN1Ykl0ZW1zKHRtcFJ1bGVzLCBzZXEsIHBhcmVudE5hbWUsIHBhcmVudEF0dHJpYnV0ZXMpIHtcbiAgICAgICAgbGV0IGFudGVyaW9yID0gbnVsbDtcbiAgICAgICAgbGV0IGJuZlNlcSA9IFtdO1xuICAgICAgICBzZXEuY2hpbGRyZW4uZm9yRWFjaCgoeCwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKHgudHlwZSA9PSAnTWludXMnKSB7XG4gICAgICAgICAgICAgICAgcmVzdGFyKGFudGVyaW9yLCB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGRlY29yYXRpb24gPSBzZXEuY2hpbGRyZW5baSArIDFdO1xuICAgICAgICAgICAgZGVjb3JhdGlvbiA9IChkZWNvcmF0aW9uICYmIGRlY29yYXRpb24udHlwZSA9PSAnUHJpbWFyeURlY29yYXRpb24nICYmIGRlY29yYXRpb24udGV4dCkgfHwgJyc7XG4gICAgICAgICAgICBsZXQgcHJlRGVjb3JhdGlvbiA9ICcnO1xuICAgICAgICAgICAgaWYgKGFudGVyaW9yICYmIGFudGVyaW9yLnR5cGUgPT0gJ1ByaW1hcnlQcmVEZWNvcmF0aW9uJykge1xuICAgICAgICAgICAgICAgIHByZURlY29yYXRpb24gPSBhbnRlcmlvci50ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IHBpbm5lZCA9IHByZURlY29yYXRpb24gPT0gJ34nID8gMSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChwaW5uZWQpIHtcbiAgICAgICAgICAgICAgICBwcmVEZWNvcmF0aW9uID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKHgudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ1N1Ykl0ZW0nOlxuICAgICAgICAgICAgICAgICAgICBsZXQgbmFtZSA9ICclJyArIChwYXJlbnROYW1lICsgc3ViaXRlbXMrKyk7XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZVJ1bGUodG1wUnVsZXMsIHgsIG5hbWUsIHBhcmVudEF0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChwcmVEZWNvcmF0aW9uICsgbmFtZSArIGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdOQ05hbWUnOlxuICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChwcmVEZWNvcmF0aW9uICsgeC50ZXh0ICsgZGVjb3JhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1N0cmluZ0xpdGVyYWwnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVjb3JhdGlvbiB8fCBwcmVEZWNvcmF0aW9uIHx8ICEvXlsnXCIvKClhLXpBLVowLTkmXy46PSwrKlxcLVxcXlxcXFxdKyQvLnRlc3QoeC50ZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gocHJlRGVjb3JhdGlvbiArIHgudGV4dCArIGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBjIG9mIHgudGV4dC5zbGljZSgxLCAtMSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50QXR0cmlidXRlcyAmJiBwYXJlbnRBdHRyaWJ1dGVzW1wiaWdub3JlQ2FzZVwiXSA9PSBcInRydWVcIiAmJiAvW2EtekEtWl0vLnRlc3QoYykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gobmV3IFJlZ0V4cChcIltcIiArIGMudG9VcHBlckNhc2UoKSArIGMudG9Mb3dlckNhc2UoKSArIFwiXVwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibmZTZXEucHVzaChuZXcgUmVnRXhwKFBhcnNlcl8xLmVzY2FwZVJlZ0V4cChjKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdDaGFyQ29kZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnQ2hhckNsYXNzJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlY29yYXRpb24gfHwgcHJlRGVjb3JhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1J1bGUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJyUnICsgKHBhcmVudE5hbWUgKyBzdWJpdGVtcysrKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibmY6IFtbY29udmVydFJlZ2V4KHgudGV4dCldXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0bXBSdWxlcy5wdXNoKG5ld1J1bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2gocHJlRGVjb3JhdGlvbiArIG5ld1J1bGUubmFtZSArIGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm5mU2VxLnB1c2goY29udmVydFJlZ2V4KHgudGV4dCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1ByaW1hcnlQcmVEZWNvcmF0aW9uJzpcbiAgICAgICAgICAgICAgICBjYXNlICdQcmltYXJ5RGVjb3JhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignIEhPVyBTSE9VTEQgSSBQQVJTRSBUSElTPyAnICsgeC50eXBlICsgJyAtPiAnICsgSlNPTi5zdHJpbmdpZnkoeC50ZXh0KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhbnRlcmlvciA9IHg7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYm5mU2VxO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVSdWxlKHRtcFJ1bGVzLCB0b2tlbiwgbmFtZSwgcGFyZW50QXR0cmlidXRlcyA9IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgYXR0ck5vZGUgPSB0b2tlbi5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ0F0dHJpYnV0ZXMnKVswXTtcbiAgICAgICAgbGV0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgaWYgKGF0dHJOb2RlKSB7XG4gICAgICAgICAgICBhdHRyTm9kZS5jaGlsZHJlbi5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgICAgIGxldCBuYW1lID0geC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ05DTmFtZScpWzBdLnRleHQ7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWUgaW4gYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVG9rZW5FcnJvcl8xLlRva2VuRXJyb3IoJ0R1cGxpY2F0ZWQgYXR0cmlidXRlICcgKyBuYW1lLCB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbbmFtZV0gPSB4LmNoaWxkcmVuLmZpbHRlcih4ID0+IHgudHlwZSA9PSAnQXR0cmlidXRlVmFsdWUnKVswXS50ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGxldCBibmYgPSB0b2tlbi5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ1NlcXVlbmNlT3JEaWZmZXJlbmNlJykubWFwKHMgPT4gZ2V0U3ViSXRlbXModG1wUnVsZXMsIHMsIG5hbWUsIHBhcmVudEF0dHJpYnV0ZXMgPyBwYXJlbnRBdHRyaWJ1dGVzIDogYXR0cmlidXRlcykpO1xuICAgICAgICBsZXQgcnVsZSA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBibmZcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKG5hbWUuaW5kZXhPZignJScpID09IDApXG4gICAgICAgICAgICBydWxlLmZyYWdtZW50ID0gdHJ1ZTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZXNbJ3JlY292ZXJVbnRpbCddKSB7XG4gICAgICAgICAgICBydWxlLnJlY292ZXIgPSBhdHRyaWJ1dGVzWydyZWNvdmVyVW50aWwnXTtcbiAgICAgICAgICAgIGlmIChydWxlLmJuZi5sZW5ndGggPiAxKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUb2tlbkVycm9yXzEuVG9rZW5FcnJvcignb25seSBvbmUtb3B0aW9uIHByb2R1Y3Rpb25zIGFyZSBzdWl0YWJsZSBmb3IgZXJyb3IgcmVjb3ZlcmluZycsIHRva2VuKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ3BpbicgaW4gYXR0cmlidXRlcykge1xuICAgICAgICAgICAgbGV0IG51bSA9IHBhcnNlSW50KGF0dHJpYnV0ZXNbJ3BpbiddKTtcbiAgICAgICAgICAgIGlmICghaXNOYU4obnVtKSkge1xuICAgICAgICAgICAgICAgIHJ1bGUucGlubmVkID0gbnVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bGUuYm5mLmxlbmd0aCA+IDEpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yKCdvbmx5IG9uZS1vcHRpb24gcHJvZHVjdGlvbnMgYXJlIHN1aXRhYmxlIGZvciBwaW5uaW5nJywgdG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIGlmICgnd3MnIGluIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIHJ1bGUuaW1wbGljaXRXcyA9IGF0dHJpYnV0ZXNbJ3dzJ10gIT0gJ2V4cGxpY2l0JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJ1bGUuaW1wbGljaXRXcyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcnVsZS5mcmFnbWVudCA9IHJ1bGUuZnJhZ21lbnQgfHwgYXR0cmlidXRlc1snZnJhZ21lbnQnXSA9PSAndHJ1ZSc7XG4gICAgICAgIHJ1bGUuc2ltcGxpZnlXaGVuT25lQ2hpbGRyZW4gPSBhdHRyaWJ1dGVzWydzaW1wbGlmeVdoZW5PbmVDaGlsZHJlbiddID09ICd0cnVlJztcbiAgICAgICAgdG1wUnVsZXMucHVzaChydWxlKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0UnVsZXMoc291cmNlLCBwYXJzZXIgPSBCTkYuZGVmYXVsdFBhcnNlcikge1xuICAgICAgICBsZXQgYXN0ID0gcGFyc2VyLmdldEFTVChzb3VyY2UpO1xuICAgICAgICBpZiAoIWFzdClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHBhcnNlICcgKyBzb3VyY2UpO1xuICAgICAgICBpZiAoYXN0LmVycm9ycyAmJiBhc3QuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgYXN0LmVycm9yc1swXTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW1wbGljaXRXcyA9IG51bGw7XG4gICAgICAgIGxldCBhdHRyTm9kZSA9IGFzdC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ0F0dHJpYnV0ZXMnKVswXTtcbiAgICAgICAgbGV0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgaWYgKGF0dHJOb2RlKSB7XG4gICAgICAgICAgICBhdHRyTm9kZS5jaGlsZHJlbi5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgICAgIGxldCBuYW1lID0geC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gJ05DTmFtZScpWzBdLnRleHQ7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWUgaW4gYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVG9rZW5FcnJvcl8xLlRva2VuRXJyb3IoJ0R1cGxpY2F0ZWQgYXR0cmlidXRlICcgKyBuYW1lLCB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNbbmFtZV0gPSB4LmNoaWxkcmVuLmZpbHRlcih4ID0+IHgudHlwZSA9PSAnQXR0cmlidXRlVmFsdWUnKVswXS50ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGltcGxpY2l0V3MgPSBhdHRyaWJ1dGVzWyd3cyddID09ICdpbXBsaWNpdCc7XG4gICAgICAgIGxldCB0bXBSdWxlcyA9IFtdO1xuICAgICAgICBhc3QuY2hpbGRyZW4uZmlsdGVyKHggPT4geC50eXBlID09ICdQcm9kdWN0aW9uJykubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICBsZXQgbmFtZSA9IHguY2hpbGRyZW4uZmlsdGVyKHggPT4geC50eXBlID09ICdOQ05hbWUnKVswXS50ZXh0O1xuICAgICAgICAgICAgY3JlYXRlUnVsZSh0bXBSdWxlcywgeCwgbmFtZSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0bXBSdWxlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICAgICAgaWYgKHJ1bGUuaW1wbGljaXRXcyA9PT0gbnVsbClcbiAgICAgICAgICAgICAgICBydWxlLmltcGxpY2l0V3MgPSBpbXBsaWNpdFdzO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRtcFJ1bGVzO1xuICAgIH1cbiAgICBCTkYuZ2V0UnVsZXMgPSBnZXRSdWxlcztcbiAgICBmdW5jdGlvbiBUcmFuc2Zvcm0oc291cmNlLCBzdWJQYXJzZXIgPSBCTkYuZGVmYXVsdFBhcnNlcikge1xuICAgICAgICByZXR1cm4gZ2V0UnVsZXMoc291cmNlLmpvaW4oJycpLCBzdWJQYXJzZXIpO1xuICAgIH1cbiAgICBCTkYuVHJhbnNmb3JtID0gVHJhbnNmb3JtO1xuICAgIGNsYXNzIFBhcnNlciBleHRlbmRzIFBhcnNlcl8xLlBhcnNlciB7XG4gICAgICAgIGNvbnN0cnVjdG9yKHNvdXJjZSwgb3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3Qgc3ViUGFyc2VyID0gb3B0aW9ucyAmJiBvcHRpb25zLmRlYnVnUnVsZXNQYXJzZXIgPT09IHRydWUgPyBuZXcgUGFyc2VyXzEuUGFyc2VyKEJORi5SVUxFUywgeyBkZWJ1ZzogdHJ1ZSB9KSA6IEJORi5kZWZhdWx0UGFyc2VyO1xuICAgICAgICAgICAgc3VwZXIoZ2V0UnVsZXMoc291cmNlLCBzdWJQYXJzZXIpLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBlbWl0U291cmNlKCkge1xuICAgICAgICAgICAgcmV0dXJuIGVtaXQodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQk5GLlBhcnNlciA9IFBhcnNlcjtcbn0pKEJORiB8fCAoQk5GID0ge30pKTtcbmV4cG9ydHMuZGVmYXVsdCA9IEJORjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUN1c3RvbS5qcy5tYXAiLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBCTkZfMSA9IHJlcXVpcmUoXCIuL0JORlwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkJORlwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gQk5GXzEuZGVmYXVsdDsgfSB9KTtcbnZhciBXM0NFQk5GXzEgPSByZXF1aXJlKFwiLi9XM0NFQk5GXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVzNDXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBXM0NFQk5GXzEuZGVmYXVsdDsgfSB9KTtcbnZhciBDdXN0b21fMSA9IHJlcXVpcmUoXCIuL0N1c3RvbVwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkN1c3RvbVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gQ3VzdG9tXzEuZGVmYXVsdDsgfSB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIFBhcnNlcl8xID0gcmVxdWlyZShcIi4vUGFyc2VyXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUGFyc2VyXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBQYXJzZXJfMS5QYXJzZXI7IH0gfSk7XG52YXIgVG9rZW5FcnJvcl8xID0gcmVxdWlyZShcIi4vVG9rZW5FcnJvclwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRva2VuRXJyb3JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFRva2VuRXJyb3JfMS5Ub2tlbkVycm9yOyB9IH0pO1xuZXhwb3J0cy5HcmFtbWFycyA9IHJlcXVpcmUoXCIuL0dyYW1tYXJzXCIpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnBhcnNlRm9ybXVsYSA9IGV4cG9ydHMucGFyc2VBbmRBcHBseSA9IGV4cG9ydHMuU291cmNlID0gZXhwb3J0cy5Gb3JtdWxhID0gdm9pZCAwO1xuY29uc3QgbmV2ZXJ0aHJvd18xID0gcmVxdWlyZShcIi4uL25ldmVydGhyb3cvbmV2ZXJ0aHJvd1wiKTtcbmNvbnN0IGFsZ2VicmFpY19vcGVyYXRpb25fMSA9IHJlcXVpcmUoXCIuL2FsZ2VicmFpY19vcGVyYXRpb25cIik7XG5jb25zdCBhc3RfdXRpbHNfMSA9IHJlcXVpcmUoXCIuL2FzdF91dGlsc1wiKTtcbmNvbnN0IGNvbmRpdGlvbmFsX2Z1bmN0aW9uXzEgPSByZXF1aXJlKFwiLi9jb25kaXRpb25hbF9mdW5jdGlvblwiKTtcbmNvbnN0IGNvbnN0YW50XzEgPSByZXF1aXJlKFwiLi9jb25zdGFudFwiKTtcbmNvbnN0IGRlc3RpbmF0aW9uXzEgPSByZXF1aXJlKFwiLi9kZXN0aW5hdGlvblwiKTtcbmNvbnN0IGRpc3BsYXlfZGlyZWN0aXZlXzEgPSByZXF1aXJlKFwiLi9kaXNwbGF5X2RpcmVjdGl2ZVwiKTtcbmNvbnN0IHJhbmdlXzEgPSByZXF1aXJlKFwiLi9yYW5nZVwiKTtcbmNvbnN0IHJlZmVyZW5jZV8xID0gcmVxdWlyZShcIi4vcmVmZXJlbmNlXCIpO1xuY29uc3Qgc2luZ2xlX3BhcmFtX2Z1bmN0aW9uXzEgPSByZXF1aXJlKFwiLi9zaW5nbGVfcGFyYW1fZnVuY3Rpb25cIik7XG5jb25zdCBlYm5mXzEgPSByZXF1aXJlKFwiZWJuZlwiKTtcbmNvbnN0IGxvZGFzaF8xID0gcmVxdWlyZShcImxvZGFzaFwiKTtcbi8qKlxuICogVzNDIGdyYW1tYXIgZGVzY3JpYmluZyBhIHZhbGlkIGZvcm11bGEgYXQgdGhlIGJvdHRvbSBvZiBhIHRhYmxlLlxuICpcbiAqIFRoZSBsaWJyYXJ5IGJlaW5nIHVzZWQgdG8gcGFyc2UgdGhlIGZvcm11bGEgZG9lcyBub3Qgc3Vwb3J0IEVCTkYsIG9ubHkgQk5GLFxuICogc28gVzNDIHN5bnRheCB3YXMgdXNlZCBpbiBvcmRlciB0byBnZXQgYWNjZXNzIHRvIGV4dGVuZGVkIGZlYXR1cmVzLlxuICpcbiAqIFRoZSBwYXJzZXIgZ2VuZXJhdGVzIGEgUEVHIHBhcnNlciwgd2hpYyBpcyBub3QgYWJsZSB0byBoYW5kbGUgYW1iaWd1aXR5LiBUaGVcbiAqIG9yZGVyIG9mIGNvbnN0cnVjdGlvbnMgaXMgc2lnbmlmaWNhbnQuXG4gKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2x5cy1sYW5nL25vZGUtZWJuZi9pc3N1ZXMvMzRcbiAqL1xuY29uc3QgcGFyc2VyR3JhbW1hciA9IGBcbnRibGZtX2xpbmUgICA6Oj0gXCI8IS0tIFRCTEZNOiBcIiBmb3JtdWxhX2xpc3QgXCIgLS0+XCJcbmZvcm11bGFfbGlzdCA6Oj0gZm9ybXVsYSAoIFwiOjpcIiBmb3JtdWxhX2xpc3QgKT9cbmZvcm11bGEgICAgICA6Oj0gZGVzdGluYXRpb24gXCI9XCIgc291cmNlIGRpc3BsYXlfZGlyZWN0aXZlP1xuXG5zb3VyY2UgICAgICAgICAgIDo6PSByYW5nZSB8IHNvdXJjZV9yZWZlcmVuY2UgfCBzaW5nbGVfcGFyYW1fZnVuY3Rpb25fY2FsbCB8IGNvbmRpdGlvbmFsX2Z1bmN0aW9uX2NhbGwgfCBhbGdlYnJhaWNfb3BlcmF0aW9uIHwgZmxvYXQgfCByZWFsXG5yYW5nZSAgICAgICAgICAgIDo6PSBzb3VyY2VfcmVmZXJlbmNlIFwiLi5cIiBzb3VyY2VfcmVmZXJlbmNlXG5zb3VyY2VfcmVmZXJlbmNlIDo6PSBhYnNvbHV0ZV9yZWZlcmVuY2UgfCByZWxhdGl2ZV9yZWZlcmVuY2VcbmRlc3RpbmF0aW9uICAgICAgOjo9IHJhbmdlIHwgYWJzb2x1dGVfcmVmZXJlbmNlXG5cbnJlbGF0aXZlX3JlZmVyZW5jZSA6Oj0gKHJlbGF0aXZlX3JvdyB8IGFic29sdXRlX3JvdykgKHJlbGF0aXZlX2NvbHVtbiB8IGFic29sdXRlX2NvbHVtbikgfCByZWxhdGl2ZV9yb3cgfCByZWxhdGl2ZV9jb2x1bW5cbnJlbGF0aXZlX3JvdyA6Oj0gXCJAXCIgKCBcIi1cIiB8IFwiK1wiICkgaW50XG5yZWxhdGl2ZV9jb2x1bW4gOjo9IFwiJFwiICggXCItXCIgfCBcIitcIiApIGludFxuXG5hYnNvbHV0ZV9yZWZlcmVuY2UgOjo9IGFic29sdXRlX3JvdyBhYnNvbHV0ZV9jb2x1bW4gfCBhYnNvbHV0ZV9yb3cgfCBhYnNvbHV0ZV9jb2x1bW5cbmFic29sdXRlX3JvdyA6Oj0gXCJAXCIgKCBcIklcIiB8IFwiPFwiIHwgXCI+XCIgfCBpbnQgKVxuYWJzb2x1dGVfY29sdW1uIDo6PSBcIiRcIiAoIFwiPFwiIHwgXCI+XCIgfCBpbnQgKVxuXG5zaW5nbGVfcGFyYW1fZnVuY3Rpb25fY2FsbCA6Oj0gc2luZ2xlX3BhcmFtX2Z1bmN0aW9uIFwiKFwiIHNvdXJjZSBcIilcIiBcbnNpbmdsZV9wYXJhbV9mdW5jdGlvbiAgICAgIDo6PSBcIm1lYW5cIiB8IFwic3VtXCJcblxuY29uZGl0aW9uYWxfZnVuY3Rpb25fY2FsbCA6Oj0gXCJpZihcIiBwcmVkaWNhdGUgXCIsXCIgXCIgXCI/IHNvdXJjZSBcIixcIiBcIiBcIj8gc291cmNlIFwiKVwiXG5wcmVkaWNhdGUgICAgICAgICAgICAgICAgIDo6PSBzb3VyY2Vfd2l0aG91dF9yYW5nZSBjb25kaXRpb25hbF9vcGVyYXRvciBzb3VyY2Vfd2l0aG91dF9yYW5nZVxuc291cmNlX3dpdGhvdXRfcmFuZ2UgICAgICA6Oj0gc291cmNlX3JlZmVyZW5jZSB8IHNpbmdsZV9wYXJhbV9mdW5jdGlvbl9jYWxsIHwgY29uZGl0aW9uYWxfZnVuY3Rpb25fY2FsbCB8IGFsZ2VicmFpY19vcGVyYXRpb24gfCBmbG9hdCB8IHJlYWxcbmNvbmRpdGlvbmFsX29wZXJhdG9yICAgICAgOjo9IFwiPlwiIHwgXCI8XCIgfCBcIj49XCIgfCBcIjw9XCIgfCBcIj09XCIgfCBcIiE9XCJcblxuYWxnZWJyYWljX29wZXJhdGlvbiA6Oj0gXCIoXCIgc291cmNlIFwiIFwiPyBhbGdlYnJhaWNfb3BlcmF0b3IgXCIgXCI/IHNvdXJjZSBcIilcIlxuYWxnZWJyYWljX29wZXJhdG9yICA6Oj0gXCIrXCIgfCBcIi1cIiB8IFwiKlwiIHwgXCIvXCJcblxuZGlzcGxheV9kaXJlY3RpdmUgICAgICAgIDo6PSBcIjtcIiBkaXNwbGF5X2RpcmVjdGl2ZV9vcHRpb25cbmRpc3BsYXlfZGlyZWN0aXZlX29wdGlvbiA6Oj0gZm9ybWF0dGluZ19kaXJlY3RpdmVcbmZvcm1hdHRpbmdfZGlyZWN0aXZlICAgICA6Oj0gXCIlLlwiIGludCBcImZcIlxuXG5mbG9hdCA6Oj0gXCItXCI/IGludCBcIi5cIiBpbnRcbnJlYWwgOjo9IFwiLVwiPyBpbnRcbmludCAgOjo9IFswLTldK1xuYDtcbmNsYXNzIEZvcm11bGEge1xuICAgIGNvbnN0cnVjdG9yKGFzdCwgdGFibGUpIHtcbiAgICAgICAgdGhpcy5tZXJnZSA9ICh0YWJsZSkgPT4gdGhpcy5kZXN0aW5hdGlvbi5tZXJnZSh0aGlzLnNvdXJjZSwgdGFibGUpO1xuICAgICAgICBsZXQgZm9ybWF0dGVyID0gbmV3IGRpc3BsYXlfZGlyZWN0aXZlXzEuRGVmYXVsdEZvcm1hdHRlcigpO1xuICAgICAgICBpZiAoYXN0LmNoaWxkcmVuLmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgZm9ybWF0dGVyID0gbmV3IGRpc3BsYXlfZGlyZWN0aXZlXzEuRGlzcGxheURpcmVjdGl2ZShhc3QuY2hpbGRyZW5bMl0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gZGVzdGluYXRpb25fMS5uZXdEZXN0aW5hdGlvbihhc3QuY2hpbGRyZW5bMF0sIHRhYmxlLCBmb3JtYXR0ZXIpO1xuICAgICAgICBpZiAoZGVzdGluYXRpb24uaXNFcnIoKSkge1xuICAgICAgICAgICAgdGhyb3cgZGVzdGluYXRpb24uZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uLnZhbHVlO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IG5ldyBTb3VyY2UoYXN0LmNoaWxkcmVuWzFdLCB0YWJsZSk7XG4gICAgfVxufVxuZXhwb3J0cy5Gb3JtdWxhID0gRm9ybXVsYTtcbmNsYXNzIFNvdXJjZSB7XG4gICAgY29uc3RydWN0b3IoYXN0LCB0YWJsZSkge1xuICAgICAgICAvKipcbiAgICAgICAgICogZ2V0VmFsdWUgcmV0dXJucyB0aGUgZXZhbHVhdGVkIHZhbHVlIGZvciB0aGlzIHNvdXJjZSByZWN1cnNpdmVseS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZ2V0VmFsdWUgPSAodGFibGUsIGN1cnJlbnRDZWxsKSA9PiB0aGlzLmxvY2F0aW9uRGVzY3JpcHRvci5nZXRWYWx1ZSh0YWJsZSwgY3VycmVudENlbGwpO1xuICAgICAgICBpZiAoYXN0LnR5cGUgIT09ICdzb3VyY2UnICYmIGFzdC50eXBlICE9PSAnc291cmNlX3dpdGhvdXRfcmFuZ2UnKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignSW52YWxpZCBBU1QgdG9rZW4gdHlwZSBvZiAnICsgYXN0LnR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhc3QuY2hpbGRyZW4ubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVW5leHBlY3RlZCBjaGlsZHJlbiBsZW5ndGggaW4gU291cmNlJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyYW1DaGlsZCA9IGFzdC5jaGlsZHJlblswXTtcbiAgICAgICAgY29uc3QgdnAgPSBuZXdWYWx1ZVByb3ZpZGVyKHBhcmFtQ2hpbGQsIHRhYmxlKTtcbiAgICAgICAgaWYgKHZwLmlzRXJyKCkpIHtcbiAgICAgICAgICAgIHRocm93IHZwLmVycm9yO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9jYXRpb25EZXNjcmlwdG9yID0gdnAudmFsdWU7XG4gICAgfVxufVxuZXhwb3J0cy5Tb3VyY2UgPSBTb3VyY2U7XG5jb25zdCBuZXdWYWx1ZVByb3ZpZGVyID0gKGFzdCwgdGFibGUpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBzd2l0Y2ggKGFzdC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdyYW5nZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgcmFuZ2VfMS5SYW5nZShhc3QsIHRhYmxlKSk7XG4gICAgICAgICAgICBjYXNlICdzb3VyY2VfcmVmZXJlbmNlJzpcbiAgICAgICAgICAgICAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICAgICAgICAgICAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobGVuZ3RoRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyByZWZlcmVuY2VfMS5SZWZlcmVuY2UoYXN0LmNoaWxkcmVuWzBdLCB0YWJsZSkpO1xuICAgICAgICAgICAgY2FzZSAnc2luZ2xlX3BhcmFtX2Z1bmN0aW9uX2NhbGwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IHNpbmdsZV9wYXJhbV9mdW5jdGlvbl8xLlNpbmdsZVBhcmFtRnVuY3Rpb25DYWxsKGFzdCwgdGFibGUpKTtcbiAgICAgICAgICAgIGNhc2UgJ2NvbmRpdGlvbmFsX2Z1bmN0aW9uX2NhbGwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXZlcnRocm93XzEub2sobmV3IGNvbmRpdGlvbmFsX2Z1bmN0aW9uXzEuQ29uZGl0aW9uYWxGdW5jdGlvbkNhbGwoYXN0LCB0YWJsZSkpO1xuICAgICAgICAgICAgY2FzZSAnYWxnZWJyYWljX29wZXJhdGlvbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5vayhuZXcgYWxnZWJyYWljX29wZXJhdGlvbl8xLkFsZ2VicmFpY09wZXJhdGlvbihhc3QsIHRhYmxlKSk7XG4gICAgICAgICAgICBjYXNlICdyZWFsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyBjb25zdGFudF8xLkNvbnN0YW50KGFzdCwgdGFibGUpKTtcbiAgICAgICAgICAgIGNhc2UgJ2Zsb2F0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKG5ldyBjb25zdGFudF8xLkNvbnN0YW50KGFzdCwgdGFibGUpKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1VucmVjb2duaXplZCB2YWx1ZVByb3ZpZGVyIHR5cGUgJyArIGFzdC50eXBlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIoZXJyb3IpO1xuICAgIH1cbn07XG5jb25zdCBwYXJzZUFuZEFwcGx5ID0gKGZvcm11bGFMaW5lcywgdGFibGUpID0+IHtcbiAgICAvLyBQYXJzZSBlYWNoIGZvcm11bGEgbGluZSwgZmxhdHRlbmluZyB0aGUgcmVzdWx0aW5nIGxpc3RzIG9mIGZvcm11bGFzIGludG8gYVxuICAgIC8vIHNpbmdsZSBsaXN0LCBidXQgcmV0dXJuaW5nIGFuIGVycm9yIGlmIGFueSBmb3JtdWxhIGZhaWxzIHRvIHBhcnNlLlxuICAgIGNvbnN0IGZvcm11bGFzID0gZm9ybXVsYUxpbmVzLnJlZHVjZSgocHJldiwgZm9ybXVsYUxpbmUpID0+IHByZXYuYW5kVGhlbigoY3VycmVudEZvcm11bGFzKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0Zvcm11bGFzID0gZXhwb3J0cy5wYXJzZUZvcm11bGEoZm9ybXVsYUxpbmUsIHRhYmxlKTtcbiAgICAgICAgaWYgKG5ld0Zvcm11bGFzLmlzRXJyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXdGb3JtdWxhcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKGxvZGFzaF8xLmNvbmNhdChuZXdGb3JtdWxhcy52YWx1ZSwgY3VycmVudEZvcm11bGFzKSk7XG4gICAgfSksIG5ldmVydGhyb3dfMS5vayhbXSkpO1xuICAgIC8vIElmIHRoZXJlIGlzIG5vIGVycm9yLFxuICAgIHJldHVybiBmb3JtdWxhcy5hbmRUaGVuKChpbm5lckZvcm11bGFzKSA9PiBcbiAgICAvLyBmb3IgZWFjaCBmb3JtdWxhXG4gICAgaW5uZXJGb3JtdWxhcy5yZWR1Y2VSaWdodCgocHJldlZhbHVlLCBmb3JtdWxhKSA9PiBcbiAgICAvLyBJZiB0aGUgcHJldmlvdXMgZm9ybXVsYSBkaWRuJ3QgZ2l2ZSBhbiBlcnJvclxuICAgIHByZXZWYWx1ZS5hbmRUaGVuKChwcmV2VGFibGUpID0+IFxuICAgIC8vIGF0dGVtcHQgdG8gYXBwbHkgdGhpcyBmb3JtdWxhIHRvIHRoZSB0YWJsZSBhbmQgcmV0dXJuIHRoZSByZXN1bHRcbiAgICBmb3JtdWxhLm1lcmdlKHByZXZUYWJsZSkpLCBcbiAgICAvLyBTdGFydCB3aXRoIHRoZSBjdXJyZW50IHRhYmxlIHN0YXRlXG4gICAgbmV2ZXJ0aHJvd18xLm9rKHRhYmxlKSkpO1xufTtcbmV4cG9ydHMucGFyc2VBbmRBcHBseSA9IHBhcnNlQW5kQXBwbHk7XG4vKipcbiAqIFBhcnNlIHRoZSBwcm92aWRlZCBsaW5lLCByZXR1cm5pbmcgYW55IGZvdW5kIGZvcm11bGFzLiBBIHNpbmdsZSBsaW5lIG1heVxuICogY29udGFpbiB6ZXJvIG9yIG1vcmUgZm9ybXVsYXMuXG4gKlxuICogQHBhcmFtIGxpbmUgQSBsaW5lIG9mIHRoZSBmb3JtIGA8IS0tIFRCRk06IHtGT1JNVUxBfTo6e0ZPUk1VTEF9IC0tPmBcbiAqL1xuY29uc3QgcGFyc2VGb3JtdWxhID0gKGxpbmUsIHRhYmxlKSA9PiB7XG4gICAgY29uc3QgcGFyc2VyID0gbmV3IGVibmZfMS5HcmFtbWFycy5XM0MuUGFyc2VyKHBhcnNlckdyYW1tYXIpO1xuICAgIGNvbnN0IGFzdCA9IHBhcnNlci5nZXRBU1QobGluZSk7XG4gICAgLy8gVE9ETzogRGV0ZXJtaW5lIGhvdyB0byByZXR1cm4gZXJyb3JzIHdoZW4gYSBmb3JtdWxhLWxpa2Ugc3RyaW5nXG4gICAgLy8gICAgICAgaXMgbm90IGFjdHVhbGx5IGEgdmFsaWQgZm9ybXVsYS5cbiAgICBpZiAoIWFzdCkge1xuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycihuZXcgRXJyb3IoYEZvcm11bGEgJyR7bGluZX0nIGNvdWxkIG5vdCBiZSBwYXJzZWRgKSk7XG4gICAgfVxuICAgIGNvbnN0IHR5cGVFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrVHlwZShhc3QsICd0YmxmbV9saW5lJyk7XG4gICAgaWYgKHR5cGVFcnJvcikge1xuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLmVycih0eXBlRXJyb3IpO1xuICAgIH1cbiAgICBjb25zdCBsZW5ndGhFcnJvciA9IGFzdF91dGlsc18xLmNoZWNrQ2hpbGRMZW5ndGgoYXN0LCAxKTtcbiAgICBpZiAobGVuZ3RoRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG5ldmVydGhyb3dfMS5lcnIobGVuZ3RoRXJyb3IpO1xuICAgIH1cbiAgICBsZXQgdW5wYXJzZWRGb3JtdWxhcyA9IGFzdC5jaGlsZHJlblswXS5jaGlsZHJlbjtcbiAgICBjb25zdCBmb3JtdWxhcyA9IFtdO1xuICAgIHRyeSB7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGZvcm11bGFzLnB1c2gobmV3IEZvcm11bGEodW5wYXJzZWRGb3JtdWxhc1swXSwgdGFibGUpKTtcbiAgICAgICAgICAgIGlmICh1bnBhcnNlZEZvcm11bGFzLmxlbmd0aCA+IDEgJiYgdW5wYXJzZWRGb3JtdWxhc1sxXS50eXBlID09PSAnZm9ybXVsYV9saXN0Jykge1xuICAgICAgICAgICAgICAgIHVucGFyc2VkRm9ybXVsYXMgPSB1bnBhcnNlZEZvcm11bGFzWzFdLmNoaWxkcmVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdW5wYXJzZWRGb3JtdWxhcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlICh1bnBhcnNlZEZvcm11bGFzLmxlbmd0aCA+IDApO1xuICAgICAgICByZXR1cm4gbmV2ZXJ0aHJvd18xLm9rKGZvcm11bGFzKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBuZXZlcnRocm93XzEuZXJyKGVycm9yKTtcbiAgICB9XG59O1xuZXhwb3J0cy5wYXJzZUZvcm11bGEgPSBwYXJzZUZvcm11bGE7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVGFibGUgPSB2b2lkIDA7XG5jb25zdCBjYWxjXzEgPSByZXF1aXJlKFwiLi9jYWxjL2NhbGNcIik7XG5jb25zdCBmb2N1c18xID0gcmVxdWlyZShcIi4vZm9jdXNcIik7XG5jb25zdCBwb2ludF8xID0gcmVxdWlyZShcIi4vcG9pbnRcIik7XG5jb25zdCByYW5nZV8xID0gcmVxdWlyZShcIi4vcmFuZ2VcIik7XG4vKipcbiAqIEEgYFRhYmxlYCBvYmplY3QgcmVwcmVzZW50cyBhIHRhYmxlLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIFRhYmxlIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGBUYWJsZWAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvd3MgLSBBbiBhcnJheSBvZiByb3dzIHRoYXQgdGhlIHRhYmxlIGNvbnRhaW5zLlxuICAgICAqIEBwYXJhbSBmb3JtdWxhcyAtIEFuIGFycmF5IG9mIGZvcm11bGFzIGF0dGFjaGVkIHRvIHRoZSB0YWJsZS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihyb3dzKSB7XG4gICAgICAgIHRoaXMuX3Jvd3MgPSByb3dzLnNsaWNlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG51bWJlciBvZiByb3dzIGluIHRoZSB0YWJsZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygcm93cy5cbiAgICAgKi9cbiAgICBnZXRIZWlnaHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3dzLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgcm93cyBpbiB0aGUgdGFibGUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgcm93cy5cbiAgICAgKi9cbiAgICBnZXRXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvd3NcbiAgICAgICAgICAgIC5tYXAoKHJvdykgPT4gcm93LmdldFdpZHRoKCkpXG4gICAgICAgICAgICAucmVkdWNlKCh4LCB5KSA9PiBNYXRoLm1heCh4LCB5KSwgMCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHdpZHRoIG9mIHRoZSBoZWFkZXIgcm93LlxuICAgICAqIEFzc3VtZXMgdGhhdCBpdCBpcyBjYWxsZWQgb24gYSB2YWxpZCB0YWJsZSB3aXRoIGEgaGVhZGVyIHJvdy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB3aWR0aCBvZiB0aGUgaGVhZGVyIHJvd1xuICAgICAqL1xuICAgIGdldEhlYWRlcldpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93c1swXS5nZXRXaWR0aCgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSByb3dzIHRoYXQgdGhlIHRhYmxlIGNvbnRhaW5zLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgdGhlIHJvd3MuXG4gICAgICovXG4gICAgZ2V0Um93cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvd3Muc2xpY2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZGVsaW1pdGVyIHJvdyBvZiB0aGUgdGFibGUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgZGVsaW1pdGVyIHJvdzsgYHVuZGVmaW5lZGAgaWYgdGhlcmUgaXMgbm90IGRlbGltaXRlciByb3cuXG4gICAgICovXG4gICAgZ2V0RGVsaW1pdGVyUm93KCkge1xuICAgICAgICBjb25zdCByb3cgPSB0aGlzLl9yb3dzWzFdO1xuICAgICAgICBpZiAocm93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvdy5pc0RlbGltaXRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gcm93O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldHMgYSBjZWxsIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93SW5kZXggLSBSb3cgaW5kZXggb2YgdGhlIGNlbGwuXG4gICAgICogQHBhcmFtIGNvbHVtbkluZGV4IC0gQ29sdW1uIGluZGV4IG9mIHRoZSBjZWxsLlxuICAgICAqIEByZXR1cm5zIFRoZSBjZWxsIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXg7IGB1bmRlZmluZWRgIGlmIG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBnZXRDZWxsQXQocm93SW5kZXgsIGNvbHVtbkluZGV4KSB7XG4gICAgICAgIGNvbnN0IHJvdyA9IHRoaXMuX3Jvd3Nbcm93SW5kZXhdO1xuICAgICAgICBpZiAocm93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdy5nZXRDZWxsQXQoY29sdW1uSW5kZXgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBjZWxsIGF0IHRoZSBmb2N1cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb2N1cyAtIEZvY3VzIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY2VsbCBhdCB0aGUgZm9jdXM7IGB1bmRlZmluZWRgIGlmIG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBnZXRGb2N1c2VkQ2VsbChmb2N1cykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDZWxsQXQoZm9jdXMucm93LCBmb2N1cy5jb2x1bW4pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgdGFibGUgdG8gYW4gYXJyYXkgb2YgdGV4dCByZXByZXNlbnRhdGlvbnMgb2YgdGhlIHJvd3MuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB0ZXh0IHJlcHJlc2VudGF0aW9ucyBvZiB0aGUgcm93cy5cbiAgICAgKi9cbiAgICB0b0xpbmVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93cy5tYXAoKHJvdykgPT4gcm93LnRvVGV4dCgpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyBhIGNlbGwgaW4gdGhlIHRhYmxlIHRvIGEgbmV3IHZhbHVlLCByZXR1cm5pbmcgYSBjb3B5IG9mIHRoZSB0YWJsZVxuICAgICAqIHdpdGggdGhlIG1vZGlmaWVkIHZhbHVlLlxuICAgICAqXG4gICAgICogSWYgYW4gaW52YWxpZCBpbmRleCBpcyBwcm92aWRlZCwgdGhlIHRhYmxlIHdpbGwgYmUgdW5jaGFuZ2VkLlxuICAgICAqL1xuICAgIHNldENlbGxBdChyb3dJbmRleCwgY29sdW1uSW5kZXgsIHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHJvd3MgPSB0aGlzLmdldFJvd3MoKTsgLy8gYSBjb3B5XG4gICAgICAgIHJvd3Nbcm93SW5kZXhdID0gcm93c1tyb3dJbmRleF0uc2V0Q2VsbEF0KGNvbHVtbkluZGV4LCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBuZXcgVGFibGUocm93cyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIGEgZm9jdXMgZnJvbSBhIHBvaW50IGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwb3MgLSBBIHBvaW50IGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcGFyYW0gcm93T2Zmc2V0IC0gVGhlIHJvdyBpbmRleCB3aGVyZSB0aGUgdGFibGUgc3RhcnRzIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcmV0dXJucyBBIGZvY3VzIG9iamVjdCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBzcGVjaWZpZWQgcG9pbnQ7XG4gICAgICogYHVuZGVmaW5lZGAgaWYgdGhlIHJvdyBpbmRleCBpcyBvdXQgb2YgYm91bmRzLlxuICAgICAqL1xuICAgIGZvY3VzT2ZQb3NpdGlvbihwb3MsIHJvd09mZnNldCkge1xuICAgICAgICBjb25zdCByb3dJbmRleCA9IHBvcy5yb3cgLSByb3dPZmZzZXQ7XG4gICAgICAgIGNvbnN0IHJvdyA9IHRoaXMuX3Jvd3Nbcm93SW5kZXhdO1xuICAgICAgICBpZiAocm93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvcy5jb2x1bW4gPCByb3cubWFyZ2luTGVmdC5sZW5ndGggKyAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IGZvY3VzXzEuRm9jdXMocm93SW5kZXgsIC0xLCBwb3MuY29sdW1uKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZWxsV2lkdGhzID0gcm93LmdldENlbGxzKCkubWFwKChjZWxsKSA9PiBjZWxsLnJhd0NvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgbGV0IGNvbHVtblBvcyA9IHJvdy5tYXJnaW5MZWZ0Lmxlbmd0aCArIDE7IC8vIGxlZnQgbWFyZ2luICsgYSBwaXBlXG4gICAgICAgIGxldCBjb2x1bW5JbmRleCA9IDA7XG4gICAgICAgIGZvciAoOyBjb2x1bW5JbmRleCA8IGNlbGxXaWR0aHMubGVuZ3RoOyBjb2x1bW5JbmRleCsrKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uUG9zICsgY2VsbFdpZHRoc1tjb2x1bW5JbmRleF0gKyAxID4gcG9zLmNvbHVtbikge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sdW1uUG9zICs9IGNlbGxXaWR0aHNbY29sdW1uSW5kZXhdICsgMTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvZmZzZXQgPSBwb3MuY29sdW1uIC0gY29sdW1uUG9zO1xuICAgICAgICByZXR1cm4gbmV3IGZvY3VzXzEuRm9jdXMocm93SW5kZXgsIGNvbHVtbkluZGV4LCBvZmZzZXQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBhIHBvc2l0aW9uIGluIHRoZSB0ZXh0IGVkaXRvciBmcm9tIGEgZm9jdXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZm9jdXMgLSBBIGZvY3VzIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gcm93T2Zmc2V0IC0gVGhlIHJvdyBpbmRleCB3aGVyZSB0aGUgdGFibGUgc3RhcnRzIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcmV0dXJucyBBIHBvc2l0aW9uIGluIHRoZSB0ZXh0IGVkaXRvciB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBmb2N1cztcbiAgICAgKiBgdW5kZWZpbmVkYCBpZiB0aGUgZm9jdXNlZCByb3cgIGlzIG91dCBvZiB0aGUgdGFibGUuXG4gICAgICovXG4gICAgcG9zaXRpb25PZkZvY3VzKGZvY3VzLCByb3dPZmZzZXQpIHtcbiAgICAgICAgY29uc3Qgcm93ID0gdGhpcy5fcm93c1tmb2N1cy5yb3ddO1xuICAgICAgICBpZiAocm93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm93UG9zID0gZm9jdXMucm93ICsgcm93T2Zmc2V0O1xuICAgICAgICBpZiAoZm9jdXMuY29sdW1uIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBwb2ludF8xLlBvaW50KHJvd1BvcywgZm9jdXMub2Zmc2V0KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZWxsV2lkdGhzID0gcm93LmdldENlbGxzKCkubWFwKChjZWxsKSA9PiBjZWxsLnJhd0NvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgbWF4SW5kZXggPSBNYXRoLm1pbihmb2N1cy5jb2x1bW4sIGNlbGxXaWR0aHMubGVuZ3RoKTtcbiAgICAgICAgbGV0IGNvbHVtblBvcyA9IHJvdy5tYXJnaW5MZWZ0Lmxlbmd0aCArIDE7XG4gICAgICAgIGZvciAobGV0IGNvbHVtbkluZGV4ID0gMDsgY29sdW1uSW5kZXggPCBtYXhJbmRleDsgY29sdW1uSW5kZXgrKykge1xuICAgICAgICAgICAgY29sdW1uUG9zICs9IGNlbGxXaWR0aHNbY29sdW1uSW5kZXhdICsgMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IHBvaW50XzEuUG9pbnQocm93UG9zLCBjb2x1bW5Qb3MgKyBmb2N1cy5vZmZzZXQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBhIHNlbGVjdGlvbiByYW5nZSBmcm9tIGEgZm9jdXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZm9jdXMgLSBBIGZvY3VzIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gcm93T2Zmc2V0IC0gVGhlIHJvdyBpbmRleCB3aGVyZSB0aGUgdGFibGUgc3RhcnRzIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcmV0dXJucyBBIHJhbmdlIHRvIGJlIHNlbGVjdGVkIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGZvY3VzO1xuICAgICAqIGB1bmRlZmluZWRgIGlmIHRoZSBmb2N1cyBkb2VzIG5vdCBzcGVjaWZ5IGFueSBjZWxsIG9yIHRoZSBzcGVjaWZpZWQgY2VsbCBpcyBlbXB0eS5cbiAgICAgKi9cbiAgICBzZWxlY3Rpb25SYW5nZU9mRm9jdXMoZm9jdXMsIHJvd09mZnNldCkge1xuICAgICAgICBjb25zdCByb3cgPSB0aGlzLl9yb3dzW2ZvY3VzLnJvd107XG4gICAgICAgIGlmIChyb3cgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZWxsID0gcm93LmdldENlbGxBdChmb2N1cy5jb2x1bW4pO1xuICAgICAgICBpZiAoY2VsbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjZWxsLmNvbnRlbnQgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvd1BvcyA9IGZvY3VzLnJvdyArIHJvd09mZnNldDtcbiAgICAgICAgY29uc3QgY2VsbFdpZHRocyA9IHJvdy5nZXRDZWxscygpLm1hcCgoY2VsbCkgPT4gY2VsbC5yYXdDb250ZW50Lmxlbmd0aCk7XG4gICAgICAgIGxldCBjb2x1bW5Qb3MgPSByb3cubWFyZ2luTGVmdC5sZW5ndGggKyAxO1xuICAgICAgICBmb3IgKGxldCBjb2x1bW5JbmRleCA9IDA7IGNvbHVtbkluZGV4IDwgZm9jdXMuY29sdW1uOyBjb2x1bW5JbmRleCsrKSB7XG4gICAgICAgICAgICBjb2x1bW5Qb3MgKz0gY2VsbFdpZHRoc1tjb2x1bW5JbmRleF0gKyAxO1xuICAgICAgICB9XG4gICAgICAgIGNvbHVtblBvcyArPSBjZWxsLnBhZGRpbmdMZWZ0O1xuICAgICAgICByZXR1cm4gbmV3IHJhbmdlXzEuUmFuZ2UobmV3IHBvaW50XzEuUG9pbnQocm93UG9zLCBjb2x1bW5Qb3MpLCBuZXcgcG9pbnRfMS5Qb2ludChyb3dQb3MsIGNvbHVtblBvcyArIGNlbGwuY29udGVudC5sZW5ndGgpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRXZhbHVhdGUgdGhlIGZvcm11bGEsIGFwcGx5aW5nIHRoZSByZXN1bHRzIHRvIHRoaXMgdGFibGUgYW5kIHJldHVybmluZyB0aGVcbiAgICAgKiBjaGFuZ2VzIGFzIGEgbmV3IHRhYmxlLlxuICAgICAqL1xuICAgIGFwcGx5Rm9ybXVsYXMoZm9ybXVsYUxpbmVzKSB7XG4gICAgICAgIHJldHVybiBjYWxjXzEucGFyc2VBbmRBcHBseShmb3JtdWxhTGluZXMsIHRoaXMpO1xuICAgIH1cbn1cbmV4cG9ydHMuVGFibGUgPSBUYWJsZTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5yZWFkVGFibGUgPSBleHBvcnRzLl9tYXJnaW5SZWdleCA9IGV4cG9ydHMubWFyZ2luUmVnZXhTcmMgPSBleHBvcnRzLl9yZWFkUm93ID0gZXhwb3J0cy5fc3BsaXRDZWxscyA9IHZvaWQgMDtcbmNvbnN0IHRhYmxlXzEgPSByZXF1aXJlKFwiLi90YWJsZVwiKTtcbmNvbnN0IHRhYmxlX2NlbGxfMSA9IHJlcXVpcmUoXCIuL3RhYmxlLWNlbGxcIik7XG5jb25zdCB0YWJsZV9yb3dfMSA9IHJlcXVpcmUoXCIuL3RhYmxlLXJvd1wiKTtcbi8qKlxuICogU3BsaXRzIGEgdGV4dCBpbnRvIGNlbGxzLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IF9zcGxpdENlbGxzID0gKHRleHQpID0+IHtcbiAgICBjb25zdCBjZWxscyA9IFtdO1xuICAgIGxldCBidWYgPSAnJztcbiAgICBsZXQgcmVzdCA9IHRleHQ7XG4gICAgd2hpbGUgKHJlc3QgIT09ICcnKSB7XG4gICAgICAgIHN3aXRjaCAocmVzdFswXSkge1xuICAgICAgICAgICAgY2FzZSAnYCc6XG4gICAgICAgICAgICAgICAgLy8gcmVhZCBjb2RlIHNwYW5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0TWF0Y2ggPSByZXN0Lm1hdGNoKC9eYCovKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0TWF0Y2ggPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhc2Ugc3RhdGVtZW50IGVuc3VyZXMgZmlyc3QgY2hhciBpcyBhIGAgYW5kIHdlIGNhbm5vdCBnZXQgaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMganVzdCBzYXRpc2ZpZXMgdGhlIGNvbXBpbGVyLlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBzdGFydE1hdGNoWzBdO1xuICAgICAgICAgICAgICAgICAgICBsZXQgYnVmMSA9IHN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdDEgPSByZXN0LnN1YnN0cihzdGFydC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgY2xvc2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIChyZXN0MSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN0MVswXSA9PT0gJ2AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kTWF0Y2ggPSByZXN0MS5tYXRjaCgvXmAqLyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZE1hdGNoID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhc2Ugc3RhdGVtZW50IGVuc3VyZXMgZmlyc3QgY2hhciBpcyBhIGAgYW5kIHdlIGNhbm5vdCBnZXQgaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBqdXN0IHNhdGlzZmllcyB0aGUgY29tcGlsZXIuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBlbmRNYXRjaFswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYxICs9IGVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0MSA9IHJlc3QxLnN1YnN0cihlbmQubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW5kLmxlbmd0aCA9PT0gc3RhcnQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZjEgKz0gcmVzdDFbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdDEgPSByZXN0MS5zdWJzdHIoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNsb3NlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnVmICs9IGJ1ZjE7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN0ID0gcmVzdDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidWYgKz0gJ2AnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdCA9IHJlc3Quc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnXFxcXCc6XG4gICAgICAgICAgICAgICAgLy8gZXNjYXBlIG5leHQgY2hhcmFjdGVyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3QubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgYnVmICs9IHJlc3Quc3Vic3RyKDAsIDIpO1xuICAgICAgICAgICAgICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHIoMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBidWYgKz0gJ1xcXFwnO1xuICAgICAgICAgICAgICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHIoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnWyc6XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgZW5jb3VudGVyIGEgcmVuYW1lZCBbW2xpbmt8TGlua11dLCBhdXRvbWF0aWNhbGx5IGVzY2FwZSB0aGUgcGlwZVxuICAgICAgICAgICAgICAgIGJ1ZiArPSAnWyc7XG4gICAgICAgICAgICAgICAgcmVzdCA9IHJlc3Quc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgIGlmICgvXFxbW15cXFxcfFxcXV0rXFx8W158XFxdXStdXS8udGVzdChyZXN0KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpZHggPSByZXN0LmluZGV4T2YoJ3wnKTtcbiAgICAgICAgICAgICAgICAgICAgYnVmICs9IHJlc3Quc2xpY2UoMCwgaWR4KTtcbiAgICAgICAgICAgICAgICAgICAgYnVmICs9ICdcXFxcfCc7XG4gICAgICAgICAgICAgICAgICAgIHJlc3QgPSByZXN0LnN1YnN0cihpZHggKyAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd8JzpcbiAgICAgICAgICAgICAgICAvLyBmbHVzaCBidWZmZXJcbiAgICAgICAgICAgICAgICBjZWxscy5wdXNoKGJ1Zik7XG4gICAgICAgICAgICAgICAgYnVmID0gJyc7XG4gICAgICAgICAgICAgICAgcmVzdCA9IHJlc3Quc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBidWYgKz0gcmVzdFswXTtcbiAgICAgICAgICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHIoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2VsbHMucHVzaChidWYpO1xuICAgIHJldHVybiBjZWxscztcbn07XG5leHBvcnRzLl9zcGxpdENlbGxzID0gX3NwbGl0Q2VsbHM7XG4vKipcbiAqIFJlYWRzIGEgdGFibGUgcm93LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGV4dCAtIEEgdGV4dC5cbiAqIEBwYXJhbSBbbGVmdE1hcmdpblJlZ2V4PS9eXFxzKiQvXSAtIEEgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCB0aGF0IG1hdGNoZXMgbGVmdCBtYXJnaW4uXG4gKi9cbmNvbnN0IF9yZWFkUm93ID0gKHRleHQsIGxlZnRNYXJnaW5SZWdleCA9IC9eXFxzKiQvKSA9PiB7XG4gICAgbGV0IGNlbGxzID0gZXhwb3J0cy5fc3BsaXRDZWxscyh0ZXh0KTtcbiAgICBsZXQgbWFyZ2luTGVmdDtcbiAgICBpZiAoY2VsbHMubGVuZ3RoID4gMCAmJiBsZWZ0TWFyZ2luUmVnZXgudGVzdChjZWxsc1swXSkpIHtcbiAgICAgICAgbWFyZ2luTGVmdCA9IGNlbGxzWzBdO1xuICAgICAgICBjZWxscyA9IGNlbGxzLnNsaWNlKDEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbWFyZ2luTGVmdCA9ICcnO1xuICAgIH1cbiAgICBsZXQgbWFyZ2luUmlnaHQ7XG4gICAgaWYgKGNlbGxzLmxlbmd0aCA+IDEgJiYgL15cXHMqJC8udGVzdChjZWxsc1tjZWxscy5sZW5ndGggLSAxXSkpIHtcbiAgICAgICAgbWFyZ2luUmlnaHQgPSBjZWxsc1tjZWxscy5sZW5ndGggLSAxXTtcbiAgICAgICAgY2VsbHMgPSBjZWxscy5zbGljZSgwLCBjZWxscy5sZW5ndGggLSAxKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG1hcmdpblJpZ2h0ID0gJyc7XG4gICAgfVxuICAgIHJldHVybiBuZXcgdGFibGVfcm93XzEuVGFibGVSb3coY2VsbHMubWFwKChjZWxsKSA9PiBuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbChjZWxsKSksIG1hcmdpbkxlZnQsIG1hcmdpblJpZ2h0KTtcbn07XG5leHBvcnRzLl9yZWFkUm93ID0gX3JlYWRSb3c7XG4vKipcbiAqIENyZWF0ZXMgYSByZWdleCBzb3VyY2Ugc3RyaW5nIG9mIG1hcmdpbiBjaGFyYWN0ZXIgY2xhc3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBjaGFycyAtIEEgc2V0IG9mIGFkZGl0aW9uYWwgbWFyZ2luIGNoYXJhY3RlcnMuXG4gKiBBIHBpcGUgYHxgLCBhIGJhY2tzbGFzaCBgXFxgLCBhbmQgYSBiYWNrcXVvdGUgd2lsbCBiZSBpZ25vcmVkLlxuICogQHJldHVybiBBIHJlZ2V4IHNvdXJjZSBzdHJpbmcuXG4gKi9cbmNvbnN0IG1hcmdpblJlZ2V4U3JjID0gKGNoYXJzKSA9PiB7XG4gICAgbGV0IGNzID0gJyc7XG4gICAgLy8gZm9yIChjb25zdCBjIGNoYXJzLnZhbHVlcygpKSB7XG4gICAgY2hhcnMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICBpZiAoYyAhPT0gJ3wnICYmIGMgIT09ICdcXFxcJyAmJiBjICE9PSAnYCcpIHtcbiAgICAgICAgICAgIGNzICs9IGBcXFxcdXske2MuY29kZVBvaW50QXQoMCkudG9TdHJpbmcoMTYpfX1gO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGBbXFxcXHMke2NzfV0qYDtcbn07XG5leHBvcnRzLm1hcmdpblJlZ2V4U3JjID0gbWFyZ2luUmVnZXhTcmM7XG4vKipcbiAqIENyZWF0ZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gb2JqZWN0IHRoYXQgbWF0Y2hlcyBtYXJnaW4gb2YgdGFibGVzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gY2hhcnMgLSBBIHNldCBvZiBhZGRpdGlvbmFsIG1hcmdpbiBjaGFyYWN0ZXJzLlxuICogQSBwaXBlIGB8YCwgYSBiYWNrc2xhc2ggYFxcYCwgYW5kIGEgYmFja3F1b3RlIHdpbGwgYmUgaWdub3JlZC5cbiAqIEByZXR1cm4gQW4gcmVndWxhciBleHByZXNzaW9uIG9iamVjdCB0aGF0IG1hdGNoZXMgbWFyZ2luIG9mIHRhYmxlcy5cbiAqL1xuY29uc3QgX21hcmdpblJlZ2V4ID0gKGNoYXJzKSA9PiBuZXcgUmVnRXhwKGBeJHtleHBvcnRzLm1hcmdpblJlZ2V4U3JjKGNoYXJzKX0kYCwgJ3UnKTtcbmV4cG9ydHMuX21hcmdpblJlZ2V4ID0gX21hcmdpblJlZ2V4O1xuLyoqXG4gKiBSZWFkcyBhIHRhYmxlIGZyb20gbGluZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBsaW5lcyAtIEFuIGFycmF5IG9mIHRleHRzLCBlYWNoIHRleHQgcmVwcmVzZW50cyBhIHJvdy5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9ucyBmb3IgcGFyc2luZy5cbiAqIEByZXR1cm5zIFRoZSB0YWJsZSByZWFkIGZyb20gdGhlIGxpbmVzLlxuICovXG5jb25zdCByZWFkVGFibGUgPSAobGluZXMsIG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBsZWZ0TWFyZ2luUmVnZXggPSBleHBvcnRzLl9tYXJnaW5SZWdleChvcHRpb25zLmxlZnRNYXJnaW5DaGFycyk7XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKGxpbmVzLm1hcCgobGluZSkgPT4gZXhwb3J0cy5fcmVhZFJvdyhsaW5lLCBsZWZ0TWFyZ2luUmVnZXgpKSk7XG59O1xuZXhwb3J0cy5yZWFkVGFibGUgPSByZWFkVGFibGU7XG4iLCIvKlxyXG4gKiBHZW5lcmF0ZWQgYnkgc2NyaXB0LiBETyBOT1QgRURJVCFcclxuICpcclxuICogVGhlIHBhcnQgYmV0d2VlbiBCRUdJTiBhbmQgRU5EIGlzIGRlcml2ZWQgZnJvbSBVbmljb2RlIERhdGEgRmlsZXNcclxuICogYW5kIHByb3ZpZGVkIHVuZGVyIFVuaWNvZGUsIEluYy4gTGljZW5zZSBBZ3JlZW1lbnQuXHJcbiAqL1xyXG4vKiBCRUdJTiAqL1xyXG52YXIgZGVmcyA9IFtcclxuICAgIFswLCAzMSwgXCJOXCJdLFxyXG4gICAgWzMyLCAxMjYsIFwiTmFcIl0sXHJcbiAgICBbMTI3LCAxNjAsIFwiTlwiXSxcclxuICAgIFsxNjEsIDE2MSwgXCJBXCJdLFxyXG4gICAgWzE2MiwgMTYzLCBcIk5hXCJdLFxyXG4gICAgWzE2NCwgMTY0LCBcIkFcIl0sXHJcbiAgICBbMTY1LCAxNjYsIFwiTmFcIl0sXHJcbiAgICBbMTY3LCAxNjgsIFwiQVwiXSxcclxuICAgIFsxNjksIDE2OSwgXCJOXCJdLFxyXG4gICAgWzE3MCwgMTcwLCBcIkFcIl0sXHJcbiAgICBbMTcxLCAxNzEsIFwiTlwiXSxcclxuICAgIFsxNzIsIDE3MiwgXCJOYVwiXSxcclxuICAgIFsxNzMsIDE3NCwgXCJBXCJdLFxyXG4gICAgWzE3NSwgMTc1LCBcIk5hXCJdLFxyXG4gICAgWzE3NiwgMTgwLCBcIkFcIl0sXHJcbiAgICBbMTgxLCAxODEsIFwiTlwiXSxcclxuICAgIFsxODIsIDE4NiwgXCJBXCJdLFxyXG4gICAgWzE4NywgMTg3LCBcIk5cIl0sXHJcbiAgICBbMTg4LCAxOTEsIFwiQVwiXSxcclxuICAgIFsxOTIsIDE5NywgXCJOXCJdLFxyXG4gICAgWzE5OCwgMTk4LCBcIkFcIl0sXHJcbiAgICBbMTk5LCAyMDcsIFwiTlwiXSxcclxuICAgIFsyMDgsIDIwOCwgXCJBXCJdLFxyXG4gICAgWzIwOSwgMjE0LCBcIk5cIl0sXHJcbiAgICBbMjE1LCAyMTYsIFwiQVwiXSxcclxuICAgIFsyMTcsIDIyMSwgXCJOXCJdLFxyXG4gICAgWzIyMiwgMjI1LCBcIkFcIl0sXHJcbiAgICBbMjI2LCAyMjksIFwiTlwiXSxcclxuICAgIFsyMzAsIDIzMCwgXCJBXCJdLFxyXG4gICAgWzIzMSwgMjMxLCBcIk5cIl0sXHJcbiAgICBbMjMyLCAyMzQsIFwiQVwiXSxcclxuICAgIFsyMzUsIDIzNSwgXCJOXCJdLFxyXG4gICAgWzIzNiwgMjM3LCBcIkFcIl0sXHJcbiAgICBbMjM4LCAyMzksIFwiTlwiXSxcclxuICAgIFsyNDAsIDI0MCwgXCJBXCJdLFxyXG4gICAgWzI0MSwgMjQxLCBcIk5cIl0sXHJcbiAgICBbMjQyLCAyNDMsIFwiQVwiXSxcclxuICAgIFsyNDQsIDI0NiwgXCJOXCJdLFxyXG4gICAgWzI0NywgMjUwLCBcIkFcIl0sXHJcbiAgICBbMjUxLCAyNTEsIFwiTlwiXSxcclxuICAgIFsyNTIsIDI1MiwgXCJBXCJdLFxyXG4gICAgWzI1MywgMjUzLCBcIk5cIl0sXHJcbiAgICBbMjU0LCAyNTQsIFwiQVwiXSxcclxuICAgIFsyNTUsIDI1NiwgXCJOXCJdLFxyXG4gICAgWzI1NywgMjU3LCBcIkFcIl0sXHJcbiAgICBbMjU4LCAyNzIsIFwiTlwiXSxcclxuICAgIFsyNzMsIDI3MywgXCJBXCJdLFxyXG4gICAgWzI3NCwgMjc0LCBcIk5cIl0sXHJcbiAgICBbMjc1LCAyNzUsIFwiQVwiXSxcclxuICAgIFsyNzYsIDI4MiwgXCJOXCJdLFxyXG4gICAgWzI4MywgMjgzLCBcIkFcIl0sXHJcbiAgICBbMjg0LCAyOTMsIFwiTlwiXSxcclxuICAgIFsyOTQsIDI5NSwgXCJBXCJdLFxyXG4gICAgWzI5NiwgMjk4LCBcIk5cIl0sXHJcbiAgICBbMjk5LCAyOTksIFwiQVwiXSxcclxuICAgIFszMDAsIDMwNCwgXCJOXCJdLFxyXG4gICAgWzMwNSwgMzA3LCBcIkFcIl0sXHJcbiAgICBbMzA4LCAzMTEsIFwiTlwiXSxcclxuICAgIFszMTIsIDMxMiwgXCJBXCJdLFxyXG4gICAgWzMxMywgMzE4LCBcIk5cIl0sXHJcbiAgICBbMzE5LCAzMjIsIFwiQVwiXSxcclxuICAgIFszMjMsIDMyMywgXCJOXCJdLFxyXG4gICAgWzMyNCwgMzI0LCBcIkFcIl0sXHJcbiAgICBbMzI1LCAzMjcsIFwiTlwiXSxcclxuICAgIFszMjgsIDMzMSwgXCJBXCJdLFxyXG4gICAgWzMzMiwgMzMyLCBcIk5cIl0sXHJcbiAgICBbMzMzLCAzMzMsIFwiQVwiXSxcclxuICAgIFszMzQsIDMzNywgXCJOXCJdLFxyXG4gICAgWzMzOCwgMzM5LCBcIkFcIl0sXHJcbiAgICBbMzQwLCAzNTcsIFwiTlwiXSxcclxuICAgIFszNTgsIDM1OSwgXCJBXCJdLFxyXG4gICAgWzM2MCwgMzYyLCBcIk5cIl0sXHJcbiAgICBbMzYzLCAzNjMsIFwiQVwiXSxcclxuICAgIFszNjQsIDQ2MSwgXCJOXCJdLFxyXG4gICAgWzQ2MiwgNDYyLCBcIkFcIl0sXHJcbiAgICBbNDYzLCA0NjMsIFwiTlwiXSxcclxuICAgIFs0NjQsIDQ2NCwgXCJBXCJdLFxyXG4gICAgWzQ2NSwgNDY1LCBcIk5cIl0sXHJcbiAgICBbNDY2LCA0NjYsIFwiQVwiXSxcclxuICAgIFs0NjcsIDQ2NywgXCJOXCJdLFxyXG4gICAgWzQ2OCwgNDY4LCBcIkFcIl0sXHJcbiAgICBbNDY5LCA0NjksIFwiTlwiXSxcclxuICAgIFs0NzAsIDQ3MCwgXCJBXCJdLFxyXG4gICAgWzQ3MSwgNDcxLCBcIk5cIl0sXHJcbiAgICBbNDcyLCA0NzIsIFwiQVwiXSxcclxuICAgIFs0NzMsIDQ3MywgXCJOXCJdLFxyXG4gICAgWzQ3NCwgNDc0LCBcIkFcIl0sXHJcbiAgICBbNDc1LCA0NzUsIFwiTlwiXSxcclxuICAgIFs0NzYsIDQ3NiwgXCJBXCJdLFxyXG4gICAgWzQ3NywgNTkyLCBcIk5cIl0sXHJcbiAgICBbNTkzLCA1OTMsIFwiQVwiXSxcclxuICAgIFs1OTQsIDYwOCwgXCJOXCJdLFxyXG4gICAgWzYwOSwgNjA5LCBcIkFcIl0sXHJcbiAgICBbNjEwLCA3MDcsIFwiTlwiXSxcclxuICAgIFs3MDgsIDcwOCwgXCJBXCJdLFxyXG4gICAgWzcwOSwgNzEwLCBcIk5cIl0sXHJcbiAgICBbNzExLCA3MTEsIFwiQVwiXSxcclxuICAgIFs3MTIsIDcxMiwgXCJOXCJdLFxyXG4gICAgWzcxMywgNzE1LCBcIkFcIl0sXHJcbiAgICBbNzE2LCA3MTYsIFwiTlwiXSxcclxuICAgIFs3MTcsIDcxNywgXCJBXCJdLFxyXG4gICAgWzcxOCwgNzE5LCBcIk5cIl0sXHJcbiAgICBbNzIwLCA3MjAsIFwiQVwiXSxcclxuICAgIFs3MjEsIDcyNywgXCJOXCJdLFxyXG4gICAgWzcyOCwgNzMxLCBcIkFcIl0sXHJcbiAgICBbNzMyLCA3MzIsIFwiTlwiXSxcclxuICAgIFs3MzMsIDczMywgXCJBXCJdLFxyXG4gICAgWzczNCwgNzM0LCBcIk5cIl0sXHJcbiAgICBbNzM1LCA3MzUsIFwiQVwiXSxcclxuICAgIFs3MzYsIDc2NywgXCJOXCJdLFxyXG4gICAgWzc2OCwgODc5LCBcIkFcIl0sXHJcbiAgICBbODgwLCA5MTIsIFwiTlwiXSxcclxuICAgIFs5MTMsIDkyOSwgXCJBXCJdLFxyXG4gICAgWzkzMCwgOTMwLCBcIk5cIl0sXHJcbiAgICBbOTMxLCA5MzcsIFwiQVwiXSxcclxuICAgIFs5MzgsIDk0NCwgXCJOXCJdLFxyXG4gICAgWzk0NSwgOTYxLCBcIkFcIl0sXHJcbiAgICBbOTYyLCA5NjIsIFwiTlwiXSxcclxuICAgIFs5NjMsIDk2OSwgXCJBXCJdLFxyXG4gICAgWzk3MCwgMTAyNCwgXCJOXCJdLFxyXG4gICAgWzEwMjUsIDEwMjUsIFwiQVwiXSxcclxuICAgIFsxMDI2LCAxMDM5LCBcIk5cIl0sXHJcbiAgICBbMTA0MCwgMTEwMywgXCJBXCJdLFxyXG4gICAgWzExMDQsIDExMDQsIFwiTlwiXSxcclxuICAgIFsxMTA1LCAxMTA1LCBcIkFcIl0sXHJcbiAgICBbMTEwNiwgNDM1MSwgXCJOXCJdLFxyXG4gICAgWzQzNTIsIDQ0NDcsIFwiV1wiXSxcclxuICAgIFs0NDQ4LCA4MjA3LCBcIk5cIl0sXHJcbiAgICBbODIwOCwgODIwOCwgXCJBXCJdLFxyXG4gICAgWzgyMDksIDgyMTAsIFwiTlwiXSxcclxuICAgIFs4MjExLCA4MjE0LCBcIkFcIl0sXHJcbiAgICBbODIxNSwgODIxNSwgXCJOXCJdLFxyXG4gICAgWzgyMTYsIDgyMTcsIFwiQVwiXSxcclxuICAgIFs4MjE4LCA4MjE5LCBcIk5cIl0sXHJcbiAgICBbODIyMCwgODIyMSwgXCJBXCJdLFxyXG4gICAgWzgyMjIsIDgyMjMsIFwiTlwiXSxcclxuICAgIFs4MjI0LCA4MjI2LCBcIkFcIl0sXHJcbiAgICBbODIyNywgODIyNywgXCJOXCJdLFxyXG4gICAgWzgyMjgsIDgyMzEsIFwiQVwiXSxcclxuICAgIFs4MjMyLCA4MjM5LCBcIk5cIl0sXHJcbiAgICBbODI0MCwgODI0MCwgXCJBXCJdLFxyXG4gICAgWzgyNDEsIDgyNDEsIFwiTlwiXSxcclxuICAgIFs4MjQyLCA4MjQzLCBcIkFcIl0sXHJcbiAgICBbODI0NCwgODI0NCwgXCJOXCJdLFxyXG4gICAgWzgyNDUsIDgyNDUsIFwiQVwiXSxcclxuICAgIFs4MjQ2LCA4MjUwLCBcIk5cIl0sXHJcbiAgICBbODI1MSwgODI1MSwgXCJBXCJdLFxyXG4gICAgWzgyNTIsIDgyNTMsIFwiTlwiXSxcclxuICAgIFs4MjU0LCA4MjU0LCBcIkFcIl0sXHJcbiAgICBbODI1NSwgODMwNywgXCJOXCJdLFxyXG4gICAgWzgzMDgsIDgzMDgsIFwiQVwiXSxcclxuICAgIFs4MzA5LCA4MzE4LCBcIk5cIl0sXHJcbiAgICBbODMxOSwgODMxOSwgXCJBXCJdLFxyXG4gICAgWzgzMjAsIDgzMjAsIFwiTlwiXSxcclxuICAgIFs4MzIxLCA4MzI0LCBcIkFcIl0sXHJcbiAgICBbODMyNSwgODM2MCwgXCJOXCJdLFxyXG4gICAgWzgzNjEsIDgzNjEsIFwiSFwiXSxcclxuICAgIFs4MzYyLCA4MzYzLCBcIk5cIl0sXHJcbiAgICBbODM2NCwgODM2NCwgXCJBXCJdLFxyXG4gICAgWzgzNjUsIDg0NTAsIFwiTlwiXSxcclxuICAgIFs4NDUxLCA4NDUxLCBcIkFcIl0sXHJcbiAgICBbODQ1MiwgODQ1MiwgXCJOXCJdLFxyXG4gICAgWzg0NTMsIDg0NTMsIFwiQVwiXSxcclxuICAgIFs4NDU0LCA4NDU2LCBcIk5cIl0sXHJcbiAgICBbODQ1NywgODQ1NywgXCJBXCJdLFxyXG4gICAgWzg0NTgsIDg0NjYsIFwiTlwiXSxcclxuICAgIFs4NDY3LCA4NDY3LCBcIkFcIl0sXHJcbiAgICBbODQ2OCwgODQ2OSwgXCJOXCJdLFxyXG4gICAgWzg0NzAsIDg0NzAsIFwiQVwiXSxcclxuICAgIFs4NDcxLCA4NDgwLCBcIk5cIl0sXHJcbiAgICBbODQ4MSwgODQ4MiwgXCJBXCJdLFxyXG4gICAgWzg0ODMsIDg0ODUsIFwiTlwiXSxcclxuICAgIFs4NDg2LCA4NDg2LCBcIkFcIl0sXHJcbiAgICBbODQ4NywgODQ5MCwgXCJOXCJdLFxyXG4gICAgWzg0OTEsIDg0OTEsIFwiQVwiXSxcclxuICAgIFs4NDkyLCA4NTMwLCBcIk5cIl0sXHJcbiAgICBbODUzMSwgODUzMiwgXCJBXCJdLFxyXG4gICAgWzg1MzMsIDg1MzgsIFwiTlwiXSxcclxuICAgIFs4NTM5LCA4NTQyLCBcIkFcIl0sXHJcbiAgICBbODU0MywgODU0MywgXCJOXCJdLFxyXG4gICAgWzg1NDQsIDg1NTUsIFwiQVwiXSxcclxuICAgIFs4NTU2LCA4NTU5LCBcIk5cIl0sXHJcbiAgICBbODU2MCwgODU2OSwgXCJBXCJdLFxyXG4gICAgWzg1NzAsIDg1ODQsIFwiTlwiXSxcclxuICAgIFs4NTg1LCA4NTg1LCBcIkFcIl0sXHJcbiAgICBbODU4NiwgODU5MSwgXCJOXCJdLFxyXG4gICAgWzg1OTIsIDg2MDEsIFwiQVwiXSxcclxuICAgIFs4NjAyLCA4NjMxLCBcIk5cIl0sXHJcbiAgICBbODYzMiwgODYzMywgXCJBXCJdLFxyXG4gICAgWzg2MzQsIDg2NTcsIFwiTlwiXSxcclxuICAgIFs4NjU4LCA4NjU4LCBcIkFcIl0sXHJcbiAgICBbODY1OSwgODY1OSwgXCJOXCJdLFxyXG4gICAgWzg2NjAsIDg2NjAsIFwiQVwiXSxcclxuICAgIFs4NjYxLCA4Njc4LCBcIk5cIl0sXHJcbiAgICBbODY3OSwgODY3OSwgXCJBXCJdLFxyXG4gICAgWzg2ODAsIDg3MDMsIFwiTlwiXSxcclxuICAgIFs4NzA0LCA4NzA0LCBcIkFcIl0sXHJcbiAgICBbODcwNSwgODcwNSwgXCJOXCJdLFxyXG4gICAgWzg3MDYsIDg3MDcsIFwiQVwiXSxcclxuICAgIFs4NzA4LCA4NzEwLCBcIk5cIl0sXHJcbiAgICBbODcxMSwgODcxMiwgXCJBXCJdLFxyXG4gICAgWzg3MTMsIDg3MTQsIFwiTlwiXSxcclxuICAgIFs4NzE1LCA4NzE1LCBcIkFcIl0sXHJcbiAgICBbODcxNiwgODcxOCwgXCJOXCJdLFxyXG4gICAgWzg3MTksIDg3MTksIFwiQVwiXSxcclxuICAgIFs4NzIwLCA4NzIwLCBcIk5cIl0sXHJcbiAgICBbODcyMSwgODcyMSwgXCJBXCJdLFxyXG4gICAgWzg3MjIsIDg3MjQsIFwiTlwiXSxcclxuICAgIFs4NzI1LCA4NzI1LCBcIkFcIl0sXHJcbiAgICBbODcyNiwgODcyOSwgXCJOXCJdLFxyXG4gICAgWzg3MzAsIDg3MzAsIFwiQVwiXSxcclxuICAgIFs4NzMxLCA4NzMyLCBcIk5cIl0sXHJcbiAgICBbODczMywgODczNiwgXCJBXCJdLFxyXG4gICAgWzg3MzcsIDg3MzgsIFwiTlwiXSxcclxuICAgIFs4NzM5LCA4NzM5LCBcIkFcIl0sXHJcbiAgICBbODc0MCwgODc0MCwgXCJOXCJdLFxyXG4gICAgWzg3NDEsIDg3NDEsIFwiQVwiXSxcclxuICAgIFs4NzQyLCA4NzQyLCBcIk5cIl0sXHJcbiAgICBbODc0MywgODc0OCwgXCJBXCJdLFxyXG4gICAgWzg3NDksIDg3NDksIFwiTlwiXSxcclxuICAgIFs4NzUwLCA4NzUwLCBcIkFcIl0sXHJcbiAgICBbODc1MSwgODc1NSwgXCJOXCJdLFxyXG4gICAgWzg3NTYsIDg3NTksIFwiQVwiXSxcclxuICAgIFs4NzYwLCA4NzYzLCBcIk5cIl0sXHJcbiAgICBbODc2NCwgODc2NSwgXCJBXCJdLFxyXG4gICAgWzg3NjYsIDg3NzUsIFwiTlwiXSxcclxuICAgIFs4Nzc2LCA4Nzc2LCBcIkFcIl0sXHJcbiAgICBbODc3NywgODc3OSwgXCJOXCJdLFxyXG4gICAgWzg3ODAsIDg3ODAsIFwiQVwiXSxcclxuICAgIFs4NzgxLCA4Nzg1LCBcIk5cIl0sXHJcbiAgICBbODc4NiwgODc4NiwgXCJBXCJdLFxyXG4gICAgWzg3ODcsIDg3OTksIFwiTlwiXSxcclxuICAgIFs4ODAwLCA4ODAxLCBcIkFcIl0sXHJcbiAgICBbODgwMiwgODgwMywgXCJOXCJdLFxyXG4gICAgWzg4MDQsIDg4MDcsIFwiQVwiXSxcclxuICAgIFs4ODA4LCA4ODA5LCBcIk5cIl0sXHJcbiAgICBbODgxMCwgODgxMSwgXCJBXCJdLFxyXG4gICAgWzg4MTIsIDg4MTMsIFwiTlwiXSxcclxuICAgIFs4ODE0LCA4ODE1LCBcIkFcIl0sXHJcbiAgICBbODgxNiwgODgzMywgXCJOXCJdLFxyXG4gICAgWzg4MzQsIDg4MzUsIFwiQVwiXSxcclxuICAgIFs4ODM2LCA4ODM3LCBcIk5cIl0sXHJcbiAgICBbODgzOCwgODgzOSwgXCJBXCJdLFxyXG4gICAgWzg4NDAsIDg4NTIsIFwiTlwiXSxcclxuICAgIFs4ODUzLCA4ODUzLCBcIkFcIl0sXHJcbiAgICBbODg1NCwgODg1NiwgXCJOXCJdLFxyXG4gICAgWzg4NTcsIDg4NTcsIFwiQVwiXSxcclxuICAgIFs4ODU4LCA4ODY4LCBcIk5cIl0sXHJcbiAgICBbODg2OSwgODg2OSwgXCJBXCJdLFxyXG4gICAgWzg4NzAsIDg4OTQsIFwiTlwiXSxcclxuICAgIFs4ODk1LCA4ODk1LCBcIkFcIl0sXHJcbiAgICBbODg5NiwgODk3NywgXCJOXCJdLFxyXG4gICAgWzg5NzgsIDg5NzgsIFwiQVwiXSxcclxuICAgIFs4OTc5LCA4OTg1LCBcIk5cIl0sXHJcbiAgICBbODk4NiwgODk4NywgXCJXXCJdLFxyXG4gICAgWzg5ODgsIDkwMDAsIFwiTlwiXSxcclxuICAgIFs5MDAxLCA5MDAyLCBcIldcIl0sXHJcbiAgICBbOTAwMywgOTE5MiwgXCJOXCJdLFxyXG4gICAgWzkxOTMsIDkxOTYsIFwiV1wiXSxcclxuICAgIFs5MTk3LCA5MTk5LCBcIk5cIl0sXHJcbiAgICBbOTIwMCwgOTIwMCwgXCJXXCJdLFxyXG4gICAgWzkyMDEsIDkyMDIsIFwiTlwiXSxcclxuICAgIFs5MjAzLCA5MjAzLCBcIldcIl0sXHJcbiAgICBbOTIwNCwgOTMxMSwgXCJOXCJdLFxyXG4gICAgWzkzMTIsIDk0NDksIFwiQVwiXSxcclxuICAgIFs5NDUwLCA5NDUwLCBcIk5cIl0sXHJcbiAgICBbOTQ1MSwgOTU0NywgXCJBXCJdLFxyXG4gICAgWzk1NDgsIDk1NTEsIFwiTlwiXSxcclxuICAgIFs5NTUyLCA5NTg3LCBcIkFcIl0sXHJcbiAgICBbOTU4OCwgOTU5OSwgXCJOXCJdLFxyXG4gICAgWzk2MDAsIDk2MTUsIFwiQVwiXSxcclxuICAgIFs5NjE2LCA5NjE3LCBcIk5cIl0sXHJcbiAgICBbOTYxOCwgOTYyMSwgXCJBXCJdLFxyXG4gICAgWzk2MjIsIDk2MzEsIFwiTlwiXSxcclxuICAgIFs5NjMyLCA5NjMzLCBcIkFcIl0sXHJcbiAgICBbOTYzNCwgOTYzNCwgXCJOXCJdLFxyXG4gICAgWzk2MzUsIDk2NDEsIFwiQVwiXSxcclxuICAgIFs5NjQyLCA5NjQ5LCBcIk5cIl0sXHJcbiAgICBbOTY1MCwgOTY1MSwgXCJBXCJdLFxyXG4gICAgWzk2NTIsIDk2NTMsIFwiTlwiXSxcclxuICAgIFs5NjU0LCA5NjU1LCBcIkFcIl0sXHJcbiAgICBbOTY1NiwgOTY1OSwgXCJOXCJdLFxyXG4gICAgWzk2NjAsIDk2NjEsIFwiQVwiXSxcclxuICAgIFs5NjYyLCA5NjYzLCBcIk5cIl0sXHJcbiAgICBbOTY2NCwgOTY2NSwgXCJBXCJdLFxyXG4gICAgWzk2NjYsIDk2NjksIFwiTlwiXSxcclxuICAgIFs5NjcwLCA5NjcyLCBcIkFcIl0sXHJcbiAgICBbOTY3MywgOTY3NCwgXCJOXCJdLFxyXG4gICAgWzk2NzUsIDk2NzUsIFwiQVwiXSxcclxuICAgIFs5Njc2LCA5Njc3LCBcIk5cIl0sXHJcbiAgICBbOTY3OCwgOTY4MSwgXCJBXCJdLFxyXG4gICAgWzk2ODIsIDk2OTcsIFwiTlwiXSxcclxuICAgIFs5Njk4LCA5NzAxLCBcIkFcIl0sXHJcbiAgICBbOTcwMiwgOTcxMCwgXCJOXCJdLFxyXG4gICAgWzk3MTEsIDk3MTEsIFwiQVwiXSxcclxuICAgIFs5NzEyLCA5NzI0LCBcIk5cIl0sXHJcbiAgICBbOTcyNSwgOTcyNiwgXCJXXCJdLFxyXG4gICAgWzk3MjcsIDk3MzIsIFwiTlwiXSxcclxuICAgIFs5NzMzLCA5NzM0LCBcIkFcIl0sXHJcbiAgICBbOTczNSwgOTczNiwgXCJOXCJdLFxyXG4gICAgWzk3MzcsIDk3MzcsIFwiQVwiXSxcclxuICAgIFs5NzM4LCA5NzQxLCBcIk5cIl0sXHJcbiAgICBbOTc0MiwgOTc0MywgXCJBXCJdLFxyXG4gICAgWzk3NDQsIDk3NDcsIFwiTlwiXSxcclxuICAgIFs5NzQ4LCA5NzQ5LCBcIldcIl0sXHJcbiAgICBbOTc1MCwgOTc1NSwgXCJOXCJdLFxyXG4gICAgWzk3NTYsIDk3NTYsIFwiQVwiXSxcclxuICAgIFs5NzU3LCA5NzU3LCBcIk5cIl0sXHJcbiAgICBbOTc1OCwgOTc1OCwgXCJBXCJdLFxyXG4gICAgWzk3NTksIDk3OTEsIFwiTlwiXSxcclxuICAgIFs5NzkyLCA5NzkyLCBcIkFcIl0sXHJcbiAgICBbOTc5MywgOTc5MywgXCJOXCJdLFxyXG4gICAgWzk3OTQsIDk3OTQsIFwiQVwiXSxcclxuICAgIFs5Nzk1LCA5Nzk5LCBcIk5cIl0sXHJcbiAgICBbOTgwMCwgOTgxMSwgXCJXXCJdLFxyXG4gICAgWzk4MTIsIDk4MjMsIFwiTlwiXSxcclxuICAgIFs5ODI0LCA5ODI1LCBcIkFcIl0sXHJcbiAgICBbOTgyNiwgOTgyNiwgXCJOXCJdLFxyXG4gICAgWzk4MjcsIDk4MjksIFwiQVwiXSxcclxuICAgIFs5ODMwLCA5ODMwLCBcIk5cIl0sXHJcbiAgICBbOTgzMSwgOTgzNCwgXCJBXCJdLFxyXG4gICAgWzk4MzUsIDk4MzUsIFwiTlwiXSxcclxuICAgIFs5ODM2LCA5ODM3LCBcIkFcIl0sXHJcbiAgICBbOTgzOCwgOTgzOCwgXCJOXCJdLFxyXG4gICAgWzk4MzksIDk4MzksIFwiQVwiXSxcclxuICAgIFs5ODQwLCA5ODU0LCBcIk5cIl0sXHJcbiAgICBbOTg1NSwgOTg1NSwgXCJXXCJdLFxyXG4gICAgWzk4NTYsIDk4NzQsIFwiTlwiXSxcclxuICAgIFs5ODc1LCA5ODc1LCBcIldcIl0sXHJcbiAgICBbOTg3NiwgOTg4NSwgXCJOXCJdLFxyXG4gICAgWzk4ODYsIDk4ODcsIFwiQVwiXSxcclxuICAgIFs5ODg4LCA5ODg4LCBcIk5cIl0sXHJcbiAgICBbOTg4OSwgOTg4OSwgXCJXXCJdLFxyXG4gICAgWzk4OTAsIDk4OTcsIFwiTlwiXSxcclxuICAgIFs5ODk4LCA5ODk5LCBcIldcIl0sXHJcbiAgICBbOTkwMCwgOTkxNiwgXCJOXCJdLFxyXG4gICAgWzk5MTcsIDk5MTgsIFwiV1wiXSxcclxuICAgIFs5OTE5LCA5OTE5LCBcIkFcIl0sXHJcbiAgICBbOTkyMCwgOTkyMywgXCJOXCJdLFxyXG4gICAgWzk5MjQsIDk5MjUsIFwiV1wiXSxcclxuICAgIFs5OTI2LCA5OTMzLCBcIkFcIl0sXHJcbiAgICBbOTkzNCwgOTkzNCwgXCJXXCJdLFxyXG4gICAgWzk5MzUsIDk5MzksIFwiQVwiXSxcclxuICAgIFs5OTQwLCA5OTQwLCBcIldcIl0sXHJcbiAgICBbOTk0MSwgOTk1MywgXCJBXCJdLFxyXG4gICAgWzk5NTQsIDk5NTQsIFwiTlwiXSxcclxuICAgIFs5OTU1LCA5OTU1LCBcIkFcIl0sXHJcbiAgICBbOTk1NiwgOTk1OSwgXCJOXCJdLFxyXG4gICAgWzk5NjAsIDk5NjEsIFwiQVwiXSxcclxuICAgIFs5OTYyLCA5OTYyLCBcIldcIl0sXHJcbiAgICBbOTk2MywgOTk2OSwgXCJBXCJdLFxyXG4gICAgWzk5NzAsIDk5NzEsIFwiV1wiXSxcclxuICAgIFs5OTcyLCA5OTcyLCBcIkFcIl0sXHJcbiAgICBbOTk3MywgOTk3MywgXCJXXCJdLFxyXG4gICAgWzk5NzQsIDk5NzcsIFwiQVwiXSxcclxuICAgIFs5OTc4LCA5OTc4LCBcIldcIl0sXHJcbiAgICBbOTk3OSwgOTk4MCwgXCJBXCJdLFxyXG4gICAgWzk5ODEsIDk5ODEsIFwiV1wiXSxcclxuICAgIFs5OTgyLCA5OTgzLCBcIkFcIl0sXHJcbiAgICBbOTk4NCwgOTk4OCwgXCJOXCJdLFxyXG4gICAgWzk5ODksIDk5ODksIFwiV1wiXSxcclxuICAgIFs5OTkwLCA5OTkzLCBcIk5cIl0sXHJcbiAgICBbOTk5NCwgOTk5NSwgXCJXXCJdLFxyXG4gICAgWzk5OTYsIDEwMDIzLCBcIk5cIl0sXHJcbiAgICBbMTAwMjQsIDEwMDI0LCBcIldcIl0sXHJcbiAgICBbMTAwMjUsIDEwMDQ0LCBcIk5cIl0sXHJcbiAgICBbMTAwNDUsIDEwMDQ1LCBcIkFcIl0sXHJcbiAgICBbMTAwNDYsIDEwMDU5LCBcIk5cIl0sXHJcbiAgICBbMTAwNjAsIDEwMDYwLCBcIldcIl0sXHJcbiAgICBbMTAwNjEsIDEwMDYxLCBcIk5cIl0sXHJcbiAgICBbMTAwNjIsIDEwMDYyLCBcIldcIl0sXHJcbiAgICBbMTAwNjMsIDEwMDY2LCBcIk5cIl0sXHJcbiAgICBbMTAwNjcsIDEwMDY5LCBcIldcIl0sXHJcbiAgICBbMTAwNzAsIDEwMDcwLCBcIk5cIl0sXHJcbiAgICBbMTAwNzEsIDEwMDcxLCBcIldcIl0sXHJcbiAgICBbMTAwNzIsIDEwMTAxLCBcIk5cIl0sXHJcbiAgICBbMTAxMDIsIDEwMTExLCBcIkFcIl0sXHJcbiAgICBbMTAxMTIsIDEwMTMyLCBcIk5cIl0sXHJcbiAgICBbMTAxMzMsIDEwMTM1LCBcIldcIl0sXHJcbiAgICBbMTAxMzYsIDEwMTU5LCBcIk5cIl0sXHJcbiAgICBbMTAxNjAsIDEwMTYwLCBcIldcIl0sXHJcbiAgICBbMTAxNjEsIDEwMTc0LCBcIk5cIl0sXHJcbiAgICBbMTAxNzUsIDEwMTc1LCBcIldcIl0sXHJcbiAgICBbMTAxNzYsIDEwMjEzLCBcIk5cIl0sXHJcbiAgICBbMTAyMTQsIDEwMjIxLCBcIk5hXCJdLFxyXG4gICAgWzEwMjIyLCAxMDYyOCwgXCJOXCJdLFxyXG4gICAgWzEwNjI5LCAxMDYzMCwgXCJOYVwiXSxcclxuICAgIFsxMDYzMSwgMTEwMzQsIFwiTlwiXSxcclxuICAgIFsxMTAzNSwgMTEwMzYsIFwiV1wiXSxcclxuICAgIFsxMTAzNywgMTEwODcsIFwiTlwiXSxcclxuICAgIFsxMTA4OCwgMTEwODgsIFwiV1wiXSxcclxuICAgIFsxMTA4OSwgMTEwOTIsIFwiTlwiXSxcclxuICAgIFsxMTA5MywgMTEwOTMsIFwiV1wiXSxcclxuICAgIFsxMTA5NCwgMTEwOTcsIFwiQVwiXSxcclxuICAgIFsxMTA5OCwgMTE5MDMsIFwiTlwiXSxcclxuICAgIFsxMTkwNCwgMTE5MjksIFwiV1wiXSxcclxuICAgIFsxMTkzMCwgMTE5MzAsIFwiTlwiXSxcclxuICAgIFsxMTkzMSwgMTIwMTksIFwiV1wiXSxcclxuICAgIFsxMjAyMCwgMTIwMzEsIFwiTlwiXSxcclxuICAgIFsxMjAzMiwgMTIyNDUsIFwiV1wiXSxcclxuICAgIFsxMjI0NiwgMTIyNzEsIFwiTlwiXSxcclxuICAgIFsxMjI3MiwgMTIyODMsIFwiV1wiXSxcclxuICAgIFsxMjI4NCwgMTIyODcsIFwiTlwiXSxcclxuICAgIFsxMjI4OCwgMTIyODgsIFwiRlwiXSxcclxuICAgIFsxMjI4OSwgMTIzNTAsIFwiV1wiXSxcclxuICAgIFsxMjM1MSwgMTIzNTIsIFwiTlwiXSxcclxuICAgIFsxMjM1MywgMTI0MzgsIFwiV1wiXSxcclxuICAgIFsxMjQzOSwgMTI0NDAsIFwiTlwiXSxcclxuICAgIFsxMjQ0MSwgMTI1NDMsIFwiV1wiXSxcclxuICAgIFsxMjU0NCwgMTI1NDgsIFwiTlwiXSxcclxuICAgIFsxMjU0OSwgMTI1OTEsIFwiV1wiXSxcclxuICAgIFsxMjU5MiwgMTI1OTIsIFwiTlwiXSxcclxuICAgIFsxMjU5MywgMTI2ODYsIFwiV1wiXSxcclxuICAgIFsxMjY4NywgMTI2ODcsIFwiTlwiXSxcclxuICAgIFsxMjY4OCwgMTI3NzEsIFwiV1wiXSxcclxuICAgIFsxMjc3MiwgMTI3ODMsIFwiTlwiXSxcclxuICAgIFsxMjc4NCwgMTI4MzAsIFwiV1wiXSxcclxuICAgIFsxMjgzMSwgMTI4MzEsIFwiTlwiXSxcclxuICAgIFsxMjgzMiwgMTI4NzEsIFwiV1wiXSxcclxuICAgIFsxMjg3MiwgMTI4NzksIFwiQVwiXSxcclxuICAgIFsxMjg4MCwgMTk5MDMsIFwiV1wiXSxcclxuICAgIFsxOTkwNCwgMTk5NjcsIFwiTlwiXSxcclxuICAgIFsxOTk2OCwgNDIxMjQsIFwiV1wiXSxcclxuICAgIFs0MjEyNSwgNDIxMjcsIFwiTlwiXSxcclxuICAgIFs0MjEyOCwgNDIxODIsIFwiV1wiXSxcclxuICAgIFs0MjE4MywgNDMzNTksIFwiTlwiXSxcclxuICAgIFs0MzM2MCwgNDMzODgsIFwiV1wiXSxcclxuICAgIFs0MzM4OSwgNDQwMzEsIFwiTlwiXSxcclxuICAgIFs0NDAzMiwgNTUyMDMsIFwiV1wiXSxcclxuICAgIFs1NTIwNCwgNTczNDMsIFwiTlwiXSxcclxuICAgIFs1NzM0NCwgNjM3NDMsIFwiQVwiXSxcclxuICAgIFs2Mzc0NCwgNjQyNTUsIFwiV1wiXSxcclxuICAgIFs2NDI1NiwgNjUwMjMsIFwiTlwiXSxcclxuICAgIFs2NTAyNCwgNjUwMzksIFwiQVwiXSxcclxuICAgIFs2NTA0MCwgNjUwNDksIFwiV1wiXSxcclxuICAgIFs2NTA1MCwgNjUwNzEsIFwiTlwiXSxcclxuICAgIFs2NTA3MiwgNjUxMDYsIFwiV1wiXSxcclxuICAgIFs2NTEwNywgNjUxMDcsIFwiTlwiXSxcclxuICAgIFs2NTEwOCwgNjUxMjYsIFwiV1wiXSxcclxuICAgIFs2NTEyNywgNjUxMjcsIFwiTlwiXSxcclxuICAgIFs2NTEyOCwgNjUxMzEsIFwiV1wiXSxcclxuICAgIFs2NTEzMiwgNjUyODAsIFwiTlwiXSxcclxuICAgIFs2NTI4MSwgNjUzNzYsIFwiRlwiXSxcclxuICAgIFs2NTM3NywgNjU0NzAsIFwiSFwiXSxcclxuICAgIFs2NTQ3MSwgNjU0NzMsIFwiTlwiXSxcclxuICAgIFs2NTQ3NCwgNjU0NzksIFwiSFwiXSxcclxuICAgIFs2NTQ4MCwgNjU0ODEsIFwiTlwiXSxcclxuICAgIFs2NTQ4MiwgNjU0ODcsIFwiSFwiXSxcclxuICAgIFs2NTQ4OCwgNjU0ODksIFwiTlwiXSxcclxuICAgIFs2NTQ5MCwgNjU0OTUsIFwiSFwiXSxcclxuICAgIFs2NTQ5NiwgNjU0OTcsIFwiTlwiXSxcclxuICAgIFs2NTQ5OCwgNjU1MDAsIFwiSFwiXSxcclxuICAgIFs2NTUwMSwgNjU1MDMsIFwiTlwiXSxcclxuICAgIFs2NTUwNCwgNjU1MTAsIFwiRlwiXSxcclxuICAgIFs2NTUxMSwgNjU1MTEsIFwiTlwiXSxcclxuICAgIFs2NTUxMiwgNjU1MTgsIFwiSFwiXSxcclxuICAgIFs2NTUxOSwgNjU1MzIsIFwiTlwiXSxcclxuICAgIFs2NTUzMywgNjU1MzMsIFwiQVwiXSxcclxuICAgIFs2NTUzNCwgOTQxNzUsIFwiTlwiXSxcclxuICAgIFs5NDE3NiwgOTQxODAsIFwiV1wiXSxcclxuICAgIFs5NDE4MSwgOTQxOTEsIFwiTlwiXSxcclxuICAgIFs5NDE5MiwgOTQxOTMsIFwiV1wiXSxcclxuICAgIFs5NDE5NCwgOTQyMDcsIFwiTlwiXSxcclxuICAgIFs5NDIwOCwgMTAwMzQzLCBcIldcIl0sXHJcbiAgICBbMTAwMzQ0LCAxMDAzNTEsIFwiTlwiXSxcclxuICAgIFsxMDAzNTIsIDEwMTU4OSwgXCJXXCJdLFxyXG4gICAgWzEwMTU5MCwgMTAxNjMxLCBcIk5cIl0sXHJcbiAgICBbMTAxNjMyLCAxMDE2NDAsIFwiV1wiXSxcclxuICAgIFsxMDE2NDEsIDExMDU5MSwgXCJOXCJdLFxyXG4gICAgWzExMDU5MiwgMTEwODc4LCBcIldcIl0sXHJcbiAgICBbMTEwODc5LCAxMTA5MjcsIFwiTlwiXSxcclxuICAgIFsxMTA5MjgsIDExMDkzMCwgXCJXXCJdLFxyXG4gICAgWzExMDkzMSwgMTEwOTQ3LCBcIk5cIl0sXHJcbiAgICBbMTEwOTQ4LCAxMTA5NTEsIFwiV1wiXSxcclxuICAgIFsxMTA5NTIsIDExMDk1OSwgXCJOXCJdLFxyXG4gICAgWzExMDk2MCwgMTExMzU1LCBcIldcIl0sXHJcbiAgICBbMTExMzU2LCAxMjY5NzksIFwiTlwiXSxcclxuICAgIFsxMjY5ODAsIDEyNjk4MCwgXCJXXCJdLFxyXG4gICAgWzEyNjk4MSwgMTI3MTgyLCBcIk5cIl0sXHJcbiAgICBbMTI3MTgzLCAxMjcxODMsIFwiV1wiXSxcclxuICAgIFsxMjcxODQsIDEyNzIzMSwgXCJOXCJdLFxyXG4gICAgWzEyNzIzMiwgMTI3MjQyLCBcIkFcIl0sXHJcbiAgICBbMTI3MjQzLCAxMjcyNDcsIFwiTlwiXSxcclxuICAgIFsxMjcyNDgsIDEyNzI3NywgXCJBXCJdLFxyXG4gICAgWzEyNzI3OCwgMTI3Mjc5LCBcIk5cIl0sXHJcbiAgICBbMTI3MjgwLCAxMjczMzcsIFwiQVwiXSxcclxuICAgIFsxMjczMzgsIDEyNzM0MywgXCJOXCJdLFxyXG4gICAgWzEyNzM0NCwgMTI3MzczLCBcIkFcIl0sXHJcbiAgICBbMTI3Mzc0LCAxMjczNzQsIFwiV1wiXSxcclxuICAgIFsxMjczNzUsIDEyNzM3NiwgXCJBXCJdLFxyXG4gICAgWzEyNzM3NywgMTI3Mzg2LCBcIldcIl0sXHJcbiAgICBbMTI3Mzg3LCAxMjc0MDQsIFwiQVwiXSxcclxuICAgIFsxMjc0MDUsIDEyNzQ4NywgXCJOXCJdLFxyXG4gICAgWzEyNzQ4OCwgMTI3NDkwLCBcIldcIl0sXHJcbiAgICBbMTI3NDkxLCAxMjc1MDMsIFwiTlwiXSxcclxuICAgIFsxMjc1MDQsIDEyNzU0NywgXCJXXCJdLFxyXG4gICAgWzEyNzU0OCwgMTI3NTUxLCBcIk5cIl0sXHJcbiAgICBbMTI3NTUyLCAxMjc1NjAsIFwiV1wiXSxcclxuICAgIFsxMjc1NjEsIDEyNzU2NywgXCJOXCJdLFxyXG4gICAgWzEyNzU2OCwgMTI3NTY5LCBcIldcIl0sXHJcbiAgICBbMTI3NTcwLCAxMjc1ODMsIFwiTlwiXSxcclxuICAgIFsxMjc1ODQsIDEyNzU4OSwgXCJXXCJdLFxyXG4gICAgWzEyNzU5MCwgMTI3NzQzLCBcIk5cIl0sXHJcbiAgICBbMTI3NzQ0LCAxMjc3NzYsIFwiV1wiXSxcclxuICAgIFsxMjc3NzcsIDEyNzc4OCwgXCJOXCJdLFxyXG4gICAgWzEyNzc4OSwgMTI3Nzk3LCBcIldcIl0sXHJcbiAgICBbMTI3Nzk4LCAxMjc3OTgsIFwiTlwiXSxcclxuICAgIFsxMjc3OTksIDEyNzg2OCwgXCJXXCJdLFxyXG4gICAgWzEyNzg2OSwgMTI3ODY5LCBcIk5cIl0sXHJcbiAgICBbMTI3ODcwLCAxMjc4OTEsIFwiV1wiXSxcclxuICAgIFsxMjc4OTIsIDEyNzkwMywgXCJOXCJdLFxyXG4gICAgWzEyNzkwNCwgMTI3OTQ2LCBcIldcIl0sXHJcbiAgICBbMTI3OTQ3LCAxMjc5NTAsIFwiTlwiXSxcclxuICAgIFsxMjc5NTEsIDEyNzk1NSwgXCJXXCJdLFxyXG4gICAgWzEyNzk1NiwgMTI3OTY3LCBcIk5cIl0sXHJcbiAgICBbMTI3OTY4LCAxMjc5ODQsIFwiV1wiXSxcclxuICAgIFsxMjc5ODUsIDEyNzk4NywgXCJOXCJdLFxyXG4gICAgWzEyNzk4OCwgMTI3OTg4LCBcIldcIl0sXHJcbiAgICBbMTI3OTg5LCAxMjc5OTEsIFwiTlwiXSxcclxuICAgIFsxMjc5OTIsIDEyODA2MiwgXCJXXCJdLFxyXG4gICAgWzEyODA2MywgMTI4MDYzLCBcIk5cIl0sXHJcbiAgICBbMTI4MDY0LCAxMjgwNjQsIFwiV1wiXSxcclxuICAgIFsxMjgwNjUsIDEyODA2NSwgXCJOXCJdLFxyXG4gICAgWzEyODA2NiwgMTI4MjUyLCBcIldcIl0sXHJcbiAgICBbMTI4MjUzLCAxMjgyNTQsIFwiTlwiXSxcclxuICAgIFsxMjgyNTUsIDEyODMxNywgXCJXXCJdLFxyXG4gICAgWzEyODMxOCwgMTI4MzMwLCBcIk5cIl0sXHJcbiAgICBbMTI4MzMxLCAxMjgzMzQsIFwiV1wiXSxcclxuICAgIFsxMjgzMzUsIDEyODMzNSwgXCJOXCJdLFxyXG4gICAgWzEyODMzNiwgMTI4MzU5LCBcIldcIl0sXHJcbiAgICBbMTI4MzYwLCAxMjgzNzcsIFwiTlwiXSxcclxuICAgIFsxMjgzNzgsIDEyODM3OCwgXCJXXCJdLFxyXG4gICAgWzEyODM3OSwgMTI4NDA0LCBcIk5cIl0sXHJcbiAgICBbMTI4NDA1LCAxMjg0MDYsIFwiV1wiXSxcclxuICAgIFsxMjg0MDcsIDEyODQxOSwgXCJOXCJdLFxyXG4gICAgWzEyODQyMCwgMTI4NDIwLCBcIldcIl0sXHJcbiAgICBbMTI4NDIxLCAxMjg1MDYsIFwiTlwiXSxcclxuICAgIFsxMjg1MDcsIDEyODU5MSwgXCJXXCJdLFxyXG4gICAgWzEyODU5MiwgMTI4NjM5LCBcIk5cIl0sXHJcbiAgICBbMTI4NjQwLCAxMjg3MDksIFwiV1wiXSxcclxuICAgIFsxMjg3MTAsIDEyODcxNSwgXCJOXCJdLFxyXG4gICAgWzEyODcxNiwgMTI4NzE2LCBcIldcIl0sXHJcbiAgICBbMTI4NzE3LCAxMjg3MTksIFwiTlwiXSxcclxuICAgIFsxMjg3MjAsIDEyODcyMiwgXCJXXCJdLFxyXG4gICAgWzEyODcyMywgMTI4NzI0LCBcIk5cIl0sXHJcbiAgICBbMTI4NzI1LCAxMjg3MjcsIFwiV1wiXSxcclxuICAgIFsxMjg3MjgsIDEyODc0NiwgXCJOXCJdLFxyXG4gICAgWzEyODc0NywgMTI4NzQ4LCBcIldcIl0sXHJcbiAgICBbMTI4NzQ5LCAxMjg3NTUsIFwiTlwiXSxcclxuICAgIFsxMjg3NTYsIDEyODc2NCwgXCJXXCJdLFxyXG4gICAgWzEyODc2NSwgMTI4OTkxLCBcIk5cIl0sXHJcbiAgICBbMTI4OTkyLCAxMjkwMDMsIFwiV1wiXSxcclxuICAgIFsxMjkwMDQsIDEyOTI5MSwgXCJOXCJdLFxyXG4gICAgWzEyOTI5MiwgMTI5MzM4LCBcIldcIl0sXHJcbiAgICBbMTI5MzM5LCAxMjkzMzksIFwiTlwiXSxcclxuICAgIFsxMjkzNDAsIDEyOTM0OSwgXCJXXCJdLFxyXG4gICAgWzEyOTM1MCwgMTI5MzUwLCBcIk5cIl0sXHJcbiAgICBbMTI5MzUxLCAxMjk0MDAsIFwiV1wiXSxcclxuICAgIFsxMjk0MDEsIDEyOTQwMSwgXCJOXCJdLFxyXG4gICAgWzEyOTQwMiwgMTI5NDgzLCBcIldcIl0sXHJcbiAgICBbMTI5NDg0LCAxMjk0ODQsIFwiTlwiXSxcclxuICAgIFsxMjk0ODUsIDEyOTUzNSwgXCJXXCJdLFxyXG4gICAgWzEyOTUzNiwgMTI5NjQ3LCBcIk5cIl0sXHJcbiAgICBbMTI5NjQ4LCAxMjk2NTIsIFwiV1wiXSxcclxuICAgIFsxMjk2NTMsIDEyOTY1NSwgXCJOXCJdLFxyXG4gICAgWzEyOTY1NiwgMTI5NjU4LCBcIldcIl0sXHJcbiAgICBbMTI5NjU5LCAxMjk2NjMsIFwiTlwiXSxcclxuICAgIFsxMjk2NjQsIDEyOTY3MCwgXCJXXCJdLFxyXG4gICAgWzEyOTY3MSwgMTI5Njc5LCBcIk5cIl0sXHJcbiAgICBbMTI5NjgwLCAxMjk3MDQsIFwiV1wiXSxcclxuICAgIFsxMjk3MDUsIDEyOTcxMSwgXCJOXCJdLFxyXG4gICAgWzEyOTcxMiwgMTI5NzE4LCBcIldcIl0sXHJcbiAgICBbMTI5NzE5LCAxMjk3MjcsIFwiTlwiXSxcclxuICAgIFsxMjk3MjgsIDEyOTczMCwgXCJXXCJdLFxyXG4gICAgWzEyOTczMSwgMTI5NzQzLCBcIk5cIl0sXHJcbiAgICBbMTI5NzQ0LCAxMjk3NTAsIFwiV1wiXSxcclxuICAgIFsxMjk3NTEsIDEzMTA3MSwgXCJOXCJdLFxyXG4gICAgWzEzMTA3MiwgMTk2NjA1LCBcIldcIl0sXHJcbiAgICBbMTk2NjA2LCAxOTY2MDcsIFwiTlwiXSxcclxuICAgIFsxOTY2MDgsIDI2MjE0MSwgXCJXXCJdLFxyXG4gICAgWzI2MjE0MiwgOTE3NzU5LCBcIk5cIl0sXHJcbiAgICBbOTE3NzYwLCA5MTc5OTksIFwiQVwiXSxcclxuICAgIFs5MTgwMDAsIDk4MzAzOSwgXCJOXCJdLFxyXG4gICAgWzk4MzA0MCwgMTA0ODU3MywgXCJBXCJdLFxyXG4gICAgWzEwNDg1NzQsIDEwNDg1NzUsIFwiTlwiXSxcclxuICAgIFsxMDQ4NTc2LCAxMTE0MTA5LCBcIkFcIl0sXHJcbiAgICBbMTExNDExMCwgMTExNDExMSwgXCJOXCJdLFxyXG5dO1xyXG4vKiBFTkQgKi9cclxudmFyIHZlcnNpb24gPSBcIjEzLjAuMFwiO1xuXG4vKipcclxuICogR2V0cyB0aGUgRUFXIHByb3BlcnR5IG9mIGEgY29kZSBwb2ludC5cclxuICogQHBhcmFtIGNvZGVQb2ludCBDb2RlIHBvaW50XHJcbiAqIEByZXR1cm4gVGhlIEVBVyBwcm9wZXJ0eSBvZiB0aGUgY29kZSBwb2ludFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0RUFXT2ZDb2RlUG9pbnQoY29kZVBvaW50KSB7XHJcbiAgICB2YXIgbWluID0gMDtcclxuICAgIHZhciBtYXggPSBkZWZzLmxlbmd0aCAtIDE7XHJcbiAgICB3aGlsZSAobWluICE9PSBtYXgpIHtcclxuICAgICAgICB2YXIgaSA9IG1pbiArICgobWF4IC0gbWluKSA+PiAxKTtcclxuICAgICAgICB2YXIgX2EgPSBkZWZzW2ldLCBzdGFydCA9IF9hWzBdLCBlbmQgPSBfYVsxXSwgcHJvcCA9IF9hWzJdO1xyXG4gICAgICAgIGlmIChjb2RlUG9pbnQgPCBzdGFydCkge1xyXG4gICAgICAgICAgICBtYXggPSBpIC0gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoY29kZVBvaW50ID4gZW5kKSB7XHJcbiAgICAgICAgICAgIG1pbiA9IGkgKyAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRlZnNbbWluXVsyXTtcclxufVxyXG4vKipcclxuICogR2V0cyB0aGUgRUFXIHByb3BlcnR5IG9mIGEgY2hhcmFjdGVyLlxyXG4gKiBAcGFyYW0gc3RyIENoYXJhY3RlciBzdHJpbmdcclxuICogQHBhcmFtIHBvcyBDaGFyYWN0ZXIgcG9zaXRpb24gKGluIGNvZGUgdW5pdCkgKGRlZmF1bHQgPSAwKVxyXG4gKiBAcmV0dXJuIFRoZSBFQVcgcHJvcGVydHkgb2YgdGhlIGNoYXJhY3RlclxyXG4gKiBAZXhhbXBsZVxyXG4gKiBpbXBvcnQgeyBnZXRFQVcgfSBmcm9tIFwibWVhd1wiO1xyXG4gKlxyXG4gKiAvLyBOYXJyb3dcclxuICogYXNzZXJ0KGdldEVBVyhcIkFcIikgPT09IFwiTmFcIik7XHJcbiAqIC8vIFdpZGVcclxuICogYXNzZXJ0KGdldEVBVyhcIuOBglwiKSA9PT0gXCJXXCIpO1xyXG4gKiBhc3NlcnQoZ2V0RUFXKFwi5a6JXCIpID09PSBcIldcIik7XHJcbiAqIGFzc2VydChnZXRFQVcoXCLwn42jXCIpID09PSBcIldcIik7XHJcbiAqIC8vIEZ1bGx3aWR0aFxyXG4gKiBhc3NlcnQoZ2V0RUFXKFwi77yhXCIpID09PSBcIkZcIik7XHJcbiAqIC8vIEhhbGZ3aWR0aFxyXG4gKiBhc3NlcnQoZ2V0RUFXKFwi772xXCIpID09PSBcIkhcIik7XHJcbiAqIC8vIEFtYmlndW91c1xyXG4gKiBhc3NlcnQoZ2V0RUFXKFwi4oiAXCIpID09PSBcIkFcIik7XHJcbiAqIGFzc2VydChnZXRFQVcoXCLihpJcIikgPT09IFwiQVwiKTtcclxuICogYXNzZXJ0KGdldEVBVyhcIs6pXCIpID09PSBcIkFcIik7XHJcbiAqIGFzc2VydChnZXRFQVcoXCLQr1wiKSA9PT0gXCJBXCIpO1xyXG4gKiAvLyBOZXV0cmFsXHJcbiAqIGFzc2VydChnZXRFQVcoXCLihLVcIikgPT09IFwiTlwiKTtcclxuICpcclxuICogLy8gY2hhcmFjdGVyIHBvc2l0aW9uIChpbiBjb2RlIHVuaXQpIGNhbiBiZSBzcGVjaWZpZWRcclxuICogYXNzZXJ0KGdldEVBVyhcIuKEtUHjgYLvvKHvvbHiiIBcIiwgMikgPT09IFwiV1wiKTtcclxuICovXHJcbmZ1bmN0aW9uIGdldEVBVyhzdHIsIHBvcykge1xyXG4gICAgaWYgKHBvcyA9PT0gdm9pZCAwKSB7IHBvcyA9IDA7IH1cclxuICAgIHZhciBjb2RlUG9pbnQgPSBzdHIuY29kZVBvaW50QXQocG9zKTtcclxuICAgIGlmIChjb2RlUG9pbnQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZ2V0RUFXT2ZDb2RlUG9pbnQoY29kZVBvaW50KTtcclxufVxuXG52YXIgZGVmYXVsdFdpZHRocyA9IHtcclxuICAgIE46IDEsXHJcbiAgICBOYTogMSxcclxuICAgIFc6IDIsXHJcbiAgICBGOiAyLFxyXG4gICAgSDogMSxcclxuICAgIEE6IDEsXHJcbn07XHJcbi8qKlxyXG4gKiBDb21wdXRlcyB0aGUgd2lkdGggb2YgYSBzdHJpbmcgYmFzZWQgb24gdGhlIEVBVyBwcm9wZXJ0aWVzIG9mIHRoZSBjaGFyYWN0ZXJzLlxyXG4gKiBCeSBkZWZhdWx0LCBjaGFyYWN0ZXJzIHdpdGggcHJvcGVydHkgV2lkZSAoVykgb3IgRnVsbHdpZHRoIChGKSBhcmUgdHJlYXRlZCBhcyB3aWRlICg9IDIpXHJcbiAqIGFuZCBvdGhlcnMgYXJlIGFzIG5hcnJvdyAoPSAxKS5cclxuICogQHBhcmFtIHN0ciBDaGFyYWN0ZXIgc3RyaW5nXHJcbiAqIEBwYXJhbSB3aWR0aHMgQW4gb2JqZWN0IHRoYXQgbWFwcyBFQVcgcHJvcGVydGllcyB0byBjaGFyYWN0ZXIgd2lkdGhzXHJcbiAqIEByZXR1cm4gVGhlIGNvbXB1dGVkIHdpZHRoXHJcbiAqIEBleGFtcGxlXHJcbiAqIGltcG9ydCB7IGNvbXB1dGVXaWR0aCB9IGZyb20gXCJtZWF3XCI7XHJcbiAqXHJcbiAqIGFzc2VydChjb21wdXRlV2lkdGgoXCJB44GC8J+No86pXCIpID09PSA2KTtcclxuICogLy8gY2hhcmFjdGVyIHdpZHRoIGZvciBlYWNoIEVBVyBwcm9wZXJ0eSBjYW4gYmUgY3VzdG9taXplZFxyXG4gKiBhc3NlcnQoY29tcHV0ZVdpZHRoKFwiQeOBgvCfjaPOqVwiLCB7IFwiQVwiOiAyIH0pID09PSA3KTtcclxuICovXHJcbmZ1bmN0aW9uIGNvbXB1dGVXaWR0aChzdHIsIHdpZHRocykge1xyXG4gICAgdmFyIHdpZHRoID0gMDtcclxuICAgIGZvciAodmFyIF9pID0gMCwgc3RyXzEgPSBzdHI7IF9pIDwgc3RyXzEubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgdmFyIGNoYXIgPSBzdHJfMVtfaV07XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gLS0gY2hhciBjYW5ub3QgYmUgZW1wdHlcclxuICAgICAgICB2YXIgZWF3ID0gZ2V0RUFXKGNoYXIpO1xyXG4gICAgICAgIHdpZHRoICs9ICh3aWR0aHMgJiYgd2lkdGhzW2Vhd10pIHx8IGRlZmF1bHRXaWR0aHNbZWF3XTtcclxuICAgIH1cclxuICAgIHJldHVybiB3aWR0aDtcclxufVxuXG5leHBvcnQgeyBjb21wdXRlV2lkdGgsIHZlcnNpb24gYXMgZWF3VmVyc2lvbiwgZ2V0RUFXIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMubW92ZUNvbHVtbiA9IGV4cG9ydHMuZGVsZXRlQ29sdW1uID0gZXhwb3J0cy5pbnNlcnRDb2x1bW4gPSBleHBvcnRzLm1vdmVSb3cgPSBleHBvcnRzLmRlbGV0ZVJvdyA9IGV4cG9ydHMuaW5zZXJ0Um93ID0gZXhwb3J0cy5hbHRlckFsaWdubWVudCA9IGV4cG9ydHMuZm9ybWF0VGFibGUgPSBleHBvcnRzLkZvcm1hdFR5cGUgPSBleHBvcnRzLl93ZWFrRm9ybWF0VGFibGUgPSBleHBvcnRzLl9mb3JtYXRUYWJsZSA9IGV4cG9ydHMuX3BhZFRleHQgPSBleHBvcnRzLl9hbGlnblRleHQgPSBleHBvcnRzLl9jb21wdXRlVGV4dFdpZHRoID0gZXhwb3J0cy5jb21wbGV0ZVRhYmxlID0gZXhwb3J0cy5fZXh0ZW5kQXJyYXkgPSBleHBvcnRzLl9kZWxpbWl0ZXJUZXh0ID0gdm9pZCAwO1xuY29uc3QgYWxpZ25tZW50XzEgPSByZXF1aXJlKFwiLi9hbGlnbm1lbnRcIik7XG5jb25zdCB0YWJsZV8xID0gcmVxdWlyZShcIi4vdGFibGVcIik7XG5jb25zdCB0YWJsZV9jZWxsXzEgPSByZXF1aXJlKFwiLi90YWJsZS1jZWxsXCIpO1xuY29uc3QgdGFibGVfcm93XzEgPSByZXF1aXJlKFwiLi90YWJsZS1yb3dcIik7XG5jb25zdCBtZWF3XzEgPSByZXF1aXJlKFwibWVhd1wiKTtcbi8qKlxuICogQ3JlYXRlcyBhIGRlbGltaXRlciB0ZXh0LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gd2lkdGggLSBXaWR0aCBvZiB0aGUgaG9yaXpvbnRhbCBiYXIgb2YgZGVsaW1pdGVyLlxuICogQHRocm93cyB7RXJyb3J9IFVua25vd24gYWxpZ25tZW50LlxuICovXG5jb25zdCBfZGVsaW1pdGVyVGV4dCA9IChhbGlnbm1lbnQsIHdpZHRoKSA9PiB7XG4gICAgY29uc3QgYmFyID0gJy0nLnJlcGVhdCh3aWR0aCk7XG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgICAgY2FzZSBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTk9ORTpcbiAgICAgICAgICAgIHJldHVybiBgICR7YmFyfSBgO1xuICAgICAgICBjYXNlIGFsaWdubWVudF8xLkFsaWdubWVudC5MRUZUOlxuICAgICAgICAgICAgcmV0dXJuIGA6JHtiYXJ9IGA7XG4gICAgICAgIGNhc2UgYWxpZ25tZW50XzEuQWxpZ25tZW50LlJJR0hUOlxuICAgICAgICAgICAgcmV0dXJuIGAgJHtiYXJ9OmA7XG4gICAgICAgIGNhc2UgYWxpZ25tZW50XzEuQWxpZ25tZW50LkNFTlRFUjpcbiAgICAgICAgICAgIHJldHVybiBgOiR7YmFyfTpgO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGFsaWdubWVudDogJyArIGFsaWdubWVudCk7XG4gICAgfVxufTtcbmV4cG9ydHMuX2RlbGltaXRlclRleHQgPSBfZGVsaW1pdGVyVGV4dDtcbi8qKlxuICogRXh0ZW5kcyBhcnJheSBzaXplLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBmaWxsIG5ld2x5IGNyZWF0ZWQgY2VsbHMuXG4gKiBAcmV0dXJucyBFeHRlbmRlZCBhcnJheS5cbiAqL1xuY29uc3QgX2V4dGVuZEFycmF5ID0gKGFyciwgc2l6ZSwgY2FsbGJhY2spID0+IHtcbiAgICBjb25zdCBleHRlbmRlZCA9IGFyci5zbGljZSgpO1xuICAgIGZvciAobGV0IGkgPSBhcnIubGVuZ3RoOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICAgIGV4dGVuZGVkLnB1c2goY2FsbGJhY2soaSwgYXJyKSk7XG4gICAgfVxuICAgIHJldHVybiBleHRlbmRlZDtcbn07XG5leHBvcnRzLl9leHRlbmRBcnJheSA9IF9leHRlbmRBcnJheTtcbi8qKlxuICogQ29tcGxldGVzIGEgdGFibGUgYnkgYWRkaW5nIG1pc3NpbmcgZGVsaW1pdGVyIGFuZCBjZWxscy5cbiAqIEFmdGVyIGNvbXBsZXRpb24sIGFsbCByb3dzIGluIHRoZSB0YWJsZSBoYXZlIHRoZSBzYW1lIHdpZHRoLlxuICpcbiAqIEBwcml2YXRlXG4gKlxuICogQHRocm93cyB7RXJyb3J9IEVtcHR5IHRhYmxlLlxuICovXG5jb25zdCBjb21wbGV0ZVRhYmxlID0gKHRhYmxlLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgdGFibGVIZWlnaHQgPSB0YWJsZS5nZXRIZWlnaHQoKTtcbiAgICBjb25zdCB0YWJsZVdpZHRoID0gdGFibGUuZ2V0V2lkdGgoKTtcbiAgICBpZiAodGFibGVIZWlnaHQgPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbXB0eSB0YWJsZScpO1xuICAgIH1cbiAgICBjb25zdCByb3dzID0gdGFibGUuZ2V0Um93cygpO1xuICAgIGNvbnN0IG5ld1Jvd3MgPSBbXTtcbiAgICAvLyBoZWFkZXJcbiAgICBjb25zdCBoZWFkZXJSb3cgPSByb3dzWzBdO1xuICAgIGNvbnN0IGhlYWRlckNlbGxzID0gaGVhZGVyUm93LmdldENlbGxzKCk7XG4gICAgbmV3Um93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhleHBvcnRzLl9leHRlbmRBcnJheShoZWFkZXJDZWxscywgdGFibGVXaWR0aCwgKGopID0+IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGogPT09IGhlYWRlckNlbGxzLmxlbmd0aCA/IGhlYWRlclJvdy5tYXJnaW5SaWdodCA6ICcnKSksIGhlYWRlclJvdy5tYXJnaW5MZWZ0LCBoZWFkZXJDZWxscy5sZW5ndGggPCB0YWJsZVdpZHRoID8gJycgOiBoZWFkZXJSb3cubWFyZ2luUmlnaHQpKTtcbiAgICAvLyBkZWxpbWl0ZXJcbiAgICBjb25zdCBkZWxpbWl0ZXJSb3cgPSB0YWJsZS5nZXREZWxpbWl0ZXJSb3coKTtcbiAgICBpZiAoZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgZGVsaW1pdGVyQ2VsbHMgPSBkZWxpbWl0ZXJSb3cuZ2V0Q2VsbHMoKTtcbiAgICAgICAgbmV3Um93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhleHBvcnRzLl9leHRlbmRBcnJheShkZWxpbWl0ZXJDZWxscywgdGFibGVXaWR0aCwgKGopID0+IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGV4cG9ydHMuX2RlbGltaXRlclRleHQoYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkUsIGogPT09IGRlbGltaXRlckNlbGxzLmxlbmd0aFxuICAgICAgICAgICAgPyBNYXRoLm1heChvcHRpb25zLm1pbkRlbGltaXRlcldpZHRoLCBkZWxpbWl0ZXJSb3cubWFyZ2luUmlnaHQubGVuZ3RoIC0gMilcbiAgICAgICAgICAgIDogb3B0aW9ucy5taW5EZWxpbWl0ZXJXaWR0aCkpKSwgZGVsaW1pdGVyUm93Lm1hcmdpbkxlZnQsIGRlbGltaXRlckNlbGxzLmxlbmd0aCA8IHRhYmxlV2lkdGggPyAnJyA6IGRlbGltaXRlclJvdy5tYXJnaW5SaWdodCkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbmV3Um93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhleHBvcnRzLl9leHRlbmRBcnJheShbXSwgdGFibGVXaWR0aCwgKCkgPT4gbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoZXhwb3J0cy5fZGVsaW1pdGVyVGV4dChhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTk9ORSwgb3B0aW9ucy5taW5EZWxpbWl0ZXJXaWR0aCkpKSwgJycsICcnKSk7XG4gICAgfVxuICAgIC8vIGJvZHlcbiAgICBmb3IgKGxldCBpID0gZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQgPyAyIDogMTsgaSA8IHRhYmxlSGVpZ2h0OyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgY29uc3QgY2VsbHMgPSByb3cuZ2V0Q2VsbHMoKTtcbiAgICAgICAgbmV3Um93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhleHBvcnRzLl9leHRlbmRBcnJheShjZWxscywgdGFibGVXaWR0aCwgKGopID0+IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGogPT09IGNlbGxzLmxlbmd0aCA/IHJvdy5tYXJnaW5SaWdodCA6ICcnKSksIHJvdy5tYXJnaW5MZWZ0LCBjZWxscy5sZW5ndGggPCB0YWJsZVdpZHRoID8gJycgOiByb3cubWFyZ2luUmlnaHQpKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGFibGU6IG5ldyB0YWJsZV8xLlRhYmxlKG5ld1Jvd3MpLFxuICAgICAgICBkZWxpbWl0ZXJJbnNlcnRlZDogZGVsaW1pdGVyUm93ID09PSB1bmRlZmluZWQsXG4gICAgfTtcbn07XG5leHBvcnRzLmNvbXBsZXRlVGFibGUgPSBjb21wbGV0ZVRhYmxlO1xuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIHRleHQgYmFzZWQgb24gY2hhcmFjdGVycycgRUFXIHByb3BlcnRpZXMuXG4gKlxuICogQHByaXZhdGVcbiAqXG4gKiBAcmV0dXJucyBDYWxjdWxhdGVkIHdpZHRoIG9mIHRoZSB0ZXh0LlxuICovXG5jb25zdCBfY29tcHV0ZVRleHRXaWR0aCA9ICh0ZXh0LCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IG9wdGlvbnMubm9ybWFsaXplID8gdGV4dC5ub3JtYWxpemUoJ05GQycpIDogdGV4dDtcbiAgICBsZXQgdyA9IDA7XG4gICAgZm9yIChjb25zdCBjaGFyIG9mIG5vcm1hbGl6ZWQpIHtcbiAgICAgICAgaWYgKG9wdGlvbnMud2lkZUNoYXJzLmhhcyhjaGFyKSkge1xuICAgICAgICAgICAgdyArPSAyO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMubmFycm93Q2hhcnMuaGFzKGNoYXIpKSB7XG4gICAgICAgICAgICB3ICs9IDE7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKG1lYXdfMS5nZXRFQVcoY2hhcikpIHtcbiAgICAgICAgICAgIGNhc2UgJ0YnOlxuICAgICAgICAgICAgY2FzZSAnVyc6XG4gICAgICAgICAgICAgICAgdyArPSAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQSc6XG4gICAgICAgICAgICAgICAgdyArPSBvcHRpb25zLmFtYmlndW91c0FzV2lkZSA/IDIgOiAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB3ICs9IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHc7XG59O1xuZXhwb3J0cy5fY29tcHV0ZVRleHRXaWR0aCA9IF9jb21wdXRlVGV4dFdpZHRoO1xuLyoqXG4gKiBSZXR1cm5zIGEgYWxpZ25lZCBjZWxsIGNvbnRlbnQuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IFVua25vd24gYWxpZ25tZW50LlxuICogQHRocm93cyB7RXJyb3J9IFVuZXhwZWN0ZWQgZGVmYXVsdCBhbGlnbm1lbnQuXG4gKi9cbmNvbnN0IF9hbGlnblRleHQgPSAodGV4dCwgd2lkdGgsIGFsaWdubWVudCwgb3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHNwYWNlID0gd2lkdGggLSBleHBvcnRzLl9jb21wdXRlVGV4dFdpZHRoKHRleHQsIG9wdGlvbnMpO1xuICAgIGlmIChzcGFjZSA8IDApIHtcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICAgIHN3aXRjaCAoYWxpZ25tZW50KSB7XG4gICAgICAgIGNhc2UgYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkU6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgZGVmYXVsdCBhbGlnbm1lbnQnKTtcbiAgICAgICAgY2FzZSBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuTEVGVDpcbiAgICAgICAgICAgIHJldHVybiB0ZXh0ICsgJyAnLnJlcGVhdChzcGFjZSk7XG4gICAgICAgIGNhc2UgYWxpZ25tZW50XzEuQWxpZ25tZW50LlJJR0hUOlxuICAgICAgICAgICAgcmV0dXJuICcgJy5yZXBlYXQoc3BhY2UpICsgdGV4dDtcbiAgICAgICAgY2FzZSBhbGlnbm1lbnRfMS5BbGlnbm1lbnQuQ0VOVEVSOlxuICAgICAgICAgICAgcmV0dXJuICgnICcucmVwZWF0KE1hdGguZmxvb3Ioc3BhY2UgLyAyKSkgK1xuICAgICAgICAgICAgICAgIHRleHQgK1xuICAgICAgICAgICAgICAgICcgJy5yZXBlYXQoTWF0aC5jZWlsKHNwYWNlIC8gMikpKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBhbGlnbm1lbnQ6ICcgKyBhbGlnbm1lbnQpO1xuICAgIH1cbn07XG5leHBvcnRzLl9hbGlnblRleHQgPSBfYWxpZ25UZXh0O1xuLyoqXG4gKiBKdXN0IGFkZHMgb25lIHNwYWNlIHBhZGRpbmdzIHRvIGJvdGggc2lkZXMgb2YgYSB0ZXh0LlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IF9wYWRUZXh0ID0gKHRleHQpID0+IGAgJHt0ZXh0fSBgO1xuZXhwb3J0cy5fcGFkVGV4dCA9IF9wYWRUZXh0O1xuLyoqXG4gKiBGb3JtYXRzIGEgdGFibGUuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgX2Zvcm1hdFRhYmxlID0gKHRhYmxlLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgdGFibGVIZWlnaHQgPSB0YWJsZS5nZXRIZWlnaHQoKTtcbiAgICBjb25zdCB0YWJsZVdpZHRoID0gdGFibGUuZ2V0V2lkdGgoKTtcbiAgICBpZiAodGFibGVIZWlnaHQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogJycsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IG1hcmdpbkxlZnQgPSB0YWJsZS5nZXRSb3dzKClbMF0ubWFyZ2luTGVmdDtcbiAgICBpZiAodGFibGVXaWR0aCA9PT0gMCkge1xuICAgICAgICBjb25zdCByb3dzID0gbmV3IEFycmF5KHRhYmxlSGVpZ2h0KS5maWxsKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhbXSwgbWFyZ2luTGVmdCwgJycpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhYmxlOiBuZXcgdGFibGVfMS5UYWJsZShyb3dzKSxcbiAgICAgICAgICAgIG1hcmdpbkxlZnQsXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8vIGNvbXB1dGUgY29sdW1uIHdpZHRoc1xuICAgIGNvbnN0IGRlbGltaXRlclJvdyA9IHRhYmxlLmdldERlbGltaXRlclJvdygpO1xuICAgIGNvbnN0IGNvbHVtbldpZHRocyA9IG5ldyBBcnJheSh0YWJsZVdpZHRoKS5maWxsKDApO1xuICAgIGlmIChkZWxpbWl0ZXJSb3cgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBkZWxpbWl0ZXJSb3dXaWR0aCA9IGRlbGltaXRlclJvdy5nZXRXaWR0aCgpO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRlbGltaXRlclJvd1dpZHRoOyBqKyspIHtcbiAgICAgICAgICAgIGNvbHVtbldpZHRoc1tqXSA9IG9wdGlvbnMubWluRGVsaW1pdGVyV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJsZUhlaWdodDsgaSsrKSB7XG4gICAgICAgIGlmIChkZWxpbWl0ZXJSb3cgIT09IHVuZGVmaW5lZCAmJiBpID09PSAxKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3cgPSB0YWJsZS5nZXRSb3dzKClbaV07XG4gICAgICAgIGNvbnN0IHJvd1dpZHRoID0gcm93LmdldFdpZHRoKCk7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgcm93V2lkdGg7IGorKykge1xuICAgICAgICAgICAgY29sdW1uV2lkdGhzW2pdID0gTWF0aC5tYXgoY29sdW1uV2lkdGhzW2pdLCBleHBvcnRzLl9jb21wdXRlVGV4dFdpZHRoKHJvdy5nZXRDZWxsQXQoaikuY29udGVudCwgb3B0aW9ucy50ZXh0V2lkdGhPcHRpb25zKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gZ2V0IGNvbHVtbiBhbGlnbm1lbnRzXG4gICAgY29uc3QgYWxpZ25tZW50cyA9IGRlbGltaXRlclJvdyAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gZXhwb3J0cy5fZXh0ZW5kQXJyYXkoZGVsaW1pdGVyUm93LmdldENlbGxzKCkubWFwKChjZWxsKSA9PiBjZWxsLmdldEFsaWdubWVudCgpKSwgdGFibGVXaWR0aCwgXG4gICAgICAgIC8vIFNhZmUgY29udmVyc2lvbiBiZWNhdXNlIERlZmF1bHRBbGlnbm1lbnQgaXMgYSBzdWJzZXQgb2YgQWxpZ25tZW50XG4gICAgICAgICgpID0+IG9wdGlvbnMuZGVmYXVsdEFsaWdubWVudClcbiAgICAgICAgOiBuZXcgQXJyYXkodGFibGVXaWR0aCkuZmlsbChvcHRpb25zLmRlZmF1bHRBbGlnbm1lbnQpO1xuICAgIC8vIGZvcm1hdFxuICAgIGNvbnN0IHJvd3MgPSBbXTtcbiAgICAvLyBoZWFkZXJcbiAgICBjb25zdCBoZWFkZXJSb3cgPSB0YWJsZS5nZXRSb3dzKClbMF07XG4gICAgcm93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhoZWFkZXJSb3dcbiAgICAgICAgLmdldENlbGxzKClcbiAgICAgICAgLm1hcCgoY2VsbCwgaikgPT4gbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoZXhwb3J0cy5fcGFkVGV4dChleHBvcnRzLl9hbGlnblRleHQoY2VsbC5jb250ZW50LCBjb2x1bW5XaWR0aHNbal0sIG9wdGlvbnMuaGVhZGVyQWxpZ25tZW50ID09PSBhbGlnbm1lbnRfMS5IZWFkZXJBbGlnbm1lbnQuRk9MTE9XXG4gICAgICAgID8gYWxpZ25tZW50c1tqXSA9PT0gYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkVcbiAgICAgICAgICAgID8gb3B0aW9ucy5kZWZhdWx0QWxpZ25tZW50XG4gICAgICAgICAgICA6IGFsaWdubWVudHNbal1cbiAgICAgICAgOiBvcHRpb25zLmhlYWRlckFsaWdubWVudCwgb3B0aW9ucy50ZXh0V2lkdGhPcHRpb25zKSkpKSwgbWFyZ2luTGVmdCwgJycpKTtcbiAgICAvLyBkZWxpbWl0ZXJcbiAgICBpZiAoZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcm93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhkZWxpbWl0ZXJSb3dcbiAgICAgICAgICAgIC5nZXRDZWxscygpXG4gICAgICAgICAgICAubWFwKChjZWxsLCBqKSA9PiBuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbChleHBvcnRzLl9kZWxpbWl0ZXJUZXh0KGFsaWdubWVudHNbal0sIGNvbHVtbldpZHRoc1tqXSkpKSwgbWFyZ2luTGVmdCwgJycpKTtcbiAgICB9XG4gICAgLy8gYm9keVxuICAgIGZvciAobGV0IGkgPSBkZWxpbWl0ZXJSb3cgIT09IHVuZGVmaW5lZCA/IDIgOiAxOyBpIDwgdGFibGVIZWlnaHQ7IGkrKykge1xuICAgICAgICBjb25zdCByb3cgPSB0YWJsZS5nZXRSb3dzKClbaV07XG4gICAgICAgIHJvd3MucHVzaChuZXcgdGFibGVfcm93XzEuVGFibGVSb3cocm93XG4gICAgICAgICAgICAuZ2V0Q2VsbHMoKVxuICAgICAgICAgICAgLm1hcCgoY2VsbCwgaikgPT4gbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoZXhwb3J0cy5fcGFkVGV4dChleHBvcnRzLl9hbGlnblRleHQoY2VsbC5jb250ZW50LCBjb2x1bW5XaWR0aHNbal0sIGFsaWdubWVudHNbal0gPT09IGFsaWdubWVudF8xLkFsaWdubWVudC5OT05FXG4gICAgICAgICAgICA/IG9wdGlvbnMuZGVmYXVsdEFsaWdubWVudFxuICAgICAgICAgICAgOiBhbGlnbm1lbnRzW2pdLCBvcHRpb25zLnRleHRXaWR0aE9wdGlvbnMpKSkpLCBtYXJnaW5MZWZ0LCAnJykpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB0YWJsZTogbmV3IHRhYmxlXzEuVGFibGUocm93cyksXG4gICAgICAgIG1hcmdpbkxlZnQsXG4gICAgfTtcbn07XG5leHBvcnRzLl9mb3JtYXRUYWJsZSA9IF9mb3JtYXRUYWJsZTtcbi8qKlxuICogRm9ybWF0cyBhIHRhYmxlIHdlYWtseS5cbiAqIFJvd3MgYXJlIGZvcm1hdHRlZCBpbmRlcGVuZGVudGx5IHRvIGVhY2ggb3RoZXIsIGNlbGwgY29udGVudHMgYXJlIGp1c3QgdHJpbW1lZCBhbmQgbm90IGFsaWduZWQuXG4gKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHVzaW5nIGEgbm9uLW1vbm9zcGFjZWQgZm9udCBvciBkZWFsaW5nIHdpdGggd2lkZSB0YWJsZXMuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgX3dlYWtGb3JtYXRUYWJsZSA9ICh0YWJsZSwgb3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHRhYmxlSGVpZ2h0ID0gdGFibGUuZ2V0SGVpZ2h0KCk7XG4gICAgY29uc3QgdGFibGVXaWR0aCA9IHRhYmxlLmdldFdpZHRoKCk7XG4gICAgaWYgKHRhYmxlSGVpZ2h0ID09PSAwKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0YWJsZSxcbiAgICAgICAgICAgIG1hcmdpbkxlZnQ6ICcnLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBtYXJnaW5MZWZ0ID0gdGFibGUuZ2V0Um93cygpWzBdLm1hcmdpbkxlZnQ7XG4gICAgaWYgKHRhYmxlV2lkdGggPT09IDApIHtcbiAgICAgICAgY29uc3Qgcm93cyA9IG5ldyBBcnJheSh0YWJsZUhlaWdodCkuZmlsbChuZXcgdGFibGVfcm93XzEuVGFibGVSb3coW10sIG1hcmdpbkxlZnQsICcnKSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0YWJsZTogbmV3IHRhYmxlXzEuVGFibGUocm93cyksXG4gICAgICAgICAgICBtYXJnaW5MZWZ0LFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBkZWxpbWl0ZXJSb3cgPSB0YWJsZS5nZXREZWxpbWl0ZXJSb3coKTtcbiAgICAvLyBmb3JtYXRcbiAgICBjb25zdCByb3dzID0gW107XG4gICAgLy8gaGVhZGVyXG4gICAgY29uc3QgaGVhZGVyUm93ID0gdGFibGUuZ2V0Um93cygpWzBdO1xuICAgIHJvd3MucHVzaChuZXcgdGFibGVfcm93XzEuVGFibGVSb3coaGVhZGVyUm93LmdldENlbGxzKCkubWFwKChjZWxsKSA9PiBuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbChleHBvcnRzLl9wYWRUZXh0KGNlbGwuY29udGVudCkpKSwgbWFyZ2luTGVmdCwgJycpKTtcbiAgICAvLyBkZWxpbWl0ZXJcbiAgICBpZiAoZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcm93cy5wdXNoKG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhkZWxpbWl0ZXJSb3dcbiAgICAgICAgICAgIC5nZXRDZWxscygpXG4gICAgICAgICAgICAubWFwKChjZWxsKSA9PiBuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbChleHBvcnRzLl9kZWxpbWl0ZXJUZXh0KGNlbGwuZ2V0QWxpZ25tZW50KCksIG9wdGlvbnMubWluRGVsaW1pdGVyV2lkdGgpKSksIG1hcmdpbkxlZnQsICcnKSk7XG4gICAgfVxuICAgIC8vIGJvZHlcbiAgICBmb3IgKGxldCBpID0gZGVsaW1pdGVyUm93ICE9PSB1bmRlZmluZWQgPyAyIDogMTsgaSA8IHRhYmxlSGVpZ2h0OyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gdGFibGUuZ2V0Um93cygpW2ldO1xuICAgICAgICByb3dzLnB1c2gobmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KHJvdy5nZXRDZWxscygpLm1hcCgoY2VsbCkgPT4gbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoZXhwb3J0cy5fcGFkVGV4dChjZWxsLmNvbnRlbnQpKSksIG1hcmdpbkxlZnQsICcnKSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHRhYmxlOiBuZXcgdGFibGVfMS5UYWJsZShyb3dzKSxcbiAgICAgICAgbWFyZ2luTGVmdCxcbiAgICB9O1xufTtcbmV4cG9ydHMuX3dlYWtGb3JtYXRUYWJsZSA9IF93ZWFrRm9ybWF0VGFibGU7XG4vKipcbiAqIFJlcHJlc2VudHMgdGFibGUgZm9ybWF0IHR5cGUuXG4gKlxuICogLSBgRm9ybWF0VHlwZS5OT1JNQUxgIC0gRm9ybWF0cyB0YWJsZSBub3JtYWxseS5cbiAqIC0gYEZvcm1hdFR5cGUuV0VBS2AgLSBGb3JtYXRzIHRhYmxlIHdlYWtseSwgcm93cyBhcmUgZm9ybWF0dGVkIGluZGVwZW5kZW50bHkgdG8gZWFjaCBvdGhlciwgY2VsbFxuICogICBjb250ZW50cyBhcmUganVzdCB0cmltbWVkIGFuZCBub3QgYWxpZ25lZC5cbiAqL1xudmFyIEZvcm1hdFR5cGU7XG4oZnVuY3Rpb24gKEZvcm1hdFR5cGUpIHtcbiAgICBGb3JtYXRUeXBlW1wiTk9STUFMXCJdID0gXCJub3JtYWxcIjtcbiAgICBGb3JtYXRUeXBlW1wiV0VBS1wiXSA9IFwid2Vha1wiO1xufSkoRm9ybWF0VHlwZSA9IGV4cG9ydHMuRm9ybWF0VHlwZSB8fCAoZXhwb3J0cy5Gb3JtYXRUeXBlID0ge30pKTtcbi8qKlxuICogRm9ybWF0cyBhIHRhYmxlLlxuICpcbiAqIEBwcml2YXRlXG4gKlxuICogQHRocm93cyB7RXJyb3J9IFVua25vd24gZm9ybWF0IHR5cGUuXG4gKi9cbmNvbnN0IGZvcm1hdFRhYmxlID0gKHRhYmxlLCBvcHRpb25zKSA9PiB7XG4gICAgc3dpdGNoIChvcHRpb25zLmZvcm1hdFR5cGUpIHtcbiAgICAgICAgY2FzZSBGb3JtYXRUeXBlLk5PUk1BTDpcbiAgICAgICAgICAgIHJldHVybiBleHBvcnRzLl9mb3JtYXRUYWJsZSh0YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgRm9ybWF0VHlwZS5XRUFLOlxuICAgICAgICAgICAgcmV0dXJuIGV4cG9ydHMuX3dlYWtGb3JtYXRUYWJsZSh0YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZm9ybWF0IHR5cGU6ICcgKyBvcHRpb25zLmZvcm1hdFR5cGUpO1xuICAgIH1cbn07XG5leHBvcnRzLmZvcm1hdFRhYmxlID0gZm9ybWF0VGFibGU7XG4vKipcbiAqIEFsdGVycyBhIGNvbHVtbidzIGFsaWdubWVudCBvZiBhIHRhYmxlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGFibGUgLSBBIGNvbXBsZXRlZCBub24tZW1wdHkgdGFibGUuXG4gKiBAcGFyYW0gY29sdW1uSW5kZXggLSBBbiBpbmRleCBvZiB0aGUgY29sdW1uLlxuICogQHBhcmFtIGFsaWdubWVudCAtIEEgbmV3IGFsaWdubWVudCBvZiB0aGUgY29sdW1uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3QgY29udGFpbmluZyBvcHRpb25zIGZvciBjb21wbGV0aW9uLlxuICogQHJldHVybnMge1RhYmxlfSBBbiBhbHRlcmVkIHRhYmxlIG9iamVjdC5cbiAqIElmIHRoZSBjb2x1bW4gaW5kZXggaXMgb3V0IG9mIHJhbmdlLCByZXR1cm5zIHRoZSBvcmlnaW5hbCB0YWJsZS5cbiAqL1xuY29uc3QgYWx0ZXJBbGlnbm1lbnQgPSAodGFibGUsIGNvbHVtbkluZGV4LCBhbGlnbm1lbnQsIG9wdGlvbnMpID0+IHtcbiAgICBpZiAodGFibGUuZ2V0SGVpZ2h0KCkgPCAxKSB7XG4gICAgICAgIHJldHVybiB0YWJsZTtcbiAgICB9XG4gICAgY29uc3QgZGVsaW1pdGVyUm93ID0gdGFibGUuZ2V0Um93cygpWzFdO1xuICAgIGlmIChjb2x1bW5JbmRleCA8IDAgfHwgZGVsaW1pdGVyUm93LmdldFdpZHRoKCkgLSAxIDwgY29sdW1uSW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlO1xuICAgIH1cbiAgICBjb25zdCBkZWxpbWl0ZXJDZWxscyA9IGRlbGltaXRlclJvdy5nZXRDZWxscygpO1xuICAgIGRlbGltaXRlckNlbGxzW2NvbHVtbkluZGV4XSA9IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGV4cG9ydHMuX2RlbGltaXRlclRleHQoYWxpZ25tZW50LCBvcHRpb25zLm1pbkRlbGltaXRlcldpZHRoKSk7XG4gICAgY29uc3Qgcm93cyA9IHRhYmxlLmdldFJvd3MoKTtcbiAgICByb3dzWzFdID0gbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KGRlbGltaXRlckNlbGxzLCBkZWxpbWl0ZXJSb3cubWFyZ2luTGVmdCwgZGVsaW1pdGVyUm93Lm1hcmdpblJpZ2h0KTtcbiAgICByZXR1cm4gbmV3IHRhYmxlXzEuVGFibGUocm93cyk7XG59O1xuZXhwb3J0cy5hbHRlckFsaWdubWVudCA9IGFsdGVyQWxpZ25tZW50O1xuLyoqXG4gKiBJbnNlcnRzIGEgcm93IHRvIGEgdGFibGUuXG4gKiBUaGUgcm93IGlzIGFsd2F5cyBpbnNlcnRlZCBhZnRlciB0aGUgaGVhZGVyIGFuZCB0aGUgZGVsaW1pdGVyIHJvd3MsIGV2ZW4gaWYgdGhlIGluZGV4IHNwZWNpZmllc1xuICogdGhlIGhlYWRlciBvciB0aGUgZGVsaW1pdGVyLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGFibGUgLSBBIGNvbXBsZXRlZCBub24tZW1wdHkgdGFibGUuXG4gKiBAcGFyYW0gcm93SW5kZXggLSBBbiByb3cgaW5kZXggYXQgd2hpY2ggYSBuZXcgcm93IHdpbGwgYmUgaW5zZXJ0ZWQuXG4gKiBAcGFyYW0gcm93IC0gQSB0YWJsZSByb3cgdG8gYmUgaW5zZXJ0ZWQuXG4gKiBAcmV0dXJucyBBbiBhbHRlcmVkIHRhYmxlIG9iZWpjdC5cbiAqL1xuY29uc3QgaW5zZXJ0Um93ID0gKHRhYmxlLCByb3dJbmRleCwgcm93KSA9PiB7XG4gICAgY29uc3Qgcm93cyA9IHRhYmxlLmdldFJvd3MoKTtcbiAgICByb3dzLnNwbGljZShNYXRoLm1heChyb3dJbmRleCwgMiksIDAsIHJvdyk7XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMuaW5zZXJ0Um93ID0gaW5zZXJ0Um93O1xuLyoqXG4gKiBEZWxldGVzIGEgcm93IGluIGEgdGFibGUuXG4gKiBJZiB0aGUgaW5kZXggc3BlY2lmaWVzIHRoZSBoZWFkZXIgcm93LCB0aGUgY2VsbHMgYXJlIGVtcHRpZWQgYnV0IHRoZSByb3cgd2lsbCBub3QgYmUgcmVtb3ZlZC5cbiAqIElmIHRoZSBpbmRleCBzcGVjaWZpZXMgdGhlIGRlbGltaXRlciByb3csIGl0IGRvZXMgbm90aGluZy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHRhYmxlIC0gQSBjb21wbGV0ZWQgbm9uLWVtcHR5IHRhYmxlLlxuICogQHBhcmFtIHJvd0luZGV4IC0gQW4gaW5kZXggb2YgdGhlIHJvdyB0byBiZSBkZWxldGVkLlxuICogQHJldHVybnMgQW4gYWx0ZXJlZCB0YWJsZSBvYmVqY3QuXG4gKi9cbmNvbnN0IGRlbGV0ZVJvdyA9ICh0YWJsZSwgcm93SW5kZXgpID0+IHtcbiAgICBpZiAocm93SW5kZXggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlO1xuICAgIH1cbiAgICBjb25zdCByb3dzID0gdGFibGUuZ2V0Um93cygpO1xuICAgIGlmIChyb3dJbmRleCA9PT0gMCkge1xuICAgICAgICBjb25zdCBoZWFkZXJSb3cgPSByb3dzWzBdO1xuICAgICAgICByb3dzWzBdID0gbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KG5ldyBBcnJheShoZWFkZXJSb3cuZ2V0V2lkdGgoKSkuZmlsbChuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbCgnJykpLCBoZWFkZXJSb3cubWFyZ2luTGVmdCwgaGVhZGVyUm93Lm1hcmdpblJpZ2h0KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJvd3Muc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMuZGVsZXRlUm93ID0gZGVsZXRlUm93O1xuLyoqXG4gKiBNb3ZlcyBhIHJvdyBhdCB0aGUgaW5kZXggdG8gdGhlIHNwZWNpZmllZCBkZXN0aW5hdGlvbi5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHRhYmxlIC0gQSBjb21wbGV0ZWQgbm9uLWVtcHR5IHRhYmxlLlxuICogQHBhcmFtIHJvd0luZGV4IC0gSW5kZXggb2YgdGhlIHJvdyB0byBiZSBtb3ZlZC5cbiAqIEBwYXJhbSBkZXN0SW5kZXggLSBJbmRleCBvZiB0aGUgZGVzdGluYXRpb24uXG4gKiBAcmV0dXJucyBBbiBhbHRlcmVkIHRhYmxlIG9iamVjdC5cbiAqL1xuY29uc3QgbW92ZVJvdyA9ICh0YWJsZSwgcm93SW5kZXgsIGRlc3RJbmRleCkgPT4ge1xuICAgIGlmIChyb3dJbmRleCA8PSAxIHx8IGRlc3RJbmRleCA8PSAxIHx8IHJvd0luZGV4ID09PSBkZXN0SW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlO1xuICAgIH1cbiAgICBjb25zdCByb3dzID0gdGFibGUuZ2V0Um93cygpO1xuICAgIGNvbnN0IHJvdyA9IHJvd3Nbcm93SW5kZXhdO1xuICAgIHJvd3Muc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgICByb3dzLnNwbGljZShkZXN0SW5kZXgsIDAsIHJvdyk7XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMubW92ZVJvdyA9IG1vdmVSb3c7XG4vKipcbiAqIEluc2VydHMgYSBjb2x1bW4gdG8gYSB0YWJsZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHRhYmxlIC0gQSBjb21wbGV0ZWQgbm9uLWVtcHR5IHRhYmxlLlxuICogQHBhcmFtIGNvbHVtbkluZGV4IC0gQW4gY29sdW1uIGluZGV4IGF0IHdoaWNoIHRoZSBuZXcgY29sdW1uIHdpbGwgYmUgaW5zZXJ0ZWQuXG4gKiBAcGFyYW0gY29sdW1uIC0gQW4gYXJyYXkgb2YgY2VsbHMuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCBjb250YWluaW5nIG9wdGlvbnMgZm9yIGNvbXBsZXRpb24uXG4gKiBAcmV0dXJucyBBbiBhbHRlcmVkIHRhYmxlIG9iZWpjdC5cbiAqL1xuY29uc3QgaW5zZXJ0Q29sdW1uID0gKHRhYmxlLCBjb2x1bW5JbmRleCwgY29sdW1uLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgcm93cyA9IHRhYmxlLmdldFJvd3MoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgY29uc3QgY2VsbHMgPSByb3dzW2ldLmdldENlbGxzKCk7XG4gICAgICAgIGNvbnN0IGNlbGwgPSBpID09PSAxXG4gICAgICAgICAgICA/IG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKGV4cG9ydHMuX2RlbGltaXRlclRleHQoYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkUsIG9wdGlvbnMubWluRGVsaW1pdGVyV2lkdGgpKVxuICAgICAgICAgICAgOiBjb2x1bW5baSA+IDEgPyBpIC0gMSA6IGldO1xuICAgICAgICBjZWxscy5zcGxpY2UoY29sdW1uSW5kZXgsIDAsIGNlbGwpO1xuICAgICAgICByb3dzW2ldID0gbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KGNlbGxzLCByb3cubWFyZ2luTGVmdCwgcm93Lm1hcmdpblJpZ2h0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMuaW5zZXJ0Q29sdW1uID0gaW5zZXJ0Q29sdW1uO1xuLyoqXG4gKiBEZWxldGVzIGEgY29sdW1uIGluIGEgdGFibGUuXG4gKiBJZiB0aGVyZSB3aWxsIGJlIG5vIGNvbHVtbnMgYWZ0ZXIgdGhlIGRlbGV0aW9uLCB0aGUgY2VsbHMgYXJlIGVtcHRpZWQgYnV0IHRoZSBjb2x1bW4gd2lsbCBub3QgYmVcbiAqIHJlbW92ZWQuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB0YWJsZSAtIEEgY29tcGxldGVkIG5vbi1lbXB0eSB0YWJsZS5cbiAqIEBwYXJhbSBjb2x1bW5JbmRleCAtIEFuIGluZGV4IG9mIHRoZSBjb2x1bW4gdG8gYmUgZGVsZXRlZC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgb3B0aW9ucyBmb3IgY29tcGxldGlvbi5cbiAqIEByZXR1cm5zIEFuIGFsdGVyZWQgdGFibGUgb2JqZWN0LlxuICovXG5jb25zdCBkZWxldGVDb2x1bW4gPSAodGFibGUsIGNvbHVtbkluZGV4LCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgcm93cyA9IHRhYmxlLmdldFJvd3MoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgbGV0IGNlbGxzID0gcm93LmdldENlbGxzKCk7XG4gICAgICAgIGlmIChjZWxscy5sZW5ndGggPD0gMSkge1xuICAgICAgICAgICAgY2VsbHMgPSBbXG4gICAgICAgICAgICAgICAgbmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoaSA9PT0gMVxuICAgICAgICAgICAgICAgICAgICA/IGV4cG9ydHMuX2RlbGltaXRlclRleHQoYWxpZ25tZW50XzEuQWxpZ25tZW50Lk5PTkUsIG9wdGlvbnMubWluRGVsaW1pdGVyV2lkdGgpXG4gICAgICAgICAgICAgICAgICAgIDogJycpLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNlbGxzLnNwbGljZShjb2x1bW5JbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgcm93c1tpXSA9IG5ldyB0YWJsZV9yb3dfMS5UYWJsZVJvdyhjZWxscywgcm93Lm1hcmdpbkxlZnQsIHJvdy5tYXJnaW5SaWdodCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgdGFibGVfMS5UYWJsZShyb3dzKTtcbn07XG5leHBvcnRzLmRlbGV0ZUNvbHVtbiA9IGRlbGV0ZUNvbHVtbjtcbi8qKlxuICogTW92ZXMgYSBjb2x1bW4gYXQgdGhlIGluZGV4IHRvIHRoZSBzcGVjaWZpZWQgZGVzdGluYXRpb24uXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB0YWJsZSAtIEEgY29tcGxldGVkIG5vbi1lbXB0eSB0YWJsZS5cbiAqIEBwYXJhbSBjb2x1bW5JbmRleCAtIEluZGV4IG9mIHRoZSBjb2x1bW4gdG8gYmUgbW92ZWQuXG4gKiBAcGFyYW0gZGVzdEluZGV4IC0gSW5kZXggb2YgdGhlIGRlc3RpbmF0aW9uLlxuICogQHJldHVybnMgQW4gYWx0ZXJlZCB0YWJsZSBvYmplY3QuXG4gKi9cbmNvbnN0IG1vdmVDb2x1bW4gPSAodGFibGUsIGNvbHVtbkluZGV4LCBkZXN0SW5kZXgpID0+IHtcbiAgICBpZiAoY29sdW1uSW5kZXggPT09IGRlc3RJbmRleCkge1xuICAgICAgICByZXR1cm4gdGFibGU7XG4gICAgfVxuICAgIGNvbnN0IHJvd3MgPSB0YWJsZS5nZXRSb3dzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93LmdldENlbGxzKCk7XG4gICAgICAgIGNvbnN0IGNlbGwgPSBjZWxsc1tjb2x1bW5JbmRleF07XG4gICAgICAgIGNlbGxzLnNwbGljZShjb2x1bW5JbmRleCwgMSk7XG4gICAgICAgIGNlbGxzLnNwbGljZShkZXN0SW5kZXgsIDAsIGNlbGwpO1xuICAgICAgICByb3dzW2ldID0gbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KGNlbGxzLCByb3cubWFyZ2luTGVmdCwgcm93Lm1hcmdpblJpZ2h0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyB0YWJsZV8xLlRhYmxlKHJvd3MpO1xufTtcbmV4cG9ydHMubW92ZUNvbHVtbiA9IG1vdmVDb2x1bW47XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuc2hvcnRlc3RFZGl0U2NyaXB0ID0gZXhwb3J0cy5hcHBseUVkaXRTY3JpcHQgPSBleHBvcnRzLl9hcHBseUNvbW1hbmQgPSBleHBvcnRzLkRlbGV0ZSA9IGV4cG9ydHMuSW5zZXJ0ID0gdm9pZCAwO1xuLyoqXG4gKiBUaGUgYEluc2VydGAgY2xhc3MgcmVwcmVzZW50cyBhbiBpbnNlcnRpb24gb2YgYSBsaW5lLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIEluc2VydCB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRzIGEgbmV3IGBJbnNlcnRgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb3cgLSBSb3cgaW5kZXgsIHN0YXJ0cyBmcm9tIGAwYC5cbiAgICAgKiBAcGFyYW0gbGluZSAtIEEgc3RyaW5nIHRvIGJlIGluc2VydGVkIGF0IHRoZSByb3cuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iocm93LCBsaW5lKSB7XG4gICAgICAgIHRoaXMucm93ID0gcm93O1xuICAgICAgICB0aGlzLmxpbmUgPSBsaW5lO1xuICAgIH1cbn1cbmV4cG9ydHMuSW5zZXJ0ID0gSW5zZXJ0O1xuLyoqXG4gKiBUaGUgYERlbGV0ZWAgY2xhc3MgcmVwcmVzZW50cyBhIGRlbGV0aW9uIG9mIGEgbGluZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBEZWxldGUge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgYERlbGV0ZWAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvdyAtIFJvdyBpbmRleCwgc3RhcnRzIGZyb20gYDBgLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHJvdykge1xuICAgICAgICB0aGlzLnJvdyA9IHJvdztcbiAgICB9XG59XG5leHBvcnRzLkRlbGV0ZSA9IERlbGV0ZTtcbi8qKlxuICogQXBwbGllcyBhIGNvbW1hbmQgdG8gdGhlIHRleHQgZWRpdG9yLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGV4dEVkaXRvciAtIEFuIGludGVyZmFjZSB0byB0aGUgdGV4dCBlZGl0b3IuXG4gKiBAcGFyYW0gY29tbWFuZCAtIEEgY29tbWFuZC5cbiAqIEBwYXJhbSByb3dPZmZzZXQgLSBPZmZzZXQgdG8gdGhlIHJvdyBpbmRleCBvZiB0aGUgY29tbWFuZC5cbiAqL1xuY29uc3QgX2FwcGx5Q29tbWFuZCA9ICh0ZXh0RWRpdG9yLCBjb21tYW5kLCByb3dPZmZzZXQpID0+IHtcbiAgICBpZiAoY29tbWFuZCBpbnN0YW5jZW9mIEluc2VydCkge1xuICAgICAgICB0ZXh0RWRpdG9yLmluc2VydExpbmUocm93T2Zmc2V0ICsgY29tbWFuZC5yb3csIGNvbW1hbmQubGluZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNvbW1hbmQgaW5zdGFuY2VvZiBEZWxldGUpIHtcbiAgICAgICAgdGV4dEVkaXRvci5kZWxldGVMaW5lKHJvd09mZnNldCArIGNvbW1hbmQucm93KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBjb21tYW5kJyk7XG4gICAgfVxufTtcbmV4cG9ydHMuX2FwcGx5Q29tbWFuZCA9IF9hcHBseUNvbW1hbmQ7XG4vKipcbiAqIEFwcGx5IGFuIGVkaXQgc2NyaXB0IChhcnJheSBvZiBjb21tYW5kcykgdG8gdGhlIHRleHQgZWRpdG9yLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdGV4dEVkaXRvciAtIEFuIGludGVyZmFjZSB0byB0aGUgdGV4dCBlZGl0b3IuXG4gKiBAcGFyYW0gc2NyaXB0IC0gQW4gYXJyYXkgb2YgY29tbWFuZHMuXG4gKiBUaGUgY29tbWFuZHMgYXJlIGFwcGxpZWQgc2VxdWVudGlhbGx5IGluIHRoZSBvcmRlciBvZiB0aGUgYXJyYXkuXG4gKiBAcGFyYW0gcm93T2Zmc2V0IC0gT2Zmc2V0IHRvIHRoZSByb3cgaW5kZXggb2YgdGhlIGNvbW1hbmRzLlxuICovXG5jb25zdCBhcHBseUVkaXRTY3JpcHQgPSAodGV4dEVkaXRvciwgc2NyaXB0LCByb3dPZmZzZXQpID0+IHtcbiAgICBmb3IgKGNvbnN0IGNvbW1hbmQgb2Ygc2NyaXB0KSB7XG4gICAgICAgIGV4cG9ydHMuX2FwcGx5Q29tbWFuZCh0ZXh0RWRpdG9yLCBjb21tYW5kLCByb3dPZmZzZXQpO1xuICAgIH1cbn07XG5leHBvcnRzLmFwcGx5RWRpdFNjcmlwdCA9IGFwcGx5RWRpdFNjcmlwdDtcbi8qKlxuICogTGlua2VkIGxpc3QgdXNlZCB0byByZW1lbWJlciBlZGl0IHNjcmlwdC5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBJTGlzdCB7XG4gICAgZ2V0IGNhcigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgICB9XG4gICAgZ2V0IGNkcigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgICB9XG4gICAgaXNFbXB0eSgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgICB9XG4gICAgdW5zaGlmdCh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbmV3IENvbnModmFsdWUsIHRoaXMpO1xuICAgIH1cbiAgICB0b0FycmF5KCkge1xuICAgICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgICAgbGV0IHJlc3QgPSB0aGlzO1xuICAgICAgICB3aGlsZSAoIXJlc3QuaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICBhcnIucHVzaChyZXN0LmNhcik7XG4gICAgICAgICAgICByZXN0ID0gcmVzdC5jZHI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG59XG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIE5pbCBleHRlbmRzIElMaXN0IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgZ2V0IGNhcigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbXB0eSBsaXN0Jyk7XG4gICAgfVxuICAgIGdldCBjZHIoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRW1wdHkgbGlzdCcpO1xuICAgIH1cbiAgICBpc0VtcHR5KCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIENvbnMgZXh0ZW5kcyBJTGlzdCB7XG4gICAgY29uc3RydWN0b3IoY2FyLCBjZHIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fY2FyID0gY2FyO1xuICAgICAgICB0aGlzLl9jZHIgPSBjZHI7XG4gICAgfVxuICAgIGdldCBjYXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXI7XG4gICAgfVxuICAgIGdldCBjZHIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jZHI7XG4gICAgfVxuICAgIGlzRW1wdHkoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4vKipcbiAqIENvbXB1dGVzIHRoZSBzaG9ydGVzdCBlZGl0IHNjcmlwdCBiZXR3ZWVuIHR3byBhcnJheXMgb2Ygc3RyaW5ncy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIGZyb20gLSBBbiBhcnJheSBvZiBzdHJpbmcgdGhlIGVkaXQgc3RhcnRzIGZyb20uXG4gKiBAcGFyYW0gdG8gLSBBbiBhcnJheSBvZiBzdHJpbmcgdGhlIGVkaXQgZ29lcyB0by5cbiAqIEBwYXJhbSBbbGltaXQ9LTFdIC0gVXBwZXIgbGltaXQgb2YgZWRpdCBkaXN0YW5jZSB0byBiZSBzZWFyY2hlZC5cbiAqIElmIG5lZ2F0aXZlLCB0aGVyZSBpcyBubyBsaW1pdC5cbiAqIEByZXR1cm5zIFRoZSBzaG9ydGVzdCBlZGl0IHNjcmlwdCB0aGF0IHR1cm5zIGBmcm9tYCBpbnRvIGB0b2A7XG4gKiBgdW5kZWZpbmVkYCBpZiBubyBlZGl0IHNjcmlwdCBpcyBmb3VuZCBpbiB0aGUgZ2l2ZW4gcmFuZ2UuXG4gKi9cbmNvbnN0IHNob3J0ZXN0RWRpdFNjcmlwdCA9IChmcm9tLCB0bywgbGltaXQgPSAtMSkgPT4ge1xuICAgIGNvbnN0IGZyb21MZW4gPSBmcm9tLmxlbmd0aDtcbiAgICBjb25zdCB0b0xlbiA9IHRvLmxlbmd0aDtcbiAgICBjb25zdCBtYXhkID0gbGltaXQgPj0gMCA/IE1hdGgubWluKGxpbWl0LCBmcm9tTGVuICsgdG9MZW4pIDogZnJvbUxlbiArIHRvTGVuO1xuICAgIGNvbnN0IG1lbSA9IG5ldyBBcnJheShNYXRoLm1pbihtYXhkLCBmcm9tTGVuKSArIE1hdGgubWluKG1heGQsIHRvTGVuKSArIDEpO1xuICAgIGNvbnN0IG9mZnNldCA9IE1hdGgubWluKG1heGQsIGZyb21MZW4pO1xuICAgIGZvciAobGV0IGQgPSAwOyBkIDw9IG1heGQ7IGQrKykge1xuICAgICAgICBjb25zdCBtaW5rID0gZCA8PSBmcm9tTGVuID8gLWQgOiBkIC0gMiAqIGZyb21MZW47XG4gICAgICAgIGNvbnN0IG1heGsgPSBkIDw9IHRvTGVuID8gZCA6IC1kICsgMiAqIHRvTGVuO1xuICAgICAgICBmb3IgKGxldCBrID0gbWluazsgayA8PSBtYXhrOyBrICs9IDIpIHtcbiAgICAgICAgICAgIGxldCBpO1xuICAgICAgICAgICAgbGV0IHNjcmlwdDtcbiAgICAgICAgICAgIGlmIChkID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaSA9IDA7XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gbmV3IE5pbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoayA9PT0gLWQpIHtcbiAgICAgICAgICAgICAgICBpID0gbWVtW29mZnNldCArIGsgKyAxXS5pICsgMTtcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBtZW1bb2Zmc2V0ICsgayArIDFdLnNjcmlwdC51bnNoaWZ0KG5ldyBEZWxldGUoaSArIGspKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGsgPT09IGQpIHtcbiAgICAgICAgICAgICAgICBpID0gbWVtW29mZnNldCArIGsgLSAxXS5pO1xuICAgICAgICAgICAgICAgIHNjcmlwdCA9IG1lbVtvZmZzZXQgKyBrIC0gMV0uc2NyaXB0LnVuc2hpZnQobmV3IEluc2VydChpICsgayAtIDEsIHRvW2kgKyBrIC0gMV0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZpID0gbWVtW29mZnNldCArIGsgKyAxXS5pICsgMTtcbiAgICAgICAgICAgICAgICBjb25zdCBoaSA9IG1lbVtvZmZzZXQgKyBrIC0gMV0uaTtcbiAgICAgICAgICAgICAgICBpZiAodmkgPiBoaSkge1xuICAgICAgICAgICAgICAgICAgICBpID0gdmk7XG4gICAgICAgICAgICAgICAgICAgIHNjcmlwdCA9IG1lbVtvZmZzZXQgKyBrICsgMV0uc2NyaXB0LnVuc2hpZnQobmV3IERlbGV0ZShpICsgaykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaSA9IGhpO1xuICAgICAgICAgICAgICAgICAgICBzY3JpcHQgPSBtZW1bb2Zmc2V0ICsgayAtIDFdLnNjcmlwdC51bnNoaWZ0KG5ldyBJbnNlcnQoaSArIGsgLSAxLCB0b1tpICsgayAtIDFdKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2hpbGUgKGkgPCBmcm9tTGVuICYmIGkgKyBrIDwgdG9MZW4gJiYgZnJvbVtpXSA9PT0gdG9baSArIGtdKSB7XG4gICAgICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGsgPT09IHRvTGVuIC0gZnJvbUxlbiAmJiBpID09PSBmcm9tTGVuKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNjcmlwdC50b0FycmF5KCkucmV2ZXJzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWVtW29mZnNldCArIGtdID0geyBpLCBzY3JpcHQgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcbmV4cG9ydHMuc2hvcnRlc3RFZGl0U2NyaXB0ID0gc2hvcnRlc3RFZGl0U2NyaXB0O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLklUZXh0RWRpdG9yID0gdm9pZCAwO1xuLyoqXG4gKiBUaGUgYElUZXh0RWRpdG9yYCByZXByZXNlbnRzIGFuIGludGVyZmFjZSB0byBhIHRleHQgZWRpdG9yLlxuICpcbiAqIEBpbnRlcmZhY2VcbiAqL1xuY2xhc3MgSVRleHRFZGl0b3Ige1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBwb2ludCBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSBjdXJzb3IgcG9zaXRpb24uXG4gICAgICovXG4gICAgZ2V0Q3Vyc29yUG9zaXRpb24oKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiBnZXRDdXJzb3JQb3NpdGlvbicpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjdXJzb3IgcG9zaXRpb24gdG8gYSBzcGVjaWZpZWQgb25lLlxuICAgICAqL1xuICAgIHNldEN1cnNvclBvc2l0aW9uKHBvcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogc2V0Q3Vyc29yUG9zaXRpb24nKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc2VsZWN0aW9uIHJhbmdlLlxuICAgICAqIFRoaXMgbWV0aG9kIGFsc28gZXhwZWN0cyB0aGUgY3Vyc29yIHBvc2l0aW9uIHRvIGJlIG1vdmVkIGFzIHRoZSBlbmQgb2YgdGhlIHNlbGVjdGlvbiByYW5nZS5cbiAgICAgKi9cbiAgICBzZXRTZWxlY3Rpb25SYW5nZShyYW5nZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogc2V0U2VsZWN0aW9uUmFuZ2UnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbGFzdCByb3cgaW5kZXggb2YgdGhlIHRleHQgZWRpdG9yLlxuICAgICAqL1xuICAgIGdldExhc3RSb3coKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiBnZXRMYXN0Um93Jyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgZWRpdG9yIGFjY2VwdHMgYSB0YWJsZSBhdCBhIHJvdyB0byBiZSBlZGl0dGVkLlxuICAgICAqIEl0IHNob3VsZCByZXR1cm4gYGZhbHNlYCBpZiwgZm9yIGV4YW1wbGUsIHRoZSByb3cgaXMgaW4gYSBjb2RlIGJsb2NrIChub3QgTWFya2Rvd24pLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvdyAtIEEgcm93IGluZGV4IGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRhYmxlIGF0IHRoZSByb3cgY2FuIGJlIGVkaXR0ZWQuXG4gICAgICovXG4gICAgYWNjZXB0c1RhYmxlRWRpdChyb3cpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQ6IGFjY2VwdHNUYWJsZUVkaXQnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyBhIGxpbmUgc3RyaW5nIGF0IGEgcm93LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvdyAtIFJvdyBpbmRleCwgc3RhcnRzIGZyb20gYDBgLlxuICAgICAqIEByZXR1cm5zIFRoZSBsaW5lIGF0IHRoZSBzcGVjaWZpZWQgcm93LlxuICAgICAqIFRoZSBsaW5lIG11c3Qgbm90IGNvbnRhaW4gYW4gRU9MIGxpa2UgYFwiXFxuXCJgIG9yIGBcIlxcclwiYC5cbiAgICAgKi9cbiAgICBnZXRMaW5lKHJvdykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogZ2V0TGluZScpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIGEgbGluZSBhdCBhIHNwZWNpZmllZCByb3cuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93IC0gUm93IGluZGV4LCBzdGFydHMgZnJvbSBgMGAuXG4gICAgICogQHBhcmFtIGxpbmUgLSBBIHN0cmluZyB0byBiZSBpbnNlcnRlZC5cbiAgICAgKiBUaGlzIG11c3Qgbm90IGNvbnRhaW4gYW4gRU9MIGxpa2UgYFwiXFxuXCJgIG9yIGBcIlxcclwiYC5cbiAgICAgKi9cbiAgICBpbnNlcnRMaW5lKHJvdywgbGluZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogaW5zZXJ0TGluZScpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGEgbGluZSBhdCBhIHNwZWNpZmllZCByb3cuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93IC0gUm93IGluZGV4LCBzdGFydHMgZnJvbSBgMGAuXG4gICAgICovXG4gICAgZGVsZXRlTGluZShyb3cpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQ6IGRlbGV0ZUxpbmUnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVwbGFjZSBsaW5lcyBpbiBhIHNwZWNpZmllZCByYW5nZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGFydFJvdyAtIFN0YXJ0IHJvdyBpbmRleCwgc3RhcnRzIGZyb20gYDBgLlxuICAgICAqIEBwYXJhbSBlbmRSb3cgLSBFbmQgcm93IGluZGV4LlxuICAgICAqIExpbmVzIGZyb20gYHN0YXJ0Um93YCB0byBgZW5kUm93IC0gMWAgaXMgcmVwbGFjZWQuXG4gICAgICogQHBhcmFtIGxpbmVzIC0gQW4gYXJyYXkgb2Ygc3RyaW5nLlxuICAgICAqIEVhY2ggc3RyaW5ncyBtdXN0IG5vdCBjb250YWluIGFuIEVPTCBsaWtlIGBcIlxcblwiYCBvciBgXCJcXHJcImAuXG4gICAgICovXG4gICAgcmVwbGFjZUxpbmVzKHN0YXJ0Um93LCBlbmRSb3csIGxpbmVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiByZXBsYWNlTGluZXMnKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQmF0Y2hlcyBtdWx0aXBsZSBvcGVyYXRpb25zIGFzIGEgc2luZ2xlIHVuZG8vcmVkbyBzdGVwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZ1bmMgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgZXhlY3V0ZXMgc29tZSBvcGVyYXRpb25zIG9uIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKi9cbiAgICB0cmFuc2FjdChmdW5jKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiB0cmFuc2FjdCcpO1xuICAgIH1cbn1cbmV4cG9ydHMuSVRleHRFZGl0b3IgPSBJVGV4dEVkaXRvcjtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5kZWZhdWx0T3B0aW9ucyA9IGV4cG9ydHMub3B0aW9uc1dpdGhEZWZhdWx0cyA9IHZvaWQgMDtcbmNvbnN0IGFsaWdubWVudF8xID0gcmVxdWlyZShcIi4vYWxpZ25tZW50XCIpO1xuY29uc3QgZm9ybWF0dGVyXzEgPSByZXF1aXJlKFwiLi9mb3JtYXR0ZXJcIik7XG5jb25zdCBERUZBVUxUX1RFWFRfV0lEVEhfT1BUSU9OUyA9IHtcbiAgICBub3JtYWxpemU6IHRydWUsXG4gICAgd2lkZUNoYXJzOiBuZXcgU2V0KCksXG4gICAgbmFycm93Q2hhcnM6IG5ldyBTZXQoKSxcbiAgICBhbWJpZ3VvdXNBc1dpZGU6IGZhbHNlLFxufTtcbmNvbnN0IERFRkFVTFRfT1BUSU9OUyA9IHtcbiAgICBsZWZ0TWFyZ2luQ2hhcnM6IG5ldyBTZXQoKSxcbiAgICBmb3JtYXRUeXBlOiBmb3JtYXR0ZXJfMS5Gb3JtYXRUeXBlLk5PUk1BTCxcbiAgICBtaW5EZWxpbWl0ZXJXaWR0aDogMyxcbiAgICBkZWZhdWx0QWxpZ25tZW50OiBhbGlnbm1lbnRfMS5EZWZhdWx0QWxpZ25tZW50LkxFRlQsXG4gICAgaGVhZGVyQWxpZ25tZW50OiBhbGlnbm1lbnRfMS5IZWFkZXJBbGlnbm1lbnQuRk9MTE9XLFxuICAgIHNtYXJ0Q3Vyc29yOiBmYWxzZSxcbn07XG4vKipcbiAqIENyZWF0ZSBhbiBPcHRpb25zIG9iamVjdCBmb3IgdGhlIGZvcm1hdHRlci5cbiAqIFRoZSBkZWZhdWx0IHZhbHVlcyBhcmUgdXNlZCBmb3Igb3B0aW9ucyB0aGF0IGFyZSBub3Qgc3BlY2lmaWVkLlxuICpcbiAqIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBhbmQgZGVmYXVsdCB2YWx1ZXMgYXJlIGxpc3RlZCBiZWxvdy5cbiAqXG4gKiB8IHByb3BlcnR5IG5hbWUgICAgICAgfCB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGVmYXVsdCB2YWx1ZSAgICAgICAgICAgIHxcbiAqIHwgLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfFxuICogfCBgbGVmdE1hcmdpbkNoYXJzYCAgIHwge0BsaW5rIFNldH0mbHQ7e0BsaW5rIHN0cmluZ30mZ3Q7IHwgQSBzZXQgb2YgYWRkaXRpb25hbCBsZWZ0IG1hcmdpbiBjaGFyYWN0ZXJzLiAgICAgICAgICAgICB8IGBuZXcgU2V0KClgICAgICAgICAgICAgICB8XG4gKiB8IGBmb3JtYXRUeXBlYCAgICAgICAgfCB7QGxpbmsgRm9ybWF0VHlwZX0gICAgICAgICAgICAgICAgfCBGb3JtYXQgdHlwZSwgbm9ybWFsIG9yIHdlYWsuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYEZvcm1hdFR5cGUuTk9STUFMYCAgICAgIHxcbiAqIHwgYG1pbkRlbGltaXRlcldpZHRoYCB8IHtAbGluayBudW1iZXJ9ICAgICAgICAgICAgICAgICAgICB8IE1pbmltdW0gd2lkdGggb2YgZGVsaW1pdGVycy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgM2AgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgZGVmYXVsdEFsaWdubWVudGAgIHwge0BsaW5rIERlZmF1bHRBbGlnbm1lbnR9ICAgICAgICAgIHwgRGVmYXVsdCBhbGlnbm1lbnQgb2YgY29sdW1ucy4gICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBEZWZhdWx0QWxpZ25tZW50LkxFRlRgICB8XG4gKiB8IGBoZWFkZXJBbGlnbm1lbnRgICAgfCB7QGxpbmsgSGVhZGVyQWxpZ25tZW50fSAgICAgICAgICAgfCBBbGlnbm1lbnQgb2YgaGVhZGVyIGNlbGxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYEhlYWRlckFsaWdubWVudC5GT0xMT1dgIHxcbiAqIHwgYHRleHRXaWR0aE9wdGlvbnNgICB8IHtAbGluayBUZXh0V2lkdGhPcHRpb25zfSAgICAgICAgICB8IEFuIG9iamVjdCBjb250YWluaW5nIG9wdGlvbnMgZm9yIGNvbXB1dGluZyB0ZXh0IHdpZHRocy4gfCAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgc21hcnRDdXJzb3JgICAgICAgIHwge0BsaW5rIGJvb2xlYW59ICAgICAgICAgICAgICAgICAgIHwgRW5hYmxlcyBcIlNtYXJ0IEN1cnNvclwiIGZlYXR1cmUuICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGZhbHNlYCAgICAgICAgICAgICAgICAgIHxcbiAqXG4gKiBUaGUgYXZhaWxhYmxlIG9wdGlvbnMgZm9yIGB0ZXh0V2lkdGhPcHRpb25zYCBhcmUgdGhlIGZvbGxvd2luZyBvbmVzLlxuICpcbiAqIHwgcHJvcGVydHkgbmFtZSAgICAgfCB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRlZmF1bHQgdmFsdWUgfFxuICogfCAtLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLSB8XG4gKiB8IGBub3JtYWxpemVgICAgICAgIHwge0BsaW5rIGJvb2xlYW59ICAgICAgICAgICAgICAgICAgIHwgTm9ybWFsaXplcyB0ZXh0cyBiZWZvcmUgY29tcHV0aW5nIHRleHQgd2lkdGhzLiAgICAgICAgfCBgdHJ1ZWAgICAgICAgIHxcbiAqIHwgYHdpZGVDaGFyc2AgICAgICAgfCB7QGxpbmsgU2V0fSZsdDt7QGxpbmsgc3RyaW5nfSZndDsgfCBBIHNldCBvZiBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgd2lkZS4gICB8IGBuZXcgU2V0KClgICAgfFxuICogfCBgbmFycm93Q2hhcnNgICAgICB8IHtAbGluayBTZXR9Jmx0O3tAbGluayBzdHJpbmd9Jmd0OyB8IEEgc2V0IG9mIGNoYXJhY3RlcnMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBuYXJyb3cuIHwgYG5ldyBTZXQoKWAgICB8XG4gKiB8IGBhbWJpZ3VvdXNBc1dpZGVgIHwge0BsaW5rIGJvb2xlYW59ICAgICAgICAgICAgICAgICAgIHwgVHJlYXRzIEVhc3QgQXNpYW4gQW1iaWd1b3VzIGNoYXJhY3RlcnMgYXMgd2lkZS4gICAgICAgfCBgZmFsc2VgICAgICAgIHxcbiAqXG4gKi9cbmNvbnN0IG9wdGlvbnNXaXRoRGVmYXVsdHMgPSAob3B0aW9ucykgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX09QVElPTlMpLCBvcHRpb25zKSwgeyB0ZXh0V2lkdGhPcHRpb25zOiBvcHRpb25zLnRleHRXaWR0aE9wdGlvbnNcbiAgICAgICAgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfVEVYVF9XSURUSF9PUFRJT05TKSwgb3B0aW9ucy50ZXh0V2lkdGhPcHRpb25zKSA6IERFRkFVTFRfVEVYVF9XSURUSF9PUFRJT05TIH0pKTtcbmV4cG9ydHMub3B0aW9uc1dpdGhEZWZhdWx0cyA9IG9wdGlvbnNXaXRoRGVmYXVsdHM7XG5leHBvcnRzLmRlZmF1bHRPcHRpb25zID0gZXhwb3J0cy5vcHRpb25zV2l0aERlZmF1bHRzKHt9KTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UYWJsZUVkaXRvciA9IGV4cG9ydHMuX2NvbXB1dGVOZXdPZmZzZXQgPSBleHBvcnRzLl9jcmVhdGVJc1RhYmxlRm9ybXVsYVJlZ2V4ID0gZXhwb3J0cy5fY3JlYXRlSXNUYWJsZVJvd1JlZ2V4ID0gZXhwb3J0cy5Tb3J0T3JkZXIgPSB2b2lkIDA7XG5jb25zdCBlZGl0X3NjcmlwdF8xID0gcmVxdWlyZShcIi4vZWRpdC1zY3JpcHRcIik7XG5jb25zdCBmb2N1c18xID0gcmVxdWlyZShcIi4vZm9jdXNcIik7XG5jb25zdCBmb3JtYXR0ZXJfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlclwiKTtcbmNvbnN0IHBhcnNlcl8xID0gcmVxdWlyZShcIi4vcGFyc2VyXCIpO1xuY29uc3QgcG9pbnRfMSA9IHJlcXVpcmUoXCIuL3BvaW50XCIpO1xuY29uc3QgcmFuZ2VfMSA9IHJlcXVpcmUoXCIuL3JhbmdlXCIpO1xuY29uc3QgdGFibGVfMSA9IHJlcXVpcmUoXCIuL3RhYmxlXCIpO1xuY29uc3QgdGFibGVfY2VsbF8xID0gcmVxdWlyZShcIi4vdGFibGUtY2VsbFwiKTtcbmNvbnN0IHRhYmxlX3Jvd18xID0gcmVxdWlyZShcIi4vdGFibGUtcm93XCIpO1xudmFyIFNvcnRPcmRlcjtcbihmdW5jdGlvbiAoU29ydE9yZGVyKSB7XG4gICAgU29ydE9yZGVyW1wiQXNjZW5kaW5nXCJdID0gXCJhc2NlbmRpbmdcIjtcbiAgICBTb3J0T3JkZXJbXCJEZXNjZW5kaW5nXCJdID0gXCJkZXNjZW5kaW5nXCI7XG59KShTb3J0T3JkZXIgPSBleHBvcnRzLlNvcnRPcmRlciB8fCAoZXhwb3J0cy5Tb3J0T3JkZXIgPSB7fSkpO1xuLyoqXG4gKiBDcmVhdGVzIGEgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCB0aGF0IG1hdGNoZXMgYSB0YWJsZSByb3cuXG4gKlxuICogQHBhcmFtIGxlZnRNYXJnaW5DaGFycyAtIEEgc2V0IG9mIGFkZGl0aW9uYWwgbGVmdCBtYXJnaW4gY2hhcmFjdGVycy5cbiAqIEEgcGlwZSBgfGAsIGEgYmFja3NsYXNoIGBcXGAsIGFuZCBhIGJhY2txdW90ZSB3aWxsIGJlIGlnbm9yZWQuXG4gKiBAcmV0dXJucyBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgdGhhdCBtYXRjaGVzIGEgdGFibGUgcm93LlxuICovXG5jb25zdCBfY3JlYXRlSXNUYWJsZVJvd1JlZ2V4ID0gKGxlZnRNYXJnaW5DaGFycykgPT4gbmV3IFJlZ0V4cChgXiR7cGFyc2VyXzEubWFyZ2luUmVnZXhTcmMobGVmdE1hcmdpbkNoYXJzKX1cXFxcfGAsICd1Jyk7XG5leHBvcnRzLl9jcmVhdGVJc1RhYmxlUm93UmVnZXggPSBfY3JlYXRlSXNUYWJsZVJvd1JlZ2V4O1xuY29uc3QgX2NyZWF0ZUlzVGFibGVGb3JtdWxhUmVnZXggPSAobGVmdE1hcmdpbkNoYXJzKSA9PiBuZXcgUmVnRXhwKGBeJHtwYXJzZXJfMS5tYXJnaW5SZWdleFNyYyhsZWZ0TWFyZ2luQ2hhcnMpfTwhLS0gPy4rLS0+JGAsICd1Jyk7XG5leHBvcnRzLl9jcmVhdGVJc1RhYmxlRm9ybXVsYVJlZ2V4ID0gX2NyZWF0ZUlzVGFibGVGb3JtdWxhUmVnZXg7XG4vKipcbiAqIENvbXB1dGVzIG5ldyBmb2N1cyBvZmZzZXQgZnJvbSBpbmZvcm1hdGlvbiBvZiBjb21wbGV0ZWQgYW5kIGZvcm1hdHRlZCB0YWJsZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBmb2N1cyAtIEEgZm9jdXMuXG4gKiBAcGFyYW0gdGFibGUgLSBBIGNvbXBsZXRlZCBidXQgbm90IGZvcm1hdHRlZCB0YWJsZSB3aXRoIG9yaWdpbmFsIGNlbGwgY29udGVudHMuXG4gKiBAcGFyYW0gZm9ybWF0dGVkIC0gSW5mb3JtYXRpb24gb2YgdGhlIGZvcm1hdHRlZCB0YWJsZS5cbiAqIEBwYXJhbSBtb3ZlZCAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb2N1cyBwb3NpdGlvbiBpcyBtb3ZlZCBieSBhIGNvbW1hbmQgb3Igbm90LlxuICovXG5jb25zdCBfY29tcHV0ZU5ld09mZnNldCA9IChmb2N1cywgdGFibGUsIGZvcm1hdHRlZCwgbW92ZWQpID0+IHtcbiAgICBpZiAobW92ZWQpIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRm9jdXNlZENlbGwgPSBmb3JtYXR0ZWQudGFibGUuZ2V0Rm9jdXNlZENlbGwoZm9jdXMpO1xuICAgICAgICBpZiAoZm9ybWF0dGVkRm9jdXNlZENlbGwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEZvY3VzZWRDZWxsLmNvbXB1dGVSYXdPZmZzZXQoMCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvY3VzLmNvbHVtbiA8IDAgPyBmb3JtYXR0ZWQubWFyZ2luTGVmdC5sZW5ndGggOiAwO1xuICAgIH1cbiAgICBjb25zdCBmb2N1c2VkQ2VsbCA9IHRhYmxlLmdldEZvY3VzZWRDZWxsKGZvY3VzKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRGb2N1c2VkQ2VsbCA9IGZvcm1hdHRlZC50YWJsZS5nZXRGb2N1c2VkQ2VsbChmb2N1cyk7XG4gICAgaWYgKGZvY3VzZWRDZWxsICE9PSB1bmRlZmluZWQgJiYgZm9ybWF0dGVkRm9jdXNlZENlbGwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBjb250ZW50T2Zmc2V0ID0gTWF0aC5taW4oZm9jdXNlZENlbGwuY29tcHV0ZUNvbnRlbnRPZmZzZXQoZm9jdXMub2Zmc2V0KSwgZm9ybWF0dGVkRm9jdXNlZENlbGwuY29udGVudC5sZW5ndGgpO1xuICAgICAgICByZXR1cm4gZm9ybWF0dGVkRm9jdXNlZENlbGwuY29tcHV0ZVJhd09mZnNldChjb250ZW50T2Zmc2V0KTtcbiAgICB9XG4gICAgcmV0dXJuIGZvY3VzLmNvbHVtbiA8IDAgPyBmb3JtYXR0ZWQubWFyZ2luTGVmdC5sZW5ndGggOiAwO1xufTtcbmV4cG9ydHMuX2NvbXB1dGVOZXdPZmZzZXQgPSBfY29tcHV0ZU5ld09mZnNldDtcbi8qKlxuICogVGhlIGBUYWJsZUVkaXRvcmAgY2xhc3MgaXMgYXQgdGhlIGNlbnRlciBvZiB0aGUgbWFya2Rvd24tdGFibGUtZWRpdG9yLlxuICogV2hlbiBhIGNvbW1hbmQgaXMgZXhlY3V0ZWQsIGl0IHJlYWRzIGEgdGFibGUgZnJvbSB0aGUgdGV4dCBlZGl0b3IsIGRvZXMgc29tZSBvcGVyYXRpb24gb24gdGhlXG4gKiB0YWJsZSwgYW5kIHRoZW4gYXBwbHkgdGhlIHJlc3VsdCB0byB0aGUgdGV4dCBlZGl0b3IuXG4gKlxuICogVG8gdXNlIHRoaXMgY2xhc3MsIHRoZSB0ZXh0IGVkaXRvciAob3IgYW4gaW50ZXJmYWNlIHRvIGl0KSBtdXN0IGltcGxlbWVudCB7QGxpbmsgSVRleHRFZGl0b3J9LlxuICovXG5jbGFzcyBUYWJsZUVkaXRvciB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyB0YWJsZSBlZGl0b3IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGV4dEVkaXRvciAtIEEgdGV4dCBlZGl0b3IgaW50ZXJmYWNlLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHRleHRFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5fdGV4dEVkaXRvciA9IHRleHRFZGl0b3I7XG4gICAgICAgIC8vIHNtYXJ0IGN1cnNvclxuICAgICAgICB0aGlzLl9zY0FjdGl2ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNldHMgdGhlIHNtYXJ0IGN1cnNvci5cbiAgICAgKiBDYWxsIHRoaXMgbWV0aG9kIHdoZW4gdGhlIHRhYmxlIGVkaXRvciBpcyBpbmFjdGl2YXRlZC5cbiAgICAgKi9cbiAgICByZXNldFNtYXJ0Q3Vyc29yKCkge1xuICAgICAgICB0aGlzLl9zY0FjdGl2ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGN1cnNvciBpcyBpbiBhIHRhYmxlIHJvdy4gUmV0dXJucyBmYWxzZSBpZiB0aGUgY3Vyc29yIGlzIGluIGFcbiAgICAgKiB0YWJsZSBmb3JtdWxhIHJvdyAoc2VlIGN1cnNvcklzSW5UYWJsZUZvcm11bGEpLlxuICAgICAqIFRoaXMgaXMgdXNlZnVsIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHRhYmxlIGVkaXRvciBzaG91bGQgYmUgYWN0aXZhdGVkIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY3Vyc29yIGlzIGluIGEgdGFibGUgcm93LlxuICAgICAqL1xuICAgIGN1cnNvcklzSW5UYWJsZShvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHJlID0gZXhwb3J0cy5fY3JlYXRlSXNUYWJsZVJvd1JlZ2V4KG9wdGlvbnMubGVmdE1hcmdpbkNoYXJzKTtcbiAgICAgICAgY29uc3QgcG9zID0gdGhpcy5fdGV4dEVkaXRvci5nZXRDdXJzb3JQb3NpdGlvbigpO1xuICAgICAgICByZXR1cm4gKHRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChwb3Mucm93KSAmJlxuICAgICAgICAgICAgcmUudGVzdCh0aGlzLl90ZXh0RWRpdG9yLmdldExpbmUocG9zLnJvdykpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBjdXJzb3IgaXMgaW4gYSBmb3JtdWxhIHJvdyBiZWxvdyBhIHRhYmxlLlxuICAgICAqIFRoaXMgaXMgdXNlZnVsIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHRhYmxlIGVkaXRvciBzaG91bGQgYmUgYWN0aXZhdGVkIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY3Vyc29yIGlzIGluIGEgZm9ybXVsYSByb3cuXG4gICAgICovXG4gICAgY3Vyc29ySXNJblRhYmxlRm9ybXVsYShvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IGZvcm11bGFSZSA9IGV4cG9ydHMuX2NyZWF0ZUlzVGFibGVGb3JtdWxhUmVnZXgob3B0aW9ucy5sZWZ0TWFyZ2luQ2hhcnMpO1xuICAgICAgICBjb25zdCBwb3MgPSB0aGlzLl90ZXh0RWRpdG9yLmdldEN1cnNvclBvc2l0aW9uKCk7XG4gICAgICAgIHJldHVybiAodGhpcy5fdGV4dEVkaXRvci5hY2NlcHRzVGFibGVFZGl0KHBvcy5yb3cpICYmXG4gICAgICAgICAgICBmb3JtdWxhUmUudGVzdCh0aGlzLl90ZXh0RWRpdG9yLmdldExpbmUocG9zLnJvdykpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRmluZHMgYSB0YWJsZSB1bmRlciB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm8gdGFibGUgb3IgdGhlIGRldGVybWluZWQgZm9jdXMgaXMgaW52YWxpZC5cbiAgICAgKi9cbiAgICBfZmluZFRhYmxlKG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcmUgPSBleHBvcnRzLl9jcmVhdGVJc1RhYmxlUm93UmVnZXgob3B0aW9ucy5sZWZ0TWFyZ2luQ2hhcnMpO1xuICAgICAgICBjb25zdCBmb3JtdWxhUmUgPSBleHBvcnRzLl9jcmVhdGVJc1RhYmxlRm9ybXVsYVJlZ2V4KG9wdGlvbnMubGVmdE1hcmdpbkNoYXJzKTtcbiAgICAgICAgbGV0IHBvcyA9IHRoaXMuX3RleHRFZGl0b3IuZ2V0Q3Vyc29yUG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgbGFzdFJvdyA9IHRoaXMuX3RleHRFZGl0b3IuZ2V0TGFzdFJvdygpO1xuICAgICAgICBjb25zdCBsaW5lcyA9IFtdO1xuICAgICAgICBjb25zdCBmb3JtdWxhTGluZXMgPSBbXTtcbiAgICAgICAgbGV0IHN0YXJ0Um93ID0gcG9zLnJvdztcbiAgICAgICAgbGV0IGVuZFJvdyA9IHBvcy5yb3c7IC8vIGVuZFJvdyBpcyBsYXN0IGxpbmUgYmVmb3JlIGZvbXVsYXNcbiAgICAgICAgLy8gaWYgdGhlIGN1cnNvciBpcyBvbiBmb3JtdWxhIGxpbmUsIHdvcmsgdXAgdW50aWwgd2UgZmluZCB0aGUgbGFzdCByb3cgb2YgdGhlIHRhYmxlXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxldCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHBvcy5yb3cpO1xuICAgICAgICAgICAgd2hpbGUgKGZvcm11bGFSZS50ZXN0KGxpbmUpICYmIHBvcy5yb3cgPj0gMCkge1xuICAgICAgICAgICAgICAgIHBvcyA9IG5ldyBwb2ludF8xLlBvaW50KHBvcy5yb3cgLSAxLCBwb3MuY29sdW1uKTtcbiAgICAgICAgICAgICAgICBlbmRSb3ctLTtcbiAgICAgICAgICAgICAgICBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHBvcy5yb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGN1cnJlbnQgbGluZVxuICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHBvcy5yb3cpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl90ZXh0RWRpdG9yLmFjY2VwdHNUYWJsZUVkaXQocG9zLnJvdykgfHwgIXJlLnRlc3QobGluZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGluZXMucHVzaChsaW5lKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBwcmV2aW91cyBsaW5lc1xuICAgICAgICBmb3IgKGxldCByb3cgPSBwb3Mucm93IC0gMTsgcm93ID49IDA7IHJvdy0tKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHJvdyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChyb3cpIHx8ICFyZS50ZXN0KGxpbmUpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5lcy51bnNoaWZ0KGxpbmUpO1xuICAgICAgICAgICAgc3RhcnRSb3cgPSByb3c7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbmV4dCBsaW5lc1xuICAgICAgICBmb3IgKGxldCByb3cgPSBwb3Mucm93ICsgMTsgcm93IDw9IGxhc3RSb3c7IHJvdysrKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHJvdyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChyb3cpIHx8ICFyZS50ZXN0KGxpbmUpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5lcy5wdXNoKGxpbmUpO1xuICAgICAgICAgICAgZW5kUm93ID0gcm93O1xuICAgICAgICB9XG4gICAgICAgIC8vIGZvcm11bGEgbGluZXNcbiAgICAgICAgZm9yIChsZXQgcm93ID0gZW5kUm93ICsgMTsgcm93IDw9IGxhc3RSb3c7IHJvdysrKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHJvdyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChyb3cpIHx8ICFmb3JtdWxhUmUudGVzdChsaW5lKSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9ybXVsYUxpbmVzLnB1c2gobGluZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgcmFuZ2VfMS5SYW5nZShuZXcgcG9pbnRfMS5Qb2ludChzdGFydFJvdywgMCksIG5ldyBwb2ludF8xLlBvaW50KGVuZFJvdywgbGluZXNbbGluZXMubGVuZ3RoIC0gMV0ubGVuZ3RoKSk7XG4gICAgICAgIGNvbnN0IHRhYmxlID0gcGFyc2VyXzEucmVhZFRhYmxlKGxpbmVzLCBvcHRpb25zKTtcbiAgICAgICAgY29uc3QgZm9jdXMgPSB0YWJsZS5mb2N1c09mUG9zaXRpb24ocG9zLCBzdGFydFJvdyk7XG4gICAgICAgIGlmIChmb2N1cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBWYWxpZGF0ZSB0aGlzIGZvciBjb3JyZWN0bmVzc1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgdGFibGUsIGZvY3VzIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZpbmRzIGEgdGFibGUgYW5kIGRvZXMgYW4gb3BlcmF0aW9uIHdpdGggaXQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSBmdW5jIC0gQSBmdW5jdGlvbiB0aGF0IGRvZXMgc29tZSBvcGVyYXRpb24gb24gdGFibGUgaW5mb3JtYXRpb24gb2J0YWluZWQgYnlcbiAgICAgKiB7QGxpbmsgVGFibGVFZGl0b3IjX2ZpbmRUYWJsZX0uXG4gICAgICovXG4gICAgX3dpdGhUYWJsZShvcHRpb25zLCBmdW5jKSB7XG4gICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLl9maW5kVGFibGUob3B0aW9ucyk7XG4gICAgICAgIGlmIChpbmZvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuYyhpbmZvKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBsaW5lcyBpbiBhIGdpdmVuIHJhbmdlIGluIHRoZSB0ZXh0IGVkaXRvci5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHN0YXJ0Um93IC0gU3RhcnQgcm93IGluZGV4LCBzdGFydHMgZnJvbSBgMGAuXG4gICAgICogQHBhcmFtIGVuZFJvdyAtIEVuZCByb3cgaW5kZXguXG4gICAgICogTGluZXMgZnJvbSBgc3RhcnRSb3dgIHRvIGBlbmRSb3cgLSAxYCBhcmUgcmVwbGFjZWQuXG4gICAgICogQHBhcmFtIG5ld0xpbmVzIC0gTmV3IGxpbmVzLlxuICAgICAqIEBwYXJhbSBbb2xkTGluZXM9dW5kZWZpbmVkXSAtIE9sZCBsaW5lcyB0byBiZSByZXBsYWNlZC5cbiAgICAgKi9cbiAgICBfdXBkYXRlTGluZXMoc3RhcnRSb3csIGVuZFJvdywgbmV3TGluZXMsIG9sZExpbmVzID0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChvbGRMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBhcHBseSB0aGUgc2hvcnRlc3QgZWRpdCBzY3JpcHRcbiAgICAgICAgICAgIC8vIGlmIGEgdGFibGUgaXMgZWRpdGVkIGluIGEgbm9ybWFsIG1hbm5lciwgdGhlIGVkaXQgZGlzdGFuY2UgbmV2ZXIgZXhjZWVkcyAzXG4gICAgICAgICAgICBjb25zdCBzZXMgPSBlZGl0X3NjcmlwdF8xLnNob3J0ZXN0RWRpdFNjcmlwdChvbGRMaW5lcywgbmV3TGluZXMsIDMpO1xuICAgICAgICAgICAgaWYgKHNlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZWRpdF9zY3JpcHRfMS5hcHBseUVkaXRTY3JpcHQodGhpcy5fdGV4dEVkaXRvciwgc2VzLCBzdGFydFJvdyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3RleHRFZGl0b3IucmVwbGFjZUxpbmVzKHN0YXJ0Um93LCBlbmRSb3csIG5ld0xpbmVzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTW92ZXMgdGhlIGN1cnNvciBwb3NpdGlvbiB0byB0aGUgZm9jdXNlZCBjZWxsLFxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0gc3RhcnRSb3cgLSBSb3cgaW5kZXggd2hlcmUgdGhlIHRhYmxlIHN0YXJ0cyBpbiB0aGUgdGV4dCBlZGl0b3IuXG4gICAgICogQHBhcmFtIHRhYmxlIC0gQSB0YWJsZS5cbiAgICAgKiBAcGFyYW0gZm9jdXMgLSBBIGZvY3VzIHRvIHdoaWNoIHRoZSBjdXJzb3Igd2lsbCBiZSBtb3ZlZC5cbiAgICAgKi9cbiAgICBfbW92ZVRvRm9jdXMoc3RhcnRSb3csIHRhYmxlLCBmb2N1cykge1xuICAgICAgICBjb25zdCBwb3MgPSB0YWJsZS5wb3NpdGlvbk9mRm9jdXMoZm9jdXMsIHN0YXJ0Um93KTtcbiAgICAgICAgaWYgKHBvcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNldEN1cnNvclBvc2l0aW9uKHBvcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogU2VsZWN0cyB0aGUgZm9jdXNlZCBjZWxsLlxuICAgICAqIElmIHRoZSBjZWxsIGhhcyBubyBjb250ZW50IHRvIGJlIHNlbGVjdGVkLCB0aGVuIGp1c3QgbW92ZXMgdGhlIGN1cnNvciBwb3NpdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHN0YXJ0Um93IC0gUm93IGluZGV4IHdoZXJlIHRoZSB0YWJsZSBzdGFydHMgaW4gdGhlIHRleHQgZWRpdG9yLlxuICAgICAqIEBwYXJhbSB0YWJsZSAtIEEgdGFibGUuXG4gICAgICogQHBhcmFtIGZvY3VzIC0gQSBmb2N1cyB0byBiZSBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBfc2VsZWN0Rm9jdXMoc3RhcnRSb3csIHRhYmxlLCBmb2N1cykge1xuICAgICAgICBjb25zdCByYW5nZSA9IHRhYmxlLnNlbGVjdGlvblJhbmdlT2ZGb2N1cyhmb2N1cywgc3RhcnRSb3cpO1xuICAgICAgICBpZiAocmFuZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci5zZXRTZWxlY3Rpb25SYW5nZShyYW5nZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9tb3ZlVG9Gb2N1cyhzdGFydFJvdywgdGFibGUsIGZvY3VzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBGb3JtYXRzIHRoZSB0YWJsZSB1bmRlciB0aGUgY3Vyc29yLlxuICAgICAqL1xuICAgIGZvcm1hdChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBhcHBseVxuICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgdGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW92ZVRvRm9jdXMocmFuZ2Uuc3RhcnQucm93LCB0YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGb3JtYXRzIGFuZCBlc2NhcGVzIGZyb20gdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIGVzY2FwZShvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3dpdGhUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIHRhYmxlLCBmb2N1cyB9KSA9PiB7XG4gICAgICAgICAgICAvLyBjb21wbGV0ZVxuICAgICAgICAgICAgY29uc3QgY29tcGxldGVkID0gZm9ybWF0dGVyXzEuY29tcGxldGVUYWJsZSh0YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAvLyBmb3JtYXRcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKGNvbXBsZXRlZC50YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAvLyBhcHBseVxuICAgICAgICAgICAgY29uc3QgbmV3Um93ID0gcmFuZ2UuZW5kLnJvdyArIChjb21wbGV0ZWQuZGVsaW1pdGVySW5zZXJ0ZWQgPyAyIDogMSk7XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgbGV0IG5ld1BvcztcbiAgICAgICAgICAgICAgICBpZiAobmV3Um93ID4gdGhpcy5fdGV4dEVkaXRvci5nZXRMYXN0Um93KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci5pbnNlcnRMaW5lKG5ld1JvdywgJycpO1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3MgPSBuZXcgcG9pbnRfMS5Qb2ludChuZXdSb3csIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKGBeJHtwYXJzZXJfMS5tYXJnaW5SZWdleFNyYyhvcHRpb25zLmxlZnRNYXJnaW5DaGFycyl9YCwgJ3UnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dExpbmUgPSB0aGlzLl90ZXh0RWRpdG9yLmdldExpbmUobmV3Um93KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmdpbiA9IHJlLmV4ZWMobmV4dExpbmUpWzBdO1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3MgPSBuZXcgcG9pbnRfMS5Qb2ludChuZXdSb3csIG1hcmdpbi5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNldEN1cnNvclBvc2l0aW9uKG5ld1Bvcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucmVzZXRTbWFydEN1cnNvcigpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWx0ZXJzIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGZvY3VzZWQgY29sdW1uLlxuICAgICAqL1xuICAgIGFsaWduQ29sdW1uKGFsaWdubWVudCwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLndpdGhDb21wbGV0ZWRUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIHRhYmxlLCBmb2N1cyB9KSA9PiB7XG4gICAgICAgICAgICBsZXQgbmV3Rm9jdXMgPSBmb2N1cztcbiAgICAgICAgICAgIC8vIGFsdGVyIGFsaWdubWVudFxuICAgICAgICAgICAgbGV0IGFsdGVyZWQgPSB0YWJsZTtcbiAgICAgICAgICAgIGlmICgwIDw9IG5ld0ZvY3VzLmNvbHVtbiAmJlxuICAgICAgICAgICAgICAgIG5ld0ZvY3VzLmNvbHVtbiA8PSBhbHRlcmVkLmdldEhlYWRlcldpZHRoKCkgLSAxKSB7XG4gICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLmFsdGVyQWxpZ25tZW50KHRhYmxlLCBuZXdGb2N1cy5jb2x1bW4sIGFsaWdubWVudCwgb3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBmb3JtYXRcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKGFsdGVyZWQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgdGFibGUsIGZvcm1hdHRlZCwgZmFsc2UpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW92ZVRvRm9jdXMocmFuZ2Uuc3RhcnQucm93LCBmb3JtYXR0ZWQudGFibGUsIG5ld0ZvY3VzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2VsZWN0cyB0aGUgZm9jdXNlZCBjZWxsIGNvbnRlbnQuXG4gICAgICovXG4gICAgc2VsZWN0Q2VsbChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBhcHBseVxuICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgdGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0Rm9jdXMocmFuZ2Uuc3RhcnQucm93LCB0YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb3ZlcyB0aGUgZm9jdXMgdG8gYW5vdGhlciBjZWxsLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvd09mZnNldCAtIE9mZnNldCBpbiByb3cuXG4gICAgICogQHBhcmFtIGNvbHVtbk9mZnNldCAtIE9mZnNldCBpbiBjb2x1bW4uXG4gICAgICovXG4gICAgbW92ZUZvY3VzKHJvd09mZnNldCwgY29sdW1uT2Zmc2V0LCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRGb2N1cyA9IG5ld0ZvY3VzO1xuICAgICAgICAgICAgLy8gbW92ZSBmb2N1c1xuICAgICAgICAgICAgaWYgKHJvd09mZnNldCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRhYmxlLmdldEhlaWdodCgpO1xuICAgICAgICAgICAgICAgIC8vIHNraXAgZGVsaW1pdGVyIHJvd1xuICAgICAgICAgICAgICAgIGNvbnN0IHNraXAgPSBuZXdGb2N1cy5yb3cgPCAxICYmIG5ld0ZvY3VzLnJvdyArIHJvd09mZnNldCA+PSAxXG4gICAgICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgICAgICA6IG5ld0ZvY3VzLnJvdyA+IDEgJiYgbmV3Rm9jdXMucm93ICsgcm93T2Zmc2V0IDw9IDFcbiAgICAgICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhNYXRoLm1pbihNYXRoLm1heChuZXdGb2N1cy5yb3cgKyByb3dPZmZzZXQgKyBza2lwLCAwKSwgaGVpZ2h0IDw9IDIgPyAwIDogaGVpZ2h0IC0gMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvbHVtbk9mZnNldCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGFibGUuZ2V0SGVhZGVyV2lkdGgoKTtcbiAgICAgICAgICAgICAgICBpZiAoIShuZXdGb2N1cy5jb2x1bW4gPCAwICYmIGNvbHVtbk9mZnNldCA8IDApICYmXG4gICAgICAgICAgICAgICAgICAgICEobmV3Rm9jdXMuY29sdW1uID4gd2lkdGggLSAxICYmIGNvbHVtbk9mZnNldCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKE1hdGgubWluKE1hdGgubWF4KG5ld0ZvY3VzLmNvbHVtbiArIGNvbHVtbk9mZnNldCwgMCksIHdpZHRoIC0gMSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1vdmVkID0gIW5ld0ZvY3VzLnBvc0VxdWFscyhzdGFydEZvY3VzKTtcbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUodGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgdGFibGUsIGZvcm1hdHRlZCwgbW92ZWQpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgaWYgKG1vdmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEZvY3VzKHJhbmdlLnN0YXJ0LnJvdywgZm9ybWF0dGVkLnRhYmxlLCBuZXdGb2N1cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb3ZlVG9Gb2N1cyhyYW5nZS5zdGFydC5yb3csIGZvcm1hdHRlZC50YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG1vdmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFNtYXJ0Q3Vyc29yKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb3ZlcyB0aGUgZm9jdXMgdG8gdGhlIG5leHQgY2VsbC5cbiAgICAgKi9cbiAgICBuZXh0Q2VsbChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3dpdGhUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIHRhYmxlLCBmb2N1cyB9KSA9PiB7XG4gICAgICAgICAgICAvLyByZXNldCBzbWFydCBjdXJzb3IgaWYgbW92ZWRcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzTW92ZWQgPSAodGhpcy5fc2NUYWJsZVBvcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgIXJhbmdlLnN0YXJ0LmVxdWFscyh0aGlzLl9zY1RhYmxlUG9zKSkgfHxcbiAgICAgICAgICAgICAgICAodGhpcy5fc2NMYXN0Rm9jdXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAhZm9jdXMucG9zRXF1YWxzKHRoaXMuX3NjTGFzdEZvY3VzKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2NBY3RpdmUgJiYgZm9jdXNNb3ZlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRTbWFydEN1cnNvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBjb21wbGV0ZVxuICAgICAgICAgICAgY29uc3QgY29tcGxldGVkID0gZm9ybWF0dGVyXzEuY29tcGxldGVUYWJsZSh0YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICBpZiAoY29tcGxldGVkLmRlbGltaXRlckluc2VydGVkICYmIG5ld0ZvY3VzLnJvdyA+IDApIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhuZXdGb2N1cy5yb3cgKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0Rm9jdXMgPSBuZXdGb2N1cztcbiAgICAgICAgICAgIGxldCBhbHRlcmVkID0gY29tcGxldGVkLnRhYmxlO1xuICAgICAgICAgICAgLy8gbW92ZSBmb2N1c1xuICAgICAgICAgICAgaWYgKG5ld0ZvY3VzLnJvdyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIC8vIG1vdmUgdG8gbmV4dCByb3dcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdygyKTtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zbWFydEN1cnNvcikge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uIDwgMCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSA8IG5ld0ZvY3VzLmNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRDb2x1bW4oMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBpbnNlcnQgYW4gZW1wdHkgcm93IGlmIG5lZWRlZFxuICAgICAgICAgICAgICAgIGlmIChuZXdGb2N1cy5yb3cgPiBhbHRlcmVkLmdldEhlaWdodCgpIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3cgPSBuZXcgQXJyYXkoYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpKS5maWxsKG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKCcnKSk7XG4gICAgICAgICAgICAgICAgICAgIGFsdGVyZWQgPSBmb3JtYXR0ZXJfMS5pbnNlcnRSb3coYWx0ZXJlZCwgYWx0ZXJlZC5nZXRIZWlnaHQoKSwgbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KHJvdywgJycsICcnKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gaW5zZXJ0IGFuIGVtcHR5IGNvbHVtbiBpZiBuZWVkZWRcbiAgICAgICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uID4gYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSBuZXcgQXJyYXkoYWx0ZXJlZC5nZXRIZWlnaHQoKSAtIDEpLmZpbGwobmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoJycpKTtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLmluc2VydENvbHVtbihhbHRlcmVkLCBhbHRlcmVkLmdldEhlYWRlcldpZHRoKCksIGNvbHVtbiwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG1vdmUgdG8gbmV4dCBjb2x1bW5cbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbihuZXdGb2N1cy5jb2x1bW4gKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUoYWx0ZXJlZCwgb3B0aW9ucyk7XG4gICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldE9mZnNldChleHBvcnRzLl9jb21wdXRlTmV3T2Zmc2V0KG5ld0ZvY3VzLCBhbHRlcmVkLCBmb3JtYXR0ZWQsIHRydWUpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICBjb25zdCBuZXdMaW5lcyA9IGZvcm1hdHRlZC50YWJsZS50b0xpbmVzKCk7XG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uID4gZm9ybWF0dGVkLnRhYmxlLmdldEhlYWRlcldpZHRoKCkgLSAxKSB7XG4gICAgICAgICAgICAgICAgLy8gYWRkIG1hcmdpblxuICAgICAgICAgICAgICAgIG5ld0xpbmVzW25ld0ZvY3VzLnJvd10gKz0gJyAnO1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0T2Zmc2V0KDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgbmV3TGluZXMsIGxpbmVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RGb2N1cyhyYW5nZS5zdGFydC5yb3csIGZvcm1hdHRlZC50YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zbWFydEN1cnNvcikge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fc2NBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aXZhdGUgc21hcnQgY3Vyc29yXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NUYWJsZVBvcyA9IHJhbmdlLnN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRGb2N1cy5jb2x1bW4gPCAwIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWQudGFibGUuZ2V0SGVhZGVyV2lkdGgoKSAtIDEgPCBzdGFydEZvY3VzLmNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NTdGFydEZvY3VzID0gbmV3IGZvY3VzXzEuRm9jdXMoc3RhcnRGb2N1cy5yb3csIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NTdGFydEZvY3VzID0gc3RhcnRGb2N1cztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9zY0xhc3RGb2N1cyA9IG5ld0ZvY3VzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTW92ZXMgdGhlIGZvY3VzIHRvIHRoZSBwcmV2aW91cyBjZWxsLlxuICAgICAqL1xuICAgIHByZXZpb3VzQ2VsbChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRGb2N1cyA9IG5ld0ZvY3VzO1xuICAgICAgICAgICAgLy8gbW92ZSBmb2N1c1xuICAgICAgICAgICAgaWYgKG5ld0ZvY3VzLnJvdyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChuZXdGb2N1cy5jb2x1bW4gPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKG5ld0ZvY3VzLmNvbHVtbiAtIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG5ld0ZvY3VzLnJvdyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3IGZvY3VzXzEuRm9jdXMoMCwgdGFibGUuZ2V0SGVhZGVyV2lkdGgoKSAtIDEsIG5ld0ZvY3VzLm9mZnNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbihuZXdGb2N1cy5jb2x1bW4gLSAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3IGZvY3VzXzEuRm9jdXMobmV3Rm9jdXMucm93ID09PSAyID8gMCA6IG5ld0ZvY3VzLnJvdyAtIDEsIHRhYmxlLmdldEhlYWRlcldpZHRoKCkgLSAxLCBuZXdGb2N1cy5vZmZzZXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1vdmVkID0gIW5ld0ZvY3VzLnBvc0VxdWFscyhzdGFydEZvY3VzKTtcbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUodGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgdGFibGUsIGZvcm1hdHRlZCwgbW92ZWQpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgaWYgKG1vdmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEZvY3VzKHJhbmdlLnN0YXJ0LnJvdywgZm9ybWF0dGVkLnRhYmxlLCBuZXdGb2N1cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9tb3ZlVG9Gb2N1cyhyYW5nZS5zdGFydC5yb3csIGZvcm1hdHRlZC50YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG1vdmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFNtYXJ0Q3Vyc29yKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb3ZlcyB0aGUgZm9jdXMgdG8gdGhlIG5leHQgcm93LlxuICAgICAqL1xuICAgIG5leHRSb3cob3B0aW9ucykge1xuICAgICAgICB0aGlzLl93aXRoVGFibGUob3B0aW9ucywgKHsgcmFuZ2UsIGxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgLy8gcmVzZXQgc21hcnQgY3Vyc29yIGlmIG1vdmVkXG4gICAgICAgICAgICBjb25zdCBmb2N1c01vdmVkID0gKHRoaXMuX3NjVGFibGVQb3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICFyYW5nZS5zdGFydC5lcXVhbHModGhpcy5fc2NUYWJsZVBvcykpIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMuX3NjTGFzdEZvY3VzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgIWZvY3VzLnBvc0VxdWFscyh0aGlzLl9zY0xhc3RGb2N1cykpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3NjQWN0aXZlICYmIGZvY3VzTW92ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0U21hcnRDdXJzb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgLy8gY29tcGxldGVcbiAgICAgICAgICAgIGNvbnN0IGNvbXBsZXRlZCA9IGZvcm1hdHRlcl8xLmNvbXBsZXRlVGFibGUodGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKGNvbXBsZXRlZC5kZWxpbWl0ZXJJbnNlcnRlZCAmJiBuZXdGb2N1cy5yb3cgPiAwKSB7XG4gICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRSb3cobmV3Rm9jdXMucm93ICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzdGFydEZvY3VzID0gbmV3Rm9jdXM7XG4gICAgICAgICAgICBsZXQgYWx0ZXJlZCA9IGNvbXBsZXRlZC50YWJsZTtcbiAgICAgICAgICAgIC8vIG1vdmUgZm9jdXNcbiAgICAgICAgICAgIGlmIChuZXdGb2N1cy5yb3cgPT09IDApIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdygyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Um93KG5ld0ZvY3VzLnJvdyArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuc21hcnRDdXJzb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2NBY3RpdmUgJiYgdGhpcy5fc2NTdGFydEZvY3VzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRDb2x1bW4odGhpcy5fc2NTdGFydEZvY3VzLmNvbHVtbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG5ld0ZvY3VzLmNvbHVtbiA8IDAgfHxcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSA8IG5ld0ZvY3VzLmNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbigwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbigwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGluc2VydCBlbXB0eSByb3cgaWYgbmVlZGVkXG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMucm93ID4gYWx0ZXJlZC5nZXRIZWlnaHQoKSAtIDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3cgPSBuZXcgQXJyYXkoYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpKS5maWxsKG5ldyB0YWJsZV9jZWxsXzEuVGFibGVDZWxsKCcnKSk7XG4gICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLmluc2VydFJvdyhhbHRlcmVkLCBhbHRlcmVkLmdldEhlaWdodCgpLCBuZXcgdGFibGVfcm93XzEuVGFibGVSb3cocm93LCAnJywgJycpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUoYWx0ZXJlZCwgb3B0aW9ucyk7XG4gICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldE9mZnNldChleHBvcnRzLl9jb21wdXRlTmV3T2Zmc2V0KG5ld0ZvY3VzLCBhbHRlcmVkLCBmb3JtYXR0ZWQsIHRydWUpKTtcbiAgICAgICAgICAgIC8vIGFwcGx5XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0Rm9jdXMocmFuZ2Uuc3RhcnQucm93LCBmb3JtYXR0ZWQudGFibGUsIG5ld0ZvY3VzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuc21hcnRDdXJzb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3NjQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFjdGl2YXRlIHNtYXJ0IGN1cnNvclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zY0FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjVGFibGVQb3MgPSByYW5nZS5zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0Rm9jdXMuY29sdW1uIDwgMCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkLnRhYmxlLmdldEhlYWRlcldpZHRoKCkgLSAxIDwgc3RhcnRGb2N1cy5jb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjU3RhcnRGb2N1cyA9IG5ldyBmb2N1c18xLkZvY3VzKHN0YXJ0Rm9jdXMucm93LCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjU3RhcnRGb2N1cyA9IHN0YXJ0Rm9jdXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fc2NMYXN0Rm9jdXMgPSBuZXdGb2N1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluc2VydHMgYW4gZW1wdHkgcm93IGF0IHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAqL1xuICAgIGluc2VydFJvdyhvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBtb3ZlIGZvY3VzXG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMucm93IDw9IDEpIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdygyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKDApO1xuICAgICAgICAgICAgLy8gaW5zZXJ0IGFuIGVtcHR5IHJvd1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gbmV3IEFycmF5KHRhYmxlLmdldEhlYWRlcldpZHRoKCkpLmZpbGwobmV3IHRhYmxlX2NlbGxfMS5UYWJsZUNlbGwoJycpKTtcbiAgICAgICAgICAgIGNvbnN0IGFsdGVyZWQgPSBmb3JtYXR0ZXJfMS5pbnNlcnRSb3codGFibGUsIG5ld0ZvY3VzLnJvdywgbmV3IHRhYmxlX3Jvd18xLlRhYmxlUm93KHJvdywgJycsICcnKSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdEFuZEFwcGx5KG9wdGlvbnMsIHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCBhbHRlcmVkLCBuZXdGb2N1cyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGEgcm93IGF0IHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAqL1xuICAgIGRlbGV0ZVJvdyhvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBkZWxldGUgYSByb3dcbiAgICAgICAgICAgIGxldCBhbHRlcmVkID0gdGFibGU7XG4gICAgICAgICAgICBsZXQgbW92ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChuZXdGb2N1cy5yb3cgIT09IDEpIHtcbiAgICAgICAgICAgICAgICBhbHRlcmVkID0gZm9ybWF0dGVyXzEuZGVsZXRlUm93KGFsdGVyZWQsIG5ld0ZvY3VzLnJvdyk7XG4gICAgICAgICAgICAgICAgbW92ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChuZXdGb2N1cy5yb3cgPiBhbHRlcmVkLmdldEhlaWdodCgpIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhuZXdGb2N1cy5yb3cgPT09IDIgPyAwIDogbmV3Rm9jdXMucm93IC0gMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5mb3JtYXRBbmRBcHBseShvcHRpb25zLCByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgYWx0ZXJlZCwgbmV3Rm9jdXMsIG1vdmVkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1vdmVzIHRoZSBmb2N1c2VkIHJvdyBieSB0aGUgc3BlY2lmaWVkIG9mZnNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZzZXQgLSBBbiBvZmZzZXQgdGhlIHJvdyBpcyBtb3ZlZCBieS5cbiAgICAgKi9cbiAgICBtb3ZlUm93KG9mZnNldCwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLndpdGhDb21wbGV0ZWRUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgLy8gbW92ZSByb3dcbiAgICAgICAgICAgIGxldCBhbHRlcmVkID0gdGFibGU7XG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMucm93ID4gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlc3QgPSBNYXRoLm1pbihNYXRoLm1heChuZXdGb2N1cy5yb3cgKyBvZmZzZXQsIDIpLCBhbHRlcmVkLmdldEhlaWdodCgpIC0gMSk7XG4gICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLm1vdmVSb3coYWx0ZXJlZCwgbmV3Rm9jdXMucm93LCBkZXN0KTtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhkZXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9ybWF0QW5kQXBwbHkob3B0aW9ucywgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIGFsdGVyZWQsIG5ld0ZvY3VzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGV2YWx1YXRlRm9ybXVsYXMob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoQ29tcGxldGVkVGFibGUob3B0aW9ucywgKHsgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIHRhYmxlLCBmb2N1cywgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGFibGUuYXBwbHlGb3JtdWxhcyhmb3JtdWxhTGluZXMpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0VycigpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5lcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgdGFibGU6IGZvcm1hdHRlZFRhYmxlLCBmb2N1czogbmV3Rm9jdXMgfSA9IHRoaXMuZm9ybWF0QW5kQXBwbHkob3B0aW9ucywgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIHJlc3VsdC52YWx1ZSwgZm9jdXMsIGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNvcnRzIHJvd3MgYWxwaGFudW1lcmljYWxseSB1c2luZyB0aGUgY29sdW1uIGF0IHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAqIElmIGFsbCBjZWxscyBpbiB0aGUgc29ydGluZyBjb2x1bW4gYXJlIG51bWJlcnMsIHRoZSBjb2x1bW4gaXMgc29ydGVkXG4gICAgICogbnVtZXJpY2FsbHkuXG4gICAgICovXG4gICAgc29ydFJvd3Moc29ydE9yZGVyLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9keVJvd3MgPSB0YWJsZS5nZXRSb3dzKCkuc2xpY2UoMik7XG4gICAgICAgICAgICBjb25zdCBpc051bWJlciA9IChzKSA9PiAvXlxccypbLStdPygoXFxkKyhcXC5cXGQrKT8pfChcXGQrXFwuKXwoXFwuXFxkKykpKFtlRV1bLStdP1xcZCspP1xccyokLy50ZXN0KHMpO1xuICAgICAgICAgICAgY29uc3Qgbm90QWxsTnVtcyA9IGJvZHlSb3dzXG4gICAgICAgICAgICAgICAgLm1hcCgocm93KSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IHJvdy5nZXRDZWxsQXQoZm9jdXMuY29sdW1uKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNvbnRlbnQ7IH0pXG4gICAgICAgICAgICAgICAgLnNvbWUoKGNlbGwpID0+IGNlbGwgIT09IHVuZGVmaW5lZCAmJiBjZWxsICE9PSAnJyAmJiAhaXNOdW1iZXIoY2VsbCkpO1xuICAgICAgICAgICAgYm9keVJvd3Muc29ydCgocm93QSwgcm93QikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxBID0gcm93QS5nZXRDZWxsQXQoZm9jdXMuY29sdW1uKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsQiA9IHJvd0IuZ2V0Q2VsbEF0KGZvY3VzLmNvbHVtbik7XG4gICAgICAgICAgICAgICAgaWYgKGNlbGxBID09PSB1bmRlZmluZWQgfHwgY2VsbEEuY29udGVudCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxCID09PSB1bmRlZmluZWQgfHwgY2VsbEIuY29udGVudCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2VsbEIgPT09IHVuZGVmaW5lZCB8fCBjZWxsQi5jb250ZW50ID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudEEgPSBub3RBbGxOdW1zXG4gICAgICAgICAgICAgICAgICAgID8gY2VsbEEuY29udGVudC5yZXBsYWNlKC9bKn5fJF0vZywgJycpXG4gICAgICAgICAgICAgICAgICAgIDogcGFyc2VGbG9hdChjZWxsQS5jb250ZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50QiA9IG5vdEFsbE51bXNcbiAgICAgICAgICAgICAgICAgICAgPyBjZWxsQi5jb250ZW50LnJlcGxhY2UoL1sqfl8kXS9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgOiBwYXJzZUZsb2F0KGNlbGxCLmNvbnRlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChjb250ZW50QSA9PT0gY29udGVudEIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRlbnRBID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjb250ZW50QiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudEEgPCBjb250ZW50QiA/IC0xIDogMTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRlc2NlbmRpbmcpIHtcbiAgICAgICAgICAgICAgICBib2R5Um93cy5yZXZlcnNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbGxSb3dzID0gdGFibGUuZ2V0Um93cygpLnNsaWNlKDAsIDIpLmNvbmNhdChib2R5Um93cyk7XG4gICAgICAgICAgICBjb25zdCBuZXdUYWJsZSA9IG5ldyB0YWJsZV8xLlRhYmxlKGFsbFJvd3MpO1xuICAgICAgICAgICAgY29uc3QgeyB0YWJsZTogZm9ybWF0dGVkVGFibGUsIGZvY3VzOiBuZXdGb2N1cyB9ID0gdGhpcy5mb3JtYXRBbmRBcHBseShvcHRpb25zLCByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgbmV3VGFibGUsIGZvY3VzLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuX21vdmVUb0ZvY3VzKHJhbmdlLnN0YXJ0LnJvdywgZm9ybWF0dGVkVGFibGUsIG5ld0ZvY3VzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluc2VydHMgYW4gZW1wdHkgY29sdW1uIGF0IHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAqL1xuICAgIGluc2VydENvbHVtbihvcHRpb25zKSB7XG4gICAgICAgIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAvLyBtb3ZlIGZvY3VzXG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMucm93ID09PSAxKSB7XG4gICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRSb3coMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmV3Rm9jdXMuY29sdW1uIDwgMCkge1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaW5zZXJ0IGFuIGVtcHR5IGNvbHVtblxuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gbmV3IEFycmF5KHRhYmxlLmdldEhlaWdodCgpIC0gMSkuZmlsbChuZXcgdGFibGVfY2VsbF8xLlRhYmxlQ2VsbCgnJykpO1xuICAgICAgICAgICAgY29uc3QgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLmluc2VydENvbHVtbih0YWJsZSwgbmV3Rm9jdXMuY29sdW1uLCBjb2x1bW4sIG9wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXRBbmRBcHBseShvcHRpb25zLCByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgYWx0ZXJlZCwgbmV3Rm9jdXMpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIGNvbHVtbiBhdCB0aGUgY3VycmVudCBmb2N1cy5cbiAgICAgKi9cbiAgICBkZWxldGVDb2x1bW4ob3B0aW9ucykge1xuICAgICAgICB0aGlzLndpdGhDb21wbGV0ZWRUYWJsZShvcHRpb25zLCAoeyByYW5nZSwgbGluZXMsIGZvcm11bGFMaW5lcywgdGFibGUsIGZvY3VzIH0pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgLy8gbW92ZSBmb2N1c1xuICAgICAgICAgICAgaWYgKG5ld0ZvY3VzLnJvdyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Um93KDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZGVsZXRlIGEgY29sdW1uXG4gICAgICAgICAgICBsZXQgYWx0ZXJlZCA9IHRhYmxlO1xuICAgICAgICAgICAgbGV0IG1vdmVkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoMCA8PSBuZXdGb2N1cy5jb2x1bW4gJiZcbiAgICAgICAgICAgICAgICBuZXdGb2N1cy5jb2x1bW4gPD0gYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSkge1xuICAgICAgICAgICAgICAgIGFsdGVyZWQgPSBmb3JtYXR0ZXJfMS5kZWxldGVDb2x1bW4odGFibGUsIG5ld0ZvY3VzLmNvbHVtbiwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgbW92ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChuZXdGb2N1cy5jb2x1bW4gPiBhbHRlcmVkLmdldEhlYWRlcldpZHRoKCkgLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Q29sdW1uKGFsdGVyZWQuZ2V0SGVhZGVyV2lkdGgoKSAtIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9ybWF0QW5kQXBwbHkob3B0aW9ucywgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIGFsdGVyZWQsIG5ld0ZvY3VzLCBtb3ZlZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb3ZlcyB0aGUgZm9jdXNlZCBjb2x1bW4gYnkgdGhlIHNwZWNpZmllZCBvZmZzZXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb2Zmc2V0IC0gQW4gb2Zmc2V0IHRoZSBjb2x1bW4gaXMgbW92ZWQgYnkuXG4gICAgICovXG4gICAgbW92ZUNvbHVtbihvZmZzZXQsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy53aXRoQ29tcGxldGVkVGFibGUob3B0aW9ucywgKHsgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIHRhYmxlLCBmb2N1cyB9KSA9PiB7XG4gICAgICAgICAgICBsZXQgbmV3Rm9jdXMgPSBmb2N1cztcbiAgICAgICAgICAgIC8vIG1vdmUgY29sdW1uXG4gICAgICAgICAgICBsZXQgYWx0ZXJlZCA9IHRhYmxlO1xuICAgICAgICAgICAgaWYgKDAgPD0gbmV3Rm9jdXMuY29sdW1uICYmXG4gICAgICAgICAgICAgICAgbmV3Rm9jdXMuY29sdW1uIDw9IGFsdGVyZWQuZ2V0SGVhZGVyV2lkdGgoKSAtIDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXN0ID0gTWF0aC5taW4oTWF0aC5tYXgobmV3Rm9jdXMuY29sdW1uICsgb2Zmc2V0LCAwKSwgYWx0ZXJlZC5nZXRIZWFkZXJXaWR0aCgpIC0gMSk7XG4gICAgICAgICAgICAgICAgYWx0ZXJlZCA9IGZvcm1hdHRlcl8xLm1vdmVDb2x1bW4oYWx0ZXJlZCwgbmV3Rm9jdXMuY29sdW1uLCBkZXN0KTtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldENvbHVtbihkZXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9ybWF0QW5kQXBwbHkob3B0aW9ucywgcmFuZ2UsIGxpbmVzLCBmb3JtdWxhTGluZXMsIGFsdGVyZWQsIG5ld0ZvY3VzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZvcm1hdHMgYWxsIHRoZSB0YWJsZXMgaW4gdGhlIHRleHQgZWRpdG9yLlxuICAgICAqL1xuICAgIGZvcm1hdEFsbChvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3RleHRFZGl0b3IudHJhbnNhY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmUgPSBleHBvcnRzLl9jcmVhdGVJc1RhYmxlUm93UmVnZXgob3B0aW9ucy5sZWZ0TWFyZ2luQ2hhcnMpO1xuICAgICAgICAgICAgbGV0IHBvcyA9IHRoaXMuX3RleHRFZGl0b3IuZ2V0Q3Vyc29yUG9zaXRpb24oKTtcbiAgICAgICAgICAgIGxldCBsaW5lcyA9IFtdO1xuICAgICAgICAgICAgbGV0IHN0YXJ0Um93ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgbGV0IGxhc3RSb3cgPSB0aGlzLl90ZXh0RWRpdG9yLmdldExhc3RSb3coKTtcbiAgICAgICAgICAgIC8vIGZpbmQgdGFibGVzXG4gICAgICAgICAgICBmb3IgKGxldCByb3cgPSAwOyByb3cgPD0gbGFzdFJvdzsgcm93KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lID0gdGhpcy5fdGV4dEVkaXRvci5nZXRMaW5lKHJvdyk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3RleHRFZGl0b3IuYWNjZXB0c1RhYmxlRWRpdChyb3cpICYmIHJlLnRlc3QobGluZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZXMucHVzaChsaW5lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0Um93ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0Um93ID0gcm93O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN0YXJ0Um93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZ2V0IHRhYmxlIGluZm9cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kUm93ID0gcm93IC0gMTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgcmFuZ2VfMS5SYW5nZShuZXcgcG9pbnRfMS5Qb2ludChzdGFydFJvdywgMCksIG5ldyBwb2ludF8xLlBvaW50KGVuZFJvdywgbGluZXNbbGluZXMubGVuZ3RoIC0gMV0ubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZvcm11bGFMaW5lcyBlbXB0eSBiZWNhdXNlIGZvcm1hdHRpbmcgZG9lcyBub3QgaW52b2x2ZSBmb3JtdWxhc1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWJsZSA9IHBhcnNlcl8xLnJlYWRUYWJsZShsaW5lcywgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvY3VzID0gdGFibGUuZm9jdXNPZlBvc2l0aW9uKHBvcywgc3RhcnRSb3cpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGlmZjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvY3VzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld0ZvY3VzID0gZm9jdXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21wbGV0ZWQgPSBmb3JtYXR0ZXJfMS5jb21wbGV0ZVRhYmxlKHRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb21wbGV0ZWQuZGVsaW1pdGVySW5zZXJ0ZWQgJiYgbmV3Rm9jdXMucm93ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0Um93KG5ld0ZvY3VzLnJvdyArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUoY29tcGxldGVkLnRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0T2Zmc2V0KGV4cG9ydHMuX2NvbXB1dGVOZXdPZmZzZXQobmV3Rm9jdXMsIGNvbXBsZXRlZC50YWJsZSwgZm9ybWF0dGVkLCBmYWxzZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYXBwbHlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0xpbmVzID0gZm9ybWF0dGVkLnRhYmxlLnRvTGluZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUxpbmVzKHJhbmdlLnN0YXJ0LnJvdywgcmFuZ2UuZW5kLnJvdyArIDEsIG5ld0xpbmVzLCBsaW5lcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgY3Vyc29yIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBkaWZmID0gbmV3TGluZXMubGVuZ3RoIC0gbGluZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gZm9ybWF0dGVkLnRhYmxlLnBvc2l0aW9uT2ZGb2N1cyhuZXdGb2N1cywgc3RhcnRSb3cpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21wbGV0ZWQgPSBmb3JtYXR0ZXJfMS5jb21wbGV0ZVRhYmxlKHRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKGNvbXBsZXRlZC50YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhcHBseVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3TGluZXMgPSBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgbmV3TGluZXMsIGxpbmVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBjdXJzb3IgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpZmYgPSBuZXdMaW5lcy5sZW5ndGggLSBsaW5lcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocG9zLnJvdyA+IGVuZFJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IG5ldyBwb2ludF8xLlBvaW50KHBvcy5yb3cgKyBkaWZmLCBwb3MuY29sdW1uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyByZXNldFxuICAgICAgICAgICAgICAgICAgICBsaW5lcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBzdGFydFJvdyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlXG4gICAgICAgICAgICAgICAgICAgIGxhc3RSb3cgKz0gZGlmZjtcbiAgICAgICAgICAgICAgICAgICAgcm93ICs9IGRpZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXJ0Um93ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBnZXQgdGFibGUgaW5mb1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFJvdyA9IGxhc3RSb3c7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgcmFuZ2VfMS5SYW5nZShuZXcgcG9pbnRfMS5Qb2ludChzdGFydFJvdywgMCksIG5ldyBwb2ludF8xLlBvaW50KGVuZFJvdywgbGluZXNbbGluZXMubGVuZ3RoIC0gMV0ubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgLy8gZm9ybXVsYUxpbmVzIGVtcHR5IGJlY2F1c2UgZm9ybWF0dGluZyBkb2VzIG5vdCBpbnZvbHZlIGZvcm11bGFzXG4gICAgICAgICAgICAgICAgY29uc3QgdGFibGUgPSBwYXJzZXJfMS5yZWFkVGFibGUobGluZXMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvY3VzID0gdGFibGUuZm9jdXNPZlBvc2l0aW9uKHBvcywgc3RhcnRSb3cpO1xuICAgICAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IGZvY3VzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBsZXRlZCA9IGZvcm1hdHRlcl8xLmNvbXBsZXRlVGFibGUodGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ET1xuICAgICAgICAgICAgICAgIGlmIChjb21wbGV0ZWQuZGVsaW1pdGVySW5zZXJ0ZWQgJiYgbmV3Rm9jdXMucm93ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE9cbiAgICAgICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRSb3cobmV3Rm9jdXMucm93ICsgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKGNvbXBsZXRlZC50YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPXG4gICAgICAgICAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoXG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPXG4gICAgICAgICAgICAgICAgZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgY29tcGxldGVkLnRhYmxlLCBmb3JtYXR0ZWQsIGZhbHNlKSk7XG4gICAgICAgICAgICAgICAgLy8gYXBwbHlcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdMaW5lcyA9IGZvcm1hdHRlZC50YWJsZS50b0xpbmVzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlTGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93ICsgMSwgbmV3TGluZXMsIGxpbmVzKTtcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE9cbiAgICAgICAgICAgICAgICBwb3MgPSBmb3JtYXR0ZWQudGFibGUucG9zaXRpb25PZkZvY3VzKG5ld0ZvY3VzLCBzdGFydFJvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNldEN1cnNvclBvc2l0aW9uKHBvcyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFeHBvcnRzIHRoZSB0YWJsZSBhcyBhIHR3byBkaW1lbnNpb25hbCBzdHJpbmcgYXJyYXlcbiAgICAgKi9cbiAgICBleHBvcnRUYWJsZSh3aXRodEhlYWRlcnMsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aENvbXBsZXRlZFRhYmxlKG9wdGlvbnMsICh7IHJhbmdlLCBsaW5lcywgZm9ybXVsYUxpbmVzLCB0YWJsZSwgZm9jdXMgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9keVJvd3MgPSB0YWJsZS5nZXRSb3dzKCk7XG4gICAgICAgICAgICBpZiAoYm9keVJvd3MubGVuZ3RoID4gMCAmJiAhd2l0aHRIZWFkZXJzKSB7XG4gICAgICAgICAgICAgICAgYm9keVJvd3Muc3BsaWNlKDAsIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZWxzZSBpZihib2R5Um93cy5sZW5ndGggPiAxKSBib2R5Um93cy5zcGxpY2UoMSwgMSk7XG4gICAgICAgICAgICByZXR1cm4gYm9keVJvd3MubWFwKChyb3cpID0+IHJvdy5nZXRDZWxscygpLm1hcCgoY2VsbCkgPT4gY2VsbC5jb250ZW50KSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFeHBvcnRzIHRoZSB0YWJsZSBhcyBhIHR3byBkaW1lbnNpb25hbCBzdHJpbmcgYXJyYXlcbiAgICAgKi9cbiAgICBleHBvcnRDU1Yod2l0aHRIZWFkZXJzLCBvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHIgPSB0aGlzLmV4cG9ydFRhYmxlKHdpdGh0SGVhZGVycywgb3B0aW9ucyk7XG4gICAgICAgIHJldHVybiAhciA/IHVuZGVmaW5lZCA6IHIubWFwKChyb3cpID0+IHJvdy5qb2luKCdcXHQnKSkuam9pbignXFxuJyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZpbmRzIGEgdGFibGUsIGNvbXBsZXRlcyBpdCwgdGhlbiBkb2VzIGFuIG9wZXJhdGlvbiB3aXRoIGl0LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZ1bmMgLSBBIGZ1bmN0aW9uIHRoYXQgZG9lcyBzb21lIG9wZXJhdGlvbiBvbiB0YWJsZSBpbmZvcm1hdGlvbiBvYnRhaW5lZCBieVxuICAgICAqIHtAbGluayBUYWJsZUVkaXRvciNfZmluZFRhYmxlfS5cbiAgICAgKi9cbiAgICB3aXRoQ29tcGxldGVkVGFibGUob3B0aW9ucywgZnVuYykge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2l0aFRhYmxlKG9wdGlvbnMsICh0YWJsZUluZm8pID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdGb2N1cyA9IHRhYmxlSW5mby5mb2N1cztcbiAgICAgICAgICAgIC8vIGNvbXBsZXRlXG4gICAgICAgICAgICBjb25zdCBjb21wbGV0ZWQgPSBmb3JtYXR0ZXJfMS5jb21wbGV0ZVRhYmxlKHRhYmxlSW5mby50YWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICBpZiAoY29tcGxldGVkLmRlbGltaXRlckluc2VydGVkICYmIG5ld0ZvY3VzLnJvdyA+IDApIHtcbiAgICAgICAgICAgICAgICBuZXdGb2N1cyA9IG5ld0ZvY3VzLnNldFJvdyhuZXdGb2N1cy5yb3cgKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGZvcm1hdFxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0dGVyXzEuZm9ybWF0VGFibGUoY29tcGxldGVkLnRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgIG5ld0ZvY3VzID0gbmV3Rm9jdXMuc2V0T2Zmc2V0KGV4cG9ydHMuX2NvbXB1dGVOZXdPZmZzZXQobmV3Rm9jdXMsIGNvbXBsZXRlZC50YWJsZSwgZm9ybWF0dGVkLCBmYWxzZSkpO1xuICAgICAgICAgICAgdGFibGVJbmZvLnRhYmxlID0gZm9ybWF0dGVkLnRhYmxlO1xuICAgICAgICAgICAgdGFibGVJbmZvLmZvY3VzID0gbmV3Rm9jdXM7XG4gICAgICAgICAgICByZXR1cm4gZnVuYyh0YWJsZUluZm8pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRm9ybWF0cyB0aGUgdGFibGUgYW5kIGFwcGxpZXMgYW55IGNoYW5nZXMgYmFzZWQgb24gdGhlIGRpZmZlcmVuY2UgYmV0d2VlblxuICAgICAqIG9yaWdpbmFsTGluZXMgYW5kIHRoZSBuZXdUYWJsZS4gU2hvdWxkIGdlbmVyYWxseSBiZSB0aGUgbGFzdCBmdW5jdGlvbiBjYWxsXG4gICAgICogaW4gYSBUYWJsZUVkaXRvciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmb3JtYXRBbmRBcHBseShvcHRpb25zLCByYW5nZSwgb3JpZ2luYWxMaW5lcywgZm9ybXVsYUxpbmVzLCBuZXdUYWJsZSwgbmV3Rm9jdXMsIG1vdmVkID0gZmFsc2UpIHtcbiAgICAgICAgLy8gZm9ybWF0XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdHRlcl8xLmZvcm1hdFRhYmxlKG5ld1RhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgbmV3Rm9jdXMgPSBuZXdGb2N1cy5zZXRPZmZzZXQoZXhwb3J0cy5fY29tcHV0ZU5ld09mZnNldChuZXdGb2N1cywgbmV3VGFibGUsIGZvcm1hdHRlZCwgbW92ZWQpKTtcbiAgICAgICAgLy8gYXBwbHlcbiAgICAgICAgdGhpcy5fdGV4dEVkaXRvci50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVMaW5lcyhyYW5nZS5zdGFydC5yb3csIHJhbmdlLmVuZC5yb3cgKyAxLCBmb3JtYXR0ZWQudGFibGUudG9MaW5lcygpLCBvcmlnaW5hbExpbmVzKTtcbiAgICAgICAgICAgIGlmIChtb3ZlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEZvY3VzKHJhbmdlLnN0YXJ0LnJvdywgZm9ybWF0dGVkLnRhYmxlLCBuZXdGb2N1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tb3ZlVG9Gb2N1cyhyYW5nZS5zdGFydC5yb3csIGZvcm1hdHRlZC50YWJsZSwgbmV3Rm9jdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZXNldFNtYXJ0Q3Vyc29yKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByYW5nZSxcbiAgICAgICAgICAgIGxpbmVzOiBvcmlnaW5hbExpbmVzLFxuICAgICAgICAgICAgZm9ybXVsYUxpbmVzLFxuICAgICAgICAgICAgdGFibGU6IGZvcm1hdHRlZC50YWJsZSxcbiAgICAgICAgICAgIGZvY3VzOiBuZXdGb2N1cyxcbiAgICAgICAgfTtcbiAgICB9XG59XG5leHBvcnRzLlRhYmxlRWRpdG9yID0gVGFibGVFZGl0b3I7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuU29ydE9yZGVyID0gZXhwb3J0cy5UYWJsZUVkaXRvciA9IGV4cG9ydHMub3B0aW9uc1dpdGhEZWZhdWx0cyA9IGV4cG9ydHMuZGVmYXVsdE9wdGlvbnMgPSBleHBvcnRzLklUZXh0RWRpdG9yID0gZXhwb3J0cy5zaG9ydGVzdEVkaXRTY3JpcHQgPSBleHBvcnRzLmFwcGx5RWRpdFNjcmlwdCA9IGV4cG9ydHMuRGVsZXRlID0gZXhwb3J0cy5JbnNlcnQgPSBleHBvcnRzLm1vdmVDb2x1bW4gPSBleHBvcnRzLmRlbGV0ZUNvbHVtbiA9IGV4cG9ydHMuaW5zZXJ0Q29sdW1uID0gZXhwb3J0cy5tb3ZlUm93ID0gZXhwb3J0cy5kZWxldGVSb3cgPSBleHBvcnRzLmluc2VydFJvdyA9IGV4cG9ydHMuYWx0ZXJBbGlnbm1lbnQgPSBleHBvcnRzLmZvcm1hdFRhYmxlID0gZXhwb3J0cy5jb21wbGV0ZVRhYmxlID0gZXhwb3J0cy5Gb3JtYXRUeXBlID0gZXhwb3J0cy5yZWFkVGFibGUgPSBleHBvcnRzLlRhYmxlID0gZXhwb3J0cy5UYWJsZVJvdyA9IGV4cG9ydHMuVGFibGVDZWxsID0gZXhwb3J0cy5IZWFkZXJBbGlnbm1lbnQgPSBleHBvcnRzLkRlZmF1bHRBbGlnbm1lbnQgPSBleHBvcnRzLkFsaWdubWVudCA9IGV4cG9ydHMuRm9jdXMgPSBleHBvcnRzLlJhbmdlID0gZXhwb3J0cy5Qb2ludCA9IHZvaWQgMDtcbnZhciBwb2ludF8xID0gcmVxdWlyZShcIi4vcG9pbnRcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJQb2ludFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcG9pbnRfMS5Qb2ludDsgfSB9KTtcbnZhciByYW5nZV8xID0gcmVxdWlyZShcIi4vcmFuZ2VcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSYW5nZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmFuZ2VfMS5SYW5nZTsgfSB9KTtcbnZhciBmb2N1c18xID0gcmVxdWlyZShcIi4vZm9jdXNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJGb2N1c1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9jdXNfMS5Gb2N1czsgfSB9KTtcbnZhciBhbGlnbm1lbnRfMSA9IHJlcXVpcmUoXCIuL2FsaWdubWVudFwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkFsaWdubWVudFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWxpZ25tZW50XzEuQWxpZ25tZW50OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGVmYXVsdEFsaWdubWVudFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWxpZ25tZW50XzEuRGVmYXVsdEFsaWdubWVudDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkhlYWRlckFsaWdubWVudFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gYWxpZ25tZW50XzEuSGVhZGVyQWxpZ25tZW50OyB9IH0pO1xudmFyIHRhYmxlX2NlbGxfMSA9IHJlcXVpcmUoXCIuL3RhYmxlLWNlbGxcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUYWJsZUNlbGxcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRhYmxlX2NlbGxfMS5UYWJsZUNlbGw7IH0gfSk7XG52YXIgdGFibGVfcm93XzEgPSByZXF1aXJlKFwiLi90YWJsZS1yb3dcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUYWJsZVJvd1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGFibGVfcm93XzEuVGFibGVSb3c7IH0gfSk7XG52YXIgdGFibGVfMSA9IHJlcXVpcmUoXCIuL3RhYmxlXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVGFibGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRhYmxlXzEuVGFibGU7IH0gfSk7XG52YXIgcGFyc2VyXzEgPSByZXF1aXJlKFwiLi9wYXJzZXJcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZWFkVGFibGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhcnNlcl8xLnJlYWRUYWJsZTsgfSB9KTtcbnZhciBmb3JtYXR0ZXJfanNfMSA9IHJlcXVpcmUoXCIuL2Zvcm1hdHRlci5qc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkZvcm1hdFR5cGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLkZvcm1hdFR5cGU7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjb21wbGV0ZVRhYmxlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtYXR0ZXJfanNfMS5jb21wbGV0ZVRhYmxlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0VGFibGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLmZvcm1hdFRhYmxlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWx0ZXJBbGlnbm1lbnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLmFsdGVyQWxpZ25tZW50OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaW5zZXJ0Um93XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtYXR0ZXJfanNfMS5pbnNlcnRSb3c7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWxldGVSb3dcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLmRlbGV0ZVJvdzsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm1vdmVSb3dcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLm1vdmVSb3c7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpbnNlcnRDb2x1bW5cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZvcm1hdHRlcl9qc18xLmluc2VydENvbHVtbjsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlbGV0ZUNvbHVtblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9ybWF0dGVyX2pzXzEuZGVsZXRlQ29sdW1uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibW92ZUNvbHVtblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9ybWF0dGVyX2pzXzEubW92ZUNvbHVtbjsgfSB9KTtcbnZhciBlZGl0X3NjcmlwdF8xID0gcmVxdWlyZShcIi4vZWRpdC1zY3JpcHRcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbnNlcnRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVkaXRfc2NyaXB0XzEuSW5zZXJ0OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGVsZXRlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBlZGl0X3NjcmlwdF8xLkRlbGV0ZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFwcGx5RWRpdFNjcmlwdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZWRpdF9zY3JpcHRfMS5hcHBseUVkaXRTY3JpcHQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzaG9ydGVzdEVkaXRTY3JpcHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVkaXRfc2NyaXB0XzEuc2hvcnRlc3RFZGl0U2NyaXB0OyB9IH0pO1xudmFyIHRleHRfZWRpdG9yXzEgPSByZXF1aXJlKFwiLi90ZXh0LWVkaXRvclwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIklUZXh0RWRpdG9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0ZXh0X2VkaXRvcl8xLklUZXh0RWRpdG9yOyB9IH0pO1xudmFyIG9wdGlvbnNfMSA9IHJlcXVpcmUoXCIuL29wdGlvbnNcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0T3B0aW9uc1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gb3B0aW9uc18xLmRlZmF1bHRPcHRpb25zOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwib3B0aW9uc1dpdGhEZWZhdWx0c1wiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gb3B0aW9uc18xLm9wdGlvbnNXaXRoRGVmYXVsdHM7IH0gfSk7XG52YXIgdGFibGVfZWRpdG9yXzEgPSByZXF1aXJlKFwiLi90YWJsZS1lZGl0b3JcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUYWJsZUVkaXRvclwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGFibGVfZWRpdG9yXzEuVGFibGVFZGl0b3I7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJTb3J0T3JkZXJcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRhYmxlX2VkaXRvcl8xLlNvcnRPcmRlcjsgfSB9KTtcbiIsImltcG9ydCB7XG4gIEZvcm1hdFR5cGUsXG4gIE9wdGlvbnMsXG4gIG9wdGlvbnNXaXRoRGVmYXVsdHMsXG59IGZyb20gJ0B0Z3Jvc2luZ2VyL21kLWFkdmFuY2VkLXRhYmxlcyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0U2V0dGluZ3M6IFBhcnRpYWw8SVNldHRpbmdzPiA9IHtcbiAgZm9ybWF0VHlwZTogRm9ybWF0VHlwZS5OT1JNQUwsXG4gIHNob3dSaWJib25JY29uOiB0cnVlLFxuICBiaW5kRW50ZXI6IHRydWUsXG4gIGJpbmRUYWI6IHRydWUsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZXR0aW5ncyB7XG4gIGZvcm1hdFR5cGU6IEZvcm1hdFR5cGU7XG4gIHNob3dSaWJib25JY29uOiBib29sZWFuO1xuICBiaW5kRW50ZXI6IGJvb2xlYW47XG4gIGJpbmRUYWI6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzIGltcGxlbWVudHMgSVNldHRpbmdzIHtcbiAgcHVibGljIGZvcm1hdFR5cGU6IEZvcm1hdFR5cGU7XG4gIHB1YmxpYyBzaG93UmliYm9uSWNvbjogYm9vbGVhbjtcblxuICBwdWJsaWMgYmluZEVudGVyOiBib29sZWFuO1xuICBwdWJsaWMgYmluZFRhYjogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihsb2FkZWREYXRhOiBQYXJ0aWFsPElTZXR0aW5ncz4pIHtcbiAgICBjb25zdCBhbGxGaWVsZHMgPSB7IC4uLmRlZmF1bHRTZXR0aW5ncywgLi4ubG9hZGVkRGF0YSB9O1xuICAgIHRoaXMuZm9ybWF0VHlwZSA9IGFsbEZpZWxkcy5mb3JtYXRUeXBlO1xuICAgIHRoaXMuc2hvd1JpYmJvbkljb24gPSBhbGxGaWVsZHMuc2hvd1JpYmJvbkljb247XG4gICAgdGhpcy5iaW5kRW50ZXIgPSBhbGxGaWVsZHMuYmluZEVudGVyO1xuICAgIHRoaXMuYmluZFRhYiA9IGFsbEZpZWxkcy5iaW5kVGFiO1xuICB9XG5cbiAgcHVibGljIGFzT3B0aW9ucygpOiBPcHRpb25zIHtcbiAgICByZXR1cm4gb3B0aW9uc1dpdGhEZWZhdWx0cyh7IGZvcm1hdFR5cGU6IHRoaXMuZm9ybWF0VHlwZSB9KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUG9pbnQsIFJhbmdlIH0gZnJvbSAnQHRncm9zaW5nZXIvbWQtYWR2YW5jZWQtdGFibGVzJztcbmltcG9ydCB7IEFwcCwgRWRpdG9yLCBURmlsZSB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBPYnNpZGlhblRleHRFZGl0b3IgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIElUZXh0RWRpdG9yIGludGVyZmFjZSBmcm9tXG4gKiB0aGUgbXRlLWtlcm5lbCBsaWJyYXJ5LiBJdCB0ZWFjaGVzIHRoZSB0YWJsZSBlZGl0b3IgbGlicmFyeSBob3cgdG8gaW50ZXJmYWNlXG4gKiB3aXRoIE9ic2lkaWFuLlxuICovXG5leHBvcnQgY2xhc3MgT2JzaWRpYW5UZXh0RWRpdG9yIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHA6IEFwcDtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWxlOiBURmlsZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlZGl0b3I6IEVkaXRvcjtcblxuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgZmlsZTogVEZpbGUsIGVkaXRvcjogRWRpdG9yKSB7XG4gICAgdGhpcy5hcHAgPSBhcHA7XG4gICAgdGhpcy5maWxlID0gZmlsZTtcbiAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJzb3JQb3NpdGlvbiA9ICgpOiBQb2ludCA9PiB7XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICBjb25zb2xlLmRlYnVnKFxuICAgICAgYGdldEN1cnNvclBvc2l0aW9uIHdhcyBjYWxsZWQ6IGxpbmUgJHtwb3NpdGlvbi5saW5lfSwgY2ggJHtwb3NpdGlvbi5jaH1gLFxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBQb2ludChwb3NpdGlvbi5saW5lLCBwb3NpdGlvbi5jaCk7XG4gIH07XG5cbiAgcHVibGljIHNldEN1cnNvclBvc2l0aW9uID0gKHBvczogUG9pbnQpOiB2b2lkID0+IHtcbiAgICBjb25zb2xlLmRlYnVnKFxuICAgICAgYHNldEN1cnNvclBvc2l0aW9uIHdhcyBjYWxsZWQ6IGxpbmUgJHtwb3Mucm93fSwgY2ggJHtwb3MuY29sdW1ufWAsXG4gICAgKTtcbiAgICB0aGlzLmVkaXRvci5zZXRDdXJzb3IoeyBsaW5lOiBwb3Mucm93LCBjaDogcG9zLmNvbHVtbiB9KTtcbiAgfTtcblxuICBwdWJsaWMgc2V0U2VsZWN0aW9uUmFuZ2UgPSAocmFuZ2U6IFJhbmdlKTogdm9pZCA9PiB7XG4gICAgY29uc29sZS5kZWJ1Zygnc2V0U2VsZWN0aW9uUmFuZ2Ugd2FzIGNhbGxlZCcpO1xuICAgIHRoaXMuZWRpdG9yLnNldFNlbGVjdGlvbihcbiAgICAgIHsgbGluZTogcmFuZ2Uuc3RhcnQucm93LCBjaDogcmFuZ2Uuc3RhcnQuY29sdW1uIH0sXG4gICAgICB7IGxpbmU6IHJhbmdlLmVuZC5yb3csIGNoOiByYW5nZS5lbmQuY29sdW1uIH0sXG4gICAgKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0TGFzdFJvdyA9ICgpOiBudW1iZXIgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoJ2dldExhc3RSb3cgd2FzIGNhbGxlZCcpO1xuICAgIHJldHVybiB0aGlzLmVkaXRvci5sYXN0TGluZSgpO1xuICB9O1xuXG4gIHB1YmxpYyBhY2NlcHRzVGFibGVFZGl0ID0gKHJvdzogbnVtYmVyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc29sZS5kZWJ1ZyhgYWNjZXB0c1RhYmxlRWRpdCB3YXMgY2FsbGVkIG9uIHJvdyAke3Jvd31gKTtcblxuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5hcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUodGhpcy5maWxlKTtcbiAgICBpZiAoIWNhY2hlLnNlY3Rpb25zKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB0YWJsZSA9IGNhY2hlLnNlY3Rpb25zLmZpbmQoXG4gICAgICAoc2VjdGlvbik6IGJvb2xlYW4gPT5cbiAgICAgICAgc2VjdGlvbi5wb3NpdGlvbi5zdGFydC5saW5lIDw9IHJvdyAmJlxuICAgICAgICBzZWN0aW9uLnBvc2l0aW9uLmVuZC5saW5lID49IHJvdyAmJlxuICAgICAgICBzZWN0aW9uLnR5cGUgIT09ICdjb2RlJyAmJlxuICAgICAgICBzZWN0aW9uLnR5cGUgIT09ICdtYXRoJyxcbiAgICApO1xuICAgIGlmICh0YWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdhY2NlcHRzVGFibGVFZGl0IHJldHVybmluZyBmYWxzZSwgdGFibGUgbm90IGZvdW5kJyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgdGV4dCBgLXR4LWAgaXMgbm90IG9uIHRoZSBsaW5lIGltbWVkaWF0ZWx5IHByZWNlZWRpbmcgdGhlXG4gICAgLy8gdGFibGUgZm91bmQgaW4gdGhlIHByZXZpb3VzIGNoZWNrLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90Z3Jvc2luZ2VyL2FkdmFuY2VkLXRhYmxlcy1vYnNpZGlhbi9pc3N1ZXMvMTMzXG4gICAgY29uc3QgcHJlY2VlZGluZ0xpbmVJbmRleCA9IHRhYmxlLnBvc2l0aW9uLnN0YXJ0LmxpbmU7XG4gICAgaWYgKHByZWNlZWRpbmdMaW5lSW5kZXggPj0gMCkge1xuICAgICAgY29uc3QgcHJlY2VlZGluZ0xpbmUgPSB0aGlzLmdldExpbmUocHJlY2VlZGluZ0xpbmVJbmRleCk7XG4gICAgICBpZiAocHJlY2VlZGluZ0xpbmUgPT09ICctdHgtJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgcHVibGljIGdldExpbmUgPSAocm93OiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoYGdldExpbmUgd2FzIGNhbGxlZCBvbiBsaW5lICR7cm93fWApO1xuICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRMaW5lKHJvdyk7XG4gIH07XG5cbiAgcHVibGljIGluc2VydExpbmUgPSAocm93OiBudW1iZXIsIGxpbmU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoYGluc2VydExpbmUgd2FzIGNhbGxlZCBhdCBsaW5lICR7cm93fWApO1xuICAgIGNvbnNvbGUuZGVidWcoYE5ldyBsaW5lOiAke2xpbmV9YCk7XG5cbiAgICBpZiAocm93ID4gdGhpcy5nZXRMYXN0Um93KCkpIHtcbiAgICAgIHRoaXMuZWRpdG9yLnJlcGxhY2VSYW5nZSgnXFxuJyArIGxpbmUsIHsgbGluZTogcm93LCBjaDogMCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lZGl0b3IucmVwbGFjZVJhbmdlKGxpbmUgKyAnXFxuJywgeyBsaW5lOiByb3csIGNoOiAwIH0pO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgZGVsZXRlTGluZSA9IChyb3c6IG51bWJlcik6IHZvaWQgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoYGRlbGV0ZUxpbmUgd2FzIGNhbGxlZCBvbiBsaW5lICR7cm93fWApO1xuXG4gICAgLy8gSWYgb24gdGhlIGxhc3QgbGluZSBvZiB0aGUgZmlsZSwgd2UgY2Fubm90IHJlcGxhY2UgdG8gdGhlIG5leHQgcm93LlxuICAgIC8vIEluc3RlYWQsIHJlcGxhY2UgYWxsIHRoZSBjb250ZW50cyBvZiB0aGlzIGxpbmUuXG4gICAgaWYgKHJvdyA9PT0gdGhpcy5nZXRMYXN0Um93KCkpIHtcbiAgICAgIGNvbnN0IHJvd0NvbnRlbnRzID0gdGhpcy5nZXRMaW5lKHJvdyk7XG4gICAgICB0aGlzLmVkaXRvci5yZXBsYWNlUmFuZ2UoXG4gICAgICAgICcnLFxuICAgICAgICB7IGxpbmU6IHJvdywgY2g6IDAgfSxcbiAgICAgICAgeyBsaW5lOiByb3csIGNoOiByb3dDb250ZW50cy5sZW5ndGggfSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWRpdG9yLnJlcGxhY2VSYW5nZShcbiAgICAgICAgJycsXG4gICAgICAgIHsgbGluZTogcm93LCBjaDogMCB9LFxuICAgICAgICB7IGxpbmU6IHJvdyArIDEsIGNoOiAwIH0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgcmVwbGFjZUxpbmVzID0gKFxuICAgIHN0YXJ0Um93OiBudW1iZXIsXG4gICAgZW5kUm93OiBudW1iZXIsXG4gICAgbGluZXM6IHN0cmluZ1tdLFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBUYWtlIG9uZSBvZmYgdGhlIGVuZFJvdyBhbmQgaW5zdGVhZCBnbyB0byB0aGUgZW5kIG9mIHRoYXQgbGluZVxuICAgIGNvbnN0IHJlYWxFbmRSb3cgPSBlbmRSb3cgLSAxO1xuICAgIGNvbnN0IGVuZFJvd0NvbnRlbnRzID0gdGhpcy5lZGl0b3IuZ2V0TGluZShyZWFsRW5kUm93KTtcbiAgICBjb25zdCBlbmRSb3dGaW5hbEluZGV4ID0gZW5kUm93Q29udGVudHMubGVuZ3RoO1xuXG4gICAgdGhpcy5lZGl0b3IucmVwbGFjZVJhbmdlKFxuICAgICAgbGluZXMuam9pbignXFxuJyksXG4gICAgICB7IGxpbmU6IHN0YXJ0Um93LCBjaDogMCB9LFxuICAgICAgeyBsaW5lOiByZWFsRW5kUm93LCBjaDogZW5kUm93RmluYWxJbmRleCB9LFxuICAgICk7XG4gIH07XG5cbiAgcHVibGljIHRyYW5zYWN0ID0gKGZ1bmM6IEZ1bmN0aW9uKTogdm9pZCA9PiB7XG4gICAgLypcbiAgICB0aGlzLmVkaXRvci5vcGVyYXRpb24oKCkgPT4ge1xuICAgICAgZnVuYygpO1xuICAgIH0pO1xuICAgICovXG4gICAgZnVuYygpO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgT2JzaWRpYW5UZXh0RWRpdG9yIH0gZnJvbSAnLi9vYnNpZGlhbi10ZXh0LWVkaXRvcic7XG5pbXBvcnQgeyBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzIH0gZnJvbSAnLi9zZXR0aW5ncyc7XG5pbXBvcnQge1xuICBBbGlnbm1lbnQsXG4gIFNvcnRPcmRlcixcbiAgVGFibGVFZGl0b3IgYXMgTVRFRWRpdG9yLFxufSBmcm9tICdAdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMnO1xuaW1wb3J0IHsgQXBwLCBFZGl0b3IsIE1vZGFsLCBOb3RpY2UsIFRGaWxlIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5leHBvcnQgY2xhc3MgVGFibGVFZGl0b3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcDogQXBwO1xuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzOiBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzO1xuICBwcml2YXRlIHJlYWRvbmx5IG10ZTogTVRFRWRpdG9yO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcDogQXBwLFxuICAgIGZpbGU6IFRGaWxlLFxuICAgIGVkaXRvcjogRWRpdG9yLFxuICAgIHNldHRpbmdzOiBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzLFxuICApIHtcbiAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7XG5cbiAgICBjb25zdCBvdGUgPSBuZXcgT2JzaWRpYW5UZXh0RWRpdG9yKGFwcCwgZmlsZSwgZWRpdG9yKTtcbiAgICB0aGlzLm10ZSA9IG5ldyBNVEVFZGl0b3Iob3RlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBjdXJzb3JJc0luVGFibGVGb3JtdWxhID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLm10ZS5jdXJzb3JJc0luVGFibGVGb3JtdWxhKHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjdXJzb3JJc0luVGFibGUgPSAoKTogYm9vbGVhbiA9PlxuICAgIHRoaXMubXRlLmN1cnNvcklzSW5UYWJsZSh0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbmV4dENlbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUubmV4dENlbGwodGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IHByZXZpb3VzQ2VsbCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5wcmV2aW91c0NlbGwodGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IG5leHRSb3cgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUubmV4dFJvdyh0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybWF0VGFibGUgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuZm9ybWF0KHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtYXRBbGxUYWJsZXMgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuZm9ybWF0QWxsKHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnNlcnRDb2x1bW4gPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuaW5zZXJ0Q29sdW1uKHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnNlcnRSb3cgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuaW5zZXJ0Um93KHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBsZWZ0QWxpZ25Db2x1bW4gPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuYWxpZ25Db2x1bW4oQWxpZ25tZW50LkxFRlQsIHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBjZW50ZXJBbGlnbkNvbHVtbiA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5hbGlnbkNvbHVtbihBbGlnbm1lbnQuQ0VOVEVSLCB0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmlnaHRBbGlnbkNvbHVtbiA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5hbGlnbkNvbHVtbihBbGlnbm1lbnQuUklHSFQsIHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICB9O1xuXG4gIHB1YmxpYyByZWFkb25seSBtb3ZlQ29sdW1uTGVmdCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5tb3ZlQ29sdW1uKC0xLCB0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbW92ZUNvbHVtblJpZ2h0ID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMubXRlLm1vdmVDb2x1bW4oMSwgdGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IG1vdmVSb3dVcCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5tb3ZlUm93KC0xLCB0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbW92ZVJvd0Rvd24gPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUubW92ZVJvdygxLCB0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlQ29sdW1uID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMubXRlLmRlbGV0ZUNvbHVtbih0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlUm93ID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMubXRlLmRlbGV0ZVJvdyh0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc29ydFJvd3NBc2MgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5tdGUuc29ydFJvd3MoU29ydE9yZGVyLkFzY2VuZGluZywgdGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IHNvcnRSb3dzRGVzYyA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5zb3J0Um93cyhTb3J0T3JkZXIuRGVzY2VuZGluZywgdGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGVzY2FwZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLm10ZS5lc2NhcGUodGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGV2YWx1YXRlRm9ybXVsYXMgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgZXJyID0gdGhpcy5tdGUuZXZhbHVhdGVGb3JtdWxhcyh0aGlzLnNldHRpbmdzLmFzT3B0aW9ucygpKTtcbiAgICBpZiAoZXJyKSB7XG4gICAgICBuZXcgTm90aWNlKGVyci5tZXNzYWdlKTtcbiAgICB9XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGV4cG9ydENTVk1vZGFsID0gKCk6IHZvaWQgPT4ge1xuICAgIG5ldyBDU1ZNb2RhbCh0aGlzLmFwcCwgdGhpcy5tdGUsIHRoaXMuc2V0dGluZ3MpLm9wZW4oKTtcbiAgfTtcbn1cblxuY2xhc3MgQ1NWTW9kYWwgZXh0ZW5kcyBNb2RhbCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbXRlOiBNVEVFZGl0b3I7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3M6IFRhYmxlRWRpdG9yUGx1Z2luU2V0dGluZ3M7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBBcHAsIG10ZTogTVRFRWRpdG9yLCBzZXR0aW5nczogVGFibGVFZGl0b3JQbHVnaW5TZXR0aW5ncykge1xuICAgIHN1cGVyKGFwcCk7XG4gICAgdGhpcy5tdGUgPSBtdGU7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzO1xuICB9XG5cbiAgcHVibGljIG9uT3BlbigpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbnRlbnRFbCB9ID0gdGhpcztcbiAgICBjb25zdCBkaXYgPSBjb250ZW50RWwuY3JlYXRlRGl2KHtcbiAgICAgIGNsczogJ2FkdmFuY2VkLXRhYmxlcy1jc3YtZXhwb3J0JyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRhID0gZGl2LmNyZWF0ZUVsKCd0ZXh0YXJlYScsIHtcbiAgICAgIGF0dHI6IHtcbiAgICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRhLnZhbHVlID0gdGhpcy5tdGUuZXhwb3J0Q1NWKHRydWUsIHRoaXMuc2V0dGluZ3MuYXNPcHRpb25zKCkpO1xuICAgIHRhLm9uQ2xpY2tFdmVudCgoKSA9PiB0YS5zZWxlY3QoKSk7XG5cbiAgICBjb25zdCBsYiA9IGRpdi5jcmVhdGVFbCgnbGFiZWwnKTtcbiAgICBjb25zdCBjYiA9IGxiLmNyZWF0ZUVsKCdpbnB1dCcsIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBhdHRyOiB7XG4gICAgICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGxiLmNyZWF0ZVNwYW4oKS5zZXRUZXh0KCdJbmNsdWRlIHRhYmxlIGhlYWRlcnMnKTtcbiAgICBjYi5vbkNsaWNrRXZlbnQoKCkgPT4ge1xuICAgICAgdGEudmFsdWUgPSB0aGlzLm10ZS5leHBvcnRDU1YoY2IuY2hlY2tlZCwgdGhpcy5zZXR0aW5ncy5hc09wdGlvbnMoKSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbnRlbnRFbCB9ID0gdGhpcztcbiAgICBjb250ZW50RWwuZW1wdHkoKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgaWNvbnMgfSBmcm9tICcuL2ljb25zJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yUGx1Z2luU2V0dGluZ3MgfSBmcm9tICcuL3NldHRpbmdzJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi90YWJsZS1lZGl0b3InO1xuaW1wb3J0IHtcbiAgRWRpdG9yLFxuICBJdGVtVmlldyxcbiAgTWFya2Rvd25WaWV3LFxuICBOb3RpY2UsXG4gIFdvcmtzcGFjZUxlYWYsXG59IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGNvbnN0IFRhYmxlQ29udHJvbHNWaWV3VHlwZSA9ICdhZHZhbmNlZC10YWJsZXMtdG9vbGJhcic7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUNvbnRyb2xzVmlldyBleHRlbmRzIEl0ZW1WaWV3IHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nczogVGFibGVFZGl0b3JQbHVnaW5TZXR0aW5ncztcblxuICBjb25zdHJ1Y3RvcihsZWFmOiBXb3Jrc3BhY2VMZWFmLCBzZXR0aW5nczogVGFibGVFZGl0b3JQbHVnaW5TZXR0aW5ncykge1xuICAgIHN1cGVyKGxlYWYpO1xuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBnZXRWaWV3VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBUYWJsZUNvbnRyb2xzVmlld1R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGlzcGxheVRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FkdmFuY2VkIFRhYmxlcyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAnc3ByZWFkc2hlZXQnO1xuICB9XG5cbiAgcHVibGljIGxvYWQoKTogdm9pZCB7XG4gICAgc3VwZXIubG9hZCgpO1xuICAgIHRoaXMuZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkcmF3ID0gKCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWwuY2hpbGRyZW5bMV07XG5cbiAgICBjb25zdCByb290RWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICByb290RWwuYWRkQ2xhc3MoXCJhZHZhbmNlZC10YWJsZXMtYnV0dG9uc1wiKTtcblxuICAgIHJvb3RFbC5jcmVhdGVEaXYoKS5cbiAgICAgIGNyZWF0ZVNwYW4oeyBjbHM6ICd0aXRsZScgfSkuXG4gICAgICBzZXRUZXh0KFwiQWR2YW5jZWQgVGFibGVzXCIpXG5cbiAgICBjb25zdCBuYXZIZWFkZXIgPSByb290RWwuY3JlYXRlRGl2KHsgY2xzOiAnbmF2LWhlYWRlcicgfSk7XG4gICAgY29uc3Qgcm93T25lQnRucyA9IG5hdkhlYWRlci5jcmVhdGVEaXYoeyBjbHM6ICduYXYtYnV0dG9ucy1jb250YWluZXInIH0pO1xuICAgIHJvd09uZUJ0bnMuY3JlYXRlU3Bhbih7IGNsczogJ2FkdmFuY2VkLXRhYmxlcy1yb3ctbGFiZWwnIH0pLnNldFRleHQoXCJBbGlnbjpcIik7XG4gICAgdGhpcy5kcmF3QnRuKHJvd09uZUJ0bnMsICdhbGlnbkxlZnQnLCAnbGVmdCBhbGlnbiBjb2x1bW4nLCAodGUpID0+XG4gICAgICB0ZS5sZWZ0QWxpZ25Db2x1bW4oKSxcbiAgICApO1xuICAgIHRoaXMuZHJhd0J0bihyb3dPbmVCdG5zLCAnYWxpZ25DZW50ZXInLCAnY2VudGVyIGFsaWduIGNvbHVtbicsICh0ZSkgPT5cbiAgICAgIHRlLmNlbnRlckFsaWduQ29sdW1uKCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93T25lQnRucywgJ2FsaWduUmlnaHQnLCAncmlnaHQgYWxpZ24gY29sdW1uJywgKHRlKSA9PlxuICAgICAgdGUucmlnaHRBbGlnbkNvbHVtbigpLFxuICAgICk7XG5cbiAgICBjb25zdCByb3dUd29CdG5zID0gbmF2SGVhZGVyLmNyZWF0ZURpdih7IGNsczogJ25hdi1idXR0b25zLWNvbnRhaW5lcicgfSk7XG4gICAgcm93VHdvQnRucy5jcmVhdGVTcGFuKHsgY2xzOiAnYWR2YW5jZWQtdGFibGVzLXJvdy1sYWJlbCcgfSkuc2V0VGV4dChcIk1vdmU6XCIpO1xuICAgIHRoaXMuZHJhd0J0bihyb3dUd29CdG5zLCAnbW92ZVJvd0Rvd24nLCAnbW92ZSByb3cgZG93bicsICh0ZSkgPT5cbiAgICAgIHRlLm1vdmVSb3dEb3duKCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93VHdvQnRucywgJ21vdmVSb3dVcCcsICdtb3ZlIHJvdyB1cCcsICh0ZSkgPT5cbiAgICAgIHRlLm1vdmVSb3dVcCgpLFxuICAgICk7XG4gICAgdGhpcy5kcmF3QnRuKHJvd1R3b0J0bnMsICdtb3ZlQ29sdW1uUmlnaHQnLCAnbW92ZSBjb2x1bW4gcmlnaHQnLCAodGUpID0+XG4gICAgICB0ZS5tb3ZlQ29sdW1uUmlnaHQoKSxcbiAgICApO1xuICAgIHRoaXMuZHJhd0J0bihyb3dUd29CdG5zLCAnbW92ZUNvbHVtbkxlZnQnLCAnbW92ZSBjb2x1bW4gbGVmdCcsICh0ZSkgPT5cbiAgICAgIHRlLm1vdmVDb2x1bW5MZWZ0KCksXG4gICAgKTtcblxuICAgIGNvbnN0IHJvd1RocmVlQnRucyA9IG5hdkhlYWRlci5jcmVhdGVEaXYoeyBjbHM6ICduYXYtYnV0dG9ucy1jb250YWluZXInIH0pO1xuICAgIHJvd1RocmVlQnRucy5jcmVhdGVTcGFuKHsgY2xzOiAnYWR2YW5jZWQtdGFibGVzLXJvdy1sYWJlbCcgfSkuc2V0VGV4dChcIkVkaXQ6XCIpO1xuICAgIHRoaXMuZHJhd0J0bihyb3dUaHJlZUJ0bnMsICdpbnNlcnRSb3cnLCAnaW5zZXJ0IHJvdyBhYm92ZScsICh0ZSkgPT5cbiAgICAgIHRlLmluc2VydFJvdygpLFxuICAgICk7XG4gICAgdGhpcy5kcmF3QnRuKHJvd1RocmVlQnRucywgJ2luc2VydENvbHVtbicsICdpbnNlcnQgY29sdW1uIGxlZnQnLCAodGUpID0+XG4gICAgICB0ZS5pbnNlcnRDb2x1bW4oKSxcbiAgICApO1xuICAgIHRoaXMuZHJhd0J0bihyb3dUaHJlZUJ0bnMsICdkZWxldGVSb3cnLCAnZGVsZXRlIHJvdycsICh0ZSkgPT5cbiAgICAgIHRlLmRlbGV0ZVJvdygpLFxuICAgICk7XG4gICAgdGhpcy5kcmF3QnRuKHJvd1RocmVlQnRucywgJ2RlbGV0ZUNvbHVtbicsICdkZWxldGUgY29sdW1uJywgKHRlKSA9PlxuICAgICAgdGUuZGVsZXRlQ29sdW1uKCksXG4gICAgKTtcblxuICAgIGNvbnN0IHJvd0ZvdXJCdG5zID0gbmF2SGVhZGVyLmNyZWF0ZURpdih7IGNsczogJ25hdi1idXR0b25zLWNvbnRhaW5lcicgfSk7XG4gICAgcm93Rm91ckJ0bnMuY3JlYXRlU3Bhbih7IGNsczogJ2FkdmFuY2VkLXRhYmxlcy1yb3ctbGFiZWwnIH0pLnNldFRleHQoXCJTb3J0L0Y6XCIpO1xuICAgIHRoaXMuZHJhd0J0bihyb3dGb3VyQnRucywgJ3NvcnRBc2MnLCAnc29ydCBieSBjb2x1bW4gYXNjZW5kaW5nJywgKHRlKSA9PlxuICAgICAgdGUuc29ydFJvd3NBc2MoKSxcbiAgICApO1xuICAgIHRoaXMuZHJhd0J0bihyb3dGb3VyQnRucywgJ3NvcnREZXNjJywgJ3NvcnQgYnkgY29sdW1uIGRlc2NlbmRpbmcnLCAodGUpID0+XG4gICAgICB0ZS5zb3J0Um93c0Rlc2MoKSxcbiAgICApO1xuICAgIHRoaXMuZHJhd0J0bihyb3dGb3VyQnRucywgJ2Zvcm11bGEnLCAnZXZhbHVhdGUgZm9ybXVsYXMnLCAodGUpID0+XG4gICAgICB0ZS5ldmFsdWF0ZUZvcm11bGFzKCksXG4gICAgKTtcblxuICAgIGNvbnN0IHJvd0ZpdmVCdG5zID0gbmF2SGVhZGVyLmNyZWF0ZURpdih7IGNsczogJ25hdi1idXR0b25zLWNvbnRhaW5lcicgfSk7XG4gICAgcm93Rml2ZUJ0bnMuY3JlYXRlU3Bhbih7IGNsczogJ2FkdmFuY2VkLXRhYmxlcy1yb3ctbGFiZWwnIH0pLnNldFRleHQoXCJNaXNjOlwiKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93Rml2ZUJ0bnMsICdjc3YnLCAnZXhwb3J0IGFzIGNzdicsICh0ZSkgPT5cbiAgICAgIHRlLmV4cG9ydENTVk1vZGFsKCksXG4gICAgKTtcbiAgICB0aGlzLmRyYXdCdG4ocm93Rml2ZUJ0bnMsICdoZWxwJywgJ2hlbHAnLCAoKSA9PlxuICAgICAgd2luZG93Lm9wZW4oXG4gICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vdGdyb3Npbmdlci9hZHZhbmNlZC10YWJsZXMtb2JzaWRpYW4vYmxvYi9tYWluL2RvY3MvaGVscC5tZCcsXG4gICAgICApLFxuICAgICk7XG5cbiAgICBjb250YWluZXIuZW1wdHkoKTtcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQocm9vdEVsKTtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRyYXdCdG4gPSAoXG4gICAgcGFyZW50OiBIVE1MRGl2RWxlbWVudCxcbiAgICBpY29uTmFtZTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZm46ICh0ZTogVGFibGVFZGl0b3IpID0+IHZvaWQsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGN1cnNvckNoZWNrID0gKHRlOiBUYWJsZUVkaXRvcik6IGJvb2xlYW4gPT4ge1xuICAgICAgaWYgKHRpdGxlID09PSAnZXZhbHVhdGUgZm9ybXVsYXMnKSB7XG4gICAgICAgIHJldHVybiB0ZS5jdXJzb3JJc0luVGFibGUoKSB8fCB0ZS5jdXJzb3JJc0luVGFibGVGb3JtdWxhKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGUuY3Vyc29ySXNJblRhYmxlKCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IHBhcmVudC5jcmVhdGVEaXYoeyBjbHM6ICdhZHZhbmNlZC10YWJsZXMtYnV0dG9uIG5hdi1hY3Rpb24tYnV0dG9uJywgdGl0bGUgfSk7XG4gICAgYnV0dG9uLm9uQ2xpY2tFdmVudCgoKSA9PiB0aGlzLndpdGhURShmbiwgY3Vyc29yQ2hlY2spKTtcbiAgICBidXR0b24uYXBwZW5kQ2hpbGQoRWxlbWVudChpY29uc1tpY29uTmFtZV0pKTtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHdpdGhURSA9IChcbiAgICBmbjogKHRlOiBUYWJsZUVkaXRvcikgPT4gdm9pZCxcbiAgICBjdXJzb3JDaGVjazogKHRlOiBUYWJsZUVkaXRvcikgPT4gYm9vbGVhbixcbiAgICBhbGVydE9uTm9UYWJsZSA9IHRydWUsXG4gICk6IHZvaWQgPT4ge1xuICAgIGxldCBlZGl0b3I6IEVkaXRvcjtcbiAgICBjb25zdCBsZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldE1vc3RSZWNlbnRMZWFmKCk7XG4gICAgaWYgKGxlYWYudmlldyBpbnN0YW5jZW9mIE1hcmtkb3duVmlldykge1xuICAgICAgZWRpdG9yID0gbGVhZi52aWV3LmVkaXRvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdBZHZhbmNlZCBUYWJsZXM6IFVuYWJsZSB0byBkZXRlcm1pbmUgY3VycmVudCBlZGl0b3IuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGUgPSBuZXcgVGFibGVFZGl0b3IodGhpcy5hcHAsIGxlYWYudmlldy5maWxlLCBlZGl0b3IsIHRoaXMuc2V0dGluZ3MpO1xuICAgIGlmICghY3Vyc29yQ2hlY2sodGUpKSB7XG4gICAgICBpZiAoYWxlcnRPbk5vVGFibGUpIHtcbiAgICAgICAgbmV3IE5vdGljZSgnQWR2YW5jZWQgVGFibGVzOiBDdXJzb3IgbXVzdCBiZSBpbiBhIHRhYmxlLicpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZuKHRlKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGFuIHN2ZyBzdHJpbmcgaW50byBhbiBIVE1MIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHN2Z1RleHQgc3ZnIGltYWdlIGFzIGEgc3RyaW5nXG4gKi9cbmNvbnN0IEVsZW1lbnQgPSAoc3ZnVGV4dDogc3RyaW5nKTogSFRNTEVsZW1lbnQgPT4ge1xuICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG4gIHJldHVybiBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHN2Z1RleHQsICd0ZXh0L3htbCcpLmRvY3VtZW50RWxlbWVudDtcbn07XG4iLCJpbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJy4vaWNvbnMnO1xuaW1wb3J0IHsgZGVmYXVsdFNldHRpbmdzLCBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzIH0gZnJvbSAnLi9zZXR0aW5ncyc7XG5pbXBvcnQge1xuICBUYWJsZUNvbnRyb2xzVmlldyxcbiAgVGFibGVDb250cm9sc1ZpZXdUeXBlLFxufSBmcm9tICcuL3RhYmxlLWNvbnRyb2xzLXZpZXcnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuL3RhYmxlLWVkaXRvcic7XG5pbXBvcnQgeyBFeHRlbnNpb24sIFByZWMgfSBmcm9tICdAY29kZW1pcnJvci9zdGF0ZSc7XG5pbXBvcnQgeyBLZXlCaW5kaW5nLCBrZXltYXAgfSBmcm9tICdAY29kZW1pcnJvci92aWV3JztcbmltcG9ydCB7IEZvcm1hdFR5cGUgfSBmcm9tICdAdGdyb3Npbmdlci9tZC1hZHZhbmNlZC10YWJsZXMnO1xuaW1wb3J0IHtcbiAgQXBwLFxuICBFZGl0b3IsXG4gIE1hcmtkb3duVmlldyxcbiAgTm90aWNlLFxuICBQbHVnaW4sXG4gIFBsdWdpblNldHRpbmdUYWIsXG4gIFNldHRpbmcsXG59IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFibGVFZGl0b3JQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBwdWJsaWMgc2V0dGluZ3M6IFRhYmxlRWRpdG9yUGx1Z2luU2V0dGluZ3M7XG5cbiAgLy8gY21FZGl0b3JzIGlzIHVzZWQgZHVyaW5nIHVubG9hZCB0byByZW1vdmUgb3VyIGV2ZW50IGhhbmRsZXJzLlxuICBwcml2YXRlIGNtRWRpdG9yczogQ29kZU1pcnJvci5FZGl0b3JbXTtcblxuICBwcml2YXRlIHRhYmxlQ29udHJvbHNWaWV3OiBUYWJsZUNvbnRyb2xzVmlldztcblxuICBwdWJsaWMgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnNvbGUubG9nKCdsb2FkaW5nIG1hcmtkb3duLXRhYmxlLWVkaXRvciBwbHVnaW4nKTtcblxuICAgIGF3YWl0IHRoaXMubG9hZFNldHRpbmdzKCk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyVmlldyhcbiAgICAgIFRhYmxlQ29udHJvbHNWaWV3VHlwZSxcbiAgICAgIChsZWFmKSA9PlxuICAgICAgICAodGhpcy50YWJsZUNvbnRyb2xzVmlldyA9IG5ldyBUYWJsZUNvbnRyb2xzVmlldyhsZWFmLCB0aGlzLnNldHRpbmdzKSksXG4gICAgKTtcblxuICAgIGFkZEljb25zKCk7XG5cbiAgICBpZiAodGhpcy5zZXR0aW5ncy5zaG93UmliYm9uSWNvbikge1xuICAgICAgdGhpcy5hZGRSaWJib25JY29uKCdzcHJlYWRzaGVldCcsICdBZHZhbmNlZCBUYWJsZXMgVG9vbGJhcicsICgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVUYWJsZUNvbnRyb2xzVmlldygpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5jbUVkaXRvcnMgPSBbXTtcbiAgICB0aGlzLnJlZ2lzdGVyQ29kZU1pcnJvcigoY20pID0+IHtcbiAgICAgIHRoaXMuY21FZGl0b3JzLnB1c2goY20pO1xuICAgICAgY20ub24oJ2tleWRvd24nLCB0aGlzLmhhbmRsZUtleURvd24pO1xuICAgIH0pO1xuXG4gICAgLy8gQ002IGVkaXRvciBleHRlbnNpb24gZm9yIHJlbWFwcGluZyBrZXlzXG4gICAgdGhpcy5yZWdpc3RlckVkaXRvckV4dGVuc2lvbih0aGlzLm1ha2VFZGl0b3JFeHRlbnNpb24oKSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICduZXh0LXJvdycsXG4gICAgICBuYW1lOiAnR28gdG8gbmV4dCByb3cnLFxuICAgICAgaWNvbjogJ2Fycm93ZW50ZXInLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5iaW5kRW50ZXIgJiYgIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICBuZXcgTm90aWNlKFxuICAgICAgICAgICAgJ0FkdmFuY2VkIFRhYmxlczogTmV4dCByb3cgYWxzbyBib3VuZCB0byBlbnRlci4gJyArXG4gICAgICAgICAgICAgICdQb3NzaWJseSBwcm9kdWNpbmcgZG91YmxlIGFjdGlvbnMuIFNlZSBBZHZhbmNlZCBUYWJsZXMgc2V0dGluZ3MuJyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRlLm5leHRSb3coKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnbmV4dC1jZWxsJyxcbiAgICAgIG5hbWU6ICdHbyB0byBuZXh0IGNlbGwnLFxuICAgICAgaWNvbjogJ2Fycm93dGFiJyxcbiAgICAgIGVkaXRvckNoZWNrQ2FsbGJhY2s6IHRoaXMubmV3UGVyZm9ybVRhYmxlQWN0aW9uKCh0ZTogVGFibGVFZGl0b3IpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MuYmluZFRhYiAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgIG5ldyBOb3RpY2UoXG4gICAgICAgICAgICAnQWR2YW5jZWQgVGFibGVzOiBOZXh0IGNlbGwgYWxzbyBib3VuZCB0byB0YWIuICcgK1xuICAgICAgICAgICAgICAnUG9zc2libHkgcHJvZHVjaW5nIGRvdWJsZSBhY3Rpb25zLiBTZWUgQWR2YW5jZWQgVGFibGVzIHNldHRpbmdzLicsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0ZS5uZXh0Q2VsbCgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdwcmV2aW91cy1jZWxsJyxcbiAgICAgIG5hbWU6ICdHbyB0byBwcmV2aW91cyBjZWxsJyxcbiAgICAgIGVkaXRvckNoZWNrQ2FsbGJhY2s6IHRoaXMubmV3UGVyZm9ybVRhYmxlQWN0aW9uKCh0ZTogVGFibGVFZGl0b3IpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MuYmluZFRhYiAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgIG5ldyBOb3RpY2UoXG4gICAgICAgICAgICAnQWR2YW5jZWQgVGFibGVzOiBQcmV2aW91cyBjZWxsIGFsc28gYm91bmQgdG8gc2hpZnQrdGFiLiAnICtcbiAgICAgICAgICAgICAgJ1Bvc3NpYmx5IHByb2R1Y2luZyBkb3VibGUgYWN0aW9ucy4gU2VlIEFkdmFuY2VkIFRhYmxlcyBzZXR0aW5ncy4nLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGUucHJldmlvdXNDZWxsKCk7XG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ2Zvcm1hdC10YWJsZScsXG4gICAgICBuYW1lOiAnRm9ybWF0IHRhYmxlIGF0IHRoZSBjdXJzb3InLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5mb3JtYXRUYWJsZSgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdmb3JtYXQtYWxsLXRhYmxlcycsXG4gICAgICBuYW1lOiAnRm9ybWF0IGFsbCB0YWJsZXMgaW4gdGhpcyBmaWxlJyxcbiAgICAgIGVkaXRvckNoZWNrQ2FsbGJhY2s6IHRoaXMubmV3UGVyZm9ybVRhYmxlQWN0aW9uKCh0ZTogVGFibGVFZGl0b3IpID0+IHtcbiAgICAgICAgdGUuZm9ybWF0QWxsVGFibGVzKCk7XG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ2luc2VydC1jb2x1bW4nLFxuICAgICAgbmFtZTogJ0luc2VydCBjb2x1bW4gYmVmb3JlIGN1cnJlbnQnLFxuICAgICAgaWNvbjogJ2luc2VydENvbHVtbicsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLmluc2VydENvbHVtbigpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdpbnNlcnQtcm93JyxcbiAgICAgIG5hbWU6ICdJbnNlcnQgcm93IGJlZm9yZSBjdXJyZW50JyxcbiAgICAgIGljb246ICdpbnNlcnRSb3cnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5pbnNlcnRSb3coKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnZXNjYXBlLXRhYmxlJyxcbiAgICAgIG5hbWU6ICdNb3ZlIGN1cnNvciBvdXQgb2YgdGFibGUnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5lc2NhcGUoKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnbGVmdC1hbGlnbi1jb2x1bW4nLFxuICAgICAgbmFtZTogJ0xlZnQgYWxpZ24gY29sdW1uJyxcbiAgICAgIGljb246ICdhbGlnbkxlZnQnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5sZWZ0QWxpZ25Db2x1bW4oKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnY2VudGVyLWFsaWduLWNvbHVtbicsXG4gICAgICBuYW1lOiAnQ2VudGVyIGFsaWduIGNvbHVtbicsXG4gICAgICBpY29uOiAnYWxpZ25DZW50ZXInLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5jZW50ZXJBbGlnbkNvbHVtbigpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdyaWdodC1hbGlnbi1jb2x1bW4nLFxuICAgICAgbmFtZTogJ1JpZ2h0IGFsaWduIGNvbHVtbicsXG4gICAgICBpY29uOiAnYWxpZ25SaWdodCcsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLnJpZ2h0QWxpZ25Db2x1bW4oKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnbW92ZS1jb2x1bW4tbGVmdCcsXG4gICAgICBuYW1lOiAnTW92ZSBjb2x1bW4gbGVmdCcsXG4gICAgICBpY29uOiAnbW92ZUNvbHVtbkxlZnQnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5tb3ZlQ29sdW1uTGVmdCgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdtb3ZlLWNvbHVtbi1yaWdodCcsXG4gICAgICBuYW1lOiAnTW92ZSBjb2x1bW4gcmlnaHQnLFxuICAgICAgaWNvbjogJ21vdmVDb2x1bW5SaWdodCcsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLm1vdmVDb2x1bW5SaWdodCgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdtb3ZlLXJvdy11cCcsXG4gICAgICBuYW1lOiAnTW92ZSByb3cgdXAnLFxuICAgICAgaWNvbjogJ21vdmVSb3dVcCcsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLm1vdmVSb3dVcCgpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdtb3ZlLXJvdy1kb3duJyxcbiAgICAgIG5hbWU6ICdNb3ZlIHJvdyBkb3duJyxcbiAgICAgIGljb246ICdtb3ZlUm93RG93bicsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLm1vdmVSb3dEb3duKCk7XG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ2RlbGV0ZS1jb2x1bW4nLFxuICAgICAgbmFtZTogJ0RlbGV0ZSBjb2x1bW4nLFxuICAgICAgaWNvbjogJ2RlbGV0ZUNvbHVtbicsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLmRlbGV0ZUNvbHVtbigpO1xuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdkZWxldGUtcm93JyxcbiAgICAgIG5hbWU6ICdEZWxldGUgcm93JyxcbiAgICAgIGljb246ICdkZWxldGVSb3cnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5kZWxldGVSb3coKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnc29ydC1yb3dzLWFzY2VuZGluZycsXG4gICAgICBuYW1lOiAnU29ydCByb3dzIGFzY2VuZGluZycsXG4gICAgICBpY29uOiAnc29ydEFzYycsXG4gICAgICBlZGl0b3JDaGVja0NhbGxiYWNrOiB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHRlLnNvcnRSb3dzQXNjKCk7XG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ3NvcnQtcm93cy1kZXNjZW5kaW5nJyxcbiAgICAgIG5hbWU6ICdTb3J0IHJvd3MgZGVzY2VuZGluZycsXG4gICAgICBpY29uOiAnc29ydERlc2MnLFxuICAgICAgZWRpdG9yQ2hlY2tDYWxsYmFjazogdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb24oKHRlOiBUYWJsZUVkaXRvcikgPT4ge1xuICAgICAgICB0ZS5zb3J0Um93c0Rlc2MoKTtcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnZXZhbHVhdGUtZm9ybXVsYXMnLFxuICAgICAgbmFtZTogJ0V2YWx1YXRlIHRhYmxlIGZvcm11bGFzJyxcbiAgICAgIGljb246ICdmb3JtdWxhJyxcbiAgICAgIGVkaXRvckNoZWNrQ2FsbGJhY2s6IChcbiAgICAgICAgY2hlY2tpbmc6IGJvb2xlYW4sXG4gICAgICAgIGVkaXRvcjogRWRpdG9yLFxuICAgICAgICB2aWV3OiBNYXJrZG93blZpZXcsXG4gICAgICApOiBib29sZWFuIHwgdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IHRlID0gbmV3IFRhYmxlRWRpdG9yKHRoaXMuYXBwLCB2aWV3LmZpbGUsIGVkaXRvciwgdGhpcy5zZXR0aW5ncyk7XG4gICAgICAgIGlmIChjaGVja2luZykge1xuICAgICAgICAgIHJldHVybiB0ZS5jdXJzb3JJc0luVGFibGUoKSB8fCB0ZS5jdXJzb3JJc0luVGFibGVGb3JtdWxhKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGUuZXZhbHVhdGVGb3JtdWxhcygpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ3RhYmxlLWNvbnRyb2wtYmFyJyxcbiAgICAgIG5hbWU6ICdPcGVuIHRhYmxlIGNvbnRyb2xzIHRvb2xiYXInLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbJ01vZCcsICdTaGlmdCddLFxuICAgICAgICAgIGtleTogJ2QnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlVGFibGVDb250cm9sc1ZpZXcoKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZFNldHRpbmdUYWIobmV3IFRhYmxlRWRpdG9yU2V0dGluZ3NUYWIodGhpcy5hcHAsIHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygndW5sb2FkaW5nIG1hcmtkb3duLXRhYmxlLWVkaXRvciBwbHVnaW4nKTtcblxuICAgIHRoaXMuY21FZGl0b3JzLmZvckVhY2goKGNtKSA9PiB7XG4gICAgICBjbS5vZmYoJ2tleWRvd24nLCB0aGlzLmhhbmRsZUtleURvd24pO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gbWFrZUVkaXRvckV4dGVuc2lvbiBpcyB1c2VkIHRvIGJpbmQgVGFiIGFuZCBFbnRlciBpbiB0aGUgbmV3IENNNiBMaXZlIFByZXZpZXcgZWRpdG9yLlxuICBwcml2YXRlIHJlYWRvbmx5IG1ha2VFZGl0b3JFeHRlbnNpb24gPSAoKTogRXh0ZW5zaW9uID0+IHtcbiAgICBjb25zdCBrZXltYXBzOiBLZXlCaW5kaW5nW10gPSBbXTtcblxuICAgIGlmICh0aGlzLnNldHRpbmdzLmJpbmRFbnRlcikge1xuICAgICAga2V5bWFwcy5wdXNoKHtcbiAgICAgICAga2V5OiAnRW50ZXInLFxuICAgICAgICBydW46ICgpOiBib29sZWFuID0+XG4gICAgICAgICAgdGhpcy5uZXdQZXJmb3JtVGFibGVBY3Rpb25DTTYoKHRlOiBUYWJsZUVkaXRvcikgPT4gdGUubmV4dFJvdygpKSgpLFxuICAgICAgICBwcmV2ZW50RGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNldHRpbmdzLmJpbmRUYWIpIHtcbiAgICAgIGtleW1hcHMucHVzaCh7XG4gICAgICAgIGtleTogJ1RhYicsXG4gICAgICAgIHJ1bjogKCk6IGJvb2xlYW4gPT5cbiAgICAgICAgICB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbkNNNigodGU6IFRhYmxlRWRpdG9yKSA9PiB0ZS5uZXh0Q2VsbCgpKSgpLFxuICAgICAgICBzaGlmdDogKCk6IGJvb2xlYW4gPT5cbiAgICAgICAgICB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbkNNNigodGU6IFRhYmxlRWRpdG9yKSA9PlxuICAgICAgICAgICAgdGUucHJldmlvdXNDZWxsKCksXG4gICAgICAgICAgKSgpLFxuICAgICAgICBwcmV2ZW50RGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBQcmVjLm92ZXJyaWRlKGtleW1hcC5vZihrZXltYXBzKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZXdQZXJmb3JtVGFibGVBY3Rpb25DTTYgPVxuICAgIChmbjogKHRlOiBUYWJsZUVkaXRvcikgPT4gdm9pZCk6ICgoKSA9PiBib29sZWFuKSA9PlxuICAgICgpOiBib29sZWFuID0+IHtcbiAgICAgIGNvbnN0IGxlYWYgPSB0aGlzLmFwcC53b3Jrc3BhY2UuYWN0aXZlTGVhZjtcbiAgICAgIGlmIChsZWFmLnZpZXcgaW5zdGFuY2VvZiBNYXJrZG93blZpZXcpIHtcbiAgICAgICAgY29uc3QgdGUgPSBuZXcgVGFibGVFZGl0b3IoXG4gICAgICAgICAgdGhpcy5hcHAsXG4gICAgICAgICAgbGVhZi52aWV3LmZpbGUsXG4gICAgICAgICAgbGVhZi52aWV3LmVkaXRvcixcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0ZS5jdXJzb3JJc0luVGFibGUoKSkge1xuICAgICAgICAgIGZuKHRlKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZXdQZXJmb3JtVGFibGVBY3Rpb24gPVxuICAgIChmbjogKHRlOiBUYWJsZUVkaXRvcikgPT4gdm9pZCwgYWxlcnRPbk5vVGFibGUgPSB0cnVlKSA9PlxuICAgIChjaGVja2luZzogYm9vbGVhbiwgZWRpdG9yOiBFZGl0b3IsIHZpZXc6IE1hcmtkb3duVmlldyk6IGJvb2xlYW4gfCB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHRlID0gbmV3IFRhYmxlRWRpdG9yKHRoaXMuYXBwLCB2aWV3LmZpbGUsIGVkaXRvciwgdGhpcy5zZXR0aW5ncyk7XG5cbiAgICAgIGlmIChjaGVja2luZykge1xuICAgICAgICByZXR1cm4gdGUuY3Vyc29ySXNJblRhYmxlKCk7XG4gICAgICB9XG5cbiAgICAgIGZuKHRlKTtcbiAgICB9O1xuXG4gIC8vIGhhbmRsZUtleURvd24gaXMgdXNlZCB0byBiaW5kIHRoZSB0YWIgYW5kIGVudGVyIGtleXMgaW4gdGhlIGxlZ2FjeSBDTTUgZWRpdG9yLlxuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZUtleURvd24gPSAoXG4gICAgY206IENvZGVNaXJyb3IuRWRpdG9yLFxuICAgIGV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICApOiB2b2lkID0+IHtcbiAgICBpZiAoWydUYWInLCAnRW50ZXInXS5jb250YWlucyhldmVudC5rZXkpKSB7XG4gICAgICBsZXQgZWRpdG9yOiBFZGl0b3I7XG4gICAgICBsZXQgdmlldzogTWFya2Rvd25WaWV3O1xuICAgICAgY29uc3QgYWN0aXZlTGVhZiA9IHRoaXMuYXBwLndvcmtzcGFjZS5hY3RpdmVMZWFmO1xuICAgICAgaWYgKGFjdGl2ZUxlYWYudmlldyBpbnN0YW5jZW9mIE1hcmtkb3duVmlldykge1xuICAgICAgICBlZGl0b3IgPSBhY3RpdmVMZWFmLnZpZXcuZWRpdG9yO1xuICAgICAgICB2aWV3ID0gYWN0aXZlTGVhZi52aWV3O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLm5ld1BlcmZvcm1UYWJsZUFjdGlvbigodGU6IFRhYmxlRWRpdG9yKSA9PiB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgICAgIGlmICghdGhpcy5zZXR0aW5ncy5iaW5kVGFiKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIHRlLnByZXZpb3VzQ2VsbCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGUubmV4dENlbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgIGlmICghdGhpcy5zZXR0aW5ncy5iaW5kRW50ZXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgdGUuZXNjYXBlKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5hbHRLZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGUubmV4dFJvdygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH0sIGZhbHNlKTtcblxuICAgICAgLy8gQ2hlY2sgZmlyc3QgaWYgd2UgYXJlIGluIGEgdGFibGUsIGlmIHNvLCB0aGVuIGV4ZWN1dGUuXG4gICAgICBpZiAoYWN0aW9uKHRydWUsIGVkaXRvciwgdmlldykpIHtcbiAgICAgICAgYWN0aW9uKGZhbHNlLCBlZGl0b3IsIHZpZXcpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRvZ2dsZVRhYmxlQ29udHJvbHNWaWV3ID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlYXZlc09mVHlwZShUYWJsZUNvbnRyb2xzVmlld1R5cGUpO1xuICAgIGlmIChleGlzdGluZy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5yZXZlYWxMZWFmKGV4aXN0aW5nWzBdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0UmlnaHRMZWFmKGZhbHNlKS5zZXRWaWV3U3RhdGUoe1xuICAgICAgdHlwZTogVGFibGVDb250cm9sc1ZpZXdUeXBlLFxuICAgICAgYWN0aXZlOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHAud29ya3NwYWNlLnJldmVhbExlYWYoXG4gICAgICB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKFRhYmxlQ29udHJvbHNWaWV3VHlwZSlbMF0sXG4gICAgKTtcbiAgfTtcblxuICBwcml2YXRlIGFzeW5jIGxvYWRTZXR0aW5ncygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXR0aW5nc09wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxuICAgICAgZGVmYXVsdFNldHRpbmdzLFxuICAgICAgYXdhaXQgdGhpcy5sb2FkRGF0YSgpLFxuICAgICk7XG4gICAgdGhpcy5zZXR0aW5ncyA9IG5ldyBUYWJsZUVkaXRvclBsdWdpblNldHRpbmdzKHNldHRpbmdzT3B0aW9ucyk7XG4gICAgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSAoKTogYm9vbGVhbiA9PiAodGhpcy5hcHAgYXMgYW55KS5pc01vYmlsZTtcbn1cblxuY2xhc3MgVGFibGVFZGl0b3JTZXR0aW5nc1RhYiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogVGFibGVFZGl0b3JQbHVnaW47XG5cbiAgY29uc3RydWN0b3IoYXBwOiBBcHAsIHBsdWdpbjogVGFibGVFZGl0b3JQbHVnaW4pIHtcbiAgICBzdXBlcihhcHAsIHBsdWdpbik7XG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvbnRhaW5lckVsIH0gPSB0aGlzO1xuICAgIGNvbnRhaW5lckVsLmVtcHR5KCk7XG5cbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgnaDInLCB7IHRleHQ6ICdBZHZhbmNlZCBUYWJsZXMgUGx1Z2luIC0gU2V0dGluZ3MnIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnQmluZCBlbnRlciB0byB0YWJsZSBuYXZpZ2F0aW9uJylcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICAnUmVxdWlyZXMgcmVzdGFydCBvZiBPYnNpZGlhbi4gSWYgZW5hYmxlZCwgd2hlbiB0aGUgY3Vyc29yIGlzIGluIGEgdGFibGUsIGVudGVyIGFkdmFuY2VzIHRvIHRoZSBuZXh0ICcgK1xuICAgICAgICAgICdyb3cuIERpc2FibGluZyB0aGlzIGNhbiBoZWxwIGF2b2lkIGNvbmZsaWN0aW5nIHdpdGggdGFnIG9yIENKSyAnICtcbiAgICAgICAgICAnYXV0b2NvbXBsZXRpb24uIElmIGRpc2FibGluZywgYmluZCBcIkdvIHRvIC4uLlwiIGluIHRoZSBPYnNpZGlhbiBIb3RrZXlzIHNldHRpbmdzLicsXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5iaW5kRW50ZXIpLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMucGx1Z2luLnNldHRpbmdzLmJpbmRFbnRlciA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMucGx1Z2luLnNhdmVEYXRhKHRoaXMucGx1Z2luLnNldHRpbmdzKTtcbiAgICAgICAgICB0aGlzLmRpc3BsYXkoKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnQmluZCB0YWIgdG8gdGFibGUgbmF2aWdhdGlvbicpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgJ1JlcXVpcmVzIHJlc3RhcnQgb2YgT2JzaWRpYW4uIElmIGVuYWJsZWQsIHdoZW4gdGhlIGN1cnNvciBpcyBpbiBhIHRhYmxlLCB0YWIvc2hpZnQrdGFiIG5hdmlnYXRlICcgK1xuICAgICAgICAgICdiZXR3ZWVuIGNlbGxzLiBEaXNhYmxpbmcgdGhpcyBjYW4gaGVscCBhdm9pZCBjb25mbGljdGluZyB3aXRoIHRhZyAnICtcbiAgICAgICAgICAnb3IgQ0pLIGF1dG9jb21wbGV0aW9uLiBJZiBkaXNhYmxpbmcsIGJpbmQgXCJHbyB0byAuLi5cIiBpbiB0aGUgT2JzaWRpYW4gSG90a2V5cyBzZXR0aW5ncy4nLFxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PlxuICAgICAgICB0b2dnbGUuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuYmluZFRhYikub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MuYmluZFRhYiA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMucGx1Z2luLnNhdmVEYXRhKHRoaXMucGx1Z2luLnNldHRpbmdzKTtcbiAgICAgICAgICB0aGlzLmRpc3BsYXkoKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnUGFkIGNlbGwgd2lkdGggdXNpbmcgc3BhY2VzJylcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICAnSWYgZW5hYmxlZCwgdGFibGUgY2VsbHMgd2lsbCBoYXZlIHNwYWNlcyBhZGRlZCB0byBtYXRjaCB0aGUgd2lkdGggb2YgdGhlICcgK1xuICAgICAgICAgICdsb25nZXN0IGNlbGwgaW4gdGhlIGNvbHVtbi4nLFxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PlxuICAgICAgICB0b2dnbGVcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuZm9ybWF0VHlwZSA9PT0gRm9ybWF0VHlwZS5OT1JNQUwpXG4gICAgICAgICAgLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MuZm9ybWF0VHlwZSA9IHZhbHVlXG4gICAgICAgICAgICAgID8gRm9ybWF0VHlwZS5OT1JNQUxcbiAgICAgICAgICAgICAgOiBGb3JtYXRUeXBlLldFQUs7XG4gICAgICAgICAgICB0aGlzLnBsdWdpbi5zYXZlRGF0YSh0aGlzLnBsdWdpbi5zZXR0aW5ncyk7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXkoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKCdTaG93IGljb24gaW4gc2lkZWJhcicpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgJ0lmIGVuYWJsZWQsIGEgYnV0dG9uIHdoaWNoIG9wZW5zIHRoZSB0YWJsZSBjb250cm9scyB0b29sYmFyIHdpbGwgYmUgYWRkZWQgdG8gdGhlIE9ic2lkaWFuIHNpZGViYXIuICcgK1xuICAgICAgICAgICdUaGUgdG9vbGJhciBjYW4gYWxzbyBiZSBvcGVuZWQgd2l0aCBhIEhvdGtleS4gQ2hhbmdlcyBvbmx5IHRha2UgZWZmZWN0IG9uIHJlbG9hZC4nLFxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PlxuICAgICAgICB0b2dnbGVcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3Muc2hvd1JpYmJvbkljb24pXG4gICAgICAgICAgLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3Muc2hvd1JpYmJvbkljb24gPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMucGx1Z2luLnNhdmVEYXRhKHRoaXMucGx1Z2luLnNldHRpbmdzKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheSgpO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIGNvbnN0IGRpdiA9IGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdkaXYnLCB7XG4gICAgICBjbHM6ICdhZHZhbmNlZC10YWJsZXMtZG9uYXRpb24nLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZG9uYXRlVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTtcbiAgICBkb25hdGVUZXh0LmFwcGVuZFRleHQoXG4gICAgICAnSWYgdGhpcyBwbHVnaW4gYWRkcyB2YWx1ZSBmb3IgeW91IGFuZCB5b3Ugd291bGQgbGlrZSB0byBoZWxwIHN1cHBvcnQgJyArXG4gICAgICAgICdjb250aW51ZWQgZGV2ZWxvcG1lbnQsIHBsZWFzZSB1c2UgdGhlIGJ1dHRvbnMgYmVsb3c6JyxcbiAgICApO1xuICAgIGRpdi5hcHBlbmRDaGlsZChkb25hdGVUZXh0KTtcblxuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcblxuICAgIGRpdi5hcHBlbmRDaGlsZChcbiAgICAgIGNyZWF0ZURvbmF0ZUJ1dHRvbihcbiAgICAgICAgJ2h0dHBzOi8vcGF5cGFsLm1lL3Rncm9zaW5nZXInLFxuICAgICAgICBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHBheXBhbCwgJ3RleHQveG1sJykuZG9jdW1lbnRFbGVtZW50LFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgZGl2LmFwcGVuZENoaWxkKFxuICAgICAgY3JlYXRlRG9uYXRlQnV0dG9uKFxuICAgICAgICAnaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS90Z3Jvc2luZ2VyJyxcbiAgICAgICAgcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhidXlNZUFDb2ZmZWUsICd0ZXh0L3htbCcpLmRvY3VtZW50RWxlbWVudCxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBjcmVhdGVEb25hdGVCdXR0b24gPSAobGluazogc3RyaW5nLCBpbWc6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgPT4ge1xuICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICBhLnNldEF0dHJpYnV0ZSgnaHJlZicsIGxpbmspO1xuICBhLmFkZENsYXNzKCdhZHZhbmNlZC10YWJsZXMtZG9uYXRlLWJ1dHRvbicpO1xuICBhLmFwcGVuZENoaWxkKGltZyk7XG4gIHJldHVybiBhO1xufTtcblxuY29uc3QgYnV5TWVBQ29mZmVlID0gYFxuPHN2ZyB3aWR0aD1cIjE1MFwiIGhlaWdodD1cIjQyXCIgdmlld0JveD1cIjAgMCAyNjAgNzNcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNMCAxMS42OEMwIDUuMjI5MzIgNS4yMjkzMSAwIDExLjY4IDBIMjQ4LjJDMjU0LjY1MSAwIDI1OS44OCA1LjIyOTMxIDI1OS44OCAxMS42OFY2MS4zMkMyNTkuODggNjcuNzcwNyAyNTQuNjUxIDczIDI0OC4yIDczSDExLjY4QzUuMjI5MzEgNzMgMCA2Ny43NzA3IDAgNjEuMzJWMTEuNjhaXCIgZmlsbD1cIiNGRkREMDBcIi8+XG48cGF0aCBkPVwiTTUyLjI1NjYgMjQuMDA3OEw1Mi4yMjQ2IDIzLjk4ODlMNTIuMTUwNCAyMy45NjYzQzUyLjE4MDIgMjMuOTkxNSA1Mi4yMTc2IDI0LjAwNjEgNTIuMjU2NiAyNC4wMDc4WlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk01Mi43MjQ4IDI3LjM0NTdMNTIuNjg5NSAyNy4zNTU2TDUyLjcyNDggMjcuMzQ1N1pcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNTIuMjcwMSAyNC4wMDI0QzUyLjI2NiAyNC4wMDE5IDUyLjI2MTkgMjQuMDAwOSA1Mi4yNTggMjMuOTk5NUM1Mi4yNTc4IDI0LjAwMjIgNTIuMjU3OCAyNC4wMDQ5IDUyLjI1OCAyNC4wMDc2QzUyLjI2MjQgMjQuMDA3IDUyLjI2NjYgMjQuMDA1MiA1Mi4yNzAxIDI0LjAwMjRaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTUyLjI1NzggMjQuMDA5NEg1Mi4yNjQzVjI0LjAwNTRMNTIuMjU3OCAyNC4wMDk0WlwiIGZpbGw9XCIjMEQwQzIyXCIvPlxuPHBhdGggZD1cIk01Mi42OTczIDI3LjMzOTRMNTIuNzUxMyAyNy4zMDg2TDUyLjc3MTQgMjcuMjk3M0w1Mi43ODk3IDI3LjI3NzhDNTIuNzU1NCAyNy4yOTI2IDUyLjcyNDEgMjcuMzEzNSA1Mi42OTczIDI3LjMzOTRaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTUyLjM0ODQgMjQuMDgxMkw1Mi4yOTU2IDI0LjAzMUw1Mi4yNTk4IDI0LjAxMTVDNTIuMjc5IDI0LjA0NTQgNTIuMzEwOCAyNC4wNzA1IDUyLjM0ODQgMjQuMDgxMlpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNMzkuMDY4NCA1Ni40NjlDMzkuMDI2MiA1Ni40ODcyIDM4Ljk4OTMgNTYuNTE1OCAzOC45NjA5IDU2LjU1MkwzOC45OTQzIDU2LjUzMDZDMzkuMDE2OSA1Ni41MDk4IDM5LjA0ODkgNTYuNDg1MyAzOS4wNjg0IDU2LjQ2OVpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNNDYuNzgwMiA1NC45NTE4QzQ2Ljc4MDIgNTQuOTA0MSA0Ni43NTY5IDU0LjkxMjkgNDYuNzYyNiA1NS4wODI2QzQ2Ljc2MjYgNTUuMDY4NyA0Ni43NjgzIDU1LjA1NDkgNDYuNzcwOCA1NS4wNDE3QzQ2Ljc3MzkgNTUuMDExNSA0Ni43NzY0IDU0Ljk4MiA0Ni43ODAyIDU0Ljk1MThaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTQ1Ljk4NDQgNTYuNDY5QzQ1Ljk0MjIgNTYuNDg3MiA0NS45MDUzIDU2LjUxNTggNDUuODc3IDU2LjU1Mkw0NS45MTAzIDU2LjUzMDZDNDUuOTMyOSA1Ni41MDk4IDQ1Ljk2NDkgNTYuNDg1MyA0NS45ODQ0IDU2LjQ2OVpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNMzMuNjMwNyA1Ni44MzAxQzMzLjU5ODcgNTYuODAyMyAzMy41NTk1IDU2Ljc4NCAzMy41MTc2IDU2Ljc3NzNDMzMuNTUxNSA1Ni43OTM3IDMzLjU4NTUgNTYuODEgMzMuNjA4MSA1Ni44MjI2TDMzLjYzMDcgNTYuODMwMVpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGQ9XCJNMzIuNDExOCA1NS42NTk4QzMyLjQwNjggNTUuNjEwMyAzMi4zOTE2IDU1LjU2MjQgMzIuMzY3MiA1NS41MTlDMzIuMzg0NSA1NS41NjQyIDMyLjM5OSA1NS42MTA0IDMyLjQxMDYgNTUuNjU3M0wzMi40MTE4IDU1LjY1OThaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTQwLjYyMyAzNC43MjIxQzM4Ljk0NDkgMzUuNDQwNSAzNy4wNDA0IDM2LjI1NTEgMzQuNTcyMiAzNi4yNTUxQzMzLjUzOTcgMzYuMjUzMSAzMi41MTIyIDM2LjExMTQgMzEuNTE3NiAzNS44MzRMMzMuMjI0NyA1My4zNjA1QzMzLjI4NTEgNTQuMDkzIDMzLjYxODggNTQuNzc2MSAzNC4xNTk1IDU1LjI3MzlDMzQuNzAwMyA1NS43NzE4IDM1LjQwODUgNTYuMDQ4MiAzNi4xNDM1IDU2LjA0OEMzNi4xNDM1IDU2LjA0OCAzOC41NjQgNTYuMTczNyAzOS4zNzE2IDU2LjE3MzdDNDAuMjQwOSA1Ni4xNzM3IDQyLjg0NzQgNTYuMDQ4IDQyLjg0NzQgNTYuMDQ4QzQzLjU4MjMgNTYuMDQ4IDQ0LjI5MDQgNTUuNzcxNiA0NC44MzEgNTUuMjczN0M0NS4zNzE2IDU0Ljc3NTkgNDUuNzA1MiA1NC4wOTI5IDQ1Ljc2NTYgNTMuMzYwNUw0Ny41OTQgMzMuOTkzQzQ2Ljc3NjkgMzMuNzE0IDQ1Ljk1MjMgMzMuNTI4NiA0NS4wMjI3IDMzLjUyODZDNDMuNDE1IDMzLjUyNzkgNDIuMTE5NiAzNC4wODE3IDQwLjYyMyAzNC43MjIxWlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbjxwYXRoIGQ9XCJNMjYuMjM0NCAyNy4yNDQ5TDI2LjI2MzMgMjcuMjcxOUwyNi4yODIxIDI3LjI4MzJDMjYuMjY3NiAyNy4yNjg4IDI2LjI1MTYgMjcuMjU1OSAyNi4yMzQ0IDI3LjI0NDlaXCIgZmlsbD1cIiMwRDBDMjJcIi8+XG48cGF0aCBkPVwiTTU1LjQ5MDYgMjUuNjI3NEw1NS4yMzM2IDI0LjMzMDdDNTUuMDAyOSAyMy4xNjczIDU0LjQ3OTMgMjIuMDY4IDUzLjI4NTEgMjEuNjQ3NUM1Mi45MDI0IDIxLjUxMyA1Mi40NjggMjEuNDU1MiA1Mi4xNzQ1IDIxLjE3NjhDNTEuODgxIDIwLjg5ODMgNTEuNzk0MyAyMC40NjU5IDUxLjcyNjQgMjAuMDY0OUM1MS42MDA3IDE5LjMyODkgNTEuNDgyNSAxOC41OTIzIDUxLjM1MzcgMTcuODU3NUM1MS4yNDI0IDE3LjIyNTkgNTEuMTU0NCAxNi41MTYzIDUwLjg2NDcgMTUuOTM2OEM1MC40ODc2IDE1LjE1ODYgNDkuNzA1IDE0LjcwMzYgNDguOTI2OSAxNC40MDI1QzQ4LjUyODIgMTQuMjUzNyA0OC4xMjEzIDE0LjEyNzggNDcuNzA4MiAxNC4wMjU0QzQ1Ljc2NDIgMTMuNTEyNSA0My43MjAyIDEzLjMyNCA0MS43MjAyIDEzLjIxNjVDMzkuMzE5NyAxMy4wODQgMzYuOTEyOCAxMy4xMjM5IDM0LjUxOCAxMy4zMzU5QzMyLjczNTUgMTMuNDk4MSAzMC44NTgxIDEzLjY5NDIgMjkuMTY0MiAxNC4zMTA4QzI4LjU0NTEgMTQuNTM2NCAyNy45MDcxIDE0LjgwNzMgMjcuNDM2NCAxNS4yODU2QzI2Ljg1ODcgMTUuODczMyAyNi42NzAyIDE2Ljc4MjEgMjcuMDkxOSAxNy41MTVDMjcuMzkxNyAxOC4wMzU0IDI3Ljg5OTYgMTguNDAzMSAyOC40MzgyIDE4LjY0NjNDMjkuMTM5OCAxOC45NTk3IDI5Ljg3MjYgMTkuMTk4MiAzMC42MjQyIDE5LjM1NzhDMzIuNzE3MiAxOS44MjA0IDM0Ljg4NSAyMC4wMDIxIDM3LjAyMzMgMjAuMDc5NEMzOS4zOTMyIDIwLjE3NSA0MS43NjcgMjAuMDk3NSA0NC4xMjU2IDE5Ljg0NzRDNDQuNzA4OSAxOS43ODMzIDQ1LjI5MTEgMTkuNzA2NCA0NS44NzIzIDE5LjYxNjhDNDYuNTU2OCAxOS41MTE4IDQ2Ljk5NjEgMTguNjE2OCA0Ni43OTQzIDE3Ljk5MzNDNDYuNTUzIDE3LjI0NzkgNDUuOTA0NCAxNi45NTg3IDQ1LjE3MDkgMTcuMDcxMkM0NS4wNjI4IDE3LjA4ODIgNDQuOTU1MyAxNy4xMDM5IDQ0Ljg0NzIgMTcuMTE5Nkw0NC43NjkyIDE3LjEzMUM0NC41MjA4IDE3LjE2MjQgNDQuMjcyMyAxNy4xOTE3IDQ0LjAyMzggMTcuMjE5QzQzLjUxMDUgMTcuMjc0MyA0Mi45OTU5IDE3LjMxOTUgNDIuNDgwMSAxNy4zNTQ3QzQxLjMyNDkgMTcuNDM1MiA0MC4xNjY1IDE3LjQ3MjIgMzkuMDA4OCAxNy40NzQxQzM3Ljg3MTIgMTcuNDc0MSAzNi43MzI5IDE3LjQ0MjEgMzUuNTk3OCAxNy4zNjczQzM1LjA3OTkgMTcuMzMzMyAzNC41NjMyIDE3LjI5MDIgMzQuMDQ3OCAxNy4yMzc4QzMzLjgxMzQgMTcuMjEzMyAzMy41Nzk2IDE3LjE4NzUgMzMuMzQ1OCAxNy4xNTg2TDMzLjEyMzMgMTcuMTMwM0wzMy4wNzQ5IDE3LjEyMzRMMzIuODQ0MiAxNy4wOTAxQzMyLjM3MjggMTcuMDE5MSAzMS45MDE0IDE2LjkzNzQgMzEuNDM1IDE2LjgzODdDMzEuMzg4IDE2LjgyODMgMzEuMzQ1OSAxNi44MDIxIDMxLjMxNTcgMTYuNzY0NUMzMS4yODU2IDE2LjcyNjkgMzEuMjY5MSAxNi42ODAxIDMxLjI2OTEgMTYuNjMxOUMzMS4yNjkxIDE2LjU4MzcgMzEuMjg1NiAxNi41MzY5IDMxLjMxNTcgMTYuNDk5M0MzMS4zNDU5IDE2LjQ2MTcgMzEuMzg4IDE2LjQzNTYgMzEuNDM1IDE2LjQyNTFIMzEuNDQzOEMzMS44NDggMTYuMzM5IDMyLjI1NTMgMTYuMjY1NSAzMi42NjM4IDE2LjIwMTRDMzIuOCAxNi4xOCAzMi45MzY2IDE2LjE1OSAzMy4wNzM2IDE2LjEzODVIMzMuMDc3NEMzMy4zMzMyIDE2LjEyMTUgMzMuNTkwMyAxNi4wNzU3IDMzLjg0NDggMTYuMDQ1NUMzNi4wNTk1IDE1LjgxNTEgMzguMjg3NCAxNS43MzY2IDQwLjUxMjggMTUuODEwNEM0MS41OTMzIDE1Ljg0MTkgNDIuNjczMSAxNS45MDUzIDQzLjc0ODUgMTYuMDE0N0M0My45Nzk4IDE2LjAzODYgNDQuMjA5OCAxNi4wNjM3IDQ0LjQzOTkgMTYuMDkyQzQ0LjUyNzkgMTYuMTAyNyA0NC42MTY1IDE2LjExNTMgNDQuNzA1MSAxNi4xMjU5TDQ0Ljg4MzYgMTYuMTUxN0M0NS40MDQgMTYuMjI5MiA0NS45MjE3IDE2LjMyMzMgNDYuNDM2NyAxNi40MzM5QzQ3LjE5OTcgMTYuNTk5OSA0OC4xNzk2IDE2LjY1MzkgNDguNTE5IDE3LjQ4OThDNDguNjI3MSAxNy43NTUxIDQ4LjY3NjEgMTguMDQ5OSA0OC43MzU5IDE4LjMyODNMNDguODExOSAxOC42ODM0QzQ4LjgxMzkgMTguNjg5OCA0OC44MTU0IDE4LjY5NjMgNDguODE2MyAxOC43MDI5QzQ4Ljk5NjEgMTkuNTQwOSA0OS4xNzYgMjAuMzc5IDQ5LjM1NjIgMjEuMjE3QzQ5LjM2OTQgMjEuMjc4OSA0OS4zNjk3IDIxLjM0MjkgNDkuMzU3MSAyMS40MDQ5QzQ5LjM0NDUgMjEuNDY2OSA0OS4zMTkzIDIxLjUyNTcgNDkuMjgyOSAyMS41Nzc2QzQ5LjI0NjYgMjEuNjI5NCA0OS4yIDIxLjY3MzIgNDkuMTQ2IDIxLjcwNjJDNDkuMDkyIDIxLjczOTIgNDkuMDMxNyAyMS43NjA4IDQ4Ljk2OSAyMS43Njk1SDQ4Ljk2NEw0OC44NTQgMjEuNzg0Nkw0OC43NDUzIDIxLjc5OUM0OC40MDA5IDIxLjg0MzkgNDguMDU2IDIxLjg4NTggNDcuNzEwNyAyMS45MjQ3QzQ3LjAzMDcgMjIuMDAyMiA0Ni4zNDk2IDIyLjA2OTMgNDUuNjY3NCAyMi4xMjU5QzQ0LjMxMTkgMjIuMjM4NiA0Mi45NTM2IDIyLjMxMjUgNDEuNTkyNyAyMi4zNDc3QzQwLjg5OTIgMjIuMzY2MiA0MC4yMDU5IDIyLjM3NDggMzkuNTEyOSAyMi4zNzM1QzM2Ljc1NDMgMjIuMzcxMyAzMy45OTgxIDIyLjIxMSAzMS4yNTc4IDIxLjg5MzNDMzAuOTYxMSAyMS44NTgxIDMwLjY2NDUgMjEuODIwNCAzMC4zNjc4IDIxLjc4MjFDMzAuNTk3OCAyMS44MTE2IDMwLjIwMDYgMjEuNzU5NCAzMC4xMjAyIDIxLjc0ODFDMjkuOTMxNiAyMS43MjE3IDI5Ljc0MzEgMjEuNjk0MyAyOS41NTQ1IDIxLjY2NThDMjguOTIxNiAyMS41NzA5IDI4LjI5MjQgMjEuNDU0IDI3LjY2MDcgMjEuMzUxNUMyNi44OTcxIDIxLjIyNTggMjYuMTY2NyAyMS4yODg3IDI1LjQ3NiAyMS42NjU4QzI0LjkwOSAyMS45NzYgMjQuNDUwMSAyMi40NTE4IDI0LjE2MDUgMjMuMDI5N0MyMy44NjI2IDIzLjY0NTYgMjMuNzczOSAyNC4zMTYzIDIzLjY0MDcgMjQuOTc4MUMyMy41MDc0IDI1LjYzOTkgMjMuMyAyNi4zNTIxIDIzLjM3ODYgMjcuMDMxNUMyMy41NDc3IDI4LjQ5NzkgMjQuNTcyOCAyOS42ODk1IDI2LjA0NzMgMjkuOTU2QzI3LjQzNDUgMzAuMjA3NCAyOC44MjkyIDMwLjQxMTEgMzAuMjI3NiAzMC41ODQ2QzM1LjcyMTIgMzEuMjU3NCA0MS4yNzExIDMxLjMzNzkgNDYuNzgxOCAzMC44MjQ3QzQ3LjIzMDUgMzAuNzgyOCA0Ny42Nzg3IDMwLjczNzEgNDguMTI2MiAzMC42ODc2QzQ4LjI2NiAzMC42NzIzIDQ4LjQwNzQgMzAuNjg4NCA0OC41NDAxIDMwLjczNDhDNDguNjcyOSAzMC43ODEyIDQ4Ljc5MzYgMzAuODU2NiA0OC44OTM0IDMwLjk1NTdDNDguOTkzMiAzMS4wNTQ4IDQ5LjA2OTUgMzEuMTc0OSA0OS4xMTY5IDMxLjMwNzNDNDkuMTY0MiAzMS40Mzk3IDQ5LjE4MTQgMzEuNTgxMSA0OS4xNjcgMzEuNzIwOUw0OS4wMjc1IDMzLjA3NzNDNDguNzQ2MyAzNS44MTgxIDQ4LjQ2NTIgMzguNTU4NyA0OC4xODQgNDEuMjk5QzQ3Ljg5MDcgNDQuMTc2OSA0Ny41OTU1IDQ3LjA1NDUgNDcuMjk4NCA0OS45MzE5QzQ3LjIxNDYgNTAuNzQyMiA0Ny4xMzA4IDUxLjU1MjQgNDcuMDQ3IDUyLjM2MjRDNDYuOTY2NiA1My4xNiA0Ni45NTUyIDUzLjk4MjcgNDYuODAzOCA1NC43NzA5QzQ2LjU2NDkgNTYuMDEwMyA0NS43MjU4IDU2Ljc3MTUgNDQuNTAxNSA1Ny4wNDk5QzQzLjM3OTggNTcuMzA1MiA0Mi4yMzM5IDU3LjQzOTIgNDEuMDgzNiA1Ny40NDk3QzM5LjgwODMgNTcuNDU2NiAzOC41MzM2IDU3LjQgMzcuMjU4MyA1Ny40MDY5QzM1Ljg5NyA1Ny40MTQ1IDM0LjIyOTUgNTcuMjg4NyAzMy4xNzg2IDU2LjI3NTZDMzIuMjU1MyA1NS4zODU2IDMyLjEyNzcgNTMuOTkyMSAzMi4wMDIgNTIuNzg3MkMzMS44MzQ0IDUxLjE5MiAzMS42NjgyIDQ5LjU5NzEgMzEuNTAzNiA0OC4wMDIzTDMwLjU3OTYgMzkuMTM0NEwyOS45ODE5IDMzLjM5NjZDMjkuOTcxOCAzMy4zMDE3IDI5Ljk2MTggMzMuMjA4IDI5Ljk1MjQgMzMuMTEyNUMyOS44ODA3IDMyLjQyOCAyOS4zOTYxIDMxLjc1OCAyOC42MzI0IDMxLjc5MjZDMjcuOTc4OCAzMS44MjE1IDI3LjIzNTkgMzIuMzc3MSAyNy4zMTI1IDMzLjExMjVMMjcuNzU1NyAzNy4zNjY0TDI4LjY3MiA0Ni4xNjU3QzI4LjkzMzEgNDguNjY1MiAyOS4xOTM1IDUxLjE2NSAyOS40NTMzIDUzLjY2NTNDMjkuNTAzNiA1NC4xNDQyIDI5LjU1MDcgNTQuNjI0NCAyOS42MDM1IDU1LjEwMzRDMjkuODkwOCA1Ny43MjA1IDMxLjg4OTUgNTkuMTMxIDM0LjM2NDYgNTkuNTI4MkMzNS44MTAyIDU5Ljc2MDcgMzcuMjkxIDU5LjgwODUgMzguNzU4IDU5LjgzMjRDNDAuNjM4NiA1OS44NjI2IDQyLjUzOCA1OS45MzQ4IDQ0LjM4NzcgNTkuNTk0MkM0Ny4xMjg3IDU5LjA5MTQgNDkuMTg1MyA1Ny4yNjExIDQ5LjQ3ODggNTQuNDIyQzQ5LjU2MjYgNTMuNjAyNCA0OS42NDY0IDUyLjc4MjYgNDkuNzMwMiA1MS45NjI2QzUwLjAwODggNDkuMjUwNyA1MC4yODcxIDQ2LjUzODYgNTAuNTY0OSA0My44MjYzTDUxLjQ3MzcgMzQuOTY0MUw1MS44OTA0IDMwLjkwMjZDNTEuOTExMiAzMC43MDEyIDUxLjk5NjIgMzAuNTExOCA1Mi4xMzMgMzAuMzYyNUM1Mi4yNjk3IDMwLjIxMzIgNTIuNDUwOSAzMC4xMTE5IDUyLjY0OTcgMzAuMDczNkM1My40MzM1IDI5LjkyMDggNTQuMTgyNyAyOS42NiA1NC43NDAyIDI5LjA2MzVDNTUuNjI3NyAyOC4xMTM4IDU1LjgwNDMgMjYuODc1NiA1NS40OTA2IDI1LjYyNzRaTTI2LjAwNzEgMjYuNTAzNUMyNi4wMTkgMjYuNDk3OSAyNS45OTcgMjYuNjAwMyAyNS45ODc2IDI2LjY0ODFDMjUuOTg1NyAyNi41NzU4IDI1Ljk4OTUgMjYuNTExNyAyNi4wMDcxIDI2LjUwMzVaTTI2LjA4MzEgMjcuMDkxOEMyNi4wODk0IDI3LjA4NzQgMjYuMTA4MyAyNy4xMTI2IDI2LjEyNzggMjcuMTQyOEMyNi4wOTgyIDI3LjExNTEgMjYuMDc5NCAyNy4wOTQ0IDI2LjA4MjUgMjcuMDkxOEgyNi4wODMxWk0yNi4xNTc5IDI3LjE5MDVDMjYuMTg1IDI3LjIzNjQgMjYuMTk5NCAyNy4yNjUzIDI2LjE1NzkgMjcuMTkwNVYyNy4xOTA1Wk0yNi4zMDgyIDI3LjMxMjVIMjYuMzExOUMyNi4zMTE5IDI3LjMxNjkgMjYuMzE4OCAyNy4zMjEzIDI2LjMyMTQgMjcuMzI1N0MyNi4zMTcyIDI3LjMyMDggMjYuMzEyNiAyNy4zMTY0IDI2LjMwNzUgMjcuMzEyNUgyNi4zMDgyWk01Mi42MTMyIDI3LjEzMDJDNTIuMzMxNyAyNy4zOTc5IDUxLjkwNzQgMjcuNTIyNCA1MS40ODgyIDI3LjU4NDZDNDYuNzg2OCAyOC4yODIzIDQyLjAxNjkgMjguNjM1NSAzNy4yNjQgMjguNDc5NkMzMy44NjI0IDI4LjM2MzMgMzAuNDk2NyAyNy45ODU2IDI3LjEyOSAyNy41MDk4QzI2Ljc5OSAyNy40NjMzIDI2LjQ0MTQgMjcuNDAzIDI2LjIxNDUgMjcuMTU5N0MyNS43ODcxIDI2LjcwMDkgMjUuOTk3IDI1Ljc3NyAyNi4xMDgzIDI1LjIyMjZDMjYuMjEwMSAyNC43MTQ4IDI2LjQwNSAyNC4wMzc4IDI3LjAwOSAyMy45NjU2QzI3Ljk1MTggMjMuODU0OSAyOS4wNDY2IDI0LjI1MjggMjkuOTc5NCAyNC4zOTQyQzMxLjEwMjMgMjQuNTY1NiAzMi4yMjk1IDI0LjcwMjggMzMuMzYwOSAyNC44MDU5QzM4LjE4OTIgMjUuMjQ1OSA0My4wOTg2IDI1LjE3NzQgNDcuOTA1NiAyNC41MzM3QzQ4Ljc4MTcgMjQuNDE2IDQ5LjY1NDggMjQuMjc5MiA1MC41MjQ2IDI0LjEyMzNDNTEuMjk5NiAyMy45ODQ0IDUyLjE1ODggMjMuNzIzNiA1Mi42MjcxIDI0LjUyNjJDNTIuOTQ4MiAyNS4wNzMgNTIuOTkxIDI1LjgwNDYgNTIuOTQxMyAyNi40MjI1QzUyLjkyNiAyNi42OTE3IDUyLjgwODQgMjYuOTQ0OCA1Mi42MTI2IDI3LjEzMDJINTIuNjEzMlpcIiBmaWxsPVwiIzBEMEMyMlwiLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04MS4xMzAyIDQwLjE5MjlDODAuODU1NiA0MC43MTY5IDgwLjQ3ODEgNDEuMTczMiA3OS45OTc4IDQxLjU2MDRDNzkuNTE3NSA0MS45NDc5IDc4Ljk1NzEgNDIuMjYzMyA3OC4zMTY2IDQyLjUwNjJDNzcuNjc2MSA0Mi43NDk3IDc3LjAzMTUgNDIuOTEzMSA3Ni4zODM1IDQyLjk5NjRDNzUuNzM1MiA0My4wNzk5IDc1LjEwNiA0My4wNzI3IDc0LjQ5NjMgNDIuOTczNUM3My44ODYzIDQyLjg3NDkgNzMuMzY3NCA0Mi42NzM3IDcyLjk0MDggNDIuMzY5NUw3My40MjE0IDM3LjM3NzlDNzMuODYzMyAzNy4yMjYxIDc0LjQxOTcgMzcuMDcwMyA3NS4wOTA5IDM2LjkxMDdDNzUuNzYxOSAzNi43NTEzIDc2LjQ1MiAzNi42MzcxIDc3LjE2MTMgMzYuNTY4OUM3Ny44NzA1IDM2LjUwMDMgNzguNTQxMiAzNi41MDg0IDc5LjE3NDQgMzYuNTkxN0M3OS44MDY4IDM2LjY3NTMgODAuMzA2NSAzNi44NzY1IDgwLjY3MjUgMzcuMTk1OEM4MC44NzA3IDM3LjM3OCA4MS4wMzg3IDM3LjU3NTQgODEuMTc2IDM3Ljc4ODNDODEuMzEzIDM4LjAwMTEgODEuMzk2OSAzOC4yMjE0IDgxLjQyNzYgMzguNDQ5M0M4MS41MDM3IDM5LjA4NzUgODEuNDA0NyAzOS42Njg3IDgxLjEzMDIgNDAuMTkyOVpNNzQuMTUzIDI5LjU2MDJDNzQuNDczNCAyOS4zNjI3IDc0Ljg1ODUgMjkuMTg3NyA3NS4zMDgzIDI5LjAzNTZDNzUuNzU4MSAyOC44ODQxIDc2LjIxOTUgMjguNzc3NCA3Ni42OTIzIDI4LjcxNjdDNzcuMTY0OCAyOC42NTYyIDc3LjYyNjIgMjguNjQ4MSA3OC4wNzYzIDI4LjY5MzhDNzguNTI1OCAyOC43Mzk1IDc4LjkyMjggMjguODY0NyA3OS4yNjU5IDI5LjA2OTdDNzkuNjA4OSAyOS4yNzUxIDc5Ljg2NDMgMjkuNTcxNCA4MC4wMzIgMjkuOTU4NkM4MC4xOTk3IDMwLjM0NjQgODAuMjQ1NiAzMC44MzY1IDgwLjE2OTMgMzEuNDI5QzgwLjEwODMgMzEuOTAwMSA3OS45MjExIDMyLjI5OTEgNzkuNjA4OSAzMi42MjU2Qzc5LjI5NjMgMzIuOTUyNiA3OC45MTQ3IDMzLjIyNTkgNzguNDY1MiAzMy40NDYyQzc4LjAxNTQgMzMuNjY2OCA3Ny41Mzg4IDMzLjg0MTUgNzcuMDM1NiAzMy45NzAyQzc2LjUzMjEgMzQuMDk5NyA3Ni4wNDc3IDM0LjE5NDkgNzUuNTgyOCAzNC4yNTUzQzc1LjExNzYgMzQuMzE2MyA3NC43MTM3IDM0LjM1NDUgNzQuMzcwNiAzNC4zNjkyQzc0LjAyNzMgMzQuMzg0NSA3My44MDIxIDM0LjM5MjEgNzMuNjk1NiAzNC4zOTIxTDc0LjE1MyAyOS41NjAyWk04My42MDA3IDM2Ljk2NzZDODMuMzU2NiAzNi40MzYxIDgzLjAyODcgMzUuOTY4OSA4Mi42MTcyIDM1LjU2NThDODIuMjA1NCAzNS4xNjMzIDgxLjcxNyAzNC44NzA5IDgxLjE1MzEgMzQuNjg4NUM4MS4zOTY5IDM0LjQ5MSA4MS42MzcxIDM0LjE3OTUgODEuODczNyAzMy43NTM5QzgyLjEwOTkgMzMuMzI4OCA4Mi4zMTE5IDMyLjg2NSA4Mi40Nzk2IDMyLjM2MzZDODIuNjQ3NCAzMS44NjE5IDgyLjc2MiAzMS4zNTcgODIuODIyOSAzMC44NDc4QzgyLjg4MzYgMzAuMzM4OSA4Mi44NjA3IDI5LjkwMiA4Mi43NTQ0IDI5LjUzN0M4Mi40OTQ3IDI4LjYyNTYgODIuMDg3IDI3LjkxMTQgODEuNTMwMyAyNy4zOTQ2QzgwLjk3MzQgMjYuODc4MiA4MC4zMjU3IDI2LjUyMTEgNzkuNTg2IDI2LjMyMzNDNzguODQ2MiAyNi4xMjY0IDc4LjAzMDQgMjYuMDg0MiA3Ny4xMzgzIDI2LjE5ODFDNzYuMjQ2MiAyNi4zMTIgNzUuMzM0NyAyNi41MzYxIDc0LjQwNDkgMjYuODcwNEM3NC40MDQ5IDI2Ljc5NDYgNzQuNDEyNCAyNi43MTQ4IDc0LjQyNzggMjYuNjMxMkM3NC40NDI2IDI2LjU0OCA3NC40NTA0IDI2LjQ2MDQgNzQuNDUwNCAyNi4zNjlDNzQuNDUwNCAyNi4xNDExIDc0LjMzNjEgMjUuOTQzOSA3NC4xMDc0IDI1Ljc3NjVDNzMuODc4NyAyNS42MDkzIDczLjYxNTUgMjUuNTEwNyA3My4zMTgzIDI1LjQ4MDFDNzMuMDIwOSAyNS40NSA3Mi43MzEgMjUuNTE0MiA3Mi40NDg5IDI1LjY3MzhDNzIuMTY2NSAyNS44MzM0IDcxLjk3MjEgMjYuMTI2NCA3MS44NjU2IDI2LjU1MTFDNzEuNzQzNCAyNy45MTg5IDcxLjYyMTUgMjkuMzM5OCA3MS40OTk2IDMwLjgxMzRDNzEuMzc3NCAzMi4yODc1IDcxLjI0OCAzMy43NzY3IDcxLjExMDcgMzUuMjgxMkM3MC45NzM1IDM2Ljc4NTUgNzAuODM2MiAzOC4yNzg0IDcwLjY5ODkgMzkuNzU5OEM3MC41NjE2IDQxLjI0MTQgNzAuNDI0NCA0Mi42NjU5IDcwLjI4NzEgNDQuMDMzM0M3MC4zMzMgNDQuNDQzNiA3MC40NDczIDQ0Ljc2MjkgNzAuNjMwNCA0NC45OTA3QzcwLjgxMzMgNDUuMjE4OSA3MS4wMjY4IDQ1LjM1NTYgNzEuMjcwOSA0NS40MDFDNzEuNTE0NyA0NS40NDY3IDcxLjc3MDQgNDUuNDA0NSA3Mi4wMzcxIDQ1LjI3NTVDNzIuMzAzOCA0NS4xNDY5IDcyLjUzNjUgNDQuOTIyMiA3Mi43MzUgNDQuNjAzMkM3My4zNDQ3IDQ0LjkzNzUgNzQuMDMxMSA0NS4xNTQxIDc0Ljc5MzggNDUuMjUzQzc1LjU1NjEgNDUuMzUxNiA3Ni4zMjk4IDQ1LjM1MTYgNzcuMTE1NyA0NS4yNTNDNzcuOTAwNyA0NS4xNTQxIDc4LjY3NDcgNDQuOTY4MiA3OS40Mzc0IDQ0LjY5NDNDODAuMTk5NyA0NC40MjExIDgwLjg5MzYgNDQuMDc5IDgxLjUxOSA0My42NjlDODIuMTQ0MSA0My4yNTg2IDgyLjY3MDMgNDIuNzkxMSA4My4wOTc1IDQyLjI2NzFDODMuNTI0NCA0MS43NDI2IDgzLjgwNjUgNDEuMTc2NyA4My45NDM3IDQwLjU2OTFDODQuMDgxIDM5Ljk0NiA4NC4xMTkgMzkuMzIzMSA4NC4wNTgxIDM4LjdDODMuOTk3MSAzOC4wNzcxIDgzLjg0NDUgMzcuNSA4My42MDA3IDM2Ljk2NzZaXCIgZmlsbD1cIiMwRDBDMjNcIi8+XG48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTA1LjkxNSA0OS4wMDE3QzEwNS44MzIgNDkuNTAzMSAxMDUuNzEzIDUwLjAzMTEgMTA1LjU2MSA1MC41ODZDMTA1LjQwOCA1MS4xNDAzIDEwNS4yMjkgNTEuNjQ1OCAxMDUuMDIzIDUyLjEwMThDMTA0LjgxOCA1Mi41NTc1IDEwNC41ODkgNTIuOTI1NiAxMDQuMzM3IDUzLjIwN0MxMDQuMDg1IDUzLjQ4OCAxMDMuODE1IDUzLjYwNiAxMDMuNTI1IDUzLjU2MDZDMTAzLjI5NiA1My41Mjk3IDEwMy4xNTEgNTMuMzg1NCAxMDMuMDkxIDUzLjEyNzRDMTAzLjAyOSA1Mi44Njg2IDEwMy4wMjkgNTIuNTQ5NyAxMDMuMDkxIDUyLjE3QzEwMy4xNTEgNTEuNzkwMSAxMDMuMjY5IDUxLjM2MDcgMTAzLjQ0NSA1MC44ODIxQzEwMy42MiA1MC40MDM1IDEwMy44MzQgNDkuOTI4NCAxMDQuMDg1IDQ5LjQ1NzdDMTA0LjMzNyA0OC45ODY0IDEwNC42MjMgNDguNTM0NyAxMDQuOTQzIDQ4LjEwMTVDMTA1LjI2NCA0Ny42Njg2IDEwNS41OTkgNDcuMzA3NSAxMDUuOTUgNDcuMDE4OUMxMDYuMDI2IDQ3LjExIDEwNi4wNiA0Ny4zMzc4IDEwNi4wNTMgNDcuNzAyOEMxMDYuMDQ1IDQ4LjA2NzQgMTA1Ljk5OSA0OC41MDA2IDEwNS45MTUgNDkuMDAxN1pNMTEzLjY3IDM5LjEwOTdDMTEzLjQ2NCAzOC44ODE5IDExMy4yMTMgMzguNzUyOSAxMTIuOTE1IDM4LjcyMjNDMTEyLjYxOCAzOC42OTE5IDExMi4zMTcgMzguODU5IDExMi4wMTIgMzkuMjIzN0MxMTEuODEzIDM5LjU4ODMgMTExLjU2MiAzOS45Mzc5IDExMS4yNTcgNDAuMjcyMkMxMTAuOTUyIDQwLjYwNjcgMTEwLjYzNSA0MC45MTAzIDExMC4zMDcgNDEuMTgzOUMxMDkuOTggNDEuNDU3MiAxMDkuNjY3IDQxLjY5MzEgMTA5LjM3IDQxLjg5MDNDMTA5LjA3MiA0Mi4wODgxIDEwOC44NCA0Mi4yMzI0IDEwOC42NzIgNDIuMzIzNUMxMDguNjExIDQxLjgzNzQgMTA4LjU3NiA0MS4zMTMyIDEwOC41NjkgNDAuNzUwN0MxMDguNTYxIDQwLjE4ODYgMTA4LjU3MyAzOS42MTkgMTA4LjYwMyAzOS4wNDE1QzEwOC42NDkgMzguMjIwOSAxMDguNzQ0IDM3LjM5MyAxMDguODg5IDM2LjU1N0MxMDkuMDM0IDM1LjcyMTMgMTA5LjI0NCAzNC45MDA3IDEwOS41MTggMzQuMDk1MUMxMDkuNTE4IDMzLjY3IDEwOS40MTkgMzMuMzI0MiAxMDkuMjIxIDMzLjA1ODJDMTA5LjAyMiAzMi43OTI0IDEwOC43ODIgMzIuNjI1IDEwOC41IDMyLjU1NjdDMTA4LjIxOCAzMi40ODg1IDEwNy45MjkgMzIuNTI2NCAxMDcuNjMxIDMyLjY3MDdDMTA3LjMzNCAzMi44MTUzIDEwNy4wNzggMzMuMDc3NSAxMDYuODY1IDMzLjQ1NjlDMTA2LjY4MiAzMy45NTg2IDEwNi40NzIgMzQuNTIwNyAxMDYuMjM2IDM1LjE0MzZDMTA1Ljk5OSAzNS43NjY3IDEwNS43MzIgMzYuNDAxMiAxMDUuNDM1IDM3LjA0NjlDMTA1LjEzOCAzNy42OTMxIDEwNC44MDYgMzguMzE5NyAxMDQuNDQgMzguOTI3M0MxMDQuMDc0IDM5LjUzNTQgMTAzLjY3NCA0MC4wNzUgMTAzLjIzOSA0MC41NDU3QzEwMi44MDQgNDEuMDE2OCAxMDIuMzMxIDQxLjM4NTQgMTAxLjgyMSA0MS42NTEyQzEwMS4zMSA0MS45MTcyIDEwMC43NTcgNDIuMDM0OSAxMDAuMTYyIDQyLjAwNDVDOTkuODg3NiA0MS45Mjg1IDk5LjY4OTMgNDEuNzIzNSA5OS41Njc1IDQxLjM4ODlDOTkuNDQ1MyA0MS4wNTQ5IDk5LjM3MyA0MC42MzY4IDk5LjM1MDQgNDAuMTM1NEM5OS4zMjc1IDM5LjYzNCA5OS4zNTA0IDM5LjA4MzEgOTkuNDE4OSAzOC40ODI4Qzk5LjQ4NzcgMzcuODgyOCA5OS41NzkxIDM3LjI4NjMgOTkuNjkzNCAzNi42OTM4Qzk5LjgwNzggMzYuMTAxIDk5LjkzMzcgMzUuNTM4OSAxMDAuMDcxIDM1LjAwNzFDMTAwLjIwOCAzNC40NzUzIDEwMC4zMzcgMzQuMDI2OCAxMDAuNDYgMzMuNjYyMkMxMDAuNjQzIDMzLjIyMTggMTAwLjY0MyAzMi44NTI5IDEwMC40NiAzMi41NTY3QzEwMC4yNzcgMzIuMjYwNCAxMDAuMDI1IDMyLjA2MzEgOTkuNzA1IDMxLjk2NEM5OS4zODQ2IDMxLjg2NTQgOTkuMDQ4OSAzMS44Njk0IDk4LjY5ODMgMzEuOTc1NUM5OC4zNDc0IDMyLjA4MTkgOTguMDk1OCAzMi4zMTczIDk3Ljk0MzUgMzIuNjgyQzk3LjY4NCAzMy4zMDU0IDk3LjQ0NzUgMzQuMDA0IDk3LjIzNDIgMzQuNzc5Qzk3LjAyMDYgMzUuNTUzOSA5Ni44NDkxIDM2LjM1NTggOTYuNzE5NyAzNy4xODM2Qzk2LjU4OTYgMzguMDEyMSA5Ni41MTcxIDM4LjgzMjcgOTYuNTAyIDM5LjY0NTZDOTYuNTAxMSAzOS42OTg1IDk2LjUwMzcgMzkuNzQ4OCA5Ni41MDM0IDM5LjgwMTRDOTYuMTcwOSA0MC42ODQ4IDk1Ljg1NCA0MS4zNTI1IDk1LjU1MyA0MS43OTkyQzk1LjE2NDEgNDIuMzc3IDk0LjcyNTMgNDIuNjI3NyA5NC4yMzc1IDQyLjU1MTNDOTQuMDIzNiA0Mi40NjAzIDkzLjg4MzIgNDIuMjQ3NyA5My44MTQ3IDQxLjkxMzJDOTMuNzQ1MyA0MS41NzkyIDkzLjcyMjcgNDEuMTY4OSA5My43NDUzIDQwLjY4MjJDOTMuNzY4OCA0MC4xOTY0IDkzLjgyNiAzOS42NDU2IDkzLjkxNzEgMzkuMDI5OUM5NC4wMDkxIDM4LjQxNDYgOTQuMTIyOSAzNy43NzY0IDk0LjI2MDEgMzcuMTE1NEM5NC4zOTc3IDM2LjQ1NDEgOTQuNTQyNSAzNS43ODk5IDk0LjY5NDkgMzUuMTIxQzk0Ljg0NzIgMzQuNDUyNSA5NC45ODQ1IDMzLjgyMTggOTUuMTA3IDMzLjIyOTFDOTUuMDkxNiAzMi42OTczIDk0LjkzNTIgMzIuMjkxIDk0LjYzNzcgMzIuMDA5N0M5NC4zNDA1IDMxLjcyODkgOTMuOTI0NyAzMS42MTg3IDkzLjM5MTMgMzEuNjc5MUM5My4wMjUzIDMxLjgzMTIgOTIuNzU0MiAzMi4wMjkgOTIuNTc5IDMyLjI3MTlDOTIuNDAzNCAzMi41MTQ4IDkyLjI2MjMgMzIuODI2NSA5Mi4xNTU4IDMzLjIwNjJDOTIuMDk0NiAzMy40MDQgOTIuMDAzMiAzMy43OTkgOTEuODgxMyAzNC4zOTE4QzkxLjc1OTEgMzQuOTg0IDkxLjYwMyAzNS42NjQ0IDkxLjQxMjMgMzYuNDMxNUM5MS4yMjE3IDM3LjE5OTIgOTAuOTk2NyAzOC4wMDA1IDkwLjczNzYgMzguODM2MkM5MC40NzgxIDM5LjY3MTkgOTAuMTg4NSA0MC40MjgzIDg5Ljg2ODQgNDEuMTA0MUM4OS41NDggNDEuNzgwMSA4OS4xOTcyIDQyLjMyMzUgODguODE2MSA0Mi43MzM4Qzg4LjQzNDggNDMuMTQzOCA4OC4wMjMgNDMuMzExMyA4Ny41ODA3IDQzLjIzNTJDODcuMzM2NiA0My4xODk1IDg3LjE4MDUgNDIuOTM4OCA4Ny4xMTIgNDIuNDgzMUM4Ny4wNDMyIDQyLjAyNzEgODcuMDMxOSA0MS40NjUzIDg3LjA3NzUgNDAuNzk2NEM4Ny4xMjMzIDQwLjEyNzkgODcuMjE0OCAzOS4zOTQ2IDg3LjM1MiAzOC41OTcxQzg3LjQ4OTMgMzcuNzk5MyA4Ny42MyAzNy4wNDM0IDg3Ljc3NTIgMzYuMzI4OUM4Ny45MiAzNS42MTQ5IDg4LjA1MzUgMzQuOTg0IDg4LjE3NTYgMzQuNDM3MkM4OC4yOTc1IDMzLjg5MDEgODguMzgxNCAzMy41MjU0IDg4LjQyNzIgMzMuMzQzM0M4OC40MjcyIDMyLjkwMjYgODguMzI3NyAzMi41NDk1IDg4LjEyOTggMzIuMjgzMkM4Ny45MzEzIDMyLjAxNzggODcuNjkxMyAzMS44NTAzIDg3LjQwOTIgMzEuNzgxOEM4Ny4xMjY4IDMxLjcxMzYgODYuODM3MiAzMS43NTE0IDg2LjU0IDMxLjg5NTdDODYuMjQyNiAzMi4wNDAzIDg1Ljk4NzIgMzIuMzAyNiA4NS43NzM2IDMyLjY4MkM4NS42OTczIDMzLjA5MjMgODUuNTk4IDMzLjU2NzQgODUuNDc2MSAzNC4xMDY3Qzg1LjM1MzkgMzQuNjQ1OSA4NS4yMzYxIDM1LjIwMDYgODUuMTIxOCAzNS43NzA1Qzg1LjAwNzQgMzYuMzQwNCA4NC45MDAzIDM2Ljg5ODggODQuODAxNCAzNy40NDU5Qzg0LjcwMjEgMzcuOTkzIDg0LjYyOTkgMzguNDcxNiA4NC41ODQgMzguODgxOUM4NC41NTM2IDM5LjIwMDggODQuNTE5IDM5LjU5MjMgODQuNDgxMyA0MC4wNTU2Qzg0LjQ0MyA0MC41MTk0IDg0LjQyMzggNDEuMDA5MiA4NC40MjM4IDQxLjUyNTdDODQuNDIzOCA0Mi4wNDI3IDg0LjQ2MTggNDIuNTU1NCA4NC41Mzg1IDQzLjA2NDNDODQuNjE0NSA0My41NzM1IDg0Ljc1MTggNDQuMDQwOCA4NC45NSA0NC40NjU5Qzg1LjE0ODIgNDQuODkxNSA4NS40MjY1IDQ1LjI0MDggODUuNzg1MiA0NS41MTQ0Qzg2LjE0MzMgNDUuNzg3OSA4Ni41OTcyIDQ1LjkzOTcgODcuMTQ2MyA0NS45NzA0Qzg3LjcxMDEgNDYuMDAwNSA4OC4yMDIgNDUuOTU5MSA4OC42MjE3IDQ1Ljg0NDlDODkuMDQxIDQ1LjczMSA4OS40MjIxIDQ1LjU1MjMgODkuNzY1NCA0NS4zMDkxQzkwLjEwODQgNDUuMDY2NSA5MC40MjEgNDQuNzc3NiA5MC43MDMzIDQ0LjQ0M0M5MC45ODUxIDQ0LjEwOTEgOTEuMjYzNyA0My43NDQ0IDkxLjUzODMgNDMuMzQ5MUM5MS43OTc0IDQzLjkyNjkgOTIuMTMyOSA0NC4zNzQ4IDkyLjU0NDcgNDQuNjk0QzkyLjk1NjUgNDUuMDEzIDkzLjM5MTMgNDUuMjAzMiA5My44NDg2IDQ1LjI2MzdDOTQuMzA2IDQ1LjMyNDEgOTQuNzcxNSA0NS4yNjAyIDk1LjI0NDIgNDUuMDY5OUM5NS43MTY3IDQ0Ljg4MDMgOTYuMTQzNiA0NC41NTczIDk2LjUyNTIgNDQuMTAxMkM5Ni43NzYyIDQzLjgyMTYgOTcuMDEzMSA0My41MDM4IDk3LjIzNTQgNDMuMTUyNUM5Ny4zMjk3IDQzLjMxNyA5Ny40MzAxIDQzLjQ3NTggOTcuNTQzIDQzLjYyMjRDOTcuOTE2OCA0NC4xMDkxIDk4LjQyNCA0NC40NDMgOTkuMDY0NSA0NC42MjU1Qzk5Ljc1MDYgNDQuODA4IDEwMC40MjEgNDQuODM4NiAxMDEuMDc3IDQ0LjcxNjlDMTAxLjczMyA0NC41OTU0IDEwMi4zNTggNDQuMzc0OCAxMDIuOTUzIDQ0LjA1NTlDMTAzLjU0OCA0My43MzY2IDEwNC4xMDEgNDMuMzUzMiAxMDQuNjEyIDQyLjkwNDdDMTA1LjEyMiA0Mi40NTY1IDEwNS41NjggNDEuOTg5NSAxMDUuOTUgNDEuNTAyOEMxMDUuOTM0IDQxLjg1MjQgMTA1LjkyNyA0Mi4xODMyIDEwNS45MjcgNDIuNDk0NEMxMDUuOTI3IDQyLjgwNjEgMTA1LjkxOSA0My4xNDM4IDEwNS45MDQgNDMuNTA4OEMxMDUuMTQxIDQ0LjA0MDggMTA0LjQyMSA0NC42NzkgMTAzLjc0MiA0NS40MjMzQzEwMy4wNjQgNDYuMTY3NiAxMDIuNDY5IDQ2Ljk2MTYgMTAxLjk1OCA0Ny44MDUxQzEwMS40NDcgNDguNjQ4MyAxMDEuMDQ3IDQ5LjUwMzEgMTAwLjc1NyA1MC4zNjkxQzEwMC40NjcgNTEuMjM1NyAxMDAuMzI2IDUyLjA0NDUgMTAwLjMzNCA1Mi43OTY5QzEwMC4zNDEgNTMuNTQ5IDEwMC41MjEgNTQuMjA2IDEwMC44NzEgNTQuNzY4MUMxMDEuMjIyIDU1LjMzMDYgMTAxLjc5NCA1NS43MzMxIDEwMi41ODcgNTUuOTc2M0MxMDMuNDExIDU2LjIzNDggMTA0LjEzNSA1Ni4yNDIgMTA0Ljc2IDU1Ljk5OTFDMTA1LjM4NiA1NS43NTU5IDEwNS45MzEgNTUuMzUzMSAxMDYuMzk2IDU0Ljc5MUMxMDYuODYxIDU0LjIyODkgMTA3LjI0MiA1My41NDkgMTA3LjU0IDUyLjc1MTJDMTA3LjgzNyA1MS45NTM0IDEwOC4wNzMgNTEuMTIxNSAxMDguMjQ5IDUwLjI1NTVDMTA4LjQyNCA0OS4zODk0IDEwOC41MzUgNDguNTM3OSAxMDguNTggNDcuNzAyOEMxMDguNjI2IDQ2Ljg2NjggMTA4LjYyNiA0Ni4xMjE5IDEwOC41OCA0NS40Njg3QzEwOS44OTIgNDQuOTIxOSAxMTAuOTY3IDQ0LjIzMDUgMTExLjgwNiA0My4zOTQ1QzExMi42NDUgNDIuNTU5NCAxMTMuMzM4IDQxLjY3NzggMTEzLjg4NyA0MC43NTA3QzExNC4wNTUgNDAuNTIyOSAxMTQuMTEyIDQwLjI0OTMgMTE0LjA1OSAzOS45MzA0QzExNC4wMDYgMzkuNjExMSAxMTMuODc2IDM5LjMzNzYgMTEzLjY3IDM5LjEwOTdaXCIgZmlsbD1cIiMwRDBDMjNcIi8+XG48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTQyLjUzIDM3LjY1MTVDMTQyLjU3NSAzNy4zMDIyIDE0Mi42NDQgMzYuOTMzNSAxNDIuNzM1IDM2LjU0NkMxNDIuODI3IDM2LjE1ODUgMTQyLjk0MSAzNS43ODIzIDE0My4wNzkgMzUuNDE3N0MxNDMuMjE2IDM1LjA1MzEgMTQzLjM3NiAzNC43Mzc5IDE0My41NTkgMzQuNDcxOEMxNDMuNzQyIDM0LjIwNjEgMTQzLjkzNyAzNC4wMTYxIDE0NC4xNDIgMzMuOTAxOUMxNDQuMzQ4IDMzLjc4ODMgMTQ0LjU1OCAzMy43OTk1IDE0NC43NzEgMzMuOTM2QzE0NSAzNC4wNzMxIDE0NS4xNDEgMzQuMzYxNyAxNDUuMTk1IDM0LjgwMjFDMTQ1LjI0OCAzNS4yNDMzIDE0NS4xOTUgMzUuNzE0MSAxNDUuMDM0IDM2LjIxNTVDMTQ0Ljg3NCAzNi43MTcyIDE0NC41ODggMzcuMTg3OSAxNDQuMTc3IDM3LjYyODZDMTQzLjc2NSAzOC4wNjk2IDE0My4yMDggMzguMzU3OSAxNDIuNTA3IDM4LjQ5NDdDMTQyLjQ3NiAzOC4yODI0IDE0Mi40ODQgMzguMDAxMSAxNDIuNTMgMzcuNjUxNVpNMTUwLjQ1NiAzOC41ODU3QzE1MC4yMDQgMzguNTEwMyAxNDkuOTY0IDM4LjUwMjUgMTQ5LjczNSAzOC41NjMyQzE0OS41MDYgMzguNjIzOSAxNDkuMzYxIDM4Ljc4MzUgMTQ5LjMwMSAzOS4wNDJDMTQ5LjE3OCAzOS41MjgxIDE0OC45ODQgNDAuMDI1OCAxNDguNzE3IDQwLjUzNDdDMTQ4LjQ1IDQxLjA0MzkgMTQ4LjEyMiA0MS41MjYyIDE0Ny43MzQgNDEuOTgyMkMxNDcuMzQ1IDQyLjQzOCAxNDYuOTA2IDQyLjg0MDggMTQ2LjQxOCA0My4xOTAxQzE0NS45MyA0My41Mzk3IDE0NS40MTkgNDMuNzkwNCAxNDQuODg2IDQzLjk0MjJDMTQ0LjM1MSA0NC4xMDk2IDE0My45MSA0NC4xMjg0IDE0My41NTkgNDMuOTk5MUMxNDMuMjA4IDQzLjg3MDUgMTQyLjkzIDQzLjY0OTggMTQyLjcyNCA0My4zMzg0QzE0Mi41MTggNDMuMDI3IDE0Mi4zNjkgNDIuNjUwOCAxNDIuMjc4IDQyLjIxMDFDMTQyLjE4NiA0MS43Njk0IDE0Mi4xMzMgNDEuMzEzNyAxNDIuMTE4IDQwLjg0MjRDMTQyLjk4NyA0MC45MDM0IDE0My43NjEgNDAuNzQ3OCAxNDQuNDQgNDAuMzc1MUMxNDUuMTE4IDQwLjAwMzIgMTQ1LjY5NCAzOS41MDkgMTQ2LjE2NyAzOC44OTM3QzE0Ni42MzkgMzguMjc4NCAxNDYuOTk4IDM3LjU4NyAxNDcuMjQyIDM2LjgxOTVDMTQ3LjQ4NSAzNi4wNTI0IDE0Ny42MjMgMzUuMjg4NyAxNDcuNjUzIDM0LjUyODhDMTQ3LjY2OSAzMy44MTQ2IDE0Ny41NjIgMzMuMjEwOCAxNDcuMzMzIDMyLjcxNjlDMTQ3LjEwNSAzMi4yMjMzIDE0Ni43OTYgMzEuODM5IDE0Ni40MDcgMzEuNTY1OEMxNDYuMDE4IDMxLjI5MjIgMTQ1LjU3MiAzMS4xMzI2IDE0NS4wNjkgMzEuMDg3MkMxNDQuNTY2IDMxLjA0MTUgMTQ0LjA1NCAzMS4xMSAxNDMuNTM2IDMxLjI5MjJDMTQyLjkxIDMxLjUwNSAxNDIuMzgxIDMxLjg1MDYgMTQxLjk0NiAzMi4zMjk0QzE0MS41MTIgMzIuODA4IDE0MS4xNDkgMzMuMzYyOSAxNDAuODYgMzMuOTkzM0MxNDAuNTcgMzQuNjIzOSAxNDAuMzQxIDM1LjMwMzggMTQwLjE3MyAzNi4wMzNDMTQwLjAwNSAzNi43NjI2IDEzOS44ODMgMzcuNDgwNiAxMzkuODA3IDM4LjE4NzNDMTM5LjczOSAzOC44MjE0IDEzOS43MDIgMzkuNDI3OCAxMzkuNjg5IDQwLjAxM0MxMzkuNjU3IDQwLjA4NzQgMTM5LjYyNSA0MC4xNTg4IDEzOS41OSA0MC4yMzgzQzEzOS4zNTQgNDAuNzc4MiAxMzkuMDc5IDQxLjMwNjIgMTM4Ljc2NiA0MS44MjI2QzEzOC40NTQgNDIuMzM5NCAxMzguMTA3IDQyLjc3MjUgMTM3LjcyNiA0My4xMjE4QzEzNy4zNDQgNDMuNDcxNCAxMzYuOTQ4IDQzLjU5MjkgMTM2LjUzNiA0My40ODY1QzEzNi4yOTIgNDMuNDI2IDEzNi4xNTkgNDMuMTQ0NCAxMzYuMTM2IDQyLjY0MzNDMTM2LjExMyA0Mi4xNDE2IDEzNi4xMzkgNDEuNTE4NyAxMzYuMjE2IDQwLjc3NDFDMTM2LjI5MiA0MC4wMjk4IDEzNi4zOCAzOS4yMjM5IDEzNi40NzkgMzguMzU3OUMxMzYuNTc4IDM3LjQ5MTggMTM2LjYyOCAzNi42NjQgMTM2LjYyOCAzNS44NzM3QzEzNi42MjggMzUuMTg5OCAxMzYuNDk4IDM0LjUzMjkgMTM2LjIzOSAzMy45MDE5QzEzNS45NzkgMzMuMjcxOCAxMzUuNjI1IDMyLjc0NzMgMTM1LjE3NSAzMi4zMjk0QzEzNC43MjUgMzEuOTExMyAxMzQuMjAzIDMxLjYzNCAxMzMuNjA4IDMxLjQ5NzVDMTMzLjAxMyAzMS4zNjA1IDEzMi4zNzMgMzEuNDUxOCAxMzEuNjg3IDMxLjc3MDhDMTMxIDMyLjA5IDEzMC40NTUgMzIuNTM4MiAxMzAuMDUxIDMzLjExNTdDMTI5LjY0NyAzMy42OTM0IDEyOS4yNzcgMzQuMzAwOSAxMjguOTQyIDM0LjkzOTFDMTI4LjgxOSAzNC40NTI4IDEyOC42NDEgMzQuMDAxMSAxMjguNDA0IDMzLjU4M0MxMjguMTY3IDMzLjE2NTEgMTI3Ljg3OCAzMi44MDA1IDEyNy41MzUgMzIuNDg4OEMxMjcuMTkxIDMyLjE3NzYgMTI2LjgwNiAzMS45MzQ0IDEyNi4zOCAzMS43NTk1QzEyNS45NTMgMzEuNTg1MSAxMjUuNTAyIDMxLjQ5NzUgMTI1LjAzIDMxLjQ5NzVDMTI0LjU3MiAzMS40OTc1IDEyNC4xNDkgMzEuNTg1MSAxMjMuNzYgMzEuNzU5NUMxMjMuMzcxIDMxLjkzNDQgMTIzLjAxNyAzMi4xNTgzIDEyMi42OTYgMzIuNDMxOEMxMjIuMzc2IDMyLjcwNTYgMTIyLjA4NyAzMy4wMTMgMTIxLjgyNyAzMy4zNTUxQzEyMS41NjggMzMuNjk2OSAxMjEuMzM5IDM0LjAzNTIgMTIxLjE0MSAzNC4zNjkyQzEyMS4xMSAzMy45NzQyIDEyMS4wNzYgMzMuNjI4NiAxMjEuMDM4IDMzLjMzMkMxMjEgMzMuMDM1OSAxMjAuOTMxIDMyLjc4NTIgMTIwLjgzMiAzMi41ODAxQzEyMC43MzMgMzIuMzc0OCAxMjAuNTkyIDMyLjIxOTMgMTIwLjQwOSAzMi4xMTI5QzEyMC4yMjYgMzIuMDA2NyAxMTkuOTY3IDMxLjk1MzIgMTE5LjYzMiAzMS45NTMyQzExOS40NjQgMzEuOTUzMiAxMTkuMjk2IDMxLjk4NzQgMTE5LjEyOCAzMi4wNTU2QzExOC45NiAzMi4xMjQxIDExOC44MTEgMzIuMjE5MyAxMTguNjgyIDMyLjM0MDdDMTE4LjU1MiAzMi40NjI3IDExOC40NTMgMzIuNjEwNSAxMTguMzg1IDMyLjc4NTJDMTE4LjMxNiAzMi45NTk4IDExOC4yOTcgMzMuMTYxNCAxMTguMzI3IDMzLjM4OTJDMTE4LjM0MiAzMy41NTY2IDExOC4zODUgMzMuNzU3NiAxMTguNDUzIDMzLjk5MzNDMTE4LjUyMiAzNC4yMjg5IDExOC41ODcgMzQuNTM2OSAxMTguNjQ4IDM0LjkxNjNDMTE4LjcwOCAzNS4yOTYyIDExOC43NTggMzUuNzU2IDExOC43OTYgMzYuMjk1M0MxMTguODM0IDM2LjgzNDkgMTE4Ljg0NiAzNy40OTU5IDExOC44MzEgMzguMjc4NEMxMTguODE1IDM5LjA2MTEgMTE4Ljc1OCAzOS45NzYzIDExOC42NTkgNDEuMDI0OEMxMTguNTYgNDIuMDczMyAxMTguNDAzIDQzLjI4OSAxMTguMTkgNDQuNjcxNEMxMTguMTYgNDQuOTkwNyAxMTguMjgyIDQ1LjI0OTIgMTE4LjU1NiA0NS40NDY3QzExOC44MzEgNDUuNjQzOSAxMTkuMTQzIDQ1Ljc1NzggMTE5LjQ5NCA0NS43ODg1QzExOS44NDUgNDUuODE4OCAxMjAuMTc3IDQ1Ljc1NzggMTIwLjQ4OSA0NS42MDYzQzEyMC44MDIgNDUuNDUzOSAxMjAuOTgxIDQ1LjE4ODIgMTIxLjAyNyA0NC44MDg1QzEyMS4wNzIgNDQuMDk0MyAxMjEuMTYgNDMuMzM0NyAxMjEuMjkgNDIuNTI5QzEyMS40MTkgNDEuNzI0IDEyMS41NzkgNDAuOTI2MiAxMjEuNzcgNDAuMTM1OUMxMjEuOTYxIDM5LjM0NiAxMjIuMTc4IDM4LjU5MzggMTIyLjQyMiAzNy44NzkzQzEyMi42NjYgMzcuMTY1MSAxMjIuOTM3IDM2LjUzNDcgMTIzLjIzNCAzNS45ODc2QzEyMy41MzIgMzUuNDQwNSAxMjMuODQgMzUuMDAzOSAxMjQuMTYxIDM0LjY3NzFDMTI0LjQ4MSAzNC4zNTA0IDEyNC44MTYgMzQuMTg3IDEyNS4xNjcgMzQuMTg3QzEyNS41OTQgMzQuMTg3IDEyNS45MjYgMzQuMzgwNSAxMjYuMTYyIDM0Ljc2NzlDMTI2LjM5OCAzNS4xNTU3IDEyNi41NjYgMzUuNjUzNiAxMjYuNjY2IDM2LjI2MDlDMTI2Ljc2NSAzNi44NjkgMTI2LjgxIDM3LjUzNDEgMTI2LjgwMyAzOC4yNTU1QzEyNi43OTUgMzguOTc3MyAxMjYuNzY1IDM5LjY3MjQgMTI2LjcxMSA0MC4zNDFDMTI2LjY1OCA0MS4wMDk4IDEyNi41OTcgNDEuNjA2IDEyNi41MjggNDIuMTMwM0MxMjYuNDYgNDIuNjU0NSAxMjYuNDEgNDMuMDE1NyAxMjYuMzggNDMuMjEyOUMxMjYuMzggNDMuNTYyNSAxMjYuNTEzIDQzLjgzOTUgMTI2Ljc4IDQ0LjA0NDhDMTI3LjA0NiA0NC4yNDk4IDEyNy4zNDQgNDQuMzcxNiAxMjcuNjcyIDQ0LjQwOTVDMTI4IDQ0LjQ0NzYgMTI4LjMwOSA0NC4zODY2IDEyOC41OTggNDQuMjI3QzEyOC44ODggNDQuMDY3NCAxMjkuMDU2IDQzLjc5ODIgMTI5LjEwMiA0My40MTc5QzEyOS4yNTQgNDIuMzI0IDEyOS40NjQgNDEuMjI2NCAxMjkuNzMxIDQwLjEyNDdDMTI5Ljk5NyAzOS4wMjMgMTMwLjMwMyAzOC4wMzU1IDEzMC42NDYgMzcuMTYxNkMxMzAuOTg5IDM2LjI4NzggMTMxLjM3IDM1LjU3MzUgMTMxLjc5IDM1LjAxODlDMTMyLjIwOSAzNC40NjQ2IDEzMi42NTUgMzQuMTg3IDEzMy4xMjggMzQuMTg3QzEzMy4zNzEgMzQuMTg3IDEzMy41NTkgMzQuMzU0NCAxMzMuNjg4IDM0LjY4ODRDMTMzLjgxOCAzNS4wMjI3IDEzMy44ODMgMzUuNDc4NCAxMzMuODgzIDM2LjA1NTlDMTMzLjg4MyAzNi40ODE1IDEzMy44NDggMzYuOTE4NCAxMzMuNzggMzcuMzY2NkMxMzMuNzExIDM3LjgxNDggMTMzLjYzMSAzOC4yNzg0IDEzMy41NCAzOC43NTY5QzEzMy40NDggMzkuMjM1OCAxMzMuMzY4IDM5LjcyNTYgMTMzLjI5OSA0MC4yMjdDMTMzLjIzMSA0MC43Mjg3IDEzMy4xOTYgNDEuMjUyNyAxMzMuMTk2IDQxLjc5OThDMTMzLjE5NiA0Mi4xNzk3IDEzMy4yMzUgNDIuNjIwNCAxMzMuMzExIDQzLjEyMThDMTMzLjM4NyA0My42MjI5IDEzMy41MzIgNDQuMDk4MyAxMzMuNzQ1IDQ0LjU0NjJDMTMzLjk1OSA0NC45OTQ3IDEzNC4yNTIgNDUuMzc0NCAxMzQuNjI2IDQ1LjY4NThDMTM1IDQ1Ljk5NzMgMTM1LjQ3NiA0Ni4xNTMxIDEzNi4wNTYgNDYuMTUzMUMxMzYuOTI1IDQ2LjE1MzEgMTM3LjY5NSA0NS45NjY5IDEzOC4zNjYgNDUuNTk0N0MxMzkuMDM3IDQ1LjIyMjYgMTM5LjYxMyA0NC43MzY1IDE0MC4wOTMgNDQuMTM2MkMxNDAuMTE4IDQ0LjEwNDcgMTQwLjE0MSA0NC4wNzExIDE0MC4xNjUgNDQuMDM5OUMxNDAuMjAyIDQ0LjEyODcgMTQwLjIzNSA0NC4yMjI3IDE0MC4yNzYgNDQuMzA3MUMxNDAuNjA0IDQ0Ljk3NTYgMTQxLjA1IDQ1LjQ5MjEgMTQxLjYxNSA0NS44NTdDMTQyLjE3OCA0Ni4yMjE2IDE0Mi44NDIgNDYuNDIyOSAxNDMuNjA1IDQ2LjQ2MTFDMTQ0LjM2NyA0Ni40OTg3IDE0NS4xOTggNDYuMzU4MSAxNDYuMDk4IDQ2LjAzOTJDMTQ2Ljc2OSA0NS43OTYgMTQ3LjM1MiA0NS40OTIxIDE0Ny44NDggNDUuMTI3NUMxNDguMzQzIDQ0Ljc2MjggMTQ4Ljc4OSA0NC4zMTg0IDE0OS4xODYgNDMuNzk0MUMxNDkuNTgzIDQzLjI2OTkgMTQ5Ljk0NSA0Mi42NjU4IDE1MC4yNzMgNDEuOTgyMkMxNTAuNjAxIDQxLjI5ODEgMTUwLjkzMiA0MC41MTU5IDE1MS4yNjggMzkuNjM0MkMxNTEuMzI5IDM5LjM5MTYgMTUxLjI3MiAzOS4xNzUxIDE1MS4wOTcgMzguOTg0OEMxNTAuOTIxIDM4Ljc5NTEgMTUwLjcwOCAzOC42NjIxIDE1MC40NTYgMzguNTg1N1pcIiBmaWxsPVwiIzBEMEMyM1wiLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNjIuODg3IDM2LjA0MzRDMTYyLjgxIDM2LjQ5MTggMTYyLjcwNyAzNi45ODYgMTYyLjU3OCAzNy41MjVDMTYyLjQ0OCAzOC4wNjQ2IDE2Mi4yODQgMzguNjIzIDE2Mi4wODYgMzkuMjAwNEMxNjEuODg4IDM5Ljc3NzkgMTYxLjY0NCA0MC4yOTg0IDE2MS4zNTQgNDAuNzYxNkMxNjEuMDY0IDQxLjIyNTQgMTYwLjczMyA0MS41OTM1IDE2MC4zNTkgNDEuODY3MUMxNTkuOTg1IDQyLjE0MDYgMTU5LjU1NSA0Mi4yNTQ2IDE1OS4wNjYgNDIuMjA4OUMxNTguODIyIDQyLjE3ODggMTU4LjYzNSA0Mi4wMTE3IDE1OC41MDYgNDEuNzA3NUMxNTguMzc2IDQxLjQwMzggMTU4LjMwOCA0MS4wMTYxIDE1OC4zIDQwLjU0NUMxNTguMjkyIDQwLjA3NDMgMTU4LjMzNCAzOS41NTc1IDE1OC40MjYgMzguOTk1MUMxNTguNTE3IDM4LjQzMzMgMTU4LjY1OCAzNy44ODIxIDE1OC44NDkgMzcuMzQyNkMxNTkuMDQgMzYuODAzNiAxNTkuMjcyIDM2LjMwNTYgMTU5LjU0NyAzNS44NDk2QzE1OS44MjEgMzUuMzkzOSAxNjAuMTM4IDM1LjA0MDUgMTYwLjQ5NiAzNC43ODk4QzE2MC44NTQgMzQuNTM5MSAxNjEuMjQ3IDM0LjQyMTcgMTYxLjY3NCAzNC40MzY1QzE2Mi4xMDEgMzQuNDUxOCAxNjIuNTU5IDM0LjY2NDMgMTYzLjA0NyAzNS4wNzQ3QzE2My4wMTYgMzUuMjcyNSAxNjIuOTYzIDM1LjU5NTQgMTYyLjg4NyAzNi4wNDM0Wk0xNzEuMDE5IDM3Ljc4N0MxNzAuNzgyIDM3LjY2NTYgMTcwLjUzOCAzNy42MzkyIDE3MC4yODcgMzcuNzA3NUMxNzAuMDM1IDM3Ljc3NTcgMTY5Ljg1NiAzOC4wMDc2IDE2OS43NDkgMzguNDAyNkMxNjkuNjg4IDM4LjgyODMgMTY5LjU1MSAzOS4zMjk0IDE2OS4zMzggMzkuOTA2OUMxNjkuMTI0IDQwLjQ4NDMgMTY4Ljg2MSA0MS4wMzE3IDE2OC41NDggNDEuNTQ3OEMxNjguMjM2IDQyLjA2NDYgMTY3Ljg3NyA0Mi40OTQgMTY3LjQ3MyA0Mi44MzU4QzE2Ny4wNjkgNDMuMTc3OCAxNjYuNjM4IDQzLjMzMzcgMTY2LjE4MSA0My4zMDI4QzE2NS43OTkgNDMuMjcyNyAxNjUuNTMyIDQzLjA3OSAxNjUuMzggNDIuNzIxOEMxNjUuMjI3IDQyLjM2NDcgMTY1LjE0NyA0MS45MTY4IDE2NS4xNCA0MS4zNzY5QzE2NS4xMzIgNDAuODM4IDE2NS4xODYgNDAuMjMwMSAxNjUuMyAzOS41NTM4QzE2NS40MTQgMzguODc3NyAxNjUuNTUyIDM4LjIwNTQgMTY1LjcxMiAzNy41MzYzQzE2NS44NzIgMzYuODY4IDE2Ni4wMzYgMzYuMjI1OCAxNjYuMjA0IDM1LjYxMDVDMTY2LjM3MSAzNC45OTUxIDE2Ni41MDggMzQuNDc0NyAxNjYuNjE2IDM0LjA0OTNDMTY2LjczOCAzMy42NjkzIDE2Ni42OTkgMzMuMzQ2NiAxNjYuNTAxIDMzLjA4MDNDMTY2LjMwMyAzMi44MTQ5IDE2Ni4wNTUgMzIuNjI0NiAxNjUuNzU4IDMyLjUxMDdDMTY1LjQ2IDMyLjM5NjcgMTY1LjE1OSAzMi4zNjY0IDE2NC44NTQgMzIuNDE5NkMxNjQuNTQ5IDMyLjQ3MjggMTY0LjM1MSAzMi42MzYyIDE2NC4yNTkgMzIuOTA5NEMxNjMuMzU5IDMyLjEzNDUgMTYyLjQ5NCAzMS43MTY2IDE2MS42NjMgMzEuNjU1OUMxNjAuODMxIDMxLjU5NTIgMTYwLjA2NSAzMS43Nzc2IDE1OS4zNjQgMzIuMjAzQzE1OC42NjIgMzIuNjI4NCAxNTguMDQxIDMzLjI0MzcgMTU3LjUgMzQuMDQ5M0MxNTYuOTU4IDM0Ljg1NDkgMTU2LjUyIDM1LjczMjIgMTU2LjE4NCAzNi42ODE4QzE1NS44NDkgMzcuNjMxNCAxNTUuNjM5IDM4LjYwMDQgMTU1LjU1NSAzOS41ODc5QzE1NS40NzEgNDAuNTc1NyAxNTUuNTM2IDQxLjQ3NjEgMTU1Ljc1IDQyLjI4OUMxNTUuOTYzIDQzLjEwMTggMTU2LjM0IDQzLjc2NjkgMTU2Ljg4MiA0NC4yODNDMTU3LjQyMyA0NC43OTk4IDE1OC4xNTkgNDUuMDU4MyAxNTkuMDg5IDQ1LjA1ODNDMTU5LjUwMSA0NS4wNTgzIDE1OS44OTggNDQuOTc0NyAxNjAuMjc5IDQ0LjgwNzZDMTYwLjY2IDQ0LjY0MDEgMTYxLjAxMSA0NC40NDI2IDE2MS4zMzEgNDQuMjE0OEMxNjEuNjUxIDQzLjk4NjkgMTYxLjkzMyA0My43NDc1IDE2Mi4xNzggNDMuNDk2OEMxNjIuNDIxIDQzLjI0NjEgMTYyLjYxMiA0My4wMzczIDE2Mi43NDkgNDIuODY5OUMxNjIuODU2IDQzLjQxNyAxNjMuMDMyIDQzLjg4MDggMTYzLjI3NiA0NC4yNjA1QzE2My41MTkgNDQuNjQwMSAxNjMuNzk4IDQ0Ljk1MjEgMTY0LjExMSA0NS4xOTQ4QzE2NC40MjMgNDUuNDM3NiAxNjQuNzUxIDQ1LjYxNjQgMTY1LjA5NCA0NS43MzA2QzE2NS40MzcgNDUuODQ0NSAxNjUuNzY5IDQ1LjkwMTUgMTY2LjA4OSA0NS45MDE1QzE2Ni44MDYgNDUuOTAxNSAxNjcuNDc3IDQ1LjY1ODMgMTY4LjEwMiA0NS4xNzE5QzE2OC43MjcgNDQuNjg2MSAxNjkuMjg4IDQ0LjA4OTMgMTY5Ljc4NCA0My4zODI5QzE3MC4yNzkgNDIuNjc2MiAxNzAuNjg3IDQxLjkzMTkgMTcxLjAwNyA0MS4xNDkxQzE3MS4zMjggNDAuMzY2NiAxNzEuNTQxIDM5LjY3MTUgMTcxLjY0OCAzOS4wNjM0QzE3MS43NTUgMzguODM1NSAxNzEuNzM1IDM4LjU5NjQgMTcxLjU5MSAzOC4zNDU3QzE3MS40NDYgMzguMDk1IDE3MS4yNTUgMzcuOTA5IDE3MS4wMTkgMzcuNzg3WlwiIGZpbGw9XCIjMEQwQzIzXCIvPlxuPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIxMi4xOTQgNTAuMzcwMUMyMTIuMDY0IDUwLjg4NjYgMjExLjg2MiA1MS4zMjM4IDIxMS41ODcgNTEuNjgwNkMyMTEuMzEzIDUyLjAzNzcgMjEwLjk3IDUyLjIyMzkgMjEwLjU1OCA1Mi4yMzkzQzIxMC4yOTkgNTIuMjU0MyAyMTAuMTAxIDUyLjExNzUgMjA5Ljk2MyA1MS44Mjg5QzIwOS44MjYgNTEuNTQwMSAyMDkuNzMxIDUxLjE2NzkgMjA5LjY3OCA1MC43MTIyQzIwOS42MjQgNTAuMjU2MiAyMDkuNjAxIDQ5Ljc0NyAyMDkuNjA5IDQ5LjE4NDlDMjA5LjYxNiA0OC42MjI3IDIwOS42MzkgNDguMDY4MSAyMDkuNjc4IDQ3LjUyMUMyMDkuNzE1IDQ2Ljk3NDIgMjA5Ljc2MSA0Ni40NjQ3IDIwOS44MTUgNDUuOTkzOUMyMDkuODY4IDQ1LjUyMjYgMjA5LjkxIDQ1LjE1ODYgMjA5Ljk0IDQ0LjlDMjEwLjQ1OSA0NC45NjA4IDIxMC44OSA0NS4xODQ2IDIxMS4yMzMgNDUuNTcyM0MyMTEuNTc2IDQ1Ljk1OTggMjExLjgzOSA0Ni40MTkzIDIxMi4wMjIgNDYuOTUxNEMyMTIuMjA1IDQ3LjQ4MzEgMjEyLjMxMiA0OC4wNTY4IDIxMi4zNDMgNDguNjcyMkMyMTIuMzczIDQ5LjI4NzUgMjEyLjMyMyA0OS44NTM0IDIxMi4xOTQgNTAuMzcwMVpNMjAzLjkxMyA1MC4zNzAxQzIwMy43ODMgNTAuODg2NiAyMDMuNTgxIDUxLjMyMzggMjAzLjMwNyA1MS42ODA2QzIwMy4wMzIgNTIuMDM3NyAyMDIuNjg5IDUyLjIyMzkgMjAyLjI3NyA1Mi4yMzkzQzIwMi4wMTggNTIuMjU0MyAyMDEuODIgNTIuMTE3NSAyMDEuNjgzIDUxLjgyODlDMjAxLjU0NSA1MS41NDAxIDIwMS40NSA1MS4xNjc5IDIwMS4zOTcgNTAuNzEyMkMyMDEuMzQzIDUwLjI1NjIgMjAxLjMyIDQ5Ljc0NyAyMDEuMzI4IDQ5LjE4NDlDMjAxLjMzNiA0OC42MjI3IDIwMS4zNTggNDguMDY4MSAyMDEuMzk3IDQ3LjUyMUMyMDEuNDM0IDQ2Ljk3NDIgMjAxLjQ4IDQ2LjQ2NDcgMjAxLjUzNCA0NS45OTM5QzIwMS41ODcgNDUuNTIyNiAyMDEuNjI5IDQ1LjE1ODYgMjAxLjY2IDQ0LjlDMjAyLjE3OCA0NC45NjA4IDIwMi42MDkgNDUuMTg0NiAyMDIuOTUyIDQ1LjU3MjNDMjAzLjI5NSA0NS45NTk4IDIwMy41NTggNDYuNDE5MyAyMDMuNzQxIDQ2Ljk1MTRDMjAzLjkyNCA0Ny40ODMxIDIwNC4wMzEgNDguMDU2OCAyMDQuMDYyIDQ4LjY3MjJDMjA0LjA5MiA0OS4yODc1IDIwNC4wNDIgNDkuODUzNCAyMDMuOTEzIDUwLjM3MDFaTTE5NS40MTUgMzcuNDI0MUMxOTUuMzk5IDM3Ljc4ODQgMTk1LjM2NSAzOC4xMTE0IDE5NS4zMTIgMzguMzkyNUMxOTUuMjU4IDM4LjY3NDEgMTk1LjE4NiAzOC44NTIyIDE5NS4wOTUgMzguOTI4M0MxOTQuOTI3IDM4LjgzNjkgMTk0LjcyMSAzOC42MDE4IDE5NC40NzcgMzguMjIxNkMxOTQuMjMzIDM3Ljg0MTkgMTk0LjA0MiAzNy40MTIyIDE5My45MDUgMzYuOTMzNkMxOTMuNzY4IDM2LjQ1NTEgMTkzLjcyNSAzNS45ODQzIDE5My43NzkgMzUuNTIwNUMxOTMuODMyIDM1LjA1NzMgMTk0LjA3MyAzNC42OTY3IDE5NC41IDM0LjQzNzlDMTk0LjY2NyAzNC4zNDY4IDE5NC44MTIgMzQuMzgwOSAxOTQuOTM0IDM0LjU0MDVDMTk1LjA1NiAzNC43MDAxIDE5NS4xNTUgMzQuOTMxOCAxOTUuMjMyIDM1LjIzNTdDMTk1LjMwOCAzNS41Mzk5IDE5NS4zNjEgMzUuODg5MiAxOTUuMzkyIDM2LjI4NDJDMTk1LjQyMiAzNi42Nzk1IDE5NS40MyAzNy4wNTkxIDE5NS40MTUgMzcuNDI0MVpNMTkzLjM5IDQxLjk3MTFDMTkzLjE1NCA0Mi4yMjE1IDE5Mi44OSA0Mi40MzgxIDE5Mi42MDEgNDIuNjIwNkMxOTIuMzExIDQyLjgwMyAxOTIuMDE0IDQyLjkzOTggMTkxLjcwOSA0My4wMzA5QzE5MS40MDQgNDMuMTIyMyAxOTEuMTI5IDQzLjE0NDggMTkwLjg4NSA0My4wOTkxQzE5MC4xOTkgNDIuOTYyNyAxODkuNjczIDQyLjY2NiAxODkuMzA3IDQyLjIxMDNDMTg4Ljk0MSA0MS43NTQ1IDE4OC43MDggNDEuMjE5IDE4OC42MDkgNDAuNjAzN0MxODguNTEgMzkuOTg4MSAxODguNTIxIDM5LjMzMDggMTg4LjY0NCAzOC42MzE5QzE4OC43NjUgMzcuOTMzIDE4OC45NzEgMzcuMjgzNSAxODkuMjYxIDM2LjY4MzJDMTg5LjU1MSAzNi4wODI5IDE4OS45MDIgMzUuNTY2MiAxOTAuMzEzIDM1LjEzMzNDMTkwLjcyNSAzNC43MDAxIDE5MS4xNzUgMzQuNDMwNiAxOTEuNjYzIDM0LjMyMzlDMTkxLjQ4IDM1LjA5ODkgMTkxLjQxOSAzNS45MDA3IDE5MS40OCAzNi43Mjg2QzE5MS41NDEgMzcuNTU2OCAxOTEuNzM5IDM4LjMzNTUgMTkyLjA3NSAzOS4wNjQ4QzE5Mi4yODggMzkuNTA2IDE5Mi41NDQgMzkuOTA4MiAxOTIuODQxIDQwLjI3MjlDMTkzLjEzOSA0MC42Mzc4IDE5My41MDEgNDAuOTQ5MiAxOTMuOTI4IDQxLjIwNzVDMTkzLjgwNiA0MS40NjYgMTkzLjYyNiA0MS43MjA0IDE5My4zOSA0MS45NzExWk0yMTguNzAyIDM3LjY1MTlDMjE4Ljc0NyAzNy4zMDI2IDIxOC44MTYgMzYuOTMzNiAyMTguOTA4IDM2LjU0NjJDMjE4Ljk5OSAzNi4xNTkgMjE5LjExNCAzNS43ODI4IDIxOS4yNTEgMzUuNDE4MUMyMTkuMzg4IDM1LjA1MzIgMjE5LjU0OCAzNC43MzggMjE5LjczMSAzNC40NzIzQzIxOS45MTQgMzQuMjA2NSAyMjAuMTA4IDM0LjAxNjMgMjIwLjMxNCAzMy45MDI0QzIyMC41MiAzMy43ODg0IDIyMC43MyAzMy43OTk3IDIyMC45NDMgMzMuOTM2NUMyMjEuMTcyIDM0LjA3MzUgMjIxLjMxMyAzNC4zNjIxIDIyMS4zNjcgMzQuODAyNUMyMjEuNDIgMzUuMjQzNSAyMjEuMzY3IDM1LjcxNDIgMjIxLjIwNyAzNi4yMTU5QzIyMS4wNDYgMzYuNzE3MyAyMjAuNzYxIDM3LjE4ODQgMjIwLjM0OSAzNy42Mjg4QzIxOS45MzcgMzguMDcgMjE5LjM4IDM4LjM1ODMgMjE4LjY3OSAzOC40OTUxQzIxOC42NDggMzguMjgyNiAyMTguNjU2IDM4LjAwMTUgMjE4LjcwMiAzNy42NTE5Wk0yMjcuOTIxIDM3LjY1MTlDMjI3Ljk2NiAzNy4zMDI2IDIyOC4wMzUgMzYuOTMzNiAyMjguMTI2IDM2LjU0NjJDMjI4LjIxOCAzNi4xNTkgMjI4LjMzMiAzNS43ODI4IDIyOC40NyAzNS40MTgxQzIyOC42MDcgMzUuMDUzMiAyMjguNzY3IDM0LjczOCAyMjguOTUgMzQuNDcyM0MyMjkuMTMzIDM0LjIwNjUgMjI5LjMyOCAzNC4wMTYzIDIyOS41MzMgMzMuOTAyNEMyMjkuNzM5IDMzLjc4ODQgMjI5Ljk0OSAzMy43OTk3IDIzMC4xNjIgMzMuOTM2NUMyMzAuMzkxIDM0LjA3MzUgMjMwLjUzMiAzNC4zNjIxIDIzMC41ODYgMzQuODAyNUMyMzAuNjM5IDM1LjI0MzUgMjMwLjU4NiAzNS43MTQyIDIzMC40MjUgMzYuMjE1OUMyMzAuMjY1IDM2LjcxNzMgMjI5Ljk3OSAzNy4xODg0IDIyOS41NjggMzcuNjI4OEMyMjkuMTU2IDM4LjA3IDIyOC41OTkgMzguMzU4MyAyMjcuODk4IDM4LjQ5NTFDMjI3Ljg2NyAzOC4yODI2IDIyNy44NzUgMzguMDAxNSAyMjcuOTIxIDM3LjY1MTlaTTIzNi40ODggMzguOTg1MkMyMzYuMzEyIDM4Ljc5NTUgMjM2LjA5OSAzOC42NjI1IDIzNS44NDcgMzguNTg2MkMyMzUuNTk1IDM4LjUxMDQgMjM1LjM1NSAzOC41MDI5IDIzNS4xMjYgMzguNTYzNkMyMzQuODk3IDM4LjYyNDQgMjM0Ljc1MiAzOC43ODQgMjM0LjY5MiAzOS4wNDIyQzIzNC41NyAzOS41Mjg2IDIzNC4zNzUgNDAuMDI2MiAyMzQuMTA4IDQwLjUzNDlDMjMzLjg0MSA0MS4wNDQ0IDIzMy41MTQgNDEuNTI2NyAyMzMuMTI1IDQxLjk4MjRDMjMyLjczNiA0Mi40MzgxIDIzMi4yOTcgNDIuODQxMiAyMzEuODEgNDMuMTkwNUMyMzEuMzIxIDQzLjU0MDEgMjMwLjgxIDQzLjc5MDggMjMwLjI3NyA0My45NDIzQzIyOS43NDMgNDQuMTEwMSAyMjkuMzAxIDQ0LjEyODkgMjI4Ljk1IDQzLjk5OTZDMjI4LjU5OSA0My44NzA2IDIyOC4zMjEgNDMuNjUwMyAyMjguMTE1IDQzLjMzODlDMjI3LjkwOSA0My4wMjcxIDIyNy43NjEgNDIuNjUxMiAyMjcuNjY5IDQyLjIxMDNDMjI3LjU3OCA0MS43Njk5IDIyNy41MjQgNDEuMzE0MiAyMjcuNTA5IDQwLjg0MjhDMjI4LjM3OCA0MC45MDM4IDIyOS4xNTIgNDAuNzQ4MyAyMjkuODMxIDQwLjM3NTVDMjMwLjUwOSA0MC4wMDM0IDIzMS4wODUgMzkuNTA5MiAyMzEuNTU4IDM4Ljg5MzlDMjMyLjAzMSAzOC4yNzg4IDIzMi4zODkgMzcuNTg3NCAyMzIuNjMzIDM2LjgyQzIzMi44NzcgMzYuMDUyNiAyMzMuMDE0IDM1LjI4OTIgMjMzLjA0NSAzNC41MjkzQzIzMy4wNiAzMy44MTUgMjMyLjk1MyAzMy4yMTEgMjMyLjcyNCAzMi43MTcxQzIzMi40OTYgMzIuMjIzNSAyMzIuMTg3IDMxLjgzOTUgMjMxLjc5OCAzMS41NjYyQzIzMS40MDkgMzEuMjkyNCAyMzAuOTYzIDMxLjEzMyAyMzAuNDYgMzEuMDg3NEMyMjkuOTU3IDMxLjA0MTcgMjI5LjQ0NSAzMS4xMTA1IDIyOC45MjcgMzEuMjkyNEMyMjguMzAyIDMxLjUwNTUgMjI3Ljc3MiAzMS44NTEgMjI3LjMzOCAzMi4zMjk2QzIyNi45MDMgMzIuODA4NSAyMjYuNTQgMzMuMzYzNCAyMjYuMjUxIDMzLjk5MzRDMjI1Ljk2MSAzNC42MjQ0IDIyNS43MzIgMzUuMzAzOSAyMjUuNTY0IDM2LjAzMzVDMjI1LjM5NiAzNi43NjI3IDIyNS4yNzQgMzcuNDgxIDIyNS4xOTkgMzguMTg3NEMyMjUuMTI0IDM4Ljg3MyAyMjUuMDg0IDM5LjUyOTIgMjI1LjA3NSA0MC4xNTcyQzIyNS4wMTcgNDAuMjgyNCAyMjQuOTU2IDQwLjQwODIgMjI0Ljg4OSA0MC41MzQ5QzIyNC42MjIgNDEuMDQ0NCAyMjQuMjk1IDQxLjUyNjcgMjIzLjkwNiA0MS45ODI0QzIyMy41MTcgNDIuNDM4MSAyMjMuMDc4IDQyLjg0MTIgMjIyLjU5MSA0My4xOTA1QzIyMi4xMDIgNDMuNTQwMSAyMjEuNTkyIDQzLjc5MDggMjIxLjA1OCA0My45NDIzQzIyMC41MjQgNDQuMTEwMSAyMjAuMDgyIDQ0LjEyODkgMjE5LjczMSA0My45OTk2QzIxOS4zOCA0My44NzA2IDIxOS4xMDIgNDMuNjUwMyAyMTguODk2IDQzLjMzODlDMjE4LjY5MSA0My4wMjcxIDIxOC41NDIgNDIuNjUxMiAyMTguNDUgNDIuMjEwM0MyMTguMzU5IDQxLjc2OTkgMjE4LjMwNSA0MS4zMTQyIDIxOC4yOSA0MC44NDI4QzIxOS4xNTkgNDAuOTAzOCAyMTkuOTMzIDQwLjc0ODMgMjIwLjYxMiA0MC4zNzU1QzIyMS4yOSA0MC4wMDM0IDIyMS44NjYgMzkuNTA5MiAyMjIuMzM5IDM4Ljg5MzlDMjIyLjgxMSAzOC4yNzg4IDIyMy4xNyAzNy41ODc0IDIyMy40MTQgMzYuODJDMjIzLjY1OCAzNi4wNTI2IDIyMy43OTUgMzUuMjg5MiAyMjMuODI2IDM0LjUyOTNDMjIzLjg0MSAzMy44MTUgMjIzLjczNCAzMy4yMTEgMjIzLjUwNiAzMi43MTcxQzIyMy4yNzcgMzIuMjIzNSAyMjIuOTY4IDMxLjgzOTUgMjIyLjU3OSAzMS41NjYyQzIyMi4xOSAzMS4yOTI0IDIyMS43NDQgMzEuMTMzIDIyMS4yNDEgMzEuMDg3NEMyMjAuNzM4IDMxLjA0MTcgMjIwLjIyNyAzMS4xMTA1IDIxOS43MDggMzEuMjkyNEMyMTkuMDgzIDMxLjUwNTUgMjE4LjU1MyAzMS44NTEgMjE4LjExOSAzMi4zMjk2QzIxNy42ODQgMzIuODA4NSAyMTcuMzIxIDMzLjM2MzQgMjE3LjAzMiAzMy45OTM0QzIxNi43NDIgMzQuNjI0NCAyMTYuNTEzIDM1LjMwMzkgMjE2LjM0NiAzNi4wMzM1QzIxNi4xNzggMzYuNzYyNyAyMTYuMDU2IDM3LjQ4MSAyMTUuOTggMzguMTg3NEMyMTUuOTM2IDM4LjU4NTkgMjE1LjkwNyAzOC45NzIyIDIxNS44ODYgMzkuMzUxNkMyMTUuNzM5IDM5LjQ3NjUgMjE1LjU5NSAzOS42MDIzIDIxNS40NDIgMzkuNzI1OEMyMTQuOTE2IDQwLjE1MTQgMjE0LjM2MyA0MC41MzQ5IDIxMy43ODQgNDAuODc2OUMyMTMuMjA0IDQxLjIxOSAyMTIuNjAxIDQxLjUwMDEgMjExLjk3NyA0MS43MjA0QzIxMS4zNTEgNDEuOTQwOCAyMTAuNzEgNDIuMDczOCAyMTAuMDU1IDQyLjExOTJMMjExLjQ3MyAyNi45ODQ3QzIxMS41NjUgMjYuNjY1NSAyMTEuNTE5IDI2LjM4NDcgMjExLjMzNiAyNi4xNDE1QzIxMS4xNTMgMjUuODk4MyAyMTAuOTE2IDI1LjczMTIgMjEwLjYyNyAyNS42NDAxQzIxMC4zMzcgMjUuNTQ4OCAyMTAuMDI4IDI1LjU1NjYgMjA5LjcgMjUuNjYyN0MyMDkuMzcyIDI1Ljc2OTQgMjA5LjEwMiAyNi4wMTI2IDIwOC44ODggMjYuMzkxOUMyMDguNzgxIDI2Ljk2OTcgMjA4LjY3MSAyNy43NTk3IDIwOC41NTcgMjguNzYyNUMyMDguNDQyIDI5Ljc2NTMgMjA4LjMyOCAzMC44NTk1IDIwOC4yMTMgMzIuMDQ0OEMyMDguMDk5IDMzLjIzIDIwNy45ODUgMzQuNDUzMiAyMDcuODcgMzUuNzE0MkMyMDcuNzU2IDM2Ljk3NTkgMjA3LjY1NyAzOC4xNTMzIDIwNy41NzMgMzkuMjQ3MkMyMDcuNTY5IDM5LjI5NTggMjA3LjU2NiAzOS4zMzk4IDIwNy41NjIgMzkuMzg3OEMyMDcuNDI5IDM5LjUwMDUgMjA3LjI5OSAzOS42MTQyIDIwNy4xNjEgMzkuNzI1OEMyMDYuNjM1IDQwLjE1MTQgMjA2LjA4MiA0MC41MzQ5IDIwNS41MDMgNDAuODc2OUMyMDQuOTIzIDQxLjIxOSAyMDQuMzIxIDQxLjUwMDEgMjAzLjY5NiA0MS43MjA0QzIwMy4wNyA0MS45NDA4IDIwMi40MjkgNDIuMDczOCAyMDEuNzc0IDQyLjExOTJMMjAzLjE5MiAyNi45ODQ3QzIwMy4yODQgMjYuNjY1NSAyMDMuMjM4IDI2LjM4NDcgMjAzLjA1NSAyNi4xNDE1QzIwMi44NzIgMjUuODk4MyAyMDIuNjM1IDI1LjczMTIgMjAyLjM0NiAyNS42NDAxQzIwMi4wNTYgMjUuNTQ4OCAyMDEuNzQ3IDI1LjU1NjYgMjAxLjQxOSAyNS42NjI3QzIwMS4wOTEgMjUuNzY5NCAyMDAuODIxIDI2LjAxMjYgMjAwLjYwNyAyNi4zOTE5QzIwMC41MDEgMjYuOTY5NyAyMDAuMzkgMjcuNzU5NyAyMDAuMjc2IDI4Ljc2MjVDMjAwLjE2MSAyOS43NjUzIDIwMC4wNDcgMzAuODU5NSAxOTkuOTMzIDMyLjA0NDhDMTk5LjgxOCAzMy4yMyAxOTkuNzA0IDM0LjQ1MzIgMTk5LjU4OSAzNS43MTQyQzE5OS40NzUgMzYuOTc1OSAxOTkuMzc2IDM4LjE1MzMgMTk5LjI5MiAzOS4yNDcyQzE5OS4yOSAzOS4yNjkyIDE5OS4yODkgMzkuMjg5MSAxOTkuMjg3IDM5LjMxMTFDMTk5LjA0OCAzOS40MjE5IDE5OC43ODYgMzkuNTE5IDE5OC41MDMgMzkuNjAwNkMxOTguMjEzIDM5LjY4NDQgMTk3Ljg4NSAzOS43MzM5IDE5Ny41MTkgMzkuNzQ4OUMxOTcuNTggMzkuNDc1MSAxOTcuNjMgMzkuMTcxMiAxOTcuNjY4IDM4LjgzNjlDMTk3LjcwNiAzOC41MDI5IDE5Ny43MzcgMzguMTUzMyAxOTcuNzYgMzcuNzg4NEMxOTcuNzgyIDM3LjQyNDEgMTk3Ljc5IDM3LjA1OTEgMTk3Ljc4MiAzNi42OTQ1QzE5Ny43NzQgMzYuMzI5NiAxOTcuNzU1IDM1Ljk5NTYgMTk3LjcyNSAzNS42OTE0QzE5Ny42NDkgMzUuMDM4NSAxOTcuNTA4IDM0LjQxOTEgMTk3LjMwMiAzMy44MzM4QzE5Ny4wOTYgMzMuMjQ5MSAxOTYuODE4IDMyLjc1OTMgMTk2LjQ2NyAzMi4zNjM3QzE5Ni4xMTYgMzEuOTY4NyAxOTUuNjc4IDMxLjcwMjcgMTk1LjE1MSAzMS41NjYyQzE5NC42MjYgMzEuNDI5NCAxOTQuMDEyIDMxLjQ3NDggMTkzLjMxIDMxLjcwMjdDMTkyLjI3MyAzMS41NjYyIDE5MS4zMzkgMzEuNjYxMyAxOTAuNTA4IDMxLjk4NzhDMTg5LjY3NyAzMi4zMTQ5IDE4OC45NTYgMzIuNzg5NCAxODguMzQ2IDMzLjQxMjJDMTg3LjczNiAzNC4wMzU3IDE4Ny4yMzcgMzQuNzY4NCAxODYuODQ4IDM1LjYxMTlDMTg2LjQ1OSAzNi40NTUxIDE4Ni4yIDM3LjMyMTQgMTg2LjA3IDM4LjIxQzE4Ni4wMTUgMzguNTg2OCAxODUuOTg4IDM4Ljk2MTggMTg1Ljk4IDM5LjMzNkMxODUuNzQ0IDM5LjgxNzcgMTg1LjQ4NiA0MC4yMzg4IDE4NS4yMDEgNDAuNTkyMUMxODQuNzk3IDQxLjA5MzUgMTg0LjM3NyA0MS41MDM4IDE4My45NDMgNDEuODIyOEMxODMuNTA4IDQyLjE0MiAxODMuMDc3IDQyLjM4NTIgMTgyLjY1IDQyLjU1MjNDMTgyLjIyMyA0Mi43MTk4IDE4MS44NDIgNDIuODMzNyAxODEuNTA3IDQyLjg5NDFDMTgxLjExIDQyLjk3MDIgMTgwLjcyOSA0Mi45NzggMTgwLjM2MyA0Mi45MTdDMTc5Ljk5NyA0Mi44NTY1IDE3OS42NjEgNDIuNjgxNiAxNzkuMzU3IDQyLjM5MjdDMTc5LjExMiA0Mi4xODAyIDE3OC45MjUgNDEuODM4MSAxNzguNzk2IDQxLjM2NzFDMTc4LjY2NiA0MC44OTYgMTc4LjU5IDQwLjM2MDggMTc4LjU2NyAzOS43NjAyQzE3OC41NDQgMzkuMTU5OSAxNzguNTY3IDM4LjUzMyAxNzguNjM2IDM3Ljg3OThDMTc4LjcwNSAzNy4yMjY2IDE3OC44MjIgMzYuNjA3MiAxNzguOTkgMzYuMDIyMkMxNzkuMTU4IDM1LjQzNzIgMTc5LjM3MSAzNC45MTMgMTc5LjYzMSAzNC40NDkyQzE3OS44OSAzMy45ODYyIDE4MC4xOTUgMzMuNjU1NCAxODAuNTQ2IDMzLjQ1NzlDMTgwLjc0NCAzMy40ODg2IDE4MC44NjYgMzMuNjA2IDE4MC45MTIgMzMuODExQzE4MC45NTggMzQuMDE2MyAxODAuOTY5IDM0LjI1OTUgMTgwLjk0NiAzNC41NDA1QzE4MC45MjMgMzQuODIxOSAxODAuODg5IDM1LjExMDUgMTgwLjg0MyAzNS40MDY2QzE4MC43OTcgMzUuNzAzIDE4MC43NzUgMzUuOTUwMiAxODAuNzc1IDM2LjE0NzRDMTgwLjg1MSAzNi41NTc3IDE4MC45OTkgMzYuODc3IDE4MS4yMjEgMzcuMTA0OEMxODEuNDQxIDM3LjMzMjcgMTgxLjY5IDM3LjQ2NiAxODEuOTY0IDM3LjUwMzZDMTgyLjIzOSAzNy41NDE3IDE4Mi41MDkgMzcuNDc3MyAxODIuNzc2IDM3LjMwOThDMTgzLjA0MyAzNy4xNDMgMTgzLjI2IDM2Ljg3NyAxODMuNDI4IDM2LjUxMkMxODMuNDQzIDM2LjUyNzQgMTgzLjQ2NiAzNi41MzQ5IDE4My40OTcgMzYuNTM0OUwxODMuODE3IDMzLjY0MDRDMTgzLjkwOSAzMy4yNDUxIDE4My44NDcgMzIuODk1OCAxODMuNjM0IDMyLjU5MTlDMTgzLjQyIDMyLjI4OCAxODMuMTM4IDMyLjExMyAxODIuNzg4IDMyLjA2NzZDMTgyLjM0NSAzMS40Mjk0IDE4MS43NDcgMzEuMDkxNCAxODAuOTkyIDMxLjA1MzJDMTgwLjIzNyAzMS4wMTU0IDE3OS40NjMgMzEuMjYyMyAxNzguNjcgMzEuNzk0MUMxNzguMTgyIDMyLjE0NCAxNzcuNzUxIDMyLjYyNiAxNzcuMzc4IDMzLjI0MTNDMTc3LjAwNCAzMy44NTcgMTc2LjY5OSAzNC41NDA1IDE3Ni40NjMgMzUuMjkyNkMxNzYuMjI2IDM2LjA0NDggMTc2LjA1OCAzNi44MzkxIDE3NS45NTkgMzcuNjc0OEMxNzUuODYgMzguNTEwNCAxNzUuODQxIDM5LjMyMzYgMTc1LjkwMiA0MC4xMTMzQzE3NS45NjMgNDAuOTAzOCAxNzYuMTA0IDQxLjY0ODQgMTc2LjMyNSA0Mi4zNDdDMTc2LjU0NiA0My4wNDYyIDE3Ni44NTUgNDMuNjMxMiAxNzcuMjUyIDQ0LjEwMkMxNzcuNTg3IDQ0LjUxMjMgMTc3Ljk2OCA0NC44MTI3IDE3OC4zOTUgNDUuMDAyN0MxNzguODIyIDQ1LjE5MjcgMTc5LjI2OCA0NS4zMTAxIDE3OS43MzQgNDUuMzU1OEMxODAuMTk5IDQ1LjQwMTIgMTgwLjY2IDQ1LjM4MjEgMTgxLjExOCA0NS4yOTg4QzE4MS41NzUgNDUuMjE1NSAxODIuMDEgNDUuMDk3OCAxODIuNDIxIDQ0Ljk0NTRDMTgyLjk1NSA0NC43NDgyIDE4My41MDUgNDQuNDk3MiAxODQuMDY5IDQ0LjE5MzNDMTg0LjYzMyA0My44ODk3IDE4NS4xNzQgNDMuNTI0OCAxODUuNjkzIDQzLjA5OTFDMTg1Ljk2NiA0Mi44NzUzIDE4Ni4yMjggNDIuNjMxMyAxODYuNDgyIDQyLjM2OTZDMTg2LjU5OCA0Mi42NTUzIDE4Ni43MjcgNDIuOTMxNyAxODYuODgyIDQzLjE5MDVDMTg3LjI5NCA0My44NzQxIDE4Ny44NSA0NC40MjkgMTg4LjU1MiA0NC44NTQ0QzE4OS4yNTMgNDUuMjc5NyAxOTAuMTE1IDQ1LjQ4NDQgMTkxLjEzNyA0NS40Njk3QzE5Mi4yMzUgNDUuNDU0NCAxOTMuMjQ5IDQ1LjE3NzQgMTk0LjE4IDQ0LjYzNzhDMTk1LjExIDQ0LjA5ODggMTk1Ljg3MiA0My4zMDQyIDE5Ni40NjcgNDIuMjU2QzE5Ny4zNTggNDIuMjU2IDE5OC4yMzQgNDIuMTA5NiAxOTkuMDk2IDQxLjgxOUMxOTkuMDg5IDQxLjkxMSAxOTkuMDgxIDQyLjAwNzkgMTk5LjA3NSA0Mi4wOTY2QzE5OS4wMTQgNDIuOTAxOSAxOTguOTgzIDQzLjQ0ODcgMTk4Ljk4MyA0My43Mzc2QzE5OC45NjggNDQuMjM5IDE5OC45MzQgNDQuODU4MSAxOTguODggNDUuNTk0OUMxOTguODI3IDQ2LjMzMiAxOTguNzkzIDQ3LjEwNjkgMTk4Ljc3OCA0Ny45MTk4QzE5OC43NjMgNDguNzMyNiAxOTguNzkzIDQ5LjU1MzIgMTk4Ljg2OSA1MC4zODE3QzE5OC45NDUgNTEuMjA5NiAxOTkuMTA1IDUxLjk2MiAxOTkuMzQ5IDUyLjYzODNDMTk5LjU5MyA1My4zMTQxIDE5OS45NCA1My44ODc4IDIwMC4zOSA1NC4zNTkxQzIwMC44NCA1NC44Mjk5IDIwMS40MzEgNTUuMTExMiAyMDIuMTYzIDU1LjIwMjNDMjAyLjk0MSA1NS4zMDg0IDIwMy42MTIgNTUuMTcxNyAyMDQuMTc2IDU0Ljc5MkMyMDQuNzQgNTQuNDEyIDIwNS4xOTggNTMuODkxOCAyMDUuNTQ5IDUzLjIzMDhDMjA1Ljg5OSA1Mi41Njk1IDIwNi4xNDcgNTEuODA2MSAyMDYuMjkyIDUwLjk0MDFDMjA2LjQzNyA1MC4wNzQgMjA2LjQ3OSA0OS4yMDM5IDIwNi40MTggNDguMzMwMUMyMDYuMzU3IDQ3LjQ1NjIgMjA2LjE5NiA0Ni42MzIxIDIwNS45MzcgNDUuODU3NUMyMDUuNjc4IDQ1LjA4MjIgMjA1LjMxOSA0NC40NDQgMjA0Ljg2MiA0My45NDIzQzIwNS4xMzcgNDMuODY2OSAyMDUuNDY1IDQzLjcyMjYgMjA1Ljg0NiA0My41MDk1QzIwNi4yMjcgNDMuMjk2OSAyMDYuNjIgNDMuMDU3NSAyMDcuMDI0IDQyLjc5MTVDMjA3LjEyMyA0Mi43MjYxIDIwNy4yMjEgNDIuNjU3MyAyMDcuMzIgNDIuNTkwMkMyMDcuMjgzIDQzLjEyODYgMjA3LjI2NCA0My41MTI2IDIwNy4yNjQgNDMuNzM3NkMyMDcuMjQ5IDQ0LjIzOSAyMDcuMjE1IDQ0Ljg1ODEgMjA3LjE2MSA0NS41OTQ5QzIwNy4xMDggNDYuMzMyIDIwNy4wNzMgNDcuMTA2OSAyMDcuMDU4IDQ3LjkxOThDMjA3LjA0MyA0OC43MzI2IDIwNy4wNzMgNDkuNTUzMiAyMDcuMTUgNTAuMzgxN0MyMDcuMjI2IDUxLjIwOTYgMjA3LjM4NiA1MS45NjIgMjA3LjYzIDUyLjYzODNDMjA3Ljg3NCA1My4zMTQxIDIwOC4yMjEgNTMuODg3OCAyMDguNjcxIDU0LjM1OTFDMjA5LjEyMSA1NC44Mjk5IDIwOS43MTIgNTUuMTExMiAyMTAuNDQ0IDU1LjIwMjNDMjExLjIyMSA1NS4zMDg0IDIxMS44OTIgNTUuMTcxNyAyMTIuNDU3IDU0Ljc5MkMyMTMuMDIxIDU0LjQxMiAyMTMuNDc4IDUzLjg5MTggMjEzLjgzIDUzLjIzMDhDMjE0LjE4IDUyLjU2OTUgMjE0LjQyOCA1MS44MDYxIDIxNC41NzMgNTAuOTQwMUMyMTQuNzE4IDUwLjA3NCAyMTQuNzU5IDQ5LjIwMzkgMjE0LjY5OSA0OC4zMzAxQzIxNC42MzcgNDcuNDU2MiAyMTQuNDc3IDQ2LjYzMjEgMjE0LjIxOCA0NS44NTc1QzIxMy45NTkgNDUuMDgyMiAyMTMuNjAxIDQ0LjQ0NCAyMTMuMTQzIDQzLjk0MjNDMjEzLjQxOCA0My44NjY5IDIxMy43NDUgNDMuNzIyNiAyMTQuMTI3IDQzLjUwOTVDMjE0LjUwOCA0My4yOTY5IDIxNC45IDQzLjA1NzUgMjE1LjMwNSA0Mi43OTE1QzIxNS41MTUgNDIuNjUzMyAyMTUuNzI0IDQyLjUxMDcgMjE1LjkzMiA0Mi4zNjQxQzIxNi4wMSA0My4xMDcyIDIxNi4xNzkgNDMuNzU5IDIxNi40NDggNDQuMzA3M0MyMTYuNzc2IDQ0Ljk3NjEgMjE3LjIyMiA0NS40OTI1IDIxNy43ODcgNDUuODU3NUMyMTguMzUxIDQ2LjIyMTggMjE5LjAxNCA0Ni40MjM0IDIxOS43NzcgNDYuNDYxMkMyMjAuNTM5IDQ2LjQ5ODggMjIxLjM3IDQ2LjM1ODYgMjIyLjI3MSA0Ni4wMzkzQzIyMi45NDEgNDUuNzk2NSAyMjMuNTI1IDQ1LjQ5MjUgMjI0LjAyIDQ1LjEyNzlDMjI0LjUxNiA0NC43NjMgMjI0Ljk2MiA0NC4zMTg1IDIyNS4zNTggNDMuNzk0NkMyMjUuMzgxIDQzLjc2NDIgMjI1LjQwMyA0My43MzEzIDIyNS40MjUgNDMuNzAwNkMyMjUuNDk2IDQzLjkxMzQgMjI1LjU3NCA0NC4xMTc5IDIyNS42NjcgNDQuMzA3M0MyMjUuOTk1IDQ0Ljk3NjEgMjI2LjQ0MSA0NS40OTI1IDIyNy4wMDYgNDUuODU3NUMyMjcuNTY5IDQ2LjIyMTggMjI4LjIzMyA0Ni40MjM0IDIyOC45OTYgNDYuNDYxMkMyMjkuNzU4IDQ2LjQ5ODggMjMwLjU4OSA0Ni4zNTg2IDIzMS40ODkgNDYuMDM5M0MyMzIuMTYgNDUuNzk2NSAyMzIuNzQ0IDQ1LjQ5MjUgMjMzLjIzOSA0NS4xMjc5QzIzMy43MzUgNDQuNzYzIDIzNC4xODEgNDQuMzE4NSAyMzQuNTc3IDQzLjc5NDZDMjM0Ljk3NCA0My4yNyAyMzUuMzM2IDQyLjY2NiAyMzUuNjY0IDQxLjk4MjRDMjM1Ljk5MiA0MS4yOTg1IDIzNi4zMjMgNDAuNTE2NCAyMzYuNjU5IDM5LjYzNDdDMjM2LjcyIDM5LjM5MTggMjM2LjY2MyAzOS4xNzUyIDIzNi40ODggMzguOTg1MlpcIiBmaWxsPVwiIzBEMEMyM1wiLz5cbjwvc3ZnPmA7XG5cbmNvbnN0IHBheXBhbCA9IGBcbjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTUwXCIgaGVpZ2h0PVwiNDBcIj5cbjxwYXRoIGZpbGw9XCIjMjUzQjgwXCIgZD1cIk00Ni4yMTEgNi43NDloLTYuODM5YS45NS45NSAwIDAgMC0uOTM5LjgwMmwtMi43NjYgMTcuNTM3YS41Ny41NyAwIDAgMCAuNTY0LjY1OGgzLjI2NWEuOTUuOTUgMCAwIDAgLjkzOS0uODAzbC43NDYtNC43M2EuOTUuOTUgMCAwIDEgLjkzOC0uODAzaDIuMTY1YzQuNTA1IDAgNy4xMDUtMi4xOCA3Ljc4NC02LjUuMzA2LTEuODkuMDEzLTMuMzc1LS44NzItNC40MTUtLjk3Mi0xLjE0Mi0yLjY5Ni0xLjc0Ni00Ljk4NS0xLjc0NnpNNDcgMTMuMTU0Yy0uMzc0IDIuNDU0LTIuMjQ5IDIuNDU0LTQuMDYyIDIuNDU0aC0xLjAzMmwuNzI0LTQuNTgzYS41Ny41NyAwIDAgMSAuNTYzLS40ODFoLjQ3M2MxLjIzNSAwIDIuNCAwIDMuMDAyLjcwNC4zNTkuNDIuNDY5IDEuMDQ0LjMzMiAxLjkwNnpNNjYuNjU0IDEzLjA3NWgtMy4yNzVhLjU3LjU3IDAgMCAwLS41NjMuNDgxbC0uMTQ1LjkxNi0uMjI5LS4zMzJjLS43MDktMS4wMjktMi4yOS0xLjM3My0zLjg2OC0xLjM3My0zLjYxOSAwLTYuNzEgMi43NDEtNy4zMTIgNi41ODYtLjMxMyAxLjkxOC4xMzIgMy43NTIgMS4yMiA1LjAzMS45OTggMS4xNzYgMi40MjYgMS42NjYgNC4xMjUgMS42NjYgMi45MTYgMCA0LjUzMy0xLjg3NSA0LjUzMy0xLjg3NWwtLjE0Ni45MWEuNTcuNTcgMCAwIDAgLjU2Mi42NmgyLjk1YS45NS45NSAwIDAgMCAuOTM5LS44MDNsMS43Ny0xMS4yMDlhLjU2OC41NjggMCAwIDAtLjU2MS0uNjU4em0tNC41NjUgNi4zNzRjLS4zMTYgMS44NzEtMS44MDEgMy4xMjctMy42OTUgMy4xMjctLjk1MSAwLTEuNzExLS4zMDUtMi4xOTktLjg4My0uNDg0LS41NzQtLjY2OC0xLjM5MS0uNTE0LTIuMzAxLjI5NS0xLjg1NSAxLjgwNS0zLjE1MiAzLjY3LTMuMTUyLjkzIDAgMS42ODYuMzA5IDIuMTg0Ljg5Mi40OTkuNTg5LjY5NyAxLjQxMS41NTQgMi4zMTd6TTg0LjA5NiAxMy4wNzVoLTMuMjkxYS45NTQuOTU0IDAgMCAwLS43ODcuNDE3bC00LjUzOSA2LjY4Ni0xLjkyNC02LjQyNWEuOTUzLjk1MyAwIDAgMC0uOTEyLS42NzhoLTMuMjM0YS41Ny41NyAwIDAgMC0uNTQxLjc1NGwzLjYyNSAxMC42MzgtMy40MDggNC44MTFhLjU3LjU3IDAgMCAwIC40NjUuOWgzLjI4N2EuOTQ5Ljk0OSAwIDAgMCAuNzgxLS40MDhsMTAuOTQ2LTE1LjhhLjU3LjU3IDAgMCAwLS40NjgtLjg5NXpcIi8+XG48cGF0aCBmaWxsPVwiIzE3OUJEN1wiIGQ9XCJNOTQuOTkyIDYuNzQ5aC02Ljg0YS45NS45NSAwIDAgMC0uOTM4LjgwMmwtMi43NjYgMTcuNTM3YS41NjkuNTY5IDAgMCAwIC41NjIuNjU4aDMuNTFhLjY2NS42NjUgMCAwIDAgLjY1Ni0uNTYybC43ODUtNC45NzFhLjk1Ljk1IDAgMCAxIC45MzgtLjgwM2gyLjE2NGM0LjUwNiAwIDcuMTA1LTIuMTggNy43ODUtNi41LjMwNy0xLjg5LjAxMi0zLjM3NS0uODczLTQuNDE1LS45NzEtMS4xNDItMi42OTQtMS43NDYtNC45ODMtMS43NDZ6bS43ODkgNi40MDVjLS4zNzMgMi40NTQtMi4yNDggMi40NTQtNC4wNjIgMi40NTRoLTEuMDMxbC43MjUtNC41ODNhLjU2OC41NjggMCAwIDEgLjU2Mi0uNDgxaC40NzNjMS4yMzQgMCAyLjQgMCAzLjAwMi43MDQuMzU5LjQyLjQ2OCAxLjA0NC4zMzEgMS45MDZ6TTExNS40MzQgMTMuMDc1aC0zLjI3M2EuNTY3LjU2NyAwIDAgMC0uNTYyLjQ4MWwtLjE0NS45MTYtLjIzLS4zMzJjLS43MDktMS4wMjktMi4yODktMS4zNzMtMy44NjctMS4zNzMtMy42MTkgMC02LjcwOSAyLjc0MS03LjMxMSA2LjU4Ni0uMzEyIDEuOTE4LjEzMSAzLjc1MiAxLjIxOSA1LjAzMSAxIDEuMTc2IDIuNDI2IDEuNjY2IDQuMTI1IDEuNjY2IDIuOTE2IDAgNC41MzMtMS44NzUgNC41MzMtMS44NzVsLS4xNDYuOTFhLjU3LjU3IDAgMCAwIC41NjQuNjZoMi45NDlhLjk1Ljk1IDAgMCAwIC45MzgtLjgwM2wxLjc3MS0xMS4yMDlhLjU3MS41NzEgMCAwIDAtLjU2NS0uNjU4em0tNC41NjUgNi4zNzRjLS4zMTQgMS44NzEtMS44MDEgMy4xMjctMy42OTUgMy4xMjctLjk0OSAwLTEuNzExLS4zMDUtMi4xOTktLjg4My0uNDg0LS41NzQtLjY2Ni0xLjM5MS0uNTE0LTIuMzAxLjI5Ny0xLjg1NSAxLjgwNS0zLjE1MiAzLjY3LTMuMTUyLjkzIDAgMS42ODYuMzA5IDIuMTg0Ljg5Mi41MDEuNTg5LjY5OSAxLjQxMS41NTQgMi4zMTd6TTExOS4yOTUgNy4yM2wtMi44MDcgMTcuODU4YS41NjkuNTY5IDAgMCAwIC41NjIuNjU4aDIuODIyYy40NjkgMCAuODY3LS4zNC45MzktLjgwM2wyLjc2OC0xNy41MzZhLjU3LjU3IDAgMCAwLS41NjItLjY1OWgtMy4xNmEuNTcxLjU3MSAwIDAgMC0uNTYyLjQ4MnpcIi8+XG48cGF0aCBmaWxsPVwiIzI1M0I4MFwiIGQ9XCJNNy4yNjYgMjkuMTU0bC41MjMtMy4zMjItMS4xNjUtLjAyN0gxLjA2MUw0LjkyNyAxLjI5MmEuMzE2LjMxNiAwIDAgMSAuMzE0LS4yNjhoOS4zOGMzLjExNCAwIDUuMjYzLjY0OCA2LjM4NSAxLjkyNy41MjYuNi44NjEgMS4yMjcgMS4wMjMgMS45MTcuMTcuNzI0LjE3MyAxLjU4OS4wMDcgMi42NDRsLS4wMTIuMDc3di42NzZsLjUyNi4yOThhMy42OSAzLjY5IDAgMCAxIDEuMDY1LjgxMmMuNDUuNTEzLjc0MSAxLjE2NS44NjQgMS45MzguMTI3Ljc5NS4wODUgMS43NDEtLjEyMyAyLjgxMi0uMjQgMS4yMzItLjYyOCAyLjMwNS0xLjE1MiAzLjE4M2E2LjU0NyA2LjU0NyAwIDAgMS0xLjgyNSAyYy0uNjk2LjQ5NC0xLjUyMy44NjktMi40NTggMS4xMDktLjkwNi4yMzYtMS45MzkuMzU1LTMuMDcyLjM1NWgtLjczYy0uNTIyIDAtMS4wMjkuMTg4LTEuNDI3LjUyNWEyLjIxIDIuMjEgMCAwIDAtLjc0NCAxLjMyOGwtLjA1NS4yOTktLjkyNCA1Ljg1NS0uMDQyLjIxNWMtLjAxMS4wNjgtLjAzLjEwMi0uMDU4LjEyNWEuMTU1LjE1NSAwIDAgMS0uMDk2LjAzNUg3LjI2NnpcIi8+XG48cGF0aCBmaWxsPVwiIzE3OUJEN1wiIGQ9XCJNMjMuMDQ4IDcuNjY3Yy0uMDI4LjE3OS0uMDYuMzYyLS4wOTYuNTUtMS4yMzcgNi4zNTEtNS40NjkgOC41NDUtMTAuODc0IDguNTQ1SDkuMzI2Yy0uNjYxIDAtMS4yMTguNDgtMS4zMjEgMS4xMzJMNi41OTYgMjYuODNsLS4zOTkgMi41MzNhLjcwNC43MDQgMCAwIDAgLjY5NS44MTRoNC44ODFjLjU3OCAwIDEuMDY5LS40MiAxLjE2LS45OWwuMDQ4LS4yNDguOTE5LTUuODMyLjA1OS0uMzJjLjA5LS41NzIuNTgyLS45OTIgMS4xNi0uOTkyaC43M2M0LjcyOSAwIDguNDMxLTEuOTIgOS41MTMtNy40NzYuNDUyLTIuMzIxLjIxOC00LjI1OS0uOTc4LTUuNjIyYTQuNjY3IDQuNjY3IDAgMCAwLTEuMzM2LTEuMDN6XCIvPlxuPHBhdGggZmlsbD1cIiMyMjJENjVcIiBkPVwiTTIxLjc1NCA3LjE1MWE5Ljc1NyA5Ljc1NyAwIDAgMC0xLjIwMy0uMjY3IDE1LjI4NCAxNS4yODQgMCAwIDAtMi40MjYtLjE3N2gtNy4zNTJhMS4xNzIgMS4xNzIgMCAwIDAtMS4xNTkuOTkyTDguMDUgMTcuNjA1bC0uMDQ1LjI4OWExLjMzNiAxLjMzNiAwIDAgMSAxLjMyMS0xLjEzMmgyLjc1MmM1LjQwNSAwIDkuNjM3LTIuMTk1IDEwLjg3NC04LjU0NS4wMzctLjE4OC4wNjgtLjM3MS4wOTYtLjU1YTYuNTk0IDYuNTk0IDAgMCAwLTEuMDE3LS40MjkgOS4wNDUgOS4wNDUgMCAwIDAtLjI3Ny0uMDg3elwiLz5cbjxwYXRoIGZpbGw9XCIjMjUzQjgwXCIgZD1cIk05LjYxNCA3LjY5OWExLjE2OSAxLjE2OSAwIDAgMSAxLjE1OS0uOTkxaDcuMzUyYy44NzEgMCAxLjY4NC4wNTcgMi40MjYuMTc3YTkuNzU3IDkuNzU3IDAgMCAxIDEuNDgxLjM1M2MuMzY1LjEyMS43MDQuMjY0IDEuMDE3LjQyOS4zNjgtMi4zNDctLjAwMy0zLjk0NS0xLjI3Mi01LjM5MkMyMC4zNzguNjgyIDE3Ljg1MyAwIDE0LjYyMiAwaC05LjM4Yy0uNjYgMC0xLjIyMy40OC0xLjMyNSAxLjEzM0wuMDEgMjUuODk4YS44MDYuODA2IDAgMCAwIC43OTUuOTMyaDUuNzkxbDEuNDU0LTkuMjI1IDEuNTY0LTkuOTA2elwiLz5cbjwvc3ZnPmA7XG4iXSwibmFtZXMiOlsiYWRkSWNvbiIsImFsaWdubWVudF8xIiwidGFibGVfY2VsbF8xIiwidW5kZWZpbmVkIiwiZ2xvYmFsIiwidGhpcyIsImxvZGFzaF8xIiwibmV2ZXJ0aHJvd18xIiwicmVzdWx0c18xIiwiYXN0X3V0aWxzXzEiLCJjYWxjXzEiLCJyb3dfMSIsImNvbHVtbl8xIiwicmVmZXJlbmNlXzEiLCJyYW5nZV8xIiwiU2VtYW50aWNIZWxwZXJzXzEiLCJXM0NFQk5GXzEiLCJDdXN0b21fMSIsInJlcXVpcmUkJDAiLCJkaXNwbGF5X2RpcmVjdGl2ZV8xIiwiZGVzdGluYXRpb24iLCJkZXN0aW5hdGlvbl8xIiwic2luZ2xlX3BhcmFtX2Z1bmN0aW9uXzEiLCJjb25kaXRpb25hbF9mdW5jdGlvbl8xIiwiYWxnZWJyYWljX29wZXJhdGlvbl8xIiwiY29uc3RhbnRfMSIsImVibmZfMSIsImZvY3VzXzEiLCJwb2ludF8xIiwidGFibGVfcm93XzEiLCJ0YWJsZV8xIiwiYWxpZ25tZW50IiwidGFibGUiLCJmb3JtYXR0ZXJfMSIsInBhcnNlcl8xIiwicmFuZ2UiLCJlZGl0X3NjcmlwdF8xIiwiZm9jdXMiLCJmb3JtYXR0ZXJfanNfMSIsInRleHRfZWRpdG9yXzEiLCJvcHRpb25zXzEiLCJ0YWJsZV9lZGl0b3JfMSIsIkZvcm1hdFR5cGUiLCJvcHRpb25zV2l0aERlZmF1bHRzIiwiUG9pbnQiLCJBbGlnbm1lbnQiLCJTb3J0T3JkZXIiLCJOb3RpY2UiLCJNVEVFZGl0b3IiLCJNb2RhbCIsIk1hcmtkb3duVmlldyIsIkl0ZW1WaWV3IiwiUHJlYyIsImtleW1hcCIsIlBsdWdpbiIsIlNldHRpbmciLCJQbHVnaW5TZXR0aW5nVGFiIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksYUFBYSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUNuQyxJQUFJLGFBQWEsR0FBRyxNQUFNLENBQUMsY0FBYztBQUN6QyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxZQUFZLEtBQUssSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEYsUUFBUSxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDMUcsSUFBSSxPQUFPLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxTQUFTLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ2hDLElBQUksYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN4QixJQUFJLFNBQVMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRTtBQUMzQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekYsQ0FBQztBQUNEO0FBQ08sSUFBSSxRQUFRLEdBQUcsV0FBVztBQUNqQyxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLFNBQVMsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUNyRCxRQUFRLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzdELFlBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QixZQUFZLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pGLFNBQVM7QUFDVCxRQUFRLE9BQU8sQ0FBQyxDQUFDO0FBQ2pCLE1BQUs7QUFDTCxJQUFJLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDM0MsRUFBQztBQTRCRDtBQUNPLFNBQVMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUM3RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDbkcsUUFBUSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDdEcsUUFBUSxTQUFTLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7QUFDdEgsUUFBUSxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUUsS0FBSyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBQ0Q7QUFDTyxTQUFTLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFO0FBQzNDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNySCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLE1BQU0sS0FBSyxVQUFVLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxXQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzdKLElBQUksU0FBUyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxVQUFVLENBQUMsRUFBRSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEUsSUFBSSxTQUFTLElBQUksQ0FBQyxFQUFFLEVBQUU7QUFDdEIsUUFBUSxJQUFJLENBQUMsRUFBRSxNQUFNLElBQUksU0FBUyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFDdEUsUUFBUSxPQUFPLENBQUMsRUFBRSxJQUFJO0FBQ3RCLFlBQVksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENB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akYsSUFBSSxNQUFNLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxHQUFHO0FBQzdCLElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRztBQUM3QixJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHO0FBQ3ZELElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUc7QUFDdkQsSUFBSSxNQUFNLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRztBQUN2RCxJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHO0FBQ3ZELElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRztBQUM3QixJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRztBQUNqRixJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRztBQUNqRixJQUFJLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHO0FBQ3ZELElBQUksTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUc7QUFDdkQsSUFBSSxNQUFNLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUc7QUFDMUMsSUFBSSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJO0FBQzlCLElBQUksTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSTtBQUM5QixJQUFJLE1BQU0sRUFBRSxJQUFJO0FBQ2hCO0FBQ0EsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDaEQsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDaEQsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUMvRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQy9ELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDL0QsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQzlFLElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUM5RSxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQy9ELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDL0QsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUMvRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDOUUsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQzlFLElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRztBQUNqQyxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDOUUsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQzlFLElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDL0QsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUMvRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRztBQUNoRCxJQUFJLFFBQVEsRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQy9ELElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDL0QsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDaEQsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDaEQsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDN0YsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUc7QUFDN0YsSUFBSSxRQUFRLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxHQUFHO0FBQ2pDLElBQUksUUFBUSxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHO0FBQ2hELElB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LEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO0FBQ3ZELElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLFFBQVEsTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDbEQ7QUFDQSxJQUFJLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFO0FBQzdCLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO0FBQzNDLFFBQVEsT0FBTyxJQUFJLENBQUM7QUFDcEIsT0FBTztBQUNQLEtBQUs7QUFDTCxJQUFJLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtBQUNyQyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztBQUNsQixRQUFRLE1BQU0sR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTTtBQUNqRCxRQUFRLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0I7QUFDQSxJQUFJLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFO0FBQzdCLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNELEtBQUs7QUFDTCxJQUFJLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDcEMsSUFBSSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDbEIsUUFB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QUFHLE1BQU0sQ0FBQyxTQUFTLEdBQUdBLFdBQVM7QUFDM0QsUUFBUSxhQUFhLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEdBQUdBLFdBQVM7QUFDckUsUUFBUSxjQUFjLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQyxRQUFRLEdBQUdBLFdBQVMsQ0FBQztBQUN4RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsTUFBTSxDQUFDLEtBQUssRUFBRTtBQUMzQixNQUFNLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxZQUFZLFdBQVcsQ0FBQyxFQUFFO0FBQ3JGLFFBQVEsSUFB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QUM3QixNQUFNLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQ3BCLE1BQU0sSUFBSSxDQUFDLFFBQVEsR0FBRztBQUN0QixRQUFRLE1BQU0sRUFBRSxJQUFJLElBQUk7QUFDeEIsUUFBUSxLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDO0FBQ3JDLFFBQVEsUUFBUSxFQUFFLElBQUksSUFBSTtBQUMxQixPQUFPLENBQUM7QUFDUixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsY0FBYyxDQUFDLEdBQUcsRUFBRTtBQUNqQyxNQUFNLElBQUksTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEQsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxHQUFHLEVBQUU7QUFDOUIsTUFBTSxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENBQUMsR0FBRyxFQUFFO0FBQzlCLE1BQU0sT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENB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QUcsQ0FBQyxDQUFDLEVBQUU7QUFDM0QsVUFBVSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbkMsVUFBVSxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztBQUNsQyxVQUFVLE9BQU8sSUFBSSxDQUFDO0FBQ3RCLFNBQVM7QUFDVCxRQUFRLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25ELE9BQU87QUFDUCxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNCLE1BQU0sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzVCLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsS0FBSztBQUNMO0FBQ0E7QUFDQSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztBQUN2QyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsV0FBVyxDQUFDO0FBQzVDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO0FBQ25DLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO0FBQ25DLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7QUFDN0MsTUFBTSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQ2hDLFVBQVUsS0FBSyxHQUFHLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUM7QUFDOUMsVUFBVSxNQUFNLEdBQUcsQ0FBQyxL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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO0FBQ3JDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNwQyxNQUFNLE9BQU8sTUFBTSxJQUFJLElBQUksSUFBSSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO0FBQzNELE1BQU0sT0FBTyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQy9FLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtBQUM1RCxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNO0FBQy9CLFVBQVUsS0FBSyxHQUFHLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDMUM7QUFDQSxNQUFNLE9BQU8sQ0FBQyxTQUFTLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEdBQUcsTUFBTTtBQUNwRCxRQUFRLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7QUFD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QzNCLFVBQVUsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQztBQUNsQyxVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsVUFBVSxLQUFLLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEUsVUFBVSxLQUFLLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRSxVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RixVQUFVLEtBQUssQ0FBQyxFQUFF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LENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsR0FBRyxJQUFJLEdBQUcsU0FBUyxNQUFNLEVBQUU7QUFDeEcsTUFBTSxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdCLEtBQUssQ0FBQztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsYUFBYSxDQUFDLFFBQVEsRUFBRTtBQUNyQyxNQUFNLE9BQU8sU0FBUyxNQUFNLEVBQUU7QUFDOUIsUUFBUSxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDakMsUUFBUSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUU7QUFDM0IsVUFBVSxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwQyxTQUFTO0FBQ1QsUUFBUSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUU7QUFDM0IsVUFBVSxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwQyxTQUFTO0FBQ1QsUUFBUSxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDckQsT0FBTyxDQUFDO0FBQ1IsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7QUFDdkYsTUFBTSxJQUFJLFNBQVMsR0FBRyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7QUFDbkQsTUFBTSxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sSUFBSSxJQUFJLFVBQVUsRUFBRTtBQUNuRCxRQUFRLE1BQU0sSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDN0MsT0FBTztBQUNQLE1BQU0sSUFBSSxNQUFNLEdBQUcsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNuQixRQUFRLE9BQU8sSUFBSSxFQUFFLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDLENBQUM7QUFDbEUsUUFBUSxRQUFRLEdBQUcsT0FBTyxHQUFHQSxXQUFTLENBQUM7QUFDdkMsT0FBTztBQUNQLE1BQU0sR0FBRyxHQUFHLEdBQUcsS0FBS0EsV0FBUyxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ25FLE1BQU0sS0FBSyxHQUFHLEtBQUssS0FBS0EsV0FBUyxHQUFHLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0QsTUFBTSxNQUFNLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQzdDO0FBQ0EsTUFBTSxJQUFJLE9BQU8sR0FBRyx1QkFBdUIsRUFBRTtBQUM3QyxRQUFRLElBQUksYUFBYSxHQUFHLFFBQVE7QUFDcEMsWUFBWSxZQUFZLEdBQUcsT0FBTyxDQUFDO0FBQ25DO0FBQ0EsUUFBUSxRQUFRLEdBQUcsT0FBTyxHQUFHQSxXQUFTLENBQUM7QUFDdkMsT0FBTztBQUNQLE1BQU0sSUFBSSxJQUFJLEdBQUcsU0FBUyxHQUFHQSxXQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZEO0FBQ0EsTUFBTSxJQUFJLE9BQU8sR0FBRztBQUNwQixRQUFRLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVk7QUFDOUUsUUFBUSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUs7QUFDMUIsT0FBTyxDQUFDO0FBQ1I7QUFDQSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQ2hCLFFBQVEsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqQyxPQUFPO0FBQ1AsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLQSxXQUFTO0FBQ25ELFdBQVcsU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTTtBQUN0QyxVQUFVLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzVDO0FBQ0EsTUFBTSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sSUFBSSxlQUFlLEdBQUcscUJBQXFCLENBQUMsRUFBRTtBQUN6RSxRQUFRLE9BQU8sSUFBSSxFQUFFLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0FBQzlELE9BQU87QUFDUCxNQUFNLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxJQUFJLGNBQWMsRUFBRTtBQUNqRCxRQUFRLElBQUksTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3hELE9BQU8sTUFBTSxJQUFJLE9BQU8sSUFBSSxlQUFlLElBQUksT0FBTyxJQUFJLHFCQUFxQixFQUFFO0FBQ2pGLFFBQVEsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ25ELE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLGlCQUFpQixJQUFJLE9BQU8sS0FBSyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDdkgsUUFBUSxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2pFLE9BQU8sTUFBTTtBQUNiLFFBQVEsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUNBLFdBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4RCxPQUFPO0FBQ1AsTUFBTSxJQUFJLE1BQU0sR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUNoRCxNQUFNLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUU7QUFDckUsTUFBTSxJQUFJLFFBQVEsS0FBS0EsV0FBUztBQUNoQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQ2pGLFFBQVEsT0FBTyxRQUFRLENBQUM7QUFDeEIsT0FBTztBQUNQLE1BQU0sT0FBTyxRQUFRLENBQUM7QUFDdEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtBQUNqRixNQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtBQUNwRDtBQUNBLFFBQVEsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdEMsUUFBUSxTQUFTLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRUEsV0FBUyxFQUFFLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzdFLFFBQVEsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2xDLE9BQU87QUFDUCxNQUFNLE9BQU8sUUFBUSxDQUFDO0FBQ3RCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxlQUFlLENBQUMsS0FBSyxFQUFFO0FBQ3BDLE1BQU0sT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUdBLFdBQVMsR0FBRyxLQUFLLENBQUM7QUFDdEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0FBQzlFLE1BQU0sSUFBSSxTQUFTLEdBQUcsT0FBTyxHQUFHLG9CQUFvQjtBQUNwRCxVQUFVLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTTtBQUNsQyxVQUFVLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ25DO0FBQ0EsTUFBTSxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksRUFBRSxTQUFTLElBQUksU0FBUyxHQUFHLFNBQVMsQ0FBQyxFQUFFO0FBQzNFLFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDckIsT0FBTztBQUNQO0FBQ0EsTUFBTSxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hDLE1BQU0sSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QyxNQUFNLElBQUksVUFBVSxJQUFJLFVBQVUsRUFBRTtBQUNwQyxRQUFRLE9BQU8sVUFBVSxJQUFJLEtBQUssSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDO0FBQzFELE9BQU87QUFDUCxNQUFNLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztBQUNwQixVQUFVLE1BQU0sR0FBRyxJQUFJO0FBQ3ZCLFVBQVUsSUFBSSxHQUFHLENBQUMsT0FBTyxHQUFHLHNCQUFzQixJQUFJLElBQUksUUFBUSxHQUFHQSxXQUFTLENBQUM7QUFDL0U7QUFDQSxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzlCLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDOUI7QUFDQTtBQUNBLE1BQU0sT0FBTyxFQUFFLEtBQUssR0FBRyxTQUFTLEVBQUU7QUFDbEMsUUFBUSxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQ25DLFlBQVksUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwQztBQUNBLFFBQVEsSUFBSSxVQUFVLEVBQUU7QUFDeEIsVUFBVSxJQUFJLFFBQVEsR0FBRyxTQUFTO0FBQ2xDLGNBQWMsVUFBVSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0FBQ3hFLGNBQWMsVUFBVSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDekUsU0FBUztBQUNULFFBQVEsSUFBSSxRQUFRLEtBQUtBLFdBQVMsRUFBRTtBQUNwQyxVQUFVLElBQUksUUFBUSxFQUFFO0FBQ3hCLFlBQVksU0FBUztBQUNyQixXQUFXO0FBQ1gsVUFBVSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLFVBQVUsTUFBTTtBQUNoQixTQUFTO0FBQ1Q7QUFDQSxRQUFRLElBQUksSUFBSSxFQUFFO0FBQ2xCLFVBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxRQUFRLEVBQUUsUUFBUSxFQUFFO0FBQzdELGdCQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7QUFDN0MscUJBQXFCLFFBQVEsS0FBSyxRQUFRLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFO0FBQzFHLGtCQUFrQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0MsaUJBQWlCO0FBQ2pCLGVBQWUsQ0FBQyxFQUFFO0FBQ2xCLFlBQVksTUFBTSxHQUFHLEtBQUssQ0FBQztBQUMzQixZQUFZLE1BQU07QUFDbEIsV0FBVztBQUNYLFNBQVMsTUFBTSxJQUFJO0FBQ25CLGNBQWMsUUFBUSxLQUFLLFFBQVE7QUFDbkMsZ0JBQWdCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDO0FBQ3pFLGFBQWEsRUFBRTtBQUNmLFVBQVUsTUFBTSxHQUFHLEtBQUssQ0FBQztBQUN6QixVQUFVLE1BQU07QUFDaEIsU0FBUztBQUNULE9BQU87QUFDUCxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3QixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3QixNQUFNLE9BQU8sTUFBTSxDQUFDO0FBQ3BCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsVUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtBQUNuRixNQUFNLFFBQVEsR0FBRztBQUNqQixRQUFRLEtBQUssV0FBVztBQUN4QixVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVO0FBQ3BELGVBQWUsTUFBTSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7QUFDdkQsWUFBWSxPQUFPLEtBQUssQ0FBQztBQUN6QixXQUFXO0FBQ1gsVUFBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNqQyxVQUFVLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQy9CO0FBQ0EsUUFBUSxLQUFLLGNBQWM7QUFDM0IsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVTtBQUNwRCxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7QUFDekUsWUFBWSxPQUFPLEtBQUssQ0FBQztBQUN6QixXQUFXO0FBQ1gsVUFBVSxPQUFPLElBQUksQ0FBQztBQUN0QjtBQUNBLFFBQVEsS0FBSyxPQUFPLENBQUM7QUFDckIsUUFBUSxLQUFLLE9BQU8sQ0FBQztBQUNyQixRQUFRLEtBQUssU0FBUztBQUN0QjtBQUNBO0FBQ0EsVUFBVSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JDO0FBQ0EsUUFBUSxLQUFLLFFBQVE7QUFDckIsVUFBVSxPQUFPLE1BQU0sQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUM7QUFDOUU7QUFDQSxRQUFRLEtBQUssU0FBUyxDQUFDO0FBQ3ZCLFFBQVEsS0FBSyxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsT0FBTyxNQUFNLEtBQUssS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDO0FBQ0EsUUFBUSxLQUFLLE1BQU07QUFDbkIsVUFBVSxJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7QUFDbkM7QUFDQSxRQUFRLEtBQUssTUFBTTtBQUNuQixVQUFVLElBQUksU0FBUyxHQUFHLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQztBQUN6RCxVQUFVLE9BQU8sS0FBSyxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUM7QUFDNUM7QUFDQSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO0FBQ3ZELFlBQVksT0FBTyxLQUFLLENBQUM7QUFDekIsV0FBVztBQUNYO0FBQ0EsVUFBVSxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzFDLFVBQVUsSUFBSSxPQUFPLEVBQUU7QUFDdkIsWUFBWSxPQUFPLE9BQU8sSUFBSSxLQUFLLENBQUM7QUFDcEMsV0FBVztBQUNYLFVBQVUsT0FBTyxJQUFJLHNCQUFzQixDQUFDO0FBQzVDO0FBQ0E7QUFDQSxVQUFVLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ25DLFVBQVUsSUFBSSxNQUFNLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDM0csVUFBVSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEMsVUFBVSxPQUFPLE1BQU0sQ0FBQztBQUN4QjtBQUNBLFFBQVEsS0FBSyxTQUFTO0FBQ3RCLFVBQVUsSUFBSSxhQUFhLEVBQUU7QUFDN0IsWUFBWSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzRSxXQUFXO0FBQ1gsT0FBTztBQUNQLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0FBQ2hGLE1BQU0sSUFBSSxTQUFTLEdBQUcsT0FBTyxHQUFHLG9CQUFvQjtBQUNwRCxVQUFVLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0FBQ3ZDLFVBQVUsU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNO0FBQ3JDLFVBQVUsUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7QUFDdEMsVUFBVSxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztBQUN0QztBQUNBLE1BQU0sSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLENBQUMsU0FBUyxFQUFFO0FBQ2hELFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDckIsT0FBTztBQUNQLE1BQU0sSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDO0FBQzVCLE1BQU0sT0FBTyxLQUFLLEVBQUUsRUFBRTtBQUN0QixRQUFRLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQyxRQUFRLElBQUksRUFBRSxTQUFTLEdBQUcsR0FBRyxJQUFJLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQzNFLFVBQVUsT0FBTyxLQUFLLENBQUM7QUFDdkIsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLE1BQU0sSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QyxNQUFNLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEMsTUFBTSxJQUFJLFVBQVUsSUFBSSxVQUFVLEVBQUU7QUFDcEMsUUFBUSxPQUFPLFVBQVUsSUFBSSxLQUFLLElBQUksVUFBVSxJQUFJLE1BQU0sQ0FBQztBQUMzRCxPQUFPO0FBQ1AsTUFBTSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDeEIsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvQixNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQy9CO0FBQ0EsTUFBTSxJQUFJLFFBQVEsR0FBRyxTQUFTLENBQUM7QUFDL0IsTUFBTSxPQUFPLEVBQUUsS0FBSyxHQUFHLFNBQVMsRUFBRTtBQUNsQyxRQUFRLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIsUUFBUSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO0FBQ2xDLFlBQVksUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQztBQUNBLFFBQVEsSUFBSSxVQUFVLEVBQUU7QUFDeEIsVUFBVSxJQUFJLFFBQVEsR0FBRyxTQUFTO0FBQ2xDLGNBQWMsVUFBVSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO0FBQ3ZFLGNBQWMsVUFBVSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEUsU0FBUztBQUNUO0FBQ0EsUUFBUSxJQUFJLEVBQUUsUUFBUSxLQUFLQSxXQUFTO0FBQ3BDLGlCQUFpQixRQUFRLEtBQUssUUFBUSxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDO0FBQ25HLGdCQUFnQixRQUFRO0FBQ3hCLGFBQWEsRUFBRTtBQUNmLFVBQVUsTUFBTSxHQUFHLEtBQUssQ0FBQztBQUN6QixVQUFVLE1BQU07QUFDaEIsU0FBUztBQUNULFFBQVEsUUFBUSxLQUFLLFFBQVEsR0FBRyxHQUFHLElBQUksYUFBYSxDQUFDLENBQUM7QUFDdEQsT0FBTztBQUNQLE1BQU0sSUFBSSxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDL0IsUUFBUSxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVztBQUN4QyxZQUFZLE9BQU8sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0FBQ3hDO0FBQ0E7QUFDQSxRQUFRLElBQUksT0FBTyxJQUFJLE9BQU87QUFDOUIsYUFBYSxhQUFhLElBQUksTUFBTSxJQUFJLGFBQWEsSUFBSSxLQUFLLENBQUM7QUFDL0QsWUFBWSxFQUFFLE9BQU8sT0FBTyxJQUFJLFVBQVUsSUFBSSxPQUFPLFlBQVksT0FBTztBQUN4RSxjQUFjLE9BQU8sT0FBTyxJQUFJLFVBQVUsSUFBSSxPQUFPLFlBQVksT0FBTyxDQUFDLEVBQUU7QUFDM0UsVUFBVSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLFNBQVM7QUFDVCxPQUFPO0FBQ1AsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0IsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsSUFBSSxFQUFFO0FBQzVCLE1BQU0sT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRUEsV0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztBQUN4RSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxVQUFVLENBQUMsTUFBTSxFQUFFO0FBQ2hDLE1BQU0sT0FBTyxjQUFjLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN0RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFlBQVksQ0FBQyxNQUFNLEVBQUU7QUFDbEMsTUFBTSxPQUFPLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQzFELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsU0FBUyxJQUFJLEVBQUU7QUFDbkQsTUFBTSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsS0FBSyxDQUFDO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENBQUMsSUFBSSxFQUFFO0FBQy9CLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7QUFDbkMsVUFBVSxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztBQUNuQyxVQUFVLE1BQU0sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUM3RTtBQUNBLE1BQU0sT0FBTyxNQUFNLEVBQUUsRUFBRTtBQUN2QixRQUFRLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDaEMsWUFBWSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztBQUNsQyxRQUFRLElBQUksU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO0FBQ3BELFVBQVUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzNCLFNBQVM7QUFDVCxPQUFPO0FBQ1AsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsSUFBSSxFQUFFO0FBQzdCLE1BQU0sSUFBSSxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQztBQUM5RSxNQUFNLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQztBQUNoQyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsR0FBRztBQUMzQixNQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDO0FBQy9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxRQUFRLEdBQUcsWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUMzRCxNQUFNLE9BQU8sU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUM1RSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ2xDLE1BQU0sSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUM5QixNQUFNLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztBQUMzQixVQUFVLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLE1BQU0sQ0FBQztBQUMxRCxVQUFVLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsWUFBWSxDQUFDLE1BQU0sRUFBRTtBQUNsQyxNQUFNLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDL0IsVUFBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNqQztBQUNBLE1BQU0sT0FBTyxNQUFNLEVBQUUsRUFBRTtBQUN2QixRQUFRLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDaEMsWUFBWSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2hDO0FBQ0EsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDakUsT0FBTztBQUNQLE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtBQUNwQyxNQUFNLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDeEMsTUFBTSxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUdBLFdBQVMsQ0FBQztBQUNyRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFO0FBQzlCLE1BQU0sSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDO0FBQzVELFVBQVUsR0FBRyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN0QztBQUNBLE1BQU0sSUFBSTtBQUNWLFFBQVEsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHQSxXQUFTLENBQUM7QUFDMUMsUUFBUSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7QUFDNUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7QUFDcEI7QUFDQSxNQUFNLElBQUksTUFBTSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwRCxNQUFNLElBQUksUUFBUSxFQUFFO0FBQ3BCLFFBQVEsSUFBSSxLQUFLLEVBQUU7QUFDbkIsVUFBVSxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQ3RDLFNBQVMsTUFBTTtBQUNmLFVBQVUsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDdkMsU0FBUztBQUNULE9BQU87QUFDUCxNQUFNLE9BQU8sTUFBTSxDQUFDO0FBQ3BCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFVBQVUsR0FBRyxDQUFDLGdCQUFnQixHQUFHLFNBQVMsR0FBRyxTQUFTLE1BQU0sRUFBRTtBQUN0RSxNQUFNLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUMxQixRQUFRLE9BQU8sRUFBRSxDQUFDO0FBQ2xCLE9BQU87QUFDUCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsTUFBTSxPQUFPLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLE1BQU0sRUFBRTtBQUNwRSxRQUFRLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN6RCxPQUFPLENBQUMsQ0FBQztBQUNULEtBQUssQ0FBQztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksWUFBWSxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxHQUFHLFNBQVMsTUFBTSxFQUFFO0FBQ3hFLE1BQU0sSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sT0FBTyxNQUFNLEVBQUU7QUFDckIsUUFBUSxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzlDLFFBQVEsTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxPQUFPO0FBQ1AsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLLENBQUM7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUM7QUFDNUI7QUFDQTtBQUNBLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVc7QUFDNUUsU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDO0FBQzFDLFNBQVMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUM7QUFDNUQsU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDO0FBQzFDLFNBQVMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFO0FBQ3hELE1BQU0sTUFBTSxHQUFHLFNBQVMsS0FBSyxFQUFFO0FBQy9CLFFBQVEsSUFBSSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztBQUN0QyxZQUFZLElBQUksR0FBRyxNQUFNLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLEdBQUdBLFdBQVM7QUFDdEUsWUFBWSxVQUFVLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDcEQ7QUFDQSxRQUFRLElBQUksVUFBVSxFQUFFO0FBQ3hCLFVBQVUsUUFBUSxVQUFVO0FBQzVCLFlBQVksS0FBSyxrQkFBa0IsRUFBRSxPQUFPLFdBQVcsQ0FBQztBQUN4RCxZQUFZLEtBQUssYUFBYSxFQUFFLE9BQU8sTUFBTSxDQUFDO0FBQzlDLFlBQVksS0FBSyxpQkFBaUIsRUFBRSxPQUFPLFVBQVUsQ0FBQztBQUN0RCxZQUFZLEtBQUssYUFBYSxFQUFFLE9BQU8sTUFBTSxDQUFDO0FBQzlDLFlBQVksS0FBSyxpQkFBaUIsRUFBRSxPQUFPLFVBQVUsQ0FBQztBQUN0RCxXQUFXO0FBQ1gsU0FBUztBQUNULFFBQVEsT0FBTyxNQUFNLENBQUM7QUFDdEIsT0FBTyxDQUFDO0FBQ1IsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO0FBQzdDLE1BQU0sSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3BCLFVBQVUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7QUFDckM7QUFDQSxNQUFNLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFO0FBQy9CLFFBQVEsSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztBQUNwQyxZQUFZLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzdCO0FBQ0EsUUFBUSxRQUFRLElBQUksQ0FBQyxJQUFJO0FBQ3pCLFVBQVUsS0FBSyxNQUFNLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU07QUFDakQsVUFBVSxLQUFLLFdBQVcsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTTtBQUMvQyxVQUFVLEtBQUssTUFBTSxPQUFPLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDdEUsVUFBVSxLQUFLLFdBQVcsRUFBRSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ3hFLFNBQVM7QUFDVCxPQUFPO0FBQ1AsTUFBTSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDNUMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsY0FBYyxDQUFDLE1BQU0sRUFBRTtBQUNwQyxNQUFNLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDOUMsTUFBTSxPQUFPLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN6RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0FBQzVDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEM7QUFDQSxNQUFNLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztBQUNwQixVQUFVLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTTtBQUM5QixVQUFVLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDekI7QUFDQSxNQUFNLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFO0FBQy9CLFFBQVEsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLFFBQVEsSUFBSSxFQUFFLE1BQU0sR0FBRyxNQUFNLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRTtBQUNoRSxVQUFVLE1BQU07QUFDaEIsU0FBUztBQUNULFFBQVEsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3QixPQUFPO0FBQ1AsTUFBTSxJQUFJLE1BQU0sSUFBSSxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUU7QUFDdkMsUUFBUSxPQUFPLE1BQU0sQ0FBQztBQUN0QixPQUFPO0FBQ1AsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNsRCxNQUFNLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7QUFDakUsU0FBUyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDakQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsY0FBYyxDQUFDLEtBQUssRUFBRTtBQUNuQyxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNO0FBQy9CLFVBQVUsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqRDtBQUNBO0FBQ0EsTUFBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDeEYsUUFBUSxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFDbkMsUUFBUSxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFDbkMsT0FBTztBQUNQLE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRTtBQUNyQyxNQUFNLE9BQU8sQ0FBQyxPQUFPLE1BQU0sQ0FBQyxXQUFXLElBQUksVUFBVSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztBQUM3RSxVQUFVLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUMsVUFBVSxFQUFFLENBQUM7QUFDYixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsY0FBYyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO0FBQ2pELE1BQU0sSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztBQUNwQyxNQUFNLFFBQVEsR0FBRztBQUNqQixRQUFRLEtBQUssY0FBYztBQUMzQixVQUFVLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUM7QUFDQSxRQUFRLEtBQUssT0FBTyxDQUFDO0FBQ3JCLFFBQVEsS0FBSyxPQUFPO0FBQ3BCLFVBQVUsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DO0FBQ0EsUUFBUSxLQUFLLFdBQVc7QUFDeEIsVUFBVSxPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0M7QUFDQSxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUM7QUFDekMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUM7QUFDbkQsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLEtBQUssZUFBZSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxLQUFLLFNBQVM7QUFDM0UsVUFBVSxPQUFPLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDakQ7QUFDQSxRQUFRLEtBQUssTUFBTTtBQUNuQixVQUFVLE9BQU8sSUFBSSxJQUFJLENBQUM7QUFDMUI7QUFDQSxRQUFRLEtBQUssU0FBUyxDQUFDO0FBQ3ZCLFFBQVEsS0FBSyxTQUFTO0FBQ3RCLFVBQVUsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQztBQUNBLFFBQVEsS0FBSyxTQUFTO0FBQ3RCLFVBQVUsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDckM7QUFDQSxRQUFRLEtBQUssTUFBTTtBQUNuQixVQUFVLE9BQU8sSUFBSSxJQUFJLENBQUM7QUFDMUI7QUFDQSxRQUFRLEtBQUssU0FBUztBQUN0QixVQUFVLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3JDLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUU7QUFDaEQsTUFBTSxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0FBQ2xDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNuQixRQUFRLE9BQU8sTUFBTSxDQUFDO0FBQ3RCLE9BQU87QUFDUCxNQUFNLElBQUksU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDakMsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDdEQsTUFBTSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLHNCQUFzQixHQUFHLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQztBQUN4RixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxhQUFhLENBQUMsS0FBSyxFQUFFO0FBQ2xDLE1BQU0sT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQztBQUNqRCxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztBQUNqRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQ3BDLE1BQU0sSUFBSSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7QUFDOUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7QUFDMUQ7QUFDQSxNQUFNLE9BQU8sQ0FBQyxDQUFDLE1BQU07QUFDckIsU0FBUyxJQUFJLElBQUksUUFBUTtBQUN6QixXQUFXLElBQUksSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3JELGFBQWEsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQztBQUM3RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDbEQsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO0FBQzdCLFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDckIsT0FBTztBQUNQLE1BQU0sSUFBSSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7QUFDOUIsTUFBTSxJQUFJLElBQUksSUFBSSxRQUFRO0FBQzFCLGVBQWUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNuRSxlQUFlLElBQUksSUFBSSxRQUFRLElBQUksS0FBSyxJQUFJLE1BQU0sQ0FBQztBQUNuRCxZQUFZO0FBQ1osUUFBUSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEMsT0FBTztBQUNQLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUNsQyxNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzFCLFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDckIsT0FBTztBQUNQLE1BQU0sSUFBSSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7QUFDOUIsTUFBTSxJQUFJLElBQUksSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksU0FBUztBQUNuRSxVQUFVLEtBQUssSUFBSSxJQUFJLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVDLFFBQVEsT0FBTyxJQUFJLENBQUM7QUFDcEIsT0FBTztBQUNQLE1BQU0sT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDbkUsU0FBUyxNQUFNLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNwRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFO0FBQzlCLE1BQU0sSUFBSSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7QUFDOUIsTUFBTSxPQUFPLENBQUMsSUFBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLFNBQVM7QUFDM0YsV0FBVyxLQUFLLEtBQUssV0FBVztBQUNoQyxXQUFXLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQztBQUMzQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFVBQVUsQ0FBQyxJQUFJLEVBQUU7QUFDOUIsTUFBTSxJQUFJLFFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO0FBQ3RDLFVBQVUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuQztBQUNBLE1BQU0sSUFBSSxPQUFPLEtBQUssSUFBSSxVQUFVLElBQUksRUFBRSxRQUFRLElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0FBQzlFLFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDckIsT0FBTztBQUNQLE1BQU0sSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO0FBQzFCLFFBQVEsT0FBTyxJQUFJLENBQUM7QUFDcEIsT0FBTztBQUNQLE1BQU0sSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLE1BQU0sT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLElBQUksRUFBRTtBQUM1QixNQUFNLE9BQU8sQ0FBQyxDQUFDLFVBQVUsS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7QUFDbEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksVUFBVSxHQUFHLFVBQVUsR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsV0FBVyxDQUFDLEtBQUssRUFBRTtBQUNoQyxNQUFNLElBQUksSUFBSSxHQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVztBQUMzQyxVQUFVLEtBQUssR0FBRyxDQUFDLE9BQU8sSUFBSSxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsQ0FBQztBQUMvRTtBQUNBLE1BQU0sT0FBTyxLQUFLLEtBQUssS0FBSyxDQUFDO0FBQzdCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsa0JBQWtCLENBQUMsS0FBSyxFQUFFO0FBQ3ZDLE1BQU0sT0FBTyxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFO0FBQ3BELE1BQU0sT0FBTyxTQUFTLE1BQU0sRUFBRTtBQUM5QixRQUFRLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUM1QixVQUFVLE9BQU8sS0FBSyxDQUFDO0FBQ3ZCLFNBQVM7QUFDVCxRQUFRLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVE7QUFDdkMsV0FBVyxRQUFRLEtBQUtBLFdBQVMsS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RCxPQUFPLENBQUM7QUFDUixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLGFBQWEsQ0FBQyxJQUFJLEVBQUU7QUFDakMsTUFBTSxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsR0FBRyxFQUFFO0FBQy9DLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFO0FBQzdDLFVBQVUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3hCLFNBQVM7QUFDVCxRQUFRLE9BQU8sR0FBRyxDQUFDO0FBQ25CLE9BQU8sQ0FBQyxDQUFDO0FBQ1Q7QUFDQSxNQUFNLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDL0IsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtBQUNyQyxNQUFNLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDM0IsVUFBVSxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNoQyxVQUFVLFVBQVUsR0FBRyxPQUFPLEdBQUcsVUFBVTtBQUMzQyxVQUFVLFFBQVEsR0FBRyxVQUFVLElBQUksY0FBYyxHQUFHLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxDQUFDO0FBQ3hGO0FBQ0EsTUFBTSxJQUFJLE9BQU87QUFDakIsUUFBUSxDQUFDLENBQUMsVUFBVSxJQUFJLGFBQWEsTUFBTSxPQUFPLElBQUksZUFBZSxDQUFDO0FBQ3RFLFNBQVMsQ0FBQyxVQUFVLElBQUksYUFBYSxNQUFNLE9BQU8sSUFBSSxlQUFlLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hHLFNBQVMsQ0FBQyxVQUFVLEtBQUssYUFBYSxHQUFHLGVBQWUsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDL0g7QUFDQTtBQUNBLE1BQU0sSUFBSSxFQUFFLFFBQVEsSUFBSSxPQUFPLENBQUMsRUFBRTtBQUNsQyxRQUFRLE9BQU8sSUFBSSxDQUFDO0FBQ3BCLE9BQU87QUFDUDtBQUNBLE1BQU0sSUFBSSxVQUFVLEdBQUcsY0FBYyxFQUFFO0FBQ3ZDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QjtBQUNBLFFBQVEsVUFBVSxJQUFJLE9BQU8sR0FBRyxjQUFjLEdBQUcsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO0FBQzNFLE9BQU87QUFDUDtBQUNBLE1BQU0sSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sSUFBSSxLQUFLLEVBQUU7QUFDakIsUUFBUSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUM3RSxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUUsT0FBTztBQUNQO0FBQ0EsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLE1BQU0sSUFBSSxLQUFLLEVBQUU7QUFDakIsUUFBUSxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUNsRixRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUUsT0FBTztBQUNQO0FBQ0EsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLE1BQU0sSUFBSSxLQUFLLEVBQUU7QUFDakIsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3hCLE9BQU87QUFDUDtBQUNBLE1BQU0sSUFBSSxVQUFVLEdBQUcsYUFBYSxFQUFFO0FBQ3RDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUUsT0FBTztBQUNQO0FBQ0EsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUU7QUFDM0IsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLE9BQU87QUFDUDtBQUNBLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7QUFDM0I7QUFDQSxNQUFNLE9BQU8sSUFBSSxDQUFDO0FBQ2xCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxZQUFZLENBQUMsTUFBTSxFQUFFO0FBQ2xDLE1BQU0sSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQzFCLFFBQVEsS0FBSyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDeEMsVUFBVSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLFNBQVM7QUFDVCxPQUFPO0FBQ1AsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFO0FBQ25DLE1BQU0sT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtBQUM5QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxLQUFLQSxXQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzVFLE1BQU0sT0FBTyxXQUFXO0FBQ3hCLFFBQVEsSUFBSSxJQUFJLEdBQUcsU0FBUztBQUM1QixZQUFZLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDdEIsWUFBWSxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUN0RCxZQUFZLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEM7QUFDQSxRQUFRLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFO0FBQ2pDLFVBQVUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDN0MsU0FBUztBQUNULFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ25CLFFBQVEsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6QyxRQUFRLE9BQU8sRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFO0FBQ2hDLFVBQVUsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxTQUFTO0FBQ1QsUUFBUSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVDLFFBQVEsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1QyxPQUFPLENBQUM7QUFDUixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO0FBQ2xDLE1BQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7QUFDckMsTUFBTSxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTTtBQUNsQyxVQUFVLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7QUFDdkQsVUFBVSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDO0FBQ0EsTUFBTSxPQUFPLE1BQU0sRUFBRSxFQUFFO0FBQ3ZCLFFBQVEsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BDLFFBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHQSxXQUFTLENBQUM7QUFDaEYsT0FBTztBQUNQLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtBQUNsQyxNQUFNLElBQUksR0FBRyxLQUFLLGFBQWEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEUsUUFBUSxPQUFPO0FBQ2YsT0FBTztBQUNQO0FBQ0EsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFXLEVBQUU7QUFDOUIsUUFBUSxPQUFPO0FBQ2YsT0FBTztBQUNQO0FBQ0EsTUFBTSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFVBQVUsR0FBRyxhQUFhLElBQUksU0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFO0FBQzNELE1BQU0sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN6QyxLQUFLLENBQUM7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRTtBQUMxRCxNQUFNLElBQUksTUFBTSxJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNwQyxNQUFNLE9BQU8sV0FBVyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqSCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLElBQUksRUFBRTtBQUM1QixNQUFNLElBQUksS0FBSyxHQUFHLENBQUM7QUFDbkIsVUFBVSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCO0FBQ0EsTUFBTSxPQUFPLFdBQVc7QUFDeEIsUUFBUSxJQUFJLEtBQUssR0FBRyxTQUFTLEVBQUU7QUFDL0IsWUFBWSxTQUFTLEdBQUcsUUFBUSxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQztBQUN4RDtBQUNBLFFBQVEsVUFBVSxHQUFHLEtBQUssQ0FBQztBQUMzQixRQUFRLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtBQUMzQixVQUFVLElBQUksRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFO0FBQ3BDLFlBQVksT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsV0FBVztBQUNYLFNBQVMsTUFBTTtBQUNmLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUNwQixTQUFTO0FBQ1QsUUFBUSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUNBLFdBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNoRCxPQUFPLENBQUM7QUFDUixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3RDLE1BQU0sSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3BCLFVBQVUsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNO0FBQy9CLFVBQVUsU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDakM7QUFDQSxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUtBLFdBQVMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2hELE1BQU0sT0FBTyxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUU7QUFDN0IsUUFBUSxJQUFJLElBQUksR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQztBQUMvQyxZQUFZLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEM7QUFDQSxRQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkMsUUFBUSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQzdCLE9BQU87QUFDUCxNQUFNLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksWUFBWSxHQUFHLGFBQWEsQ0FBQyxTQUFTLE1BQU0sRUFBRTtBQUN0RCxNQUFNLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVU7QUFDL0MsUUFBUSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLE9BQU87QUFDUCxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFNBQVMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0FBQzNFLFFBQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdkYsT0FBTyxDQUFDLENBQUM7QUFDVCxNQUFNLE9BQU8sTUFBTSxDQUFDO0FBQ3BCLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFO0FBQzFCLE1BQU0sSUFBSSxPQUFPLEtBQUssSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQ3ZELFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDckIsT0FBTztBQUNQLE1BQU0sSUFBSSxNQUFNLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ2hDLE1BQU0sT0FBTyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksR0FBRyxNQUFNLENBQUM7QUFDekUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLElBQUksRUFBRTtBQUM1QixNQUFNLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtBQUN4QixRQUFRLElBQUk7QUFDWixVQUFVLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtBQUN0QixRQUFRLElBQUk7QUFDWixVQUFVLFFBQVEsSUFBSSxHQUFHLEVBQUUsRUFBRTtBQUM3QixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtBQUN0QixPQUFPO0FBQ1AsTUFBTSxPQUFPLEVBQUUsQ0FBQztBQUNoQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDakQsTUFBTSxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsSUFBSSxFQUFFO0FBQzFDLFFBQVEsSUFBSSxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxRQUFRLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtBQUNuRSxVQUFVLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIsU0FBUztBQUNULE9BQU8sQ0FBQyxDQUFDO0FBQ1QsTUFBTSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM1QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxZQUFZLENBQUMsT0FBTyxFQUFFO0FBQ25DLE1BQU0sSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFO0FBQzFDLFFBQVEsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDL0IsT0FBTztBQUNQLE1BQU0sSUFBSSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0UsTUFBTSxNQUFNLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDMUQsTUFBTSxNQUFNLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7QUFDNUMsTUFBTSxNQUFNLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7QUFDN0MsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUN2QyxNQUFNLEtBQUssS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksS0FBS0EsV0FBUyxHQUFHO0FBQzdFLFFBQVEsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUNqQixPQUFPLE1BQU07QUFDYixRQUFRLElBQUksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdDLE9BQU87QUFDUCxNQUFNLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDcEQsTUFBTSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7QUFDL0IsUUFBUSxPQUFPLEVBQUUsQ0FBQztBQUNsQixPQUFPO0FBQ1AsTUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDO0FBQ25CLFVBQVUsUUFBUSxHQUFHLENBQUM7QUFDdEIsVUFBVSxNQUFNLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNwRDtBQUNBLE1BQU0sT0FBTyxLQUFLLEdBQUcsTUFBTSxFQUFFO0FBQzdCLFFBQVEsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO0FBQ3RFLE9BQU87QUFDUCxNQUFNLE9BQU8sTUFBTSxDQUFDO0FBQ3BCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsS0FBSyxFQUFFO0FBQzVCLE1BQU0sSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3BCLFVBQVUsTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNO0FBQ25ELFVBQVUsUUFBUSxHQUFHLENBQUM7QUFDdEIsVUFBVSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3RCO0FBQ0EsTUFBTSxPQUFPLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRTtBQUMvQixRQUFRLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQyxRQUFRLElBQUksS0FBSyxFQUFFO0FBQ25CLFVBQVUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3JDLFNBQVM7QUFDVCxPQUFPO0FBQ1AsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxNQUFNLEdBQUc7QUFDdEIsTUFBTSxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0FBQ3BDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNuQixRQUFRLE9BQU8sRUFBRSxDQUFDO0FBQ2xCLE9BQU87QUFDUCxNQUFNLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLFVBQVUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsVUFBVSxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3pCO0FBQ0EsTUFBTSxPQUFPLEtBQUssRUFBRSxFQUFFO0FBQ3RCLFFBQVEsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0MsT0FBTztBQUNQLE1BQU0sT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxTQUFTLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDdEQsTUFBTSxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQztBQUNyQyxVQUFVLGNBQWMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEYsVUFBVSxFQUFFLENBQUM7QUFDYixLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLFNBQVMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUN4RCxNQUFNLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxNQUFNLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDdkMsUUFBUSxRQUFRLEdBQUdBLFdBQVMsQ0FBQztBQUM3QixPQUFPO0FBQ1AsTUFBTSxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQztBQUNyQyxVQUFVLGNBQWMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxRyxVQUFVLEVBQUUsQ0FBQztBQUNiLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLGNBQWMsR0FBRyxRQUFRLENBQUMsU0FBUyxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQzFELE1BQU0sSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BDLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtBQUN6QyxRQUFRLFVBQVUsR0FBR0EsV0FBUyxDQUFDO0FBQy9CLE9BQU87QUFDUCxNQUFNLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDO0FBQ3JDLFVBQVUsY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRUEsV0FBUyxFQUFFLFVBQVUsQ0FBQztBQUN2RyxVQUFVLEVBQUUsQ0FBQztBQUNiLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7QUFDbkMsTUFBTSxJQUFJLE1BQU0sR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3BELE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNuQixRQUFRLE9BQU8sRUFBRSxDQUFDO0FBQ2xCLE9BQU87QUFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUtBLFdBQVMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELE1BQU0sT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7QUFDeEMsTUFBTSxJQUFJLE1BQU0sR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3BELE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNuQixRQUFRLE9BQU8sRUFBRSxDQUFDO0FBQ2xCLE9BQU87QUFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUtBLFdBQVMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELE1BQU0sQ0FBQyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDckIsTUFBTSxPQUFPLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2hELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsY0FBYyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7QUFDOUMsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNO0FBQ25DLFVBQVUsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7QUFDakUsVUFBVSxFQUFFLENBQUM7QUFDYixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO0FBQ3pDLE1BQU0sT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTTtBQUNuQyxVQUFVLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDM0QsVUFBVSxFQUFFLENBQUM7QUFDYixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDNUMsTUFBTSxJQUFJLE1BQU0s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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFO0FBQzNCLE1BQU0sT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLFdBQVMsQ0FBQztBQUNoRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQ3BDLE1BQU0sT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTTtBQUM5RCxVQUFVLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0FBQ3BDLFVBQVUsS0FBSyxDQUFDO0FBQ2hCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO0FBQ2hELE1BQU0sT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTTtBQUM5RCxVQUFVLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUQsVUFBVSxLQUFLLENBQUM7QUFDaEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUU7QUFDcEQsTUFBTSxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO0FBQzlELFVBQVUsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUVBLFdBQVMsRUFBRSxVQUFVLENBQUM7QUFDM0QsVUFBVSxLQUFLLENBQUM7QUFDaEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsU0FBUyxLQUFLLEVBQUUsT0FBTyxFQUFFO0FBQ25ELE1BQU0sSUFBSSxNQUFNLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU07QUFDbkQsVUFBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMxQztBQUNBLE1BQU0sVUFBVSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLFNBQVMsS0FBSyxFQUFFO0FBQzFELFFBQVEs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S0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUNwRCxNQUFNLE9BQU8sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN2RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7QUFDbkMsTUFBTSxJQUFJLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUNwQyxRQUFRLE9BQU8sRUFBRSxDQUFDO0FBQ2xCLE9BQU87QUFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUtBLFdBQVMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELE1BQU0sT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7QUFDeEMsTUFBTSxJQUFJLE1BQU0sR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3BELE1BQU0sSUFBSSxDQUFDLE1BQU0s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QU0sR0FBRyxDQUFDLENBQUMsR0FBR0EsV0FBUyxDQUFDO0FBQ2pFO0FBQ0EsTUFBTSxRQUFRLEdBQUcsT0FBTyxRQUFRLElBQUksVUFBVSxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLElBQUlBLFdBQVMsQ0FBQztBQUN0RixNQUFNLE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN6QyxLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRTtBQUMxQixNQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQyxNQUFNLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBQzlCLE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtBQUNyQyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixNQUFNLE9BQU8sS0FBSyxDQUFDO0FBQ25CLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMs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SUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRTtBQUMzQyxNQUFNLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRTtBQUMvQyxNQUFNLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDOUQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtBQUN2RCxNQUFNLEtBQUssR0FBRyxLQUFLLEtBQUtBLFdBQVMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pELE1BQU0sT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMzRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUU7QUFDM0MsTUFBTSxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxHQUFHLFFBQVEsQ0FBQztBQUM1RCxNQUFNLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRTtBQUNoRCxNQUFNLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxjQUFjLEdBQUcsYUFBYSxDQUFDO0FBQ3RFLE1BQU0sT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQ2hFLE1BQU0sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRTtBQUM1QyxRQUFRLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsT0FBTyxNQUFNO0FBQ2IsUUFBUSxlQUFlLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDOUMsT0FBTztBQUNQLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtBQUMzRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM3RSxNQUFNLFNBQVMsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25FO0FBQ0EsTUFBTSxJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0FBQ3JDLE1BQU0sSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO0FBQ3pCLFFBQVEsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3JELE9BQU87QUFDUCxNQUFNLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQztBQUNqQyxXQUFXLFNBQVMsSUFBSSxNQUFNLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzNFLFdBQVcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO0FBQzlELE1BQU0sSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3BCLFVBQVUsTUFBTSxHQUFHLE9BQU8sSUFBSSxJQUFJLFVBQVU7QUFDNUMsVUFBVSxNQUFNLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzNFO0FBQ0EsTUFBTSxRQUFRLENBQUMsVUFBVSxFQUFFLFNBQVMsS0FBSyxFQUFFO0FBQzNDLFFBQVEsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzVGLE9BQU8sQ0FBQyxDQUFDO0FBQ1QsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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V0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ25ILE1BQU0sTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0FBQzdDLE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDNUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxHQUFHQSxXQUFTLEdBQUcsS0FBSyxDQUFDO0FBQ3hDLE1BQU0sSUFBSSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRUEsV0FBUyxFQUFFQSxXQUFTLEVBQUVBLFdBQVMsRUFBRUEsV0FBUyxFQUFFQSxXQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDekgsTUFBTSxNQUFNLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7QUFDbEQsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0FBQzNDLE1BQU0sSUFBSSxRQUFRO0FBQ2xCLFVBQVUsUUFBUTtBQUNsQixVQUFVLE9BQU87QUFDakIsVUFBVSxNQUFNO0FBQ2hCLFVBQVUsT0FBTztBQUNqQixVQUFVLFlBQVk7QUFDdEIsVUFBVSxjQUFjLEdBQUcsQ0FBQztBQUM1QixVQUFVLE9BQU8sR0FBRyxLQUFLO0FBQ3pCLFVBQVUsTUFBTSxHQUFHLEtBQUs7QUFDeEIsVUFBVSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQzFCO0FBQ0EsTUFBTSxJQUFJLE9BQU8sSUFBSSxJQUFJLFVBQVUsRUFBRTtBQUNyQyxRQUFRLE1BQU0sSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDN0MsT0FBTztBQUNQLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUM3QixRQUFRLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUNwQyxRQUFRLE1BQU0sR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDO0FBQ3RDLFFBQVEsT0FBTyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0FBQ3JGLFFBQVEsUUFBUSxHQUFHLFVBQVUsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0FBQ3pFLE9BQU87QUFDUDtBQUNBLE1BQU0sU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFO0FBQ2hDLFFBQVEsSUFBSSxJQUFJLEdBQUcsUUFBUTtBQUMzQixZQUFZLE9BQU8sR0FBRyxRQUFRLENBQUM7QUFDL0I7QUFDQSxRQUFRLFFBQVEsR0FBRyxRQUFRLEdBQUdBLFdBQVMsQ0FBQztBQUN4QyxRQUFRLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFDOUIsUUFBUSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDM0MsUUFBUSxPQUFPLE1BQU0sQ0FBQztBQUN0QixPQUFPO0FBQ1A7QUFDQSxNQUFNLFNBQVMsV0FBVyxDQUFDLElBQUksRUFBRTtBQUNqQztBQUNBLFFBQVEsY0FBYyxHQUFHLElBQUksQ0FBQztBQUM5QjtBQUNBLFFBQVEsT0FBTyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQ7QUFDQSxRQUFRLE9BQU8sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDbkQsT0FBTztBQUNQO0FBQ0EsTUFBTSxTQUFTLGFBQWEsQ0FBQyxJQUFJLEVBQUU7QUFDbkMsUUFBUSxJQUFJLGlCQUFpQixHQUFHLElBQUksR0FBRyxZQUFZO0FBQ25ELFlBQVksbUJBQW1CLEdBQUcsSUFBSSxHQUFHLGNBQWM7QUFDdkQsWUFBWSxXQUFXLEdBQUcsSUFBSSxHQUFHLGlCQUFpQixDQUFDO0FBQ25EO0FBQ0EsUUFBUSxPQUFPLE1BQU07QUFDckIsWUFBWSxTQUFTLENBQUMsV0FBVyxFQUFFLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUNqRSxZQUFZLFdBQVcsQ0FBQztBQUN4QixPQUFPO0FBQ1A7QUFDQSxNQUFNLFNBQVMsWUFBWSxDQUFDLElBQUksRUFBRTtBQUNsQyxRQUFRLElBQUksaUJBQWlCLEdBQUcsSUFBSSxHQUFHLFlBQVk7QUFDbkQsWUFBWSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsY0FBYyxDQUFDO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxRQUFRLFlBQVksS0FBS0EsV0FBUyxLQUFLLGlCQUFpQixJQUFJLElBQUksQ0FBQztBQUN6RSxXQUFXLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxLQUFLLE1BQU0sSUFBSSxtQkFBbUIsSUFBSSxPQUFPLENBQUMsRUFBRTtBQUNqRixPQUFPO0FBQ1A7QUFDQSxNQUFNLFNBQVMsWUFBWSxHQUFHO0FBQzlCLFFBQVEsSUFBSSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDekIsUUFBUSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUNoQyxVQUFVLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BDLFNBQVM7QUFDVDtBQUNBLFFBQVEsT0FBTyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEUsT0FBTztBQUNQO0FBQ0EsTUFBTSxTQUFTLFlBQVksQ0FBQyxJQUFJLEVBQUU7QUFDbEMsUUFBUSxPQUFPLEdBQUdBLFdBQVMsQ0FBQztBQUM1QjtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQUksUUFBUSxJQUFJLFFBQVEsRUFBRTtBQUNsQyxVQUFVLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xDLFNBQVM7QUFDVCxRQUFRLFFBQVEsR0FBRyxRQUFRLEdBQUdBLFdBQVMsQ0FBQztBQUN4QyxRQUFRLE9BQU8sTUFBTSxDQUFDO0FBQ3RCLE9BQU87QUFDUDtBQUNBLE1BQU0sU0FBUyxNQUFNLEdBQUc7QUFDeEIsUUFBUSxJQUFJLE9BQU8sS0FBS0EsV0FBUyxFQUFFO0FBQ25DLFVBQVUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLFNBQVM7QUFDVCxRQUFRLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFDM0IsUUFBUSxRQUFRLEdBQUcsWUFBWSxHQUFHLFFBQVEsR0FBRyxPQUFPLEdBQUdBLFdBQVMsQ0FBQztBQUNqRSxPQUFPO0FBQ1A7QUFDQSxNQUFNLFNBQVMsS0FBSyxHQUFHO0FBQ3ZCLFFBQVEsT0FBTyxPQUFPLEtBQUtBLFdBQVMsR0FBRyxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDcEUsT0FBTztBQUNQO0FBQ0EsTUFBTSxTQUFTLFNBQVMsR0FBRztBQUMzQixRQUFRLElBQUksSUFBSSxHQUFHLEdBQUcsRUFBRTtBQUN4QixZQUFZLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUM7QUFDQSxRQUFRLFFBQVEsR0FBRyxTQUFTLENBQUM7QUFDN0IsUUFBUSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQ3hCLFFBQVEsWUFBWSxHQUFHLElBQUksQ0FBQztBQUM1QjtBQUNBLFFBQVEsSUFBSSxVQUFVLEVBQUU7QUFDeEIsVUFBVSxJQUFJLE9BQU8sS0FBS0EsV0FBUyxFQUFFO0FBQ3JDLFlBQVksT0FBTyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDN0MsV0FBVztBQUNYLFVBQVUsSUFBSSxNQUFNLEVBQUU7QUFDdEI7QUFDQSxZQUFZLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNsQyxZQUFZLE9BQU8sR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELFlBQVksT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDNUMsV0FBVztBQUNYLFNBQVM7QUFDVCxRQUFRLElBQUksT0FBTyxLQUFLQSxXQUFTLEVBQUU7QUFDbkMsVUFBVSxPQUFPLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuRCxTQUFTO0FBQ1QsUUFBUSxPQUFPLE1BQU0sQ0FBQztBQUN0QixPQUFPO0FBQ1AsTUFBTSxTQUFTLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUNoQyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0FBQzlCLE1BQU0sT0FBTyxTQUFTLENBQUM7QUFDdkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFO0FBQzlDLE1BQU0sT0FBTyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN0QyxLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO0FBQ3BELE1BQU0sT0FBTyxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDeEQsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFO0FBQ3hCLE1BQU0sT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzlDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDckMsTUFBTSxJQUFJLE9BQU8sSUFBSSxJQUFJLFVBQVUsS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLE9BQU8sUUFBUSxJQUFJLFVBQVUsQ0FBQyxFQUFFO0FBQzVGLFFBQVEsTUFBTSxJQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM3QyxPQUFPO0FBQ1AsTUFBTSxJQUFJLFFBQVEsR0FBRyxXQUFXO0FBQ2hDLFFBQVEsSUFBSSxJQUFJLEdBQUcsU0FBUztBQUM1QixZQUFZLEdBQUcsR0FBRyxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqRSxZQUFZLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO0FBQ25DO0FBQ0EsUUFBUSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7QUFDNUIsVUFBVSxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEMsU0FBUztBQUNULFFBQVEsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUMsUUFBUSxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQztBQUN6RCxRQUFRLE9BQU8sTUFBTSxDQUFDO0FBQ3RCLE9BQU8sQ0FBQztBQUNSLE1BQU0sUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLE9BQU8sQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLENBQUM7QUFDdkQsTUFBTSxPQUFPLFFBQVEsQ0FBQztBQUN0QixLQUFLO0FBQ0w7QUFDQTtBQUNBLElBQUksT0FBTyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxTQUFTLEVBQUU7QUFDL0IsTUFBTSxJQUFJLE9BQU8sU0FBUyxJQUFJLFVBQVUsRUFBRTtBQUMxQyxRQUFRLE1BQU0sSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDN0MsT0FBTztBQUNQLE1BQU0sT0FBTyxXQUFXO0FBQ3hCLFFBQVEsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDO0FBQzdCLFFBQVEsUUFBUSxJQUFJLENBQUMsTUFBTTtBQUMzQixVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9DLFVBQVUsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELFVBQVUsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRSxVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFFLFNBQVM7QUFDVCxRQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM1QyxPQUFPLENBQUM7QUFDUixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRTtBQUN4QixNQUFNLE9BQU8sTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxFQUFFLFVBQVUsRUFBRTtBQUN2RCxNQUFNLFVBQVUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEUsVUFBVSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQzNELFVBQVUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6RTtBQUNBLE1BQU0sSUFBSSxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztBQUMxQyxNQUFNLE9BQU8sUUFBUSxDQUFDLFNBQVMsSUFBSSxFQUFFO0FBQ3JDLFFBQVEsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLFlBQVksTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ3pEO0FBQ0EsUUFBUSxPQUFPLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRTtBQUNqQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNsRSxTQUFTO0FBQ1QsUUFBUSxPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLE9BQU8sQ0FBQyxDQUFDO0FBQ1QsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxFQUFFLFFBQVEsRUFBRTtBQUNwRCxNQUFNLElBQUksT0FBTyxHQUFHLGNBQWMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDakUsTUFBTSxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUVBLFdBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDL0UsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDekQsTUFBTSxJQUFJLE9BQU8sR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLE1BQU0sT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFQSxXQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JGLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxFQUFFLE9BQU8sRUFBRTtBQUNqRCxNQUFNLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUVBLFdBQVMsRUFBRUEsV0FBUyxFQUFFQSxXQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDekYsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO0FBQy9CLE1BQU0sSUFBSSxPQUFPLElBQUksSUFBSSxVQUFVLEVBQUU7QUFDckMsUUFBUSxNQUFNLElBQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzdDLE9BQU87QUFDUCxNQUFNLEtBQUssR0FBRyxLQUFLLEtBQUtBLFdBQVMsR0FBRyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdELE1BQU0sT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ25DLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO0FBQ2pDLE1BQU0sSUFBSSxPQUFPLElBQUksSUFBSSxVQUFVLEVBQUU7QUFDckMsUUFBUSxNQUFNLElBQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzdDLE9BQU87QUFDUCxNQUFNLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sT0FBTyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUU7QUFDckMsUUFBUSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQy9CLFlBQVksU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2xEO0FBQ0EsUUFBUSxJQUFJLEtBQUssRUFBRTtBQUNuQixVQUFVLFNBQVMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEMsU0FBUztBQUNULFFBQVEsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1QyxPQUFPLENBQUMsQ0FBQztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0FBQzNDLE1BQU0sSUFBSSxPQUFPLEdBQUcsSUFBSTtBQUN4QixVQUFVLFFBQVEsR0FBRyxJQUFJLENBQUM7QUFDMUI7QUFDQSxNQUFNLElBQUksT0FBTyxJQUFJLElBQUksVUFBVSxFQUFFO0FBQ3JDLFFBQVEsTUFBTSxJQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM3QyxPQUFPO0FBQ1AsTUFBTSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUM3QixRQUFRLE9BQU8sR0FBRyxTQUFTLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUNyRSxRQUFRLFFBQVEsR0FBRyxVQUFVLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUN6RSxPQUFPO0FBQ1AsTUFBTSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO0FBQ2xDLFFBQVEsU0FBUyxFQUFFLE9BQU87QUFDMUIsUUFBUSxTQUFTLEVBQUUsSUFBSTtBQUN2QixRQUFRLFVBQVUsRUFBRSxRQUFRO0FBQzVCLE9BQU8sQ0FBQyxDQUFDO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEtBQUssQ0FBQyxJQUFJLEVBQUU7QUFDekIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7QUFDbEMsTUFBTSxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbkQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxTQUFTLEdBQUc7QUFDekIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtBQUM3QixRQUFRLE9BQU8sRUFBRSxDQUFDO0FBQ2xCLE9BQU87QUFDUCxNQUFNLElBQUksS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQixNQUFNLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRTtBQUMxQixNQUFNLE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2xELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO0FBQzFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sVUFBVSxJQUFJLFVBQVUsR0FBRyxVQUFVLEdBQUdBLFdBQVMsQ0FBQztBQUM1RSxNQUFNLE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxVQUFVLENBQUMs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QztBQUN2QixTQUFTO0FBQ1QsT0FBTztBQUNQLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDbkMsTUFBTSxPQUFPLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7QUFDbkQsTUFBTSxVQUFVLEdBQUcsT0FBTyxVQUFVLElBQUksVUFBVSxHQUFHLFVBQVUsR0FBR0EsV0FBUyxDQUFDO0FBQzVFLE1BQU0sSUFBSSxNQUFNLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUdBLFdBQVMsQ0FBQztBQUNyRSxNQUFNLE9BQU8sTUFBTSxLQUFLQSxXQUFTLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUVBLFdBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ2hHLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsS0FBSyxFQUFFO0FBQzVCLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUNoQyxRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JCLE9BQU87QUFDUCxNQUFNLElBQUksR0FBRyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFFBQVEsSUFBSSxHQUFHLElBQUksU0FBUztBQUNoRCxTQUFTLE9BQU8sS0FBSyxDQUFDLE9BQU8sSUFBSSxRQUFRLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxJQUFJLFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3JHLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRTtBQUM3QixNQUFNLE9BQU8sT0FBTyxLQUFLLElBQUksUUFBUSxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFVBQVUsQ0FBQyxLQUFLLEVBQUU7QUFDL0IsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVCLFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDckIsT0FBTztBQUNQO0FBQ0E7QUFDQSxNQUFNLElBQUksR0FBRyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sSUFBSSxHQUFHLElBQUksTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQztBQUNuRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUU7QUFDOUIsTUFBTSxPQUFPLE9BQU8sS0FBSyxJQUFJLFFBQVEsSUFBSSxLQUFLLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25FLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRTtBQUM3QixNQUFNLE9BQU8sT0FBTyxLQUFLLElBQUksUUFBUTtBQUNyQyxRQUFRLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksZ0JBQWdCLENBQUM7QUFDbEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRTtBQUM3QixNQUFNLElBQUksSUFBSSxHQUFHLE9BQU8sS0FBSyxDQUFDO0FBQzlCLE1BQU0sT0FBTyxLQUFLLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDO0FBQ3ZFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxZQUFZLENBQUMsS0FBSyxFQUFFO0FBQ2pDLE1BQU0sT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVEsQ0FBQztBQUN2RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLEtBQUssR0FBRyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFO0FBQ3JDLE1BQU0sT0FBTyxNQUFNLEtBQUssTUFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3BGLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFO0FBQ3JELE1BQU0sVUFBVSxHQUFHLE9BQU8sVUFBVSxJQUFJLFVBQVUsR0FBRyxVQUFVLEdBQUdBLFdBQVMsQ0FBQztBQUM1RSxNQUFNLE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzNFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUU7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsTUFBTSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDaEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFO0FBQzdCLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDN0IsUUFBUSxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3pDLE9BQU87QUFDUCxNQUFNLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsTUFBTSxDQUFDLEtBQUssRUFBRTtBQUMzQixNQUFNLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztBQUM1QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUU7QUFDMUIsTUFBTSxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUM7QUFDM0IsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFO0FBQzdCLE1BQU0sT0FBTyxPQUFPLEtBQUssSUFBSSxRQUFRO0FBQ3JDLFNBQVMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztBQUNoRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxhQUFhLENBQUMsS0FBSyxFQUFFO0FBQ2xDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxFQUFFO0FBQ2xFLFFBQVEsT0FBTyxLQUFLLENBQUM7QUFDckIsT0FBTztBQUNQLE1BQU0sSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLE1B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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUU7QUFDOUIsTUFBTSxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDO0FBQ2hFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRTtBQUM5QixNQUFNLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUM7QUFDcEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxFQUFFLEdBQUcseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQyxTQUFTLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDL0QsTUFBTSxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUM7QUFDNUIsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRTtBQUM1QixNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUU7QUFDbEIsUUFBUSxPQUFPLEVBQUUsQ0FBQztBQUNsQixPQUFPO0FBQ1AsTUFBTSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUM5QixRQUFRLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDekUsT0FBTztBQUNQLE1BQU0sSUFBSSxXQUFXLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO0FBQzdDLFFBQVEsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNyRCxPQUFPO0FBQ1AsTUFBTSxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQzdCLFVBQVUsSUFBSSxHQUFHLEdBQUcsSUFBSSxNQUFNLEdBQUcsVUFBVSxJQUFJLEdBQUcsSUFBSSxNQUFNLEdBQUcsVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0FBQ3BGO0FBQ0EsTUFBTSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFO0FBQ2xCLFFBQVEsT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDdkMsT0FBTztBQUNQLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixNQUFNLElBQUksS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7QUFDckQsUUFBUSxJQUFJLElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLFFBQVEsT0FBTyxJQUFJLEdBQUcsV0FBVyxDQUFDO0FBQ2xDLE9BQU87QUFDUCxNQUFNLE9BQU8sS0FBSyxLQUFLLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRTtBQUM5QixNQUFNLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDbEMsVUFBVSxTQUFTLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNqQztBQUNBLE1BQU0sT0FBTyxNQUFNLEtBQUssTUFBTSxJQUFJLFNBQVMsR0FBRyxNQUFNLEdBQUcsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7QUFDL0UsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBTSxPQUFPLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBTSxJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVEsRUFBRTtBQUNwQyxRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JCLE9BQU87QUFDUCxNQUFNLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzNCLFFBQVEsT0FBTyxHQUFHLENBQUM7QUFDbkIsT0FBTztBQUNQLE1BQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDM0IsUUFBUSxJQUFJLEtBQUssR0FBRyxPQUFPLEtBQUssQ0FBQyxPQUFPLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7QUFDakYsUUFBUSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFLElBQUksS0FBSyxDQUFDO0FBQ3ZELE9BQU87QUFDUCxNQUFNLElBQUksT0FBTyxLQUFLLElBQUksUUFBUSxFQUFFO0FBQ3BDLFFBQVEsT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQztBQUM1QyxPQUFPO0FBQ1AsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEMsTUFBTSxJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVDLE1BQU0sT0FBTyxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztBQUMvQyxVQUFVLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hELFdBQVcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsRCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRTtBQUNsQyxNQUFNLE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5QyxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsYUFBYSxDQUFDLEtBQUssRUFBRTtBQUNsQyxNQUFNLE9BQU8sS0FBSztBQUNsQixVQUFVLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztBQUMxRSxXQUFXLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFO0FBQzdCLE1BQU0sT0FBTyxLQUFLLElBQUksSUFBSSxHQUFHLEVBQUUsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEQsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksTUFBTSxHQUFHLGNBQWMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUU7QUFDekQsTUFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDdEQsUUFBUSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNqRCxRQUFRLE9BQU87QUFDZixPQUFPO0FBQ1AsTUFBTSxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtBQUM5QixRQUFRLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUU7QUFDOUMsVUFBVSxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxTQUFTO0FBQ1QsT0FBTztBQUNQLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLFNBQVMsTUFBTSxFQUFFLE1BQU0sRUFBRTtBQUMzRCxNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pELEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFlBQVksR0FBRyxjQUFjLENBQUMsU0FBUyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7QUFDckYsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDN0QsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFVBQVUsR0FBRyxjQUFjLENBQUMsU0FBUyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7QUFDbkYsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDM0QsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtBQUN4QyxNQUFNLE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3hFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsV0FBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUU7QUFDNUMsTUFBTSxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUM3RSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtBQUNyQyxNQUFNLE9BQU8sTUFBTSxJQUFJLElBQUk7QUFDM0IsVUFBVSxNQUFNO0FBQ2hCLFVBQVUsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsVUFBVSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7QUFDMUMsTUFBTSxPQUFPLE1BQU0sSUFBSSxJQUFJO0FBQzNCLFVBQVUsTUFBTTtBQUNoQixVQUFVLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNqRSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtBQUN0QyxNQUFNLE9BQU8sTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsV0FBVyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7QUFDM0MsTUFBTSxPQUFPLE1BQU0sSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxNQUFNLEVBQUU7QUFDL0IsTUFBTSxPQUFPLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDdkUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ2pDLE1BQU0sT0FBTyxNQUFNLElBQUksSUFBSSxHQUFHLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTtBQUM3QyxNQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxJQUFJLEdBQUdBLFdBQVMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3RFLE1BQU0sT0FBTyxNQUFNLEtBQUtBLFdBQVMsR0FBRyxZQUFZLEdBQUcsTUFBTSxDQUFDO0FBQzFELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFDQTtBQUNBLElBQUksU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQzFCLE1BQU0sT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1RSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUU7QUFDNUIsTUFBTSxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwRixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7QUFDdkMsTUFBTSxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxQztBQUNBLE1BQU0sVUFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO0FBQ3RELFFBQVEsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNyRSxPQUFPLENBQUMsQ0FBQztBQUNULE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7QUFDekMsTUFBTSxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxQztBQUNBLE1BQU0sVUFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO0FBQ3RELFFBQVEsZUFBZSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNuRSxPQUFPLENBQUMsQ0FBQztBQUNULE1BQU0sT0FBTyxNQUFNLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksS0FBSyxHQUFHLGNBQWMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO0FBQ2xFLE1BQU0sU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUMsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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QUFLLEdBQUcsTUFBTSxJQUFJLElBQUksR0FBR0EsV0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RSxRQUFRLElBQUksS0FBSyxLQUFLQSxXQUFTLEVBQUU7QUFDakMsVUFBVSxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3pCLFVBQVUsS0FBSyxHQUFHLFlBQVksQ0FBQztBQUMvQixTQUFTO0FBQ1QsUUFBUSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ2hFLE9BQU87QUFDUCxNQUFNLE9BQU8sTUFBTSxDQUFDO0FBQ3BCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUN0QyxNQUFNLE9BQU8sTUFBTSxJQUFJLElBQUksR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDcEUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7QUFDdEQsTUFBTSxVQUFVLEdBQUcsT0FBTyxVQUFVLElBQUksVUFBVSxHQUFHLFVBQVUsR0FBR0EsV0FBUyxDQUFD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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtBQUMzQyxNQUFNLE9BQU8sTUFBTSxJQUFJLElBQUksR0FBRyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkYsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7QUFDM0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxVQUFVLElBQUksVUFBVSxHQUFHLFVBQVUsR0FBR0EsV0FBUyxDQUFDO0FBQzVFLE1BQU0sT0FBTyxNQUFNLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbkcsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQzVCLE1BQU0sT0FBTyxNQUFNLElBQUksSUFBSSxHQUFHLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsTUFBTSxFQUFFO0FBQzlCLE1BQU0sT0FBTyxNQUFNLElBQUksSUFBSSxHQUFHLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDekMsTUFBTSxJQUFJLEtBQUssS0FBS0EsV0FBUyxFQUFFO0FBQy9CLFFBQVEsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUN0QixRQUFRLEtBQUssR0FBR0EsV0FBUyxDQUFDO0FBQzFCLE9BQU87QUFDUCxNQUFNLElBQUksS0FBSyxLQUFLQSxXQUFTLEVBQUU7QUFDL0IsUUFBUSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLFFBQVEsS0FBSyxHQUFHLEtBQUssS0FBSyxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUM1QyxPQUFPO0FBQ1AsTUFBTSxJQUFJLEtBQUssS0FBS0EsV0FBUyxFQUFFO0FBQy9CLFFBQVEsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxRQUFRLEtBQUssR0FBRyxLQUFLLEtBQUssS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDNUMsT0FBTztBQUNQLE1BQU0sT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2RCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUN6QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIsTUFBTSxJQUFJLEdBQUcsS0FBS0EsV0FBUyxFQUFFO0FBQzdCLFFBQVEsR0FBRyxHQUFHLEtBQUssQ0FBQztBQUNwQixRQUFRLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDbEIsT0FBTyxNQUFNO0FBQ2IsUUFBUSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLE9BQU87QUFDUCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsTUFBTSxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzdDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtBQUM1QyxNQUFNLElBQUksUUFBUSxJQUFJLE9BQU8sUUFBUSxJQUFJ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LENBQUMsS0FBSyxFQUFFLFNBQVMsSUFBSSxFQUFFO0FBQzVELFFBQVEsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUU7QUFDMUMsVUFBVSxNQUFNLElBQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQy9DLFNBQVM7QUFDVCxRQUFRLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUMsT0FBTyxDQUFDLENBQUM7QUFDVDtBQUNBLE1BQU0sT0FBTyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUU7QUFDckMsUUFBUSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN2QixRQUFRLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFO0FBQ2pDLFVBQVUsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xDLFVBQVUsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtBQUMxQyxZQUFZLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDOUMsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPLENBQUMsQ0FBQztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsTUFBTSxFQUFFO0FBQzlCLE1BQU0sT0FBTyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQzlELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBTSxPQUFPLFdBQVc7QUFDeEIsUUFBUSxPQUFPLEtBQUssQ0FBQztBQUNyQixPQUFPLENBQUM7QUFDUixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFO0FBQzVDLE1BQU0sT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEtBQUssSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0FBQ3ZFLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLElBQUksR0FBRyxVQUFVLEVBQUUsQ0FBQztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRTtBQUM3QixNQUFNLE9BQU8sS0FBSyxDQUFDO0FBQ25CLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxRQUFRLENBQUMsSUFBSSxFQUFFO0FBQzVCLE1BQU0sT0FBTyxZQUFZLENBQUMsT0FBTyxJQUFJLElBQUksVUFBVSxHQUFHLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDL0YsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQzdCLE1BQU0sT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQzdELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksU0FBUyxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtBQUM3QyxNQUFNLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxF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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLE1BQU0sQ0FBQyxDQUFDLEVBQUU7QUFDdkIsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLE1BQU0sT0FBTyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUU7QUFDckMsUUFBUSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEMsT0FBTyxDQUFDLENBQUM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsUUFBUSxDQUFDLElBQUksRUFBRTtBQUM1QixNQUFNLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM5RSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsVUFBVSxDQUFDLE1BQU0sRUFBRTtBQUNoQyxNQUFNLE9BQU8sU0FBUyxJQUFJLEVBQUU7QUFDNUIsUUFBUSxPQUFPLE1BQU0sSUFBSSxJQUFJLEdBQUdBLFdBQVMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2xFLE9BQU8sQ0FBQztBQUNSLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksS0FBSyxHQUFHLFdBQVcsRUFBRSxDQUFDO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxHQUFHO0FBQ3pCLE1BQU0sT0FBTyxFQUFFLENBQUM7QUFDaEIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsU0FBUyxHQUFHO0FBQ3pCLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFVBQVUsR0FBRztBQUMxQixNQUFNLE9BQU8sRUFBRSxDQUFDO0FBQ2hCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFVBQVUsR0FBRztBQUMxQixNQUFNLE9BQU8sRUFBRSxDQUFDO0FBQ2hCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLFFBQVEsR0FBRztBQUN4QixNQUFNLE9BQU8sSUFBSSxDQUFDO0FBQ2xCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFO0FBQ2hD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SyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7QUFDdkIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztBQUN2QixnQkFBZ0IsQ0FBQyxLQUFLLENB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RyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7QUFDcEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBQ25CLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7QUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO0FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN0QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztBQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO0FBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDO0FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztBQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7QUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO0FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxH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QUNiO0FBQ0EsWUFBWSxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNyRixTQUFTLENBQUMsQ0FBQztBQUNYLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFO0FBQ3JDLFFBQVEsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDMUQsUUFBUSxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUUsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksa0JBQWtCLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUN0QyxRQUFRLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLEtBQUs7QUFDdkQsWUFBWSxJQUFJLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO0FBQzNDO0FBQ0EsWUFBWSxNQUFNLFNBQVMsR0FBR0YsU0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2xGLFlBQVksSUFBSSxTQUFTLENBQUMsaUJBQWlCLElBQUksUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUU7QUFDakUsZ0JBQWdCLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDN0QsYUFBYTtBQUNiO0FBQ0EsWUFBWSxNQUFNLFNBQVMsR0FBR0EsU0FB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 diff --git a/notes/.obsidian/plugins/table-editor-obsidian/manifest.json b/notes/.obsidian/plugins/table-editor-obsidian/manifest.json index fa08d6e..4df2664 100644 --- a/notes/.obsidian/plugins/table-editor-obsidian/manifest.json +++ b/notes/.obsidian/plugins/table-editor-obsidian/manifest.json @@ -5,7 +5,7 @@ "authorUrl": "https://grosinger.net", "description": "Improved table navigation, formatting, manipulation, and formulas", "isDesktopOnly": false, - "minAppVersion": "0.13.8", - "version": "0.17.3", + "minAppVersion": "1.0.0", + "version": "0.18.0", "js": "main.js" -} +} \ No newline at end of file diff --git a/notes/.obsidian/plugins/table-editor-obsidian/styles.css b/notes/.obsidian/plugins/table-editor-obsidian/styles.css index 954ea06..089215c 100644 --- a/notes/.obsidian/plugins/table-editor-obsidian/styles.css +++ b/notes/.obsidian/plugins/table-editor-obsidian/styles.css @@ -1,5 +1,50 @@ -.HyperMD-table-row span.cm-inline-code { - font-size: 100%; +:root { + --advanced-tables-helper-size: 28px; +} + +.advanced-tables-buttons>div>.title { + font-weight: var(--font-medium); + font-size: var(--nav-item-size); + color: var(--nav-item-color); + text-decoration: underline; +} + +[data-type="advanced-tables-toolbar"] .nav-buttons-container { + column-gap: 0.2rem; + margin: 0.2rem 0 0.2rem 0; + justify-content: start; +} + +[data-type="advanced-tables-toolbar"] .nav-buttons-container::before { + min-width: 2.6rem; + line-height: var(--advanced-tables-helper-size); + font-size: var(--nav-item-size); + font-weight: var(--nav-item-weight); + color: var(--nav-item-color); +} + +[data-type="advanced-tables-toolbar"] .nav-buttons-container>* { + height: var(--advanced-tables-helper-size); + line-height: var(--advanced-tables-helper-size); +} + +[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button { + width: var(--advanced-tables-helper-size); + height: var(--advanced-tables-helper-size); + display: flex; + justify-content: center; + align-items: center; + border-radius: var(--radius-s); +} + +[data-type="advanced-tables-toolbar"] .nav-buttons-container .nav-action-button:hover { + background-color: var(--nav-item-background-hover); + color: var(--nav-item-color-hover); + font-weight: var(--nav-item-weight-hover); +} + +.advanced-tables-row-label { + width: 50px; } .widget-icon { @@ -25,4 +70,4 @@ .advanced-tables-donate-button { margin: 10px; -} +} \ No newline at end of file diff --git a/notes/.obsidian/plugins/various-complements/data.json b/notes/.obsidian/plugins/various-complements/data.json index eb21ae2..379b026 100644 --- a/notes/.obsidian/plugins/various-complements/data.json +++ b/notes/.obsidian/plugins/various-complements/data.json @@ -410,6 +410,46 @@ "lastUpdated": 1670270345439 } } + }, + "energie": { + "energie": { + "currentFile": { + "count": 1, + "lastUpdated": 1670929153960 + } + } + }, + "Změna vnitřní energie": { + "Změna vnitřní energie": { + "internalLink": { + "count": 1, + "lastUpdated": 1670929277135 + } + } + }, + "výměna": { + "výměna": { + "currentFile": { + "count": 1, + "lastUpdated": 1670929586664 + } + } + }, + "\\Delta": { + "\\Delta": { + "currentFile": { + "count": 1, + "lastUpdated": 1670930348796 + } + } + }, + "mc\\Delta": { + "mc\\Delta": { + "currentFile": { + "count": 1, + "lastUpdated": 1670930689216 + } + } } } } \ No newline at end of file diff --git a/notes/.obsidian/workspace.json b/notes/.obsidian/workspace.json index cd91fce..bd73eca 100644 --- a/notes/.obsidian/workspace.json +++ b/notes/.obsidian/workspace.json @@ -13,7 +13,7 @@ "state": { "type": "markdown", "state": { - "file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md", + "file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md", "mode": "source", "source": false } @@ -89,7 +89,7 @@ "state": { "type": "backlink", "state": { - "file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md", + "file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -106,7 +106,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md", + "file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -153,18 +153,10 @@ "state": { "type": "outline", "state": { - "file": "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md" + "file": "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md" } } }, - { - "id": "478e61537eb995fc", - "type": "leaf", - "state": { - "type": "review-queue-list-view", - "state": {} - } - }, { "id": "6646a36080fd99c0", "type": "leaf", @@ -204,6 +196,14 @@ "type": "graph-analysis", "state": {} } + }, + { + "id": "6781ba7464fb5e5f", + "type": "leaf", + "state": { + "type": "review-queue-list-view", + "state": {} + } } ], "currentTab": 12 @@ -217,7 +217,7 @@ "lastOpenFiles": [ "fyz/Mechanika tekutin/Mechanika tekutin.md", "fyz/Mechanika tekutin/Termodynamika/Termodynamická teplota.md", - "fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md", + "fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md", "cjl/literatura/slohy/Klasicismus/Osvícenství.md", "cjl/literatura/slohy/Klasicismus/Robinson Crusoe.md", "cjl/literatura/slohy/Klasicismus/Tartuffe.md", diff --git a/notes/data/Pasted image 20221213121922.png b/notes/data/Pasted image 20221213121922.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee508fa62b67c7d77f19e11e13bda635257b53f GIT binary patch literal 20792 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 K!>I>PU-@4&3dz*~ literal 0 HcmV?d00001 diff --git a/notes/fyz/Mechanika tekutin/Termodynamika/Termodynamika.md b/notes/fyz/Mechanika tekutin/Termodynamika/Termodynamika.md index 9009f8c..a9e38e6 100644 --- a/notes/fyz/Mechanika tekutin/Termodynamika/Termodynamika.md +++ b/notes/fyz/Mechanika tekutin/Termodynamika/Termodynamika.md @@ -6,5 +6,5 @@ $T=273K$ … $t=0\degree C$ %% Zoottelkeeper: Beginning of the autogenerated index file list %% - [[fyz/Mechanika tekutin/Termodynamika/Celsiova teplotní stupnice|Celsiova teplotní stupnice]] - [[fyz/Mechanika tekutin/Termodynamika/Termodynamická teplota|Termodynamická teplota]] -- [[fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie|Změna vnitřní energie]] +- [[fyz/Mechanika tekutin/Termodynamika/Vnitřní energie|Vnitřní energie]] %% Zoottelkeeper: End of the autogenerated index file list %% diff --git a/notes/fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md b/notes/fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md new file mode 100644 index 0000000..b014cd6 --- /dev/null +++ b/notes/fyz/Mechanika tekutin/Termodynamika/Vnitřní energie.md @@ -0,0 +1,74 @@ +# Vnitřní energie + +$U$ … vnitřní energie +$[U]=J$ + +## Složky + +1. $E_K$ kinetická energie +2. $E_P$ potencionální (polohová) - částice na sebe působí silami a udržují se v nějaké poloze + +## Změna + +1. konání práce (tření, stlačení, atd) +2. tepelná výměna + +## Zákon o zachování energie + +### Mechanická fyzika +$E_K+E_P=konst$ +Součet kinetické a potencionální energie zůstává konstantní +### Molekulová fyzika +$E_K+E_P+U=konst$ +Některá z typů energie (K/P) se přemění na vnitřní energii. + +Příklad: ve squash se míček musí zahřát aby dobře skákal, přeměňuje se kinetická energie na vnitřní, tím že se s ním pinká o zem. + +## Tepelná výměna + +Srážkami si molekuly vymění teplo - rychlejší částice předá část své energie pomalejší, a tím se dorovnají postupně. + +$Q=m*c*\Delta t=m*c*(t_2-t_1)$ +$Q=m*c*\Delta T=m*c*(T_2-T_1)$ + +$c$ … měrná tepelná kapacita +$c=\frac{Q}{m\Delta t}$ +$c$ … teplo které je potřeba na ohřátí $1kg$ látky o $1\degree C$ + +$c_{voda}=4180J*kg^{-1}K^{-1}=4180\frac{J}{kg *K}$ +$c_{olovo}=129J*kg^{-1}*K^{-1}$ + +## Příklady + +V Niagárských vodopádech padá voda z výšky 60m. Jak se zvýší její teplota, předpokládáme-li, že se celá kinetická energie padající vody změní ve vnitřní energii? + +$E_K+E_P+U=konst$ + +$E_P\rightarrow E_K\rightarrow\Delta U$ +$E_P=\Delta U$ +$mgh=mc\Delta t$ +$gh=c\Delta t$ +$\Delta t=\frac{gh}c$ +$\Delta t=\frac{9.8*60}{4180}$ +$\Delta t=\frac{588}{4180}$ +$\Delta t=0,1406698564593301\degree C$ + +---- + +V pračce se ohřívá voda o hmotnosti $30kg$. Jaké teplo přijme, zvýší-li se její teplota z $15\degree C$ na $90\degree C$? A jak dlouho trvá ohřívání, je-li příkon topného tělesa pračky $2.5kW$? Účinnost pračky při ohřívání je $90\%$. + +$Q=mc\Delta t$ +$\{Q\}=30*4180(90-15)$ +${Q}=30*4180*75$ +$Q=9405000J=9.4MJ$ + +$\eta=\frac{\frac{Q}\tau}{P_0}$ +$\eta*P_0=\frac{Q}\tau$ +$\tau=\frac{Q}{\eta P_0}$ +$\{\tau\}=\frac{9.4*10^6}{0.9*2500}$ +$\tau=\frac{9.4*10^6}{225*10^1}$ +$\tau=4178s$ +$\underline{\tau=70min}$ + +--- + diff --git a/notes/fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md b/notes/fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md deleted file mode 100644 index 65d1858..0000000 --- a/notes/fyz/Mechanika tekutin/Termodynamika/Změna vnitřní energie.md +++ /dev/null @@ -1,2 +0,0 @@ -# Změna vnitřní energie -