@universal-material/web 3.0.95 → 3.0.98

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.
@@ -2,7 +2,7 @@ import { PropertyValues } from '@lit/reactive-element';
2
2
  import { HTMLTemplateResult, LitElement } from 'lit';
3
3
  export declare class UmTopAppBar extends LitElement {
4
4
  #private;
5
- static styles: import("lit").CSSResult;
5
+ static styles: import("lit").CSSResult[];
6
6
  /**
7
7
  * Whether the app bar has leading icon or not
8
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"top-app-bar.d.ts","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAKpE,qBACa,WAAY,SAAQ,UAAU;;IACzC,OAAgB,MAAM,0BAAU;IAEhC;;;;OAIG;IAEH,cAAc,UAAS;IAEvB;;;;OAIG;IAEH,eAAe,UAAS;IAGxB,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAW;IAGpD,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAW;IAEjC,QAAQ,EAAE,MAAM,CAAM;IAElC,IACI,eAAe,IAAI,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE5D;IACD,IAAI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,EAShE;IAGD,iBAAiB,EAAE,OAAO,CAAS;IAGnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IAGtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAE5B,OAAO,CAAC,UAAU,CAAe;IAChC,OAAO,CAAC,gBAAgB,CAAe;IAC/C,OAAO,CAAC,gBAAgB,CAAe;IAE3D,OAAO,CAAC,qBAAqB,CAA+B;IAE5D,OAAO,CAAC,sBAAsB,CAGd;IAEhB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,4BAA4B;IAI3B,MAAM,IAAI,kBAAkB;cA6BlB,OAAO,CAAC,kBAAkB,EAAE,cAAc;IAKpD,YAAY,CAAC,iBAAiB,EAAE,cAAc;IAO9C,iBAAiB;IAMjB,oBAAoB;IAgC7B,OAAO,CAAC,MAAM,CAAC,YAAY;IAY3B,OAAO,CAAC,wBAAwB;CAGjC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"top-app-bar.d.ts","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAOpE,qBACa,WAAY,SAAQ,UAAU;;IACzC,OAAgB,MAAM,4BAAwB;IAE9C;;;;OAIG;IAEH,cAAc,UAAS;IAEvB;;;;OAIG;IAEH,eAAe,UAAS;IAGxB,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAW;IAGpD,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAW;IAEjC,QAAQ,EAAE,MAAM,CAAM;IAElC,IACI,eAAe,IAAI,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE5D;IACD,IAAI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,EAShE;IAGD,iBAAiB,EAAE,OAAO,CAAS;IAGnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IAGtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAE5B,OAAO,CAAC,UAAU,CAAe;IAChC,OAAO,CAAC,gBAAgB,CAAe;IAC/C,OAAO,CAAC,gBAAgB,CAAe;IAE3D,OAAO,CAAC,qBAAqB,CAA+B;IAE5D,OAAO,CAAC,sBAAsB,CAGd;IAEhB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,4BAA4B;IAI3B,MAAM,IAAI,kBAAkB;cA6BlB,OAAO,CAAC,kBAAkB,EAAE,cAAc;IAKpD,YAAY,CAAC,iBAAiB,EAAE,cAAc;IAO9C,iBAAiB;IAMjB,oBAAoB;IAgC7B,OAAO,CAAC,MAAM,CAAC,YAAY;IAY3B,OAAO,CAAC,wBAAwB;CAGjC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
@@ -9,6 +9,7 @@ var UmTopAppBar_1;
9
9
  import { html, LitElement, nothing } from 'lit';
10
10
  import { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';
11
11
  import { styles } from './top-app-bar.styles.js';
12
+ import { styles as baseStyles } from '../shared/base.styles';
12
13
  let UmTopAppBar = class UmTopAppBar extends LitElement {
13
14
  constructor() {
14
15
  super(...arguments);
@@ -48,7 +49,7 @@ let UmTopAppBar = class UmTopAppBar extends LitElement {
48
49
  };
49
50
  }
50
51
  static { UmTopAppBar_1 = this; }
51
- static { this.styles = styles; }
52
+ static { this.styles = [baseStyles, styles]; }
52
53
  get scrollContainer() {
53
54
  return this.attributes.getNamedItem('scrollContainer')?.value;
54
55
  }
@@ -77,13 +78,13 @@ let UmTopAppBar = class UmTopAppBar extends LitElement {
77
78
  }
78
79
  render() {
79
80
  const extendedContent = html `
80
- <div class="extended-content">
81
+ <div class="extended-content" part="extended-content">
81
82
  <slot name="extended-content">${this.headline}</slot>
82
83
  </div>
83
84
  `;
84
85
  return html `
85
- <div class="container">
86
- <div class="content">
86
+ <div class="container" part="container">
87
+ <div class="content" part="content">
87
88
  <div class="icon leading-icon">
88
89
  <slot name="leading-icon" @slotchange="${this.handleLeadingIconSlotChange}"></slot>
89
90
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"top-app-bar.js","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.ts"],"names":[],"mappings":";;;;;;;;AACA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAG1C,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAApC;;QAGL;;;;WAIG;QAEH,mBAAc,GAAG,KAAK,CAAC;QAEvB;;;;WAIG;QAEH,oBAAe,GAAG,KAAK,CAAC;QAGxB,aAAQ,GAAoC,OAAO,CAAC;QAGpD,SAAI,GAAiC,OAAO,CAAC;QAEjC,aAAQ,GAAW,EAAE,CAAC;QAkBlC,sBAAiB,GAAY,KAAK,CAAC;QAY3B,0BAAqB,GAA0B,IAAI,CAAC;QAEpD,2BAAsB,GAGnB,IAAI,CAAC;QAiFhB,kBAAa,GAAG,GAAG,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,IAAI,MAAM,CAAC;YAExD,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpF,MAAM,SAAS,GAAG,aAAW,CAAC,YAAY,CAAC,SAAgB,CAAC,CAAC;YAE7D,IAAI,CAAC,iBAAiB,GAAG,SAAS,GAAG,qBAAqB,CAAC;YAE3D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAErF,IAAI,qBAAqB,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,GAAG,CAAC;YAE9D,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC;QAC1E,CAAC,CAAC;IAiBJ,CAAC;;aApLiB,WAAM,GAAG,MAAM,AAAT,CAAU;IA2BhC,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAChE,CAAC;IACD,IAAI,eAAe,CAAC,WAA6C;QAC/D,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE/E,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAE,CAAC;QACpE,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9E,CAAC;IAsBO,kBAAkB,CAAC,WAA6C;QAMtE,IAAI,WAAW,YAAY,WAAW,EAAE,CAAC;YACvC,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,QAAQ,CAAC,cAAc,CAAC,WAAY,CAAE,CAAC;IAChD,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,CAAC;IAEO,4BAA4B;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IAEQ,MAAM;QACb,MAAM,eAAe,GAAG,IAAI,CAAA;;wCAEQ,IAAI,CAAC,QAAQ;;KAEhD,CAAC;QAEF,OAAO,IAAI,CAAA;;;;qDAIsC,IAAI,CAAC,2BAA2B;;;;sBAI/D,IAAI,CAAC,QAAQ;;;;;sDAKmB,IAAI,CAAC,4BAA4B;;;;;QAK/E,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO;KACpD,CAAC;IACJ,CAAC;IAEkB,OAAO,CAAC,kBAAkC;QAC3D,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEQ,YAAY,CAAC,iBAAiC;QACrD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,qBAAqB,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC;IAC1D,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,IAAI,CAAC,qBAAsB,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,aAAa,CAuBX;IAEM,MAAM,CAAC,YAAY,CAAC,SAA+B;QACzD,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC,OAAO,CAAC;QAC3B,CAAC;QAED,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC,SAAS,CAAC;QAC7B,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;IACjC,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC;IACnF,CAAC;;AA3KD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACnD;AAQvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDACnD;AAGxB;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CACwB;AAGpD;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCACiB;AAEjC;IAAX,QAAQ,EAAE;6CAAuB;AAGlC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAG3B;AAaD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sDACzC;AAGlB;IADhB,qBAAqB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDACT;AAGrC;IADhB,qBAAqB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACT;AAEpB;IAAlC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC;+CAAkC;AACxB;IAAnC,KAAK,CAAC,mBAAmB,CAAC;qDAAwC;AACvC;IAA3B,KAAK,CAAC,WAAW,CAAC;qDAAwC;AArDhD,WAAW;IADvB,aAAa,CAAC,eAAe,CAAC;GAClB,WAAW,CAqLvB","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { styles } from './top-app-bar.styles.js';\n\n@customElement('u-top-app-bar')\nexport class UmTopAppBar extends LitElement {\n static override styles = styles;\n\n /**\n * Whether the app bar has leading icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-leading-icon', reflect: true })\n hasLeadingIcon = false;\n\n /**\n * Whether the app bar has trailing icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true })\n hasTrailingIcon = false;\n\n @property({ reflect: true })\n position: 'fixed' | 'absolute' | 'static' = 'fixed';\n\n @property({ reflect: true })\n size: 'small' | 'medium' | 'large' = 'small';\n\n @property() headline: string = '';\n\n @property({ reflect: true })\n get scrollContainer(): 'none' | 'window' | string | undefined {\n return this.attributes.getNamedItem('scrollContainer')?.value;\n }\n set scrollContainer(idOrElement: string | HTMLElement | undefined) {\n this.scrollContainerElement?.removeEventListener('scroll', this.#updateScroll);\n\n if (idOrElement === 'none') {\n return;\n }\n\n this.scrollContainerElement = this.getScrollContainer(idOrElement)!;\n this.scrollContainerElement?.addEventListener('scroll', this.#updateScroll);\n }\n\n @property({ type: Boolean, attribute: 'container-scrolled', reflect: true })\n containerScrolled: boolean = false;\n\n @queryAssignedElements({ slot: 'leading-icon', flatten: true })\n private readonly assignedLeadingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'trailing-icon', flatten: true })\n private readonly assignedTrailingIcons!: HTMLElement[];\n\n @query('.container', true) private _container!: HTMLElement;\n @query('.extended-content') private _extendedContent!: HTMLElement;\n @query('.headline') private _headlineElement!: HTMLElement;\n\n private containerSizeObserver: ResizeObserver | null = null;\n\n private scrollContainerElement: {\n addEventListener: typeof window.addEventListener;\n removeEventListener: typeof window.removeEventListener;\n } | null = null;\n\n private getScrollContainer(idOrElement: string | HTMLElement | undefined):\n | {\n addEventListener: typeof window.addEventListener;\n removeEventListener: typeof window.removeEventListener;\n }\n | undefined {\n if (idOrElement instanceof HTMLElement) {\n return idOrElement;\n }\n\n if (idOrElement === 'window') {\n return window;\n }\n\n return document.getElementById(idOrElement!)!;\n }\n\n private handleLeadingIconSlotChange() {\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n }\n\n private handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n override render(): HTMLTemplateResult {\n const extendedContent = html`\n <div class=\"extended-content\">\n <slot name=\"extended-content\">${this.headline}</slot>\n </div>\n `;\n\n return html`\n <div class=\"container\">\n <div class=\"content\">\n <div class=\"icon leading-icon\">\n <slot name=\"leading-icon\" @slotchange=\"${this.handleLeadingIconSlotChange}\"></slot>\n </div>\n <div class=\"headline\">\n <slot>\n <span>${this.headline}</span>\n </slot>\n </div>\n\n <div class=\"icon trailing-icon\">\n <slot name=\"trailing-icon\" @slotchange=\"${this.handleTrailingIconSlotChange}\"></slot>\n </div>\n </div>\n <slot name=\"additional-content\"></slot>\n </div>\n ${this.size !== 'small' ? extendedContent : nothing}\n `;\n }\n\n protected override updated(_changedProperties: PropertyValues) {\n super.updated(_changedProperties);\n this.#updateScroll();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.containerSizeObserver = new ResizeObserver(() => this.setContentHeightProperty());\n this.containerSizeObserver.observe(this._container);\n this.setContentHeightProperty();\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.scrollContainer = this.scrollContainer || 'window';\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.containerSizeObserver!.disconnect();\n this.containerSizeObserver = null;\n }\n\n #updateScroll = () => {\n const container = this.scrollContainerElement ?? window;\n\n const extendedContentHeight = Math.max(this._extendedContent?.offsetHeight ?? 0, 0);\n\n const scrollTop = UmTopAppBar.getScrollTop(container as any);\n\n this.containerScrolled = scrollTop > extendedContentHeight;\n\n this._headlineElement.style.opacity = scrollTop >= extendedContentHeight ? '1' : '0';\n\n if (extendedContentHeight === 0) {\n return;\n }\n\n const scrollOffset = this._extendedContent.offsetHeight * 0.7;\n\n if (scrollTop > scrollOffset) {\n this._extendedContent.style.opacity = '0';\n return;\n }\n\n this._extendedContent.style.opacity = 1 - scrollTop / scrollOffset + '';\n };\n\n private static getScrollTop(container: HTMLElement & Window): number {\n if (typeof container.scrollY === 'number') {\n return container.scrollY;\n }\n\n if (typeof container.scrollTop === 'number') {\n return container.scrollTop;\n }\n\n return document.body.scrollTop;\n }\n\n private setContentHeightProperty() {\n this.style.setProperty('--_content-height', `${this._container.clientHeight}px`);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-top-app-bar': UmTopAppBar;\n }\n}\n"]}
1
+ {"version":3,"file":"top-app-bar.js","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { styles } from './top-app-bar.styles.js';\n\nimport { styles as baseStyles } from '../shared/base.styles';\n\n@customElement('u-top-app-bar')\nexport class UmTopAppBar extends LitElement {\n static override styles = [baseStyles, styles];\n\n /**\n * Whether the app bar has leading icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-leading-icon', reflect: true })\n hasLeadingIcon = false;\n\n /**\n * Whether the app bar has trailing icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true })\n hasTrailingIcon = false;\n\n @property({ reflect: true })\n position: 'fixed' | 'absolute' | 'static' = 'fixed';\n\n @property({ reflect: true })\n size: 'small' | 'medium' | 'large' = 'small';\n\n @property() headline: string = '';\n\n @property({ reflect: true })\n get scrollContainer(): 'none' | 'window' | string | undefined {\n return this.attributes.getNamedItem('scrollContainer')?.value;\n }\n set scrollContainer(idOrElement: string | HTMLElement | undefined) {\n this.scrollContainerElement?.removeEventListener('scroll', this.#updateScroll);\n\n if (idOrElement === 'none') {\n return;\n }\n\n this.scrollContainerElement = this.getScrollContainer(idOrElement)!;\n this.scrollContainerElement?.addEventListener('scroll', this.#updateScroll);\n }\n\n @property({ type: Boolean, attribute: 'container-scrolled', reflect: true })\n containerScrolled: boolean = false;\n\n @queryAssignedElements({ slot: 'leading-icon', flatten: true })\n private readonly assignedLeadingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'trailing-icon', flatten: true })\n private readonly assignedTrailingIcons!: HTMLElement[];\n\n @query('.container', true) private _container!: HTMLElement;\n @query('.extended-content') private _extendedContent!: HTMLElement;\n @query('.headline') private _headlineElement!: HTMLElement;\n\n private containerSizeObserver: ResizeObserver | null = null;\n\n private scrollContainerElement: {\n addEventListener: typeof window.addEventListener;\n removeEventListener: typeof window.removeEventListener;\n } | null = null;\n\n private getScrollContainer(idOrElement: string | HTMLElement | undefined):\n | {\n addEventListener: typeof window.addEventListener;\n removeEventListener: typeof window.removeEventListener;\n }\n | undefined {\n if (idOrElement instanceof HTMLElement) {\n return idOrElement;\n }\n\n if (idOrElement === 'window') {\n return window;\n }\n\n return document.getElementById(idOrElement!)!;\n }\n\n private handleLeadingIconSlotChange() {\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n }\n\n private handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n override render(): HTMLTemplateResult {\n const extendedContent = html`\n <div class=\"extended-content\" part=\"extended-content\">\n <slot name=\"extended-content\">${this.headline}</slot>\n </div>\n `;\n\n return html`\n <div class=\"container\" part=\"container\">\n <div class=\"content\" part=\"content\">\n <div class=\"icon leading-icon\">\n <slot name=\"leading-icon\" @slotchange=\"${this.handleLeadingIconSlotChange}\"></slot>\n </div>\n <div class=\"headline\">\n <slot>\n <span>${this.headline}</span>\n </slot>\n </div>\n\n <div class=\"icon trailing-icon\">\n <slot name=\"trailing-icon\" @slotchange=\"${this.handleTrailingIconSlotChange}\"></slot>\n </div>\n </div>\n <slot name=\"additional-content\"></slot>\n </div>\n ${this.size !== 'small' ? extendedContent : nothing}\n `;\n }\n\n protected override updated(_changedProperties: PropertyValues) {\n super.updated(_changedProperties);\n this.#updateScroll();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.containerSizeObserver = new ResizeObserver(() => this.setContentHeightProperty());\n this.containerSizeObserver.observe(this._container);\n this.setContentHeightProperty();\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.scrollContainer = this.scrollContainer || 'window';\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.containerSizeObserver!.disconnect();\n this.containerSizeObserver = null;\n }\n\n #updateScroll = () => {\n const container = this.scrollContainerElement ?? window;\n\n const extendedContentHeight = Math.max(this._extendedContent?.offsetHeight ?? 0, 0);\n\n const scrollTop = UmTopAppBar.getScrollTop(container as any);\n\n this.containerScrolled = scrollTop > extendedContentHeight;\n\n this._headlineElement.style.opacity = scrollTop >= extendedContentHeight ? '1' : '0';\n\n if (extendedContentHeight === 0) {\n return;\n }\n\n const scrollOffset = this._extendedContent.offsetHeight * 0.7;\n\n if (scrollTop > scrollOffset) {\n this._extendedContent.style.opacity = '0';\n return;\n }\n\n this._extendedContent.style.opacity = 1 - scrollTop / scrollOffset + '';\n };\n\n private static getScrollTop(container: HTMLElement & Window): number {\n if (typeof container.scrollY === 'number') {\n return container.scrollY;\n }\n\n if (typeof container.scrollTop === 'number') {\n return container.scrollTop;\n }\n\n return document.body.scrollTop;\n }\n\n private setContentHeightProperty() {\n this.style.setProperty('--_content-height', `${this._container.clientHeight}px`);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-top-app-bar': UmTopAppBar;\n }\n}\n"]}
@@ -3696,7 +3696,7 @@
3696
3696
  border-collapse: collapse;
3697
3697
  font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));
3698
3698
  }
3699
- .u-table > tbody > tr, .u-table > tbody > tr:not(:first-child),
3699
+ .u-table:has(thead) > tbody > tr, .u-table > tbody > tr:not(:first-child),
3700
3700
  .u-table > thead > tr:not(:first-child),
3701
3701
  .u-table > tfoot > tr:not(:first-child),
3702
3702
  .u-table > tr:not(:first-child) {
@@ -4339,4 +4339,4 @@ progress {
4339
4339
  [hidden] {
4340
4340
  display: none !important;
4341
4341
  }
4342
- /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9jc3MtdmFycy5zY3NzIiwibWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwibWl4aW5zL190ZXh0LWJnLnNjc3MiLCJjb2xvcnMvX3RleHQuc2NzcyIsImxheW91dC9fY29udGFpbmVyLnNjc3MiLCJsYXlvdXQvX2dyaWQuc2NzcyIsImxheW91dC9fbWFyZ2luLWFuZC1ndXR0ZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX2RpdmlkZXIuc2NzcyIsInV0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwidXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ0YWJsZS9fdGFibGUuc2NzcyIsInR5cG8vX2ZvbnQuc2NzcyIsInR5cG8vX3R5cG8uc2NzcyIsIm1peGlucy9fdHlwby5zY3NzIiwiX3JlYm9vdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0U7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQ1JBO0VEY0Y7SUFDRTtJQUNBOzs7QUV2QkY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFGRjtFQXZCQTtFQUNBO0VBQ0E7RUFDQTtFQXNCRTs7O0FBRkY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUNhRjtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FFSEY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUNaRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FDRUk7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBU0E7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FMRU47RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FDN0JWO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDQ007RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FDZlY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FDaEJKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFNVztBQUFBO0FBQUE7QUFBQTtFQUVQOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtBQUFBO0VBQ0U7OztBQzFDTjtFQUNFOzs7QUNHRjtFQUdNO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7O0FBTUo7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUko7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUko7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUko7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUko7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FDTEo7QUFBQTtBQUFBO0VBR0U7OztBQVdFO0VBRko7SUFHTTs7OztBQWNOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RURWQTtFQUFBO0VDYUE7RUFDQTtFQUNBO0VBQ0E7OztBQVNGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7OztBQU1GO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtJQUNFOzs7O0FBS047RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPRTs7O0FBR0Y7RUFDRTs7O0FBU0Y7RUFDRTtFQUNBOzs7QUFRRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQVFGO0VBQ0U7OztBQVFGO0VBQ0UiLCJmaWxlIjoidW5pdmVyc2FsLW1hdGVyaWFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AdXNlIFwidmFyaWFibGVzXCI7XG5AdXNlIFwiZnVuY3Rpb25zXCI7XG5AdXNlIFwibWl4aW5zXCI7XG5cbjpyb290IHtcbiAgLS11LXN0YXRlLWxheWVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC0tdS1zdGF0ZS1sYXllci1ob3Zlci1vcGFjaXR5OiAuMDg7XG4gIC0tdS1zdGF0ZS1sYXllci1mb2N1cy1vcGFjaXR5OiAuMTI7XG4gIC0tdS1zdGF0ZS1sYXllci1wcmVzc2VkLW9wYWNpdHk6IC4xMjtcbiAgLS11LXN0YXRlLWxheWVyLWRyYWdnZWQtb3BhY2l0eTogLjE2O1xuXG4gIC0tdS1oaWdoLWVtcGhhc2lzLW9wYWNpdHk6IDE7XG4gIC0tdS1sb3ctZW1waGFzaXMtb3BhY2l0eTogLjc1O1xuICAtLXUtbG93ZXItZW1waGFzaXMtb3BhY2l0eTogLjU7XG5cbiAgLS11LWNvbG9yLWJvZHk6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci12YXIoc3VyZmFjZSl9O1xuICAtLXUtY29sb3Itb24tYm9keTogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXZhcihvbi1zdXJmYWNlKX07XG4gIC0tdS1jb2xvci1ib2R5LXJnYjogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXJnYi12YXIoc3VyZmFjZSl9O1xuICAtLXUtY29sb3Itb24tYm9keS1yZ2I6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci1yZ2ItdmFyKG9uLXN1cmZhY2UpfTtcblxuICAtLXUtZm9udC1mYW1pbHk6ICN7dmFyaWFibGVzLiRmb250LWZhbWlseX07XG4gIC0tdS1mb250LW1vbm9zcGFjZTogI3t2YXJpYWJsZXMuJGZvbnQtbW9ub307XG4gIC0tdS1jdXJyZW50LXRleHQtY29sb3I6IHZhcigtLXUtY29sb3Itb24tYm9keSk7XG4gIC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiOiB2YXIoLS11LWNvbG9yLW9uLWJvZHktcmdiKTtcbiAgLS11LXRleHQtb3BhY2l0eTogdmFyKC0tdS1oaWdoLWVtcGhhc2lzLW9wYWNpdHkpO1xuICAtLXUtbGF5b3V0LW1hcmdpbjogdmFyKC0tdS1sYXlvdXQtbWFyZ2luLWRlZmF1bHQpO1xuICAtLXUtbGF5b3V0LWd1dHRlcjogdmFyKC0tdS1sYXlvdXQtZ3V0dGVyLWRlZmF1bHQpO1xuICAtLXUtbGF5b3V0LW1hcmdpbi1kZWZhdWx0OiB2YXIoLS11LXNwYWNpbmctbWVkaXVtKTtcbiAgLS11LWxheW91dC1ndXR0ZXItZGVmYXVsdDogdmFyKC0tdS1zcGFjaW5nLW1lZGl1bSk7XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiB2YXJpYWJsZXMuJGZvbnQtd2VpZ2h0cyB7XG4gICAgLS11LWZvbnQtd2VpZ2h0LSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc3BhY2luZ3Mge1xuICAgIC0tdS1zcGFjaW5nLSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc2hhcGUtY29ybmVyIHtcbiAgICAtLXUtc2hhcGUtY29ybmVyLSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWl4aW5zLm1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblxuICA6cm9vdCB7XG4gICAgLS11LWxheW91dC1tYXJnaW4tZGVmYXVsdDogdmFyKC0tdS1zcGFjaW5nLWxhcmdlKTtcbiAgICAtLXUtbGF5b3V0LWd1dHRlci1kZWZhdWx0OiB2YXIoLS11LXNwYWNpbmctbGFyZ2UpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lKSB7XG4gICRicmVha3BvaW50LW5hbWVzOiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKTtcblxuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcblxuICBAaWYgbm90ICRuIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lKSB7XG4gICRtaW46IG1hcC5nZXQodmFyaWFibGVzLiRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSkge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQpIC0gLjAycHgsIG51bGwpO1xufVxuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSkge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSkge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1taW4oJG5leHQpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkBtaXhpbiBfY3VycmVudC1jb2xvci12YXJzLWltcG9ydGFudCgkY3VycmVudC1jb2xvci12YXItbmFtZSkge1xuICAtLXUtY3VycmVudC10ZXh0LWNvbG9yOiB2YXIoI3skY3VycmVudC1jb2xvci12YXItbmFtZX0pICFpbXBvcnRhbnQ7XG4gIC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiOiB2YXIoI3skY3VycmVudC1jb2xvci12YXItbmFtZX0tcmdiKSAhaW1wb3J0YW50O1xuICAtLXUtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvci1yZ2IpLCB2YXIoLS11LXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBfYmctdmFyaWFudC1pbXBvcnRhbnQoJGNvbG9yLW5hbWUpIHtcbiAgLnUtYmctI3skY29sb3ItbmFtZX0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXUtY29sb3ItI3skY29sb3ItbmFtZX0pICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIF90ZXh0LWJnLXZhcmlhbnQtaW1wb3J0YW50KCRjb2xvci1uYW1lLCAkb24tY29sb3ItbmFtZTogbnVsbCkge1xuXG4gIEBpZiAkb24tY29sb3ItbmFtZSA9PSBudWxsIHtcbiAgICAkb24tY29sb3ItbmFtZTogb24tI3skY29sb3ItbmFtZX07XG4gIH1cblxuICAkY29udGFpbmVyLWluZGV4OiBzdHJpbmcuaW5kZXgoJG9uLWNvbG9yLW5hbWUsIFwic3VyZmFjZS1jb250YWluZXJcIik7XG4gIEBpZiAkY29udGFpbmVyLWluZGV4ICE9IG51bGwge1xuICAgICRvbi1jb2xvci1uYW1lOiAje3N0cmluZy5zbGljZSgkb24tY29sb3ItbmFtZSwgMSwgJGNvbnRhaW5lci1pbmRleCAtIDEpfXN1cmZhY2U7XG4gIH1cblxuICAudS10ZXh0LWJnLSN7JGNvbG9yLW5hbWV9IHtcbiAgICBAaW5jbHVkZSBfY3VycmVudC1jb2xvci12YXJzLWltcG9ydGFudCgtLXUtY29sb3ItI3skb24tY29sb3ItbmFtZX0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXUtY29sb3ItI3skY29sb3ItbmFtZX0pICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkB1c2UgXCIuLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMvdGV4dC1iZ1wiO1xuXG5AbWl4aW4gX3RleHQtdmFyaWFudC1ibG9jaygkbmFtZSwgJGNvbG9yLW5hbWUpIHtcblxuICBAaWYgc3RyaW5nLmluZGV4KCRuYW1lLCBcIi1jb250YWluZXJcIikgPT0gbnVsbCBhbmQgc3RyaW5nLmluZGV4KCRuYW1lLCBcIi1zdXJmYWNlXCIpID09IG51bGwge1xuICAgIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoJG5hbWUsICRjb2xvci1uYW1lKTtcbiAgICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KCRuYW1lLCAkY29sb3ItbmFtZSwgaW52ZXJzZS0pO1xuICB9XG5cbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkbmFtZSwgJGNvbG9yLW5hbWUsIG9uLSk7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoJG5hbWUsICRjb2xvci1uYW1lLCBvbi1pbnZlcnNlLSk7XG59XG5cbkBtaXhpbiBfdGV4dC12YXJpYW50KCRuYW1lLCAkY29sb3ItbmFtZTogbnVsbCwgJHByZWZpeDogJycpIHtcblxuICBAaWYgKCRjb2xvci1uYW1lID09IG51bGwpIHtcbiAgICAkY29sb3ItbmFtZTogJG5hbWU7XG4gIH1cblxuICAudS10ZXh0LSN7JHByZWZpeH0jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgX2N1cnJlbnQtY29sb3ItdmFycy1pbXBvcnRhbnQoLS11LWNvbG9yLSN7JHByZWZpeH0jeyRjb2xvci1uYW1lfSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yIGluIHZhcmlhYmxlcy4kY29sb3Itcm9sZXMge1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50LWJsb2NrKCRjb2xvciwgJGNvbG9yKTtcbn1cblxuQGVhY2ggJGNvbG9yIGluIHZhcmlhYmxlcy4kZml4ZWQtY29sb3JzIHtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkY29sb3IpO1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLSN7JGNvbG9yfSk7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoI3skY29sb3J9LWNvbnRhaW5lcik7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24tI3skY29sb3J9LWNvbnRhaW5lcik7XG59XG5cbkBlYWNoICRjb2xvciBpbiB2YXJpYWJsZXMuJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoI3skY29sb3J9LWZpeGVkKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgjeyRjb2xvcn0tZml4ZWQtZGltKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi0jeyRjb2xvcn0tZml4ZWQpO1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLSN7JGNvbG9yfS1maXhlZC12YXJpYW50KTtcbn1cblxuQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi1ib2R5KTtcbkBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24taW52ZXJzZS1ib2R5KTtcbkBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24tbGlnaHQpO1xuQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi1kYXJrKTtcblxuIiwiQHVzZSBcIi4uL2FwaVwiO1xuQHVzZSBcIi4uL21peGluc1wiO1xuXG4udS1jb250YWluZXItZmx1aWQsXG4udS1jb250YWluZXIge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tdS1sYXlvdXQtbWFyZ2luLWlubGluZSwgdmFyKC0tdS1sYXlvdXQtbWFyZ2luKSk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXUtbGF5b3V0LW1hcmdpbi1ibG9jaywgdmFyKC0tdS1sYXlvdXQtbWFyZ2luKSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLXUtY29udGFpbmVyLXdpZHRoLCA5OTJweCk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG4iLCIudS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tdS1ncmlkLWNvbHVtbnMsIDIpLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXUtbGF5b3V0LWd1dHRlci1pbmxpbmUsIHZhcigtLXUtbGF5b3V0LWd1dHRlcikpO1xuICByb3ctZ2FwOiB2YXIoLS11LWxheW91dC1ndXR0ZXItYmxvY2ssIHZhcigtLXUtbGF5b3V0LWd1dHRlcikpO1xufVxuXG4udS1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXUtbGF5b3V0LWd1dHRlci1ibG9jaywgdmFyKC0tdS1sYXlvdXQtZ3V0dGVyKSk7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2FwaVwiO1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYXBpLmJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRkaXJlY3Rpb24gaW4gdmFyaWFibGVzLiRsYXlvdXQtZGlyZWN0aW9ucyB7XG5cbiAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLnUtbWFyZ2luI3skZGlyZWN0aW9ufSN7JGluZml4fS1kZWZhdWx0IHtcbiAgICAgICAgLS11LWxheW91dC1tYXJnaW4jeyRkaXJlY3Rpb259OiB2YXIoLS11LWxheW91dC1tYXJnaW4tZGVmYXVsdCk7XG4gICAgICB9XG5cbiAgICAgIC51LWd1dHRlciN7JGRpcmVjdGlvbn0jeyRpbmZpeH0tZGVmYXVsdCB7XG4gICAgICAgIC0tdS1sYXlvdXQtZ3V0dGVyI3skZGlyZWN0aW9ufTogdmFyKC0tdS1sYXlvdXQtZ3V0dGVyLWRlZmF1bHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRzcGFjaW5nIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kc3BhY2luZ3MpIHtcbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluIHZhcmlhYmxlcy4kbGF5b3V0LWRpcmVjdGlvbnMge1xuXG4gICAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAudS1tYXJnaW4jeyRkaXJlY3Rpb259I3skaW5maXh9LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgICAtLXUtbGF5b3V0LW1hcmdpbiN7JGRpcmVjdGlvbn06IHZhcigtLXUtc3BhY2luZy0jeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cblxuICAgICAgICAudS1ndXR0ZXIjeyRkaXJlY3Rpb259I3skaW5maXh9LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgICAtLXUtbGF5b3V0LWd1dHRlciN7JGRpcmVjdGlvbn06IHZhcigtLXUtc3BhY2luZy0jeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9hcGlcIjtcblxuLnUtZGl2aWRlcixcbi51LWRpdmlkZXItbm8tbWFyZ2luIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogdmFyKC0tdS1kaXZpZGVyLXRoaWNrbmVzcywgMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1kaXZpZGVyLWNvbG9yLCB2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvcikpO1xuICBvcGFjaXR5OiB2YXIoLS11LWRpdmlkZXItb3BhY2l0eSwgLjQpO1xufVxuXG4udS1kaXZpZGVyIHtcbiAgbWFyZ2luLWJsb2NrOiA4cHg7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2FwaVwiO1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYXBpLmJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRzcGFjaW5nIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kc3BhY2luZ3MpIHtcbiAgICBAZWFjaCAkc2lkZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc3BhY2luZy1zaWRlcyB7XG4gICAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAudS1tI3skc2lkZX0jeyRpbmZpeH0tI3skc3BhY2luZ30ge1xuICAgICAgICAgIG1hcmdpbiN7JHZhbHVlfTogdmFyKC0tdS1zcGFjaW5nLSN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXAjeyRzaWRlfSN7JGluZml4fS0jeyRzcGFjaW5nfSB7XG4gICAgICAgICAgcGFkZGluZyN7JHZhbHVlfTogdmFyKC0tdS1zcGFjaW5nLSN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4udS10ZXh0LWhpZ2gtZW1waGFzaXMge1xuICAtLXUtdGV4dC1vcGFjaXR5OiB2YXIoLS11LWhpZ2gtZW1waGFzaXMtb3BhY2l0eSk7XG4gIGNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cbi51LXRleHQtbG93LWVtcGhhc2lzIHtcbiAgLS11LXRleHQtb3BhY2l0eTogdmFyKC0tdS1sb3ctZW1waGFzaXMtb3BhY2l0eSk7XG4gIGNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnUtdGV4dC1sb3dlci1lbXBoYXNpcyB7XG4gIC0tdS10ZXh0LW9wYWNpdHk6IHZhcigtLXUtbG93ZXItZW1waGFzaXMtb3BhY2l0eSk7XG4gIGNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuQGVhY2ggJHdlaWdodCwgJHZhbHVlIGluIHZhcmlhYmxlcy4kZm9udC13ZWlnaHRzIHtcbiAgLnUtZm9udC13ZWlnaHQtI3skd2VpZ2h0fSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXUtZm9udC13ZWlnaHQtI3skd2VpZ2h0fSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9uc1wiO1xuXG46cm9vdCB7XG4gIC0tdS10YWJsZS1ob3Zlci1vcGFjaXR5OiB2YXIoLS11LXN0YXRlLWxheWVyLWhvdmVyLW9wYWNpdHkpO1xuICAtLXUtdGFibGUtY2VsbC1wYWRkaW5nOiAxM3B4IDE2cHg7XG4gIC0tdS10YWJsZS1jZWxsLWZvbnQtd2VpZ2h0OiAje2Z1bmN0aW9ucy5nZXQtZm9udC13ZWlnaHQtdmFyKG1lZGl1bSl9O1xufVxuXG4udS10YWJsZSB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXUtZm9udC1mYW1pbHksICN7ZnVuY3Rpb25zLmdldC1mb250LWZhbWlseS12YXIoKX0pO1xuXG4gID4gdGJvZHkgPiB0cixcbiAgPiB0aGVhZCA+IHRyLFxuICA+IHRmb290ID4gdHIsXG4gID4gdHIge1xuICAgIEBhdC1yb290IC51LXRhYmxlID4gdGJvZHkgPiB0cixcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGFibGUtZGl2aWRlci1vcGFjaXR5LCAuMikpO1xuICAgIH1cblxuICAgID4gdGQge1xuICAgICAgcGFkZGluZzogdmFyKC0tdS10ZC1wYWRkaW5nLCB2YXIoLS11LXRhYmxlLWNlbGwtcGFkZGluZykpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS11LXRkLWZvbnQtc2l6ZSwgLjg3NXJlbSk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tdS10ZC1mb250LXdlaWdodCwgdmFyKC0tdS10YWJsZS1jZWxsLWZvbnQtd2VpZ2h0KSk7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICA+IHRoIHtcbiAgICAgIC0tdS10ZXh0LW9wYWNpdHk6IHZhcigtLXUtbG93LWVtcGhhc2lzLW9wYWNpdHkpO1xuICAgICAgcGFkZGluZzogdmFyKC0tdS10aC1wYWRkaW5nLCB2YXIoLS11LXRhYmxlLWNlbGwtcGFkZGluZykpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS11LXRoLWZvbnQtc2l6ZSwgLjgxMjVyZW0pO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXUtdGgtZm9udC13ZWlnaHQsIHZhcigtLXUtdGFibGUtY2VsbC1mb250LXdlaWdodCkpO1xuICAgICAgY29sb3I6IHJnYmEodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiKSwgdmFyKC0tdS10ZXh0LW9wYWNpdHkpKTtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgfVxufVxuXG4udS10YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cixcbiAgPiB0ciB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGFibGUtaG92ZXItb3BhY2l0eSkpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuXG46cm9vdCB7XG4gIC0tdS1mb250LWZhbWlseTogI3t2YXJpYWJsZXMuJGZvbnQtZmFtaWx5fTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AdXNlIFwidmFyaWFibGVzXCI7XG5AdXNlIFwiLi4vZnVuY3Rpb25zXCI7XG5AdXNlIFwiLi4vbWl4aW5zXCI7XG5cbjpyb290IHtcbiAgQGVhY2ggJHN0eWxlLCAkcHJvcHMgaW4gKHZhcmlhYmxlcy4kdHlwb2dyYXBoeS1zdHlsZXMpIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgIC0tdS0jeyRzdHlsZX0tI3ska2V5fTogI3skdmFsdWV9O1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkc3R5bGUgaW4gbWFwLmtleXModmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcykge1xuICAudS0jeyRzdHlsZX0ge1xuICAgIEBpbmNsdWRlIG1peGlucy50eXBvKCRzdHlsZSk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AdXNlIFwiLi4vdHlwby92YXJpYWJsZXNcIjtcbkB1c2UgXCIuLi9mdW5jdGlvbnNcIjtcblxuQG1peGluIHR5cG8oJHN0eWxlLCAkdGFyZ2V0LW5hbWU6IG51bGwpIHtcbiAgQGlmIG5vdCBtYXAuaGFzLWtleSh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlIHNwZWNpZmllZCEgI3skc3R5bGV9IGRvZXNuJ3QgZXhpc3QuIENob29zZSBvbmUgb2YgI3ttYXAua2V5cyh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzKX1cIjtcbiAgfVxuXG4gIEBpZiAkdGFyZ2V0LW5hbWUgIT0gbnVsbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXUtZm9udC1mYW1pbHksICN7ZnVuY3Rpb25zLmdldC1mb250LWZhbWlseS12YXIoKX0pO1xuICB9IEBlbHNlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tdS1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiKSwgdmFyKC0tdS10ZXh0LW9wYWNpdHkpKTtcbiAgfVxuXG4gICRwcm9wczogbWFwLmdldCh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgIEBpZiAkdGFyZ2V0LW5hbWUgIT0gbnVsbCB7XG4gICAgICAjeyRrZXl9OiB2YXIoLS11LSN7JHRhcmdldC1uYW1lfS0jeyRrZXl9LCB2YXIoLS11LSN7JHN0eWxlfS0jeyRrZXl9LCAjeyR2YWx1ZX0pKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICN7JGtleX06IHZhcigtLXUtI3skc3R5bGV9LSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiB0eXBvLXByb3AoJHN0eWxlLCAkcHJvcCwgJHRhcmdldC1uYW1lOiBudWxsKSB7XG4gIEBpZiBub3QgbWFwLmhhcy1rZXkodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBzdHlsZSBzcGVjaWZpZWQhICN7JHN0eWxlfSBkb2Vzbid0IGV4aXN0LiBDaG9vc2Ugb25lIG9mICN7bWFwLmtleXModmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcyl9XCI7XG4gIH1cblxuICAkcHJvcHM6IG1hcC5nZXQodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKTtcblxuICAkdmFsdWU6IG1hcC5nZXQoJHByb3BzLCAkcHJvcCk7XG5cbiAgQGlmICR0YXJnZXQtbmFtZSAhPSBudWxsIHtcbiAgICAjeyRwcm9wfTogdmFyKC0tdS0jeyR0YXJnZXQtbmFtZX0tI3skcHJvcH0sIHZhcigtLXUtI3skc3R5bGV9LSN7JHByb3B9LCAjeyR2YWx1ZX0pKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06IHZhcigtLXUtI3skc3R5bGV9LSN7JHByb3B9KTtcbiAgfVxufVxuIiwiQHVzZSBcIm1peGluc1wiO1xuXG5AbWl4aW4gcmVib290KCkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG5cbiAgLy8gUmVib290XG4gIC8vXG4gIC8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbiAgLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4gIC8vXG4gIC8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4gIC8vIERvY3VtZW50XG4gIC8vXG4gIC8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG5cbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG5cbiAgLy8gUm9vdFxuICAvL1xuICAvLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuICAvLyBudWxsIGJ5IGRlZmF1bHQsIHRodXMgbm90aGluZyBpcyBnZW5lcmF0ZWQuXG5cbiAgOnJvb3Qge1xuICAgIEBpZiAkZW5hYmxlLXNtb290aC1zY3JvbGwge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gQm9keVxuICAvL1xuICAvLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbiAgLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gIC8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuICBib2R5IHtcbiAgICAtLXUtY3VycmVudC1iZy1jb2xvcjogdmFyKC0tdS1jb2xvci1ib2R5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWN1cnJlbnQtYmctY29sb3IpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSk7XG4gICAgbWFyZ2luOiAwOyAvLyAxXG4gICAgQGluY2x1ZGUgbWl4aW5zLnR5cG8tcHJvcChib2R5LWwsIGZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgbWl4aW5zLnR5cG8tcHJvcChib2R5LWwsIGZvbnQtd2VpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgLy8gNFxuICB9XG4gIC8vIHNjc3MtZG9jcy1lbmQgcmVib290LWJvZHktcnVsZXNcblxuXG4gIC8vIENvbnRlbnQgZ3JvdXBpbmdcbiAgLy9cbiAgLy8gMS4gUmVzZXQgRmlyZWZveCdzIGdyYXkgY29sb3JcblxuICBociB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICB9XG5cblxuICAvLyBUeXBvZ3JhcGh5XG4gIC8vXG4gIC8vIDEuIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4gIC8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4gIC8vICAgIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cblxuICBoNiwgaDUsIGg0LCBoMywgaDIsIGgxIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMzc1cmVtICsgMS41dncpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMzI1cmVtICsgMC45dncpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjNyZW0gKyAwLjZ2dyk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG5cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgfVxuXG4gIGFkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgb2wsXG4gIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cblxuICBvbCxcbiAgdWwsXG4gIGRsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBvbCBvbCxcbiAgdWwgdWwsXG4gIG9sIHVsLFxuICB1bCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGR0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gIH1cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICB9XG5cblxuICAvLyBNYXJrXG5cbiAgbWFyayB7XG4gICAgcGFkZGluZzogMC4xODc1ZW07XG4gICAgY29sb3I6IHZhcigtLXUtY29sb3Itb24td2FybmluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1jb2xvci13YXJuaW5nKTtcbiAgfVxuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICBhIHtcbiAgICAtLXUtY3VycmVudC10ZXh0LWNvbG9yOiB2YXIoLS11LWNvbG9yLXByaW1hcnkpO1xuICAgIC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiOiB2YXIoLS11LWNvbG9yLXByaW1hcnktcmdiKTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvci1yZ2IpLCB2YXIoLS11LXRleHQtb3BhY2l0eSkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSksIGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBwcmUsXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXUtZm9udC1tb25vc3BhY2UpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgcHJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICB9XG4gIHByZSBjb2RlIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG5cbiAgY29kZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuICBhID4gY29kZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjM3NXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgY29sb3I6IHZhcigtLXUtY29sb3Itb24tbGlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXUtY29sb3ItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS11LWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIH1cbiAga2JkIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgfVxuXG4gIGltZyxcbiAgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgdGFibGUge1xuICAgIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiKSwgdmFyKC0tdS1sb3ctZW1waGFzaXMtb3BhY2l0eSkpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICB0aCB7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDtcbiAgfVxuXG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3QsXG4gIHRyLFxuICB0ZCxcbiAgdGgge1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICBidXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICBidXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIGlucHV0LFxuICBidXR0b24sXG4gIHNlbGVjdCxcbiAgb3B0Z3JvdXAsXG4gIHRleHRhcmVhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgYnV0dG9uLFxuICBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgW3JvbGU9YnV0dG9uXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICBbbGlzdF06bm90KFt0eXBlPWRhdGVdKTpub3QoW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdKTpub3QoW3R5cGU9bW9udGhdKTpub3QoW3R5cGU9d2Vla10pOm5vdChbdHlwZT10aW1lXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYnV0dG9uLFxuICBbdHlwZT1idXR0b25dLFxuICBbdHlwZT1yZXNldF0sXG4gIFt0eXBlPXN1Ym1pdF0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG4gIGJ1dHRvbjpub3QoOmRpc2FibGVkKSxcbiAgW3R5cGU9YnV0dG9uXTpub3QoOmRpc2FibGVkKSxcbiAgW3R5cGU9cmVzZXRdOm5vdCg6ZGlzYWJsZWQpLFxuICBbdHlwZT1zdWJtaXRdOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICA6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gIH1cblxuICBmaWVsZHNldCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyAgICBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQSBmZXcgaW5wdXQgdHlwZXMgc2hvdWxkIHN0YXkgTFRSXG4gIC8vIFNlZSBodHRwczovL3J0bHN0eWxpbmcuY29tL3Bvc3RzL3J0bC1zdHlsaW5nI2Zvcm0taW5wdXRzXG4gIC8vIDIuIFJUTCBvbmx5IG91dHB1dFxuICAvLyBTZWUgaHR0cHM6Ly9ydGxjc3MuY29tL2xlYXJuL3VzYWdlLWd1aWRlL2NvbnRyb2wtZGlyZWN0aXZlcy8jcmF3XG5cbiAgLyogcnRsOnJhdzpcbiAgW3R5cGU9XCJ0ZWxcIl0sXG4gIFt0eXBlPVwidXJsXCJdLFxuICBbdHlwZT1cImVtYWlsXCJdLFxuICBbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gIH1cbiAgKi9cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuICA6Oi13ZWJraXQtY29sb3Itc3dhdGNoLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuXG4gIC8vIDEuIEluaGVyaXQgZm9udCBmYW1pbHkgYW5kIGxpbmUgaGVpZ2h0IGZvciBmaWxlIGlucHV0IGJ1dHRvbnNcbiAgLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBmb250OiBpbmhlcml0OyAvLyAxXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuXG4gIG91dHB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLy8gUmVtb3ZlIGJvcmRlciBmcm9tIGlmcmFtZVxuXG4gIGlmcmFtZSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gU3VtbWFyeVxuICAvL1xuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIDFcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuXG4gIC8vIFByb2dyZXNzXG4gIC8vXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG5cbiAgLy8gSGlkZGVuIGF0dHJpYnV0ZVxuICAvL1xuICAvLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiJdfQ== */
4342
+ /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9jc3MtdmFycy5zY3NzIiwibWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwibWl4aW5zL190ZXh0LWJnLnNjc3MiLCJjb2xvcnMvX3RleHQuc2NzcyIsImxheW91dC9fY29udGFpbmVyLnNjc3MiLCJsYXlvdXQvX2dyaWQuc2NzcyIsImxheW91dC9fbWFyZ2luLWFuZC1ndXR0ZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX2RpdmlkZXIuc2NzcyIsInV0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwidXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ0YWJsZS9fdGFibGUuc2NzcyIsInR5cG8vX2ZvbnQuc2NzcyIsInR5cG8vX3R5cG8uc2NzcyIsIm1peGlucy9fdHlwby5zY3NzIiwiX3JlYm9vdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0U7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQ1JBO0VEY0Y7SUFDRTtJQUNBOzs7QUV2QkY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFsQkY7RUFDRTs7O0FBREY7RUFDRTs7O0FBZUY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQUZGO0VBdkJBO0VBQ0E7RUFDQTtFQUNBO0VBc0JFOzs7QUFGRjtFQXZCQTtFQUNBO0VBQ0E7RUFDQTtFQXNCRTs7O0FBRkY7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7RUFzQkU7OztBQWxCRjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUNhRjtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FDa0JBO0VEckJBO0VBQ0E7RUFDQTtFQUNBOzs7QUNrQkE7RURyQkE7RUFDQTtFQUNBO0VBQ0E7OztBQ2tCQTtFRHJCQTtFQUNBO0VBQ0E7RUFDQTs7O0FFSEY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUNaRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FDRUk7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBU0E7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FMRU47RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtyQkU7SUFDRTs7RUFHRjtJQUNFOzs7QUxnQko7RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FMRU47RUtQSTtJQUNFOztFQUdGO0lBQ0U7OztBTEVOO0VLUEk7SUFDRTs7RUFHRjtJQUNFOzs7QUxFTjtFS1BJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FDN0JWO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDQ007RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FQZ0JOO0VPckJJO0lBQ0U7O0VBR0Y7SUFDRTs7O0FDZlY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FDaEJKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFNVztBQUFBO0FBQUE7QUFBQTtFQUVQOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtBQUFBO0VBQ0U7OztBQzFDTjtFQUNFOzs7QUNHRjtFQUdNO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7O0FBTUo7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUko7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUko7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUko7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FEUko7RUNGRTtFQUNBO0VBU0U7RUFBQTtFQUFBO0VBQUE7OztBRFJKO0VDRkU7RUFDQTtFQVNFO0VBQUE7RUFBQTtFQUFBOzs7QURSSjtFQ0ZFO0VBQ0E7RUFTRTtFQUFBO0VBQUE7RUFBQTs7O0FDTEo7QUFBQTtBQUFBO0VBR0U7OztBQVdFO0VBRko7SUFHTTs7OztBQWNOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RURWQTtFQUFBO0VDYUE7RUFDQTtFQUNBO0VBQ0E7OztBQVNGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBRUY7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7OztBQU1GO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtJQUNFOzs7O0FBS047RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPRTs7O0FBR0Y7RUFDRTs7O0FBU0Y7RUFDRTtFQUNBOzs7QUFRRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQVFGO0VBQ0U7OztBQVFGO0VBQ0UiLCJmaWxlIjoidW5pdmVyc2FsLW1hdGVyaWFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AdXNlIFwidmFyaWFibGVzXCI7XG5AdXNlIFwiZnVuY3Rpb25zXCI7XG5AdXNlIFwibWl4aW5zXCI7XG5cbjpyb290IHtcbiAgLS11LXN0YXRlLWxheWVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC0tdS1zdGF0ZS1sYXllci1ob3Zlci1vcGFjaXR5OiAuMDg7XG4gIC0tdS1zdGF0ZS1sYXllci1mb2N1cy1vcGFjaXR5OiAuMTI7XG4gIC0tdS1zdGF0ZS1sYXllci1wcmVzc2VkLW9wYWNpdHk6IC4xMjtcbiAgLS11LXN0YXRlLWxheWVyLWRyYWdnZWQtb3BhY2l0eTogLjE2O1xuXG4gIC0tdS1oaWdoLWVtcGhhc2lzLW9wYWNpdHk6IDE7XG4gIC0tdS1sb3ctZW1waGFzaXMtb3BhY2l0eTogLjc1O1xuICAtLXUtbG93ZXItZW1waGFzaXMtb3BhY2l0eTogLjU7XG5cbiAgLS11LWNvbG9yLWJvZHk6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci12YXIoc3VyZmFjZSl9O1xuICAtLXUtY29sb3Itb24tYm9keTogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXZhcihvbi1zdXJmYWNlKX07XG4gIC0tdS1jb2xvci1ib2R5LXJnYjogI3tmdW5jdGlvbnMuZ2V0LWNvbG9yLXJnYi12YXIoc3VyZmFjZSl9O1xuICAtLXUtY29sb3Itb24tYm9keS1yZ2I6ICN7ZnVuY3Rpb25zLmdldC1jb2xvci1yZ2ItdmFyKG9uLXN1cmZhY2UpfTtcblxuICAtLXUtZm9udC1mYW1pbHk6ICN7dmFyaWFibGVzLiRmb250LWZhbWlseX07XG4gIC0tdS1mb250LW1vbm9zcGFjZTogI3t2YXJpYWJsZXMuJGZvbnQtbW9ub307XG4gIC0tdS1jdXJyZW50LXRleHQtY29sb3I6IHZhcigtLXUtY29sb3Itb24tYm9keSk7XG4gIC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiOiB2YXIoLS11LWNvbG9yLW9uLWJvZHktcmdiKTtcbiAgLS11LXRleHQtb3BhY2l0eTogdmFyKC0tdS1oaWdoLWVtcGhhc2lzLW9wYWNpdHkpO1xuICAtLXUtbGF5b3V0LW1hcmdpbjogdmFyKC0tdS1sYXlvdXQtbWFyZ2luLWRlZmF1bHQpO1xuICAtLXUtbGF5b3V0LWd1dHRlcjogdmFyKC0tdS1sYXlvdXQtZ3V0dGVyLWRlZmF1bHQpO1xuICAtLXUtbGF5b3V0LW1hcmdpbi1kZWZhdWx0OiB2YXIoLS11LXNwYWNpbmctbWVkaXVtKTtcbiAgLS11LWxheW91dC1ndXR0ZXItZGVmYXVsdDogdmFyKC0tdS1zcGFjaW5nLW1lZGl1bSk7XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiB2YXJpYWJsZXMuJGZvbnQtd2VpZ2h0cyB7XG4gICAgLS11LWZvbnQtd2VpZ2h0LSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc3BhY2luZ3Mge1xuICAgIC0tdS1zcGFjaW5nLSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc2hhcGUtY29ybmVyIHtcbiAgICAtLXUtc2hhcGUtY29ybmVyLSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWl4aW5zLm1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblxuICA6cm9vdCB7XG4gICAgLS11LWxheW91dC1tYXJnaW4tZGVmYXVsdDogdmFyKC0tdS1zcGFjaW5nLWxhcmdlKTtcbiAgICAtLXUtbGF5b3V0LWd1dHRlci1kZWZhdWx0OiB2YXIoLS11LXNwYWNpbmctbGFyZ2UpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lKSB7XG4gICRicmVha3BvaW50LW5hbWVzOiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKTtcblxuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcblxuICBAaWYgbm90ICRuIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lKSB7XG4gICRtaW46IG1hcC5nZXQodmFyaWFibGVzLiRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSkge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQpIC0gLjAycHgsIG51bGwpO1xufVxuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSkge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSkge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1taW4oJG5leHQpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkBtaXhpbiBfY3VycmVudC1jb2xvci12YXJzLWltcG9ydGFudCgkY3VycmVudC1jb2xvci12YXItbmFtZSkge1xuICAtLXUtY3VycmVudC10ZXh0LWNvbG9yOiB2YXIoI3skY3VycmVudC1jb2xvci12YXItbmFtZX0pICFpbXBvcnRhbnQ7XG4gIC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiOiB2YXIoI3skY3VycmVudC1jb2xvci12YXItbmFtZX0tcmdiKSAhaW1wb3J0YW50O1xuICAtLXUtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvci1yZ2IpLCB2YXIoLS11LXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBfYmctdmFyaWFudC1pbXBvcnRhbnQoJGNvbG9yLW5hbWUpIHtcbiAgLnUtYmctI3skY29sb3ItbmFtZX0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXUtY29sb3ItI3skY29sb3ItbmFtZX0pICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIF90ZXh0LWJnLXZhcmlhbnQtaW1wb3J0YW50KCRjb2xvci1uYW1lLCAkb24tY29sb3ItbmFtZTogbnVsbCkge1xuXG4gIEBpZiAkb24tY29sb3ItbmFtZSA9PSBudWxsIHtcbiAgICAkb24tY29sb3ItbmFtZTogb24tI3skY29sb3ItbmFtZX07XG4gIH1cblxuICAkY29udGFpbmVyLWluZGV4OiBzdHJpbmcuaW5kZXgoJG9uLWNvbG9yLW5hbWUsIFwic3VyZmFjZS1jb250YWluZXJcIik7XG4gIEBpZiAkY29udGFpbmVyLWluZGV4ICE9IG51bGwge1xuICAgICRvbi1jb2xvci1uYW1lOiAje3N0cmluZy5zbGljZSgkb24tY29sb3ItbmFtZSwgMSwgJGNvbnRhaW5lci1pbmRleCAtIDEpfXN1cmZhY2U7XG4gIH1cblxuICAudS10ZXh0LWJnLSN7JGNvbG9yLW5hbWV9IHtcbiAgICBAaW5jbHVkZSBfY3VycmVudC1jb2xvci12YXJzLWltcG9ydGFudCgtLXUtY29sb3ItI3skb24tY29sb3ItbmFtZX0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXUtY29sb3ItI3skY29sb3ItbmFtZX0pICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkB1c2UgXCIuLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMvdGV4dC1iZ1wiO1xuXG5AbWl4aW4gX3RleHQtdmFyaWFudC1ibG9jaygkbmFtZSwgJGNvbG9yLW5hbWUpIHtcblxuICBAaWYgc3RyaW5nLmluZGV4KCRuYW1lLCBcIi1jb250YWluZXJcIikgPT0gbnVsbCBhbmQgc3RyaW5nLmluZGV4KCRuYW1lLCBcIi1zdXJmYWNlXCIpID09IG51bGwge1xuICAgIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoJG5hbWUsICRjb2xvci1uYW1lKTtcbiAgICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KCRuYW1lLCAkY29sb3ItbmFtZSwgaW52ZXJzZS0pO1xuICB9XG5cbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkbmFtZSwgJGNvbG9yLW5hbWUsIG9uLSk7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoJG5hbWUsICRjb2xvci1uYW1lLCBvbi1pbnZlcnNlLSk7XG59XG5cbkBtaXhpbiBfdGV4dC12YXJpYW50KCRuYW1lLCAkY29sb3ItbmFtZTogbnVsbCwgJHByZWZpeDogJycpIHtcblxuICBAaWYgKCRjb2xvci1uYW1lID09IG51bGwpIHtcbiAgICAkY29sb3ItbmFtZTogJG5hbWU7XG4gIH1cblxuICAudS10ZXh0LSN7JHByZWZpeH0jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgX2N1cnJlbnQtY29sb3ItdmFycy1pbXBvcnRhbnQoLS11LWNvbG9yLSN7JHByZWZpeH0jeyRjb2xvci1uYW1lfSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yIGluIHZhcmlhYmxlcy4kY29sb3Itcm9sZXMge1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50LWJsb2NrKCRjb2xvciwgJGNvbG9yKTtcbn1cblxuQGVhY2ggJGNvbG9yIGluIHZhcmlhYmxlcy4kZml4ZWQtY29sb3JzIHtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgkY29sb3IpO1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLSN7JGNvbG9yfSk7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoI3skY29sb3J9LWNvbnRhaW5lcik7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24tI3skY29sb3J9LWNvbnRhaW5lcik7XG59XG5cbkBlYWNoICRjb2xvciBpbiB2YXJpYWJsZXMuJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIF90ZXh0LXZhcmlhbnQoI3skY29sb3J9LWZpeGVkKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudCgjeyRjb2xvcn0tZml4ZWQtZGltKTtcbiAgQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi0jeyRjb2xvcn0tZml4ZWQpO1xuICBAaW5jbHVkZSBfdGV4dC12YXJpYW50KG9uLSN7JGNvbG9yfS1maXhlZC12YXJpYW50KTtcbn1cblxuQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi1ib2R5KTtcbkBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24taW52ZXJzZS1ib2R5KTtcbkBpbmNsdWRlIF90ZXh0LXZhcmlhbnQob24tbGlnaHQpO1xuQGluY2x1ZGUgX3RleHQtdmFyaWFudChvbi1kYXJrKTtcblxuIiwiQHVzZSBcIi4uL2FwaVwiO1xuQHVzZSBcIi4uL21peGluc1wiO1xuXG4udS1jb250YWluZXItZmx1aWQsXG4udS1jb250YWluZXIge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tdS1sYXlvdXQtbWFyZ2luLWlubGluZSwgdmFyKC0tdS1sYXlvdXQtbWFyZ2luKSk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXUtbGF5b3V0LW1hcmdpbi1ibG9jaywgdmFyKC0tdS1sYXlvdXQtbWFyZ2luKSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLXUtY29udGFpbmVyLXdpZHRoLCA5OTJweCk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG4iLCIudS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tdS1ncmlkLWNvbHVtbnMsIDIpLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXUtbGF5b3V0LWd1dHRlci1pbmxpbmUsIHZhcigtLXUtbGF5b3V0LWd1dHRlcikpO1xuICByb3ctZ2FwOiB2YXIoLS11LWxheW91dC1ndXR0ZXItYmxvY2ssIHZhcigtLXUtbGF5b3V0LWd1dHRlcikpO1xufVxuXG4udS1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXUtbGF5b3V0LWd1dHRlci1ibG9jaywgdmFyKC0tdS1sYXlvdXQtZ3V0dGVyKSk7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2FwaVwiO1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYXBpLmJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRkaXJlY3Rpb24gaW4gdmFyaWFibGVzLiRsYXlvdXQtZGlyZWN0aW9ucyB7XG5cbiAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLnUtbWFyZ2luI3skZGlyZWN0aW9ufSN7JGluZml4fS1kZWZhdWx0IHtcbiAgICAgICAgLS11LWxheW91dC1tYXJnaW4jeyRkaXJlY3Rpb259OiB2YXIoLS11LWxheW91dC1tYXJnaW4tZGVmYXVsdCk7XG4gICAgICB9XG5cbiAgICAgIC51LWd1dHRlciN7JGRpcmVjdGlvbn0jeyRpbmZpeH0tZGVmYXVsdCB7XG4gICAgICAgIC0tdS1sYXlvdXQtZ3V0dGVyI3skZGlyZWN0aW9ufTogdmFyKC0tdS1sYXlvdXQtZ3V0dGVyLWRlZmF1bHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRzcGFjaW5nIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kc3BhY2luZ3MpIHtcbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluIHZhcmlhYmxlcy4kbGF5b3V0LWRpcmVjdGlvbnMge1xuXG4gICAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAudS1tYXJnaW4jeyRkaXJlY3Rpb259I3skaW5maXh9LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgICAtLXUtbGF5b3V0LW1hcmdpbiN7JGRpcmVjdGlvbn06IHZhcigtLXUtc3BhY2luZy0jeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cblxuICAgICAgICAudS1ndXR0ZXIjeyRkaXJlY3Rpb259I3skaW5maXh9LSN7JHNwYWNpbmd9IHtcbiAgICAgICAgICAtLXUtbGF5b3V0LWd1dHRlciN7JGRpcmVjdGlvbn06IHZhcigtLXUtc3BhY2luZy0jeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9hcGlcIjtcblxuLnUtZGl2aWRlcixcbi51LWRpdmlkZXItbm8tbWFyZ2luIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogdmFyKC0tdS1kaXZpZGVyLXRoaWNrbmVzcywgMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1kaXZpZGVyLWNvbG9yLCB2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvcikpO1xuICBvcGFjaXR5OiB2YXIoLS11LWRpdmlkZXItb3BhY2l0eSwgLjQpO1xufVxuXG4udS1kaXZpZGVyIHtcbiAgbWFyZ2luLWJsb2NrOiA4cHg7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2FwaVwiO1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJGJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYXBpLmJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQpO1xuXG4gIEBlYWNoICRzcGFjaW5nIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kc3BhY2luZ3MpIHtcbiAgICBAZWFjaCAkc2lkZSwgJHZhbHVlIGluIHZhcmlhYmxlcy4kc3BhY2luZy1zaWRlcyB7XG4gICAgICBAaW5jbHVkZSBhcGkubWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAudS1tI3skc2lkZX0jeyRpbmZpeH0tI3skc3BhY2luZ30ge1xuICAgICAgICAgIG1hcmdpbiN7JHZhbHVlfTogdmFyKC0tdS1zcGFjaW5nLSN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXAjeyRzaWRlfSN7JGluZml4fS0jeyRzcGFjaW5nfSB7XG4gICAgICAgICAgcGFkZGluZyN7JHZhbHVlfTogdmFyKC0tdS1zcGFjaW5nLSN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4udS10ZXh0LWhpZ2gtZW1waGFzaXMge1xuICAtLXUtdGV4dC1vcGFjaXR5OiB2YXIoLS11LWhpZ2gtZW1waGFzaXMtb3BhY2l0eSk7XG4gIGNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cbi51LXRleHQtbG93LWVtcGhhc2lzIHtcbiAgLS11LXRleHQtb3BhY2l0eTogdmFyKC0tdS1sb3ctZW1waGFzaXMtb3BhY2l0eSk7XG4gIGNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnUtdGV4dC1sb3dlci1lbXBoYXNpcyB7XG4gIC0tdS10ZXh0LW9wYWNpdHk6IHZhcigtLXUtbG93ZXItZW1waGFzaXMtb3BhY2l0eSk7XG4gIGNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuQGVhY2ggJHdlaWdodCwgJHZhbHVlIGluIHZhcmlhYmxlcy4kZm9udC13ZWlnaHRzIHtcbiAgLnUtZm9udC13ZWlnaHQtI3skd2VpZ2h0fSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXUtZm9udC13ZWlnaHQtI3skd2VpZ2h0fSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9uc1wiO1xuXG46cm9vdCB7XG4gIC0tdS10YWJsZS1ob3Zlci1vcGFjaXR5OiB2YXIoLS11LXN0YXRlLWxheWVyLWhvdmVyLW9wYWNpdHkpO1xuICAtLXUtdGFibGUtY2VsbC1wYWRkaW5nOiAxM3B4IDE2cHg7XG4gIC0tdS10YWJsZS1jZWxsLWZvbnQtd2VpZ2h0OiAje2Z1bmN0aW9ucy5nZXQtZm9udC13ZWlnaHQtdmFyKG1lZGl1bSl9O1xufVxuXG4udS10YWJsZSB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXUtZm9udC1mYW1pbHksICN7ZnVuY3Rpb25zLmdldC1mb250LWZhbWlseS12YXIoKX0pO1xuXG4gID4gdGJvZHkgPiB0cixcbiAgPiB0aGVhZCA+IHRyLFxuICA+IHRmb290ID4gdHIsXG4gID4gdHIge1xuICAgIEBhdC1yb290IC51LXRhYmxlOmhhcyh0aGVhZCkgPiB0Ym9keSA+IHRyLFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiKSwgdmFyKC0tdS10YWJsZS1kaXZpZGVyLW9wYWNpdHksIC4yKSk7XG4gICAgfVxuXG4gICAgPiB0ZCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS11LXRkLXBhZGRpbmcsIHZhcigtLXUtdGFibGUtY2VsbC1wYWRkaW5nKSk7XG4gICAgICBmb250LXNpemU6IHZhcigtLXUtdGQtZm9udC1zaXplLCAuODc1cmVtKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS11LXRkLWZvbnQtd2VpZ2h0LCB2YXIoLS11LXRhYmxlLWNlbGwtZm9udC13ZWlnaHQpKTtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cblxuICAgID4gdGgge1xuICAgICAgLS11LXRleHQtb3BhY2l0eTogdmFyKC0tdS1sb3ctZW1waGFzaXMtb3BhY2l0eSk7XG4gICAgICBwYWRkaW5nOiB2YXIoLS11LXRoLXBhZGRpbmcsIHZhcigtLXUtdGFibGUtY2VsbC1wYWRkaW5nKSk7XG4gICAgICBmb250LXNpemU6IHZhcigtLXUtdGgtZm9udC1zaXplLCAuODEyNXJlbSk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tdS10aC1mb250LXdlaWdodCwgdmFyKC0tdS10YWJsZS1jZWxsLWZvbnQtd2VpZ2h0KSk7XG4gICAgICBjb2xvcjogcmdiYSh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvci1yZ2IpLCB2YXIoLS11LXRleHQtb3BhY2l0eSkpO1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuICB9XG59XG5cbi51LXRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyLFxuICA+IHRyIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiKSwgdmFyKC0tdS10YWJsZS1ob3Zlci1vcGFjaXR5KSk7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCI7XG5cbjpyb290IHtcbiAgLS11LWZvbnQtZmFtaWx5OiAje3ZhcmlhYmxlcy4kZm9udC1mYW1pbHl9O1xufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbkB1c2UgXCJ2YXJpYWJsZXNcIjtcbkB1c2UgXCIuLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuLi9taXhpbnNcIjtcblxuOnJvb3Qge1xuICBAZWFjaCAkc3R5bGUsICRwcm9wcyBpbiAodmFyaWFibGVzLiR0eXBvZ3JhcGh5LXN0eWxlcykge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgLS11LSN7JHN0eWxlfS0jeyRrZXl9OiAjeyR2YWx1ZX07XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRzdHlsZSBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzKSB7XG4gIC51LSN7JHN0eWxlfSB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLnR5cG8oJHN0eWxlKTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbkB1c2UgXCIuLi90eXBvL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4uL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gdHlwbygkc3R5bGUsICR0YXJnZXQtbmFtZTogbnVsbCkge1xuICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGUgc3BlY2lmaWVkISAjeyRzdHlsZX0gZG9lc24ndCBleGlzdC4gQ2hvb3NlIG9uZSBvZiAje21hcC5rZXlzKHZhcmlhYmxlcy4kdHlwb2dyYXBoeS1zdHlsZXMpfVwiO1xuICB9XG5cbiAgQGlmICR0YXJnZXQtbmFtZSAhPSBudWxsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tdS1mb250LWZhbWlseSwgI3tmdW5jdGlvbnMuZ2V0LWZvbnQtZmFtaWx5LXZhcigpfSk7XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS11LWZvbnQtZmFtaWx5KTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvci1yZ2IpLCB2YXIoLS11LXRleHQtb3BhY2l0eSkpO1xuICB9XG5cbiAgJHByb3BzOiBtYXAuZ2V0KHZhcmlhYmxlcy4kdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgQGlmICR0YXJnZXQtbmFtZSAhPSBudWxsIHtcbiAgICAgICN7JGtleX06IHZhcigtLXUtI3skdGFyZ2V0LW5hbWV9LSN7JGtleX0sIHZhcigtLXUtI3skc3R5bGV9LSN7JGtleX0sICN7JHZhbHVlfSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgI3ska2V5fTogdmFyKC0tdS0jeyRzdHlsZX0tI3ska2V5fSk7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIHR5cG8tcHJvcCgkc3R5bGUsICRwcm9wLCAkdGFyZ2V0LW5hbWU6IG51bGwpIHtcbiAgQGlmIG5vdCBtYXAuaGFzLWtleSh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlIHNwZWNpZmllZCEgI3skc3R5bGV9IGRvZXNuJ3QgZXhpc3QuIENob29zZSBvbmUgb2YgI3ttYXAua2V5cyh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzKX1cIjtcbiAgfVxuXG4gICRwcm9wczogbWFwLmdldCh2YXJpYWJsZXMuJHR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xuXG4gICR2YWx1ZTogbWFwLmdldCgkcHJvcHMsICRwcm9wKTtcblxuICBAaWYgJHRhcmdldC1uYW1lICE9IG51bGwge1xuICAgICN7JHByb3B9OiB2YXIoLS11LSN7JHRhcmdldC1uYW1lfS0jeyRwcm9wfSwgdmFyKC0tdS0jeyRzdHlsZX0tI3skcHJvcH0sICN7JHZhbHVlfSkpO1xuICB9IEBlbHNlIHtcbiAgICAjeyRwcm9wfTogdmFyKC0tdS0jeyRzdHlsZX0tI3skcHJvcH0pO1xuICB9XG59XG4iLCJAdXNlIFwibWl4aW5zXCI7XG5cbkBtaXhpbiByZWJvb3QoKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cblxuICAvLyBSZWJvb3RcbiAgLy9cbiAgLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuICAvLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbiAgLy9cbiAgLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy9cbiAgLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cblxuICAvLyBSb290XG4gIC8vXG4gIC8vIEFiaWxpdHkgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290IGZvbnQgc2l6ZXMsIGFmZmVjdGluZyB0aGUgdmFsdWUgb2YgYHJlbWAuXG4gIC8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuICA6cm9vdCB7XG4gICAgQGlmICRlbmFibGUtc21vb3RoLXNjcm9sbCB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyBCb2R5XG4gIC8vXG4gIC8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuICAvLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAgLy8gNC4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlYm9vdC1ib2R5LXJ1bGVzXG4gIGJvZHkge1xuICAgIC0tdS1jdXJyZW50LWJnLWNvbG9yOiB2YXIoLS11LWNvbG9yLWJvZHkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXUtY3VycmVudC1iZy1jb2xvcik7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdS1jdXJyZW50LXRleHQtY29sb3ItcmdiKSwgdmFyKC0tdS10ZXh0LW9wYWNpdHkpKTtcbiAgICBtYXJnaW46IDA7IC8vIDFcbiAgICBAaW5jbHVkZSBtaXhpbnMudHlwby1wcm9wKGJvZHktbCwgZm9udC1zaXplKTtcbiAgICBAaW5jbHVkZSBtaXhpbnMudHlwby1wcm9wKGJvZHktbCwgZm9udC13ZWlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAzXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyAvLyA0XG4gIH1cbiAgLy8gc2Nzcy1kb2NzLWVuZCByZWJvb3QtYm9keS1ydWxlc1xuXG5cbiAgLy8gQ29udGVudCBncm91cGluZ1xuICAvL1xuICAvLyAxLiBSZXNldCBGaXJlZm94J3MgZ3JheSBjb2xvclxuXG4gIGhyIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gIH1cblxuXG4gIC8vIFR5cG9ncmFwaHlcbiAgLy9cbiAgLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3NcbiAgLy8gICAgQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3BcbiAgLy8gICAgbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuXG4gIGg2LCBoNSwgaDQsIGgzLCBoMiwgaDEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4zNzVyZW0gKyAxLjV2dyk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4zMjVyZW0gKyAwLjl2dyk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuM3JlbSArIDAuNnZ3KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cblxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xuICB9XG5cbiAgYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICBvbCxcbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxuXG4gIG9sLFxuICB1bCxcbiAgZGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIG9sIG9sLFxuICB1bCB1bCxcbiAgb2wgdWwsXG4gIHVsIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBkZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgfVxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gIH1cblxuXG4gIC8vIE1hcmtcblxuICBtYXJrIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVlbTtcbiAgICBjb2xvcjogdmFyKC0tdS1jb2xvci1vbi13YXJuaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11LWNvbG9yLXdhcm5pbmcpO1xuICB9XG5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIGEge1xuICAgIC0tdS1jdXJyZW50LXRleHQtY29sb3I6IHZhcigtLXUtY29sb3ItcHJpbWFyeSk7XG4gICAgLS11LWN1cnJlbnQtdGV4dC1jb2xvci1yZ2I6IHZhcigtLXUtY29sb3ItcHJpbWFyeS1yZ2IpO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLXUtY3VycmVudC10ZXh0LWNvbG9yLXJnYiksIHZhcigtLXUtdGV4dC1vcGFjaXR5KSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSwgYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIHByZSxcbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tdS1mb250LW1vbm9zcGFjZSk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICBwcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gIH1cbiAgcHJlIGNvZGUge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cblxuICBjb2RlIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB9XG4gIGEgPiBjb2RlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBjb2xvcjogdmFyKC0tdS1jb2xvci1vbi1saWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdS1jb2xvci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXUtZm9udC13ZWlnaHQtcmVndWxhcik7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgfVxuICBrYmQga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICB9XG5cbiAgaW1nLFxuICBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICB0YWJsZSB7XG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS11LWN1cnJlbnQtdGV4dC1jb2xvci1yZ2IpLCB2YXIoLS11LWxvdy1lbXBoYXNpcy1vcGFjaXR5KSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50O1xuICB9XG5cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCxcbiAgdHIsXG4gIHRkLFxuICB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgaW5wdXQsXG4gIGJ1dHRvbixcbiAgc2VsZWN0LFxuICBvcHRncm91cCxcbiAgdGV4dGFyZWEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBbcm9sZT1idXR0b25dIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIFtsaXN0XTpub3QoW3R5cGU9ZGF0ZV0pOm5vdChbdHlwZT1kYXRldGltZS1sb2NhbF0pOm5vdChbdHlwZT1tb250aF0pOm5vdChbdHlwZT13ZWVrXSk6bm90KFt0eXBlPXRpbWVdKTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBidXR0b24sXG4gIFt0eXBlPWJ1dHRvbl0sXG4gIFt0eXBlPXJlc2V0XSxcbiAgW3R5cGU9c3VibWl0XSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cbiAgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLFxuICBbdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLFxuICBbdHlwZT1yZXNldF06bm90KDpkaXNhYmxlZCksXG4gIFt0eXBlPXN1Ym1pdF06bm90KDpkaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIGZpZWxkc2V0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg4NDJcblxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyAgICBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbiAgLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcbiAgLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4gIC8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuICAvKiBydGw6cmF3OlxuICBbdHlwZT1cInRlbFwiXSxcbiAgW3R5cGU9XCJ1cmxcIl0sXG4gIFt0eXBlPVwiZW1haWxcIl0sXG4gIFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgfVxuICAqL1xuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICA6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBwYWRkaW5nIGFyb3VuZCBjb2xvciBwaWNrZXJzIGluIHdlYmtpdCBicm93c2Vyc1xuXG4gIDo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG5cbiAgLy8gMS4gSW5oZXJpdCBmb250IGZhbWlseSBhbmQgbGluZSBoZWlnaHQgZm9yIGZpbGUgaW5wdXQgYnV0dG9uc1xuICAvLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbiAgb3V0cHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbiAgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBTdW1tYXJ5XG4gIC8vXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG5cbiAgLy8gUHJvZ3Jlc3NcbiAgLy9cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cblxuICAvLyBIaWRkZW4gYXR0cmlidXRlXG4gIC8vXG4gIC8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIl19 */