@design.estate/wcctools 5.1.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.smartconfig.json +7 -3
- package/changelog.md +15 -0
- package/cli.js +3 -0
- package/dist_shell/bundle.js +2970 -0
- package/dist_shell/bundle.js.map +1 -0
- package/dist_shell/bundle.js.third-party-notices.json +1722 -0
- package/dist_shell/bundle.js.third-party-notices.txt +4195 -0
- package/dist_shell/index.html +21 -0
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/classes.devapi.d.ts +11 -0
- package/dist_ts/classes.devapi.js +21 -0
- package/dist_ts/classes.devserver.d.ts +49 -0
- package/dist_ts/classes.devserver.js +142 -0
- package/dist_ts/cli.d.ts +6 -0
- package/dist_ts/cli.js +45 -0
- package/dist_ts/index.d.ts +3 -0
- package/dist_ts/index.js +4 -0
- package/dist_ts/paths.d.ts +4 -0
- package/dist_ts/paths.js +6 -0
- package/dist_ts/plugins.d.ts +15 -0
- package/dist_ts/plugins.js +21 -0
- package/dist_ts/shellcontent.d.ts +9 -0
- package/dist_ts/shellcontent.js +42 -0
- package/dist_ts_interfaces/bridge.d.ts +88 -0
- package/dist_ts_interfaces/bridge.js +2 -0
- package/dist_ts_interfaces/catalog.d.ts +32 -0
- package/dist_ts_interfaces/catalog.js +6 -0
- package/dist_ts_interfaces/index.d.ts +3 -0
- package/dist_ts_interfaces/index.js +4 -0
- package/dist_ts_interfaces/plugins.d.ts +2 -0
- package/dist_ts_interfaces/plugins.js +3 -0
- package/dist_ts_interfaces/requests.d.ts +15 -0
- package/dist_ts_interfaces/requests.js +2 -0
- package/dist_ts_shared/index.d.ts +1 -0
- package/dist_ts_shared/index.js +2 -0
- package/dist_ts_shared/plugins.d.ts +2 -0
- package/dist_ts_shared/plugins.js +3 -0
- package/dist_ts_shared/previewroute.d.ts +18 -0
- package/dist_ts_shared/previewroute.js +47 -0
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-contextmenu.js +1 -1
- package/dist_ts_shell/elements/wcc-preview-frame.d.ts +23 -0
- package/dist_ts_shell/elements/wcc-preview-frame.js +197 -0
- package/dist_ts_shell/elements/wcc-properties.d.ts +49 -0
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-properties.js +149 -216
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-record-button.js +1 -1
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-recording-panel.d.ts +2 -2
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-recording-panel.js +12 -16
- package/dist_ts_shell/elements/wcc-shell.d.ts +87 -0
- package/dist_ts_shell/elements/wcc-shell.js +524 -0
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-sidebar.d.ts +12 -10
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-sidebar.js +137 -183
- package/dist_ts_shell/index.d.ts +4 -0
- package/dist_ts_shell/index.js +5 -0
- package/dist_ts_shell/plugins.d.ts +4 -0
- package/dist_ts_shell/plugins.js +5 -0
- package/dist_ts_shell/previewconnection.d.ts +30 -0
- package/dist_ts_shell/previewconnection.js +86 -0
- package/dist_ts_shell/services/recorder.service.js +353 -0
- package/dist_ts_web/00_commitinfo_data.js +2 -2
- package/dist_ts_web/catalog.d.ts +45 -0
- package/dist_ts_web/catalog.js +153 -0
- package/dist_ts_web/elementproperties.d.ts +15 -0
- package/dist_ts_web/elementproperties.js +89 -0
- package/dist_ts_web/elements/wcc-preview.d.ts +19 -0
- package/dist_ts_web/elements/wcc-preview.js +164 -0
- package/dist_ts_web/elements/wcc-standalone-notice.d.ts +14 -0
- package/dist_ts_web/elements/wcc-standalone-notice.js +110 -0
- package/dist_ts_web/elements/wcctools.helpers.d.ts +2 -6
- package/dist_ts_web/elements/wcctools.helpers.js +1 -7
- package/dist_ts_web/index.d.ts +2 -5
- package/dist_ts_web/index.js +38 -17
- package/dist_ts_web/previewbridge.d.ts +39 -0
- package/dist_ts_web/previewbridge.js +153 -0
- package/dist_ts_web/renderedtree.d.ts +5 -0
- package/dist_ts_web/renderedtree.js +37 -0
- package/dist_ts_web/wcctools.interfaces.d.ts +3 -6
- package/dist_ts_web/wcctools.interfaces.js +1 -1
- package/dist_ts_web/wcctools.plugins.d.ts +3 -1
- package/dist_ts_web/wcctools.plugins.js +4 -2
- package/package.json +16 -8
- package/readme.md +60 -28
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/classes.devapi.ts +25 -0
- package/ts/classes.devserver.ts +161 -0
- package/ts/cli.ts +46 -0
- package/ts/index.ts +3 -0
- package/ts/paths.ts +7 -0
- package/ts/plugins.ts +29 -0
- package/ts/shellcontent.ts +42 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/catalog.ts +194 -0
- package/ts_web/elementproperties.ts +96 -0
- package/ts_web/elements/wcc-preview.ts +111 -0
- package/ts_web/elements/wcc-standalone-notice.ts +65 -0
- package/ts_web/elements/wcctools.helpers.ts +2 -10
- package/ts_web/index.ts +38 -19
- package/ts_web/previewbridge.ts +189 -0
- package/ts_web/readme.md +26 -85
- package/ts_web/renderedtree.ts +43 -0
- package/ts_web/wcctools.interfaces.ts +4 -7
- package/ts_web/wcctools.plugins.ts +6 -1
- package/dist_bundle/bundle.js +0 -92419
- package/dist_bundle/bundle.js.map +0 -1
- package/dist_ts_web/elements/wcc-dashboard.d.ts +0 -119
- package/dist_ts_web/elements/wcc-dashboard.js +0 -700
- package/dist_ts_web/elements/wcc-frame.d.ts +0 -22
- package/dist_ts_web/elements/wcc-frame.js +0 -256
- package/dist_ts_web/elements/wcc-properties.d.ts +0 -43
- package/dist_ts_web/pages/index.d.ts +0 -1
- package/dist_ts_web/pages/index.js +0 -2
- package/dist_ts_web/services/recorder.service.js +0 -353
- package/ts_web/elements/wcc-contextmenu.ts +0 -291
- package/ts_web/elements/wcc-dashboard.ts +0 -672
- package/ts_web/elements/wcc-frame.ts +0 -189
- package/ts_web/elements/wcc-properties.ts +0 -1089
- package/ts_web/elements/wcc-record-button.ts +0 -108
- package/ts_web/elements/wcc-recording-panel.ts +0 -1010
- package/ts_web/elements/wcc-sidebar.ts +0 -1470
- package/ts_web/pages/index.ts +0 -1
- package/ts_web/services/recorder.service.ts +0 -451
- package/ts_web/types/dom-mediacapture-stub/index.d.ts +0 -12
- package/ts_web/types/dom-mediacapture-stub/package.json +0 -6
- package/ts_web/types/dom-webcodecs-stub/index.d.ts +0 -2
- package/ts_web/types/dom-webcodecs-stub/package.json +0 -6
- /package/{dist_ts_web → dist_ts_shell}/elements/wcc-contextmenu.d.ts +0 -0
- /package/{dist_ts_web → dist_ts_shell}/elements/wcc-record-button.d.ts +0 -0
- /package/{dist_ts_web → dist_ts_shell}/services/recorder.service.d.ts +0 -0
|
@@ -32,10 +32,8 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import * as plugins from '../wcctools.plugins.js';
|
|
36
35
|
import { DeesElement, property, html, customElement, state } from '@design.estate/dees-element';
|
|
37
|
-
import
|
|
38
|
-
import { getDemoCount, getElementDemoGroups, getElementTagName, hasMultipleDemos } from './wcctools.helpers.js';
|
|
36
|
+
import * as plugins from '../plugins.js';
|
|
39
37
|
import { WccContextmenu } from './wcc-contextmenu.js';
|
|
40
38
|
const SIDEBAR_MIN_WIDTH = 150;
|
|
41
39
|
const SIDEBAR_MAX_WIDTH = 400;
|
|
@@ -46,15 +44,12 @@ let WccSidebar = (() => {
|
|
|
46
44
|
let _classExtraInitializers = [];
|
|
47
45
|
let _classThis;
|
|
48
46
|
let _classSuper = DeesElement;
|
|
49
|
-
let
|
|
50
|
-
let
|
|
51
|
-
let
|
|
52
|
-
let
|
|
53
|
-
let
|
|
54
|
-
let
|
|
55
|
-
let _dashboardRef_decorators;
|
|
56
|
-
let _dashboardRef_initializers = [];
|
|
57
|
-
let _dashboardRef_extraInitializers = [];
|
|
47
|
+
let _manifest_decorators;
|
|
48
|
+
let _manifest_initializers = [];
|
|
49
|
+
let _manifest_extraInitializers = [];
|
|
50
|
+
let _selection_decorators;
|
|
51
|
+
let _selection_initializers = [];
|
|
52
|
+
let _selection_extraInitializers = [];
|
|
58
53
|
let _isNative_decorators;
|
|
59
54
|
let _isNative_initializers = [];
|
|
60
55
|
let _isNative_extraInitializers = [];
|
|
@@ -89,10 +84,9 @@ let WccSidebar = (() => {
|
|
|
89
84
|
static { _classThis = this; }
|
|
90
85
|
static {
|
|
91
86
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
_isNative_decorators = [property()];
|
|
87
|
+
_manifest_decorators = [property({ attribute: false })];
|
|
88
|
+
_selection_decorators = [property({ attribute: false })];
|
|
89
|
+
_isNative_decorators = [property({ type: Boolean })];
|
|
96
90
|
_expandedElements_decorators = [state()];
|
|
97
91
|
_collapsedSections_decorators = [state()];
|
|
98
92
|
_expandedWithoutDemo_decorators = [state()];
|
|
@@ -102,9 +96,8 @@ let WccSidebar = (() => {
|
|
|
102
96
|
_isResizing_decorators = [state()];
|
|
103
97
|
_isHidden_decorators = [state()];
|
|
104
98
|
_isMenuScrolled_decorators = [state()];
|
|
105
|
-
__esDecorate(this, null,
|
|
106
|
-
__esDecorate(this, null,
|
|
107
|
-
__esDecorate(this, null, _dashboardRef_decorators, { kind: "accessor", name: "dashboardRef", static: false, private: false, access: { has: obj => "dashboardRef" in obj, get: obj => obj.dashboardRef, set: (obj, value) => { obj.dashboardRef = value; } }, metadata: _metadata }, _dashboardRef_initializers, _dashboardRef_extraInitializers);
|
|
99
|
+
__esDecorate(this, null, _manifest_decorators, { kind: "accessor", name: "manifest", static: false, private: false, access: { has: obj => "manifest" in obj, get: obj => obj.manifest, set: (obj, value) => { obj.manifest = value; } }, metadata: _metadata }, _manifest_initializers, _manifest_extraInitializers);
|
|
100
|
+
__esDecorate(this, null, _selection_decorators, { kind: "accessor", name: "selection", static: false, private: false, access: { has: obj => "selection" in obj, get: obj => obj.selection, set: (obj, value) => { obj.selection = value; } }, metadata: _metadata }, _selection_initializers, _selection_extraInitializers);
|
|
108
101
|
__esDecorate(this, null, _isNative_decorators, { kind: "accessor", name: "isNative", static: false, private: false, access: { has: obj => "isNative" in obj, get: obj => obj.isNative, set: (obj, value) => { obj.isNative = value; } }, metadata: _metadata }, _isNative_initializers, _isNative_extraInitializers);
|
|
109
102
|
__esDecorate(this, null, _expandedElements_decorators, { kind: "accessor", name: "expandedElements", static: false, private: false, access: { has: obj => "expandedElements" in obj, get: obj => obj.expandedElements, set: (obj, value) => { obj.expandedElements = value; } }, metadata: _metadata }, _expandedElements_initializers, _expandedElements_extraInitializers);
|
|
110
103
|
__esDecorate(this, null, _collapsedSections_decorators, { kind: "accessor", name: "collapsedSections", static: false, private: false, access: { has: obj => "collapsedSections" in obj, get: obj => obj.collapsedSections, set: (obj, value) => { obj.collapsedSections = value; } }, metadata: _metadata }, _collapsedSections_initializers, _collapsedSections_extraInitializers);
|
|
@@ -120,16 +113,13 @@ let WccSidebar = (() => {
|
|
|
120
113
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
121
114
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
122
115
|
}
|
|
123
|
-
#
|
|
124
|
-
get
|
|
125
|
-
set
|
|
126
|
-
#
|
|
127
|
-
get
|
|
128
|
-
set
|
|
129
|
-
#
|
|
130
|
-
get dashboardRef() { return this.#dashboardRef_accessor_storage; }
|
|
131
|
-
set dashboardRef(value) { this.#dashboardRef_accessor_storage = value; }
|
|
132
|
-
#isNative_accessor_storage = (__runInitializers(this, _dashboardRef_extraInitializers), __runInitializers(this, _isNative_initializers, false));
|
|
116
|
+
#manifest_accessor_storage = __runInitializers(this, _manifest_initializers, null);
|
|
117
|
+
get manifest() { return this.#manifest_accessor_storage; }
|
|
118
|
+
set manifest(value) { this.#manifest_accessor_storage = value; }
|
|
119
|
+
#selection_accessor_storage = (__runInitializers(this, _manifest_extraInitializers), __runInitializers(this, _selection_initializers, null));
|
|
120
|
+
get selection() { return this.#selection_accessor_storage; }
|
|
121
|
+
set selection(value) { this.#selection_accessor_storage = value; }
|
|
122
|
+
#isNative_accessor_storage = (__runInitializers(this, _selection_extraInitializers), __runInitializers(this, _isNative_initializers, false));
|
|
133
123
|
get isNative() { return this.#isNative_accessor_storage; }
|
|
134
124
|
set isNative(value) { this.#isNative_accessor_storage = value; }
|
|
135
125
|
#expandedElements_accessor_storage = (__runInitializers(this, _isNative_extraInitializers), __runInitializers(this, _expandedElements_initializers, new Set()));
|
|
@@ -168,18 +158,21 @@ let WccSidebar = (() => {
|
|
|
168
158
|
// Track if menu is scrolled for header shadow
|
|
169
159
|
get isMenuScrolled() { return this.#isMenuScrolled_accessor_storage; }
|
|
170
160
|
set isMenuScrolled(value) { this.#isMenuScrolled_accessor_storage = value; }
|
|
171
|
-
|
|
161
|
+
/** Section names whose configured initial collapse state was applied. */
|
|
162
|
+
initializedSections = (__runInitializers(this, _isMenuScrolled_extraInitializers), new Set());
|
|
172
163
|
/** data-key of the tree item that holds the roving tab stop */
|
|
173
164
|
focusedKey = null;
|
|
174
165
|
hideTimeout;
|
|
175
166
|
highlightedGroup = null;
|
|
176
167
|
groupHighlightTimeout;
|
|
168
|
+
endResize = null;
|
|
177
169
|
async disconnectedCallback() {
|
|
178
170
|
const disconnected = super.disconnectedCallback();
|
|
179
171
|
// A removed sidebar has no frame transition to wait for
|
|
180
172
|
clearTimeout(this.hideTimeout);
|
|
181
173
|
this.isHidden = this.isNative;
|
|
182
174
|
this.endGroupHighlight();
|
|
175
|
+
this.endResize?.();
|
|
183
176
|
return disconnected;
|
|
184
177
|
}
|
|
185
178
|
/**
|
|
@@ -587,7 +580,7 @@ let WccSidebar = (() => {
|
|
|
587
580
|
background: var(--primary);
|
|
588
581
|
}
|
|
589
582
|
|
|
590
|
-
@container
|
|
583
|
+
@container wccShell (max-width: 600px) {
|
|
591
584
|
:host {
|
|
592
585
|
right: 0;
|
|
593
586
|
bottom: auto;
|
|
@@ -760,19 +753,31 @@ let WccSidebar = (() => {
|
|
|
760
753
|
return `item:${sectionName}::${groupName ?? ''}::${itemName}`;
|
|
761
754
|
}
|
|
762
755
|
/**
|
|
763
|
-
*
|
|
756
|
+
* Apply each section's configured initial collapse state once, also to sections a reload adds
|
|
764
757
|
*/
|
|
765
|
-
initCollapsedSections() {
|
|
766
|
-
|
|
758
|
+
initCollapsedSections(sectionsArg) {
|
|
759
|
+
const fresh = sectionsArg.filter((section) => !this.initializedSections.has(section.name));
|
|
760
|
+
if (fresh.length === 0)
|
|
767
761
|
return;
|
|
768
|
-
const collapsed = new Set();
|
|
769
|
-
for (const section of
|
|
762
|
+
const collapsed = new Set(this.collapsedSections);
|
|
763
|
+
for (const section of fresh) {
|
|
764
|
+
this.initializedSections.add(section.name);
|
|
770
765
|
if (section.collapsed) {
|
|
771
766
|
collapsed.add(section.name);
|
|
772
767
|
}
|
|
773
768
|
}
|
|
774
769
|
this.collapsedSections = collapsed;
|
|
775
|
-
|
|
770
|
+
}
|
|
771
|
+
findEntry(sectionName, itemName) {
|
|
772
|
+
const section = this.manifest?.sections.find((sectionArg) => sectionArg.name === sectionName);
|
|
773
|
+
const entry = section?.entries.find((entryArg) => entryArg.name === itemName);
|
|
774
|
+
return section && entry ? { section, entry } : null;
|
|
775
|
+
}
|
|
776
|
+
isSelected(sectionName, itemName, demoIndex) {
|
|
777
|
+
return !!this.selection
|
|
778
|
+
&& this.selection.sectionName === sectionName
|
|
779
|
+
&& this.selection.itemName === itemName
|
|
780
|
+
&& (demoIndex === undefined || this.selection.demoIndex === demoIndex);
|
|
776
781
|
}
|
|
777
782
|
// ============ Pinning helpers ============
|
|
778
783
|
getPinKey(sectionName, itemName) {
|
|
@@ -795,11 +800,7 @@ let WccSidebar = (() => {
|
|
|
795
800
|
}
|
|
796
801
|
showContextMenu(e, sectionName, itemName) {
|
|
797
802
|
const isPinned = this.isPinned(sectionName, itemName);
|
|
798
|
-
const
|
|
799
|
-
const sectionEntries = section ? getSectionItems(section) : [];
|
|
800
|
-
const foundEntry = sectionEntries.find(([name]) => name === itemName);
|
|
801
|
-
const item = foundEntry?.[1];
|
|
802
|
-
const groups = getElementDemoGroups(item);
|
|
803
|
+
const groups = this.findEntry(sectionName, itemName)?.entry.demoGroups ?? [];
|
|
803
804
|
const menuItems = [
|
|
804
805
|
{
|
|
805
806
|
name: isPinned ? 'Unpin' : 'Pin',
|
|
@@ -841,21 +842,17 @@ let WccSidebar = (() => {
|
|
|
841
842
|
* Render the PINNED section (only if there are pinned items)
|
|
842
843
|
*/
|
|
843
844
|
renderPinnedSection() {
|
|
844
|
-
if (!this.
|
|
845
|
+
if (!this.manifest || this.pinnedItems.size === 0) {
|
|
845
846
|
return null;
|
|
846
847
|
}
|
|
847
848
|
const isCollapsed = this.collapsedSections.has(PINNED_SECTION);
|
|
848
|
-
// Collect pinned items with their original section info
|
|
849
849
|
// Pinned items are NOT filtered by search - they always remain visible
|
|
850
850
|
const pinnedEntries = [];
|
|
851
851
|
for (const key of this.pinnedItems) {
|
|
852
852
|
const [sectionName, itemName] = key.split('::');
|
|
853
|
-
const
|
|
854
|
-
if (
|
|
855
|
-
|
|
856
|
-
if (found) {
|
|
857
|
-
pinnedEntries.push({ sectionName, itemName, item: found[1], section });
|
|
858
|
-
}
|
|
853
|
+
const found = this.findEntry(sectionName, itemName);
|
|
854
|
+
if (found) {
|
|
855
|
+
pinnedEntries.push(found);
|
|
859
856
|
}
|
|
860
857
|
}
|
|
861
858
|
if (pinnedEntries.length === 0) {
|
|
@@ -876,11 +873,10 @@ let WccSidebar = (() => {
|
|
|
876
873
|
<span>Pinned</span>
|
|
877
874
|
</div>
|
|
878
875
|
<div class="section-content ${isCollapsed ? 'collapsed' : ''}" role="group" aria-label="Pinned">
|
|
879
|
-
${pinnedEntries.map(({
|
|
880
|
-
const isSelected = this.
|
|
881
|
-
const type = section.type === 'elements' ? 'element' : 'page';
|
|
876
|
+
${pinnedEntries.map(({ section, entry }) => {
|
|
877
|
+
const isSelected = this.isSelected(section.name, entry.name);
|
|
882
878
|
const icon = section.type === 'elements'
|
|
883
|
-
? (
|
|
879
|
+
? (entry.demoGroups.length > 1 ? 'library_books' : 'featured_video')
|
|
884
880
|
: 'insert_drive_file';
|
|
885
881
|
return html `
|
|
886
882
|
<div
|
|
@@ -890,17 +886,14 @@ let WccSidebar = (() => {
|
|
|
890
886
|
aria-level="2"
|
|
891
887
|
aria-selected=${isSelected ? 'true' : 'false'}
|
|
892
888
|
aria-current=${isSelected ? 'page' : 'false'}
|
|
893
|
-
data-key=${`pinned:${
|
|
894
|
-
title=${
|
|
895
|
-
@click=${
|
|
896
|
-
|
|
897
|
-
this.selectItem(type, itemName, item, 0, section);
|
|
898
|
-
}}
|
|
899
|
-
@contextmenu=${(e) => this.showContextMenu(e, sectionName, itemName)}
|
|
889
|
+
data-key=${`pinned:${section.name}::${entry.name}`}
|
|
890
|
+
title=${entry.name}
|
|
891
|
+
@click=${() => this.selectItem(section.name, entry.name, 0)}
|
|
892
|
+
@contextmenu=${(e) => this.showContextMenu(e, section.name, entry.name)}
|
|
900
893
|
>
|
|
901
894
|
<i class="material-symbols-outlined" aria-hidden="true">${icon}</i>
|
|
902
|
-
<div class="text">${this.highlightMatch(
|
|
903
|
-
<span class="section-tag">${
|
|
895
|
+
<div class="text">${this.highlightMatch(entry.name)}</div>
|
|
896
|
+
<span class="section-tag">${section.name}</span>
|
|
904
897
|
</div>
|
|
905
898
|
`;
|
|
906
899
|
})}
|
|
@@ -911,13 +904,12 @@ let WccSidebar = (() => {
|
|
|
911
904
|
* Render all sections
|
|
912
905
|
*/
|
|
913
906
|
renderSections() {
|
|
914
|
-
if (!this.
|
|
907
|
+
if (!this.manifest) {
|
|
915
908
|
return null;
|
|
916
909
|
}
|
|
917
|
-
this.
|
|
918
|
-
|
|
919
|
-
const
|
|
920
|
-
const withoutDemoEntries = getSectionItemsWithoutDemo(section).filter(([name, item]) => this.entryMatchesSearch(name, item));
|
|
910
|
+
return this.manifest.sections.map((section) => {
|
|
911
|
+
const listedEntries = section.entries.filter((entry) => this.entryMatchesSearch(entry));
|
|
912
|
+
const withoutDemoEntries = section.entriesWithoutDemo.filter((entry) => this.entryMatchesSearch(entry));
|
|
921
913
|
// Hide section if no items match the search
|
|
922
914
|
if (listedEntries.length === 0 && withoutDemoEntries.length === 0 && this.searchQuery) {
|
|
923
915
|
return null;
|
|
@@ -949,9 +941,9 @@ let WccSidebar = (() => {
|
|
|
949
941
|
*/
|
|
950
942
|
renderSectionItems(section, filteredEntries) {
|
|
951
943
|
if (section.type === 'pages') {
|
|
952
|
-
return filteredEntries.map((
|
|
953
|
-
const isPinned = this.isPinned(section.name,
|
|
954
|
-
const isSelected = this.
|
|
944
|
+
return filteredEntries.map((entry) => {
|
|
945
|
+
const isPinned = this.isPinned(section.name, entry.name);
|
|
946
|
+
const isSelected = this.isSelected(section.name, entry.name);
|
|
955
947
|
return html `
|
|
956
948
|
<div
|
|
957
949
|
class="treeitem selectOption ${isSelected ? 'selected' : ''} ${isPinned ? 'pinned' : ''}"
|
|
@@ -960,25 +952,21 @@ let WccSidebar = (() => {
|
|
|
960
952
|
aria-level="2"
|
|
961
953
|
aria-selected=${isSelected ? 'true' : 'false'}
|
|
962
954
|
aria-current=${isSelected ? 'page' : 'false'}
|
|
963
|
-
data-key=${this.getItemKey(section.name, null,
|
|
964
|
-
title=${
|
|
965
|
-
@click=${
|
|
966
|
-
|
|
967
|
-
this.selectItem('page', pageName, item, 0, section);
|
|
968
|
-
}}
|
|
969
|
-
@contextmenu=${(e) => this.showContextMenu(e, section.name, pageName)}
|
|
955
|
+
data-key=${this.getItemKey(section.name, null, entry.name)}
|
|
956
|
+
title=${entry.name}
|
|
957
|
+
@click=${() => this.selectItem(section.name, entry.name, 0)}
|
|
958
|
+
@contextmenu=${(e) => this.showContextMenu(e, section.name, entry.name)}
|
|
970
959
|
>
|
|
971
960
|
<i class="material-symbols-outlined" aria-hidden="true">insert_drive_file</i>
|
|
972
|
-
<div class="text">${this.highlightMatch(
|
|
961
|
+
<div class="text">${this.highlightMatch(entry.name)}</div>
|
|
973
962
|
</div>
|
|
974
963
|
`;
|
|
975
964
|
});
|
|
976
965
|
}
|
|
977
|
-
// type === 'elements' - group by demoGroups
|
|
966
|
+
// type === 'elements' - group by demoGroups
|
|
978
967
|
const groupedItems = new Map();
|
|
979
968
|
for (const entry of filteredEntries) {
|
|
980
|
-
const
|
|
981
|
-
for (const group of groups.length > 0 ? groups : [null]) {
|
|
969
|
+
for (const group of entry.demoGroups.length > 0 ? entry.demoGroups : [null]) {
|
|
982
970
|
if (!groupedItems.has(group)) {
|
|
983
971
|
groupedItems.set(group, []);
|
|
984
972
|
}
|
|
@@ -987,7 +975,7 @@ let WccSidebar = (() => {
|
|
|
987
975
|
}
|
|
988
976
|
const renderItems = [];
|
|
989
977
|
for (const entry of groupedItems.get(null) || []) {
|
|
990
|
-
renderItems.push({ type: 'element', entry, sortKey: entry
|
|
978
|
+
renderItems.push({ type: 'element', entry, sortKey: entry.name.toLowerCase() });
|
|
991
979
|
}
|
|
992
980
|
for (const [groupName, items] of groupedItems) {
|
|
993
981
|
if (groupName === null)
|
|
@@ -1043,24 +1031,21 @@ let WccSidebar = (() => {
|
|
|
1043
1031
|
</div>
|
|
1044
1032
|
${isOpen ? html `
|
|
1045
1033
|
<div class="nodemo-list" role="group" aria-label="Without demo">
|
|
1046
|
-
${entries.map((
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
>
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
</div>
|
|
1062
|
-
`;
|
|
1063
|
-
})}
|
|
1034
|
+
${entries.map((entry) => html `
|
|
1035
|
+
<div
|
|
1036
|
+
class="treeitem selectOption nodemo"
|
|
1037
|
+
role="treeitem"
|
|
1038
|
+
tabindex="-1"
|
|
1039
|
+
aria-level="3"
|
|
1040
|
+
aria-disabled="true"
|
|
1041
|
+
aria-description="No demo"
|
|
1042
|
+
data-key=${`nodemo:${section.name}::${entry.name}`}
|
|
1043
|
+
title=${entry.tagName ? `<${entry.tagName}> has no demo` : `${entry.name} has no demo`}
|
|
1044
|
+
>
|
|
1045
|
+
<i class="material-symbols-outlined" aria-hidden="true">block</i>
|
|
1046
|
+
<div class="text">${this.highlightMatch(entry.name)}</div>
|
|
1047
|
+
</div>
|
|
1048
|
+
`)}
|
|
1064
1049
|
</div>
|
|
1065
1050
|
` : null}
|
|
1066
1051
|
`;
|
|
@@ -1069,14 +1054,12 @@ let WccSidebar = (() => {
|
|
|
1069
1054
|
* Render a single element item (used by renderSectionItems)
|
|
1070
1055
|
*/
|
|
1071
1056
|
renderElementItem(entry, section, groupName) {
|
|
1072
|
-
const
|
|
1073
|
-
const demoCount = getDemoCount(item.demo);
|
|
1074
|
-
const isMultiDemo = hasMultipleDemos(item.demo);
|
|
1057
|
+
const elementName = entry.name;
|
|
1075
1058
|
const isExpanded = this.expandedElements.has(elementName);
|
|
1076
|
-
const isSelected = this.
|
|
1059
|
+
const isSelected = this.isSelected(section.name, elementName);
|
|
1077
1060
|
const isPinned = this.isPinned(section.name, elementName);
|
|
1078
1061
|
const itemKey = this.getItemKey(section.name, groupName, elementName);
|
|
1079
|
-
if (
|
|
1062
|
+
if (entry.demoCount > 1) {
|
|
1080
1063
|
// Multi-demo element - render as expandable folder
|
|
1081
1064
|
return html `
|
|
1082
1065
|
<div
|
|
@@ -1095,8 +1078,8 @@ let WccSidebar = (() => {
|
|
|
1095
1078
|
</div>
|
|
1096
1079
|
${isExpanded ? html `
|
|
1097
1080
|
<div class="demo-children" role="group" aria-label=${`${elementName} demos`}>
|
|
1098
|
-
${Array.from({ length: demoCount }, (_, demoIndex) => {
|
|
1099
|
-
const isThisDemoSelected =
|
|
1081
|
+
${Array.from({ length: entry.demoCount }, (_, demoIndex) => {
|
|
1082
|
+
const isThisDemoSelected = this.isSelected(section.name, elementName, demoIndex);
|
|
1100
1083
|
return html `
|
|
1101
1084
|
<div
|
|
1102
1085
|
class="treeitem demo-child ${isThisDemoSelected ? 'selected' : ''}"
|
|
@@ -1106,10 +1089,7 @@ let WccSidebar = (() => {
|
|
|
1106
1089
|
aria-selected=${isThisDemoSelected ? 'true' : 'false'}
|
|
1107
1090
|
aria-current=${isThisDemoSelected ? 'page' : 'false'}
|
|
1108
1091
|
data-key=${`${itemKey}::demo${demoIndex}`}
|
|
1109
|
-
@click=${
|
|
1110
|
-
await plugins.deesDomtools.DomTools.setupDomTools();
|
|
1111
|
-
this.selectItem('element', elementName, item, demoIndex, section);
|
|
1112
|
-
}}
|
|
1092
|
+
@click=${() => this.selectItem(section.name, elementName, demoIndex)}
|
|
1113
1093
|
>
|
|
1114
1094
|
<i class="material-symbols-outlined" aria-hidden="true">play_circle</i>
|
|
1115
1095
|
<div class="text">demo${demoIndex + 1}</div>
|
|
@@ -1121,7 +1101,7 @@ let WccSidebar = (() => {
|
|
|
1121
1101
|
`;
|
|
1122
1102
|
}
|
|
1123
1103
|
// Single demo element
|
|
1124
|
-
const icon =
|
|
1104
|
+
const icon = entry.demoGroups.length > 1 ? 'library_books' : 'featured_video';
|
|
1125
1105
|
return html `
|
|
1126
1106
|
<div
|
|
1127
1107
|
class="treeitem selectOption ${isSelected ? 'selected' : ''} ${isPinned ? 'pinned' : ''}"
|
|
@@ -1132,10 +1112,7 @@ let WccSidebar = (() => {
|
|
|
1132
1112
|
aria-current=${isSelected ? 'page' : 'false'}
|
|
1133
1113
|
data-key=${itemKey}
|
|
1134
1114
|
title=${elementName}
|
|
1135
|
-
@click=${
|
|
1136
|
-
await plugins.deesDomtools.DomTools.setupDomTools();
|
|
1137
|
-
this.selectItem('element', elementName, item, 0, section);
|
|
1138
|
-
}}
|
|
1115
|
+
@click=${() => this.selectItem(section.name, elementName, 0)}
|
|
1139
1116
|
@contextmenu=${(e) => this.showContextMenu(e, section.name, elementName)}
|
|
1140
1117
|
>
|
|
1141
1118
|
<i class="material-symbols-outlined" aria-hidden="true">${icon}</i>
|
|
@@ -1212,13 +1189,12 @@ let WccSidebar = (() => {
|
|
|
1212
1189
|
return name.toLowerCase().includes(this.searchQuery.toLowerCase());
|
|
1213
1190
|
}
|
|
1214
1191
|
/** An entry matches by name, registered tag name, or one of its demo groups. */
|
|
1215
|
-
entryMatchesSearch(
|
|
1216
|
-
if (this.matchesSearch(name))
|
|
1192
|
+
entryMatchesSearch(entryArg) {
|
|
1193
|
+
if (this.matchesSearch(entryArg.name))
|
|
1217
1194
|
return true;
|
|
1218
|
-
|
|
1219
|
-
if (tagName && this.matchesSearch(tagName))
|
|
1195
|
+
if (entryArg.tagName && this.matchesSearch(entryArg.tagName))
|
|
1220
1196
|
return true;
|
|
1221
|
-
return
|
|
1197
|
+
return (entryArg.demoGroups ?? []).some((groupName) => this.matchesSearch(groupName));
|
|
1222
1198
|
}
|
|
1223
1199
|
isGroupFilterMatch(groupName) {
|
|
1224
1200
|
return !!this.searchQuery && groupName.toLowerCase() === this.searchQuery.toLowerCase();
|
|
@@ -1368,6 +1344,21 @@ let WccSidebar = (() => {
|
|
|
1368
1344
|
}
|
|
1369
1345
|
e.preventDefault();
|
|
1370
1346
|
}
|
|
1347
|
+
willUpdate(changedProperties) {
|
|
1348
|
+
super.willUpdate(changedProperties);
|
|
1349
|
+
if (changedProperties.has('manifest') && this.manifest) {
|
|
1350
|
+
this.initCollapsedSections(this.manifest.sections);
|
|
1351
|
+
}
|
|
1352
|
+
// Auto-expand folder when a demo of a multi-demo element is selected
|
|
1353
|
+
if (changedProperties.has('selection') && this.selection) {
|
|
1354
|
+
const found = this.findEntry(this.selection.sectionName, this.selection.itemName);
|
|
1355
|
+
if (found && found.entry.demoCount > 1 && !this.expandedElements.has(found.entry.name)) {
|
|
1356
|
+
const newSet = new Set(this.expandedElements);
|
|
1357
|
+
newSet.add(found.entry.name);
|
|
1358
|
+
this.expandedElements = newSet;
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1371
1362
|
updated(changedProperties) {
|
|
1372
1363
|
super.updated(changedProperties);
|
|
1373
1364
|
// Handle delayed hide for native mode transition
|
|
@@ -1385,38 +1376,14 @@ let WccSidebar = (() => {
|
|
|
1385
1376
|
this.isHidden = this.isNative;
|
|
1386
1377
|
}
|
|
1387
1378
|
}
|
|
1388
|
-
// Auto-expand folder when a multi-demo element is selected
|
|
1389
|
-
if (changedProperties.has('selectedItem') && this.selectedItem && this.dashboardRef?.sections) {
|
|
1390
|
-
for (const section of this.dashboardRef.sections) {
|
|
1391
|
-
if (section.type !== 'elements')
|
|
1392
|
-
continue;
|
|
1393
|
-
const found = getSectionItems(section).find(([_, item]) => item === this.selectedItem);
|
|
1394
|
-
if (found) {
|
|
1395
|
-
const [elementName, item] = found;
|
|
1396
|
-
if (hasMultipleDemos(item.demo) && !this.expandedElements.has(elementName)) {
|
|
1397
|
-
const newSet = new Set(this.expandedElements);
|
|
1398
|
-
newSet.add(elementName);
|
|
1399
|
-
this.expandedElements = newSet;
|
|
1400
|
-
}
|
|
1401
|
-
break;
|
|
1402
|
-
}
|
|
1403
|
-
}
|
|
1404
|
-
}
|
|
1405
1379
|
this.syncRovingTabindex();
|
|
1406
1380
|
}
|
|
1407
1381
|
// ============ Resize functionality ============
|
|
1408
|
-
/** Apply a sidebar width
|
|
1382
|
+
/** Apply a sidebar width; the shell sizes the frame and properties panel from the event. */
|
|
1409
1383
|
applyWidth(widthArg) {
|
|
1410
1384
|
const newWidth = Math.min(SIDEBAR_MAX_WIDTH, Math.max(SIDEBAR_MIN_WIDTH, Math.round(widthArg)));
|
|
1411
1385
|
this.sidebarWidth = newWidth;
|
|
1412
|
-
|
|
1413
|
-
const properties = this.dashboardRef?.shadowRoot?.querySelector('wcc-properties');
|
|
1414
|
-
if (frame) {
|
|
1415
|
-
frame.sidebarWidth = newWidth;
|
|
1416
|
-
}
|
|
1417
|
-
if (properties) {
|
|
1418
|
-
properties.sidebarWidth = newWidth;
|
|
1419
|
-
}
|
|
1386
|
+
this.dispatchEvent(new CustomEvent('widthChanged', { detail: newWidth }));
|
|
1420
1387
|
return newWidth;
|
|
1421
1388
|
}
|
|
1422
1389
|
handleResizeKeydown(e) {
|
|
@@ -1440,58 +1407,45 @@ let WccSidebar = (() => {
|
|
|
1440
1407
|
}
|
|
1441
1408
|
e.preventDefault();
|
|
1442
1409
|
const newWidth = this.applyWidth(target);
|
|
1443
|
-
this.dispatchEvent(new CustomEvent('
|
|
1410
|
+
this.dispatchEvent(new CustomEvent('widthCommitted', { detail: newWidth }));
|
|
1444
1411
|
}
|
|
1445
1412
|
startResize = (e) => {
|
|
1446
1413
|
e.preventDefault();
|
|
1414
|
+
this.endResize?.();
|
|
1447
1415
|
this.isResizing = true;
|
|
1416
|
+
this.dispatchEvent(new CustomEvent('resizingChanged', { detail: true }));
|
|
1448
1417
|
const startX = e.clientX;
|
|
1449
1418
|
const startWidth = this.sidebarWidth;
|
|
1450
|
-
const frame = this.dashboardRef?.shadowRoot?.querySelector('wcc-frame');
|
|
1451
|
-
// Disable frame transition during resize
|
|
1452
|
-
if (frame) {
|
|
1453
|
-
frame.isResizing = true;
|
|
1454
|
-
}
|
|
1455
1419
|
const onMouseMove = (e) => {
|
|
1456
1420
|
this.applyWidth(startWidth + (e.clientX - startX));
|
|
1457
1421
|
};
|
|
1458
|
-
const
|
|
1459
|
-
this.isResizing = false;
|
|
1422
|
+
const stop = () => {
|
|
1460
1423
|
document.removeEventListener('mousemove', onMouseMove);
|
|
1461
1424
|
document.removeEventListener('mouseup', onMouseUp);
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1425
|
+
this.endResize = null;
|
|
1426
|
+
this.isResizing = false;
|
|
1427
|
+
this.dispatchEvent(new CustomEvent('resizingChanged', { detail: false }));
|
|
1428
|
+
};
|
|
1429
|
+
const onMouseUp = () => {
|
|
1430
|
+
stop();
|
|
1431
|
+
// Persist the width in the URL on release
|
|
1432
|
+
this.dispatchEvent(new CustomEvent('widthCommitted', { detail: this.sidebarWidth }));
|
|
1468
1433
|
};
|
|
1434
|
+
this.endResize = stop;
|
|
1469
1435
|
document.addEventListener('mousemove', onMouseMove);
|
|
1470
1436
|
document.addEventListener('mouseup', onMouseUp);
|
|
1471
1437
|
};
|
|
1472
|
-
selectItem(
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
}
|
|
1480
|
-
this.dispatchEvent(new CustomEvent('selectedType', {
|
|
1481
|
-
detail: typeArg
|
|
1482
|
-
}));
|
|
1483
|
-
this.dispatchEvent(new CustomEvent('selectedItemName', {
|
|
1484
|
-
detail: itemNameArg
|
|
1485
|
-
}));
|
|
1486
|
-
this.dispatchEvent(new CustomEvent('selectedItem', {
|
|
1487
|
-
detail: itemArg
|
|
1488
|
-
}));
|
|
1489
|
-
this.dashboardRef.buildUrl();
|
|
1490
|
-
// Force re-render to update demo child selection indicator
|
|
1491
|
-
this.requestUpdate();
|
|
1438
|
+
selectItem(sectionNameArg, itemNameArg, demoIndexArg = 0) {
|
|
1439
|
+
const selection = {
|
|
1440
|
+
sectionName: sectionNameArg,
|
|
1441
|
+
itemName: itemNameArg,
|
|
1442
|
+
demoIndex: demoIndexArg,
|
|
1443
|
+
};
|
|
1444
|
+
this.selection = selection;
|
|
1445
|
+
this.dispatchEvent(new CustomEvent('selectionChanged', { detail: selection }));
|
|
1492
1446
|
}
|
|
1493
1447
|
};
|
|
1494
1448
|
return WccSidebar = _classThis;
|
|
1495
1449
|
})();
|
|
1496
1450
|
export { WccSidebar };
|
|
1497
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLXNpZGViYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvd2NjLXNpZGViYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBdUIsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckgsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEgsT0FBTyxFQUFFLGNBQWMsRUFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUc3RSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUM5QixNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUM5QixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUM7SUFHdkIsVUFBVTs0QkFEdEIsYUFBYSxDQUFDLGFBQWEsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUFuQixTQUFRLFdBQVc7Ozs7d0NBQ3hDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt3Q0FHOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO3dDQUc5QixRQUFRLEVBQUU7b0NBR1YsUUFBUSxFQUFFOzRDQUlWLEtBQUssRUFBRTs2Q0FJUCxLQUFLLEVBQUU7K0NBSVAsS0FBSyxFQUFFO3VDQUlQLFFBQVEsRUFBRTt1Q0FJVixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUs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
|
|
1451
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLXNpZGViYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c19zaGVsbC9lbGVtZW50cy93Y2Mtc2lkZWJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBdUIsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckgsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUs3RSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUM5QixNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUM5QixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUM7SUFVdkIsVUFBVTs0QkFEdEIsYUFBYSxDQUFDLGFBQWEsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQUFuQixTQUFRLFdBQVc7Ozs7b0NBQ3hDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztxQ0FHOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO29DQUc5QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7NENBSTNCLEtBQUssRUFBRTs2Q0FJUCxLQUFLLEVBQUU7K0NBSVAsS0FBSyxFQUFFO3VDQUlQLFFBQVEsRUFBRTt1Q0FJVixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7d0NBSTlCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztzQ0FJMUIsS0FBSyxFQUFFO29DQUlQLEtBQUssRUFBRTswQ0FJUCxLQUFLLEVBQUU7WUF6Q1IsNktBQVMsUUFBUSw2QkFBUixRQUFRLDJGQUF1RDtZQUd4RSxnTEFBUyxTQUFTLDZCQUFULFNBQVMsNkZBQWlEO1lBR25FLDZLQUFTLFFBQVEsNkJBQVIsUUFBUSwyRkFBa0I7WUFJbkMscU1BQVMsZ0JBQWdCLDZCQUFoQixnQkFBZ0IsMkdBQTBCO1lBSW5ELHdNQUFTLGlCQUFpQiw2QkFBakIsaUJBQWlCLDZHQUEwQjtZQUlwRCw4TUFBUyxtQkFBbUIsNkJBQW5CLG1CQUFtQixpSEFBMEI7WUFJdEQsc0xBQVMsV0FBVyw2QkFBWCxXQUFXLGlHQUFjO1lBSWxDLHNMQUFTLFdBQVcsNkJBQVgsV0FBVyxpR0FBMEI7WUFJOUMseUxBQVMsWUFBWSw2QkFBWixZQUFZLG1HQUFlO1lBSXBDLG1MQUFTLFVBQVUsNkJBQVYsVUFBVSwrRkFBa0I7WUFJckMsNktBQVMsUUFBUSw2QkFBUixRQUFRLDJGQUFrQjtZQUluQywrTEFBUyxjQUFjLDZCQUFkLGNBQWMsdUdBQWtCO1lBNUMzQyw2S0F1M0NDOzs7WUF2M0NZLHVEQUFVOztRQUVyQiw2RUFBbUUsSUFBSSxFQUFDO1FBQXhFLElBQVMsUUFBUSw4Q0FBdUQ7UUFBeEUsSUFBUyxRQUFRLG9EQUF1RDtRQUd4RSxzSUFBOEQsSUFBSSxHQUFDO1FBQW5FLElBQVMsU0FBUywrQ0FBaUQ7UUFBbkUsSUFBUyxTQUFTLHFEQUFpRDtRQUduRSxxSUFBNkIsS0FBSyxHQUFDO1FBQW5DLElBQVMsUUFBUSw4Q0FBa0I7UUFBbkMsSUFBUyxRQUFRLG9EQUFrQjtRQUluQyxvSkFBeUMsSUFBSSxHQUFHLEVBQUUsR0FBQztRQUZuRCw4REFBOEQ7UUFFOUQsSUFBUyxnQkFBZ0Isc0RBQTBCO1FBQW5ELElBQVMsZ0JBQWdCLDREQUEwQjtRQUluRCw4SkFBMEMsSUFBSSxHQUFHLEVBQUUsR0FBQztRQUZwRCxxQ0FBcUM7UUFFckMsSUFBUyxpQkFBaUIsdURBQTBCO1FBQXBELElBQVMsaUJBQWlCLDZEQUEwQjtRQUlwRCxtS0FBNEMsSUFBSSxHQUFHLEVBQUUsR0FBQztRQUZ0RCw4Q0FBOEM7UUFFOUMsSUFBUyxtQkFBbUIseURBQTBCO1FBQXRELElBQVMsbUJBQW1CLCtEQUEwQjtRQUl0RCxxSkFBK0IsRUFBRSxHQUFDO1FBRmxDLDJDQUEyQztRQUUzQyxJQUFTLFdBQVcsaURBQWM7UUFBbEMsSUFBUyxXQUFXLHVEQUFjO1FBSWxDLDZJQUFvQyxJQUFJLEdBQUcsRUFBRSxHQUFDO1FBRjlDLGlEQUFpRDtRQUVqRCxJQUFTLFdBQVcsaURBQTBCO1FBQTlDLElBQVMsV0FBVyx1REFBMEI7UUFJOUMsK0lBQWdDLEdBQUcsR0FBQztRQUZwQyw0QkFBNEI7UUFFNUIsSUFBUyxZQUFZLGtEQUFlO1FBQXBDLElBQVMsWUFBWSx3REFBZTtRQUlwQyw0SUFBK0IsS0FBSyxHQUFDO1FBRnJDLDhCQUE4QjtRQUU5QixJQUFTLFVBQVUsZ0RBQWtCO1FBQXJDLElBQVMsVUFBVSxzREFBa0I7UUFJckMsc0lBQTZCLEtBQUssR0FBQztRQUZuQywwQ0FBMEM7UUFFMUMsSUFBUyxRQUFRLDhDQUFrQjtRQUFuQyxJQUFTLFFBQVEsb0RBQWtCO1FBSW5DLGdKQUFtQyxLQUFLLEdBQUM7UUFGekMsOENBQThDO1FBRTlDLElBQVMsY0FBYyxvREFBa0I7UUFBekMsSUFBUyxjQUFjLDBEQUFrQjtRQUV6Qyx5RUFBeUU7UUFDakUsbUJBQW1CLGdFQUFHLElBQUksR0FBRyxFQUFVLEVBQUM7UUFFaEQsK0RBQStEO1FBQ3ZELFVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBRWpDLFdBQVcsQ0FBNEM7UUFDdkQsZ0JBQWdCLEdBQW1CLElBQUksQ0FBQztRQUN4QyxxQkFBcUIsQ0FBNEM7UUFDakUsU0FBUyxHQUF3QixJQUFJLENBQUM7UUFFdkMsS0FBSyxDQUFDLG9CQUFvQjtZQUMvQixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNsRCx3REFBd0Q7WUFDeEQsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDbkIsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztRQUVEOztXQUVHO1FBQ0gsSUFBVyxtQkFBbUI7WUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQXVCLENBQUM7UUFDdkUsQ0FBQztRQUVNLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBb0JNLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTs7Ozs7Ozs7bUJBUWpDLElBQUksQ0FBQyxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FDQXVlQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7Ozs7Ozs7O3VCQVFuRCxJQUFJLENBQUMsV0FBVzt1QkFDaEIsSUFBSSxDQUFDLGlCQUFpQjt5QkFDcEIsSUFBSSxDQUFDLG1CQUFtQjs7Y0FFbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBOzRGQUN1RCxJQUFJLENBQUMsV0FBVzs7O2FBRy9GLENBQUMsQ0FBQyxDQUFDLElBQUk7Ozs7Ozs7O3FCQVFDLElBQUksQ0FBQyxpQkFBaUI7cUJBQ3RCLElBQUksQ0FBQyxpQkFBaUI7O1lBRS9CLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtzQ0FDQSxJQUFJLENBQUMsZ0JBQWdCO2NBQzdDLElBQUksQ0FBQyxjQUFjLEVBQUU7Ozs7OytCQUtKLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTs7Ozs7O3dCQU10QyxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsSUFBSSxDQUFDLFlBQVk7cUJBQ3BCLElBQUksQ0FBQyxXQUFXO21CQUNsQixJQUFJLENBQUMsbUJBQW1COztLQUV0QyxDQUFDO1FBQ0osQ0FBQztRQUVELDJDQUEyQztRQUVuQyxhQUFhLENBQUMsV0FBbUI7WUFDdkMsT0FBTyxXQUFXLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUM7UUFFTyxVQUFVLENBQUMsV0FBbUIsRUFBRSxTQUF3QixFQUFFLFFBQWdCO1lBQ2hGLE9BQU8sUUFBUSxXQUFXLEtBQUssU0FBUyxJQUFJLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoRSxDQUFDO1FBRUQ7O1dBRUc7UUFDSyxxQkFBcUIsQ0FBQyxXQUFrQztZQUM5RCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDM0YsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTztZQUMvQixNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNsRCxLQUFLLE1BQU0sT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3RCLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7UUFDckMsQ0FBQztRQUVPLFNBQVMsQ0FBQyxXQUFtQixFQUFFLFFBQWdCO1lBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQztZQUM5RixNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztZQUM5RSxPQUFPLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdEQsQ0FBQztRQUVPLFVBQVUsQ0FBQyxXQUFtQixFQUFFLFFBQWdCLEVBQUUsU0FBa0I7WUFDMUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7bUJBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxLQUFLLFdBQVc7bUJBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxLQUFLLFFBQVE7bUJBQ3BDLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBRUQsNENBQTRDO1FBRXBDLFNBQVMsQ0FBQyxXQUFtQixFQUFFLFFBQWdCO1lBQ3JELE9BQU8sR0FBRyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdkMsQ0FBQztRQUVPLFFBQVEsQ0FBQyxXQUFtQixFQUFFLFFBQWdCO1lBQ3BELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRU8sU0FBUyxDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7WUFDckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzVDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QixTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUVPLGVBQWUsQ0FBQyxDQUFhLEVBQUUsV0FBbUIsRUFBRSxRQUFnQjtZQUMxRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN0RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUU3RSxNQUFNLFNBQVMsR0FBdUI7Z0JBQ3BDO29CQUNFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSztvQkFDaEMsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7aUJBQ3BEO2FBQ0YsQ0FBQztZQUVGLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDYixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7b0JBQ2hCLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztnQkFDSCxLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNiLElBQUksRUFBRSxTQUFTO3dCQUNmLFFBQVEsRUFBRSxPQUFPO3dCQUNqQixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO3FCQUN6RCxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7WUFFRCxNQUFNLEtBQUssR0FBSSxDQUFDLENBQUMsYUFBb0MsRUFBRSxPQUFPLENBQWMsbUJBQW1CLENBQUMsSUFBSSxTQUFTLENBQUM7WUFDOUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVPLG9CQUFvQixDQUFDLENBQWEsRUFBRSxTQUFpQjtZQUMzRCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDckI7b0JBQ0UsSUFBSSxFQUFFLFNBQVMsU0FBUyxHQUFHO29CQUMzQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsTUFBTSxFQUFFLEdBQUcsRUFBRTt3QkFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQzt3QkFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDckYsQ0FBQztpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRDs7V0FFRztRQUNLLG1CQUFtQjtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEQsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUUvRCx1RUFBdUU7WUFDdkUsTUFBTSxhQUFhLEdBQXNFLEVBQUUsQ0FBQztZQUM1RixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDVixhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUE7O3dEQUV5QyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTs7Ozt3QkFJOUQsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU07bUJBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO2lCQUNwQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDOzs7Ozs7b0NBTTlCLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFO1VBQ3hELGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUN6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxLQUFLLFVBQVU7b0JBQ3RDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDcEUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO2dCQUV4QixPQUFPLElBQUksQ0FBQTs7NkNBRXdCLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7OzhCQUkzQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTzs2QkFDOUIsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87eUJBQ2pDLFVBQVUsT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO3NCQUMxQyxLQUFLLENBQUMsSUFBSTt1QkFDVCxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7NkJBQzVDLENBQUMsQ0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7O3dFQUV6QixJQUFJO2tDQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7MENBQ3ZCLE9BQU8sQ0FBQyxJQUFJOztXQUUzQyxDQUFDO1lBQ0osQ0FBQyxDQUFDOztLQUVMLENBQUM7UUFDSixDQUFDO1FBRUQ7O1dBRUc7UUFDSyxjQUFjO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzVDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDeEYsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFFeEcsNENBQTRDO2dCQUM1QyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUN0RixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO2dCQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUU3RCxPQUFPLElBQUksQ0FBQTs7MkNBRTBCLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7OzBCQUkvQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTTtxQkFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO21CQUNsQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzs7O1lBR3RELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSx3RUFBd0UsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJO2tCQUM5RyxPQUFPLENBQUMsSUFBSTs7c0NBRVEsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCLE9BQU8sQ0FBQyxJQUFJO1lBQ2pHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDO1lBQy9DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUM7O09BRTdELENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRDs7V0FFRztRQUNLLGtCQUFrQixDQUFDLE9BQTRCLEVBQUUsZUFBb0M7WUFDM0YsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUM3QixPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDN0QsT0FBTyxJQUFJLENBQUE7OzJDQUV3QixVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7OzRCQUl2RSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTzsyQkFDOUIsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87dUJBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDbEQsS0FBSyxDQUFDLElBQUk7cUJBQ1QsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDOzJCQUM1QyxDQUFDLENBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDOzs7Z0NBRy9ELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzs7U0FFdEQsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFFRCw0Q0FBNEM7WUFDNUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUM7WUFFbkUsS0FBSyxNQUFNLEtBQUssSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDcEMsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDN0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzlCLENBQUM7b0JBQ0QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZDLENBQUM7WUFDSCxDQUFDO1lBUUQsTUFBTSxXQUFXLEdBQWtCLEVBQUUsQ0FBQztZQUV0QyxLQUFLLE1BQU0sS0FBSyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ2pELFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbEYsQ0FBQztZQUVELEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDOUMsSUFBSSxTQUFTLEtBQUssSUFBSTtvQkFBRSxTQUFTO2dCQUNqQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzFGLENBQUM7WUFFRCwyQ0FBMkM7WUFDM0MsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBRS9ELE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM5QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMzRCxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFBOzs4QkFFYSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTs7dUJBRTFFLElBQUksQ0FBQyxTQUFTO3dCQUNiLElBQUksQ0FBQyxTQUFTOzs7OzsyQkFLWCxDQUFDLENBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQzdFLElBQUksQ0FBQyxTQUFTO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzs7T0FFdEYsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVEOzs7V0FHRztRQUNLLHNCQUFzQixDQUFDLE9BQTRCLEVBQUUsT0FBMEQ7WUFDckgsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxzREFBc0Q7WUFDdEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFaEYsT0FBTyxJQUFJLENBQUE7Ozs7Ozt3QkFNUyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTzttQkFDOUIsZ0JBQWdCLE9BQU8sQ0FBQyxJQUFJLEVBQUU7aUJBQ2hDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDOzs7O2dEQUlYLEdBQUcsT0FBTyxDQUFDLE1BQU0sV0FBVyxJQUFJLE9BQU8sQ0FBQyxNQUFNOztRQUV0RixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTs7WUFFVCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7O3lCQVFkLFVBQVUsT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO3NCQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxjQUFjOzs7a0NBR2xFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzs7V0FFdEQsQ0FBQzs7T0FFTCxDQUFDLENBQUMsQ0FBQyxJQUFJO0tBQ1QsQ0FBQztRQUNKLENBQUM7UUFFRDs7V0FFRztRQUNLLGlCQUFpQixDQUFDLEtBQXdCLEVBQUUsT0FBNEIsRUFBRSxTQUF3QjtZQUN4RyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQy9CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzlELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBRXRFLElBQUksS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsbURBQW1EO2dCQUNuRCxPQUFPLElBQUksQ0FBQTs7Z0RBRStCLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTs7OzswQkFJOUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87cUJBQ2xDLE9BQU87a0JBQ1YsV0FBVzttQkFDVixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQzt5QkFDaEMsQ0FBQyxDQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDOzs7OEJBR2hFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDOztVQUVwRCxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTsrREFDb0MsR0FBRyxXQUFXLFFBQVE7Y0FDdkUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUU7b0JBQ3pELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztvQkFDakYsT0FBTyxJQUFJLENBQUE7OytDQUVzQixrQkFBa0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7O2tDQUlqRCxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPO2lDQUN0QyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPOzZCQUN6QyxHQUFHLE9BQU8sU0FBUyxTQUFTLEVBQUU7MkJBQ2hDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDOzs7MENBRzVDLFNBQVMsR0FBRyxDQUFDOztlQUV4QyxDQUFDO2dCQUNKLENBQUMsQ0FBQzs7U0FFTCxDQUFDLENBQUMsQ0FBQyxJQUFJO09BQ1QsQ0FBQztZQUNKLENBQUM7WUFFRCxzQkFBc0I7WUFDdEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1lBQzlFLE9BQU8sSUFBSSxDQUFBOzt1Q0FFd0IsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTs7Ozt3QkFJdkUsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87dUJBQzlCLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPO21CQUNqQyxPQUFPO2dCQUNWLFdBQVc7aUJBQ1YsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7dUJBQzdDLENBQUMsQ0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQzs7a0VBRTFCLElBQUk7NEJBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDOztLQUV2RCxDQUFDO1FBQ0osQ0FBQztRQUVPLHNCQUFzQixDQUFDLFdBQW1CO1lBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQy9DLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFCLENBQUM7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO1FBQ2xDLENBQUM7UUFFTyxjQUFjLENBQUMsV0FBbUI7WUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDOUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDakMsQ0FBQztRQUVPLGlCQUFpQixDQUFDLFdBQW1CO1lBQzNDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyQixtREFBbUQ7Z0JBQ25ELE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDakQsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7UUFDcEMsQ0FBQztRQUVPLGlCQUFpQixDQUFDLENBQVE7WUFDaEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQTBCLENBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUVPLG1CQUFtQixDQUFDLENBQWdCO1lBQzFDLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3hDLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ1gsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3QixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUM7UUFFTyxXQUFXO1lBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFxQixDQUFDO1lBQ2pGLElBQUksS0FBSztnQkFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVPLGdCQUFnQixDQUFDLENBQVE7WUFDL0IsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQXFCLENBQUM7WUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRU8sYUFBYSxDQUFDLElBQVk7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELGdGQUFnRjtRQUN4RSxrQkFBa0IsQ0FBQyxRQUEwQjtZQUNuRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUNuRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQzFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFFTyxrQkFBa0IsQ0FBQyxTQUFpQjtZQUMxQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLFNBQVMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFGLENBQUM7UUFFTyxhQUFhLENBQUMsV0FBbUIsRUFBRSxTQUFpQjtZQUMxRCxzQ0FBc0M7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzQyxvREFBb0Q7WUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRXJCLDRDQUE0QztZQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUM1QywyQkFBMkIsU0FBUyxJQUFJLENBQ3pDLENBQUM7Z0JBQ0YsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNoQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDaEUsd0JBQXdCO29CQUN4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDekIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztvQkFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDaEYsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVPLGlCQUFpQjtZQUN2QixZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7UUFFTyxjQUFjLENBQUMsSUFBWTtZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7Z0JBQUUsT0FBTyxJQUFJLENBQUEsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQSxHQUFHLElBQUksRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUEsR0FBRyxNQUFNLDJCQUEyQixLQUFLLFVBQVUsS0FBSyxFQUFFLENBQUM7UUFDeEUsQ0FBQztRQUVELDZFQUE2RTtRQUVyRSxZQUFZO1lBQ2xCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFjLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0YsQ0FBQztRQUVPLG1CQUFtQjtZQUN6QixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUVELDRGQUE0RjtRQUNwRixpQkFBaUI7WUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDO21CQUNwRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxLQUFLLE1BQU0sQ0FBQzttQkFDM0UsT0FBTyxDQUFDLENBQUMsQ0FBQzttQkFDVixJQUFJLENBQUM7UUFDWixDQUFDO1FBRU8sa0JBQWtCO1lBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3hDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztRQUVPLGFBQWEsQ0FBQyxPQUFvQjtZQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQztZQUM5QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsQ0FBQztZQUNELE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVPLGlCQUFpQixDQUFDLENBQWE7WUFDckMsTUFBTSxJQUFJLEdBQUksQ0FBQyxDQUFDLE1BQXNCLENBQUMsT0FBTyxDQUFjLG1CQUFtQixDQUFDLENBQUM7WUFDakYsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQztnQkFDM0MsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztvQkFDeEMsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFTyxpQkFBaUIsQ0FBQyxDQUFnQjtZQUN4QyxNQUFNLE9BQU8sR0FBSSxDQUFDLENBQUMsTUFBc0IsQ0FBQyxPQUFPLENBQWMsbUJBQW1CLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFPO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN6RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRXZELGtGQUFrRjtZQUNsRixJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzdDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFO29CQUNsRCxPQUFPLEVBQUUsSUFBSTtvQkFDYixRQUFRLEVBQUUsSUFBSTtvQkFDZCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07aUJBQ3JCLENBQUMsQ0FBQyxDQUFDO2dCQUNKLE9BQU87WUFDVCxDQUFDO1lBRUQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2QsS0FBSyxXQUFXO29CQUNkLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7d0JBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzNELE1BQU07Z0JBQ1IsS0FBSyxTQUFTO29CQUNaLElBQUksS0FBSyxHQUFHLENBQUM7d0JBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BELE1BQU07Z0JBQ1IsS0FBSyxNQUFNO29CQUNULElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMzQyxNQUFNO2dCQUNSLEtBQUssS0FBSztvQkFDUixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQzt3QkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2xFLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLElBQUksUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO3dCQUN6QixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2xCLENBQUM7eUJBQU0sSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFLENBQUM7d0JBQy9CLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQzlCLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsS0FBSzs0QkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4RixDQUFDO29CQUNELE1BQU07Z0JBQ1IsS0FBSyxXQUFXO29CQUNkLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRSxDQUFDO3dCQUN4QixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2xCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUU7NkJBQzNDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQzt3QkFDekUsSUFBSSxNQUFNOzRCQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3pDLENBQUM7b0JBQ0QsTUFBTTtnQkFDUixLQUFLLE9BQU8sQ0FBQztnQkFDYixLQUFLLEdBQUc7b0JBQ04sSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO3dCQUNyRCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2xCLENBQUM7b0JBQ0QsTUFBTTtnQkFDUjtvQkFDRSxPQUFPO1lBQ1gsQ0FBQztZQUNELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRVMsVUFBVSxDQUFDLGlCQUF1QztZQUMxRCxLQUFLLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDcEMsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN2RCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBRUQscUVBQXFFO1lBQ3JFLElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDekQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNsRixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDdkYsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQzlDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztnQkFDakMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRVMsT0FBTyxDQUFDLGlCQUF1QztZQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFFakMsaURBQWlEO1lBQ2pELElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLCtFQUErRTtnQkFDL0UsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDdEMsK0NBQStDO29CQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO29CQUN2QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ1YsQ0FBQztxQkFBTSxDQUFDO29CQUNOLHVGQUF1RjtvQkFDdkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNoQyxDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFFRCxpREFBaUQ7UUFFakQsNEZBQTRGO1FBQ3BGLFVBQVUsQ0FBQyxRQUFnQjtZQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEcsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFFLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFFTyxtQkFBbUIsQ0FBQyxDQUFnQjtZQUMxQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLE1BQWMsQ0FBQztZQUNuQixRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxLQUFLLFdBQVc7b0JBQ2QsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO29CQUNsQyxNQUFNO2dCQUNSLEtBQUssWUFBWTtvQkFDZixNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQ2xDLE1BQU07Z0JBQ1IsS0FBSyxNQUFNO29CQUNULE1BQU0sR0FBRyxpQkFBaUIsQ0FBQztvQkFDM0IsTUFBTTtnQkFDUixLQUFLLEtBQUs7b0JBQ1IsTUFBTSxHQUFHLGlCQUFpQixDQUFDO29CQUMzQixNQUFNO2dCQUNSO29CQUNFLE9BQU87WUFDWCxDQUFDO1lBQ0QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUVPLFdBQVcsR0FBRyxDQUFDLENBQWEsRUFBRSxFQUFFO1lBQ3RDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RSxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFFckMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFhLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDO1lBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO2dCQUNoQixRQUFRLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUN2RCxRQUFRLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVFLENBQUMsQ0FBQztZQUVGLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRTtnQkFDckIsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsMENBQTBDO2dCQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdkYsQ0FBQyxDQUFDO1lBRUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNwRCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQztRQUVLLFVBQVUsQ0FBQyxjQUFzQixFQUFFLFdBQW1CLEVBQUUsZUFBdUIsQ0FBQztZQUNyRixNQUFNLFNBQVMsR0FBcUM7Z0JBQ2xELFdBQVcsRUFBRSxjQUFjO2dCQUMzQixRQUFRLEVBQUUsV0FBVztnQkFDckIsU0FBUyxFQUFFLFlBQVk7YUFDeEIsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7Ozs7U0F0M0NVLFVBQVUifQ==
|