tango-app-ui-analyse-traffic 3.3.1-beta.13 → 3.3.1-beta.14
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.
|
@@ -97,6 +97,33 @@ export class TrafficCardChartsComponent {
|
|
|
97
97
|
else {
|
|
98
98
|
this.valueType = 'actual';
|
|
99
99
|
}
|
|
100
|
+
if (this.selectedTab === "footfall") {
|
|
101
|
+
this.footfallValue = "footfall";
|
|
102
|
+
this.selctedValue = 'Footfall Analysis';
|
|
103
|
+
}
|
|
104
|
+
else if (this.selectedTab === "conversion") {
|
|
105
|
+
this.footfallValue = "conversion";
|
|
106
|
+
this.selctedValue = 'Conversion Analysis';
|
|
107
|
+
}
|
|
108
|
+
else if (this.selectedTab === "engagers") {
|
|
109
|
+
this.footfallValue = "engagers";
|
|
110
|
+
this.selctedValue = 'Engagers Analysis';
|
|
111
|
+
}
|
|
112
|
+
else if (this.selectedTab === "bounced") {
|
|
113
|
+
this.footfallValue = "bounced";
|
|
114
|
+
this.selctedValue = 'Bounced Analysis';
|
|
115
|
+
}
|
|
116
|
+
else if (this.selectedTab === "potentialBuyers") {
|
|
117
|
+
this.footfallValue = "potentialBuyers";
|
|
118
|
+
this.selctedValue = 'Potential Buyer Analysis';
|
|
119
|
+
}
|
|
120
|
+
else if (this.selectedTab === "missedOpportunity") {
|
|
121
|
+
this.footfallValue = "missedOpportunity";
|
|
122
|
+
this.selctedValue = 'Missed Opportunity Analysis';
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.getDwell();
|
|
126
|
+
}
|
|
100
127
|
this.detailedCharts = false;
|
|
101
128
|
if (this.headerData) {
|
|
102
129
|
this.objData = {
|
|
@@ -1215,4 +1242,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1215
1242
|
type: Component,
|
|
1216
1243
|
args: [{ selector: "lib-traffic-card-charts", template: "<div class=\"card mt-3\">\r\n <div class=\"card-header my-3 mx-2\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li *ngIf=\"storeIdarray?.length ===1\" class=\"nav-item nav-item1\" (click)=\"selectedTabs('traffic')\"><a\r\n [ngClass]=\"selectedTab ==='traffic' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer no-border me-6 \">Traffic & Dwell</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('footfall')\">\r\n <a [ngClass]=\"selectedTab ==='footfall' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer me-6\">Footfall</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('bounced')\"><a\r\n [ngClass]=\"selectedTab ==='bounced' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer no-border me-6 \">Bounced Footfall</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('engagers')\">\r\n <a [ngClass]=\"selectedTab ==='engagers' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer me-6\">Engagers</a>\r\n </li>\r\n \r\n \r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('missedOpportunity')\">\r\n <a [ngClass]=\"selectedTab ==='missedOpportunity' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer me-6\">Missed Opportunity</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('potentialBuyers')\">\r\n <a [ngClass]=\"selectedTab ==='potentialBuyers' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer me-6\">Potential Buyer</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('conversion')\"><a\r\n [ngClass]=\"selectedTab ==='conversion' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer no-border me-6 \">Conversion</a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div *ngIf=\"chartloading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"chartNoData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this {{selctedValue}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\" >\r\n <div class=\"col-md-2 h-100\" *ngIf=\"!chartloading && !chartNoData\">\r\n <div *ngIf=\"selectedTab ==='traffic'\" class=\"left-bar\">\r\n \r\n <div class=\"my-7\">\r\n <div class=\"d-flex align-items-center my-10 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <span class=\"w-100\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M13 2.125L3 14.125H12L11 22.125L21 10.125H12L13 2.125Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getDensityDwellData?.densityDwellCard?.busiestDay ?\r\n getDensityDwellData?.densityDwellCard?.busiestDay :'--'}}</div>\r\n <div class=\"left-card-count-header\">Busiest Day</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-10 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <span class=\"w-100\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M13 2.125L3 14.125H12L11 22.125L21 10.125H12L13 2.125Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getDensityDwellData?.densityDwellCard?.busiestTime ?\r\n getDensityDwellData?.densityDwellCard?.busiestTime :'--'}}</div>\r\n <div class=\"left-card-count-header\">Busiest Time</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-10 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <span class=\"w-100\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M13 2.125L3 14.125H12L11 22.125L21 10.125H12L13 2.125Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getDensityDwellData?.densityDwellCard?.avgDwellTime ?\r\n getDensityDwellData?.densityDwellCard?.avgDwellTime :'--'}} Mins</div>\r\n <div class=\"left-card-count-header\">Avg Dwell Time</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-10 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <span class=\"w-100\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M13 2.125L3 14.125H12L11 22.125L21 10.125H12L13 2.125Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getDensityDwellData?.densityDwellCard?.maleRate ?\r\n getDensityDwellData?.densityDwellCard?.maleRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Male</div>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getDensityDwellData?.densityDwellCard?.femaleRate ?\r\n getDensityDwellData?.densityDwellCard?.femaleRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Female</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab ==='footfall'\" class=\"left-bar\">\r\n <div class=\"top-header text-center\">\r\n <div class=\"left-bar-count\">{{getOverallCardData?.footfallCard?.footfallCount ?\r\n getOverallCardData?.footfallCard?.footfallCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-bar-title\">Footfall Count</div>\r\n\r\n </div>\r\n <span class=\"w-100\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"174\" height=\"2\"\r\n viewBox=\"0 0 194 2\" fill=\"none\">\r\n <path opacity=\"0.4\" d=\"M1 1L193 1\" stroke=\"#99DAFF\" stroke-linecap=\"round\" />\r\n </svg></span>\r\n <div class=\"my-5\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <path\r\n d=\"M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21M16 7C16 9.20914 14.2091 11 12 11C9.79086 11 8 9.20914 8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.singleCount ?\r\n getOverallCardData?.footfallCard?.singleCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-card-count-header\">Single</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.groupCount ?\r\n getOverallCardData?.footfallCard?.groupCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-card-count-header\">Group Footfall</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.ageGroup ?\r\n getOverallCardData?.footfallCard?.ageGroup :'--'}}</div>\r\n <div class=\"left-card-count-header\">Most Common Age</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.maleRate ?\r\n getOverallCardData?.footfallCard?.maleRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Male</div>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.femaleRate ?\r\n getOverallCardData?.footfallCard?.femaleRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Female</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab ==='conversion'\" class=\"left-bar\">\r\n <div class=\"top-header text-center\">\r\n <div class=\"left-bar-count\">{{getOverallCardData?.conversionCard?.conversionCount ?\r\n getOverallCardData?.conversionCard?.conversionCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-bar-title\">Conversion Count</div>\r\n\r\n </div>\r\n <span class=\"w-100\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"174\" height=\"2\"\r\n viewBox=\"0 0 194 2\" fill=\"none\">\r\n <path opacity=\"0.4\" d=\"M1 1L193 1\" stroke=\"#99DAFF\" stroke-linecap=\"round\" />\r\n </svg></span>\r\n <div class=\"my-5\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.conversionCard?.conversionRate ?\r\n getOverallCardData?.conversionCard?.conversionRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Conversion Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.conversionCard?.minRate ?\r\n getOverallCardData?.conversionCard?.minRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">5 - 15 Mins</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.conversionCard?.maxRate ?\r\n getOverallCardData?.conversionCard?.maxRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">15 - 60 Mins</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.conversionCard?.averageRate ?\r\n getOverallCardData?.conversionCard?.averageRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">1 Hr or more</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab ==='engagers'\" class=\"left-bar\">\r\n <div class=\"top-header text-center\">\r\n <div class=\"left-bar-count\">{{getOverallCardData?.engagersCard?.engagersCount ?\r\n getOverallCardData?.engagersCard?.engagersCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-bar-title\">Engagers Count</div>\r\n\r\n </div>\r\n <div class=\"my-5\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.engagersCard?.engagersRate ?\r\n getOverallCardData?.engagersCard?.engagersRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Engagers Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.engagersCard?.avgDwellTime ?\r\n getOverallCardData?.engagersCard?.avgDwellTime :'--'}} Mins</div>\r\n <div class=\"left-card-count-header\">Avg dwell Time</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.engagersCard?.highEngagementZone ?\r\n getOverallCardData?.engagersCard?.highEngagementZone :'--'}}</div>\r\n <div class=\"left-card-count-header\">High Engagement Zone</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.engagersCard?.lowEngagementZone ?\r\n getOverallCardData?.engagersCard?.lowEngagementZone :'--'}}</div>\r\n <div class=\"left-card-count-header\">Low Engagement Zone</div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab ==='bounced'\" class=\"left-bar\">\r\n <div class=\"top-header text-center\">\r\n <div class=\"left-bar-count\">{{getOverallCardData?.bouncedCard?.bouncedCount ?\r\n getOverallCardData?.bouncedCard?.bouncedCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-bar-title\">Bounced Count</div>\r\n\r\n </div>\r\n <div class=\"my-5\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.bouncedCard?.bouncedRate ?\r\n getOverallCardData?.bouncedCard?.bouncedRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Bounced Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.bouncedCard?.peakBouncedHour ?\r\n getOverallCardData?.bouncedCard?.peakBouncedHour :'--'}}</div>\r\n <div class=\"left-card-count-header\">Peak Bounced Hour</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.bouncedCard?.mostCommonAge ?\r\n getOverallCardData?.bouncedCard?.mostCommonAge :'--'}}</div>\r\n <div class=\"left-card-count-header\">Most Common Age</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.bouncedCard?.maleRate ?\r\n getOverallCardData?.bouncedCard?.maleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Male</div>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.bouncedCard?.femaleRate ?\r\n getOverallCardData?.bouncedCard?.femaleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Female</div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab ==='potentialBuyers'\" class=\"left-bar\">\r\n <div class=\"top-header text-center\">\r\n <div class=\"left-bar-count\">{{getOverallCardData?.potentialBuyersCard?.potentialBuyersCount ?\r\n getOverallCardData?.potentialBuyersCard?.potentialBuyersCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-bar-title\">Potential Buyers</div>\r\n\r\n </div>\r\n <div class=\"my-5\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.potentialBuyersCard?.potentialBuyersRate ?\r\n getOverallCardData?.potentialBuyersCard?.potentialBuyersRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Buyers Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <path\r\n d=\"M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21M16 7C16 9.20914 14.2091 11 12 11C9.79086 11 8 9.20914 8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.potentialBuyersCard?.singleCount ?\r\n getOverallCardData?.potentialBuyersCard?.singleCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-card-count-header\">Single</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.potentialBuyersCard?.groupCount ?\r\n getOverallCardData?.potentialBuyersCard?.groupCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-card-count-header\">Group</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.potentialBuyersCard?.mostCommonAge ?\r\n getOverallCardData?.potentialBuyersCard?.mostCommonAge :'--'}}</div>\r\n <div class=\"left-card-count-header\">Most Common Age</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.potentialBuyersCard?.maleRate ?\r\n getOverallCardData?.potentialBuyersCard?.maleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Male</div>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.potentialBuyersCard?.femaleRate ?\r\n getOverallCardData?.potentialBuyersCard?.femaleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Female</div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab ==='missedOpportunity'\" class=\"left-bar\">\r\n <div class=\"top-header text-center\">\r\n <div class=\"left-bar-count\">{{getOverallCardData?.missedOpportunityCard?.missedOpportunityCount ?\r\n getOverallCardData?.missedOpportunityCard?.missedOpportunityCount.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-bar-title\">Missed opportunity Count</div>\r\n\r\n </div>\r\n <div class=\"my-5\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.missedOpportunityCard?.missedOpportunityRate ?\r\n getOverallCardData?.missedOpportunityCard?.missedOpportunityRate :'--'}}%</div>\r\n <div class=\"left-card-count-header\">Missed opportunity Rate</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\"><span class=\"me-1\" *ngIf=\"getOverallCardData?.missedOpportunityCard?.currency ==='inr'\">\u20B9</span>\r\n <span class=\"me-1\" *ngIf=\"getOverallCardData?.missedOpportunityCard?.currency !=='inr'\">$</span>\r\n {{getOverallCardData?.missedOpportunityCard?.potentialRevenueLoss ?\r\n getOverallCardData?.missedOpportunityCard?.potentialRevenueLoss.toLocaleString('en-IN') :'--'}}</div>\r\n <div class=\"left-card-count-header\">Potential Revenue Loss</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.missedOpportunityCard?.lowConversionZone ?\r\n getOverallCardData?.missedOpportunityCard?.lowConversionZone :'--'}}</div>\r\n <div class=\"left-card-count-header\">Low Conversion Zone</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.missedOpportunityCard?.mostCommonAge ?\r\n getOverallCardData?.missedOpportunityCard?.mostCommonAge :'--'}}</div>\r\n <div class=\"left-card-count-header\">Most Common Age</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.missedOpportunityCard?.maleRate ?\r\n getOverallCardData?.missedOpportunityCard?.maleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Male</div>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.missedOpportunityCard?.femaleRate ?\r\n getOverallCardData?.missedOpportunityCard?.femaleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Female</div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"selectedTab ==='traffic' && !chartloading && !chartNoData\" class=\"col-md-10 h-100 \">\r\n <div class=\"row px-0\">\r\n \r\n <div class=\"col-md-6 mt-3 px-0\">\r\n \r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label\">Traffic Density <svg placement=\"right\"\r\n ngbTooltip=\"Total opportunity of sales conversion versus total walkins\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3352_688)\">\r\n <path d=\"M7.9987 10.6667V8.00004M7.9987 5.33337H8.00536M14.6654 8.00004C14.6654 11.6819 11.6806 14.6667 7.9987 14.6667C4.3168 14.6667 1.33203 11.6819 1.33203 8.00004C1.33203 4.31814 4.3168 1.33337 7.9987 1.33337C11.6806 1.33337 14.6654 4.31814 14.6654 8.00004Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3352_688\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"text-sub mb-2\">Based on {{headerData?.date?.startDate | date:'dd MMM, yyyy'}} \u2013 {{headerData?.date?.endDate | date:'dd MMM, yyyy'}} </span>\r\n \r\n </h3>\r\n <div class=\"card-toolbar text-nowrap\">\r\n <select class=\"form-select form-select-sm w-auto dropselect\" id=\"dateSelect\"\r\n (change)=\"onDateChange($event)\" [(ngModel)]=\"footfallDate\">\r\n <option *ngFor=\"let dataset of trafficData\" [value]=\"dataset.value\">{{ dataset.label }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div id=\"trafficHeatmapChart\"></div>\r\n </div>\r\n <div class=\"col-md-6 mt-3 px-0\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label\">Dwell Time Split <svg placement=\"right\"\r\n ngbTooltip=\"Total opportunity of sales conversion versus total walkins\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3352_688)\">\r\n <path d=\"M7.9987 10.6667V8.00004M7.9987 5.33337H8.00536M14.6654 8.00004C14.6654 11.6819 11.6806 14.6667 7.9987 14.6667C4.3168 14.6667 1.33203 11.6819 1.33203 8.00004C1.33203 4.31814 4.3168 1.33337 7.9987 1.33337C11.6806 1.33337 14.6654 4.31814 14.6654 8.00004Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3352_688\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"text-sub mb-2\">Based on {{headerData?.date?.startDate | date:'dd MMM, yyyy'}} \u2013 {{headerData?.date?.endDate | date:'dd MMM, yyyy'}} </span>\r\n \r\n </h3>\r\n </div>\r\n <div id=\"dwellBarChart\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!chartloading && !chartNoData && (selectedTab ==='footfall' || selectedTab ==='conversion' || selectedTab ==='engagers' || selectedTab ==='bounced' || selectedTab ==='potentialBuyers' || selectedTab ==='missedOpportunity')\" class=\"col-md-10 h-100 right-bar border-1\">\r\n \r\n\r\n <div *ngIf=\"(footfallValue ==='footfall' || footfallValue ==='conversion' || footfallValue ==='engagers'\r\n || footfallValue ==='missedOpportunity' || footfallValue ==='potentialBuyers' || footfallValue ==='bounced' || footfallValue ==='demographic' || footfallValue ==='buyer') && !detailedCharts\"\r\n class=\"row\">\r\n <div *ngIf=\"selectedTab !=='potentialBuyers'\"><select class=\"form-select form-select-sm w-auto m-3 dropselect\" id=\"datasetSelect\" [(ngModel)]=\"footfallValue\"\r\n (change)=\"onDatasetChange($event)\">\r\n <option *ngFor=\"let dataset of datasets\" [value]=\"dataset.value\">{{ dataset.label }}</option>\r\n </select> \r\n \r\n </div> \r\n <div class=\"left-bar-title fw-bold mt-5 mb-2 ms-3\" *ngIf=\"selectedTab ==='potentialBuyers'\">{{selctedValue}}</div>\r\n <span class=\"ms-3 text-sub\">Based on {{headerData?.date?.startDate | date:'dd MMM, yyyy'}} \u2013 {{headerData?.date?.endDate | date:'dd MMM, yyyy'}} </span>\r\n <div *ngIf=\"footfallValue ==='demographic' && !detailedCharts\" class=\"col-md-12\">\r\n <div class=\"text-center\" id=\"demoGraphics\"></div>\r\n </div>\r\n <div *ngIf=\"footfallValue ==='buyer' && !detailedCharts\" class=\"col-md-12\">\r\n <div class=\"text-center\" id=\"buyersCharts\"></div>\r\n </div>\r\n\r\n <div *ngIf=\"footfallValue ==='footfall' || footfallValue ==='conversion' || footfallValue ==='engagers' \r\n || footfallValue ==='missedOpportunity' || footfallValue ==='potentialBuyers' || footfallValue ==='bounced' && !detailedCharts\" \r\n class=\"chart-container mt-3\">\r\n <div class=\"text-center\" id=\"testGraphics\"></div>\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"offset\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"footfallValue ==='footfall' || footfallValue ==='conversion' || footfallValue ==='engagers' \r\n || footfallValue ==='missedOpportunity' || footfallValue ==='potentialBuyers' || footfallValue ==='bounced' && !detailedCharts\" \r\n class=\"heatmap-container mt-3\">\r\n <div id=\"heatmapchart\"></div>\r\n </div>\r\n \r\n <!-- <div *ngIf=\"footfallValue ==='footfall' || footfallValue ==='conversion' || footfallValue ==='engagers'\r\n || footfallValue ==='missedOpportunity' || footfallValue ==='potentialBuyers' || footfallValue ==='bounced' && !detailedCharts\" class=\"col-md-9 chart-container mt-3\">\r\n <div class=\"text-center\" id=\"testGraphics\"></div>\r\n </div>\r\n <div *ngIf=\"footfallValue ==='footfall' || footfallValue ==='conversion' || footfallValue ==='engagers'\r\n || footfallValue ==='missedOpportunity' || footfallValue ==='potentialBuyers' || footfallValue ==='bounced' && !detailedCharts\" class=\"col-md-3 mt-3 me-0 pe-0\">\r\n <div id=\"heatmapchart\"></div>\r\n </div> -->\r\n\r\n </div>\r\n <div *ngIf=\"detailedCharts\" class=\"row\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <span class=\"cursor-pointer\" (click)=\"backToFootfall()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\"><span class=\"text-primary cursor-pointer text-decoration-underline\" (click)=\"storeView(storeId)\">{{storeName}}</span><span class=\"ms-2\">Footfall Trend</span></div>\r\n <div class=\"left-card-count-header text-sub\">Based on {{headerData?.date?.endDate | date:'dd MMM, yyyy'}}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 mx-5\">\r\n <div class=\"text-center\" id=\"detailedChartDiv\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- <div *ngFor=\"let location of locations; let i = index\"> -->\r\n \r\n <!-- </div> -->\r\n", styles: ["#testGraphics{overflow-x:auto;white-space:nowrap;height:450px}.chart-container{overflow-x:auto}.nav-item1 .nav-link1.active{border:none;border-radius:0;background:var(--Primary-50, #EAF8FF);border-bottom:2px solid #009BF3!important;padding:8px 12px}.nav-item1 .nav-link1:hover{border:none}#footfallBarChart,#demoGraphics,#buyersCharts,#heatmapchart,#detailedChartDiv,#trafficHeatmapChart,#dwellBarChart{width:100%;height:450px}.left-bar{height:auto;border-radius:0 40px!important;border:1px solid #f9f9f9!important;padding:16px!important;background:radial-gradient(107.32% 141.42% at 0% 0%,#fff6,#6bcaff1a)!important;box-shadow:-5px -5px 250px #ffffff05 inset!important;-webkit-backdrop-filter:blur(21px)!important;backdrop-filter:blur(21px)!important}.right-bar{border-radius:12px;border:1px solid var(--Gray-300, #D0D5DD)}.top-header{border-radius:0 24px 0 0!important;background:radial-gradient(107.32% 141.42% at 0% 0%,#fff6,#6bcaff1a)!important;padding:16px 5px!important;box-shadow:0 2px 8px #009bf333!important}.left-bar-count{color:var(--Gray-900, #101828);font-size:36px!important;font-style:normal;font-weight:600;line-height:44px;letter-spacing:-.72px}.left-bar-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.left-card-count{color:var(--Gray-900, #101828);font-size:18px!important;font-style:normal;font-weight:600;line-height:28px}.left-card-count-header{color:var(--Gray-900, #101828)!important;font-size:12px!important;font-style:normal;font-weight:400;line-height:18px}.dropselect{color:var(--Gray-500, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:18px;white-space:nowrap}.nodata-title{font-size:14px!important;font-weight:600}.chart-container{width:80%;float:left}.heatmap-container{width:20%;float:left}@media (max-width: 768px){.chart-container,.heatmap-container{width:100%;float:none}}\n"] }]
|
|
1217
1244
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.Router }, { type: i2.TrafficService }, { type: i3.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
1218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpYy1jYXJkLWNoYXJ0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtY2FyZC1jaGFydHMvdHJhZmZpYy1jYXJkLWNoYXJ0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtY2FyZC1jaGFydHMvdHJhZmZpYy1jYXJkLWNoYXJ0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnRCxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxrQkFBa0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLG9CQUFvQixNQUFNLHVDQUF1QyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTTlDLE1BQU0sT0FBTywwQkFBMEI7SUF1RDNCO0lBQ0E7SUFDQTtJQUErQjtJQUMvQjtJQXpERixJQUFJLENBQVk7SUFDaEIsS0FBSyxDQUFnQjtJQUNyQixNQUFNLENBQXFCO0lBQzNCLEtBQUssQ0FBVztJQUNoQixNQUFNLENBQWdCO0lBQ3RCLE9BQU8sQ0FBcUI7SUFDcEMsWUFBWSxDQUFXO0lBQ3ZCLGFBQWEsQ0FBZ0I7SUFDN0IsY0FBYyxDQUFxQjtJQUVuQyxXQUFXLENBQVc7SUFDdEIsWUFBWSxDQUFnQjtJQUM1QixhQUFhLENBQXFCO0lBQ2xD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eEJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBOZ1pvbmUsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGFtNSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNVwiO1xyXG5pbXBvcnQgKiBhcyBhbTV4eSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS94eVwiO1xyXG5pbXBvcnQgYW01dGhlbWVzX0FuaW1hdGVkIGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3RoZW1lcy9BbmltYXRlZFwiO1xyXG5pbXBvcnQgYW01dGhlbWVzX1Jlc3BvbnNpdmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUvdGhlbWVzL1Jlc3BvbnNpdmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhZmZpY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFmZmljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItdHJhZmZpYy1jYXJkLWNoYXJ0c1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdHJhZmZpYy1jYXJkLWNoYXJ0cy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vdHJhZmZpYy1jYXJkLWNoYXJ0cy5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhZmZpY0NhcmRDaGFydHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByb290ITogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBjaGFydDogYW01eHkuWFlDaGFydDtcclxuICBwcml2YXRlIHNlcmllczogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIHByaXZhdGUgcm9vdDI6IGFtNS5Sb290O1xyXG4gIHByaXZhdGUgY2hhcnQyOiBhbTV4eS5YWUNoYXJ0O1xyXG4gIHByaXZhdGUgc2VyaWVzMjogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIGRldGFpbGVkUm9vdDogYW01LlJvb3Q7XHJcbiAgZGV0YWlsZWRDaGFydDogYW01eHkuWFlDaGFydDtcclxuICBkZXRhaWxlZFNlcmllczogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG5cclxuICBoZWF0TWFwUm9vdDogYW01LlJvb3Q7XHJcbiAgaGVhdE1hcENoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIGhlYXRNYXBTZXJpZXM6IGFtNXh5LkNvbHVtblNlcmllcztcclxuICBkd2VsbFJvb3Q6IGFtNS5Sb290O1xyXG4gIGR3ZWxsQ2hhcnQ6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgZHdlbGxTZXJpZXM6IGFtNXh5LkNvbHVtblNlcmllcztcclxuICBkZW1vR3JhcGhpY3NEYXRhOiBhbnk7XHJcbiAgZGVtb0dyYXBoaWNzcm9vdDogYW55O1xyXG4gIGJ1eWVyc3Jvb3Q6YW55O1xyXG4gIGRhdGFzZXRzOiBhbnkgPSBbXTtcclxuICBkYXRhOiBhbnk7XHJcbiAgY3VycmVudERhdGE6IGFueTtcclxuICBjdXJyZW50RGF0YTI6IGFueTtcclxuICBkZXRhaWxlZENoYXJ0czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRhdGU6IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG4gIGZvb3RmYWxsVmFsdWU6IHN0cmluZyA9IFwiZm9vdGZhbGxcIjtcclxuICBkZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlOiBhbnk7XHJcbiAgYnV5ZXJzQ2hhcnRJbnN0YW5jZTphbnk7XHJcbiAgc2VsZWN0ZWRUYWI6IGFueSA9IFwiZm9vdGZhbGxcIjtcclxuICBnZXRPdmVyYWxsQ2FyZERhdGE6IGFueSA9IFtdO1xyXG4gIG9iakRhdGE6IGFueTtcclxuICBnZXRPdmVyYWxsSG91cmx5RGF0YTogYW55O1xyXG4gIGdldE92ZXJhbGxDaGFydERhdGE6IGFueTtcclxuICBnZXRTaW5nbGVDaGFydERhdGE6IGFueTtcclxuICBidXllcnNEYXRhOiBhbnk7XHJcbiAgZ2V0RGVuc2l0eUR3ZWxsRGF0YTogYW55O1xyXG4gIHRyYWZmaWNEYXRhOmFueT0gW107XHJcbiAgZm9vdGZhbGxEYXRlOiBhbnk7XHJcbiAgaGVhZGVyRGF0YTogYW55O1xyXG4gIHNlbGN0ZWRWYWx1ZTphbnkgPSdGb290ZmFsbCBBbmFseXNpcyc7XHJcbiAgY2hhcnROb0RhdGE6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIGNoYXJ0bG9hZGluZzogYm9vbGVhbiA9dHJ1ZTtcclxuICBzdG9yZUlkYXJyYXk6IGFueSA9W107XHJcbiAgdG90YWxDb3VudDogYW55O1xyXG4gIGRlbW9HcmFwaGljc1NlcmllczogYW55O1xyXG4gIHZhbHVlVHlwZTogYW55PSdhY3R1YWwnO1xyXG4gIGlzQXZlcmFnZTogYW55ID1mYWxzZTtcclxuICBpdGVtc1BlclBhZ2UgPSAxMDtcclxuICBjdXJyZW50UGFnZSA9IDE7XHJcbiAgdG90YWxJdGVtcyA9IDE7XHJcbiAgcGFnaW5hdGlvblNpemVzID0gWzEwLDIwLDMwXTtcclxuICBwYWdlU2l6ZSA9IDMwO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBUcmFmZmljU2VydmljZSxwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhc2V0cyA9IFtcclxuICAgICAgeyB2YWx1ZTogdGhpcy5mb290ZmFsbFZhbHVlLCBsYWJlbDogdGhpcy5zZWxjdGVkVmFsdWUgfSxcclxuICAgICAgeyB2YWx1ZTogXCJkZW1vZ3JhcGhpY1wiLCBsYWJlbDogXCJEZW1vZ3JhcGhpYyBBbmFseXNpc1wiIH0sXHJcbiAgICAgIHsgdmFsdWU6IFwiYnV5ZXJcIiwgbGFiZWw6IFwiQnV5ZXIgQW5hbHlzaXNcIiB9LFxyXG4gICAgXTtcclxuICAgIHRoaXMudHJhZmZpY0RhdGEgPSBbXHJcbiAgICAgIHsgdmFsdWU6IDcsIGxhYmVsOiBcIkxhc3QgNyBEYXlzXCIgfSxcclxuICAgICAgeyB2YWx1ZTogMzAsIGxhYmVsOiBcIkxhc3QgMzAgRGF5c1wiIH0sXHJcbiAgICBdO1xyXG4gICAgdGhpcy5mb290ZmFsbERhdGUgPXRoaXMudHJhZmZpY0RhdGFbMF0udmFsdWVcclxuICAgIHRoaXMuc2VydmljZT8uaXNBdmVyYWdlJD8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRlYm91bmNlVGltZSgzMDApKT8uc3Vic2NyaWJlKChpc0F2ZXJhZ2U6YW55KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNBdmVyYWdlID0gaXNBdmVyYWdlO1xyXG4gICAgICBpZih0aGlzLmlzQXZlcmFnZSA9PT0gdHJ1ZSl7XHJcbiAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSAnYXZlcmFnZSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSdhY3R1YWwnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGV0YWlsZWRDaGFydHM9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5oZWFkZXJEYXRhKSB7XHJcbiAgICAgIHRoaXMub2JqRGF0YSA9IHtcclxuICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgICBwcm9jZXNzVHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgICAgICBub3JtYWxpemVkRGF0YTogZmFsc2UsXHJcbiAgICAgICAgdmFsdWVUeXBlIDp0aGlzLnZhbHVlVHlwZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm92ZXJhbGxDYXJkKCk7XHJcbiAgICAgIHRoaXMub3ZlcmFsbEhvdXJseUNoYXJ0KCk7XHJcbiAgICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgICB9XHJcbn0pO1xyXG50aGlzLmdldEluaXRhbCgpO1xyXG4gIH1cclxuICBnZXRJbml0YWwoKXtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgaWYoZGF0YSAhPT1udWxsIHx8IGRhdGE/LmNsaWVudCAhPT0gbnVsbCl7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLnN0b3JlSWRhcnJheSA9IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZClcclxuICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnRzID0gZmFsc2U7XHJcbiAgICAgIH1cclxufSlcclxuICB9XHJcbiAgc2VsZWN0ZWRUYWJzKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IHR5cGU7XHJcbiAgICB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5vYmpEYXRhLnZhbHVlVHlwZSA9dGhpcy52YWx1ZVR5cGU7XHJcbiAgIFxyXG4gICAgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJmb290ZmFsbFwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiY29udmVyc2lvblwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJjb252ZXJzaW9uXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nQ29udmVyc2lvbiBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcImVuZ2FnZXJzXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImVuZ2FnZXJzXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRW5nYWdlcnMgQW5hbHlzaXMnXHJcbiAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJib3VuY2VkXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImJvdW5jZWRcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdCb3VuY2VkIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwicG90ZW50aWFsQnV5ZXJzXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInBvdGVudGlhbEJ1eWVyc1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1BvdGVudGlhbCBCdXllciBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcIm1pc3NlZE9wcG9ydHVuaXR5XCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcIm1pc3NlZE9wcG9ydHVuaXR5XCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nTWlzc2VkIE9wcG9ydHVuaXR5IEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIHsgXHJcbiAgICAgIHRoaXMuZ2V0RHdlbGwoKTtcclxuICAgIH1cclxuICAgICB0aGlzLm92ZXJhbGxDYXJkKCk7XHJcbiAgICB0aGlzLm92ZXJhbGxIb3VybHlDaGFydCgpO1xyXG4gICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICAgIHRoaXMuZGF0YXNldHMgPSBbXHJcbiAgICAgIHsgdmFsdWU6IHRoaXMuc2VsZWN0ZWRUYWIsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICB7IHZhbHVlOiBcImRlbW9ncmFwaGljXCIsIGxhYmVsOiBcIkRlbW9ncmFwaGljIEFuYWx5c2lzXCIgfSxcclxuICAgICAgeyB2YWx1ZTogXCJidXllclwiLCBsYWJlbDogXCJCdXllciBBbmFseXNpc1wiIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgb3ZlcmFsbENhcmQoKSB7XHJcbiAgIFxyXG4gICAgKHRoaXMub2JqRGF0YS5saW1pdCA9IHRoaXMubGltaXQpLCAodGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0KTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEubm9ybWFsaXplZERhdGE7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLnJldmVudWU7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmhvdXJGb3JtYXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmRhdGVSYW5nZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0T3ZlcmFsbENhcmRzKHRoaXMub2JqRGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRPdmVyYWxsQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvdmVyYWxsSG91cmx5Q2hhcnQoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICAodGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdCksICh0aGlzLm9iakRhdGEub2Zmc2V0ID0gdGhpcy5vZmZzZXQpO1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5ub3JtYWxpemVkRGF0YTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEucmV2ZW51ZTtcclxuZGVsZXRlIHRoaXMub2JqRGF0YS5ob3VyRm9ybWF0XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmRhdGVSYW5nZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0T3ZlcmFsbEhvdXJseUNoYXJ0KHRoaXMub2JqRGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmdldE92ZXJhbGxIb3VybHlEYXRhID0gcmVzPy5kYXRhPy5ob3VybHlEYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRIZWF0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgb2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGxpbWl0OiBudW1iZXIgPSAzMDtcclxuICBvdmVyYWxsQ2hhcnQoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICAodGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdCksICh0aGlzLm9iakRhdGEub2Zmc2V0ID0gdGhpcy5vZmZzZXQpO1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5ub3JtYWxpemVkRGF0YTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEucmV2ZW51ZTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEuaG91ckZvcm1hdDtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEuZGF0ZVJhbmdlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRPdmVyYWxsQ2hhcnQodGhpcy5vYmpEYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldE92ZXJhbGxDaGFydERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhLnRvdGFsQ291bnRcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG4gICAgdGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0LTE7XHJcbiAgICB0aGlzLm9iakRhdGEubGltaXQgPSB0aGlzLmxpbWl0O1xyXG4gICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmxpbWl0ID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgdGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgdGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdDtcclxuICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgfVxyXG4gIGdldER3ZWxsKCl7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5vZmZzZXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlO1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5ob3VyRm9ybWF0O1xyXG4gICAgdGhpcy5vYmpEYXRhLmRhdGVSYW5nZSA9TnVtYmVyKHRoaXMuZm9vdGZhbGxEYXRlKTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0RGVuc2l0eUR3ZWxsKHRoaXMub2JqRGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnRyYWZmaWNIZWF0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5nZXREd2VsbENoYXJ0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYoIXJlcyB8fCByZXMuY29kZSA9PT0gMjA0KXtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGluaXRDaGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRlc3RHcmFwaGljc1wiKTtcclxuICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5yb290KSB7XHJcbiAgICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJvb3QgPSBhbTUuUm9vdC5uZXcoXCJ0ZXN0R3JhcGhpY3NcIik7XHJcblxyXG4gICAgICAvLyBTZXQgdGhlbWVzXHJcbiAgICAgIC8vIHRoaXMucm9vdC5zZXRUaGVtZXMoW2FtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5yb290KV0pO1xyXG4gICAgICAvLyBjb25zdCB0b3RhbENvdW50ID0gdGhpcy50b3RhbENvdW50O1xyXG4gICAgICAvLyBjb25zdCBkeW5hbWljV2lkdGggPSBNYXRoLm1heCg4MDAsIHRvdGFsQ291bnQgKiA1MCk7IC8vIE1pbmltdW0gODAwcHggb3IgNTBweCBwZXIgaXRlbVxyXG4gICAgICAvLyBjb25zb2xlLmxvZyhkeW5hbWljV2lkdGgsdGhpcy50b3RhbENvdW50KVxyXG4gICAgICAvLyBDcmVhdGUgY2hhcnRcclxuICAgICAgdGhpcy5jaGFydCA9IHRoaXMucm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgIHBhblg6IHRydWUsXHJcbiAgICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiAxLFxyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksIC8vIExldCB0aGUgY2hhcnQgdGFrZSBmdWxsIHdpZHRoXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgLy8gdGhpcy5jaGFydC5wbG90Q29udGFpbmVyLnNldEFsbCh7XHJcbiAgICAgIC8vICAgbWluV2lkdGg6IGR5bmFtaWNXaWR0aCwgLy8gU2V0IGR5bmFtaWMgbWluIHdpZHRoIGZvciBzY3JvbGxpbmdcclxuICAgICAgLy8gfSk7XHJcbiAgICAgIC8vIEFkZCBjdXJzb3JcclxuICAgICAgbGV0IGN1cnNvciA9IHRoaXMuY2hhcnQuc2V0KFwiY3Vyc29yXCIsIGFtNXh5LlhZQ3Vyc29yLm5ldyh0aGlzLnJvb3QsIHt9KSk7XHJcbiAgICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgIHJvdGF0aW9uOiAtNDUsXHJcbiAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgICBwYWRkaW5nUmlnaHQ6IDUsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgeFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICBsb2NhdGlvbjogMSxcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIEFkZCBzY3JvbGxiYXJcclxuICAgICAgdGhpcy5jaGFydC5zZXQoXHJcbiAgICAgICAgXCJzY3JvbGxiYXJYXCIsXHJcbiAgICAgICAgYW01LlNjcm9sbGJhci5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgbGV0IHhBeGlzID0gdGhpcy5jaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwic3RvcmVOYW1lXCIsXHJcbiAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgLy8gdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMucm9vdCwge2xhYmVsVGV4dDogXCJ7ZnVsbFN0b3JlTmFtZX1cIn0pLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBsZXQgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGxldCB5QXhpcyA9IHRoaXMuY2hhcnQueUF4ZXMucHVzaChcclxuICAgICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjMsXHJcbiAgICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZ2V0T3ZlcmFsbENoYXJ0RGF0YSA9IHRoaXMuZ2V0T3ZlcmFsbENoYXJ0RGF0YT8uc3RvcmVEYXRhPy5tYXAoXHJcbiAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgIGZ1bGxTdG9yZU5hbWU6IGl0ZW0uc3RvcmVOYW1lLCAvLyBGdWxsIHN0b3JlIG5hbWVcclxuICAgIHN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUubGVuZ3RoID4gMTAgPyBpdGVtLnN0b3JlTmFtZS5zbGljZSgwLCAxMCkgKyAnLi4uJyA6IGl0ZW0uc3RvcmVOYW1lLCAvLyBTaG9ydGVuZWQgZm9yIHhBeGlzXHJcbiAgICB2YWx1ZTogTnVtYmVyKGl0ZW0uY291bnQpLFxyXG4gICAgc3RvcmVJZDogaXRlbS5zdG9yZUlkXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICB0aGlzLnNlcmllcyA9IHRoaXMuY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgIG5hbWU6IFwiU2VyaWVzIDFcIixcclxuICAgICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJzdG9yZU5hbWVcIixcclxuICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbGFiZWxUZXh0OiBgJHt0aGlzLmNhcGl0YWxpemVUaXRsZSh0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUpfSwge2Z1bGxTdG9yZU5hbWV9OiB7dmFsdWVZfWAsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcbiAgICAgIHRoaXMuc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuZXZlbnRzLm9uKFwiY2xpY2tcIiwgKGV2OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBkYXRhSXRlbSA9IGV2LnRhcmdldC5kYXRhSXRlbS5kYXRhQ29udGV4dDtcclxuICAgICAgICB0aGlzLmhhbmRsZUJhckNsaWNrKGRhdGFJdGVtKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcblxyXG4gICAgICB4QXhpcy5kYXRhLnNldEFsbCh0aGlzLmdldE92ZXJhbGxDaGFydERhdGEpO1xyXG4gICAgICB0aGlzLnNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmdldE92ZXJhbGxDaGFydERhdGEpO1xyXG4gIC8vIFNldCB3aWR0aCBmb3IgY2hhcnQgY29udGFpbmVyIHRvIGVuYWJsZSBzY3JvbGxpbmdcclxuICAvLyBjb25zdCB0b3RhbENvdW50ID0gdGhpcy50b3RhbENvdW50O1xyXG4gIC8vIGNvbnN0IGl0ZW1XaWR0aCA9IDUwOyAvLyBXaWR0aCBvZiBlYWNoIGl0ZW0sIGFkanVzdCBhcyBuZWVkZWRcclxuICAvLyBjb25zdCBtaW5XaWR0aCA9IHRvdGFsQ291bnQgKiBpdGVtV2lkdGg7IC8vIENhbGN1bGF0ZSB0b3RhbCB3aWR0aFxyXG4gIC8vIGNoYXJ0RGl2LnN0eWxlLndpZHRoID0gYCR7TWF0aC5tYXgobWluV2lkdGgsIDEwMjQpfXB4YDsgLy8gTWluaW11bSB3aWR0aCBvZiA4MDBweFxyXG4gICAgICAvLyBNYWtlIHN0dWZmIGFuaW1hdGUgb24gbG9hZFxyXG4gICAgICB0aGlzLnNlcmllcy5hcHBlYXIoMTAwMCk7XHJcbiAgICAgIHRoaXMuY2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIGNhcGl0YWxpemVUaXRsZSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRleHRcclxuICAgICAgLnRvTG93ZXJDYXNlKCkgLy8gRW5zdXJlIHRoZSBzdHJpbmcgaXMgaW4gbG93ZXJjYXNlIGZpcnN0XHJcbiAgICAgIC5zcGxpdCgnICcpICAgIC8vIFNwbGl0IHRoZSBzdHJpbmcgaW50byB3b3Jkc1xyXG4gICAgICAubWFwKHdvcmQgPT4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkpIC8vIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiBlYWNoIHdvcmRcclxuICAgICAgLmpvaW4oJyAnKTsgICAgLy8gSm9pbiB0aGUgd29yZHMgYmFjayB0b2dldGhlclxyXG4gIH1cclxuICBnZXRSYW5nZUNvbG9yKHJhdGU6IG51bWJlcik6IGFtNS5Db2xvciB7XHJcbiAgICBsZXQgY29sb3I6IGFtNS5Db2xvcjtcclxuICAgIGlmIChyYXRlID49IDAgJiYgcmF0ZSA8PSAxMCkge1xyXG4gICAgICBjb2xvciA9IGFtNS5jb2xvcigweEVBRjhGRik7XHJcbiAgICB9IGVsc2UgaWYgKHJhdGUgPiAxMCAmJiByYXRlIDw9IDIwKSB7XHJcbiAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4Q0NFOUZFKTtcclxuICAgIH0gZWxzZSBpZiAocmF0ZSA+IDIwICYmIHJhdGUgPD0gMzApIHtcclxuICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhCMEQ2RkMpO1xyXG4gICAgfSBlbHNlIGlmIChyYXRlID4gMzAgJiYgcmF0ZSA8PSA0MCkge1xyXG4gICAgICBjb2xvciA9IGFtNS5jb2xvcigweDk0QzJGQSk7XHJcbiAgICB9IGVsc2UgaWYgKHJhdGUgPiA0MCAmJiByYXRlIDw9IDU1KSB7XHJcbiAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4NzhBOUY4KTtcclxuICAgIH0gZWxzZSBpZiAocmF0ZSA+IDU1ICYmIHJhdGUgPD0gNzUpIHtcclxuICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg5OUQyRkQpOyAgXHJcbiAgICB9IGVsc2UgaWYgKHJhdGUgPiA3NSAmJiByYXRlIDw9IDkwKSB7XHJcbiAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4NjZCQ0ZEKTsgICAgXHJcbiAgICB9ICBlbHNlIGlmIChyYXRlID4gOTAgJiYgcmF0ZSA8PSAxMDApIHtcclxuICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHgzNDYwRjMpOyAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb2xvciA9IGFtNS5jb2xvcigweEZGRik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG4gIGluaXRIZWF0Q2hhcnQoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJoZWF0bWFwY2hhcnRcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucm9vdDIpIHtcclxuICAgICAgICB0aGlzLnJvb3QyLmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBDcmVhdGUgcm9vdCBlbGVtZW50XHJcbiAgICAgIHRoaXMucm9vdDIgPSBhbTUuUm9vdC5uZXcoXCJoZWF0bWFwY2hhcnRcIik7XHJcblxyXG4gICAgICB0aGlzLnJvb3QyLmNvbnRhaW5lci5zZXRBbGwoe1xyXG4gICAgICAgIHdpZHRoOiBhbTUucGVyY2VudCgxMDApLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC8vIFNldCB0aGVtZXNcclxuICAgICAgdGhpcy5yb290Mi5zZXRUaGVtZXMoW1xyXG4gICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5yb290MiksXHJcbiAgICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHRoaXMucm9vdDIpLFxyXG4gICAgICBdKTtcclxuXHJcbiAgICAgIC8vIENyZWF0ZSBjaGFydFxyXG4gICAgICB0aGlzLmNoYXJ0MiA9IHRoaXMucm9vdDIuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgIHdoZWVsWDogXCJub25lXCIsXHJcbiAgICAgICAgICB3aGVlbFk6IFwibm9uZVwiLFxyXG4gICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICBsYXlvdXQ6IHRoaXMucm9vdDIudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIC8vIENyZWF0ZSBheGVzIGFuZCB0aGVpciByZW5kZXJlcnNcclxuICAgICAgY29uc3QgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgIG1pbkdyaWREaXN0YW5jZTogMjAsXHJcbiAgICAgICAgaW52ZXJzZWQ6IHRydWUsXHJcbiAgICAgICAgb3Bwb3NpdGU6IHRydWUsXHJcbiAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB5UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgIGNvbnN0IHlBeGlzID0gdGhpcy5jaGFydDIueUF4ZXMucHVzaChcclxuICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIHJlbmRlcmVyOiB5UmVuZGVyZXIsXHJcbiAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcInRpbWVcIixcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgICAgY29uc3QgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgICAgb3Bwb3NpdGU6IHRydWUsXHJcbiAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgIGNvbnN0IHhBeGlzID0gdGhpcy5jaGFydDIueEF4ZXMucHVzaChcclxuICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICB0aGlzLnNlcmllczIgPSB0aGlzLmNoYXJ0Mi5zZXJpZXMucHVzaChcclxuICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIGNhbGN1bGF0ZUFnZ3JlZ2F0ZXM6IHRydWUsXHJcbiAgICAgICAgICBzdHJva2U6IGFtNS5jb2xvcigweGZmZmZmZiksXHJcbiAgICAgICAgICBjbHVzdGVyZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwid2Vla2RheVwiLFxyXG4gICAgICAgICAgY2F0ZWdvcnlZRmllbGQ6IFwidGltZVwiLFxyXG4gICAgICAgICAgdmFsdWVGaWVsZDogXCJyYXRlXCIsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5zZXJpZXMyLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICB0b29sdGlwVGV4dDogXCJ7cmF0ZX1cIixcclxuICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxyXG4gICAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICAgIHdpZHRoOiBhbTUucGVyY2VudCgxMDApLFxyXG4gICAgICAgIGhlaWdodDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhmZmZmZmYpLCAvLyBEZWZhdWx0IGNvbG9yIGZvciBjb2x1bW5zXHJcbiAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgLy8gQXBwbHkgcmFuZ2UtYmFzZWQgY29sb3IgcnVsZXMgZm9yIGVhY2ggZGF0YSBpdGVtXHJcbiAgICAgIHRoaXMuc2VyaWVzMi5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcImZpbGxcIiwgKGZpbGwsIHRhcmdldCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBDaGFydERhdGFJdGVtOyAvLyBDYXN0IGRhdGFDb250ZXh0IHRvIENoYXJ0RGF0YUl0ZW1cclxuICAgICAgICBpZiAoZGF0YUl0ZW0gJiYgZGF0YUl0ZW0ucmF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRSYW5nZUNvbG9yKGRhdGFJdGVtLnJhdGUpOyAvLyBHZXQgY29sb3IgYmFzZWQgb24gcmF0ZVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmlsbDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnNlcmllczIuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgc3ByaXRlOiBhbTUuTGFiZWwubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgdGV4dDogXCJ7cmF0ZS5mb3JtYXROdW1iZXIoJyMuIycpfSVcIixcclxuICAgICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDAwMDAwKSxcclxuICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgICBmb250U2l6ZTogMTIsIC8vIFJlZHVjZSBmb250IHNpemVcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC8vIFNldCBkYXRhXHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldE92ZXJhbGxIb3VybHlEYXRhPy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIHdlZWtkYXk6IFwiSG91cmx5IERhdGFcIixcclxuICAgICAgfSkpO1xyXG4gICAgICB0aGlzLnNlcmllczIuZGF0YS5zZXRBbGwoZGF0YSk7XHJcblxyXG4gICAgICAvLyBBdXRvLXBvcHVsYXRlIFggYW5kIFkgYXhpcyBjYXRlZ29yeSBkYXRhXHJcbiAgICAgIGNvbnN0IHRpbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBhbTUuYXJyYXkuZWFjaChkYXRhLCBmdW5jdGlvbiAocm93OiBhbnkpIHtcclxuICAgICAgICBpZiAodGltZXMuaW5kZXhPZihyb3cudGltZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICB0aW1lcy5wdXNoKHJvdy50aW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgeEF4aXMuZGF0YS5zZXRBbGwoW3sgd2Vla2RheTogXCJIb3VybHkgRGF0YVwiIH1dKTsgLy8gU2V0IHNpbmdsZSBjYXRlZ29yeSBmb3IgeC1heGlzXHJcbiAgICAgIHlBeGlzLmRhdGEuc2V0QWxsKFxyXG4gICAgICAgIHRpbWVzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgdGltZTogaXRlbSB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmNoYXJ0Mi5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgb25EYXRhc2V0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50O1xyXG4gICAgdGhpcy5mb290ZmFsbFZhbHVlID0gdGFyZ2V0LnZhbHVlO1xyXG4gICAgaWYgKHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJmb290ZmFsbFwiIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiY29udmVyc2lvblwiXHJcbiAgICAgIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiZW5nYWdlclwiIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiYm91bmNlZFwiXHJcbiAgICAgIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwicG90ZW50aWFsQnV5ZXJcIiB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcIm1pc3NlZE9wcG9ydHVuaXR5XCIpIHtcclxuICAgICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICAgIHRoaXMucm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vdmVyYWxsSG91cmx5Q2hhcnQoKTtcclxuICAgICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5mb290ZmFsbFZhbHVlID09PSBcImRlbW9ncmFwaGljXCIpIHtcclxuICAgICAgLy8gRGlzcG9zZSBvZiBhbnkgcHJldmlvdXMgY2hhcnRzIHRvIGF2b2lkIGR1cGxpY2F0ZXNcclxuICAgICAgaWYgKHRoaXMuZGVtb0dyYXBoaWNzcm9vdCkge1xyXG4gICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5nZXREZW1vR3JhcGhpY3MoKTtcclxuICAgIH0gXHJcbiAgICBlbHNlIGlmICh0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiYnV5ZXJcIikge1xyXG4gICAgICAvLyBEaXNwb3NlIG9mIGFueSBwcmV2aW91cyBjaGFydHMgdG8gYXZvaWQgZHVwbGljYXRlc1xyXG4gICAgICBpZiAodGhpcy5idXllcnNyb290KSB7XHJcbiAgICAgICAgdGhpcy5idXllcnNyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldEJ1eWVycygpO1xyXG4gICAgfSBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgYmFja1RvRm9vdGZhbGwoKSB7XHJcbiAgICB0aGlzLm9iakRhdGEuc3RvcmVJZCA9IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSBmYWxzZTtcclxuICAgIHRoaXMub3ZlcmFsbEhvdXJseUNoYXJ0KCk7XHJcbiAgICB0aGlzLm92ZXJhbGxDaGFydCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVtb0dyYXBoaWNzKCl7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5vZmZzZXQ7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID1mYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgLmdldERlbW9HcmFwaGljc0NoYXJ0KHRoaXMub2JqRGF0YSlcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmRlbW9HcmFwaGljc0RhdGEgPSByZXM/LmRhdGEuZGVtb2dyYXBoaWNEYXRhO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0KCk7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTsgXHJcbiAgICAgICAgICAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgLy8gIHRoaXMuY2hhcnROb0RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgLy8gIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPXRydWU7XHJcbiAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICB9KTtcclxuICAgIFxyXG4gIH1cclxuICBkZW1vR3JhcGhpY3NDaGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgZGVtb0dyYXBoaWNzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZW1vR3JhcGhpY3NcIik7XHJcbiAgICAgIGlmICghZGVtb0dyYXBoaWNzRGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIERpc3Bvc2Ugb2YgcHJldmlvdXMgY2hhcnQgaWYgaXQgZXhpc3RzXHJcbiAgICAgIGlmICh0aGlzLmRlbW9HcmFwaGljc3Jvb3QpIHtcclxuICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBDcmVhdGUgYSBuZXcgY2hhcnRcclxuICAgICAgdGhpcy5kZW1vR3JhcGhpY3Nyb290ID0gYW01LlJvb3QubmV3KGRlbW9HcmFwaGljc0Rpdik7XHJcbiAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290KSxcclxuICAgICAgXSk7XHJcblxyXG4gICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgbGF5b3V0OiB0aGlzLmRlbW9HcmFwaGljc3Jvb3QudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgY2VsbFN0YXJ0TG9jYXRpb246IDAuMSxcclxuICAgICAgICBjZWxsRW5kTG9jYXRpb246IDAuOSxcclxuICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGxldCB4QXhpcyA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS54QXhlcy5wdXNoKFxyXG4gICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImFnZVwiLFxyXG4gICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHt9KSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmRlbW9HcmFwaGljc0RhdGEgPSB0aGlzLmRlbW9HcmFwaGljc0RhdGE/Lm1hcChcclxuICAgICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgYWdlOiBpdGVtLmFnZSxcclxuICAgICAgICAgIGNvdW50OiBOdW1iZXIoaXRlbS5jb3VudCksXHJcbiAgICAgICAgICBtYWxlQ291bnQ6IE51bWJlcihpdGVtLm1hbGVDb3VudCksXHJcbiAgICAgICAgICBmZW1hbGVDb3VudDogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnQpLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7IGxvY2F0aW9uOiAxIH0pO1xyXG4gICAgICB4QXhpcy5kYXRhLnNldEFsbCh0aGlzLmRlbW9HcmFwaGljc0RhdGEpO1xyXG5cclxuICAgICAgbGV0IHlBeGlzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnlBeGVzLnB1c2goXHJcbiAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHtcclxuICAgICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHtcclxuICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAvLyBBZGQgbGVnZW5kXHJcbiAgICBsZXQgbGVnZW5kID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgIHg6IGFtNS5wMTAwLCAgICAvLyBBbGlnbiB0byAxMDAlIHdpZHRoIChyaWdodCBzaWRlKVxyXG4gICAgICAgIHk6IGFtNS5wMCwgICAgICAvLyBBbGlnbiB0byB0aGUgdG9wXHJcbiAgICAgICAgY2VudGVyWDogYW01LnAxMDAsICAvLyBBbGlnbiB0aGUgY2VudGVyIG9mIHRoZSBsZWdlbmQgdG8gaXRzIHJpZ2h0XHJcbiAgICAgICAgY2VudGVyWTogYW01LnAwLCAgICAvLyBBbGlnbiB0aGUgdG9wIG9mIHRoZSBsZWdlbmQgdG8gdGhlIHRvcCBvZiB0aGUgY2hhcnRcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHRoZSBzZXJpZXMgYW5kIGFkZCBlYWNoIHRvIHRoZSBsZWdlbmRcclxuICAgIGNvbnN0IG1hbGVTZXJpZXMgPSB0aGlzLm1ha2VTZXJpZXMoXCJNYWxlXCIsIFwibWFsZUNvdW50XCIsIHhBeGlzLCB5QXhpcyk7XHJcbiAgICBjb25zdCBmZW1hbGVTZXJpZXMgPSB0aGlzLm1ha2VTZXJpZXMoXCJGZW1hbGVcIiwgXCJmZW1hbGVDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG5cclxuICAgIGxlZ2VuZC5kYXRhLnNldEFsbChbbWFsZVNlcmllcywgZmVtYWxlU2VyaWVzXSk7XHJcbiAgICAgIHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS5hcHBlYXIoMTAwMCwgMTAwKTtcclxuXHJcbiAgICB9LFxyXG4gICAgICAgICAgIDApO1xyXG5cclxuICB9XHJcbiAgbWFrZVNlcmllcyhcclxuICAgIG5hbWU6IGFueSxcclxuICAgIGZpZWxkTmFtZTogYW55LFxyXG4gICAgeEF4aXM6IGFtNXh5LkNhdGVnb3J5QXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgeUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+XHJcbiAgKSB7XHJcbiAgICBsZXQgc2VyaWVzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcImFnZVwiLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICBcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIHRvb2x0aXBUZXh0OiBcIntuYW1lfSwge2NhdGVnb3J5WH06IHt2YWx1ZVl9XCIsXHJcbiAgICAgIHdpZHRoOiBhbTUucGVyY2VudCg5MCksXHJcbiAgICAgIHRvb2x0aXBZOiAwLFxyXG4gICAgICBzdHJva2VPcGFjaXR5OiAwLFxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5kZW1vR3JhcGhpY3NEYXRhKTtcclxuICAgIHNlcmllcy5hcHBlYXIoKTtcclxuICBcclxuICAgIHJldHVybiBzZXJpZXM7ICAvLyBSZXR1cm4gdGhlIHNlcmllcyB0byBhZGQgaXQgdG8gdGhlIGxlZ2VuZFxyXG4gIH1cclxuICBnZXRCdXllcnMoKXtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEubGltaXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLm9mZnNldDtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPWZhbHNlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0QnV5ZXJzQ2hhcnQodGhpcy5vYmpEYXRhKVxyXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuYnV5ZXJzRGF0YSA9IHJlcz8uZGF0YS5idXllckRhdGE7XHJcbiAgICAgICAgIFxyXG4gICAgICAgICB0aGlzLmdldEJ1eWVyc0NoYXJ0KCk7IC8vIENhbGwgd2l0aCBhIGRlbGF5IHRvIGVuc3VyZSB0aGUgZWxlbWVudCBpcyBpbiB0aGUgRE9NXHJcbiAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgXHJcbiAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRCdXllcnNDaGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIGNvbnN0IGJ1eWVyc0RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYnV5ZXJzQ2hhcnRzXCIpO1xyXG4gICAgaWYgKCFidXllcnNEaXYpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIERpc3Bvc2Ugb2YgcHJldmlvdXMgY2hhcnQgaWYgaXQgZXhpc3RzXHJcbiAgICBpZiAodGhpcy5idXllcnNyb290KSB7XHJcbiAgICAgIHRoaXMuYnV5ZXJzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGEgbmV3IGNoYXJ0XHJcbiAgICB0aGlzLmJ1eWVyc3Jvb3QgPSBhbTUuUm9vdC5uZXcoYnV5ZXJzRGl2KTtcclxuICAgIHRoaXMuYnV5ZXJzcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuYnV5ZXJzcm9vdCksXHJcbiAgICBdKTtcclxuXHJcbiAgICB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICB0aGlzLmJ1eWVyc3Jvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICBsYXlvdXQ6IHRoaXMuYnV5ZXJzcm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgY2VsbFN0YXJ0TG9jYXRpb246IDAuMSxcclxuICAgICAgY2VsbEVuZExvY2F0aW9uOiAwLjksXHJcbiAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgeEF4aXMgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImFnZVwiLFxyXG4gICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuYnV5ZXJzcm9vdCwge30pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuYnV5ZXJzRGF0YSA9IHRoaXMuYnV5ZXJzRGF0YT8ubWFwKFxyXG4gICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgIGFnZTogaXRlbS5hZ2UsXHJcbiAgICAgICAgc2luZ2xlQ291bnQ6IE51bWJlcihpdGVtLnNpbmdsZUNvdW50KSxcclxuICAgICAgICBncm91cENvdW50OiBOdW1iZXIoaXRlbS5ncm91cENvdW50KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoeyBsb2NhdGlvbjogMSB9KTtcclxuICAgIHhBeGlzLmRhdGEuc2V0QWxsKHRoaXMuYnV5ZXJzRGF0YSk7XHJcblxyXG4gICAgbGV0IHlBeGlzID0gdGhpcy5idXllcnNDaGFydEluc3RhbmNlLnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIGxldCBsZWdlbmQgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01LkxlZ2VuZC5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgeDogYW01LnAxMDAsICAgIC8vIEFsaWduIHRvIDEwMCUgd2lkdGggKHJpZ2h0IHNpZGUpXHJcbiAgICB5OiBhbTUucDAsICAgICAgLy8gQWxpZ24gdG8gdGhlIHRvcFxyXG4gICAgY2VudGVyWDogYW01LnAxMDAsICAvLyBBbGlnbiB0aGUgY2VudGVyIG9mIHRoZSBsZWdlbmQgdG8gaXRzIHJpZ2h0XHJcbiAgICBjZW50ZXJZOiBhbTUucDAsICAgIC8vIEFsaWduIHRoZSB0b3Agb2YgdGhlIGxlZ2VuZCB0byB0aGUgdG9wIG9mIHRoZSBjaGFydFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIFxyXG4gIGNvbnN0IHNpbmdsZUNvdW50ID0gIHRoaXMuZ2V0QnV5ZXJTZXJpZXMoXCJTaW5nbGVcIiwgXCJzaW5nbGVDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gIGNvbnN0IGdyb3VwQ291bnQgPSAgdGhpcy5nZXRCdXllclNlcmllcyhcIkdyb3VwXCIsIFwiZ3JvdXBDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gICAgbGVnZW5kLmRhdGEuc2V0QWxsKFtzaW5nbGVDb3VudCwgZ3JvdXBDb3VudF0pO1xyXG4gICAgdGhpcy5idXllcnNDaGFydEluc3RhbmNlLmFwcGVhcigxMDAwLCAxMDApO1xyXG4gIH0sMCk7XHJcbn1cclxuZ2V0QnV5ZXJTZXJpZXMoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj5cclxuKSB7XHJcbiAgbGV0IHNlcmllcyA9IHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZS5zZXJpZXMucHVzaChcclxuICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICBjYXRlZ29yeVhGaWVsZDogXCJhZ2VcIiwgIC8vIEFzc3VtaW5nIFwiYWdlXCIgaXMgdGhlIGNhdGVnb3J5IGZpZWxkXHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICB0b29sdGlwVGV4dDogXCJ7bmFtZX06IHt2YWx1ZVl9XCIsXHJcbiAgICB3aWR0aDogYW01LnBlcmNlbnQoOTApLFxyXG4gICAgdG9vbHRpcFk6IDAsXHJcbiAgICBzdHJva2VPcGFjaXR5OiAwLFxyXG4gIH0pO1xyXG5cclxuICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5idXllcnNEYXRhKTsgIC8vIEFzc3VtaW5nIHlvdSBoYXZlIGJ1eWVyc0RhdGFcclxuXHJcbiAgcmV0dXJuIHNlcmllczsgIC8vIFJldHVybiB0aGUgc2VyaWVzIGZvciBsZWdlbmRcclxuXHJcbn1cclxuc3RvcmVOYW1lOmFueTtcclxuc3RvcmVJZDphbnk7XHJcbiAgaGFuZGxlQmFyQ2xpY2soZGF0YUl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZU5hbWUgPSBkYXRhSXRlbS5mdWxsU3RvcmVOYW1lO1xyXG4gICAgdGhpcy5zdG9yZUlkID0gZGF0YUl0ZW0uc3RvcmVJZFxyXG4gICAgdGhpcy5vYmpEYXRhLnN0b3JlSWQgPVtkYXRhSXRlbS5zdG9yZUlkXSxcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0U2luZ2xlU3RvcmVDaGFydCh0aGlzLm9iakRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U2luZ2xlQ2hhcnREYXRhID0gcmVzPy5kYXRhLnN0b3JlRGF0YTtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmdldFNpbmdsZVN0b3JlKCksIDApOyAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gICAgICBcclxuICB9XHJcblxyXG5nZXRTaW5nbGVTdG9yZSgpe1xyXG4gICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImRldGFpbGVkQ2hhcnREaXZcIik7XHJcbiAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kZXRhaWxlZFJvb3QpIHtcclxuICAgICAgdGhpcy5kZXRhaWxlZFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgdGhpcy5kZXRhaWxlZFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJkZXRhaWxlZENoYXJ0RGl2XCIpO1xyXG4gICAgdGhpcy5kZXRhaWxlZFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLmRldGFpbGVkUm9vdCksXHJcbiAgICBdKTtcclxuXHJcbiAgICB0aGlzLmRldGFpbGVkQ2hhcnQgPSB0aGlzLmRldGFpbGVkUm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBZGQgY3Vyc29yXHJcbiAgICBsZXQgY3Vyc29yID0gdGhpcy5kZXRhaWxlZENoYXJ0LnNldChcclxuICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgYW01eHkuWFlDdXJzb3IubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7fSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgfSk7XHJcblxyXG4gICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICByb3RhdGlvbjogLTkwLFxyXG4gICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgcGFkZGluZ1JpZ2h0OiAxNSxcclxuICAgIH0pO1xyXG5cclxuICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIGxvY2F0aW9uOiAxLFxyXG4gICAgfSk7XHJcbiAgICAvLyBBZGQgc2Nyb2xsYmFyXHJcbiAgICB0aGlzLmRldGFpbGVkQ2hhcnQuc2V0KFxyXG4gICAgICBcInNjcm9sbGJhclhcIixcclxuICAgICAgYW01LlNjcm9sbGJhci5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgbGV0IHhBeGlzID0gdGhpcy5kZXRhaWxlZENoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImRhdGVcIixcclxuICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge30pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICBsZXQgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IHlBeGlzID0gdGhpcy5kZXRhaWxlZENoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIFxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmdldFNpbmdsZUNoYXJ0RGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogaXRlbS5kYXRlLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0uY291bnQpLCAvLyBVc2UgYGNvdW50YCBhcyBgdmFsdWVgXHJcbiAgICB9KSk7XHJcbiAgICBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgIC8vIFBhcnNlIHN0b3JlTmFtZSBhcyBhIERhdGUgYW5kIGNvbXBhcmVcclxuICAgICAgY29uc3QgZGF0ZUEgPSBuZXcgRGF0ZShhLmRhdGUpO1xyXG4gICAgICBjb25zdCBkYXRlQiA9IG5ldyBEYXRlKGIuZGF0ZSk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBTb3J0IGluIGFzY2VuZGluZyBvcmRlciAob2xkZXN0IHRvIG5ld2VzdClcclxuICAgICAgcmV0dXJuIGRhdGVBLmdldFRpbWUoKSAtIGRhdGVCLmdldFRpbWUoKTtcclxuICAgIH0pO1xyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgdGhpcy5kZXRhaWxlZFNlcmllcyA9IHRoaXMuZGV0YWlsZWRDaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgIG5hbWU6IFwiU2VyaWVzIDJcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgc2VxdWVuY2VkSW50ZXJwb2xhdGlvbjogdHJ1ZSxcclxuICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmRldGFpbGVkU2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHsgc3Ryb2tlT3BhY2l0eTogMCB9KTtcclxuICAgIHhBeGlzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgdGhpcy5kZXRhaWxlZFNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMuYXBwZWFyKDEwMDApO1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG59XHJcbnRyYWZmaWNIZWF0Q2hhcnQoKSB7XHJcbiAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRyYWZmaWNIZWF0bWFwQ2hhcnRcIik7XHJcbiAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEaXNwb3NlIG9mIHRoZSBwcmV2aW91cyBjaGFydCBpbnN0YW5jZSBpZiBpdCBleGlzdHNcclxuICAgIGlmICh0aGlzLmhlYXRNYXBSb290KSB7XHJcbiAgICAgIHRoaXMuaGVhdE1hcFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEluaXRpYWxpemUgdGhlIGNoYXJ0IHJvb3RcclxuICAgIHRoaXMuaGVhdE1hcFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJ0cmFmZmljSGVhdG1hcENoYXJ0XCIpO1xyXG4gICAgdGhpcy5oZWF0TWFwUm9vdC5jb250YWluZXIuc2V0QWxsKHtcclxuICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBcHBseSB0aGVtZXNcclxuICAgIHRoaXMuaGVhdE1hcFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLmhlYXRNYXBSb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHRoaXMuaGVhdE1hcFJvb3QpLFxyXG4gICAgXSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHRoZSBjaGFydFxyXG4gICAgdGhpcy5oZWF0TWFwQ2hhcnQgPSB0aGlzLmhlYXRNYXBSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgd2hlZWxYOiBcIm5vbmVcIixcclxuICAgICAgICB3aGVlbFk6IFwibm9uZVwiLFxyXG4gICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgIGxheW91dDogdGhpcy5oZWF0TWFwUm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIFktYXhpc1xyXG4gICAgY29uc3QgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgaW52ZXJzZWQ6IHRydWUsXHJcbiAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIHlSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IHlBeGlzID0gdGhpcy5oZWF0TWFwQ2hhcnQueUF4ZXMucHVzaChcclxuICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgbWF4RGV2aWF0aW9uOiAwLFxyXG4gICAgICAgIHJlbmRlcmVyOiB5UmVuZGVyZXIsXHJcbiAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJob3VyXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIC8vIENyZWF0ZSBYLWF4aXNcclxuICAgIGNvbnN0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IHhBeGlzID0gdGhpcy5oZWF0TWFwQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIFktYXhpcyBsYWJlbFxyXG4gICAgeUF4aXMuY2hpbGRyZW4udW5zaGlmdChcclxuICAgICAgYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgcm90YXRpb246IC05MCxcclxuICAgICAgICB0ZXh0OiBcIkhvdXJzXCIsXHJcbiAgICAgICAgeTogYW01LnA1MCxcclxuICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxcIixcclxuICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXHJcbiAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDAwMDAwKSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgdGhpcy5oZWF0TWFwU2VyaWVzID0gdGhpcy5oZWF0TWFwQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgIGNhbGN1bGF0ZUFnZ3JlZ2F0ZXM6IHRydWUsXHJcbiAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHhmZmZmZmYpLFxyXG4gICAgICAgIGNsdXN0ZXJlZDogZmFsc2UsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJ3ZWVrZGF5XCIsXHJcbiAgICAgICAgY2F0ZWdvcnlZRmllbGQ6IFwiaG91clwiLFxyXG4gICAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ29uZmlndXJlIGNvbHVtbiBhcHBlYXJhbmNlXHJcbiAgICB0aGlzLmhlYXRNYXBTZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICB0b29sdGlwVGV4dDogXCJ7dmFsdWV9XCIsXHJcbiAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXHJcbiAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgaGVpZ2h0OiBhbTUucGVyY2VudCgxMDApLFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gU2V0IGNvbHVtbiBjb2xvciBiYXNlZCBvbiB2YWx1ZVxyXG4gICAgdGhpcy5oZWF0TWFwU2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwiZmlsbFwiLCAoZmlsbCwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyB7IHZhbHVlOiBudW1iZXIgfTtcclxuICAgICAgcmV0dXJuIGRhdGFJdGVtICYmIGRhdGFJdGVtLnZhbHVlICE9PSB1bmRlZmluZWQgPyB0aGlzLmdldFJhbmdlQ29sb3IxKGRhdGFJdGVtLnZhbHVlKSA6IGZpbGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBZGQgYnVsbGV0IGZvciB2YWx1ZSBsYWJlbHNcclxuICAgIHRoaXMuaGVhdE1hcFNlcmllcy5idWxsZXRzLnB1c2goKCkgPT4ge1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICB0ZXh0OiBcInt2YWx1ZX1cIixcclxuICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCksXHJcbiAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgIHBvcHVsYXRlVGV4dDogdHJ1ZSxcclxuICAgICAgICAgIGZvbnRTaXplOiAxMixcclxuICAgICAgICB9KSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBQcmVwYXJlIGFuZCBzb3J0IGRhdGEgZm9yIHRoZSBjaGFydFxyXG4gICAgY29uc3QgaGVhdE1hcERhdGE6IGFueVtdID0gW107XHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLmdldERlbnNpdHlEd2VsbERhdGEudHJhZmZpY0RlbmNpdHkpLmZvckVhY2goaG91ciA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YS50cmFmZmljRGVuY2l0eVtob3VyXS5mb3JFYWNoKChkYXlEYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBoZWF0TWFwRGF0YS5wdXNoKHtcclxuICAgICAgICAgIGhvdXI6IGRheURhdGEudGltZSxcclxuICAgICAgICAgIHdlZWtkYXk6IGRheURhdGEuZGF5LFxyXG4gICAgICAgICAgdmFsdWU6IHBhcnNlSW50KGRheURhdGEuZm9vdGZhbGxDb3VudCwgMTApLCAvLyBFbnN1cmUgaW50ZWdlciBwYXJzaW5nXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gU29ydCBkYXRhIGJ5IGhvdXIgYW5kIHRoZW4gYnkgd2Vla2RheVxyXG4gICAgaGVhdE1hcERhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBjb25zdCBob3VyQ29tcGFyaXNvbiA9IGEuaG91ci5sb2NhbGVDb21wYXJlKGIuaG91cik7XHJcbiAgICAgIGlmIChob3VyQ29tcGFyaXNvbiA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBhLndlZWtkYXkubG9jYWxlQ29tcGFyZShiLndlZWtkYXkpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBob3VyQ29tcGFyaXNvbjtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFNldCBkYXRhIHRvIHRoZSBzZXJpZXNcclxuICAgIHRoaXMuaGVhdE1hcFNlcmllcy5kYXRhLnNldEFsbChoZWF0TWFwRGF0YSk7XHJcblxyXG4gICAgLy8gRXh0cmFjdCB1bmlxdWUgd2Vla2RheXMgYW5kIGhvdXJzLCBzb3J0ZWRcclxuICAgIGNvbnN0IHdlZWtkYXlzOiBzdHJpbmdbXSA9IEFycmF5LmZyb20obmV3IFNldChoZWF0TWFwRGF0YS5tYXAocm93ID0+IHJvdy53ZWVrZGF5KSkpXHJcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpO1xyXG4gICAgY29uc3QgaG91cnM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbShuZXcgU2V0KGhlYXRNYXBEYXRhLm1hcChyb3cgPT4gcm93LmhvdXIpKSlcclxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSk7XHJcblxyXG4gICAgLy8gU2V0IGF4aXMgZGF0YVxyXG4gICAgeEF4aXMuZGF0YS5zZXRBbGwoXHJcbiAgICAgIHdlZWtkYXlzLm1hcChpdGVtID0+ICh7IHdlZWtkYXk6IGl0ZW0gfSkpXHJcbiAgICApO1xyXG5cclxuICAgIHlBeGlzLmRhdGEuc2V0QWxsKFxyXG4gICAgICBob3Vycy5tYXAoaXRlbSA9PiAoeyBob3VyOiBpdGVtIH0pKVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBGaW5hbGl6ZSBjaGFydCBhcHBlYXJhbmNlXHJcbiAgICB0aGlzLmhlYXRNYXBDaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuXHJcbiAgICAvLyBFbnN1cmUgdGhlIHJvb3QgaXMgYXNzaWduZWQgY29ycmVjdGx5XHJcbiAgICB0aGlzLmhlYXRNYXBSb290ID0gdGhpcy5oZWF0TWFwUm9vdDtcclxuXHJcbiAgfSwgMCk7XHJcbn1cclxuXHJcblxyXG5nZXRSYW5nZUNvbG9yMShmb290ZmFsbENvdW50OiBudW1iZXIpOiBhbTUuQ29sb3Ige1xyXG4gIGxldCBjb2xvcjogYW01LkNvbG9yO1xyXG4gIGlmIChmb290ZmFsbENvdW50ID49IDAgJiYgZm9vdGZhbGxDb3VudCA8PSAxNSkge1xyXG4gICAgY29sb3IgPSBhbTUuY29sb3IoMHhFNkY2RkYpO1xyXG4gIH0gZWxzZSBpZiAoZm9vdGZhbGxDb3VudCA+IDE1ICYmIGZvb3RmYWxsQ291bnQgPD0gMzApIHtcclxuICAgIGNvbG9yID0gYW01LmNvbG9yKDB4Q0NFREZGKTtcclxuICB9IGVsc2UgaWYgKGZvb3RmYWxsQ291bnQgPiAzMCAmJiBmb290ZmFsbENvdW50IDw9IDUwKSB7XHJcbiAgICBjb2xvciA9IGFtNS5jb2xvcigweEIzRTNGRik7XHJcbiAgfSBlbHNlIGlmIChmb290ZmFsbENvdW50ID4gNTAgJiYgZm9vdGZhbGxDb3VudCA8PSA3NSkge1xyXG4gICAgY29sb3IgPSBhbTUuY29sb3IoMHg4MEQxRkYpO1xyXG4gIH0gZWxzZSBpZiAoZm9vdGZhbGxDb3VudCA+IDc1ICYmIGZvb3RmYWxsQ291bnQgPD0gMTUwKSB7XHJcbiAgICBjb2xvciA9IGFtNS5jb2xvcigweDY2QzhGRik7XHJcbiAgfSBlbHNlIGlmIChmb290ZmFsbENvdW50ID4gMTUwICYmIGZvb3RmYWxsQ291bnQgPD0gNTAwKSB7XHJcbiAgICBjb2xvciA9IGFtNS5jb2xvcigweDREQkZGRik7ICBcclxuICB9IGVsc2UgaWYgKGZvb3RmYWxsQ291bnQgPiA1MDApIHtcclxuICAgIGNvbG9yID0gYW01LmNvbG9yKDB4MzNCNUZGKTtcclxuICB9IGVsc2Uge1xyXG4gICAgY29sb3IgPSBhbTUuY29sb3IoMHhGRkYpO1xyXG4gIH1cclxuICByZXR1cm4gY29sb3I7XHJcbn1cclxuXHJcbiAgZ2V0RHdlbGxDaGFydCgpIHtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImR3ZWxsQmFyQ2hhcnRcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZHdlbGxSb290KSB7XHJcbiAgICAgICAgdGhpcy5kd2VsbFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIENyZWF0ZSByb290IGVsZW1lbnRcclxuICAgICAgdGhpcy5kd2VsbFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJkd2VsbEJhckNoYXJ0XCIpO1xyXG5cclxuICAgICAgLy8gU2V0IHRoZW1lc1xyXG4gICAgICB0aGlzLmR3ZWxsUm9vdC5zZXRUaGVtZXMoW2FtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kd2VsbFJvb3QpXSk7XHJcblxyXG4gICAgICAvLyBDcmVhdGUgY2hhcnRcclxuICAgICAgdGhpcy5kd2VsbENoYXJ0ID0gdGhpcy5kd2VsbFJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgIHBhblg6IGZhbHNlLFxyXG4gICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgIGxheW91dDogdGhpcy5yb290LnZlcnRpY2FsTGF5b3V0LFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgIGxldCBkYXRhID0gdGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhLmR3ZWxsVGltZVNwbGl0Py5tYXAoXHJcbiAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgIHllYXI6IChpdGVtLmR3ZWxsX3RpbWUpICsgXCIgTWluc1wiLFxyXG4gICAgICAgICAgbWFsZUNvdW50OiBOdW1iZXIoaXRlbS5tYWxlQ291bnQpLFxyXG4gICAgICAgICAgZmVtYWxlQ291bnQ6IE51bWJlcihpdGVtLmZlbWFsZUNvdW50KSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICBcclxuICAgICAgLy8gW1xyXG4gICAgICAvLyAgIHtcclxuICAgICAgLy8gICAgIHllYXI6IFwiMjAyMVwiLFxyXG4gICAgICAvLyAgICAgZXVyb3BlOiAyLjUsXHJcbiAgICAgIC8vICAgICBuYW1lcmljYTogMi41LFxyXG4gICAgICAvLyAgIH0sXHJcbiAgICAgIC8vICAge1xyXG4gICAgICAvLyAgICAgeWVhcjogXCIyMDIyXCIsXHJcbiAgICAgIC8vICAgICBldXJvcGU6IDIuNixcclxuICAgICAgLy8gICAgIG5hbWVyaWNhOiAyLjcsXHJcbiAgICAgIC8vICAgfSxcclxuICAgICAgLy8gICB7XHJcbiAgICAgIC8vICAgICB5ZWFyOiBcIjIwMjNcIixcclxuICAgICAgLy8gICAgIGV1cm9wZTogMi44LFxyXG4gICAgICAvLyAgICAgbmFtZXJpY2E6IDIuOSxcclxuICAgICAgLy8gICB9LFxyXG4gICAgICAvLyBdO1xyXG5cclxuICAgICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgICAgbGV0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGxldCB4QXhpcyA9IHRoaXMuZHdlbGxDaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwieWVhclwiLFxyXG4gICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmR3ZWxsUm9vdCwge30pLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgIGxvY2F0aW9uOiAxLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHhBeGlzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG5cclxuICAgICAgbGV0IHlBeGlzID0gdGhpcy5kd2VsbENoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgbWluOiAwLFxyXG4gICAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAvLyBBZGQgbGVnZW5kXHJcbiAgICAgIGxldCBsZWdlbmQgPSB0aGlzLmR3ZWxsQ2hhcnQuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICBhbTUuTGVnZW5kLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgIHg6IGFtNS5wNTAsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIC8vIEFkZCBzZXJpZXNcclxuICAgICAgY29uc3QgbWFrZVNlcmllcyA9IChuYW1lOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kd2VsbFNlcmllcyA9IHRoaXMuZHdlbGxDaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcclxuICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcInllYXJcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5kd2VsbFNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICB0b29sdGlwVGV4dDogXCJ7bmFtZX0sIHtjYXRlZ29yeVh9OiB7dmFsdWVZfVwiLFxyXG4gICAgICAgICAgdG9vbHRpcFk6IGFtNS5wZXJjZW50KDEwKSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmR3ZWxsU2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG5cclxuICAgICAgICAvLyBNYWtlIHN0dWZmIGFuaW1hdGUgb24gbG9hZFxyXG4gICAgICAgIHRoaXMuZHdlbGxTZXJpZXMuYXBwZWFyKCk7XHJcblxyXG4gICAgICAgIHRoaXMuZHdlbGxTZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICBzcHJpdGU6IGFtNS5MYWJlbC5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgICB0ZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgICAgICAgZmlsbDogdGhpcy5kd2VsbFJvb3QuaW50ZXJmYWNlQ29sb3JzLmdldChcImFsdGVybmF0aXZlVGV4dFwiKSxcclxuICAgICAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBsZWdlbmQuZGF0YS5wdXNoKHRoaXMuZHdlbGxTZXJpZXMpO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgbWFrZVNlcmllcyhcIk1hbGVcIiwgXCJtYWxlQ291bnRcIik7XHJcbiAgICAgIG1ha2VTZXJpZXMoXCJGZW1hbGVcIiwgXCJmZW1hbGVDb3VudFwiKTtcclxuICAgICAgLy8gTWFrZSBzdHVmZiBhbmltYXRlIG9uIGxvYWRcclxuICAgICAgdGhpcy5kd2VsbENoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICB0aGlzLnJvb3QuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGV0YWlsZWRSb290KSB7XHJcbiAgICAgIHRoaXMuZGV0YWlsZWRSb290LmRpc3Bvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRGF0ZUNoYW5nZShldmVudDphbnkpe1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgdGhpcy5mb290ZmFsbERhdGUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLm9iakRhdGEuZGF0ZVJhbmdlID1OdW1iZXIodGhpcy5mb290ZmFsbERhdGUpO1xyXG4gdGhpcy5nZXREd2VsbCgpO1xyXG4gIH1cclxuXHJcbiAgc3RvcmVWaWV3KGRhdGE6YW55KXtcclxuICAgIGNvbnN0IGRhdGF2YWx1ZTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICk7XHJcbiAgICBjb25zdCBtYXRjaGVkU3RvcmVzID0gZGF0YXZhbHVlLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQgJiYgc3RvcmUuc3RvcmVJZCA9PT0gZGF0YSk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGJhbGFuY2Ugc3RvcmVzICh0aG9zZSBub3QgaW4gdGhlIG1hdGNoZWQgc3RvcmVzKSB0byBzZXQgdGhlaXIgY2hlY2tlZCBwcm9wZXJ0eSB0byBmYWxzZVxyXG4gICAgZGF0YXZhbHVlLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbWF0Y2hlZFN0b3Jlcy5zb21lKChtYXRjaGVkU3RvcmU6YW55KSA9PiBtYXRjaGVkU3RvcmUuc3RvcmVJZCA9PT0gc3RvcmUuc3RvcmVJZCkpIHtcclxuICAgICAgICBzdG9yZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pOyBcclxuICAgIGRhdGF2YWx1ZS5zdG9yZSA9IGRhdGE7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGF2YWx1ZSkpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dChkYXRhdmFsdWUpXHJcbiAgICB0aGlzLmdzLm1hbmFnZVJlZnJlc2hUcmlnZ2VyLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbmludGVyZmFjZSBDaGFydERhdGFJdGVtIHtcclxuICByYXRlOiBudW1iZXI7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIG10LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBteS0zIG14LTJcIj5cclxuICAgICAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09MVwiIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygndHJhZmZpYycpXCI+PGFcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0ndHJhZmZpYycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS02IFwiPlRyYWZmaWMgJiBEd2VsbDwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZm9vdGZhbGwnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPkZvb3RmYWxsPC9hPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdib3VuY2VkJylcIj48YVxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2JvdW5jZWQnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS02IFwiPkJvdW5jZWQgRm9vdGZhbGw8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdlbmdhZ2VycycpXCI+XHJcbiAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPkVuZ2FnZXJzPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIFxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdtaXNzZWRPcHBvcnR1bml0eScpXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+TWlzc2VkIE9wcG9ydHVuaXR5PC9hPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdwb3RlbnRpYWxCdXllcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG1lLTZcIj5Qb3RlbnRpYWwgQnV5ZXI8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIG5hdi1pdGVtMVwiIChjbGljayk9XCJzZWxlY3RlZFRhYnMoJ2NvbnZlcnNpb24nKVwiPjxhXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbicgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+Q29udmVyc2lvbjwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImNoYXJ0bG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImNoYXJ0Tm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHt7c2VsY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgaC0xMDBcIiAqbmdJZj1cIiFjaGFydGxvYWRpbmcgJiYgIWNoYXJ0Tm9EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J3RyYWZmaWMnXCIgY2xhc3M9XCJsZWZ0LWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0RGF5ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdERheSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5CdXNpZXN0IERheTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS0xMCBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDIuMTI1TDMgMTQuMTI1SDEyTDExIDIyLjEyNUwyMSAxMC4xMjVIMTJMMTMgMi4xMjVaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0VGltZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5CdXNpZXN0IFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI0IDI1XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmF2Z0R3ZWxsVGltZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmF2Z0R3ZWxsVGltZSA6Jy0tJ319IE1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBEd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/Lm1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5NYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmZlbWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdmb290ZmFsbCdcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZm9vdGZhbGxDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZm9vdGZhbGxDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkZvb3RmYWxsIENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3NFwiIGhlaWdodD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOTQgMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC40XCIgZD1cIk0xIDFMMTkzIDFcIiBzdHJva2U9XCIjOTlEQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjAgMjFWMTlDMjAgMTcuOTM5MSAxOS41Nzg2IDE2LjkyMTcgMTguODI4NCAxNi4xNzE2QzE4LjA3ODMgMTUuNDIxNCAxNy4wNjA5IDE1IDE2IDE1SDhDNi45MzkxMyAxNSA1LjkyMTcyIDE1LjQyMTQgNS4xNzE1NyAxNi4xNzE2QzQuNDIxNDMgMTYuOTIxNyA0IDE3LjkzOTEgNCAxOVYyMU0xNiA3QzE2IDkuMjA5MTQgMTQuMjA5MSAxMSAxMiAxMUM5Ljc5MDg2IDExIDggOS4yMDkxNCA4IDdDOCA0Ljc5MDg2IDkuNzkwODYgMyAxMiAzQzE0LjIwOTEgMyAxNiA0Ljc5MDg2IDE2IDdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5zaW5nbGVDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5zaW5nbGVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5TaW5nbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI2IDI0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRENEQ0RDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIi00NjAuNVwiIHk9XCItMzQwLjVcIiB3aWR0aD1cIjc4M1wiIGhlaWdodD1cIjE5NDdcIiByeD1cIjQuNVwiIHN0cm9rZT1cIiM5NzQ3RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xOTAgLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMkgyOTRDMzAxLjE4IC0xMDIgMzA3IC05Ni4xNzk3IDMwNyAtODlDMzA3IC05NS4wNzUxIDMwMS42MjcgLTEwMCAyOTUgLTEwMEgtMTc3Qy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OUgtMTkwWk0zMDcgODVDMzA3IDkyLjE3OTcgMzAxLjE4IDk4IDI5NCA5OEgtMTc3Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVILTE4OEMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NkgyOTVDMzAxLjYyNyA5NiAzMDcgOTEuMDc1MSAzMDcgODVaTS0xNzcgOThDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NVYtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAyVi0xMDBDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5Vjg1Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2Vjk4Wk0zMDcgLTEwMVY5N1YtMTAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIG1hc2s9XCJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIG1hc2s9XCJ1cmwoI3BhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lmdyb3VwQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZ3JvdXBDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Hcm91cCBGb290ZmFsbDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEQ0RDRENcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiLTQ2MC41XCIgeT1cIi0zNDAuNVwiIHdpZHRoPVwiNzgzXCIgaGVpZ2h0PVwiMTk0N1wiIHJ4PVwiNC41XCIgc3Ryb2tlPVwiIzk3NDdGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PVwiMTAgNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgbWFzaz1cInVybCgjcGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIzXCIgbWFzaz1cInVybCgjcGF0aC02LWluc2lkZS0yXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uYWdlR3JvdXAgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uYWdlR3JvdXAgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5tYWxlUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdjb252ZXJzaW9uJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIj57e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmNvbnZlcnNpb25Db3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGVcIj5Db252ZXJzaW9uIENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3NFwiIGhlaWdodD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOTQgMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC40XCIgZD1cIk0xIDFMMTkzIDFcIiBzdHJva2U9XCIjOTlEQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmNvbnZlcnNpb25SYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8uY29udmVyc2lvblJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkNvbnZlcnNpb24gUmF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1pblJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5taW5SYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj41IC0gMTUgTWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5tYXhSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj4xNSAtIDYwIE1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5hdmVyYWdlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmF2ZXJhZ2VSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj4xIEhyIG9yIG1vcmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uZW5nYWdlcnNDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uZW5nYWdlcnNDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkVuZ2FnZXJzIENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5lbmdhZ2Vyc1JhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkVuZ2FnZXJzIFJhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uYXZnRHdlbGxUaW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmF2Z0R3ZWxsVGltZSA6Jy0tJ319IE1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBkd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmhpZ2hFbmdhZ2VtZW50Wm9uZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+SGlnaCBFbmdhZ2VtZW50IFpvbmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8ubG93RW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8ubG93RW5nYWdlbWVudFpvbmUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TG93IEVuZ2FnZW1lbnQgWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdib3VuY2VkJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIj57e2dldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/LmJvdW5jZWRDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGVcIj5Cb3VuY2VkIENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uYm91bmNlZFJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+Qm91bmNlZCBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ucGVha0JvdW5jZWRIb3VyID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ucGVha0JvdW5jZWRIb3VyIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPlBlYWsgQm91bmNlZCBIb3VyPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5tYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIj57e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5wb3RlbnRpYWxCdXllcnNDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPlBvdGVudGlhbCBCdXllcnM8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc1JhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc1JhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkJ1eWVycyBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMCAyMVYxOUMyMCAxNy45MzkxIDE5LjU3ODYgMTYuOTIxNyAxOC44Mjg0IDE2LjE3MTZDMTguMDc4MyAxNS40MjE0IDE3LjA2MDkgMTUgMTYgMTVIOEM2LjkzOTEzIDE1IDUuOTIxNzIgMTUuNDIxNCA1LjE3MTU3IDE2LjE3MTZDNC40MjE0MyAxNi45MjE3IDQgMTcuOTM5MSA0IDE5VjIxTTE2IDdDMTYgOS4yMDkxNCAxNC4yMDkxIDExIDEyIDExQzkuNzkwODYgMTEgOCA5LjIwOTE0IDggN0M4IDQuNzkwODYgOS43OTA4NiAzIDEyIDNDMTQuMjA5MSAzIDE2IDQuNzkwODYgMTYgN1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5zaW5nbGVDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uc2luZ2xlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+U2luZ2xlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZ3JvdXBDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZ3JvdXBDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Hcm91cDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubW9zdENvbW1vbkFnZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0gJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+RmVtYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5J1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIj57e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eUNvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLXRpdGxlXCI+TWlzc2VkIG9wcG9ydHVuaXR5IENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1pc3NlZE9wcG9ydHVuaXR5UmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1pc3NlZCBvcHBvcnR1bml0eSBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+PHNwYW4gY2xhc3M9XCJtZS0xXCIgKm5nSWY9XCJnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8uY3VycmVuY3kgPT09J2lucidcIj7igrk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ICE9PSdpbnInXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ucG90ZW50aWFsUmV2ZW51ZUxvc3MgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ucG90ZW50aWFsUmV2ZW51ZUxvc3MudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+UG90ZW50aWFsIFJldmVudWUgTG9zczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5sb3dDb252ZXJzaW9uWm9uZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5sb3dDb252ZXJzaW9uWm9uZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Mb3cgQ29udmVyc2lvbiBab25lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1vc3RDb21tb25BZ2UgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubW9zdENvbW1vbkFnZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5NYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSd0cmFmZmljJyAmJiAhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YVwiIGNsYXNzPVwiY29sLW1kLTEwIGgtMTAwIFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTMgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPlRyYWZmaWMgRGVuc2l0eSA8c3ZnIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiVG90YWwgb3Bwb3J0dW5pdHkgb2Ygc2FsZXMgY29udmVyc2lvbiB2ZXJzdXMgdG90YWwgd2Fsa2luc1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMzNTJfNjg4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy45OTg3IDEwLjY2NjdWOC4wMDAwNE03Ljk5ODcgNS4zMzMzN0g4LjAwNTM2TTE0LjY2NTQgOC4wMDAwNEMxNC42NjU0IDExLjY4MTkgMTEuNjgwNiAxNC42NjY3IDcuOTk4NyAxNC42NjY3QzQuMzE2OCAxNC42NjY3IDEuMzMyMDMgMTEuNjgxOSAxLjMzMjAzIDguMDAwMDRDMS4zMzIwMyA0LjMxODE0IDQuMzE2OCAxLjMzMzM3IDcuOTk4NyAxLjMzMzM3QzExLjY4MDYgMS4zMzMzNyAxNC42NjU0IDQuMzE4MTQgMTQuNjY1NCA4LjAwMDA0WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMzUyXzY4OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5CYXNlZCBvbiB7e2hlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gdy1hdXRvIGRyb3BzZWxlY3RcIiBpZD1cImRhdGVTZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhc2V0IG9mIHRyYWZmaWNEYXRhXCIgW3ZhbHVlXT1cImRhdGFzZXQudmFsdWVcIj57eyBkYXRhc2V0LmxhYmVsIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRyYWZmaWNIZWF0bWFwQ2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtMyBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+RHdlbGwgVGltZSBTcGxpdCA8c3ZnIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIlRvdGFsIG9wcG9ydHVuaXR5IG9mIHNhbGVzIGNvbnZlcnNpb24gdmVyc3VzIHRvdGFsIHdhbGtpbnNcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy45OTg3IDEwLjY2NjdWOC4wMDAwNE03Ljk5ODcgNS4zMzMzN0g4LjAwNTM2TTE0LjY2NTQgOC4wMDAwNEMxNC42NjU0IDExLjY4MTkgMTEuNjgwNiAxNC42NjY3IDcuOTk4NyAxNC42NjY3QzQuMzE2OCAxNC42NjY3IDEuMzMyMDMgMTEuNjgxOSAxLjMzMjAzIDguMDAwMDRDMS4zMzIwMyA0LjMxODE0IDQuMzE2OCAxLjMzMzM3IDcuOTk4NyAxLjMzMzM3QzExLjY4MDYgMS4zMzMzNyAxNC42NjU0IDQuMzE4MTQgMTQuNjY1NCA4LjAwMDA0WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMzUyXzY4OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7aGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IOKAkyB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gPC9zcGFuPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJkd2VsbEJhckNoYXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YSAmJiAoc2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyB8fCBzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbicgfHwgc2VsZWN0ZWRUYWIgPT09J2VuZ2FnZXJzJyB8fCBzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCcgfHwgc2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgc2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5JylcIiBjbGFzcz1cImNvbC1tZC0xMCBoLTEwMCByaWdodC1iYXIgYm9yZGVyLTFcIj5cclxuICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknIHx8IGZvb3RmYWxsVmFsdWUgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYm91bmNlZCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZGVtb2dyYXBoaWMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2J1eWVyJykgJiYgIWRldGFpbGVkQ2hhcnRzXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiICE9PSdwb3RlbnRpYWxCdXllcnMnXCI+PHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtIHctYXV0byBtLTMgZHJvcHNlbGVjdFwiIGlkPVwiZGF0YXNldFNlbGVjdFwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGFzZXRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGRhdGFzZXQgb2YgZGF0YXNldHNcIiBbdmFsdWVdPVwiZGF0YXNldC52YWx1ZVwiPnt7IGRhdGFzZXQubGFiZWwgfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PiBcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGUgZnctYm9sZCBtdC01IG1iLTIgbXMtM1wiICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycydcIj57e3NlbGN0ZWRWYWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zIHRleHQtc3ViXCI+QmFzZWQgb24ge3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2RlbW9ncmFwaGljJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImRlbW9HcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdidXllcicgJiYgIWRldGFpbGVkQ2hhcnRzXCIgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJidXllcnNDaGFydHNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2Zvb3RmYWxsJyB8fCBmb290ZmFsbFZhbHVlID09PSdjb252ZXJzaW9uJyB8fCBmb290ZmFsbFZhbHVlID09PSdlbmdhZ2VycycgXHJcbiAgICAgICAgICAgICAgICAgICAgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknIHx8IGZvb3RmYWxsVmFsdWUgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYm91bmNlZCcgJiYgIWRldGFpbGVkQ2hhcnRzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGFydC1jb250YWluZXIgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJ0ZXN0R3JhcGhpY3NcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cIm9mZnNldFwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdmb290ZmFsbCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nY29udmVyc2lvbicgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZW5nYWdlcnMnIFxyXG4gICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGVhdG1hcC1jb250YWluZXIgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImhlYXRtYXBjaGFydFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknIHx8IGZvb3RmYWxsVmFsdWUgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYm91bmNlZCcgJiYgIWRldGFpbGVkQ2hhcnRzXCIgY2xhc3M9XCJjb2wtbWQtOSBjaGFydC1jb250YWluZXIgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdmb290ZmFsbCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nY29udmVyc2lvbicgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZW5nYWdlcnMnXHJcbiAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0zIG10LTMgbWUtMCBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJoZWF0bWFwY2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImJhY2tUb0Zvb3RmYWxsKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfMjU4NV83MDM2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI1LjgzMjcgMTlIMTQuMTY2TTE0LjE2NiAxOUwxOS45OTkzIDI0LjgzMzRNMTQuMTY2IDE5TDE5Ljk5OTMgMTMuMTY2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzI1ODVfNzAzNlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjU4NV83MDM2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPjxzcGFuIGNsYXNzPVwidGV4dC1wcmltYXJ5IGN1cnNvci1wb2ludGVyIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmVcIiAoY2xpY2spPVwic3RvcmVWaWV3KHN0b3JlSWQpXCI+e3tzdG9yZU5hbWV9fTwvc3Bhbj48c3BhbiBjbGFzcz1cIm1zLTJcIj5Gb290ZmFsbCBUcmVuZDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyIHRleHQtc3ViXCI+QmFzZWQgb24ge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImRldGFpbGVkQ2hhcnREaXZcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBsb2NhdGlvbnM7IGxldCBpID0gaW5kZXhcIj4gLS0+XHJcbiBcclxuICA8IS0tIDwvZGl2PiAtLT5cclxuIl19
|
|
1245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpYy1jYXJkLWNoYXJ0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtY2FyZC1jaGFydHMvdHJhZmZpYy1jYXJkLWNoYXJ0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtY2FyZC1jaGFydHMvdHJhZmZpYy1jYXJkLWNoYXJ0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnRCxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxrQkFBa0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLG9CQUFvQixNQUFNLHVDQUF1QyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTTlDLE1BQU0sT0FBTywwQkFBMEI7SUF1RDNCO0lBQ0E7SUFDQTtJQUErQjtJQUMvQjtJQXpERixJQUFJLENBQVk7SUFDaEIsS0FBSyxDQUFnQjtJQUNyQixNQUFNLENBQXFCO0lBQzNCLEtBQUssQ0FBVztJQUNoQixNQUFNLENBQWdCO0lBQ3RCLE9BQU8sQ0FBcUI7SUFDcEMsWUFBWSxDQUFXO0lBQ3ZCLGFBQWEsQ0FBZ0I7SUFDN0IsY0FBYyxDQUFxQjtJQUVuQyxXQUFXLENBQVc7SUFDdEIsWUFBWSxDQUFnQjtJQUM1QixhQUFhLENBQXFCO0lBQ2xD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R0FBUSxJQUFJLENBQUMsS0FBSyxDQUMvQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUMvQyxDQUFDO1FBQ0YsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQztRQUN2RyxxR0FBcUc7UUFDckcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQWdCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNyRixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDdkIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0F2M0NVLDBCQUEwQjs0RkFBMUIsMEJBQTBCLCtEQ2Z2QyxtcnNGQWt5QkE7OzRGRG54QmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgYW01IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1XCI7XHJcbmltcG9ydCAqIGFzIGFtNXh5IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3h5XCI7XHJcbmltcG9ydCBhbTV0aGVtZXNfQW5pbWF0ZWQgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUvdGhlbWVzL0FuaW1hdGVkXCI7XHJcbmltcG9ydCBhbTV0aGVtZXNfUmVzcG9uc2l2ZSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS90aGVtZXMvUmVzcG9uc2l2ZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFmZmljU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYWZmaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi10cmFmZmljLWNhcmQtY2hhcnRzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi90cmFmZmljLWNhcmQtY2hhcnRzLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi90cmFmZmljLWNhcmQtY2hhcnRzLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFmZmljQ2FyZENoYXJ0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJvb3QhOiBhbTUuUm9vdDtcclxuICBwcml2YXRlIGNoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIHByaXZhdGUgc2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgcHJpdmF0ZSByb290MjogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBjaGFydDI6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgcHJpdmF0ZSBzZXJpZXMyOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZGV0YWlsZWRSb290OiBhbTUuUm9vdDtcclxuICBkZXRhaWxlZENoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIGRldGFpbGVkU2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcblxyXG4gIGhlYXRNYXBSb290OiBhbTUuUm9vdDtcclxuICBoZWF0TWFwQ2hhcnQ6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgaGVhdE1hcFNlcmllczogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIGR3ZWxsUm9vdDogYW01LlJvb3Q7XHJcbiAgZHdlbGxDaGFydDogYW01eHkuWFlDaGFydDtcclxuICBkd2VsbFNlcmllczogYW01eHkuQ29sdW1uU2VyaWVzO1xyXG4gIGRlbW9HcmFwaGljc0RhdGE6IGFueTtcclxuICBkZW1vR3JhcGhpY3Nyb290OiBhbnk7XHJcbiAgYnV5ZXJzcm9vdDphbnk7XHJcbiAgZGF0YXNldHM6IGFueSA9IFtdO1xyXG4gIGRhdGE6IGFueTtcclxuICBjdXJyZW50RGF0YTogYW55O1xyXG4gIGN1cnJlbnREYXRhMjogYW55O1xyXG4gIGRldGFpbGVkQ2hhcnRzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGF0ZTogYW55O1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgZm9vdGZhbGxWYWx1ZTogc3RyaW5nID0gXCJmb290ZmFsbFwiO1xyXG4gIGRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2U6IGFueTtcclxuICBidXllcnNDaGFydEluc3RhbmNlOmFueTtcclxuICBzZWxlY3RlZFRhYjogYW55ID0gXCJmb290ZmFsbFwiO1xyXG4gIGdldE92ZXJhbGxDYXJkRGF0YTogYW55ID0gW107XHJcbiAgb2JqRGF0YTogYW55O1xyXG4gIGdldE92ZXJhbGxIb3VybHlEYXRhOiBhbnk7XHJcbiAgZ2V0T3ZlcmFsbENoYXJ0RGF0YTogYW55O1xyXG4gIGdldFNpbmdsZUNoYXJ0RGF0YTogYW55O1xyXG4gIGJ1eWVyc0RhdGE6IGFueTtcclxuICBnZXREZW5zaXR5RHdlbGxEYXRhOiBhbnk7XHJcbiAgdHJhZmZpY0RhdGE6YW55PSBbXTtcclxuICBmb290ZmFsbERhdGU6IGFueTtcclxuICBoZWFkZXJEYXRhOiBhbnk7XHJcbiAgc2VsY3RlZFZhbHVlOmFueSA9J0Zvb3RmYWxsIEFuYWx5c2lzJztcclxuICBjaGFydE5vRGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgY2hhcnRsb2FkaW5nOiBib29sZWFuID10cnVlO1xyXG4gIHN0b3JlSWRhcnJheTogYW55ID1bXTtcclxuICB0b3RhbENvdW50OiBhbnk7XHJcbiAgZGVtb0dyYXBoaWNzU2VyaWVzOiBhbnk7XHJcbiAgdmFsdWVUeXBlOiBhbnk9J2FjdHVhbCc7XHJcbiAgaXNBdmVyYWdlOiBhbnkgPWZhbHNlO1xyXG4gIGl0ZW1zUGVyUGFnZSA9IDEwO1xyXG4gIGN1cnJlbnRQYWdlID0gMTtcclxuICB0b3RhbEl0ZW1zID0gMTtcclxuICBwYWdpbmF0aW9uU2l6ZXMgPSBbMTAsMjAsMzBdO1xyXG4gIHBhZ2VTaXplID0gMzA7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFRyYWZmaWNTZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGFzZXRzID0gW1xyXG4gICAgICB7IHZhbHVlOiB0aGlzLmZvb3RmYWxsVmFsdWUsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICB7IHZhbHVlOiBcImRlbW9ncmFwaGljXCIsIGxhYmVsOiBcIkRlbW9ncmFwaGljIEFuYWx5c2lzXCIgfSxcclxuICAgICAgeyB2YWx1ZTogXCJidXllclwiLCBsYWJlbDogXCJCdXllciBBbmFseXNpc1wiIH0sXHJcbiAgICBdO1xyXG4gICAgdGhpcy50cmFmZmljRGF0YSA9IFtcclxuICAgICAgeyB2YWx1ZTogNywgbGFiZWw6IFwiTGFzdCA3IERheXNcIiB9LFxyXG4gICAgICB7IHZhbHVlOiAzMCwgbGFiZWw6IFwiTGFzdCAzMCBEYXlzXCIgfSxcclxuICAgIF07XHJcbiAgICB0aGlzLmZvb3RmYWxsRGF0ZSA9dGhpcy50cmFmZmljRGF0YVswXS52YWx1ZVxyXG4gICAgdGhpcy5zZXJ2aWNlPy5pc0F2ZXJhZ2UkPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpPy5zdWJzY3JpYmUoKGlzQXZlcmFnZTphbnkpID0+IHtcclxuICAgICAgdGhpcy5pc0F2ZXJhZ2UgPSBpc0F2ZXJhZ2U7XHJcbiAgICAgIGlmKHRoaXMuaXNBdmVyYWdlID09PSB0cnVlKXtcclxuICAgICAgICB0aGlzLnZhbHVlVHlwZSA9ICdhdmVyYWdlJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlVHlwZSA9J2FjdHVhbCc7XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJmb290ZmFsbFwiKXtcclxuICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdGb290ZmFsbCBBbmFseXNpcydcclxuICAgICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiY29udmVyc2lvblwiKXtcclxuICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImNvbnZlcnNpb25cIjtcclxuICAgICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0NvbnZlcnNpb24gQW5hbHlzaXMnXHJcbiAgICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcImVuZ2FnZXJzXCIpe1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiZW5nYWdlcnNcIjtcclxuICAgICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0VuZ2FnZXJzIEFuYWx5c2lzJ1xyXG4gICAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJib3VuY2VkXCIpe1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiYm91bmNlZFwiO1xyXG4gICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nQm91bmNlZCBBbmFseXNpcydcclxuICAgICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwicG90ZW50aWFsQnV5ZXJzXCIpe1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwicG90ZW50aWFsQnV5ZXJzXCI7XHJcbiAgICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdQb3RlbnRpYWwgQnV5ZXIgQW5hbHlzaXMnXHJcbiAgICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcIm1pc3NlZE9wcG9ydHVuaXR5XCIpe1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwibWlzc2VkT3Bwb3J0dW5pdHlcIjtcclxuICAgICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J01pc3NlZCBPcHBvcnR1bml0eSBBbmFseXNpcydcclxuICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgdGhpcy5nZXREd2VsbCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGV0YWlsZWRDaGFydHM9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5oZWFkZXJEYXRhKSB7XHJcbiAgICAgIHRoaXMub2JqRGF0YSA9IHtcclxuICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgICBwcm9jZXNzVHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgICAgICBub3JtYWxpemVkRGF0YTogZmFsc2UsXHJcbiAgICAgICAgdmFsdWVUeXBlIDp0aGlzLnZhbHVlVHlwZVxyXG4gICAgICB9O1xyXG4gICAgIFxyXG4gICAgICB0aGlzLm92ZXJhbGxDYXJkKCk7XHJcbiAgICAgIHRoaXMub3ZlcmFsbEhvdXJseUNoYXJ0KCk7XHJcbiAgICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgICB9XHJcbn0pO1xyXG50aGlzLmdldEluaXRhbCgpO1xyXG4gIH1cclxuICBnZXRJbml0YWwoKXtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgaWYoZGF0YSAhPT1udWxsIHx8IGRhdGE/LmNsaWVudCAhPT0gbnVsbCl7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLnN0b3JlSWRhcnJheSA9IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZClcclxuICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnRzID0gZmFsc2U7XHJcbiAgICAgIH1cclxufSlcclxuICB9XHJcbiAgc2VsZWN0ZWRUYWJzKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IHR5cGU7XHJcbiAgICB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5vYmpEYXRhLnZhbHVlVHlwZSA9dGhpcy52YWx1ZVR5cGU7XHJcbiAgIFxyXG4gICAgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJmb290ZmFsbFwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiY29udmVyc2lvblwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJjb252ZXJzaW9uXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nQ29udmVyc2lvbiBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcImVuZ2FnZXJzXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImVuZ2FnZXJzXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRW5nYWdlcnMgQW5hbHlzaXMnXHJcbiAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJib3VuY2VkXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImJvdW5jZWRcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdCb3VuY2VkIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwicG90ZW50aWFsQnV5ZXJzXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInBvdGVudGlhbEJ1eWVyc1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1BvdGVudGlhbCBCdXllciBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcIm1pc3NlZE9wcG9ydHVuaXR5XCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcIm1pc3NlZE9wcG9ydHVuaXR5XCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nTWlzc2VkIE9wcG9ydHVuaXR5IEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIHsgXHJcbiAgICAgIHRoaXMuZ2V0RHdlbGwoKTtcclxuICAgIH1cclxuICAgICB0aGlzLm92ZXJhbGxDYXJkKCk7XHJcbiAgICB0aGlzLm92ZXJhbGxIb3VybHlDaGFydCgpO1xyXG4gICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICAgIHRoaXMuZGF0YXNldHMgPSBbXHJcbiAgICAgIHsgdmFsdWU6IHRoaXMuc2VsZWN0ZWRUYWIsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICB7IHZhbHVlOiBcImRlbW9ncmFwaGljXCIsIGxhYmVsOiBcIkRlbW9ncmFwaGljIEFuYWx5c2lzXCIgfSxcclxuICAgICAgeyB2YWx1ZTogXCJidXllclwiLCBsYWJlbDogXCJCdXllciBBbmFseXNpc1wiIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgb3ZlcmFsbENhcmQoKSB7XHJcbiAgIFxyXG4gICAgKHRoaXMub2JqRGF0YS5saW1pdCA9IHRoaXMubGltaXQpLCAodGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0KTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEubm9ybWFsaXplZERhdGE7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLnJldmVudWU7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmhvdXJGb3JtYXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmRhdGVSYW5nZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0T3ZlcmFsbENhcmRzKHRoaXMub2JqRGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRPdmVyYWxsQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvdmVyYWxsSG91cmx5Q2hhcnQoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICAodGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdCksICh0aGlzLm9iakRhdGEub2Zmc2V0ID0gdGhpcy5vZmZzZXQpO1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5ub3JtYWxpemVkRGF0YTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEucmV2ZW51ZTtcclxuZGVsZXRlIHRoaXMub2JqRGF0YS5ob3VyRm9ybWF0XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmRhdGVSYW5nZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0T3ZlcmFsbEhvdXJseUNoYXJ0KHRoaXMub2JqRGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmdldE92ZXJhbGxIb3VybHlEYXRhID0gcmVzPy5kYXRhPy5ob3VybHlEYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRIZWF0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgb2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGxpbWl0OiBudW1iZXIgPSAzMDtcclxuICBvdmVyYWxsQ2hhcnQoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICAodGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdCksICh0aGlzLm9iakRhdGEub2Zmc2V0ID0gdGhpcy5vZmZzZXQpO1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5ub3JtYWxpemVkRGF0YTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEucmV2ZW51ZTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEuaG91ckZvcm1hdDtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEuZGF0ZVJhbmdlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRPdmVyYWxsQ2hhcnQodGhpcy5vYmpEYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldE92ZXJhbGxDaGFydERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhLnRvdGFsQ291bnRcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG4gICAgdGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0LTE7XHJcbiAgICB0aGlzLm9iakRhdGEubGltaXQgPSB0aGlzLmxpbWl0O1xyXG4gICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmxpbWl0ID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgdGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgdGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdDtcclxuICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgfVxyXG4gIGdldER3ZWxsKCl7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5vZmZzZXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlO1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5ob3VyRm9ybWF0O1xyXG4gICAgdGhpcy5vYmpEYXRhLmRhdGVSYW5nZSA9TnVtYmVyKHRoaXMuZm9vdGZhbGxEYXRlKTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0RGVuc2l0eUR3ZWxsKHRoaXMub2JqRGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnRyYWZmaWNIZWF0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5nZXREd2VsbENoYXJ0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYoIXJlcyB8fCByZXMuY29kZSA9PT0gMjA0KXtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGluaXRDaGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRlc3RHcmFwaGljc1wiKTtcclxuICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5yb290KSB7XHJcbiAgICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJvb3QgPSBhbTUuUm9vdC5uZXcoXCJ0ZXN0R3JhcGhpY3NcIik7XHJcblxyXG4gICAgICAvLyBTZXQgdGhlbWVzXHJcbiAgICAgIC8vIHRoaXMucm9vdC5zZXRUaGVtZXMoW2FtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5yb290KV0pO1xyXG4gICAgICAvLyBjb25zdCB0b3RhbENvdW50ID0gdGhpcy50b3RhbENvdW50O1xyXG4gICAgICAvLyBjb25zdCBkeW5hbWljV2lkdGggPSBNYXRoLm1heCg4MDAsIHRvdGFsQ291bnQgKiA1MCk7IC8vIE1pbmltdW0gODAwcHggb3IgNTBweCBwZXIgaXRlbVxyXG4gICAgICAvLyBjb25zb2xlLmxvZyhkeW5hbWljV2lkdGgsdGhpcy50b3RhbENvdW50KVxyXG4gICAgICAvLyBDcmVhdGUgY2hhcnRcclxuICAgICAgdGhpcy5jaGFydCA9IHRoaXMucm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgIHBhblg6IHRydWUsXHJcbiAgICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiAxLFxyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksIC8vIExldCB0aGUgY2hhcnQgdGFrZSBmdWxsIHdpZHRoXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgLy8gdGhpcy5jaGFydC5wbG90Q29udGFpbmVyLnNldEFsbCh7XHJcbiAgICAgIC8vICAgbWluV2lkdGg6IGR5bmFtaWNXaWR0aCwgLy8gU2V0IGR5bmFtaWMgbWluIHdpZHRoIGZvciBzY3JvbGxpbmdcclxuICAgICAgLy8gfSk7XHJcbiAgICAgIC8vIEFkZCBjdXJzb3JcclxuICAgICAgbGV0IGN1cnNvciA9IHRoaXMuY2hhcnQuc2V0KFwiY3Vyc29yXCIsIGFtNXh5LlhZQ3Vyc29yLm5ldyh0aGlzLnJvb3QsIHt9KSk7XHJcbiAgICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgIHJvdGF0aW9uOiAtNDUsXHJcbiAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgICBwYWRkaW5nUmlnaHQ6IDUsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgeFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICBsb2NhdGlvbjogMSxcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIEFkZCBzY3JvbGxiYXJcclxuICAgICAgdGhpcy5jaGFydC5zZXQoXHJcbiAgICAgICAgXCJzY3JvbGxiYXJYXCIsXHJcbiAgICAgICAgYW01LlNjcm9sbGJhci5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgbGV0IHhBeGlzID0gdGhpcy5jaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwic3RvcmVOYW1lXCIsXHJcbiAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgLy8gdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMucm9vdCwge2xhYmVsVGV4dDogXCJ7ZnVsbFN0b3JlTmFtZX1cIn0pLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBsZXQgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGxldCB5QXhpcyA9IHRoaXMuY2hhcnQueUF4ZXMucHVzaChcclxuICAgICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjMsXHJcbiAgICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZ2V0T3ZlcmFsbENoYXJ0RGF0YSA9IHRoaXMuZ2V0T3ZlcmFsbENoYXJ0RGF0YT8uc3RvcmVEYXRhPy5tYXAoXHJcbiAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgIGZ1bGxTdG9yZU5hbWU6IGl0ZW0uc3RvcmVOYW1lLCAvLyBGdWxsIHN0b3JlIG5hbWVcclxuICAgIHN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUubGVuZ3RoID4gMTAgPyBpdGVtLnN0b3JlTmFtZS5zbGljZSgwLCAxMCkgKyAnLi4uJyA6IGl0ZW0uc3RvcmVOYW1lLCAvLyBTaG9ydGVuZWQgZm9yIHhBeGlzXHJcbiAgICB2YWx1ZTogTnVtYmVyKGl0ZW0uY291bnQpLFxyXG4gICAgc3RvcmVJZDogaXRlbS5zdG9yZUlkXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICB0aGlzLnNlcmllcyA9IHRoaXMuY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgIG5hbWU6IFwiU2VyaWVzIDFcIixcclxuICAgICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJzdG9yZU5hbWVcIixcclxuICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbGFiZWxUZXh0OiBgJHt0aGlzLmNhcGl0YWxpemVUaXRsZSh0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUpfSwge2Z1bGxTdG9yZU5hbWV9OiB7dmFsdWVZfWAsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcbiAgICAgIHRoaXMuc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuZXZlbnRzLm9uKFwiY2xpY2tcIiwgKGV2OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBkYXRhSXRlbSA9IGV2LnRhcmdldC5kYXRhSXRlbS5kYXRhQ29udGV4dDtcclxuICAgICAgICB0aGlzLmhhbmRsZUJhckNsaWNrKGRhdGFJdGVtKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcblxyXG4gICAgICB4QXhpcy5kYXRhLnNldEFsbCh0aGlzLmdldE92ZXJhbGxDaGFydERhdGEpO1xyXG4gICAgICB0aGlzLnNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmdldE92ZXJhbGxDaGFydERhdGEpO1xyXG4gIC8vIFNldCB3aWR0aCBmb3IgY2hhcnQgY29udGFpbmVyIHRvIGVuYWJsZSBzY3JvbGxpbmdcclxuICAvLyBjb25zdCB0b3RhbENvdW50ID0gdGhpcy50b3RhbENvdW50O1xyXG4gIC8vIGNvbnN0IGl0ZW1XaWR0aCA9IDUwOyAvLyBXaWR0aCBvZiBlYWNoIGl0ZW0sIGFkanVzdCBhcyBuZWVkZWRcclxuICAvLyBjb25zdCBtaW5XaWR0aCA9IHRvdGFsQ291bnQgKiBpdGVtV2lkdGg7IC8vIENhbGN1bGF0ZSB0b3RhbCB3aWR0aFxyXG4gIC8vIGNoYXJ0RGl2LnN0eWxlLndpZHRoID0gYCR7TWF0aC5tYXgobWluV2lkdGgsIDEwMjQpfXB4YDsgLy8gTWluaW11bSB3aWR0aCBvZiA4MDBweFxyXG4gICAgICAvLyBNYWtlIHN0dWZmIGFuaW1hdGUgb24gbG9hZFxyXG4gICAgICB0aGlzLnNlcmllcy5hcHBlYXIoMTAwMCk7XHJcbiAgICAgIHRoaXMuY2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIGNhcGl0YWxpemVUaXRsZSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRleHRcclxuICAgICAgLnRvTG93ZXJDYXNlKCkgLy8gRW5zdXJlIHRoZSBzdHJpbmcgaXMgaW4gbG93ZXJjYXNlIGZpcnN0XHJcbiAgICAgIC5zcGxpdCgnICcpICAgIC8vIFNwbGl0IHRoZSBzdHJpbmcgaW50byB3b3Jkc1xyXG4gICAgICAubWFwKHdvcmQgPT4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkpIC8vIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiBlYWNoIHdvcmRcclxuICAgICAgLmpvaW4oJyAnKTsgICAgLy8gSm9pbiB0aGUgd29yZHMgYmFjayB0b2dldGhlclxyXG4gIH1cclxuICBnZXRSYW5nZUNvbG9yKHJhdGU6IG51bWJlcik6IGFtNS5Db2xvciB7XHJcbiAgICBsZXQgY29sb3I6IGFtNS5Db2xvcjtcclxuICAgIGlmIChyYXRlID49IDAgJiYgcmF0ZSA8PSAxMCkge1xyXG4gICAgICBjb2xvciA9IGFtNS5jb2xvcigweEVBRjhGRik7XHJcbiAgICB9IGVsc2UgaWYgKHJhdGUgPiAxMCAmJiByYXRlIDw9IDIwKSB7XHJcbiAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4Q0NFOUZFKTtcclxuICAgIH0gZWxzZSBpZiAocmF0ZSA+IDIwICYmIHJhdGUgPD0gMzApIHtcclxuICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhCMEQ2RkMpO1xyXG4gICAgfSBlbHNlIGlmIChyYXRlID4gMzAgJiYgcmF0ZSA8PSA0MCkge1xyXG4gICAgICBjb2xvciA9IGFtNS5jb2xvcigweDk0QzJGQSk7XHJcbiAgICB9IGVsc2UgaWYgKHJhdGUgPiA0MCAmJiByYXRlIDw9IDU1KSB7XHJcbiAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4NzhBOUY4KTtcclxuICAgIH0gZWxzZSBpZiAocmF0ZSA+IDU1ICYmIHJhdGUgPD0gNzUpIHtcclxuICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg5OUQyRkQpOyAgXHJcbiAgICB9IGVsc2UgaWYgKHJhdGUgPiA3NSAmJiByYXRlIDw9IDkwKSB7XHJcbiAgICAgIGNvbG9yID0gYW01LmNvbG9yKDB4NjZCQ0ZEKTsgICAgXHJcbiAgICB9ICBlbHNlIGlmIChyYXRlID4gOTAgJiYgcmF0ZSA8PSAxMDApIHtcclxuICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHgzNDYwRjMpOyAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb2xvciA9IGFtNS5jb2xvcigweEZGRik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG4gIGluaXRIZWF0Q2hhcnQoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJoZWF0bWFwY2hhcnRcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucm9vdDIpIHtcclxuICAgICAgICB0aGlzLnJvb3QyLmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBDcmVhdGUgcm9vdCBlbGVtZW50XHJcbiAgICAgIHRoaXMucm9vdDIgPSBhbTUuUm9vdC5uZXcoXCJoZWF0bWFwY2hhcnRcIik7XHJcblxyXG4gICAgICB0aGlzLnJvb3QyLmNvbnRhaW5lci5zZXRBbGwoe1xyXG4gICAgICAgIHdpZHRoOiBhbTUucGVyY2VudCgxMDApLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC8vIFNldCB0aGVtZXNcclxuICAgICAgdGhpcy5yb290Mi5zZXRUaGVtZXMoW1xyXG4gICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5yb290MiksXHJcbiAgICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHRoaXMucm9vdDIpLFxyXG4gICAgICBdKTtcclxuXHJcbiAgICAgIC8vIENyZWF0ZSBjaGFydFxyXG4gICAgICB0aGlzLmNoYXJ0MiA9IHRoaXMucm9vdDIuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgIHdoZWVsWDogXCJub25lXCIsXHJcbiAgICAgICAgICB3aGVlbFk6IFwibm9uZVwiLFxyXG4gICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICBsYXlvdXQ6IHRoaXMucm9vdDIudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIC8vIENyZWF0ZSBheGVzIGFuZCB0aGVpciByZW5kZXJlcnNcclxuICAgICAgY29uc3QgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgIG1pbkdyaWREaXN0YW5jZTogMjAsXHJcbiAgICAgICAgaW52ZXJzZWQ6IHRydWUsXHJcbiAgICAgICAgb3Bwb3NpdGU6IHRydWUsXHJcbiAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB5UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgIGNvbnN0IHlBeGlzID0gdGhpcy5jaGFydDIueUF4ZXMucHVzaChcclxuICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIHJlbmRlcmVyOiB5UmVuZGVyZXIsXHJcbiAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcInRpbWVcIixcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgICAgY29uc3QgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgICAgb3Bwb3NpdGU6IHRydWUsXHJcbiAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgIGNvbnN0IHhBeGlzID0gdGhpcy5jaGFydDIueEF4ZXMucHVzaChcclxuICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICB0aGlzLnNlcmllczIgPSB0aGlzLmNoYXJ0Mi5zZXJpZXMucHVzaChcclxuICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIGNhbGN1bGF0ZUFnZ3JlZ2F0ZXM6IHRydWUsXHJcbiAgICAgICAgICBzdHJva2U6IGFtNS5jb2xvcigweGZmZmZmZiksXHJcbiAgICAgICAgICBjbHVzdGVyZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwid2Vla2RheVwiLFxyXG4gICAgICAgICAgY2F0ZWdvcnlZRmllbGQ6IFwidGltZVwiLFxyXG4gICAgICAgICAgdmFsdWVGaWVsZDogXCJyYXRlXCIsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5zZXJpZXMyLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICB0b29sdGlwVGV4dDogXCJ7cmF0ZX1cIixcclxuICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxyXG4gICAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICAgIHdpZHRoOiBhbTUucGVyY2VudCgxMDApLFxyXG4gICAgICAgIGhlaWdodDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhmZmZmZmYpLCAvLyBEZWZhdWx0IGNvbG9yIGZvciBjb2x1bW5zXHJcbiAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgLy8gQXBwbHkgcmFuZ2UtYmFzZWQgY29sb3IgcnVsZXMgZm9yIGVhY2ggZGF0YSBpdGVtXHJcbiAgICAgIHRoaXMuc2VyaWVzMi5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcImZpbGxcIiwgKGZpbGwsIHRhcmdldCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBDaGFydERhdGFJdGVtOyAvLyBDYXN0IGRhdGFDb250ZXh0IHRvIENoYXJ0RGF0YUl0ZW1cclxuICAgICAgICBpZiAoZGF0YUl0ZW0gJiYgZGF0YUl0ZW0ucmF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRSYW5nZUNvbG9yKGRhdGFJdGVtLnJhdGUpOyAvLyBHZXQgY29sb3IgYmFzZWQgb24gcmF0ZVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmlsbDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnNlcmllczIuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgc3ByaXRlOiBhbTUuTGFiZWwubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgdGV4dDogXCJ7cmF0ZS5mb3JtYXROdW1iZXIoJyMuIycpfSVcIixcclxuICAgICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDAwMDAwKSxcclxuICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgICBmb250U2l6ZTogMTIsIC8vIFJlZHVjZSBmb250IHNpemVcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC8vIFNldCBkYXRhXHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldE92ZXJhbGxIb3VybHlEYXRhPy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIHdlZWtkYXk6IFwiSG91cmx5IERhdGFcIixcclxuICAgICAgfSkpO1xyXG4gICAgICB0aGlzLnNlcmllczIuZGF0YS5zZXRBbGwoZGF0YSk7XHJcblxyXG4gICAgICAvLyBBdXRvLXBvcHVsYXRlIFggYW5kIFkgYXhpcyBjYXRlZ29yeSBkYXRhXHJcbiAgICAgIGNvbnN0IHRpbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBhbTUuYXJyYXkuZWFjaChkYXRhLCBmdW5jdGlvbiAocm93OiBhbnkpIHtcclxuICAgICAgICBpZiAodGltZXMuaW5kZXhPZihyb3cudGltZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICB0aW1lcy5wdXNoKHJvdy50aW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgeEF4aXMuZGF0YS5zZXRBbGwoW3sgd2Vla2RheTogXCJIb3VybHkgRGF0YVwiIH1dKTsgLy8gU2V0IHNpbmdsZSBjYXRlZ29yeSBmb3IgeC1heGlzXHJcbiAgICAgIHlBeGlzLmRhdGEuc2V0QWxsKFxyXG4gICAgICAgIHRpbWVzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgdGltZTogaXRlbSB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmNoYXJ0Mi5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgb25EYXRhc2V0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50O1xyXG4gICAgdGhpcy5mb290ZmFsbFZhbHVlID0gdGFyZ2V0LnZhbHVlO1xyXG4gICAgaWYgKHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJmb290ZmFsbFwiIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiY29udmVyc2lvblwiXHJcbiAgICAgIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiZW5nYWdlclwiIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiYm91bmNlZFwiXHJcbiAgICAgIHx8ICB0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwicG90ZW50aWFsQnV5ZXJcIiB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcIm1pc3NlZE9wcG9ydHVuaXR5XCIpIHtcclxuICAgICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICAgIHRoaXMucm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vdmVyYWxsSG91cmx5Q2hhcnQoKTtcclxuICAgICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5mb290ZmFsbFZhbHVlID09PSBcImRlbW9ncmFwaGljXCIpIHtcclxuICAgICAgLy8gRGlzcG9zZSBvZiBhbnkgcHJldmlvdXMgY2hhcnRzIHRvIGF2b2lkIGR1cGxpY2F0ZXNcclxuICAgICAgaWYgKHRoaXMuZGVtb0dyYXBoaWNzcm9vdCkge1xyXG4gICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5nZXREZW1vR3JhcGhpY3MoKTtcclxuICAgIH0gXHJcbiAgICBlbHNlIGlmICh0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiYnV5ZXJcIikge1xyXG4gICAgICAvLyBEaXNwb3NlIG9mIGFueSBwcmV2aW91cyBjaGFydHMgdG8gYXZvaWQgZHVwbGljYXRlc1xyXG4gICAgICBpZiAodGhpcy5idXllcnNyb290KSB7XHJcbiAgICAgICAgdGhpcy5idXllcnNyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldEJ1eWVycygpO1xyXG4gICAgfSBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgYmFja1RvRm9vdGZhbGwoKSB7XHJcbiAgICB0aGlzLm9iakRhdGEuc3RvcmVJZCA9IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSBmYWxzZTtcclxuICAgIHRoaXMub3ZlcmFsbEhvdXJseUNoYXJ0KCk7XHJcbiAgICB0aGlzLm92ZXJhbGxDaGFydCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVtb0dyYXBoaWNzKCl7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YS5vZmZzZXQ7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID1mYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgLmdldERlbW9HcmFwaGljc0NoYXJ0KHRoaXMub2JqRGF0YSlcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmRlbW9HcmFwaGljc0RhdGEgPSByZXM/LmRhdGEuZGVtb2dyYXBoaWNEYXRhO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0KCk7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTsgXHJcbiAgICAgICAgICAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgLy8gIHRoaXMuY2hhcnROb0RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgLy8gIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPXRydWU7XHJcbiAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICB9KTtcclxuICAgIFxyXG4gIH1cclxuICBkZW1vR3JhcGhpY3NDaGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgZGVtb0dyYXBoaWNzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZW1vR3JhcGhpY3NcIik7XHJcbiAgICAgIGlmICghZGVtb0dyYXBoaWNzRGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIERpc3Bvc2Ugb2YgcHJldmlvdXMgY2hhcnQgaWYgaXQgZXhpc3RzXHJcbiAgICAgIGlmICh0aGlzLmRlbW9HcmFwaGljc3Jvb3QpIHtcclxuICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBDcmVhdGUgYSBuZXcgY2hhcnRcclxuICAgICAgdGhpcy5kZW1vR3JhcGhpY3Nyb290ID0gYW01LlJvb3QubmV3KGRlbW9HcmFwaGljc0Rpdik7XHJcbiAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290KSxcclxuICAgICAgXSk7XHJcblxyXG4gICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgbGF5b3V0OiB0aGlzLmRlbW9HcmFwaGljc3Jvb3QudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgY2VsbFN0YXJ0TG9jYXRpb246IDAuMSxcclxuICAgICAgICBjZWxsRW5kTG9jYXRpb246IDAuOSxcclxuICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGxldCB4QXhpcyA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS54QXhlcy5wdXNoKFxyXG4gICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImFnZVwiLFxyXG4gICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHt9KSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmRlbW9HcmFwaGljc0RhdGEgPSB0aGlzLmRlbW9HcmFwaGljc0RhdGE/Lm1hcChcclxuICAgICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgYWdlOiBpdGVtLmFnZSxcclxuICAgICAgICAgIGNvdW50OiBOdW1iZXIoaXRlbS5jb3VudCksXHJcbiAgICAgICAgICBtYWxlQ291bnQ6IE51bWJlcihpdGVtLm1hbGVDb3VudCksXHJcbiAgICAgICAgICBmZW1hbGVDb3VudDogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnQpLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7IGxvY2F0aW9uOiAxIH0pO1xyXG4gICAgICB4QXhpcy5kYXRhLnNldEFsbCh0aGlzLmRlbW9HcmFwaGljc0RhdGEpO1xyXG5cclxuICAgICAgbGV0IHlBeGlzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnlBeGVzLnB1c2goXHJcbiAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHtcclxuICAgICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmRlbW9HcmFwaGljc3Jvb3QsIHtcclxuICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAvLyBBZGQgbGVnZW5kXHJcbiAgICBsZXQgbGVnZW5kID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgIHg6IGFtNS5wMTAwLCAgICAvLyBBbGlnbiB0byAxMDAlIHdpZHRoIChyaWdodCBzaWRlKVxyXG4gICAgICAgIHk6IGFtNS5wMCwgICAgICAvLyBBbGlnbiB0byB0aGUgdG9wXHJcbiAgICAgICAgY2VudGVyWDogYW01LnAxMDAsICAvLyBBbGlnbiB0aGUgY2VudGVyIG9mIHRoZSBsZWdlbmQgdG8gaXRzIHJpZ2h0XHJcbiAgICAgICAgY2VudGVyWTogYW01LnAwLCAgICAvLyBBbGlnbiB0aGUgdG9wIG9mIHRoZSBsZWdlbmQgdG8gdGhlIHRvcCBvZiB0aGUgY2hhcnRcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHRoZSBzZXJpZXMgYW5kIGFkZCBlYWNoIHRvIHRoZSBsZWdlbmRcclxuICAgIGNvbnN0IG1hbGVTZXJpZXMgPSB0aGlzLm1ha2VTZXJpZXMoXCJNYWxlXCIsIFwibWFsZUNvdW50XCIsIHhBeGlzLCB5QXhpcyk7XHJcbiAgICBjb25zdCBmZW1hbGVTZXJpZXMgPSB0aGlzLm1ha2VTZXJpZXMoXCJGZW1hbGVcIiwgXCJmZW1hbGVDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG5cclxuICAgIGxlZ2VuZC5kYXRhLnNldEFsbChbbWFsZVNlcmllcywgZmVtYWxlU2VyaWVzXSk7XHJcbiAgICAgIHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS5hcHBlYXIoMTAwMCwgMTAwKTtcclxuXHJcbiAgICB9LFxyXG4gICAgICAgICAgIDApO1xyXG5cclxuICB9XHJcbiAgbWFrZVNlcmllcyhcclxuICAgIG5hbWU6IGFueSxcclxuICAgIGZpZWxkTmFtZTogYW55LFxyXG4gICAgeEF4aXM6IGFtNXh5LkNhdGVnb3J5QXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgeUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+XHJcbiAgKSB7XHJcbiAgICBsZXQgc2VyaWVzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcImFnZVwiLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICBcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIHRvb2x0aXBUZXh0OiBcIntuYW1lfSwge2NhdGVnb3J5WH06IHt2YWx1ZVl9XCIsXHJcbiAgICAgIHdpZHRoOiBhbTUucGVyY2VudCg5MCksXHJcbiAgICAgIHRvb2x0aXBZOiAwLFxyXG4gICAgICBzdHJva2VPcGFjaXR5OiAwLFxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5kZW1vR3JhcGhpY3NEYXRhKTtcclxuICAgIHNlcmllcy5hcHBlYXIoKTtcclxuICBcclxuICAgIHJldHVybiBzZXJpZXM7ICAvLyBSZXR1cm4gdGhlIHNlcmllcyB0byBhZGQgaXQgdG8gdGhlIGxlZ2VuZFxyXG4gIH1cclxuICBnZXRCdXllcnMoKXtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEubGltaXQ7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLm9mZnNldDtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPWZhbHNlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0QnV5ZXJzQ2hhcnQodGhpcy5vYmpEYXRhKVxyXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuYnV5ZXJzRGF0YSA9IHJlcz8uZGF0YS5idXllckRhdGE7XHJcbiAgICAgICAgIFxyXG4gICAgICAgICB0aGlzLmdldEJ1eWVyc0NoYXJ0KCk7IC8vIENhbGwgd2l0aCBhIGRlbGF5IHRvIGVuc3VyZSB0aGUgZWxlbWVudCBpcyBpbiB0aGUgRE9NXHJcbiAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgXHJcbiAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRCdXllcnNDaGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIGNvbnN0IGJ1eWVyc0RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYnV5ZXJzQ2hhcnRzXCIpO1xyXG4gICAgaWYgKCFidXllcnNEaXYpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIERpc3Bvc2Ugb2YgcHJldmlvdXMgY2hhcnQgaWYgaXQgZXhpc3RzXHJcbiAgICBpZiAodGhpcy5idXllcnNyb290KSB7XHJcbiAgICAgIHRoaXMuYnV5ZXJzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGEgbmV3IGNoYXJ0XHJcbiAgICB0aGlzLmJ1eWVyc3Jvb3QgPSBhbTUuUm9vdC5uZXcoYnV5ZXJzRGl2KTtcclxuICAgIHRoaXMuYnV5ZXJzcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuYnV5ZXJzcm9vdCksXHJcbiAgICBdKTtcclxuXHJcbiAgICB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICB0aGlzLmJ1eWVyc3Jvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICBsYXlvdXQ6IHRoaXMuYnV5ZXJzcm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgY2VsbFN0YXJ0TG9jYXRpb246IDAuMSxcclxuICAgICAgY2VsbEVuZExvY2F0aW9uOiAwLjksXHJcbiAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgeEF4aXMgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImFnZVwiLFxyXG4gICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuYnV5ZXJzcm9vdCwge30pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuYnV5ZXJzRGF0YSA9IHRoaXMuYnV5ZXJzRGF0YT8ubWFwKFxyXG4gICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgIGFnZTogaXRlbS5hZ2UsXHJcbiAgICAgICAgc2luZ2xlQ291bnQ6IE51bWJlcihpdGVtLnNpbmdsZUNvdW50KSxcclxuICAgICAgICBncm91cENvdW50OiBOdW1iZXIoaXRlbS5ncm91cENvdW50KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoeyBsb2NhdGlvbjogMSB9KTtcclxuICAgIHhBeGlzLmRhdGEuc2V0QWxsKHRoaXMuYnV5ZXJzRGF0YSk7XHJcblxyXG4gICAgbGV0IHlBeGlzID0gdGhpcy5idXllcnNDaGFydEluc3RhbmNlLnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIGxldCBsZWdlbmQgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01LkxlZ2VuZC5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgeDogYW01LnAxMDAsICAgIC8vIEFsaWduIHRvIDEwMCUgd2lkdGggKHJpZ2h0IHNpZGUpXHJcbiAgICB5OiBhbTUucDAsICAgICAgLy8gQWxpZ24gdG8gdGhlIHRvcFxyXG4gICAgY2VudGVyWDogYW01LnAxMDAsICAvLyBBbGlnbiB0aGUgY2VudGVyIG9mIHRoZSBsZWdlbmQgdG8gaXRzIHJpZ2h0XHJcbiAgICBjZW50ZXJZOiBhbTUucDAsICAgIC8vIEFsaWduIHRoZSB0b3Agb2YgdGhlIGxlZ2VuZCB0byB0aGUgdG9wIG9mIHRoZSBjaGFydFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIFxyXG4gIGNvbnN0IHNpbmdsZUNvdW50ID0gIHRoaXMuZ2V0QnV5ZXJTZXJpZXMoXCJTaW5nbGVcIiwgXCJzaW5nbGVDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gIGNvbnN0IGdyb3VwQ291bnQgPSAgdGhpcy5nZXRCdXllclNlcmllcyhcIkdyb3VwXCIsIFwiZ3JvdXBDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gICAgbGVnZW5kLmRhdGEuc2V0QWxsKFtzaW5nbGVDb3VudCwgZ3JvdXBDb3VudF0pO1xyXG4gICAgdGhpcy5idXllcnNDaGFydEluc3RhbmNlLmFwcGVhcigxMDAwLCAxMDApO1xyXG4gIH0sMCk7XHJcbn1cclxuZ2V0QnV5ZXJTZXJpZXMoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj5cclxuKSB7XHJcbiAgbGV0IHNlcmllcyA9IHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZS5zZXJpZXMucHVzaChcclxuICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICBjYXRlZ29yeVhGaWVsZDogXCJhZ2VcIiwgIC8vIEFzc3VtaW5nIFwiYWdlXCIgaXMgdGhlIGNhdGVnb3J5IGZpZWxkXHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICB0b29sdGlwVGV4dDogXCJ7bmFtZX06IHt2YWx1ZVl9XCIsXHJcbiAgICB3aWR0aDogYW01LnBlcmNlbnQoOTApLFxyXG4gICAgdG9vbHRpcFk6IDAsXHJcbiAgICBzdHJva2VPcGFjaXR5OiAwLFxyXG4gIH0pO1xyXG5cclxuICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5idXllcnNEYXRhKTsgIC8vIEFzc3VtaW5nIHlvdSBoYXZlIGJ1eWVyc0RhdGFcclxuXHJcbiAgcmV0dXJuIHNlcmllczsgIC8vIFJldHVybiB0aGUgc2VyaWVzIGZvciBsZWdlbmRcclxuXHJcbn1cclxuc3RvcmVOYW1lOmFueTtcclxuc3RvcmVJZDphbnk7XHJcbiAgaGFuZGxlQmFyQ2xpY2soZGF0YUl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZU5hbWUgPSBkYXRhSXRlbS5mdWxsU3RvcmVOYW1lO1xyXG4gICAgdGhpcy5zdG9yZUlkID0gZGF0YUl0ZW0uc3RvcmVJZFxyXG4gICAgdGhpcy5vYmpEYXRhLnN0b3JlSWQgPVtkYXRhSXRlbS5zdG9yZUlkXSxcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0U2luZ2xlU3RvcmVDaGFydCh0aGlzLm9iakRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U2luZ2xlQ2hhcnREYXRhID0gcmVzPy5kYXRhLnN0b3JlRGF0YTtcclxuICAgICAgICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmdldFNpbmdsZVN0b3JlKCksIDApOyAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gICAgICBcclxuICB9XHJcblxyXG5nZXRTaW5nbGVTdG9yZSgpe1xyXG4gICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImRldGFpbGVkQ2hhcnREaXZcIik7XHJcbiAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kZXRhaWxlZFJvb3QpIHtcclxuICAgICAgdGhpcy5kZXRhaWxlZFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgdGhpcy5kZXRhaWxlZFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJkZXRhaWxlZENoYXJ0RGl2XCIpO1xyXG4gICAgdGhpcy5kZXRhaWxlZFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLmRldGFpbGVkUm9vdCksXHJcbiAgICBdKTtcclxuXHJcbiAgICB0aGlzLmRldGFpbGVkQ2hhcnQgPSB0aGlzLmRldGFpbGVkUm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBZGQgY3Vyc29yXHJcbiAgICBsZXQgY3Vyc29yID0gdGhpcy5kZXRhaWxlZENoYXJ0LnNldChcclxuICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgYW01eHkuWFlDdXJzb3IubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7fSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgfSk7XHJcblxyXG4gICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICByb3RhdGlvbjogLTkwLFxyXG4gICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgcGFkZGluZ1JpZ2h0OiAxNSxcclxuICAgIH0pO1xyXG5cclxuICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIGxvY2F0aW9uOiAxLFxyXG4gICAgfSk7XHJcbiAgICAvLyBBZGQgc2Nyb2xsYmFyXHJcbiAgICB0aGlzLmRldGFpbGVkQ2hhcnQuc2V0KFxyXG4gICAgICBcInNjcm9sbGJhclhcIixcclxuICAgICAgYW01LlNjcm9sbGJhci5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgbGV0IHhBeGlzID0gdGhpcy5kZXRhaWxlZENoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImRhdGVcIixcclxuICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge30pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICBsZXQgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IHlBeGlzID0gdGhpcy5kZXRhaWxlZENoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIFxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmdldFNpbmdsZUNoYXJ0RGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogaXRlbS5kYXRlLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0uY291bnQpLCAvLyBVc2UgYGNvdW50YCBhcyBgdmFsdWVgXHJcbiAgICB9KSk7XHJcbiAgICBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgIC8vIFBhcnNlIHN0b3JlTmFtZSBhcyBhIERhdGUgYW5kIGNvbXBhcmVcclxuICAgICAgY29uc3QgZGF0ZUEgPSBuZXcgRGF0ZShhLmRhdGUpO1xyXG4gICAgICBjb25zdCBkYXRlQiA9IG5ldyBEYXRlKGIuZGF0ZSk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBTb3J0IGluIGFzY2VuZGluZyBvcmRlciAob2xkZXN0IHRvIG5ld2VzdClcclxuICAgICAgcmV0dXJuIGRhdGVBLmdldFRpbWUoKSAtIGRhdGVCLmdldFRpbWUoKTtcclxuICAgIH0pO1xyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgdGhpcy5kZXRhaWxlZFNlcmllcyA9IHRoaXMuZGV0YWlsZWRDaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgIG5hbWU6IFwiU2VyaWVzIDJcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgc2VxdWVuY2VkSW50ZXJwb2xhdGlvbjogdHJ1ZSxcclxuICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmRldGFpbGVkU2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHsgc3Ryb2tlT3BhY2l0eTogMCB9KTtcclxuICAgIHhBeGlzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgdGhpcy5kZXRhaWxlZFNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMuYXBwZWFyKDEwMDApO1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG59XHJcbnRyYWZmaWNIZWF0Q2hhcnQoKSB7XHJcbiAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRyYWZmaWNIZWF0bWFwQ2hhcnRcIik7XHJcbiAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEaXNwb3NlIG9mIHRoZSBwcmV2aW91cyBjaGFydCBpbnN0YW5jZSBpZiBpdCBleGlzdHNcclxuICAgIGlmICh0aGlzLmhlYXRNYXBSb290KSB7XHJcbiAgICAgIHRoaXMuaGVhdE1hcFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEluaXRpYWxpemUgdGhlIGNoYXJ0IHJvb3RcclxuICAgIHRoaXMuaGVhdE1hcFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJ0cmFmZmljSGVhdG1hcENoYXJ0XCIpO1xyXG4gICAgdGhpcy5oZWF0TWFwUm9vdC5jb250YWluZXIuc2V0QWxsKHtcclxuICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBcHBseSB0aGVtZXNcclxuICAgIHRoaXMuaGVhdE1hcFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLmhlYXRNYXBSb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHRoaXMuaGVhdE1hcFJvb3QpLFxyXG4gICAgXSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHRoZSBjaGFydFxyXG4gICAgdGhpcy5oZWF0TWFwQ2hhcnQgPSB0aGlzLmhlYXRNYXBSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgd2hlZWxYOiBcIm5vbmVcIixcclxuICAgICAgICB3aGVlbFk6IFwibm9uZVwiLFxyXG4gICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgIGxheW91dDogdGhpcy5oZWF0TWFwUm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIFktYXhpc1xyXG4gICAgY29uc3QgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgaW52ZXJzZWQ6IHRydWUsXHJcbiAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIHlSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IHlBeGlzID0gdGhpcy5oZWF0TWFwQ2hhcnQueUF4ZXMucHVzaChcclxuICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgbWF4RGV2aWF0aW9uOiAwLFxyXG4gICAgICAgIHJlbmRlcmVyOiB5UmVuZGVyZXIsXHJcbiAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJob3VyXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIC8vIENyZWF0ZSBYLWF4aXNcclxuICAgIGNvbnN0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IHhBeGlzID0gdGhpcy5oZWF0TWFwQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIFktYXhpcyBsYWJlbFxyXG4gICAgeUF4aXMuY2hpbGRyZW4udW5zaGlmdChcclxuICAgICAgYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgcm90YXRpb246IC05MCxcclxuICAgICAgICB0ZXh0OiBcIkhvdXJzXCIsXHJcbiAgICAgICAgeTogYW01LnA1MCxcclxuICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxcIixcclxuICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXHJcbiAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDAwMDAwKSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgdGhpcy5oZWF0TWFwU2VyaWVzID0gdGhpcy5oZWF0TWFwQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgIGNhbGN1bGF0ZUFnZ3JlZ2F0ZXM6IHRydWUsXHJcbiAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHhmZmZmZmYpLFxyXG4gICAgICAgIGNsdXN0ZXJlZDogZmFsc2UsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJ3ZWVrZGF5XCIsXHJcbiAgICAgICAgY2F0ZWdvcnlZRmllbGQ6IFwiaG91clwiLFxyXG4gICAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ29uZmlndXJlIGNvbHVtbiBhcHBlYXJhbmNlXHJcbiAgICB0aGlzLmhlYXRNYXBTZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICB0b29sdGlwVGV4dDogXCJ7dmFsdWV9XCIsXHJcbiAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXHJcbiAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgaGVpZ2h0OiBhbTUucGVyY2VudCgxMDApLFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gU2V0IGNvbHVtbiBjb2xvciBiYXNlZCBvbiB2YWx1ZVxyXG4gICAgdGhpcy5oZWF0TWFwU2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwiZmlsbFwiLCAoZmlsbCwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyB7IHZhbHVlOiBudW1iZXIgfTtcclxuICAgICAgcmV0dXJuIGRhdGFJdGVtICYmIGRhdGFJdGVtLnZhbHVlICE9PSB1bmRlZmluZWQgPyB0aGlzLmdldFJhbmdlQ29sb3IxKGRhdGFJdGVtLnZhbHVlKSA6IGZpbGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBZGQgYnVsbGV0IGZvciB2YWx1ZSBsYWJlbHNcclxuICAgIHRoaXMuaGVhdE1hcFNlcmllcy5idWxsZXRzLnB1c2goKCkgPT4ge1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICB0ZXh0OiBcInt2YWx1ZX1cIixcclxuICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCksXHJcbiAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgIHBvcHVsYXRlVGV4dDogdHJ1ZSxcclxuICAgICAgICAgIGZvbnRTaXplOiAxMixcclxuICAgICAgICB9KSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBQcmVwYXJlIGFuZCBzb3J0IGRhdGEgZm9yIHRoZSBjaGFydFxyXG4gICAgY29uc3QgaGVhdE1hcERhdGE6IGFueVtdID0gW107XHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLmdldERlbnNpdHlEd2VsbERhdGEudHJhZmZpY0RlbmNpdHkpLmZvckVhY2goaG91ciA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YS50cmFmZmljRGVuY2l0eVtob3VyXS5mb3JFYWNoKChkYXlEYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBoZWF0TWFwRGF0YS5wdXNoKHtcclxuICAgICAgICAgIGhvdXI6IGRheURhdGEudGltZSxcclxuICAgICAgICAgIHdlZWtkYXk6IGRheURhdGEuZGF5LFxyXG4gICAgICAgICAgdmFsdWU6IHBhcnNlSW50KGRheURhdGEuZm9vdGZhbGxDb3VudCwgMTApLCAvLyBFbnN1cmUgaW50ZWdlciBwYXJzaW5nXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gU29ydCBkYXRhIGJ5IGhvdXIgYW5kIHRoZW4gYnkgd2Vla2RheVxyXG4gICAgaGVhdE1hcERhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBjb25zdCBob3VyQ29tcGFyaXNvbiA9IGEuaG91ci5sb2NhbGVDb21wYXJlKGIuaG91cik7XHJcbiAgICAgIGlmIChob3VyQ29tcGFyaXNvbiA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBhLndlZWtkYXkubG9jYWxlQ29tcGFyZShiLndlZWtkYXkpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBob3VyQ29tcGFyaXNvbjtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFNldCBkYXRhIHRvIHRoZSBzZXJpZXNcclxuICAgIHRoaXMuaGVhdE1hcFNlcmllcy5kYXRhLnNldEFsbChoZWF0TWFwRGF0YSk7XHJcblxyXG4gICAgLy8gRXh0cmFjdCB1bmlxdWUgd2Vla2RheXMgYW5kIGhvdXJzLCBzb3J0ZWRcclxuICAgIGNvbnN0IHdlZWtkYXlzOiBzdHJpbmdbXSA9IEFycmF5LmZyb20obmV3IFNldChoZWF0TWFwRGF0YS5tYXAocm93ID0+IHJvdy53ZWVrZGF5KSkpXHJcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpO1xyXG4gICAgY29uc3QgaG91cnM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbShuZXcgU2V0KGhlYXRNYXBEYXRhLm1hcChyb3cgPT4gcm93LmhvdXIpKSlcclxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSk7XHJcblxyXG4gICAgLy8gU2V0IGF4aXMgZGF0YVxyXG4gICAgeEF4aXMuZGF0YS5zZXRBbGwoXHJcbiAgICAgIHdlZWtkYXlzLm1hcChpdGVtID0+ICh7IHdlZWtkYXk6IGl0ZW0gfSkpXHJcbiAgICApO1xyXG5cclxuICAgIHlBeGlzLmRhdGEuc2V0QWxsKFxyXG4gICAgICBob3Vycy5tYXAoaXRlbSA9PiAoeyBob3VyOiBpdGVtIH0pKVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBGaW5hbGl6ZSBjaGFydCBhcHBlYXJhbmNlXHJcbiAgICB0aGlzLmhlYXRNYXBDaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuXHJcbiAgICAvLyBFbnN1cmUgdGhlIHJvb3QgaXMgYXNzaWduZWQgY29ycmVjdGx5XHJcbiAgICB0aGlzLmhlYXRNYXBSb290ID0gdGhpcy5oZWF0TWFwUm9vdDtcclxuXHJcbiAgfSwgMCk7XHJcbn1cclxuXHJcblxyXG5nZXRSYW5nZUNvbG9yMShmb290ZmFsbENvdW50OiBudW1iZXIpOiBhbTUuQ29sb3Ige1xyXG4gIGxldCBjb2xvcjogYW01LkNvbG9yO1xyXG4gIGlmIChmb290ZmFsbENvdW50ID49IDAgJiYgZm9vdGZhbGxDb3VudCA8PSAxNSkge1xyXG4gICAgY29sb3IgPSBhbTUuY29sb3IoMHhFNkY2RkYpO1xyXG4gIH0gZWxzZSBpZiAoZm9vdGZhbGxDb3VudCA+IDE1ICYmIGZvb3RmYWxsQ291bnQgPD0gMzApIHtcclxuICAgIGNvbG9yID0gYW01LmNvbG9yKDB4Q0NFREZGKTtcclxuICB9IGVsc2UgaWYgKGZvb3RmYWxsQ291bnQgPiAzMCAmJiBmb290ZmFsbENvdW50IDw9IDUwKSB7XHJcbiAgICBjb2xvciA9IGFtNS5jb2xvcigweEIzRTNGRik7XHJcbiAgfSBlbHNlIGlmIChmb290ZmFsbENvdW50ID4gNTAgJiYgZm9vdGZhbGxDb3VudCA8PSA3NSkge1xyXG4gICAgY29sb3IgPSBhbTUuY29sb3IoMHg4MEQxRkYpO1xyXG4gIH0gZWxzZSBpZiAoZm9vdGZhbGxDb3VudCA+IDc1ICYmIGZvb3RmYWxsQ291bnQgPD0gMTUwKSB7XHJcbiAgICBjb2xvciA9IGFtNS5jb2xvcigweDY2QzhGRik7XHJcbiAgfSBlbHNlIGlmIChmb290ZmFsbENvdW50ID4gMTUwICYmIGZvb3RmYWxsQ291bnQgPD0gNTAwKSB7XHJcbiAgICBjb2xvciA9IGFtNS5jb2xvcigweDREQkZGRik7ICBcclxuICB9IGVsc2UgaWYgKGZvb3RmYWxsQ291bnQgPiA1MDApIHtcclxuICAgIGNvbG9yID0gYW01LmNvbG9yKDB4MzNCNUZGKTtcclxuICB9IGVsc2Uge1xyXG4gICAgY29sb3IgPSBhbTUuY29sb3IoMHhGRkYpO1xyXG4gIH1cclxuICByZXR1cm4gY29sb3I7XHJcbn1cclxuXHJcbiAgZ2V0RHdlbGxDaGFydCgpIHtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImR3ZWxsQmFyQ2hhcnRcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZHdlbGxSb290KSB7XHJcbiAgICAgICAgdGhpcy5kd2VsbFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIENyZWF0ZSByb290IGVsZW1lbnRcclxuICAgICAgdGhpcy5kd2VsbFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJkd2VsbEJhckNoYXJ0XCIpO1xyXG5cclxuICAgICAgLy8gU2V0IHRoZW1lc1xyXG4gICAgICB0aGlzLmR3ZWxsUm9vdC5zZXRUaGVtZXMoW2FtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kd2VsbFJvb3QpXSk7XHJcblxyXG4gICAgICAvLyBDcmVhdGUgY2hhcnRcclxuICAgICAgdGhpcy5kd2VsbENoYXJ0ID0gdGhpcy5kd2VsbFJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgIHBhblg6IGZhbHNlLFxyXG4gICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgIGxheW91dDogdGhpcy5yb290LnZlcnRpY2FsTGF5b3V0LFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgIGxldCBkYXRhID0gdGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhLmR3ZWxsVGltZVNwbGl0Py5tYXAoXHJcbiAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgIHllYXI6IChpdGVtLmR3ZWxsX3RpbWUpICsgXCIgTWluc1wiLFxyXG4gICAgICAgICAgbWFsZUNvdW50OiBOdW1iZXIoaXRlbS5tYWxlQ291bnQpLFxyXG4gICAgICAgICAgZmVtYWxlQ291bnQ6IE51bWJlcihpdGVtLmZlbWFsZUNvdW50KSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICBcclxuICAgICAgLy8gW1xyXG4gICAgICAvLyAgIHtcclxuICAgICAgLy8gICAgIHllYXI6IFwiMjAyMVwiLFxyXG4gICAgICAvLyAgICAgZXVyb3BlOiAyLjUsXHJcbiAgICAgIC8vICAgICBuYW1lcmljYTogMi41LFxyXG4gICAgICAvLyAgIH0sXHJcbiAgICAgIC8vICAge1xyXG4gICAgICAvLyAgICAgeWVhcjogXCIyMDIyXCIsXHJcbiAgICAgIC8vICAgICBldXJvcGU6IDIuNixcclxuICAgICAgLy8gICAgIG5hbWVyaWNhOiAyLjcsXHJcbiAgICAgIC8vICAgfSxcclxuICAgICAgLy8gICB7XHJcbiAgICAgIC8vICAgICB5ZWFyOiBcIjIwMjNcIixcclxuICAgICAgLy8gICAgIGV1cm9wZTogMi44LFxyXG4gICAgICAvLyAgICAgbmFtZXJpY2E6IDIuOSxcclxuICAgICAgLy8gICB9LFxyXG4gICAgICAvLyBdO1xyXG5cclxuICAgICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgICAgbGV0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGxldCB4QXhpcyA9IHRoaXMuZHdlbGxDaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwieWVhclwiLFxyXG4gICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmR3ZWxsUm9vdCwge30pLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgIGxvY2F0aW9uOiAxLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHhBeGlzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG5cclxuICAgICAgbGV0IHlBeGlzID0gdGhpcy5kd2VsbENoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgbWluOiAwLFxyXG4gICAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAvLyBBZGQgbGVnZW5kXHJcbiAgICAgIGxldCBsZWdlbmQgPSB0aGlzLmR3ZWxsQ2hhcnQuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICBhbTUuTGVnZW5kLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgIHg6IGFtNS5wNTAsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIC8vIEFkZCBzZXJpZXNcclxuICAgICAgY29uc3QgbWFrZVNlcmllcyA9IChuYW1lOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kd2VsbFNlcmllcyA9IHRoaXMuZHdlbGxDaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcclxuICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcInllYXJcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5kd2VsbFNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICB0b29sdGlwVGV4dDogXCJ7bmFtZX0sIHtjYXRlZ29yeVh9OiB7dmFsdWVZfVwiLFxyXG4gICAgICAgICAgdG9vbHRpcFk6IGFtNS5wZXJjZW50KDEwKSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmR3ZWxsU2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG5cclxuICAgICAgICAvLyBNYWtlIHN0dWZmIGFuaW1hdGUgb24gbG9hZFxyXG4gICAgICAgIHRoaXMuZHdlbGxTZXJpZXMuYXBwZWFyKCk7XHJcblxyXG4gICAgICAgIHRoaXMuZHdlbGxTZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICBzcHJpdGU6IGFtNS5MYWJlbC5uZXcodGhpcy5kd2VsbFJvb3QsIHtcclxuICAgICAgICAgICAgICB0ZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgICAgICAgZmlsbDogdGhpcy5kd2VsbFJvb3QuaW50ZXJmYWNlQ29sb3JzLmdldChcImFsdGVybmF0aXZlVGV4dFwiKSxcclxuICAgICAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBsZWdlbmQuZGF0YS5wdXNoKHRoaXMuZHdlbGxTZXJpZXMpO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgbWFrZVNlcmllcyhcIk1hbGVcIiwgXCJtYWxlQ291bnRcIik7XHJcbiAgICAgIG1ha2VTZXJpZXMoXCJGZW1hbGVcIiwgXCJmZW1hbGVDb3VudFwiKTtcclxuICAgICAgLy8gTWFrZSBzdHVmZiBhbmltYXRlIG9uIGxvYWRcclxuICAgICAgdGhpcy5kd2VsbENoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICB0aGlzLnJvb3QuZGlzcG9zZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGV0YWlsZWRSb290KSB7XHJcbiAgICAgIHRoaXMuZGV0YWlsZWRSb290LmRpc3Bvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRGF0ZUNoYW5nZShldmVudDphbnkpe1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgdGhpcy5mb290ZmFsbERhdGUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLm9iakRhdGEuZGF0ZVJhbmdlID1OdW1iZXIodGhpcy5mb290ZmFsbERhdGUpO1xyXG4gdGhpcy5nZXREd2VsbCgpO1xyXG4gIH1cclxuXHJcbiAgc3RvcmVWaWV3KGRhdGE6YW55KXtcclxuICAgIGNvbnN0IGRhdGF2YWx1ZTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICk7XHJcbiAgICBjb25zdCBtYXRjaGVkU3RvcmVzID0gZGF0YXZhbHVlLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQgJiYgc3RvcmUuc3RvcmVJZCA9PT0gZGF0YSk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGJhbGFuY2Ugc3RvcmVzICh0aG9zZSBub3QgaW4gdGhlIG1hdGNoZWQgc3RvcmVzKSB0byBzZXQgdGhlaXIgY2hlY2tlZCBwcm9wZXJ0eSB0byBmYWxzZVxyXG4gICAgZGF0YXZhbHVlLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbWF0Y2hlZFN0b3Jlcy5zb21lKChtYXRjaGVkU3RvcmU6YW55KSA9PiBtYXRjaGVkU3RvcmUuc3RvcmVJZCA9PT0gc3RvcmUuc3RvcmVJZCkpIHtcclxuICAgICAgICBzdG9yZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pOyBcclxuICAgIGRhdGF2YWx1ZS5zdG9yZSA9IGRhdGE7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGF2YWx1ZSkpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dChkYXRhdmFsdWUpXHJcbiAgICB0aGlzLmdzLm1hbmFnZVJlZnJlc2hUcmlnZ2VyLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbmludGVyZmFjZSBDaGFydERhdGFJdGVtIHtcclxuICByYXRlOiBudW1iZXI7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIG10LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBteS0zIG14LTJcIj5cclxuICAgICAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09MVwiIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygndHJhZmZpYycpXCI+PGFcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0ndHJhZmZpYycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS02IFwiPlRyYWZmaWMgJiBEd2VsbDwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZm9vdGZhbGwnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPkZvb3RmYWxsPC9hPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdib3VuY2VkJylcIj48YVxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2JvdW5jZWQnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS02IFwiPkJvdW5jZWQgRm9vdGZhbGw8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdlbmdhZ2VycycpXCI+XHJcbiAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPkVuZ2FnZXJzPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIFxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdtaXNzZWRPcHBvcnR1bml0eScpXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+TWlzc2VkIE9wcG9ydHVuaXR5PC9hPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdwb3RlbnRpYWxCdXllcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG1lLTZcIj5Qb3RlbnRpYWwgQnV5ZXI8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIG5hdi1pdGVtMVwiIChjbGljayk9XCJzZWxlY3RlZFRhYnMoJ2NvbnZlcnNpb24nKVwiPjxhXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbicgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+Q29udmVyc2lvbjwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImNoYXJ0bG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImNoYXJ0Tm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHt7c2VsY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgaC0xMDBcIiAqbmdJZj1cIiFjaGFydGxvYWRpbmcgJiYgIWNoYXJ0Tm9EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J3RyYWZmaWMnXCIgY2xhc3M9XCJsZWZ0LWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0RGF5ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdERheSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5CdXNpZXN0IERheTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS0xMCBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjQgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDIuMTI1TDMgMTQuMTI1SDEyTDExIDIyLjEyNUwyMSAxMC4xMjVIMTJMMTMgMi4xMjVaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0VGltZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5CdXNpZXN0IFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI0IDI1XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmF2Z0R3ZWxsVGltZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmF2Z0R3ZWxsVGltZSA6Jy0tJ319IE1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBEd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTEwIG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMi4xMjVMMyAxNC4xMjVIMTJMMTEgMjIuMTI1TDIxIDEwLjEyNUgxMkwxMyAyLjEyNVpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/Lm1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5NYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmZlbWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdmb290ZmFsbCdcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZm9vdGZhbGxDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZm9vdGZhbGxDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkZvb3RmYWxsIENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3NFwiIGhlaWdodD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOTQgMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC40XCIgZD1cIk0xIDFMMTkzIDFcIiBzdHJva2U9XCIjOTlEQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjAgMjFWMTlDMjAgMTcuOTM5MSAxOS41Nzg2IDE2LjkyMTcgMTguODI4NCAxNi4xNzE2QzE4LjA3ODMgMTUuNDIxNCAxNy4wNjA5IDE1IDE2IDE1SDhDNi45MzkxMyAxNSA1LjkyMTcyIDE1LjQyMTQgNS4xNzE1NyAxNi4xNzE2QzQuNDIxNDMgMTYuOTIxNyA0IDE3LjkzOTEgNCAxOVYyMU0xNiA3QzE2IDkuMjA5MTQgMTQuMjA5MSAxMSAxMiAxMUM5Ljc5MDg2IDExIDggOS4yMDkxNCA4IDdDOCA0Ljc5MDg2IDkuNzkwODYgMyAxMiAzQzE0LjIwOTEgMyAxNiA0Ljc5MDg2IDE2IDdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5zaW5nbGVDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5zaW5nbGVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5TaW5nbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI2IDI0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRENEQ0RDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIi00NjAuNVwiIHk9XCItMzQwLjVcIiB3aWR0aD1cIjc4M1wiIGhlaWdodD1cIjE5NDdcIiByeD1cIjQuNVwiIHN0cm9rZT1cIiM5NzQ3RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xOTAgLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMkgyOTRDMzAxLjE4IC0xMDIgMzA3IC05Ni4xNzk3IDMwNyAtODlDMzA3IC05NS4wNzUxIDMwMS42MjcgLTEwMCAyOTUgLTEwMEgtMTc3Qy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OUgtMTkwWk0zMDcgODVDMzA3IDkyLjE3OTcgMzAxLjE4IDk4IDI5NCA5OEgtMTc3Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVILTE4OEMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NkgyOTVDMzAxLjYyNyA5NiAzMDcgOTEuMDc1MSAzMDcgODVaTS0xNzcgOThDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NVYtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAyVi0xMDBDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5Vjg1Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2Vjk4Wk0zMDcgLTEwMVY5N1YtMTAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIG1hc2s9XCJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIG1hc2s9XCJ1cmwoI3BhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lmdyb3VwQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZ3JvdXBDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Hcm91cCBGb290ZmFsbDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEQ0RDRENcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiLTQ2MC41XCIgeT1cIi0zNDAuNVwiIHdpZHRoPVwiNzgzXCIgaGVpZ2h0PVwiMTk0N1wiIHJ4PVwiNC41XCIgc3Ryb2tlPVwiIzk3NDdGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PVwiMTAgNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgbWFzaz1cInVybCgjcGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIzXCIgbWFzaz1cInVybCgjcGF0aC02LWluc2lkZS0yXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uYWdlR3JvdXAgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uYWdlR3JvdXAgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5tYWxlUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdjb252ZXJzaW9uJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIj57e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmNvbnZlcnNpb25Db3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGVcIj5Db252ZXJzaW9uIENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3NFwiIGhlaWdodD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOTQgMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC40XCIgZD1cIk0xIDFMMTkzIDFcIiBzdHJva2U9XCIjOTlEQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmNvbnZlcnNpb25SYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8uY29udmVyc2lvblJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkNvbnZlcnNpb24gUmF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1pblJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5taW5SYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj41IC0gMTUgTWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5tYXhSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj4xNSAtIDYwIE1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5hdmVyYWdlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmF2ZXJhZ2VSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj4xIEhyIG9yIG1vcmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1oZWFkZXIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uZW5nYWdlcnNDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uZW5nYWdlcnNDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkVuZ2FnZXJzIENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5lbmdhZ2Vyc1JhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkVuZ2FnZXJzIFJhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uYXZnRHdlbGxUaW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmF2Z0R3ZWxsVGltZSA6Jy0tJ319IE1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBkd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmhpZ2hFbmdhZ2VtZW50Wm9uZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+SGlnaCBFbmdhZ2VtZW50IFpvbmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8ubG93RW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8ubG93RW5nYWdlbWVudFpvbmUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TG93IEVuZ2FnZW1lbnQgWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdib3VuY2VkJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIj57e2dldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/LmJvdW5jZWRDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGVcIj5Cb3VuY2VkIENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uYm91bmNlZFJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+Qm91bmNlZCBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ucGVha0JvdW5jZWRIb3VyID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ucGVha0JvdW5jZWRIb3VyIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPlBlYWsgQm91bmNlZCBIb3VyPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5tYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIj57e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5wb3RlbnRpYWxCdXllcnNDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPlBvdGVudGlhbCBCdXllcnM8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc1JhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc1JhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkJ1eWVycyBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMCAyMVYxOUMyMCAxNy45MzkxIDE5LjU3ODYgMTYuOTIxNyAxOC44Mjg0IDE2LjE3MTZDMTguMDc4MyAxNS40MjE0IDE3LjA2MDkgMTUgMTYgMTVIOEM2LjkzOTEzIDE1IDUuOTIxNzIgMTUuNDIxNCA1LjE3MTU3IDE2LjE3MTZDNC40MjE0MyAxNi45MjE3IDQgMTcuOTM5MSA0IDE5VjIxTTE2IDdDMTYgOS4yMDkxNCAxNC4yMDkxIDExIDEyIDExQzkuNzkwODYgMTEgOCA5LjIwOTE0IDggN0M4IDQuNzkwODYgOS43OTA4NiAzIDEyIDNDMTQuMjA5MSAzIDE2IDQuNzkwODYgMTYgN1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5zaW5nbGVDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uc2luZ2xlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+U2luZ2xlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZ3JvdXBDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZ3JvdXBDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Hcm91cDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubW9zdENvbW1vbkFnZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5mZW1hbGVSYXRlIDonLS0nfX0gJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+RmVtYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5J1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItY291bnRcIj57e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eUNvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLXRpdGxlXCI+TWlzc2VkIG9wcG9ydHVuaXR5IENvdW50PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1pc3NlZE9wcG9ydHVuaXR5UmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1pc3NlZCBvcHBvcnR1bml0eSBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+PHNwYW4gY2xhc3M9XCJtZS0xXCIgKm5nSWY9XCJnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8uY3VycmVuY3kgPT09J2lucidcIj7igrk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ICE9PSdpbnInXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ucG90ZW50aWFsUmV2ZW51ZUxvc3MgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ucG90ZW50aWFsUmV2ZW51ZUxvc3MudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+UG90ZW50aWFsIFJldmVudWUgTG9zczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5sb3dDb252ZXJzaW9uWm9uZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5sb3dDb252ZXJzaW9uWm9uZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Mb3cgQ29udmVyc2lvbiBab25lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1vc3RDb21tb25BZ2UgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubW9zdENvbW1vbkFnZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5NYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSd0cmFmZmljJyAmJiAhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YVwiIGNsYXNzPVwiY29sLW1kLTEwIGgtMTAwIFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTMgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPlRyYWZmaWMgRGVuc2l0eSA8c3ZnIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiVG90YWwgb3Bwb3J0dW5pdHkgb2Ygc2FsZXMgY29udmVyc2lvbiB2ZXJzdXMgdG90YWwgd2Fsa2luc1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMzNTJfNjg4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy45OTg3IDEwLjY2NjdWOC4wMDAwNE03Ljk5ODcgNS4zMzMzN0g4LjAwNTM2TTE0LjY2NTQgOC4wMDAwNEMxNC42NjU0IDExLjY4MTkgMTEuNjgwNiAxNC42NjY3IDcuOTk4NyAxNC42NjY3QzQuMzE2OCAxNC42NjY3IDEuMzMyMDMgMTEuNjgxOSAxLjMzMjAzIDguMDAwMDRDMS4zMzIwMyA0LjMxODE0IDQuMzE2OCAxLjMzMzM3IDcuOTk4NyAxLjMzMzM3QzExLjY4MDYgMS4zMzMzNyAxNC42NjU0IDQuMzE4MTQgMTQuNjY1NCA4LjAwMDA0WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMzUyXzY4OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5CYXNlZCBvbiB7e2hlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gdy1hdXRvIGRyb3BzZWxlY3RcIiBpZD1cImRhdGVTZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhc2V0IG9mIHRyYWZmaWNEYXRhXCIgW3ZhbHVlXT1cImRhdGFzZXQudmFsdWVcIj57eyBkYXRhc2V0LmxhYmVsIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRyYWZmaWNIZWF0bWFwQ2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtMyBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+RHdlbGwgVGltZSBTcGxpdCA8c3ZnIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIlRvdGFsIG9wcG9ydHVuaXR5IG9mIHNhbGVzIGNvbnZlcnNpb24gdmVyc3VzIHRvdGFsIHdhbGtpbnNcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy45OTg3IDEwLjY2NjdWOC4wMDAwNE03Ljk5ODcgNS4zMzMzN0g4LjAwNTM2TTE0LjY2NTQgOC4wMDAwNEMxNC42NjU0IDExLjY4MTkgMTEuNjgwNiAxNC42NjY3IDcuOTk4NyAxNC42NjY3QzQuMzE2OCAxNC42NjY3IDEuMzMyMDMgMTEuNjgxOSAxLjMzMjAzIDguMDAwMDRDMS4zMzIwMyA0LjMxODE0IDQuMzE2OCAxLjMzMzM3IDcuOTk4NyAxLjMzMzM3QzExLjY4MDYgMS4zMzMzNyAxNC42NjU0IDQuMzE4MTQgMTQuNjY1NCA4LjAwMDA0WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMzUyXzY4OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7aGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IOKAkyB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gPC9zcGFuPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJkd2VsbEJhckNoYXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YSAmJiAoc2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyB8fCBzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbicgfHwgc2VsZWN0ZWRUYWIgPT09J2VuZ2FnZXJzJyB8fCBzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCcgfHwgc2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgc2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5JylcIiBjbGFzcz1cImNvbC1tZC0xMCBoLTEwMCByaWdodC1iYXIgYm9yZGVyLTFcIj5cclxuICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknIHx8IGZvb3RmYWxsVmFsdWUgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYm91bmNlZCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZGVtb2dyYXBoaWMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2J1eWVyJykgJiYgIWRldGFpbGVkQ2hhcnRzXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiICE9PSdwb3RlbnRpYWxCdXllcnMnXCI+PHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtIHctYXV0byBtLTMgZHJvcHNlbGVjdFwiIGlkPVwiZGF0YXNldFNlbGVjdFwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGFzZXRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGRhdGFzZXQgb2YgZGF0YXNldHNcIiBbdmFsdWVdPVwiZGF0YXNldC52YWx1ZVwiPnt7IGRhdGFzZXQubGFiZWwgfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PiBcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1iYXItdGl0bGUgZnctYm9sZCBtdC01IG1iLTIgbXMtM1wiICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycydcIj57e3NlbGN0ZWRWYWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zIHRleHQtc3ViXCI+QmFzZWQgb24ge3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2RlbW9ncmFwaGljJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImRlbW9HcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdidXllcicgJiYgIWRldGFpbGVkQ2hhcnRzXCIgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJidXllcnNDaGFydHNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2Zvb3RmYWxsJyB8fCBmb290ZmFsbFZhbHVlID09PSdjb252ZXJzaW9uJyB8fCBmb290ZmFsbFZhbHVlID09PSdlbmdhZ2VycycgXHJcbiAgICAgICAgICAgICAgICAgICAgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknIHx8IGZvb3RmYWxsVmFsdWUgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYm91bmNlZCcgJiYgIWRldGFpbGVkQ2hhcnRzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGFydC1jb250YWluZXIgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJ0ZXN0R3JhcGhpY3NcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cIm9mZnNldFwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdmb290ZmFsbCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nY29udmVyc2lvbicgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZW5nYWdlcnMnIFxyXG4gICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGVhdG1hcC1jb250YWluZXIgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImhlYXRtYXBjaGFydFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknIHx8IGZvb3RmYWxsVmFsdWUgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYm91bmNlZCcgJiYgIWRldGFpbGVkQ2hhcnRzXCIgY2xhc3M9XCJjb2wtbWQtOSBjaGFydC1jb250YWluZXIgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdmb290ZmFsbCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nY29udmVyc2lvbicgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZW5nYWdlcnMnXHJcbiAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0zIG10LTMgbWUtMCBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJoZWF0bWFwY2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImJhY2tUb0Zvb3RmYWxsKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfMjU4NV83MDM2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI1LjgzMjcgMTlIMTQuMTY2TTE0LjE2NiAxOUwxOS45OTkzIDI0LjgzMzRNMTQuMTY2IDE5TDE5Ljk5OTMgMTMuMTY2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzI1ODVfNzAzNlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjU4NV83MDM2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPjxzcGFuIGNsYXNzPVwidGV4dC1wcmltYXJ5IGN1cnNvci1wb2ludGVyIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmVcIiAoY2xpY2spPVwic3RvcmVWaWV3KHN0b3JlSWQpXCI+e3tzdG9yZU5hbWV9fTwvc3Bhbj48c3BhbiBjbGFzcz1cIm1zLTJcIj5Gb290ZmFsbCBUcmVuZDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyIHRleHQtc3ViXCI+QmFzZWQgb24ge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImRldGFpbGVkQ2hhcnREaXZcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBsb2NhdGlvbnM7IGxldCBpID0gaW5kZXhcIj4gLS0+XHJcbiBcclxuICA8IS0tIDwvZGl2PiAtLT5cclxuIl19
|