@energycap/components 0.39.0 → 0.39.1-ECAP-19153-carbonhub-tours.20231103-1450

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.
@@ -6,7 +6,7 @@
6
6
  * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7
7
  */@import'@angular/cdk/overlay-prebuilt.css';*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#007bff;text-decoration:none;background-color:rgba(0,0,0,0)}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]):not(.text-link){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):not(.text-link):hover,a:not([href]):not([tabindex]):not(.text-link):focus{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}/*!
8
8
  * EnergyCAP Components - Base Styles
9
- */:root{--ec-color-black: rgb(26, 26, 35);--ec-color-white: rgb(255, 255, 255);--ec-color-gray-1: rgb(218, 228, 233);--ec-color-gray-2: rgb(172, 188, 195);--ec-color-gray-3: rgb(140, 156, 165);--ec-color-gray-4: rgb(117, 132, 143);--ec-color-gray-5: rgb(94, 109, 121);--ec-color-gray-6: rgb(73, 89, 99);--ec-color-gray-7: rgb(53, 71, 81);--ec-color-gray-8: rgb(22, 47, 59);--ec-color-red-1: rgb(255, 225, 231);--ec-color-red-2: rgb(255, 178, 192);--ec-color-red-3: rgb(255, 138, 159);--ec-color-red-4: rgb(254, 88, 117);--ec-color-red-5: rgb(237, 56, 88);--ec-color-red-6: rgb(219, 11, 48);--ec-color-red-7: rgb(197, 1, 36);--ec-color-red-8: rgb(150, 0, 27);--ec-color-orange-1: rgb(253, 195, 161);--ec-color-orange-2: rgb(255, 181, 137);--ec-color-orange-3: rgb(255, 147, 83);--ec-color-orange-4: rgb(255, 131, 57);--ec-color-orange-5: rgb(249, 106, 21);--ec-color-orange-6: rgb(235, 91, 6);--ec-color-orange-7: rgb(214, 80, 2);--ec-color-orange-8: rgb(194, 72, 0);--ec-color-yellow-1: rgb(255, 249, 195);--ec-color-yellow-2: rgb(255, 239, 155);--ec-color-yellow-3: rgb(255, 230, 100);--ec-color-yellow-4: rgb(255, 222, 50);--ec-color-yellow-5: rgb(245, 207, 8);--ec-color-yellow-6: rgb(232, 182, 4);--ec-color-yellow-7: rgb(214, 150, 4);--ec-color-yellow-8: rgb(178, 124, 0);--ec-color-green-1: rgb(227, 251, 214);--ec-color-green-2: rgb(194, 236, 172);--ec-color-green-3: rgb(153, 216, 120);--ec-color-green-4: rgb(99, 184, 54);--ec-color-green-5: rgb(43, 154, 3);--ec-color-green-6: rgb(39, 134, 4);--ec-color-green-7: rgb(40, 111, 15);--ec-color-green-8: rgb(24, 86, 2);--ec-color-blue-1: rgb(185, 237, 252);--ec-color-blue-2: rgb(172, 228, 243);--ec-color-blue-3: rgb(118, 206, 230);--ec-color-blue-4: rgb(64, 183, 216);--ec-color-blue-5: rgb(42, 163, 196);--ec-color-blue-6: rgb(36, 143, 172);--ec-color-blue-7: rgb(26, 111, 135);--ec-color-blue-8: rgb(10, 74, 92);--ec-color-purple-1: rgb(237, 220, 255);--ec-color-purple-2: rgb(215, 180, 253);--ec-color-purple-3: rgb(188, 140, 239);--ec-color-purple-4: rgb(165, 114, 220);--ec-color-purple-5: rgb(147, 85, 214);--ec-color-purple-6: rgb(118, 48, 193);--ec-color-purple-7: rgb(95, 20, 175);--ec-color-purple-8: rgb(75, 7, 147);--ec-color-cobalt-1: rgb(218, 229, 251);--ec-color-cobalt-2: rgb(153, 185, 251);--ec-color-cobalt-3: rgb(109, 164, 254);--ec-color-cobalt-4: rgb(70, 132, 232);--ec-color-cobalt-5: rgb(66, 117, 216);--ec-color-cobalt-6: rgb(45, 92, 184);--ec-color-cobalt-7: rgb(22, 63, 140);--ec-color-cobalt-8: rgb(6, 47, 125);--ec-color-aqua-1: rgb(219, 255, 246);--ec-color-aqua-2: rgb(196, 250, 237);--ec-color-aqua-3: rgb(121, 232, 205);--ec-color-aqua-4: rgb(55, 213, 175);--ec-color-aqua-5: rgb(45, 184, 151);--ec-color-aqua-6: rgb(34, 153, 125);--ec-color-aqua-7: rgb(30, 116, 96);--ec-color-aqua-8: rgb(28, 89, 75);--ec-color-pink-1: rgb(255, 223, 244);--ec-color-pink-2: rgb(255, 194, 235);--ec-color-pink-3: rgb(232, 127, 197);--ec-color-pink-4: rgb(228, 85, 180);--ec-color-pink-5: rgb(207, 61, 158);--ec-color-pink-6: rgb(185, 13, 127);--ec-color-pink-7: rgb(182, 10, 124);--ec-color-pink-8: rgb(151, 3, 101);--ec-color-brand-green: rgb(216, 234, 83);--ec-color-brand-black: rgb(22, 47, 59);--ec-color-primary-dark: var(--ec-color-black);--ec-color-primary-light: var(--ec-color-white);--ec-color-secondary-dark: rgba(26, 26, 35, .66);--ec-color-secondary-light: rgba(255, 255, 255, .6);--ec-color-hint-dark: rgba(26, 26, 35, .38);--ec-color-hint-light: rgba(255, 255, 255, .38);--ec-color-disabled-dark: var(--ec-color-hint-dark);--ec-color-shadow: rgba(26, 26, 35, .1);--ec-color-shadow-overlay: rgba(26, 26, 35, .2);--ec-color-interactive: var(--ec-color-cobalt-6);--ec-color-link: var(--ec-color-interactive);--ec-color-link-light: var(--ec-color-blue-2);--ec-color-info: var(--ec-color-cobalt-6);--ec-color-success: var(--ec-color-green-6);--ec-color-good: var(--ec-color-success);--ec-color-caution: var(--ec-color-yellow-8);--ec-color-danger: var(--ec-color-red-7);--ec-color-bad: var(--ec-color-danger);--ec-color-accent: var(--ec-color-purple-6);--ec-color-control-invalid: var(--ec-color-caution);--ec-color-accrual: rgb(35, 195, 205);--ec-background-color: rgb(255, 255, 255);--ec-background-color-overlay: rgba(255, 255, 255, .7);--ec-background-color-body: rgb(241, 243, 244);--ec-background-color-body-overlay: rgba(241, 243, 244, .7);--ec-background-color-dark: rgb(26, 26, 35);--ec-background-color-dialog: rgba(26, 26, 35, .5);--ec-background-color-dialog-stacked: rgba(26, 26, 35, .25);--ec-background-color-tour: var(--ec-color-gray-8);--ec-background-splash: radial-gradient(104.77% 95.14% at 90.16% 85.25%, rgba(113,235,111,0.60) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(156.88% 63.71% at 8.4% 78.12%, rgba(219, 141, 255, 0.60) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(265.09% 182.17% at 24.49% 5.63%, rgba(0, 87, 255, 0.60) 0%, rgba(255, 255, 255, 0) 100%), #FFF;--ec-background-color-detail: rgba(26, 26, 35, .03);--ec-background-color-disabled: rgba(26,26,35, .1);--ec-background-color-hover: rgb(195, 212, 247);--ec-background-color-selected: rgb(225, 233, 249);--ec-background-color-info: rgb(218, 229, 251);--ec-background-color-success: rgb(227, 251, 214);--ec-background-color-caution: rgb(255, 249, 195);--ec-background-color-danger: rgb(255, 225, 231);--ec-background-color-accent: rgb(237, 220, 255);--ec-background-color-promo: linear-gradient(78deg, #4B0793 0%, #A572DC 100%);--ec-background-color-control: var(--ec-background-color);--ec-box-shadow: 0px .125rem 1rem var(--ec-color-shadow);--ec-box-shadow-overlay: 0px .0625rem .5rem var(--ec-color-shadow-overlay);--ec-border-color: #D6D6D7;--ec-border-color-dark: #383840;--ec-border-color-hint: var(--ec-color-gray-1);--ec-border-color-control: var(--ec-color-gray-4);--ec-border-color-control-disabled: var(--ec-border-color-control);--ec-border-color-control-readonly: transparent;--ec-border-radius: .25rem;--ec-border-radius-card: .375rem;--ec-border-radius-dialog: .5rem;--ec-border-color-focus: var(--ec-color-interactive);--ec-border-width: 1px;--ec-font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--ec-font-family-monospace: "Consolas", "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Monaco", "Courier New", Courier, monospace;--ec-font-size: .875rem;--ec-font-size-body: 1rem;--ec-font-size-label: .75rem;--ec-font-size-action: .875rem;--ec-font-size-title: 1.25rem;--ec-font-size-icon: 1rem;--ec-font-size-tiny: .625rem;--ec-font-weight-bold: bold;--ec-font-weight-normal: normal;--ec-z-index-sticky-header: 3;--ec-z-index-sticky-page-header: 10;--ec-z-index-overlay: 20;--ec-z-index-splitter: 30;--ec-z-index-navbar: 40;--ec-z-index-popup: 50;--ec-z-index-dialog: 60;--ec-z-index-toast: 70;--ec-form-control-background-color: var(--ec-background-color);--ec-form-control-color: var(--ec-color-primary-dark);--ec-form-control-color-placeholder: var(--ec-color-hint-dark);--ec-form-control-background-color-selection: var(--ec-color-interactive);--ec-form-control-color-selection: var(--ec-color-primary-light);--ec-form-control-border-color: var(--ec-color-gray-4);--ec-form-control-border-radius: var(--ec-border-radius);--ec-form-control-font-size: var(--ec-font-size-body);--ec-form-control-border-color-focus: var(--ec-background-color);--ec-form-control-box-shadow-focus: 0 0 0 2px var(--ec-color-interactive);--ec-form-control-background-color-invalid: var(--ec-background-color-caution);--ec-form-control-color-invalid: var(--ec-color-primary-dark);--ec-form-control-border-color-invalid: var(--ec-color-caution);--ec-form-control-background-color-disabled: var(--ec-background-color-disabled);--ec-form-control-color-disabled: var(--ec-color-primary-dark);--ec-form-control-border-color-disabled: var(--ec-color-gray-4);--ec-form-control-opacity-disabled: .6;--ec-form-control-background-color-readonly: var(--ec-background-color-disabled);--ec-form-control-color-readonly: var(--ec-color-primary-dark);--ec-form-control-border-color-readonly: var(--ec-color-gray-4)}html,body{height:100%;overflow:hidden}body{font-family:var(--ec-font-family);font-size:var(--ec-font-size);color:var(--ec-color-primary-dark)}a{color:var(--ec-color-link)}a:hover{color:var(--ec-color-link);text-decoration:underline}a:focus{outline:none;text-decoration:underline}a[disabled]{color:var(--ec-color-disabled-dark);cursor:default}p{line-height:1.25}table{background-color:rgba(0,0,0,0)}/*!
9
+ */:root{--ec-color-black: rgb(26, 26, 35);--ec-color-white: rgb(255, 255, 255);--ec-color-gray-1: rgb(218, 228, 233);--ec-color-gray-2: rgb(172, 188, 195);--ec-color-gray-3: rgb(140, 156, 165);--ec-color-gray-4: rgb(117, 132, 143);--ec-color-gray-5: rgb(94, 109, 121);--ec-color-gray-6: rgb(73, 89, 99);--ec-color-gray-7: rgb(53, 71, 81);--ec-color-gray-8: rgb(22, 47, 59);--ec-color-red-1: rgb(255, 225, 231);--ec-color-red-2: rgb(255, 178, 192);--ec-color-red-3: rgb(255, 138, 159);--ec-color-red-4: rgb(254, 88, 117);--ec-color-red-5: rgb(237, 56, 88);--ec-color-red-6: rgb(219, 11, 48);--ec-color-red-7: rgb(197, 1, 36);--ec-color-red-8: rgb(150, 0, 27);--ec-color-orange-1: rgb(253, 195, 161);--ec-color-orange-2: rgb(255, 181, 137);--ec-color-orange-3: rgb(255, 147, 83);--ec-color-orange-4: rgb(255, 131, 57);--ec-color-orange-5: rgb(249, 106, 21);--ec-color-orange-6: rgb(235, 91, 6);--ec-color-orange-7: rgb(214, 80, 2);--ec-color-orange-8: rgb(194, 72, 0);--ec-color-yellow-1: rgb(255, 249, 195);--ec-color-yellow-2: rgb(255, 239, 155);--ec-color-yellow-3: rgb(255, 230, 100);--ec-color-yellow-4: rgb(255, 222, 50);--ec-color-yellow-5: rgb(245, 207, 8);--ec-color-yellow-6: rgb(232, 182, 4);--ec-color-yellow-7: rgb(214, 150, 4);--ec-color-yellow-8: rgb(178, 124, 0);--ec-color-green-1: rgb(227, 251, 214);--ec-color-green-2: rgb(194, 236, 172);--ec-color-green-3: rgb(153, 216, 120);--ec-color-green-4: rgb(99, 184, 54);--ec-color-green-5: rgb(43, 154, 3);--ec-color-green-6: rgb(39, 134, 4);--ec-color-green-7: rgb(40, 111, 15);--ec-color-green-8: rgb(24, 86, 2);--ec-color-blue-1: rgb(185, 237, 252);--ec-color-blue-2: rgb(172, 228, 243);--ec-color-blue-3: rgb(118, 206, 230);--ec-color-blue-4: rgb(64, 183, 216);--ec-color-blue-5: rgb(42, 163, 196);--ec-color-blue-6: rgb(36, 143, 172);--ec-color-blue-7: rgb(26, 111, 135);--ec-color-blue-8: rgb(10, 74, 92);--ec-color-purple-1: rgb(237, 220, 255);--ec-color-purple-2: rgb(215, 180, 253);--ec-color-purple-3: rgb(188, 140, 239);--ec-color-purple-4: rgb(165, 114, 220);--ec-color-purple-5: rgb(147, 85, 214);--ec-color-purple-6: rgb(118, 48, 193);--ec-color-purple-7: rgb(95, 20, 175);--ec-color-purple-8: rgb(75, 7, 147);--ec-color-cobalt-1: rgb(218, 229, 251);--ec-color-cobalt-2: rgb(153, 185, 251);--ec-color-cobalt-3: rgb(109, 164, 254);--ec-color-cobalt-4: rgb(70, 132, 232);--ec-color-cobalt-5: rgb(66, 117, 216);--ec-color-cobalt-6: rgb(45, 92, 184);--ec-color-cobalt-7: rgb(22, 63, 140);--ec-color-cobalt-8: rgb(6, 47, 125);--ec-color-aqua-1: rgb(219, 255, 246);--ec-color-aqua-2: rgb(196, 250, 237);--ec-color-aqua-3: rgb(121, 232, 205);--ec-color-aqua-4: rgb(55, 213, 175);--ec-color-aqua-5: rgb(45, 184, 151);--ec-color-aqua-6: rgb(34, 153, 125);--ec-color-aqua-7: rgb(30, 116, 96);--ec-color-aqua-8: rgb(28, 89, 75);--ec-color-pink-1: rgb(255, 223, 244);--ec-color-pink-2: rgb(255, 194, 235);--ec-color-pink-3: rgb(232, 127, 197);--ec-color-pink-4: rgb(228, 85, 180);--ec-color-pink-5: rgb(207, 61, 158);--ec-color-pink-6: rgb(185, 13, 127);--ec-color-pink-7: rgb(182, 10, 124);--ec-color-pink-8: rgb(151, 3, 101);--ec-color-brand-green: rgb(216, 234, 83);--ec-color-brand-black: rgb(22, 47, 59);--ec-color-primary-dark: var(--ec-color-black);--ec-color-primary-light: var(--ec-color-white);--ec-color-secondary-dark: rgba(26, 26, 35, .66);--ec-color-secondary-light: rgba(255, 255, 255, .6);--ec-color-hint-dark: rgba(26, 26, 35, .38);--ec-color-hint-light: rgba(255, 255, 255, .38);--ec-color-disabled-dark: var(--ec-color-hint-dark);--ec-color-shadow: rgba(26, 26, 35, .1);--ec-color-shadow-overlay: rgba(26, 26, 35, .2);--ec-color-interactive: var(--ec-color-cobalt-6);--ec-color-link: var(--ec-color-interactive);--ec-color-link-light: var(--ec-color-blue-2);--ec-color-info: var(--ec-color-cobalt-6);--ec-color-success: var(--ec-color-green-6);--ec-color-good: var(--ec-color-success);--ec-color-caution: var(--ec-color-yellow-8);--ec-color-danger: var(--ec-color-red-7);--ec-color-bad: var(--ec-color-danger);--ec-color-accent: var(--ec-color-purple-6);--ec-color-control-invalid: var(--ec-color-caution);--ec-color-accrual: rgb(35, 195, 205);--ec-color-tour-title: var(--ec-color-primary-light);--ec-background-color: rgb(255, 255, 255);--ec-background-color-overlay: rgba(255, 255, 255, .7);--ec-background-color-body: rgb(241, 243, 244);--ec-background-color-body-overlay: rgba(241, 243, 244, .7);--ec-background-color-dark: rgb(26, 26, 35);--ec-background-color-dialog: rgba(26, 26, 35, .5);--ec-background-color-dialog-stacked: rgba(26, 26, 35, .25);--ec-background-color-tour: var(--ec-color-gray-8);--ec-background-splash: radial-gradient(104.77% 95.14% at 90.16% 85.25%, rgba(113,235,111,0.60) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(156.88% 63.71% at 8.4% 78.12%, rgba(219, 141, 255, 0.60) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(265.09% 182.17% at 24.49% 5.63%, rgba(0, 87, 255, 0.60) 0%, rgba(255, 255, 255, 0) 100%), #FFF;--ec-background-color-detail: rgba(26, 26, 35, .03);--ec-background-color-disabled: rgba(26,26,35, .1);--ec-background-color-hover: rgb(195, 212, 247);--ec-background-color-selected: rgb(225, 233, 249);--ec-background-color-info: rgb(218, 229, 251);--ec-background-color-success: rgb(227, 251, 214);--ec-background-color-caution: rgb(255, 249, 195);--ec-background-color-danger: rgb(255, 225, 231);--ec-background-color-accent: rgb(237, 220, 255);--ec-background-color-promo: linear-gradient(78deg, #4B0793 0%, #A572DC 100%);--ec-background-color-control: var(--ec-background-color);--ec-box-shadow: 0px .125rem 1rem var(--ec-color-shadow);--ec-box-shadow-overlay: 0px .0625rem .5rem var(--ec-color-shadow-overlay);--ec-border-color: #D6D6D7;--ec-border-color-dark: #383840;--ec-border-color-hint: var(--ec-color-gray-1);--ec-border-color-control: var(--ec-color-gray-4);--ec-border-color-control-disabled: var(--ec-border-color-control);--ec-border-color-control-readonly: transparent;--ec-border-radius: .25rem;--ec-border-radius-card: .375rem;--ec-border-radius-dialog: .5rem;--ec-border-color-focus: var(--ec-color-interactive);--ec-border-width: 1px;--ec-font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--ec-font-family-monospace: "Consolas", "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Monaco", "Courier New", Courier, monospace;--ec-font-size: .875rem;--ec-font-size-body: 1rem;--ec-font-size-label: .75rem;--ec-font-size-action: .875rem;--ec-font-size-title: 1.25rem;--ec-font-size-icon: 1rem;--ec-font-size-tiny: .625rem;--ec-font-weight-bold: bold;--ec-font-weight-normal: normal;--ec-z-index-sticky-header: 3;--ec-z-index-sticky-page-header: 10;--ec-z-index-overlay: 20;--ec-z-index-splitter: 30;--ec-z-index-navbar: 40;--ec-z-index-popup: 50;--ec-z-index-dialog: 60;--ec-z-index-toast: 70;--ec-form-control-background-color: var(--ec-background-color);--ec-form-control-color: var(--ec-color-primary-dark);--ec-form-control-color-placeholder: var(--ec-color-hint-dark);--ec-form-control-background-color-selection: var(--ec-color-interactive);--ec-form-control-color-selection: var(--ec-color-primary-light);--ec-form-control-border-color: var(--ec-color-gray-4);--ec-form-control-border-radius: var(--ec-border-radius);--ec-form-control-font-size: var(--ec-font-size-body);--ec-form-control-border-color-focus: var(--ec-background-color);--ec-form-control-box-shadow-focus: 0 0 0 2px var(--ec-color-interactive);--ec-form-control-background-color-invalid: var(--ec-background-color-caution);--ec-form-control-color-invalid: var(--ec-color-primary-dark);--ec-form-control-border-color-invalid: var(--ec-color-caution);--ec-form-control-background-color-disabled: var(--ec-background-color-disabled);--ec-form-control-color-disabled: var(--ec-color-primary-dark);--ec-form-control-border-color-disabled: var(--ec-color-gray-4);--ec-form-control-opacity-disabled: .6;--ec-form-control-background-color-readonly: var(--ec-background-color-disabled);--ec-form-control-color-readonly: var(--ec-color-primary-dark);--ec-form-control-border-color-readonly: var(--ec-color-gray-4)}html,body{height:100%;overflow:hidden}body{font-family:var(--ec-font-family);font-size:var(--ec-font-size);color:var(--ec-color-primary-dark)}a{color:var(--ec-color-link)}a:hover{color:var(--ec-color-link);text-decoration:underline}a:focus{outline:none;text-decoration:underline}a[disabled]{color:var(--ec-color-disabled-dark);cursor:default}p{line-height:1.25}table{background-color:rgba(0,0,0,0)}/*!
10
10
  * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
11
11
  * Copyright 2011-2019 The Bootstrap Authors
12
12
  * Copyright 2011-2019 Twitter, Inc.
@@ -14,12 +14,15 @@ export class TooltipComponent {
14
14
  }
15
15
  }
16
16
  TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TooltipComponent, selector: "ec-tooltip", host: { properties: { "style.--ec-tooltip-background-color": "this.backgroundColor" } }, ngImport: i0, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n\r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n\r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\r\n</article>\r\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2,.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] });
17
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TooltipComponent, selector: "ec-tooltip", host: { properties: { "style.--ec-tooltip-background-color": "this.backgroundColor", "style.--ec-tooltip-color-title": "this.titleColor" } }, ngImport: i0, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n\r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n\r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\r\n</article>\r\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] });
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponent, decorators: [{
19
19
  type: Component,
20
- args: [{ selector: 'ec-tooltip', template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n\r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n\r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\r\n</article>\r\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2,.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"] }]
20
+ args: [{ selector: 'ec-tooltip', template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n\r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n\r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\r\n</article>\r\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"] }]
21
21
  }], propDecorators: { backgroundColor: [{
22
22
  type: HostBinding,
23
23
  args: ['style.--ec-tooltip-background-color']
24
+ }], titleColor: [{
25
+ type: HostBinding,
26
+ args: ['style.--ec-tooltip-color-title']
24
27
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7OztBQXdEbEYsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1FLGFBQVEsR0FBb0IsWUFBWSxDQUFDO1FBTXpDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBUXBCLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQU1qRDtJQUpDLElBQUk7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7NkdBcEJVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDJJQ3pEN0IsdXRCQWdCQTsyRkR5Q2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFlBQVk7OEJBaUJ0QixlQUFlO3NCQURkLFdBQVc7dUJBQUMscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCByZWxhdGl2ZSB0byBpdHMgYW5jaG9yLiBGb3IgZXhhbXBsZSwgaWYgcG9zaXRpb24gaXMgJ3RvcC1sZWZ0JyB0aGUgdGhlIHRvb2x0aXAgd2lsbCBhcHBlYXIgYWJvdmUgdGhlIGFuY2hvciBhbmQgZXhwYW5kIHRvIHRoZSBsZWZ0IG9mIHRoZSBhbmNob3IuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBUb29sdGlwUG9zaXRpb24gPSAndG9wLWxlZnQnIHwgJ3RvcC1jZW50ZXInIHwgJ3RvcC1yaWdodCcgfCAncmlnaHQtdG9wJyB8ICdyaWdodC1jZW50ZXInIHwgJ3JpZ2h0LWJvdHRvbScgfCAnYm90dG9tLWxlZnQnIHwgJ2JvdHRvbS1jZW50ZXInIHwgJ2JvdHRvbS1yaWdodCcgfCAnbGVmdC10b3AnIHwgJ2xlZnQtY2VudGVyJyB8ICdsZWZ0LWJvdHRvbSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgVG9vbHRpcE9wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdG9vbHRpcCB0aGF0IGlzIGFzc2lnbmVkIHRvIHRoZSA8YXJ0aWNsZT4gZWxlbWVudCB0aGF0IHdyYXBzIHRoZSB0b29sdGlwIGNvbnRlbnQuXHJcbiAgICovXHJcbiAgIGlkPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFRoZSB0b29sdGlwIHRpdGxlLiBIaWRkZW4gaWYgbm90IGRlZmluZWQuIFRoZSB0b29sdGlwIGhlYWRlciBpcyBoaWRkZW4gaWYgYm90aCB0aXRsZSBhbmQgc3VidGlsZSBhcmUgbm90IGRlZmluZWQuXHJcbiAgICovXHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IHVuZGVyIHRoZSB0b29sdGlwIHRpdGxlLiBIaWRkZW4gaWYgbm90IGRlZmluZWQuIFRoZSB0b29sdGlwIGhlYWRlciBpcyBoaWRkZW4gaWYgYm90aCB0aXRsZSBhbmQgc3VidGl0bGUgYXJlIG5vdCBkZWZpbmVkLlxyXG4gICAqL1xyXG4gIHN1YnRpdGxlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEhUTUwgc3RyaW5nIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHRoZSB0b29sdGlwLiBXaWxsIGJlIGlnbm9yZWQgaWYgY3VzdG9tQ29udGVudCBoYXMgYSB2YWx1ZS5cclxuICAgKi9cclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFByb3ZpZGUgYSBUZW1wbGF0ZVJlZiBmb3IgY3VzdG9tIGNvbnRlbnQuIElmIGN1c3RvbUNvbnRlbnQgaXMgZGVmaW5lZCwgYW55IHZhbHVlIGZvciB0ZXh0IHdpbGwgYmUgaWdub3JlZC5cclxuICAgKi9cclxuICBjdXN0b21Db250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBXaGVuIHRydWUgYSBjbG9zZSBidXR0b24gYXBwZWFycyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciB0byBoaWRlIHRoZSB0b29sdGlwLiBVc2VmdWwgd2hlbiB0b29sdGlwcyBhcmUgdXNlZCBpbiBhIHRvdXIuIEFuIGV2ZW50IHdpbGwgZW1pdHRlZCB3aGVuIHRoZSB0b29sdGlwIGlzIGhpZGRlbi5cclxuICAgKi9cclxuICBkaXNtaXNzaWJsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogTnVtYmVyIGluIHBpeGVscyBvZiB0aGUgd2lkdGggb2YgdGhlIHRvb2x0aXAuIElmIHVuZGVmaW5lZCB3aWR0aCB3aWxsIGJlIGF1dG8uXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIE51bWJlciBpbiBwaXhlbHMgdGhhdCB0aGUgbWF4LXdpZHRoIG9mIHRoZSB0b29sdGlwIGNhbiBiZS5cclxuICAgKi9cclxuICBtYXhXaWR0aD86IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3VzdG9taXplIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLiBDYW4gYmUgYW55IGNvbG9yIHZhbHVlIG9yIGNzcyB2YXJpYWxiZSB3aXRoIHZhcigpIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZTogdmFyKC0tZWMtYmFja2dyb3VuZC1jb2xvci1zdWNjZXNzKTtcclxuICAgKi9cclxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZsYWcgdG8gaGlkZSB0aGUgYXJyb3cgb2YgdGhlIHRvb2x0aXAuIFNob3dpbmcgdGhlIGFycm93IGlzIHRoZSBkZWZhdWx0LlxyXG4gICAqL1xyXG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy10b29sdGlwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbHRpcC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sdGlwQ29tcG9uZW50IGltcGxlbWVudHMgVG9vbHRpcE9wdGlvbnMge1xyXG4gIHBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAndG9wLWNlbnRlcic7XHJcblxyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHN1YnRpdGxlPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgZGlzbWlzc2libGUgPSBmYWxzZTtcclxuICBjdXN0b21Db250ZW50PzogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuICBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcclxuICBoaWRlQXJyb3c/OiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tZWMtdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yJylcclxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcblxyXG4gIG9uSGlkZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5vbkhpZGUubmV4dCgpO1xyXG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcnRpY2xlIGlkPVwie3tpZH19XCIgY2xhc3M9XCJweS0zIHBvc2l0aW9uLXt7cG9zaXRpb259fVwiIFtjbGFzcy5zaG93LWFycm93XT1cIiFoaWRlQXJyb3dcIj5cclxuICA8aGVhZGVyICpuZ0lmPVwidGl0bGUgfHwgc3VidGl0bGVcIiBjbGFzcz1cIm1iLTNcIj5cclxuICAgIDxoMSBjbGFzcz1cInRleHQtaGVhZGluZy0yIHB4LTMgbWItMFwiPnt7dGl0bGV9fTwvaDE+XHJcbiAgICA8cCBjbGFzcz1cInRleHQtY2FwdGlvbi0xIHB4LTMgbWItMFwiPnt7c3VidGl0bGV9fTwvcD5cclxuICA8L2hlYWRlcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUNvbnRlbnQ7IGVsc2UgdGV4dFRlbXBsYXRlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3RleHRUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJvZHktMSBweC0zXCIgW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPGVjLWJ1dHRvbiAqbmdJZj1cImRpc21pc3NpYmxlXCIgaWQ9XCJ0b29sdGlwRGlzbWlzc1wiIHR5cGU9XCJpY29uXCIgaWNvbj1cImljb24tY2FuY2VsXCIgKGNsaWNrZWQpPVwiaGlkZSgpXCI+PC9lYy1idXR0b24+XHJcbjwvYXJ0aWNsZT5cclxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7OztBQTZEbEYsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1FLGFBQVEsR0FBb0IsWUFBWSxDQUFDO1FBTXpDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBV3BCLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQU1qRDtJQUpDLElBQUk7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7NkdBdkJVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGdNQzlEN0IsdXRCQWdCQTsyRkQ4Q2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFlBQVk7OEJBaUJ0QixlQUFlO3NCQURkLFdBQVc7dUJBQUMscUNBQXFDO2dCQUlsRCxVQUFVO3NCQURULFdBQVc7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCByZWxhdGl2ZSB0byBpdHMgYW5jaG9yLiBGb3IgZXhhbXBsZSwgaWYgcG9zaXRpb24gaXMgJ3RvcC1sZWZ0JyB0aGUgdGhlIHRvb2x0aXAgd2lsbCBhcHBlYXIgYWJvdmUgdGhlIGFuY2hvciBhbmQgZXhwYW5kIHRvIHRoZSBsZWZ0IG9mIHRoZSBhbmNob3IuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBUb29sdGlwUG9zaXRpb24gPSAndG9wLWxlZnQnIHwgJ3RvcC1jZW50ZXInIHwgJ3RvcC1yaWdodCcgfCAncmlnaHQtdG9wJyB8ICdyaWdodC1jZW50ZXInIHwgJ3JpZ2h0LWJvdHRvbScgfCAnYm90dG9tLWxlZnQnIHwgJ2JvdHRvbS1jZW50ZXInIHwgJ2JvdHRvbS1yaWdodCcgfCAnbGVmdC10b3AnIHwgJ2xlZnQtY2VudGVyJyB8ICdsZWZ0LWJvdHRvbSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgVG9vbHRpcE9wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdG9vbHRpcCB0aGF0IGlzIGFzc2lnbmVkIHRvIHRoZSA8YXJ0aWNsZT4gZWxlbWVudCB0aGF0IHdyYXBzIHRoZSB0b29sdGlwIGNvbnRlbnQuXHJcbiAgICovXHJcbiAgIGlkPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFRoZSB0b29sdGlwIHRpdGxlLiBIaWRkZW4gaWYgbm90IGRlZmluZWQuIFRoZSB0b29sdGlwIGhlYWRlciBpcyBoaWRkZW4gaWYgYm90aCB0aXRsZSBhbmQgc3VidGlsZSBhcmUgbm90IGRlZmluZWQuXHJcbiAgICovXHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IHVuZGVyIHRoZSB0b29sdGlwIHRpdGxlLiBIaWRkZW4gaWYgbm90IGRlZmluZWQuIFRoZSB0b29sdGlwIGhlYWRlciBpcyBoaWRkZW4gaWYgYm90aCB0aXRsZSBhbmQgc3VidGl0bGUgYXJlIG5vdCBkZWZpbmVkLlxyXG4gICAqL1xyXG4gIHN1YnRpdGxlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEhUTUwgc3RyaW5nIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHRoZSB0b29sdGlwLiBXaWxsIGJlIGlnbm9yZWQgaWYgY3VzdG9tQ29udGVudCBoYXMgYSB2YWx1ZS5cclxuICAgKi9cclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFByb3ZpZGUgYSBUZW1wbGF0ZVJlZiBmb3IgY3VzdG9tIGNvbnRlbnQuIElmIGN1c3RvbUNvbnRlbnQgaXMgZGVmaW5lZCwgYW55IHZhbHVlIGZvciB0ZXh0IHdpbGwgYmUgaWdub3JlZC5cclxuICAgKi9cclxuICBjdXN0b21Db250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBXaGVuIHRydWUgYSBjbG9zZSBidXR0b24gYXBwZWFycyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciB0byBoaWRlIHRoZSB0b29sdGlwLiBVc2VmdWwgd2hlbiB0b29sdGlwcyBhcmUgdXNlZCBpbiBhIHRvdXIuIEFuIGV2ZW50IHdpbGwgZW1pdHRlZCB3aGVuIHRoZSB0b29sdGlwIGlzIGhpZGRlbi5cclxuICAgKi9cclxuICBkaXNtaXNzaWJsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogTnVtYmVyIGluIHBpeGVscyBvZiB0aGUgd2lkdGggb2YgdGhlIHRvb2x0aXAuIElmIHVuZGVmaW5lZCB3aWR0aCB3aWxsIGJlIGF1dG8uXHJcbiAgICovXHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIE51bWJlciBpbiBwaXhlbHMgdGhhdCB0aGUgbWF4LXdpZHRoIG9mIHRoZSB0b29sdGlwIGNhbiBiZS5cclxuICAgKi9cclxuICBtYXhXaWR0aD86IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3VzdG9taXplIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLiBDYW4gYmUgYW55IGNvbG9yIHZhbHVlIG9yIGNzcyB2YXJpYWJsZSB3aXRoIHZhcigpIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZTogdmFyKC0tZWMtYmFja2dyb3VuZC1jb2xvci1zdWNjZXNzKTtcclxuICAgKi9cclxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEN1c3RvbWl6ZSB0aGUgY29sb3Igb2YgdGhlIHRpdGxlIHRleHQuIENhbiBiZSBhbnkgY29sb3IgdmFsdWUgb3IgY3NzIHZhcmlhYmxlIHdpdGggdmFyKCkgZnVuY3Rpb24uIEZvciBleGFtcGxlOiB2YXIoLS1lYy1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcclxuICAgKi9cclxuICB0aXRsZUNvbG9yPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBGbGFnIHRvIGhpZGUgdGhlIGFycm93IG9mIHRoZSB0b29sdGlwLiBTaG93aW5nIHRoZSBhcnJvdyBpcyB0aGUgZGVmYXVsdC5cclxuICAgKi9cclxuICBoaWRlQXJyb3c/OiBib29sZWFuO1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtdG9vbHRpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCBpbXBsZW1lbnRzIFRvb2x0aXBPcHRpb25zIHtcclxuICBwb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3RvcC1jZW50ZXInO1xyXG5cclxuICBpZD86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzdWJ0aXRsZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGRpc21pc3NpYmxlID0gZmFsc2U7XHJcbiAgY3VzdG9tQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcbiAgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XHJcbiAgaGlkZUFycm93PzogYm9vbGVhbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWVjLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcicpXHJcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tZWMtdG9vbHRpcC1jb2xvci10aXRsZScpXHJcbiAgdGl0bGVDb2xvcj86IHN0cmluZztcclxuXHJcbiAgb25IaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLm9uSGlkZS5uZXh0KCk7XHJcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGFydGljbGUgaWQ9XCJ7e2lkfX1cIiBjbGFzcz1cInB5LTMgcG9zaXRpb24te3twb3NpdGlvbn19XCIgW2NsYXNzLnNob3ctYXJyb3ddPVwiIWhpZGVBcnJvd1wiPlxyXG4gIDxoZWFkZXIgKm5nSWY9XCJ0aXRsZSB8fCBzdWJ0aXRsZVwiIGNsYXNzPVwibWItM1wiPlxyXG4gICAgPGgxIGNsYXNzPVwidGV4dC1oZWFkaW5nLTIgcHgtMyBtYi0wXCI+e3t0aXRsZX19PC9oMT5cclxuICAgIDxwIGNsYXNzPVwidGV4dC1jYXB0aW9uLTEgcHgtMyBtYi0wXCI+e3tzdWJ0aXRsZX19PC9wPlxyXG4gIDwvaGVhZGVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tQ29udGVudDsgZWxzZSB0ZXh0VGVtcGxhdGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21Db250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjdGV4dFRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS0xIHB4LTNcIiBbaW5uZXJIVE1MXT1cInRleHRcIj48L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8ZWMtYnV0dG9uICpuZ0lmPVwiZGlzbWlzc2libGVcIiBpZD1cInRvb2x0aXBEaXNtaXNzXCIgdHlwZT1cImljb25cIiBpY29uPVwiaWNvbi1jYW5jZWxcIiAoY2xpY2tlZCk9XCJoaWRlKClcIj48L2VjLWJ1dHRvbj5cclxuPC9hcnRpY2xlPlxyXG4iXX0=
@@ -38,6 +38,7 @@ export class TooltipService {
38
38
  contentViewRef.instance.customContent = options?.customContent;
39
39
  contentViewRef.instance.dismissible = options?.dismissible || false;
40
40
  contentViewRef.instance.backgroundColor = options?.backgroundColor;
41
+ contentViewRef.instance.titleColor = options?.titleColor;
41
42
  contentViewRef.instance.hideArrow = options?.hideArrow;
42
43
  contentViewRef.instance.overlayRef = overlayRef;
43
44
  return contentViewRef.instance;
@@ -74,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
74
75
  providedIn: 'root'
75
76
  }]
76
77
  }], ctorParameters: function () { return [{ type: i1.Overlay }]; } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1DLE1BQU0scUJBQXFCLENBQUM7OztBQUt4RixNQUFNLE9BQU8sY0FBYztJQWlCekIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBaEJsQixjQUFTLEdBQXVDO1lBQ3RELFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNuRyxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQzNGLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZHLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQzlGLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFHLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25HLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDM0YsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3hHLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BHLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDNUYsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEs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dmVybGF5LCBPdmVybGF5Q29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50LCBUb29sdGlwT3B0aW9ucywgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSBcIi4vdG9vbHRpcC5jb21wb25lbnRcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2x0aXBTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBwb3NpdGlvbnM6IHtba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbn0gPSB7XHJcbiAgICAndG9wLWxlZnQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFg6IDM4IH0sXHJcbiAgICAndG9wLWNlbnRlcic6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2NlbnRlcicsIG92ZXJsYXlZOiAnYm90dG9tJyB9LFxyXG4gICAgJ3RvcC1yaWdodCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRYOiAtMzggfSxcclxuICAgICdib3R0b20tbGVmdCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogMzggfSxcclxuICAgICdib3R0b20tY2VudGVyJzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICd0b3AnIH0sXHJcbiAgICAnYm90dG9tLXJpZ2h0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFg6IC0zOCB9LFxyXG4gICAgJ2xlZnQtdG9wJzogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFk6IC0zOCB9LFxyXG4gICAgJ2xlZnQtY2VudGVyJzogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2NlbnRlcicgfSxcclxuICAgICdsZWZ0LWJvdHRvbSc6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAzOCB9LFxyXG4gICAgJ3JpZ2h0LXRvcCc6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiAtMzggfSxcclxuICAgICdyaWdodC1jZW50ZXInOiB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxyXG4gICAgJ3JpZ2h0LWJvdHRvbSc6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAzOCB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheVxyXG4gICl7fVxyXG5cclxuICAvKipcclxuICAgKiBTaG93IGEgdG9vbHRpcCBhdHRhY2hlZCB0byBhIHNwZWNpZmllZCBlbGVtZW50XHJcbiAgICovXHJcbiAgc2hvdyhhbmNob3I6IEhUTUxFbGVtZW50LCBwb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3RvcC1jZW50ZXInLCBvcHRpb25zPzogVG9vbHRpcE9wdGlvbnMpOiBUb29sdGlwQ29tcG9uZW50IHtcclxuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0aGlzLmdldE92ZXJsYXlDb25maWcoYW5jaG9yLCB0aGlzLnBvc2l0aW9uc1twb3NpdGlvbl0sIG9wdGlvbnM/LndpZHRoLCBvcHRpb25zPy5tYXhXaWR0aCk7XHJcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcclxuXHJcbiAgICBjb25zdCBjb250ZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUb29sdGlwQ29tcG9uZW50KTtcclxuICAgIGNvbnN0IGNvbnRlbnRWaWV3UmVmID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGVudFBvcnRhbCk7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xyXG5cclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmlkID0gb3B0aW9ucz8uaWQ7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS50aXRsZSA9IG9wdGlvbnM/LnRpdGxlO1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2Uuc3VidGl0bGUgPSBvcHRpb25zPy5zdWJ0aXRsZTtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRleHQgPSBvcHRpb25zPy50ZXh0O1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuY3VzdG9tQ29udGVudCA9IG9wdGlvbnM/LmN1c3RvbUNvbnRlbnQ7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5kaXNtaXNzaWJsZSA9IG9wdGlvbnM/LmRpc21pc3NpYmxlIHx8IGZhbHNlO1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuYmFja2dyb3VuZENvbG9yID0gb3B0aW9ucz8uYmFja2dyb3VuZENvbG9yO1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuaGlkZUFycm93ID0gb3B0aW9ucz8uaGlkZUFycm93O1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2Uub3ZlcmxheVJlZiA9IG92ZXJsYXlSZWY7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgb25Nb3ZlKGV2ZW50Ok1vdXNlRXZlbnQsIGNvbnRlbnRSZWN0OkRPTVJlY3QpOmJvb2xlYW4ge1xyXG4gICAgbGV0IGNhbGxDYWxsYmFjayA9IGZhbHNlO1xyXG4gICAgaWYgKGNvbnRlbnRSZWN0KSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAgIGV2ZW50LmNsaWVudFggPiBjb250ZW50UmVjdC5yaWdodFxyXG4gICAgICAgfHwgZXZlbnQuY2xpZW50WCA8IGNvbnRlbnRSZWN0LmxlZnRcclxuICAgICAgIHx8IGV2ZW50LmNsaWVudFkgPiBjb250ZW50UmVjdC5ib3R0b21cclxuICAgICAgIHx8IGV2ZW50LmNsaWVudFkgPCBjb250ZW50UmVjdC50b3BcclxuICAgICAgKSB7XHJcbiAgICAgICAgY2FsbENhbGxiYWNrID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNhbGxDYWxsYmFjaztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYsIHBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiwgd2lkdGg/OiBudW1iZXIsIG1heFdpZHRoPzogbnVtYmVyKTogT3ZlcmxheUNvbmZpZyB7XHJcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWxlbWVudClcclxuICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uXSk7XHJcblxyXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICB3aWR0aDogd2lkdGgsXHJcbiAgICAgIG1heFdpZHRoOiBtYXhXaWR0aFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbmZpZztcclxuICB9XHJcbn1cclxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1DLE1BQU0scUJBQXFCLENBQUM7OztBQUt4RixNQUFNLE9BQU8sY0FBYztJQWlCekIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBaEJsQixjQUFTLEdBQXVDO1lBQ3RELFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNuRyxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQzNGLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZHLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQzlGLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFHLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25HLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDM0YsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3hHLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BHLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDNUYsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEs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aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcclxuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQsIFRvb2x0aXBPcHRpb25zLCBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi90b29sdGlwLmNvbXBvbmVudFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHBvc2l0aW9uczoge1trZXk6IHN0cmluZ106IENvbm5lY3RlZFBvc2l0aW9ufSA9IHtcclxuICAgICd0b3AtbGVmdCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnYm90dG9tJywgb2Zmc2V0WDogMzggfSxcclxuICAgICd0b3AtY2VudGVyJzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXHJcbiAgICAndG9wLXJpZ2h0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFg6IC0zOCB9LFxyXG4gICAgJ2JvdHRvbS1sZWZ0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRYOiAzOCB9LFxyXG4gICAgJ2JvdHRvbS1jZW50ZXInOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcclxuICAgICdib3R0b20tcmlnaHQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogLTM4IH0sXHJcbiAgICAnbGVmdC10b3AnOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogLTM4IH0sXHJcbiAgICAnbGVmdC1jZW50ZXInOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxyXG4gICAgJ2xlZnQtYm90dG9tJzogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM4IH0sXHJcbiAgICAncmlnaHQtdG9wJzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFk6IC0zOCB9LFxyXG4gICAgJ3JpZ2h0LWNlbnRlcic6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXHJcbiAgICAncmlnaHQtYm90dG9tJzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM4IH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XHJcbiAgKXt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgYSB0b29sdGlwIGF0dGFjaGVkIHRvIGEgc3BlY2lmaWVkIGVsZW1lbnRcclxuICAgKi9cclxuICBzaG93KGFuY2hvcjogSFRNTEVsZW1lbnQsIHBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAndG9wLWNlbnRlcicsIG9wdGlvbnM/OiBUb29sdGlwT3B0aW9ucyk6IFRvb2x0aXBDb21wb25lbnQge1xyXG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyhhbmNob3IsIHRoaXMucG9zaXRpb25zW3Bvc2l0aW9uXSwgb3B0aW9ucz8ud2lkdGgsIG9wdGlvbnM/Lm1heFdpZHRoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29udGVudFZpZXdSZWYgPSBvdmVybGF5UmVmLmF0dGFjaChjb250ZW50UG9ydGFsKTtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gcG9zaXRpb247XHJcblxyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuaWQgPSBvcHRpb25zPy5pZDtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRpdGxlID0gb3B0aW9ucz8udGl0bGU7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5zdWJ0aXRsZSA9IG9wdGlvbnM/LnN1YnRpdGxlO1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UudGV4dCA9IG9wdGlvbnM/LnRleHQ7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5jdXN0b21Db250ZW50ID0gb3B0aW9ucz8uY3VzdG9tQ29udGVudDtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmRpc21pc3NpYmxlID0gb3B0aW9ucz8uZGlzbWlzc2libGUgfHwgZmFsc2U7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5iYWNrZ3JvdW5kQ29sb3IgPSBvcHRpb25zPy5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS50aXRsZUNvbG9yID0gb3B0aW9ucz8udGl0bGVDb2xvcjtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmhpZGVBcnJvdyA9IG9wdGlvbnM/LmhpZGVBcnJvdztcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmO1xyXG5cclxuICAgIHJldHVybiBjb250ZW50Vmlld1JlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIG9uTW92ZShldmVudDpNb3VzZUV2ZW50LCBjb250ZW50UmVjdDpET01SZWN0KTpib29sZWFuIHtcclxuICAgIGxldCBjYWxsQ2FsbGJhY2sgPSBmYWxzZTtcclxuICAgIGlmIChjb250ZW50UmVjdCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgICBldmVudC5jbGllbnRYID4gY29udGVudFJlY3QucmlnaHRcclxuICAgICAgIHx8IGV2ZW50LmNsaWVudFggPCBjb250ZW50UmVjdC5sZWZ0XHJcbiAgICAgICB8fCBldmVudC5jbGllbnRZID4gY29udGVudFJlY3QuYm90dG9tXHJcbiAgICAgICB8fCBldmVudC5jbGllbnRZIDwgY29udGVudFJlY3QudG9wXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNhbGxDYWxsYmFjayA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjYWxsQ2FsbGJhY2s7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmLCBwb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24sIHdpZHRoPzogbnVtYmVyLCBtYXhXaWR0aD86IG51bWJlcik6IE92ZXJsYXlDb25maWcge1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXHJcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGVsZW1lbnQpXHJcbiAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvbl0pO1xyXG5cclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcclxuICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICBtYXhXaWR0aDogbWF4V2lkdGhcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -170,7 +170,8 @@ export class TourComponent {
170
170
  dismissible: true,
171
171
  maxWidth: this.currentTourStep?.maxWidth,
172
172
  width: stepWidth,
173
- backgroundColor: 'var(--ec-background-color-tour)'
173
+ backgroundColor: 'var(--ec-background-color-tour)',
174
+ titleColor: 'var(--ec-color-tour-title)'
174
175
  };
175
176
  this.tooltip = this.tooltipService.show(tooltipElement, this.currentTourStep.anchor?.position, options);
176
177
  await this.waitForTimeout(this.focusOnNextOrDoneButton.bind(this));
@@ -379,4 +380,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
379
380
  type: ViewChild,
380
381
  args: ['tourTooltip']
381
382
  }] } });
382
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b3VyL3RvdXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG91ci90b3VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBZTNDLE1BQU0sT0FBTyxhQUFhO0lBNEJ4QixZQUNVLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixnQkFBa0MsRUFDaEIsUUFBa0I7UUFOcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBN0I5Qzs7V0FFRztRQUNJLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBS3ZDLHFFQUFxRTtRQUM3RCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTNCLDRIQUE0SDtRQUNwSCxxQkFBZ0IsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5QixxQkFBZ0IsR0FB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QUMsSUFBSSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO1NBQy9EO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFnQjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxJQUFJLE9BQU8sRUFBRTtZQUNWLE9BQXVCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7MEdBcmFVLGFBQWEsb01BbUNkLFFBQVE7OEZBbkNQLGFBQWEsc0pDbkIxQiwwaENBZWM7MkZESUQsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxTQUFTOzswQkF1Q2hCLE1BQU07MkJBQUMsUUFBUTs0Q0FUZSxNQUFNO3NCQUF0QyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbGVtZXRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RlbGVtZXRyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQsIFRvb2x0aXBPcHRpb25zIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLy4uL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG91ciwgVG91ckFuY2hvciwgVG91ckNhY2hlRW50cnksIFRvdXJFdmVudCwgVG91clN0ZXAgfSBmcm9tICcuL3RvdXItdHlwZXMnO1xyXG5pbXBvcnQgeyBUb3VyU2VydmljZSB9IGZyb20gJy4vdG91ci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtdG91cicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvdXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RvdXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG91ckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqIEN1cnJlbnQgdG91ciBzdGVwIGJlaW5nIHNob3duIHRvIHRoZSB1c2VyLiBUaGUgY3VzdG9tIGNvbnRlbnQgaW4gdGhlIHRlbXBsYXRlIGlzIGJvdW5kIHRvIHByb3BlcnRpZXMgb24gdGhpcyBhbmQgdGhlcmVmb3IgbmVlZHMgdG8gYmVcclxuICAqICBpdHMgb3duIHByb3BlcnR5LiBUaGUgZXhpdFN0ZXAgaXMgYSB0b3VyIHN0ZXAgYW5kIHRoaXMgd2lsbCBob2xkIHRoYXQgc3RlcCBhdCB0aGUgZW5kIG9mIHRoZSB0b3VyLlxyXG4gICovXHJcbiAgcHVibGljIGN1cnJlbnRUb3VyU3RlcD86IFRvdXJTdGVwO1xyXG5cclxuICAvKiogVXNlZCB0byB0ZWxsIHRoZSBVSSB0aGF0IHRoZSBzdGVwIGJlaW5nIHNob3duIGlzIGFuIGV4aXQgc3RlcC4gVGhpcyB3aWxsIGNoYW5nZSB0aGVcclxuICAgKiAgbGluayB0ZXh0IGFuZCB0aGUgYWN0aW9uIHdoZW4gY2xpY2tlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93RG9uZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSB0b29sdGlwIHVzZWQgZm9yIHRoZSB0b3VyIHN0ZXBzICovXHJcbiAgcHVibGljIHRvb2x0aXA/OiBUb29sdGlwQ29tcG9uZW50O1xyXG5cclxuICAvKiogQXJyYXkgb2YgdG91cnMgcHJvdmlkZWQgd2hlbiB0aGUgc3RhcnQgdG91ciBldmVudCB3YXMgZGV0ZWN0ZWQgKi9cclxuICBwcml2YXRlIHRvdXJzOiBUb3VyW10gPSBbXTtcclxuXHJcbiAgLy8gQ291cGxlIGluZGV4ZXMgZm9yIHRoZSBjdXJyZW50IHRvdXIvc3RlcCBzdG9yZWQgZm9yIGVhc2llciByZWZlcmVuY2Ugd2hlbiBrbm93aW5nIGlmIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBzdGVwcy90b3Vyc1xyXG4gIHByaXZhdGUgY3VycmVudFN0ZXBJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgcHJpdmF0ZSBjdXJyZW50VG91ckluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgLyoqIFVzZWQgdG8ga25vdyBpZiB0aGUgcmVzdG9yZSBzdGVwIHNob3VsZCBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgdG91ciBpcyBkaXNtaXNzZWQgKi9cclxuICBwcml2YXRlIGlzQXV0b1N0YXJ0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgndG91clRvb2x0aXAnKSBwdWJsaWMgY3VzdG9tITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvdXJTZXJ2aWNlOiBUb3VyU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9vbHRpcFNlcnZpY2U6IFRvb2x0aXBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0ZWxlbWV0cnlTZXJ2aWNlOiBUZWxlbWV0cnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50b3VyU2VydmljZS5ldmVudHMucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUoYXN5bmMgZXZlbnQgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQudG91ckFjdGlvbiA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dXBUb3VyQ29tcG9uZW50KGV2ZW50KTtcclxuICAgICAgfSBlbHNlIGlmIChldmVudC50b3VyQWN0aW9uID09PSAnZW5kJykge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRUb3VyKSB7XHJcbiAgICAgICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmVuZFRvdXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gYSByZXN0b3JlIHN0ZXAgaGFzIGJlZW4gY29tcGxldGVkXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIGRvbmUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleSh0aGlzLmN1cnJlbnRUb3VyKTtcclxuICAgIGF3YWl0IHRoaXMuZW5kVG91cigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gYSB0b3VyIGJlZ2lucyBhbmQgd2hlbiB0aGUgdXNlciBjbGlja3MgbmV4dCBvbiB0aGUgY3VycmVudCB0b3VyIHN0ZXAuIEl0IHdpbGwgaGFuZGxlIGFueSBhZnRlciBjbGljayBhY3Rpb25zIGFuZCB0aGVuXHJcbiAgICogZmluZCB0aGUgbmV4dCBzdGVwIGFuZCBwcmVzZW50IGl0IHRvIHRoZSB1c2VyIGFuZCB0cmFuc2l0aW9uIHRvIGEgcmVzdG9yZSBzdGVwIG9yIG5ldyB0b3VyIGlmIG5lZWRlZC5cclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgc2hvd05leHRTdGVwKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gQmVmb3JlIG1vdmluZyB0byB0aGUgbmV4dCBzdGVwLCBtYWtlIHN1cmUgdGhlIGN1cnJlbnQgc3RlcCBkb2VzIG5vdCBoYXZlIGEgY2xpY2sgYWZ0ZXIgZGVmaW5lZC4gVGhpcyBjb3VsZCBiZSBoaWRpbmcgYSBtZW51XHJcbiAgICAvLyB0aGF0IHdhcyBvcGVuZWQgZm9yIHRoZSBzb29uIHRvIGJlIHByZXZpb3VzIHN0ZXAuXHJcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuaGFuZGxlQ2xpY2tBZnRlci5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAvLyBSZW1vdmUgYW55IHByZXZpb3VzIHRvb2x0aXBzXHJcbiAgICB0aGlzLnJlbW92ZVRvb2x0aXAoKTtcclxuXHJcbiAgICAvLyBHZXQgb3VyIG5leHQgc3RlcCBpbmRleCB0byBkaXNwbGF5IHRvIHRoZSB1c2VyXHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwSW5kZXggPSB0aGlzLmdldE5leHRBdmFpbGFibGVTdGVwSW5kZXgoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50U3RlcEluZGV4ID09PSAtMSkge1xyXG4gICAgICAvLyBObyBtb3JlIHN0ZXBzIGZvdW5kLCB3ZSBlaXRoZXIgbmVlZCB0byBjaGVjayBmb3IgdGhlIGV4aXQgc3RlcCBpZiB0aGlzIGlzIHRoZSBsYXN0IHRvdXJcclxuICAgICAgLy8gaW4gdGhlIHRvdXJzIGFycmF5IG9yIGFkdmFuY2UgdG8gdGhlIG5leHQgdG91clxyXG4gICAgICBpZiAodGhpcy5jdXJyZW50VG91ckluZGV4ID09PSB0aGlzLnRvdXJzLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUV4aXRTdGVwKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gV3JpdGUgdGhlIGNvbXBsZXRpb24ga2V5IGZvciB0aGUgY3VycmVudCB0b3VyIGJlZm9yZSB3ZSBtb3ZlIHRvIHRoZSBuZXh0XHJcbiAgICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXkodGhpcy5jdXJyZW50VG91cik7XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXJJbmRleCsrO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hvd05leHRUb3VyKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRvdXJTdGVwID0gdGhpcy5jdXJyZW50VG91cj8uc3RlcHNbdGhpcy5jdXJyZW50U3RlcEluZGV4XTtcclxuXHJcbiAgICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgb3VyIGN1cnJlbnQgc3RlcCBpbmRleCwgdGFrZSBjYXJlIG9mIGFueSBjbGljayBiZWZvcmUgZWxlbWVudHMgYmVmb3JlIHNob3dpbmcgdGhlXHJcbiAgICAgIC8vIHRvb2x0aXAuIFRoaXMgY291bGQgYmUgb3BlbmluZyBhIG1lbnUgdG8gZ2V0IHRoZSB0b29sdGlwIGVsZW1lbnQgdmlzaWJsZS5cclxuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLmhhbmRsZUNsaWNrQmVmb3JlLmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgLy8gQ2xpY2sgYmVmb3JlcyBhcmUgZG9uZSwgbm93IGxldCdzIHNob3cgdGhlIHRvb2x0aXAgZGVmaW5lZCBpbiB0aGUgdG91ciBzdGVwXHJcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5zaG93U3RlcFRvb2x0aXAuYmluZCh0aGlzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHNldHVwVG91ckNvbXBvbmVudChldmVudDogVG91ckV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBFbmQgYW55IHRvdXJzIHRoYXQgbWF5IGhhdmUgYmVlbiBpbiBwcm9ncmVzcyBpZiB0aGUgdXNlciBraWNrcyBvZmYgYSBuZXcgb25lXHJcbiAgICBpZiAodGhpcy5jdXJyZW50VG91cikge1xyXG4gICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk7XHJcbiAgICAgIGF3YWl0IHRoaXMuZW5kVG91cigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNBdXRvU3RhcnQgPSBldmVudC5pc0F1dG9TdGFydDtcclxuXHJcbiAgICBpZiAoZXZlbnQuaXNBdXRvU3RhcnQpIHtcclxuICAgICAgdGhpcy50b3VycyA9IHRoaXMucmVtb3ZlQ29tcGxldGVkVG91cnMoZXZlbnQudG91cnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b3VycyA9IGV2ZW50LnRvdXJzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnRvdXJzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNob3dEb25lQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gICAgICB0aGlzLmN1cnJlbnRUb3VyU3RlcCA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5jdXJyZW50U3RlcEluZGV4ID0gLTE7XHJcblxyXG4gICAgICAvLyBQcmltZSB0aGUgaW5kZXggZm9yIHRoZSBmaXJzdCB0b3VyXHJcbiAgICAgIHRoaXMuY3VycmVudFRvdXJJbmRleCA9IDA7XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLnNob3dOZXh0VG91cigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvd3MgYSB0b3VyIGFuZCBlbWl0cyBhbiBldmVudCB0aGF0IGl0IHdhcyBzdGFydGVkXHJcbiAgICogQHBhcmFtIHRvdXJcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIHNob3dOZXh0VG91cigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIFRyYWNrIGEgdG91ciBzdGFydGVkIGV2ZW50IGlmIHRoZSBjb25zdW1lciBvZiB0aGUgbGlicmFyeSBoYXMgdGVsZW1ldHJ5IGNvbmZpZ3VyZWRcclxuICAgIHRoaXMudGVsZW1ldHJ5U2VydmljZS50cmFja0V2ZW50KCdUb3VyU3RhcnRlZCcsIHsgdG91cklkOiB0aGlzLmN1cnJlbnRUb3VyIS5pZCB9KTtcclxuXHJcbiAgICBsZXQgY29udGludWVUb3VyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5pc0F1dG9TdGFydCAmJiB0aGlzLmN1cnJlbnRUb3VySW5kZXggPT09IDAgJiYgdGhpcy5jdXJyZW50VG91cj8uaW50cm9EaWFsb2cpIHtcclxuICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKFxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXIuaW50cm9EaWFsb2cuY29udGVudCEsXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ci5pbnRyb0RpYWxvZy5zaXplID8/ICdzbWFsbCcsXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ci5pbnRyb0RpYWxvZy5jb250ZXh0ID8/IHVuZGVmaW5lZCxcclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VyLmludHJvRGlhbG9nLm9wdGlvbnMgPz8gdW5kZWZpbmVkKS50b1Byb21pc2UoKTtcclxuICAgICAgaWYgKCFyZXN1bHQuc2F2ZSkge1xyXG4gICAgICAgIGNvbnRpbnVlVG91ciA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk7XHJcbiAgICAgICAgLy8gQWR2YW5jZSB0byB0aGUgbGFzdCB0b3VyIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBmb3IgaXRzIGV4aXQgc3RlcFxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXJJbmRleCA9IHRoaXMudG91cnMubGVuZ3RoIC0gMTtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUV4aXRTdGVwKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29udGludWVUb3VyKSB7XHJcbiAgICAgIHRoaXMuc2hvd05leHRTdGVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGVuZFRvdXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBIYW5kbGUgYW55IGNsaWNrIGFmdGVycyBmb3IgdGhlIGFjdGl2ZSBzdGVwIHNob3duIGJlZm9yZSBzaHV0dGluZyBpdCBkb3duXHJcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuaGFuZGxlQ2xpY2tBZnRlci5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRUb3VyU3RlcCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudG91cnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJlbW92ZVRvb2x0aXAoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXlzIGEgdG9vbHRpcCBmb3IgdGhlIGN1cnJlbnQgdG91ciBzdGVwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhc3luYyBzaG93U3RlcFRvb2x0aXAoKSB7XHJcbiAgICAvLyBUcmFjayBhbiBldmVudCBpZiB0aGUgY29uc3VtZXIgb2YgdGhlIGxpYnJhcnkgaGFzIHRlbGVtZXRyeSBjb25maWd1cmVkXHJcbiAgICB0aGlzLnRlbGVtZXRyeVNlcnZpY2UudHJhY2tFdmVudCgnVG91clN0ZXBDaGFuZ2UnLCB7IHRvdXJJZDogdGhpcy5jdXJyZW50VG91ciEuaWQsIHRvdXJTdGVwSWQ6IHRoaXMuY3VycmVudFRvdXJTdGVwIS5pZCB9KTtcclxuXHJcbiAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLmN1cnJlbnRUb3VyU3RlcCEuYW5jaG9yIS5zZWxlY3Rvcik7XHJcblxyXG4gICAgaWYgKHRvb2x0aXBFbGVtZW50KSB7XHJcbiAgICAgIC8vIERlZmF1bHQgd2lkdGggaWYgbm9uZSBwcm92aWRlZFxyXG4gICAgICBsZXQgc3RlcFdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWQgPSA0MzI7XHJcblxyXG4gICAgICAvLyBDaGVjayB0aGUgY3VycmVudCB0b3VyIHN0ZXAgd2lkdGggYW5kIGRlY2lkZSBpZiBpdCBuZWVkcyB0byBjaGFuZ2UgZnJvbSB0aGUgZGVmYXVsdCB2YWx1ZVxyXG4gICAgICAvLyBiYXNlZCBvbiB3aGV0aGVyIHRoZSBzdGVwIGRlZmluZWQgaXQgb3Igbm90XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRUb3VyU3RlcD8ud2lkdGggIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jdXJyZW50VG91clN0ZXAud2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICBzdGVwV2lkdGggPSB0aGlzLmN1cnJlbnRUb3VyU3RlcC53aWR0aDtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFRvdXJTdGVwLndpZHRoID09PSAnYXV0bycpIHtcclxuICAgICAgICAgIHN0ZXBXaWR0aCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFRvb2x0aXBPcHRpb25zID0ge1xyXG4gICAgICAgIGlkOiBgJHt0aGlzLmN1cnJlbnRUb3VyPy5pZH1fJHt0aGlzLmN1cnJlbnRUb3VyU3RlcCEuaWR9YCxcclxuICAgICAgICB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmN1cnJlbnRUb3VyU3RlcCEudGV4dCksXHJcbiAgICAgICAgdGl0bGU6IHRoaXMuY3VycmVudFRvdXJTdGVwIS50aXRsZSA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuY3VycmVudFRvdXJTdGVwIS50aXRsZSkgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgY3VzdG9tQ29udGVudDogdGhpcy5jdXN0b20sXHJcbiAgICAgICAgZGlzbWlzc2libGU6IHRydWUsXHJcbiAgICAgICAgbWF4V2lkdGg6IHRoaXMuY3VycmVudFRvdXJTdGVwPy5tYXhXaWR0aCxcclxuICAgICAgICB3aWR0aDogc3RlcFdpZHRoLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLWVjLWJhY2tncm91bmQtY29sb3ItdG91ciknXHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRvb2x0aXBTZXJ2aWNlLnNob3codG9vbHRpcEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHRoaXMuY3VycmVudFRvdXJTdGVwIS5hbmNob3I/LnBvc2l0aW9uLCBvcHRpb25zKTtcclxuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLmZvY3VzT25OZXh0T3JEb25lQnV0dG9uLmJpbmQodGhpcykpO1xyXG4gICAgICB0aGlzLnN1YnNjcmliZVRvVG9vbHRpcE9uSGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlcyB0byB0aGUgdG9vbHRpcHMgb25IaWRlIGV2ZW50IGVtaXR0ZXIgYW5kIHJlYWN0cyBpZiB0aGUgdXNlciBkaXNtaXNzZXMgdGhlIHRvb2x0aXBcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIHN1YnNjcmliZVRvVG9vbHRpcE9uSGlkZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCB0b29sdGlwU3Vic2NyaXB0aW9uID0gdGhpcy50b29sdGlwPy5vbkhpZGUucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xyXG4gICAgICB0b29sdGlwU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXlGb3JBbGxUb3VycygpO1xyXG4gICAgICAvLyBJZiB0aGlzIGlzIGRpc21pc3NlZCBkdXJpbmcgYW4gYXV0byBzdGFydCB0b3VyIHRoZW4gaGFuZGxlIHRoZSBleGl0IHN0ZXBcclxuICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZG9uZSBidXR0b24gaXMgc2hvd24gYXMgd2VsbCwgaWYgdGhlIGRvbmUgaXMgc2hvd24gdGhlbiB3ZSdyZSBpbiB0aGUgZXhpdCBzdGVwXHJcbiAgICAgIC8vIGFuZCBkaXNtaXNzaW5nIHNob3VsZCBqdXN0IGVuZCB0aGUgdG91clxyXG4gICAgICBpZiAodGhpcy5pc0F1dG9TdGFydCAmJiAhdGhpcy5zaG93RG9uZUJ1dHRvbikge1xyXG4gICAgICAgIC8vIEFkdmFuY2UgdG8gdGhlIGxhc3QgdG91ciBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgZm9yIGl0cyBleGl0IHN0ZXBcclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VySW5kZXggPSB0aGlzLnRvdXJzLmxlbmd0aCAtIDE7XHJcblxyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlRXhpdFN0ZXAoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmVuZFRvdXIoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb29wcyB0aHJvdWdoIHRoZSBjdXJyZW50IHRvdXIgc3RlcHMgc3RhcnRpbmcgYWZ0ZXIgdGhlIGN1cnJlbnQgc3RlcCBpbmRleC4gSXQgd2lsbCB0cnkgdG8gZmluZCBhIHZpc2libGVcclxuICAgKiBzZWxlY3RvciBhbmQgaWYgc28gcmV0dXJuIHRoZSBpbmRleC5cclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0TmV4dEF2YWlsYWJsZVN0ZXBJbmRleCgpOiBudW1iZXIge1xyXG4gICAgbGV0IG5leHRTdGVwSW5kZXg6IG51bWJlciA9IC0xO1xyXG5cclxuICAgIC8vIExvb2sgdGhyb3VnaCB0aGUgc3RlcHMgc3RhcnRpbmcgd2l0aCB0aGUgY3VycmVudCBpbmRleCBhbmQgZmluZCB0aGUgbmV4dCB0aGF0IGlzIGF2YWlhYmxlXHJcbiAgICAvLyBmb3IgdGhlIHVzZXIuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSB0aGlzLmN1cnJlbnRTdGVwSW5kZXggKyAxOyBpIDwgdGhpcy5jdXJyZW50VG91ciEuc3RlcHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFRvdXI/LnN0ZXBzW2ldLmFuY2hvciAmJiB0aGlzLnN0ZXBFbGVtZW50Rm91bmQodGhpcy5jdXJyZW50VG91ciEuc3RlcHNbaV0uYW5jaG9yISkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0U3RlcEluZGV4O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJ5IHRvIGZpbmQgdGhlIHRvdXIgc3RlcCBlbGVtZW50IHRvIGtub3cgaWYgaXQgaXMgdmlzaWJsZSBmb3IgdGhlIHVzZXIuIENoZWNrIGZvciB0aGUgY2xpY2tCZWZvcmUgZmlyc3QgaWYgZGVmaW5lZFxyXG4gICAqIEBwYXJhbSBhbmNob3JcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RlcEVsZW1lbnRGb3VuZChhbmNob3I6IFRvdXJBbmNob3IpOiBib29sZWFuIHtcclxuICAgIGlmIChhbmNob3IuY2xpY2tCZWZvcmUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhbmNob3IuY2xpY2tCZWZvcmUpICE9PSBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhbmNob3Iuc2VsZWN0b3IpICE9PSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29tZSB0b3VyIHN0ZXBzIG1heSBoYXZlIGEgY2xpY2sgYWZ0ZXIgZGVmaW5lZC4gSWYgc28gY2FsbCB0aGUgY2xpY2sgbWV0aG9kIG9uIHRoZSBodG1sIGVsZW1lbnRcclxuICAgKi9cclxuICBwcml2YXRlIGhhbmRsZUNsaWNrQWZ0ZXIoKTogdm9pZCB7XHJcbiAgICBsZXQgc2VsZWN0b3IgPSB0aGlzLmN1cnJlbnRUb3VyU3RlcD8uYW5jaG9yPy5jbGlja0FmdGVyO1xyXG4gICAgaWYgKHNlbGVjdG9yKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tFbGVtZW50SWZGb3VuZChzZWxlY3Rvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTb21lIHRvdXIgc3RlcHMgbWF5IGhhdmUgYSBjbGljayBiZWZvcmUgZGVmaW5lZC4gSWYgc28gY2FsbCB0aGUgY2xpY2sgbWV0aG9kIG9uIHRoZSBodG1sIGVsZW1lbnRcclxuICAgKi9cclxuICBwcml2YXRlIGhhbmRsZUNsaWNrQmVmb3JlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRvdXJTdGVwPy5hbmNob3I/LmNsaWNrQmVmb3JlKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tFbGVtZW50SWZGb3VuZCh0aGlzLmN1cnJlbnRUb3VyU3RlcC5hbmNob3I/LmNsaWNrQmVmb3JlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogQ2hlY2tzIGZvciBhbiBleGl0IHN0ZXAgb24gdGhlIGN1cnJlbnQgdG91ciBhbmQgaWYgZm91bmQgZGlzcGxheXMgdGhlIHN0ZXBcclxuICAqL1xyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlRXhpdFN0ZXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VG91cj8uZXhpdFN0ZXApIHtcclxuICAgICAgdGhpcy5yZW1vdmVUb29sdGlwKCk7XHJcblxyXG4gICAgICB0aGlzLnNob3dEb25lQnV0dG9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jdXJyZW50VG91clN0ZXAgPSB0aGlzLmN1cnJlbnRUb3VyPy5leGl0U3RlcDtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5oYW5kbGVDbGlja0JlZm9yZS5iaW5kKHRoaXMpKTtcclxuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLnNob3dTdGVwVG9vbHRpcC5iaW5kKHRoaXMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyeSB0byBmaW5kIHRoZSBlbGVtZW50IHdpdGggdGhlIHNlbGVjdG9yIHByb3ZpZGVkIGFuZCBpZiBzbyBjbGljayBpdC4gVGhpcyBpcyBob3cgdG91ciBzdGVwcyB3aWxsIG9wZW4vY2xvc2UgbWVudXMgdG9cclxuICAgKiBnaXZlIGEgdG91ciB0byB0aGUgdXNlclxyXG4gICAqIEBwYXJhbSBzZWxlY3RvclxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xpY2tFbGVtZW50SWZGb3VuZChzZWxlY3Rvcjogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoc2VsZWN0b3IgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcclxuICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAoZWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhdXRvIHN0YXJ0aW5nIHRvdXJzIHdlIHdpbGwgd2FudCB0byByZW1vdmUgYW55IHRoYXQgaGF2ZSB0aGUgbG9jYWwgc3RvcmFnZSBrZXkgd3JpdHRlbiBhcyBjb21wbGV0ZWQgc29cclxuICAgKiB0aGV5IGFyZSBub3QgcHJlc2VudGVkIHRvIHRoZSB1c2VyIGFnYWluLlxyXG4gICAqIEBwYXJhbSB0b3Vyc1xyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVDb21wbGV0ZWRUb3Vycyh0b3VyczogVG91cltdKTogVG91cltdIHtcclxuICAgIHJldHVybiB0b3Vycy5maWx0ZXIodG91ciA9PiB7XHJcbiAgICAgIGxldCBjYWNoZVZhbHVlID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0SXRlbTxUb3VyQ2FjaGVFbnRyeT4odGhpcy5tYWtlQ2FjaGVLZXkodG91cikpO1xyXG4gICAgICBpZiAoY2FjaGVWYWx1ZSkge1xyXG4gICAgICAgIHJldHVybiAhY2FjaGVWYWx1ZS5jb21wbGV0ZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV3JpdGVzIGEga2V5IHRvIGxvY2FsIHN0b3JhZ2Ugc28gdGhlIHRvdXIgd2lsbCBub3QgYmUgc2hvd24gYWdhaW4gYXV0b21hdGljYWxseVxyXG4gICAqL1xyXG4gIHByaXZhdGUgd3JpdGVDb21wbGV0aW9uS2V5KHRvdXI6IFRvdXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmICh0b3VyKSB7XHJcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldEl0ZW0odGhpcy5tYWtlQ2FjaGVLZXkodG91ciksIDxUb3VyQ2FjaGVFbnRyeT57IGNvbXBsZXRlZDogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gZGlzbWlzc2luZyBhIHRvdXIgb3Igb25lIGJlaW5nIGRpc21pc3NlZCB2aWEgYSBuYXZpZ2F0aW9uIGV2ZW50LCBldGMgd2Ugd2lsbCB3YW50IHRvIG1hcmtcclxuICAgKiBldmVyeSB0b3VyIGluIHRoZSBhcnJheSBhcyBjb21wbGV0ZWQgc28gaXQgZG9lc24ndCByZXN1cmZhY2UgdW5sZXNzIHRoZSB1c2VyIHJlcXVlc3RzIHRoZSB0b3VyLlxyXG4gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBsb29wIG92ZXIgYWxsIGFuZCB3cml0ZSB0aGUgbG9jYWwgc3RvcmFnZSBrZXlcclxuICAgKi9cclxuICBwcml2YXRlIHdyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b3Vycy5mb3JFYWNoKHRvdXIgPT4ge1xyXG4gICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleSh0b3VyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FjaGUga2V5IHVzZWQgdG8gc2V0L2dldCB0aGUgY29tcGxldGlvbiBzdGF0dXMgb2YgYSB0b3VyXHJcbiAgICogQHBhcmFtIHRvdXJcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgbWFrZUNhY2hlS2V5KHRvdXI6IFRvdXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudG91clNlcnZpY2UuZ2V0Q2FjaGVLZXkodG91cik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGEgdG9vbHRpcCBmcm9tIHRoZSB2aWV3LCB1c2VkIHdoZW4gc3dpdGNoaW5nIHRvdXIgc3RlcHMgYW5kIGNsb3NpbmcgYSB0b3VyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSB0b3VyIGJhc2VkIG9uIHRoZSBjdXJyZW50IGluZGV4XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXQgY3VycmVudFRvdXIoKTogVG91ciB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VG91ckluZGV4ID4gLTEgJiYgdGhpcy5jdXJyZW50VG91ckluZGV4IDwgdGhpcy50b3Vycy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudG91cnNbdGhpcy5jdXJyZW50VG91ckluZGV4XTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgY2xpY2sgYmVmb3JlL2FmdGVyIGFuZCBzaG93IHRvb2x0aXAgZnVuY3Rpb25zIG5lZWQgdG8gYmUgd3JhcHBlZCBpbiBzZXRUaW1lb3V0IGZvciB0aGUgVUlcclxuICAgKiB0byBvcGVyYXRlIGNvcnJlY3RseSBidXQgc2V0VGltZW91dCBpcyBhbiBhY3Rpb24gd2UgY2Fubm90IGF3YWl0IHNvIHdlJ3JlIHdyYXBwaW5nIGl0IGluIGEgcHJvbWlzZSB0byByZXR1cm5cclxuICAgKiBzbyB0aGUgZnVuY3Rpb24gY2FsbHMgY2FuIGF3YWl0IHRoZSBhY3Rpb25cclxuICAgKiBAcGFyYW0gZm5cclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgd2FpdEZvclRpbWVvdXQoZm46ICgpID0+IHZvaWQpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgZm4oKTtcclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kIHRoZSBcIm5leHRcIiBvciBcImRvbmVcIiBidXR0b24gYW5kIGZvY3VzIG9uIGl0LlxyXG4gICAqXHJcbiAgICogVGhleSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBzbyBpZiB3ZSBjYW5ub3QgZmluZCB0aGUgbmV4dCBidXR0b25cclxuICAgKiB3ZSBsb29rIGZvciB0aGUgZG9uZSBidXR0b24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmb2N1c09uTmV4dE9yRG9uZUJ1dHRvbigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mb2N1c09uRWxlbWVudChgIyR7dGhpcy5jdXJyZW50VG91clN0ZXAhLmlkfV9uZXh0QnV0dG9uYCkpIHtcclxuICAgICAgdGhpcy5mb2N1c09uRWxlbWVudChgIyR7dGhpcy5jdXJyZW50VG91clN0ZXAhLmlkfV9kb25lQnV0dG9uYClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmQgYW4gZWxlbWVudCB3aXRoIGdpdmVuIHNlbGVjdG9yIGFuZCBmb2N1cyBvbiBpdC5cclxuICAgKiBSZXR1cm4gZmFsc2UgaWYgZWxlbWVudCBub3QgZm91bmQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmb2N1c09uRWxlbWVudChzZWxlY3Rvcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcclxuICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgIChlbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICN0b3VyVG9vbHRpcD5cclxuICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50VG91clN0ZXA/Lm1lZGlhXCJcclxuICAgICAgICAgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgPGltZyBpZD1cInt7Y3VycmVudFRvdXJTdGVwPy5pZCArICdfbWVkaWEnfX1cIlxyXG4gICAgICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDEwMCU7XCJcclxuICAgICAgICAgICAgIHNyYz1cInt7Y3VycmVudFRvdXJTdGVwPy5tZWRpYX19XCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb250LWNvbG9yLXByaW1hcnktbGlnaHQgcHgtMyBtYi0zXCJcclxuICAgICAgICAgW2lubmVySHRtbF09XCJjdXJyZW50VG91clN0ZXA/LnRleHQgfCB0cmFuc2xhdGVcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGEgKm5nSWY9XCJjdXJyZW50VG91clN0ZXA/LmhlbHBMaW5rXCIgaWQ9XCJ7e2N1cnJlbnRUb3VyU3RlcD8uaWQgKyAnX2hlbHBMaW5rJ319XCIgY2xhc3M9XCJkLWJsb2NrIG1iLTMgcHgtM1wiIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7e2N1cnJlbnRUb3VyU3RlcD8uaGVscExpbmt9fVwiIHRyYW5zbGF0ZT5MZWFybk1vcmVfU0M8L2E+XHJcbiAgICA8Zm9vdGVyIGNsYXNzPVwicHgtMyBtdC0zIGQtZmxleFwiPlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJ7e2N1cnJlbnRUb3VyU3RlcD8uaWQgKyAnX25leHRCdXR0b24nfX1cIiAqbmdJZj1cIiFzaG93RG9uZUJ1dHRvblwiIGNsYXNzPVwibWwtYXV0byB0b3VyQWN0aW9uXCIgZWNMaW5rQnV0dG9uIChjbGljayk9XCJzaG93TmV4dFN0ZXAoKVwiIHRyYW5zbGF0ZT5OZXh0X1RDPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBpZD1cInt7Y3VycmVudFRvdXJTdGVwPy5pZCArICdfZG9uZUJ1dHRvbid9fVwiICpuZ0lmPVwic2hvd0RvbmVCdXR0b25cIiBjbGFzcz1cIm1sLWF1dG8gdG91ckFjdGlvblwiIGVjTGlua0J1dHRvbiAoY2xpY2spPVwiZG9uZSgpXCIgdHJhbnNsYXRlPkRvbmVfVEM8L2J1dHRvbj5cclxuICAgIDwvZm9vdGVyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
383
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b3VyL3RvdXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG91ci90b3VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBZTNDLE1BQU0sT0FBTyxhQUFhO0lBNEJ4QixZQUNVLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixnQkFBa0MsRUFDaEIsUUFBa0I7UUFOcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBN0I5Qzs7V0FFRztRQUNJLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBS3ZDLHFFQUFxRTtRQUM3RCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTNCLDRIQUE0SDtRQUNwSCxxQkFBZ0IsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5QixxQkFBZ0IsR0FB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SSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO1NBQy9EO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFnQjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxJQUFJLE9BQU8sRUFBRTtZQUNWLE9BQXVCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7MEdBdGFVLGFBQWEsb01BbUNkLFFBQVE7OEZBbkNQLGFBQWEsc0pDbkIxQiwwaENBZWM7MkZESUQsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxTQUFTOzswQkF1Q2hCLE1BQU07MkJBQUMsUUFBUTs0Q0FUZSxNQUFNO3NCQUF0QyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbGVtZXRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RlbGVtZXRyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQsIFRvb2x0aXBPcHRpb25zIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLy4uL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG91ciwgVG91ckFuY2hvciwgVG91ckNhY2hlRW50cnksIFRvdXJFdmVudCwgVG91clN0ZXAgfSBmcm9tICcuL3RvdXItdHlwZXMnO1xyXG5pbXBvcnQgeyBUb3VyU2VydmljZSB9IGZyb20gJy4vdG91ci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtdG91cicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvdXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RvdXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG91ckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqIEN1cnJlbnQgdG91ciBzdGVwIGJlaW5nIHNob3duIHRvIHRoZSB1c2VyLiBUaGUgY3VzdG9tIGNvbnRlbnQgaW4gdGhlIHRlbXBsYXRlIGlzIGJvdW5kIHRvIHByb3BlcnRpZXMgb24gdGhpcyBhbmQgdGhlcmVmb3IgbmVlZHMgdG8gYmVcclxuICAqICBpdHMgb3duIHByb3BlcnR5LiBUaGUgZXhpdFN0ZXAgaXMgYSB0b3VyIHN0ZXAgYW5kIHRoaXMgd2lsbCBob2xkIHRoYXQgc3RlcCBhdCB0aGUgZW5kIG9mIHRoZSB0b3VyLlxyXG4gICovXHJcbiAgcHVibGljIGN1cnJlbnRUb3VyU3RlcD86IFRvdXJTdGVwO1xyXG5cclxuICAvKiogVXNlZCB0byB0ZWxsIHRoZSBVSSB0aGF0IHRoZSBzdGVwIGJlaW5nIHNob3duIGlzIGFuIGV4aXQgc3RlcC4gVGhpcyB3aWxsIGNoYW5nZSB0aGVcclxuICAgKiAgbGluayB0ZXh0IGFuZCB0aGUgYWN0aW9uIHdoZW4gY2xpY2tlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93RG9uZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSB0b29sdGlwIHVzZWQgZm9yIHRoZSB0b3VyIHN0ZXBzICovXHJcbiAgcHVibGljIHRvb2x0aXA/OiBUb29sdGlwQ29tcG9uZW50O1xyXG5cclxuICAvKiogQXJyYXkgb2YgdG91cnMgcHJvdmlkZWQgd2hlbiB0aGUgc3RhcnQgdG91ciBldmVudCB3YXMgZGV0ZWN0ZWQgKi9cclxuICBwcml2YXRlIHRvdXJzOiBUb3VyW10gPSBbXTtcclxuXHJcbiAgLy8gQ291cGxlIGluZGV4ZXMgZm9yIHRoZSBjdXJyZW50IHRvdXIvc3RlcCBzdG9yZWQgZm9yIGVhc2llciByZWZlcmVuY2Ugd2hlbiBrbm93aW5nIGlmIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBzdGVwcy90b3Vyc1xyXG4gIHByaXZhdGUgY3VycmVudFN0ZXBJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgcHJpdmF0ZSBjdXJyZW50VG91ckluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgLyoqIFVzZWQgdG8ga25vdyBpZiB0aGUgcmVzdG9yZSBzdGVwIHNob3VsZCBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgdG91ciBpcyBkaXNtaXNzZWQgKi9cclxuICBwcml2YXRlIGlzQXV0b1N0YXJ0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgndG91clRvb2x0aXAnKSBwdWJsaWMgY3VzdG9tITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvdXJTZXJ2aWNlOiBUb3VyU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9vbHRpcFNlcnZpY2U6IFRvb2x0aXBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0ZWxlbWV0cnlTZXJ2aWNlOiBUZWxlbWV0cnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50b3VyU2VydmljZS5ldmVudHMucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUoYXN5bmMgZXZlbnQgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQudG91ckFjdGlvbiA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2V0dXBUb3VyQ29tcG9uZW50KGV2ZW50KTtcclxuICAgICAgfSBlbHNlIGlmIChldmVudC50b3VyQWN0aW9uID09PSAnZW5kJykge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRUb3VyKSB7XHJcbiAgICAgICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmVuZFRvdXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gYSByZXN0b3JlIHN0ZXAgaGFzIGJlZW4gY29tcGxldGVkXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIGRvbmUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleSh0aGlzLmN1cnJlbnRUb3VyKTtcclxuICAgIGF3YWl0IHRoaXMuZW5kVG91cigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbGVkIHdoZW4gYSB0b3VyIGJlZ2lucyBhbmQgd2hlbiB0aGUgdXNlciBjbGlja3MgbmV4dCBvbiB0aGUgY3VycmVudCB0b3VyIHN0ZXAuIEl0IHdpbGwgaGFuZGxlIGFueSBhZnRlciBjbGljayBhY3Rpb25zIGFuZCB0aGVuXHJcbiAgICogZmluZCB0aGUgbmV4dCBzdGVwIGFuZCBwcmVzZW50IGl0IHRvIHRoZSB1c2VyIGFuZCB0cmFuc2l0aW9uIHRvIGEgcmVzdG9yZSBzdGVwIG9yIG5ldyB0b3VyIGlmIG5lZWRlZC5cclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgc2hvd05leHRTdGVwKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gQmVmb3JlIG1vdmluZyB0byB0aGUgbmV4dCBzdGVwLCBtYWtlIHN1cmUgdGhlIGN1cnJlbnQgc3RlcCBkb2VzIG5vdCBoYXZlIGEgY2xpY2sgYWZ0ZXIgZGVmaW5lZC4gVGhpcyBjb3VsZCBiZSBoaWRpbmcgYSBtZW51XHJcbiAgICAvLyB0aGF0IHdhcyBvcGVuZWQgZm9yIHRoZSBzb29uIHRvIGJlIHByZXZpb3VzIHN0ZXAuXHJcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuaGFuZGxlQ2xpY2tBZnRlci5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAvLyBSZW1vdmUgYW55IHByZXZpb3VzIHRvb2x0aXBzXHJcbiAgICB0aGlzLnJlbW92ZVRvb2x0aXAoKTtcclxuXHJcbiAgICAvLyBHZXQgb3VyIG5leHQgc3RlcCBpbmRleCB0byBkaXNwbGF5IHRvIHRoZSB1c2VyXHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwSW5kZXggPSB0aGlzLmdldE5leHRBdmFpbGFibGVTdGVwSW5kZXgoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50U3RlcEluZGV4ID09PSAtMSkge1xyXG4gICAgICAvLyBObyBtb3JlIHN0ZXBzIGZvdW5kLCB3ZSBlaXRoZXIgbmVlZCB0byBjaGVjayBmb3IgdGhlIGV4aXQgc3RlcCBpZiB0aGlzIGlzIHRoZSBsYXN0IHRvdXJcclxuICAgICAgLy8gaW4gdGhlIHRvdXJzIGFycmF5IG9yIGFkdmFuY2UgdG8gdGhlIG5leHQgdG91clxyXG4gICAgICBpZiAodGhpcy5jdXJyZW50VG91ckluZGV4ID09PSB0aGlzLnRvdXJzLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUV4aXRTdGVwKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gV3JpdGUgdGhlIGNvbXBsZXRpb24ga2V5IGZvciB0aGUgY3VycmVudCB0b3VyIGJlZm9yZSB3ZSBtb3ZlIHRvIHRoZSBuZXh0XHJcbiAgICAgICAgdGhpcy53cml0ZUNvbXBsZXRpb25LZXkodGhpcy5jdXJyZW50VG91cik7XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXJJbmRleCsrO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hvd05leHRUb3VyKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRvdXJTdGVwID0gdGhpcy5jdXJyZW50VG91cj8uc3RlcHNbdGhpcy5jdXJyZW50U3RlcEluZGV4XTtcclxuXHJcbiAgICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgb3VyIGN1cnJlbnQgc3RlcCBpbmRleCwgdGFrZSBjYXJlIG9mIGFueSBjbGljayBiZWZvcmUgZWxlbWVudHMgYmVmb3JlIHNob3dpbmcgdGhlXHJcbiAgICAgIC8vIHRvb2x0aXAuIFRoaXMgY291bGQgYmUgb3BlbmluZyBhIG1lbnUgdG8gZ2V0IHRoZSB0b29sdGlwIGVsZW1lbnQgdmlzaWJsZS5cclxuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLmhhbmRsZUNsaWNrQmVmb3JlLmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgLy8gQ2xpY2sgYmVmb3JlcyBhcmUgZG9uZSwgbm93IGxldCdzIHNob3cgdGhlIHRvb2x0aXAgZGVmaW5lZCBpbiB0aGUgdG91ciBzdGVwXHJcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvclRpbWVvdXQodGhpcy5zaG93U3RlcFRvb2x0aXAuYmluZCh0aGlzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHNldHVwVG91ckNvbXBvbmVudChldmVudDogVG91ckV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBFbmQgYW55IHRvdXJzIHRoYXQgbWF5IGhhdmUgYmVlbiBpbiBwcm9ncmVzcyBpZiB0aGUgdXNlciBraWNrcyBvZmYgYSBuZXcgb25lXHJcbiAgICBpZiAodGhpcy5jdXJyZW50VG91cikge1xyXG4gICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk7XHJcbiAgICAgIGF3YWl0IHRoaXMuZW5kVG91cigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNBdXRvU3RhcnQgPSBldmVudC5pc0F1dG9TdGFydDtcclxuXHJcbiAgICBpZiAoZXZlbnQuaXNBdXRvU3RhcnQpIHtcclxuICAgICAgdGhpcy50b3VycyA9IHRoaXMucmVtb3ZlQ29tcGxldGVkVG91cnMoZXZlbnQudG91cnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b3VycyA9IGV2ZW50LnRvdXJzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnRvdXJzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNob3dEb25lQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gICAgICB0aGlzLmN1cnJlbnRUb3VyU3RlcCA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5jdXJyZW50U3RlcEluZGV4ID0gLTE7XHJcblxyXG4gICAgICAvLyBQcmltZSB0aGUgaW5kZXggZm9yIHRoZSBmaXJzdCB0b3VyXHJcbiAgICAgIHRoaXMuY3VycmVudFRvdXJJbmRleCA9IDA7XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLnNob3dOZXh0VG91cigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvd3MgYSB0b3VyIGFuZCBlbWl0cyBhbiBldmVudCB0aGF0IGl0IHdhcyBzdGFydGVkXHJcbiAgICogQHBhcmFtIHRvdXJcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIHNob3dOZXh0VG91cigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIFRyYWNrIGEgdG91ciBzdGFydGVkIGV2ZW50IGlmIHRoZSBjb25zdW1lciBvZiB0aGUgbGlicmFyeSBoYXMgdGVsZW1ldHJ5IGNvbmZpZ3VyZWRcclxuICAgIHRoaXMudGVsZW1ldHJ5U2VydmljZS50cmFja0V2ZW50KCdUb3VyU3RhcnRlZCcsIHsgdG91cklkOiB0aGlzLmN1cnJlbnRUb3VyIS5pZCB9KTtcclxuXHJcbiAgICBsZXQgY29udGludWVUb3VyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5pc0F1dG9TdGFydCAmJiB0aGlzLmN1cnJlbnRUb3VySW5kZXggPT09IDAgJiYgdGhpcy5jdXJyZW50VG91cj8uaW50cm9EaWFsb2cpIHtcclxuICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKFxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXIuaW50cm9EaWFsb2cuY29udGVudCEsXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ci5pbnRyb0RpYWxvZy5zaXplID8/ICdzbWFsbCcsXHJcbiAgICAgICAgdGhpcy5jdXJyZW50VG91ci5pbnRyb0RpYWxvZy5jb250ZXh0ID8/IHVuZGVmaW5lZCxcclxuICAgICAgICB0aGlzLmN1cnJlbnRUb3VyLmludHJvRGlhbG9nLm9wdGlvbnMgPz8gdW5kZWZpbmVkKS50b1Byb21pc2UoKTtcclxuICAgICAgaWYgKCFyZXN1bHQuc2F2ZSkge1xyXG4gICAgICAgIGNvbnRpbnVlVG91ciA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk7XHJcbiAgICAgICAgLy8gQWR2YW5jZSB0byB0aGUgbGFzdCB0b3VyIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBmb3IgaXRzIGV4aXQgc3RlcFxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXJJbmRleCA9IHRoaXMudG91cnMubGVuZ3RoIC0gMTtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUV4aXRTdGVwKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29udGludWVUb3VyKSB7XHJcbiAgICAgIHRoaXMuc2hvd05leHRTdGVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGVuZFRvdXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBIYW5kbGUgYW55IGNsaWNrIGFmdGVycyBmb3IgdGhlIGFjdGl2ZSBzdGVwIHNob3duIGJlZm9yZSBzaHV0dGluZyBpdCBkb3duXHJcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuaGFuZGxlQ2xpY2tBZnRlci5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRUb3VyU3RlcCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudG91cnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJlbW92ZVRvb2x0aXAoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXlzIGEgdG9vbHRpcCBmb3IgdGhlIGN1cnJlbnQgdG91ciBzdGVwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhc3luYyBzaG93U3RlcFRvb2x0aXAoKSB7XHJcbiAgICAvLyBUcmFjayBhbiBldmVudCBpZiB0aGUgY29uc3VtZXIgb2YgdGhlIGxpYnJhcnkgaGFzIHRlbGVtZXRyeSBjb25maWd1cmVkXHJcbiAgICB0aGlzLnRlbGVtZXRyeVNlcnZpY2UudHJhY2tFdmVudCgnVG91clN0ZXBDaGFuZ2UnLCB7IHRvdXJJZDogdGhpcy5jdXJyZW50VG91ciEuaWQsIHRvdXJTdGVwSWQ6IHRoaXMuY3VycmVudFRvdXJTdGVwIS5pZCB9KTtcclxuXHJcbiAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLmN1cnJlbnRUb3VyU3RlcCEuYW5jaG9yIS5zZWxlY3Rvcik7XHJcblxyXG4gICAgaWYgKHRvb2x0aXBFbGVtZW50KSB7XHJcbiAgICAgIC8vIERlZmF1bHQgd2lkdGggaWYgbm9uZSBwcm92aWRlZFxyXG4gICAgICBsZXQgc3RlcFdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWQgPSA0MzI7XHJcblxyXG4gICAgICAvLyBDaGVjayB0aGUgY3VycmVudCB0b3VyIHN0ZXAgd2lkdGggYW5kIGRlY2lkZSBpZiBpdCBuZWVkcyB0byBjaGFuZ2UgZnJvbSB0aGUgZGVmYXVsdCB2YWx1ZVxyXG4gICAgICAvLyBiYXNlZCBvbiB3aGV0aGVyIHRoZSBzdGVwIGRlZmluZWQgaXQgb3Igbm90XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRUb3VyU3RlcD8ud2lkdGggIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jdXJyZW50VG91clN0ZXAud2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICBzdGVwV2lkdGggPSB0aGlzLmN1cnJlbnRUb3VyU3RlcC53aWR0aDtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFRvdXJTdGVwLndpZHRoID09PSAnYXV0bycpIHtcclxuICAgICAgICAgIHN0ZXBXaWR0aCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFRvb2x0aXBPcHRpb25zID0ge1xyXG4gICAgICAgIGlkOiBgJHt0aGlzLmN1cnJlbnRUb3VyPy5pZH1fJHt0aGlzLmN1cnJlbnRUb3VyU3RlcCEuaWR9YCxcclxuICAgICAgICB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmN1cnJlbnRUb3VyU3RlcCEudGV4dCksXHJcbiAgICAgICAgdGl0bGU6IHRoaXMuY3VycmVudFRvdXJTdGVwIS50aXRsZSA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuY3VycmVudFRvdXJTdGVwIS50aXRsZSkgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgY3VzdG9tQ29udGVudDogdGhpcy5jdXN0b20sXHJcbiAgICAgICAgZGlzbWlzc2libGU6IHRydWUsXHJcbiAgICAgICAgbWF4V2lkdGg6IHRoaXMuY3VycmVudFRvdXJTdGVwPy5tYXhXaWR0aCxcclxuICAgICAgICB3aWR0aDogc3RlcFdpZHRoLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLWVjLWJhY2tncm91bmQtY29sb3ItdG91ciknLFxyXG4gICAgICAgIHRpdGxlQ29sb3I6ICd2YXIoLS1lYy1jb2xvci10b3VyLXRpdGxlKSdcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMudG9vbHRpcCA9IHRoaXMudG9vbHRpcFNlcnZpY2Uuc2hvdyh0b29sdGlwRWxlbWVudCBhcyBIVE1MRWxlbWVudCwgdGhpcy5jdXJyZW50VG91clN0ZXAhLmFuY2hvcj8ucG9zaXRpb24sIG9wdGlvbnMpO1xyXG4gICAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuZm9jdXNPbk5leHRPckRvbmVCdXR0b24uYmluZCh0aGlzKSk7XHJcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9Ub29sdGlwT25IaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmVzIHRvIHRoZSB0b29sdGlwcyBvbkhpZGUgZXZlbnQgZW1pdHRlciBhbmQgcmVhY3RzIGlmIHRoZSB1c2VyIGRpc21pc3NlcyB0aGUgdG9vbHRpcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXN5bmMgc3Vic2NyaWJlVG9Ub29sdGlwT25IaWRlKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHRvb2x0aXBTdWJzY3JpcHRpb24gPSB0aGlzLnRvb2x0aXA/Lm9uSGlkZS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXHJcbiAgICApLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XHJcbiAgICAgIHRvb2x0aXBTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgICB0aGlzLndyaXRlQ29tcGxldGlvbktleUZvckFsbFRvdXJzKCk7XHJcbiAgICAgIC8vIElmIHRoaXMgaXMgZGlzbWlzc2VkIGR1cmluZyBhbiBhdXRvIHN0YXJ0IHRvdXIgdGhlbiBoYW5kbGUgdGhlIGV4aXQgc3RlcFxyXG4gICAgICAvLyBDaGVjayB0aGF0IHRoZSBkb25lIGJ1dHRvbiBpcyBzaG93biBhcyB3ZWxsLCBpZiB0aGUgZG9uZSBpcyBzaG93biB0aGVuIHdlJ3JlIGluIHRoZSBleGl0IHN0ZXBcclxuICAgICAgLy8gYW5kIGRpc21pc3Npbmcgc2hvdWxkIGp1c3QgZW5kIHRoZSB0b3VyXHJcbiAgICAgIGlmICh0aGlzLmlzQXV0b1N0YXJ0ICYmICF0aGlzLnNob3dEb25lQnV0dG9uKSB7XHJcbiAgICAgICAgLy8gQWR2YW5jZSB0byB0aGUgbGFzdCB0b3VyIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBmb3IgaXRzIGV4aXQgc3RlcFxyXG4gICAgICAgIHRoaXMuY3VycmVudFRvdXJJbmRleCA9IHRoaXMudG91cnMubGVuZ3RoIC0gMTtcclxuXHJcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVFeGl0U3RlcCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZW5kVG91cigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvb3BzIHRocm91Z2ggdGhlIGN1cnJlbnQgdG91ciBzdGVwcyBzdGFydGluZyBhZnRlciB0aGUgY3VycmVudCBzdGVwIGluZGV4LiBJdCB3aWxsIHRyeSB0byBmaW5kIGEgdmlzaWJsZVxyXG4gICAqIHNlbGVjdG9yIGFuZCBpZiBzbyByZXR1cm4gdGhlIGluZGV4LlxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXROZXh0QXZhaWxhYmxlU3RlcEluZGV4KCk6IG51bWJlciB7XHJcbiAgICBsZXQgbmV4dFN0ZXBJbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gICAgLy8gTG9vayB0aHJvdWdoIHRoZSBzdGVwcyBzdGFydGluZyB3aXRoIHRoZSBjdXJyZW50IGluZGV4IGFuZCBmaW5kIHRoZSBuZXh0IHRoYXQgaXMgYXZhaWFibGVcclxuICAgIC8vIGZvciB0aGUgdXNlci5cclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IHRoaXMuY3VycmVudFN0ZXBJbmRleCArIDE7IGkgPCB0aGlzLmN1cnJlbnRUb3VyIS5zdGVwcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50VG91cj8uc3RlcHNbaV0uYW5jaG9yICYmIHRoaXMuc3RlcEVsZW1lbnRGb3VuZCh0aGlzLmN1cnJlbnRUb3VyIS5zdGVwc1tpXS5hbmNob3IhKSkge1xyXG4gICAgICAgIHJldHVybiBpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHRTdGVwSW5kZXg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcnkgdG8gZmluZCB0aGUgdG91ciBzdGVwIGVsZW1lbnQgdG8ga25vdyBpZiBpdCBpcyB2aXNpYmxlIGZvciB0aGUgdXNlci4gQ2hlY2sgZm9yIHRoZSBjbGlja0JlZm9yZSBmaXJzdCBpZiBkZWZpbmVkXHJcbiAgICogQHBhcmFtIGFuY2hvclxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGVwRWxlbWVudEZvdW5kKGFuY2hvcjogVG91ckFuY2hvcik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGFuY2hvci5jbGlja0JlZm9yZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGFuY2hvci5jbGlja0JlZm9yZSkgIT09IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGFuY2hvci5zZWxlY3RvcikgIT09IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTb21lIHRvdXIgc3RlcHMgbWF5IGhhdmUgYSBjbGljayBhZnRlciBkZWZpbmVkLiBJZiBzbyBjYWxsIHRoZSBjbGljayBtZXRob2Qgb24gdGhlIGh0bWwgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlQ2xpY2tBZnRlcigpOiB2b2lkIHtcclxuICAgIGxldCBzZWxlY3RvciA9IHRoaXMuY3VycmVudFRvdXJTdGVwPy5hbmNob3I/LmNsaWNrQWZ0ZXI7XHJcbiAgICBpZiAoc2VsZWN0b3IpIHtcclxuICAgICAgdGhpcy5jbGlja0VsZW1lbnRJZkZvdW5kKHNlbGVjdG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvbWUgdG91ciBzdGVwcyBtYXkgaGF2ZSBhIGNsaWNrIGJlZm9yZSBkZWZpbmVkLiBJZiBzbyBjYWxsIHRoZSBjbGljayBtZXRob2Qgb24gdGhlIGh0bWwgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlQ2xpY2tCZWZvcmUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VG91clN0ZXA/LmFuY2hvcj8uY2xpY2tCZWZvcmUpIHtcclxuICAgICAgdGhpcy5jbGlja0VsZW1lbnRJZkZvdW5kKHRoaXMuY3VycmVudFRvdXJTdGVwLmFuY2hvcj8uY2xpY2tCZWZvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBDaGVja3MgZm9yIGFuIGV4aXQgc3RlcCBvbiB0aGUgY3VycmVudCB0b3VyIGFuZCBpZiBmb3VuZCBkaXNwbGF5cyB0aGUgc3RlcFxyXG4gICovXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVFeGl0U3RlcCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRUb3VyPy5leGl0U3RlcCkge1xyXG4gICAgICB0aGlzLnJlbW92ZVRvb2x0aXAoKTtcclxuXHJcbiAgICAgIHRoaXMuc2hvd0RvbmVCdXR0b24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmN1cnJlbnRUb3VyU3RlcCA9IHRoaXMuY3VycmVudFRvdXI/LmV4aXRTdGVwO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yVGltZW91dCh0aGlzLmhhbmRsZUNsaWNrQmVmb3JlLmJpbmQodGhpcykpO1xyXG4gICAgICBhd2FpdCB0aGlzLndhaXRGb3JUaW1lb3V0KHRoaXMuc2hvd1N0ZXBUb29sdGlwLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJ5IHRvIGZpbmQgdGhlIGVsZW1lbnQgd2l0aCB0aGUgc2VsZWN0b3IgcHJvdmlkZWQgYW5kIGlmIHNvIGNsaWNrIGl0LiBUaGlzIGlzIGhvdyB0b3VyIHN0ZXBzIHdpbGwgb3Blbi9jbG9zZSBtZW51cyB0b1xyXG4gICAqIGdpdmUgYSB0b3VyIHRvIHRoZSB1c2VyXHJcbiAgICogQHBhcmFtIHNlbGVjdG9yXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjbGlja0VsZW1lbnRJZkZvdW5kKHNlbGVjdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmIChzZWxlY3RvciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xyXG4gICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgIChlbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGljaygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGF1dG8gc3RhcnRpbmcgdG91cnMgd2Ugd2lsbCB3YW50IHRvIHJlbW92ZSBhbnkgdGhhdCBoYXZlIHRoZSBsb2NhbCBzdG9yYWdlIGtleSB3cml0dGVuIGFzIGNvbXBsZXRlZCBzb1xyXG4gICAqIHRoZXkgYXJlIG5vdCBwcmVzZW50ZWQgdG8gdGhlIHVzZXIgYWdhaW4uXHJcbiAgICogQHBhcmFtIHRvdXJzXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUNvbXBsZXRlZFRvdXJzKHRvdXJzOiBUb3VyW10pOiBUb3VyW10ge1xyXG4gICAgcmV0dXJuIHRvdXJzLmZpbHRlcih0b3VyID0+IHtcclxuICAgICAgbGV0IGNhY2hlVmFsdWUgPSB0aGlzLmNhY2hlU2VydmljZS5nZXRJdGVtPFRvdXJDYWNoZUVudHJ5Pih0aGlzLm1ha2VDYWNoZUtleSh0b3VyKSk7XHJcbiAgICAgIGlmIChjYWNoZVZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuICFjYWNoZVZhbHVlLmNvbXBsZXRlZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXcml0ZXMgYSBrZXkgdG8gbG9jYWwgc3RvcmFnZSBzbyB0aGUgdG91ciB3aWxsIG5vdCBiZSBzaG93biBhZ2FpbiBhdXRvbWF0aWNhbGx5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSB3cml0ZUNvbXBsZXRpb25LZXkodG91cjogVG91ciB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKHRvdXIpIHtcclxuICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0SXRlbSh0aGlzLm1ha2VDYWNoZUtleSh0b3VyKSwgPFRvdXJDYWNoZUVudHJ5PnsgY29tcGxldGVkOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBkaXNtaXNzaW5nIGEgdG91ciBvciBvbmUgYmVpbmcgZGlzbWlzc2VkIHZpYSBhIG5hdmlnYXRpb24gZXZlbnQsIGV0YyB3ZSB3aWxsIHdhbnQgdG8gbWFya1xyXG4gICAqIGV2ZXJ5IHRvdXIgaW4gdGhlIGFycmF5IGFzIGNvbXBsZXRlZCBzbyBpdCBkb2Vzbid0IHJlc3VyZmFjZSB1bmxlc3MgdGhlIHVzZXIgcmVxdWVzdHMgdGhlIHRvdXIuXHJcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGxvb3Agb3ZlciBhbGwgYW5kIHdyaXRlIHRoZSBsb2NhbCBzdG9yYWdlIGtleVxyXG4gICAqL1xyXG4gIHByaXZhdGUgd3JpdGVDb21wbGV0aW9uS2V5Rm9yQWxsVG91cnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvdXJzLmZvckVhY2godG91ciA9PiB7XHJcbiAgICAgIHRoaXMud3JpdGVDb21wbGV0aW9uS2V5KHRvdXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWNoZSBrZXkgdXNlZCB0byBzZXQvZ2V0IHRoZSBjb21wbGV0aW9uIHN0YXR1cyBvZiBhIHRvdXJcclxuICAgKiBAcGFyYW0gdG91clxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBtYWtlQ2FjaGVLZXkodG91cjogVG91cik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50b3VyU2VydmljZS5nZXRDYWNoZUtleSh0b3VyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgYSB0b29sdGlwIGZyb20gdGhlIHZpZXcsIHVzZWQgd2hlbiBzd2l0Y2hpbmcgdG91ciBzdGVwcyBhbmQgY2xvc2luZyBhIHRvdXJcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZVRvb2x0aXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvb2x0aXA/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIHRvdXIgYmFzZWQgb24gdGhlIGN1cnJlbnQgaW5kZXhcclxuICAgKi9cclxuICBwcml2YXRlIGdldCBjdXJyZW50VG91cigpOiBUb3VyIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRUb3VySW5kZXggPiAtMSAmJiB0aGlzLmN1cnJlbnRUb3VySW5kZXggPCB0aGlzLnRvdXJzLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b3Vyc1t0aGlzLmN1cnJlbnRUb3VySW5kZXhdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjbGljayBiZWZvcmUvYWZ0ZXIgYW5kIHNob3cgdG9vbHRpcCBmdW5jdGlvbnMgbmVlZCB0byBiZSB3cmFwcGVkIGluIHNldFRpbWVvdXQgZm9yIHRoZSBVSVxyXG4gICAqIHRvIG9wZXJhdGUgY29ycmVjdGx5IGJ1dCBzZXRUaW1lb3V0IGlzIGFuIGFjdGlvbiB3ZSBjYW5ub3QgYXdhaXQgc28gd2UncmUgd3JhcHBpbmcgaXQgaW4gYSBwcm9taXNlIHRvIHJldHVyblxyXG4gICAqIHNvIHRoZSBmdW5jdGlvbiBjYWxscyBjYW4gYXdhaXQgdGhlIGFjdGlvblxyXG4gICAqIEBwYXJhbSBmblxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB3YWl0Rm9yVGltZW91dChmbjogKCkgPT4gdm9pZCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBmbigpO1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmQgdGhlIFwibmV4dFwiIG9yIFwiZG9uZVwiIGJ1dHRvbiBhbmQgZm9jdXMgb24gaXQuXHJcbiAgICpcclxuICAgKiBUaGV5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIHNvIGlmIHdlIGNhbm5vdCBmaW5kIHRoZSBuZXh0IGJ1dHRvblxyXG4gICAqIHdlIGxvb2sgZm9yIHRoZSBkb25lIGJ1dHRvbi5cclxuICAgKi9cclxuICBwcml2YXRlIGZvY3VzT25OZXh0T3JEb25lQnV0dG9uKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZvY3VzT25FbGVtZW50KGAjJHt0aGlzLmN1cnJlbnRUb3VyU3RlcCEuaWR9X25leHRCdXR0b25gKSkge1xyXG4gICAgICB0aGlzLmZvY3VzT25FbGVtZW50KGAjJHt0aGlzLmN1cnJlbnRUb3VyU3RlcCEuaWR9X2RvbmVCdXR0b25gKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZCBhbiBlbGVtZW50IHdpdGggZ2l2ZW4gc2VsZWN0b3IgYW5kIGZvY3VzIG9uIGl0LlxyXG4gICAqIFJldHVybiBmYWxzZSBpZiBlbGVtZW50IG5vdCBmb3VuZC5cclxuICAgKi9cclxuICBwcml2YXRlIGZvY3VzT25FbGVtZW50KHNlbGVjdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgKGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI3RvdXJUb29sdGlwPlxyXG4gICAgPGRpdiAqbmdJZj1cImN1cnJlbnRUb3VyU3RlcD8ubWVkaWFcIlxyXG4gICAgICAgICBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICA8aW1nIGlkPVwie3tjdXJyZW50VG91clN0ZXA/LmlkICsgJ19tZWRpYSd9fVwiXHJcbiAgICAgICAgICAgICBzdHlsZT1cIm1heC13aWR0aDogMTAwJTtcIlxyXG4gICAgICAgICAgICAgc3JjPVwie3tjdXJyZW50VG91clN0ZXA/Lm1lZGlhfX1cIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvbnQtY29sb3ItcHJpbWFyeS1saWdodCBweC0zIG1iLTNcIlxyXG4gICAgICAgICBbaW5uZXJIdG1sXT1cImN1cnJlbnRUb3VyU3RlcD8udGV4dCB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YSAqbmdJZj1cImN1cnJlbnRUb3VyU3RlcD8uaGVscExpbmtcIiBpZD1cInt7Y3VycmVudFRvdXJTdGVwPy5pZCArICdfaGVscExpbmsnfX1cIiBjbGFzcz1cImQtYmxvY2sgbWItMyBweC0zXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cInt7Y3VycmVudFRvdXJTdGVwPy5oZWxwTGlua319XCIgdHJhbnNsYXRlPkxlYXJuTW9yZV9TQzwvYT5cclxuICAgIDxmb290ZXIgY2xhc3M9XCJweC0zIG10LTMgZC1mbGV4XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBpZD1cInt7Y3VycmVudFRvdXJTdGVwPy5pZCArICdfbmV4dEJ1dHRvbid9fVwiICpuZ0lmPVwiIXNob3dEb25lQnV0dG9uXCIgY2xhc3M9XCJtbC1hdXRvIHRvdXJBY3Rpb25cIiBlY0xpbmtCdXR0b24gKGNsaWNrKT1cInNob3dOZXh0U3RlcCgpXCIgdHJhbnNsYXRlPk5leHRfVEM8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGlkPVwie3tjdXJyZW50VG91clN0ZXA/LmlkICsgJ19kb25lQnV0dG9uJ319XCIgKm5nSWY9XCJzaG93RG9uZUJ1dHRvblwiIGNsYXNzPVwibWwtYXV0byB0b3VyQWN0aW9uXCIgZWNMaW5rQnV0dG9uIChjbGljayk9XCJkb25lKClcIiB0cmFuc2xhdGU+RG9uZV9UQzwvYnV0dG9uPlxyXG4gICAgPC9mb290ZXI+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -4340,13 +4340,16 @@ class TooltipComponent {
4340
4340
  }
4341
4341
  }
4342
4342
  TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4343
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TooltipComponent, selector: "ec-tooltip", host: { properties: { "style.--ec-tooltip-background-color": "this.backgroundColor" } }, ngImport: i0, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n\r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n\r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\r\n</article>\r\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2,.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] });
4343
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TooltipComponent, selector: "ec-tooltip", host: { properties: { "style.--ec-tooltip-background-color": "this.backgroundColor", "style.--ec-tooltip-color-title": "this.titleColor" } }, ngImport: i0, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n\r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n\r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\r\n</article>\r\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] });
4344
4344
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponent, decorators: [{
4345
4345
  type: Component,
4346
- args: [{ selector: 'ec-tooltip', template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n\r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n\r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\r\n</article>\r\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2,.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"] }]
4346
+ args: [{ selector: 'ec-tooltip', template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n\r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n\r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\r\n</article>\r\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"] }]
4347
4347
  }], propDecorators: { backgroundColor: [{
4348
4348
  type: HostBinding,
4349
4349
  args: ['style.--ec-tooltip-background-color']
4350
+ }], titleColor: [{
4351
+ type: HostBinding,
4352
+ args: ['style.--ec-tooltip-color-title']
4350
4353
  }] } });
4351
4354
 
4352
4355
  class TooltipService {
@@ -4383,6 +4386,7 @@ class TooltipService {
4383
4386
  contentViewRef.instance.customContent = options === null || options === void 0 ? void 0 : options.customContent;
4384
4387
  contentViewRef.instance.dismissible = (options === null || options === void 0 ? void 0 : options.dismissible) || false;
4385
4388
  contentViewRef.instance.backgroundColor = options === null || options === void 0 ? void 0 : options.backgroundColor;
4389
+ contentViewRef.instance.titleColor = options === null || options === void 0 ? void 0 : options.titleColor;
4386
4390
  contentViewRef.instance.hideArrow = options === null || options === void 0 ? void 0 : options.hideArrow;
4387
4391
  contentViewRef.instance.overlayRef = overlayRef;
4388
4392
  return contentViewRef.instance;
@@ -9463,7 +9467,8 @@ class TourComponent {
9463
9467
  dismissible: true,
9464
9468
  maxWidth: (_c = this.currentTourStep) === null || _c === void 0 ? void 0 : _c.maxWidth,
9465
9469
  width: stepWidth,
9466
- backgroundColor: 'var(--ec-background-color-tour)'
9470
+ backgroundColor: 'var(--ec-background-color-tour)',
9471
+ titleColor: 'var(--ec-color-tour-title)'
9467
9472
  };
9468
9473
  this.tooltip = this.tooltipService.show(tooltipElement, (_d = this.currentTourStep.anchor) === null || _d === void 0 ? void 0 : _d.position, options);
9469
9474
  yield this.waitForTimeout(this.focusOnNextOrDoneButton.bind(this));