bbj-screen-widget 2.4.55 → 2.4.57

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.
@@ -39,182 +39,219 @@ let PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = class PlanimetricM
39
39
  this.data = [];
40
40
  this.areaClick = new EventEmitter();
41
41
  this.nameMap = {
42
+ Somalia: '索马里',
43
+ Liechtenstein: '列支敦士登',
44
+ Morocco: '摩洛哥',
45
+ 'W. Sahara': '西撒哈拉',
46
+ Serbia: '塞尔维亚',
42
47
  Afghanistan: '阿富汗',
43
- Albania: '阿尔巴尼亚',
44
- Algeria: '阿尔及利亚',
45
48
  Angola: '安哥拉',
49
+ Albania: '阿尔巴尼亚',
50
+ Aland: '奥兰群岛',
51
+ Andorra: '安道尔',
52
+ 'United Arab Emirates': '阿拉伯联合酋长国',
46
53
  Argentina: '阿根廷',
47
54
  Armenia: '亚美尼亚',
55
+ 'American Samoa': '美属萨摩亚',
56
+ 'Fr. S. Antarctic Lands': '法属南部领地',
57
+ 'Antigua and Barb.': '安提瓜和巴布达',
48
58
  Australia: '澳大利亚',
49
59
  Austria: '奥地利',
50
60
  Azerbaijan: '阿塞拜疆',
61
+ Burundi: '布隆迪',
62
+ Belgium: '比利时',
63
+ Benin: '贝宁',
64
+ 'Burkina Faso': '布基纳法索',
51
65
  Bangladesh: '孟加拉国',
66
+ Bulgaria: '保加利亚',
67
+ Bahrain: '巴林',
68
+ Bahamas: '巴哈马',
69
+ 'Bosnia and Herz.': '波斯尼亚和黑塞哥维那',
52
70
  Belarus: '白俄罗斯',
53
- Belgium: '比利时',
54
71
  Belize: '伯利兹',
55
- Benin: '贝宁',
56
72
  Bermuda: '百慕大',
57
- Bhutan: '不丹',
58
73
  Bolivia: '玻利维亚',
59
- 'Bosnia and Herzegovina': '波斯尼亚和黑塞哥维那',
60
- Botswana: '博茨瓦纳',
61
74
  Brazil: '巴西',
75
+ Barbados: '巴巴多斯',
62
76
  Brunei: '文莱',
63
- Bulgaria: '保加利亚',
64
- 'Burkina Faso': '布基纳法索',
65
- Burundi: '布隆迪',
66
- Cambodia: '柬埔寨',
67
- Cameroon: '喀麦隆',
77
+ Bhutan: '不丹',
78
+ Botswana: '博茨瓦纳',
79
+ 'Central African Rep.': '中非共和国',
68
80
  Canada: '加拿大',
69
- 'Central African Republic': '中非共和国',
70
- Chad: '乍得',
81
+ Switzerland: '瑞士',
71
82
  Chile: '智利',
72
83
  China: '中国',
84
+ "Côte d'Ivoire": '科特迪瓦',
85
+ Cameroon: '喀麦隆',
86
+ 'Dem. Rep. Congo': '刚果(金)',
87
+ Congo: '刚果(布)',
73
88
  Colombia: '哥伦比亚',
89
+ Comoros: '科摩罗',
90
+ 'Cape Verde': '佛得角',
74
91
  'Costa Rica': '哥斯达黎加',
75
- Croatia: '克罗地亚',
76
92
  Cuba: '古巴',
93
+ Curaçao: '库拉索',
94
+ 'Cayman Is.': '开曼群岛',
95
+ 'N. Cyprus': '北塞浦路斯',
77
96
  Cyprus: '塞浦路斯',
78
- 'Czech Republic': '捷克共和国',
79
- 'Democratic Republic of the Congo': '刚果民主共和国',
80
- Denmark: '丹麦',
97
+ 'Czech Rep.': '捷克',
98
+ Germany: '德国',
81
99
  Djibouti: '吉布提',
82
- 'Dominican Republic': '多明尼加共和国',
83
- 'East Timor': '东帝汶',
100
+ Dominica: '多米尼克',
101
+ Denmark: '丹麦',
102
+ 'Dominican Rep.': '多米尼加',
103
+ Algeria: '阿尔及利亚',
84
104
  Ecuador: '厄瓜多尔',
85
105
  Egypt: '埃及',
86
- 'El Salvador': '萨尔瓦多',
87
- 'Equatorial Guinea': '赤道几内亚',
88
106
  Eritrea: '厄立特里亚',
107
+ Spain: '西班牙',
89
108
  Estonia: '爱沙尼亚',
90
109
  Ethiopia: '埃塞俄比亚',
91
- 'Falkland Islands': '福克兰群岛',
92
- Fiji: '斐',
93
110
  Finland: '芬兰',
111
+ Fiji: '斐济',
112
+ 'Falkland Is.': '福克兰群岛',
94
113
  France: '法国',
95
- 'French Guiana': '法属圭亚那',
96
- 'French Southern and Antarctic Lands': '法属南半球和南极领地',
114
+ 'Faeroe Is.': '法罗群岛',
115
+ Micronesia: '密克罗尼西亚',
97
116
  Gabon: '加蓬',
98
- Gambia: '冈比亚',
117
+ 'United Kingdom': '英国',
99
118
  Georgia: '格鲁吉亚',
100
- Germany: '德国',
101
119
  Ghana: '加纳',
120
+ Guinea: '几内亚',
121
+ Gambia: '冈比亚',
122
+ 'Guinea-Bissau': '几内亚比绍',
123
+ 'Eq. Guinea': '赤道几内亚',
102
124
  Greece: '希腊',
125
+ Grenada: '格林纳达',
103
126
  Greenland: '格陵兰',
104
127
  Guatemala: '危地马拉',
105
- Guinea: '几内亚',
106
- 'Guinea Bissau': '几内亚比绍',
128
+ Guam: '关岛',
107
129
  Guyana: '圭亚那',
108
- Haiti: '海地',
130
+ 'Heard I. and McDonald Is.': '赫德岛和麦克唐纳群岛',
109
131
  Honduras: '洪都拉斯',
132
+ Croatia: '克罗地亚',
133
+ Haiti: '海地',
110
134
  Hungary: '匈牙利',
111
- Iceland: '冰岛',
135
+ Indonesia: '印度尼西亚',
136
+ 'Isle of Man': '马恩岛',
112
137
  India: '印度',
113
- Indonesia: '印尼',
138
+ 'Br. Indian Ocean Ter.': '英属印度洋领地',
139
+ Ireland: '爱尔兰',
114
140
  Iran: '伊朗',
115
141
  Iraq: '伊拉克',
116
- Ireland: '爱尔兰',
142
+ Iceland: '冰岛',
117
143
  Israel: '以色列',
118
144
  Italy: '意大利',
119
- 'Ivory Coast': '象牙海岸',
120
145
  Jamaica: '牙买加',
121
- Japan: '日本',
146
+ Jersey: '泽西岛',
122
147
  Jordan: '约旦',
148
+ Japan: '日本',
149
+ 'Siachen Glacier': '锡亚琴冰川',
123
150
  Kazakhstan: '哈萨克斯坦',
124
151
  Kenya: '肯尼亚',
125
- Kosovo: '科索沃',
126
- Kuwait: '科威特',
127
152
  Kyrgyzstan: '吉尔吉斯斯坦',
128
- Laos: '老挝',
129
- Latvia: '拉脱维亚',
153
+ Cambodia: '柬埔寨',
154
+ Kiribati: '基里巴斯',
155
+ Korea: '韩国',
156
+ Kuwait: '科威特',
157
+ 'Lao PDR': '老挝',
130
158
  Lebanon: '黎巴嫩',
131
- Lesotho: '莱索托',
132
159
  Liberia: '利比里亚',
133
160
  Libya: '利比亚',
161
+ 'Saint Lucia': '圣卢西亚',
162
+ 'Sri Lanka': '斯里兰卡',
163
+ Lesotho: '莱索托',
134
164
  Lithuania: '立陶宛',
135
165
  Luxembourg: '卢森堡',
136
- Macedonia: '马其顿',
166
+ Latvia: '拉脱维亚',
167
+ Moldova: '摩尔多瓦',
137
168
  Madagascar: '马达加斯加',
138
- Malawi: '马拉维',
139
- Malaysia: '马来西亚',
140
- Mali: '马里',
141
- Mauritania: '毛里塔尼亚',
142
169
  Mexico: '墨西哥',
143
- Moldova: '摩尔多瓦',
144
- Mongolia: '蒙古',
170
+ Macedonia: '北马其顿',
171
+ Mali: '马里',
172
+ Malta: '马耳他',
173
+ Myanmar: '缅甸',
145
174
  Montenegro: '黑山',
146
- Morocco: '摩洛哥',
175
+ Mongolia: '蒙古',
176
+ 'N. Mariana Is.': '北马里亚纳群岛',
147
177
  Mozambique: '莫桑比克',
148
- Myanmar: '缅甸',
178
+ Mauritania: '毛里塔尼亚',
179
+ Montserrat: '蒙特塞拉特',
180
+ Mauritius: '毛里求斯',
181
+ Malawi: '马拉维',
182
+ Malaysia: '马来西亚',
149
183
  Namibia: '纳米比亚',
150
- Nepal: '尼泊尔',
151
- Netherlands: '荷兰',
152
184
  'New Caledonia': '新喀里多尼亚',
153
- 'New Zealand': '新西兰',
154
- Nicaragua: '尼加拉瓜',
155
185
  Niger: '尼日尔',
156
186
  Nigeria: '尼日利亚',
157
- 'North Korea': '北朝鲜',
158
- 'Northern Cyprus': '北塞浦路斯',
187
+ Nicaragua: '尼加拉瓜',
188
+ Niue: '纽埃',
189
+ Netherlands: '荷兰',
159
190
  Norway: '挪威',
191
+ Nepal: '尼泊尔',
192
+ 'New Zealand': '新西兰',
160
193
  Oman: '阿曼',
161
194
  Pakistan: '巴基斯坦',
162
195
  Panama: '巴拿马',
163
- 'Papua New Guinea': '巴布亚新几内亚',
164
- Paraguay: '巴拉圭',
165
196
  Peru: '秘鲁',
166
197
  Philippines: '菲律宾',
198
+ Palau: '帕劳',
199
+ 'Papua New Guinea': '巴布亚新几内亚',
167
200
  Poland: '波兰',
168
- Portugal: '葡萄牙',
169
201
  'Puerto Rico': '波多黎各',
202
+ 'Dem. Rep. Korea': '朝鲜',
203
+ Portugal: '葡萄牙',
204
+ Paraguay: '巴拉圭',
205
+ Palestine: '巴勒斯坦',
206
+ 'Fr. Polynesia': '法属波利尼西亚',
170
207
  Qatar: '卡塔尔',
171
- 'Republic of Serbia': '塞尔维亚',
172
- 'Republic of the Congo': '刚果共和国',
173
208
  Romania: '罗马尼亚',
174
209
  Russia: '俄罗斯',
175
210
  Rwanda: '卢旺达',
176
211
  'Saudi Arabia': '沙特阿拉伯',
212
+ Sudan: '苏丹',
213
+ 'S. Sudan': '南苏丹',
177
214
  Senegal: '塞内加尔',
178
- 'Sierra Leone': '塞拉利昂',
179
215
  Singapore: '新加坡',
216
+ 'S. Geo. and S. Sandw. Is.': '南乔治亚岛和南桑威奇群岛',
217
+ 'Saint Helena': '圣赫勒拿',
218
+ 'Solomon Is.': '所罗门群岛',
219
+ 'Sierra Leone': '塞拉利昂',
220
+ 'El Salvador': '萨尔瓦多',
221
+ 'St. Pierre and Miquelon': '圣皮埃尔和密克隆',
222
+ 'São Tomé and Principe': '圣多美和普林西比',
223
+ Suriname: '苏里南',
180
224
  Slovakia: '斯洛伐克',
181
225
  Slovenia: '斯洛文尼亚',
182
- 'Solomon Islands': '所罗门群岛',
183
- Somalia: '索马里',
184
- Somaliland: '索马里兰',
185
- 'South Africa': '南非',
186
- 'South Korea': '韩国',
187
- 'South Sudan': '南苏丹',
188
- Spain: '西班牙',
189
- 'Sri Lanka': '斯里兰卡',
190
- Sudan: '苏丹',
191
- Suriname: '苏里南',
192
- Swaziland: '斯威士兰',
193
226
  Sweden: '瑞典',
194
- Switzerland: '瑞士',
227
+ Swaziland: '斯威士兰',
228
+ Seychelles: '塞舌尔',
195
229
  Syria: '叙利亚',
196
- Tajikistan: '塔吉克斯坦',
197
- Thailand: '泰国',
198
- 'The Bahamas': '巴哈马',
230
+ 'Turks and Caicos Is.': '特克斯和凯科斯群岛',
231
+ Chad: '乍得',
199
232
  Togo: '多哥',
200
- 'Trinidad and Tobago': '特里尼达和多巴哥',
233
+ Thailand: '泰国',
234
+ Tajikistan: '塔吉克斯坦',
235
+ Turkmenistan: '土库曼斯坦',
236
+ 'Timor-Leste': '东帝汶',
237
+ Tonga: '汤加',
238
+ 'Trinidad and Tobago': '特立尼达和多巴哥',
201
239
  Tunisia: '突尼斯',
202
240
  Turkey: '土耳其',
203
- Turkmenistan: '土库曼斯坦',
241
+ Tanzania: '坦桑尼亚',
204
242
  Uganda: '乌干达',
205
243
  Ukraine: '乌克兰',
206
- 'United Arab Emirates': '阿联酋',
207
- 'United Kingdom': '英国',
208
- 'United Republic of Tanzania': '坦桑尼亚',
209
- 'United States': '美国',
210
244
  Uruguay: '乌拉圭',
245
+ 'United States': '美国',
211
246
  Uzbekistan: '乌兹别克斯坦',
212
- Vanuatu: '瓦努阿图',
247
+ 'St. Vin. and Gren.': '圣文森特和格林纳丁斯',
213
248
  Venezuela: '委内瑞拉',
249
+ 'U.S. Virgin Is.': '美属维尔京群岛',
214
250
  Vietnam: '越南',
215
- 'West Bank': '西岸',
216
- 'Western Sahara': '西撒哈拉',
251
+ Vanuatu: '瓦努阿图',
252
+ Samoa: '萨摩亚',
217
253
  Yemen: '也门',
254
+ 'South Africa': '南非',
218
255
  Zambia: '赞比亚',
219
256
  Zimbabwe: '津巴布韦',
220
257
  };
@@ -713,4 +750,4 @@ PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = __decorate([
713
750
  __metadata("design:paramtypes", [HttpClient])
714
751
  ], PlanimetricMap2dComponent);
715
752
  export { PlanimetricMap2dComponent };
716
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmltZXRyaWMtbWFwMmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL3BsYW5pbWV0cmljLW1hcDJkL3BsYW5pbWV0cmljLW1hcDJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUNWLFNBQVMsRUFLVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0lBOEJyRCx5QkFBeUIsdUNBQXpCLHlCQUEwQixTQUFRLHdCQUF3QjtJQXFVckUsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEWSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBOVR0QyxhQUFRLEdBQUcsT0FBTyxDQUFDO1FBSW5CLFNBQUksR0FBRyxDQUFDLENBQUM7UUFPVCxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBT3RCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBT3hCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFFdkIsaUJBQVksR0FBUTtZQUNsQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxF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Q2xCLEtBQUssRUFBRSw2QkFBNkI7UUFDcEMsSUFBSSxFQUFFLFlBQVk7UUFDbEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsSUFBSSxFQUFFLDJCQUEyQjtnQkFDakMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUk7Z0JBQ1osU0FBUyxFQUFFLElBQUk7YUFDaEI7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLG1CQUFtQjtZQUNuQiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLHFCQUFxQjtZQUNyQix1QkFBdUI7U0FDeEI7UUFDRCxXQUFXLEVBQUUsY0FBYztLQUM1QixDQUFDO3FDQXNVNEIsVUFBVTtHQXJVM0IseUJBQXlCLENBOGxCckM7U0E5bEJZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFdpZGdldCwgUHJvcGVydHksIERhdGEsIERhdGFPdXRwdXQsIEV2ZW50IH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcclxuaW1wb3J0IHsgUGFyZW50Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFyZW50LWNvbnRhaW5lci9wYXJlbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCAqIGFzIGVjaGFydHMgZnJvbSAnZWNoYXJ0cyc7XHJcbmltcG9ydCB7IE5neEVjaGFydHNEaXJlY3RpdmUgfSBmcm9tICduZ3gtZWNoYXJ0cyc7XHJcbmltcG9ydCB7IGdldEVjaGFydHNUZXh0U3R5bGUgfSBmcm9tICcuLi9zaGFyZWQvdXRpbC9lY2hhcnRzLnV0aWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1wbGFuaW1ldHJpYy1tYXAyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYW5pbWV0cmljLW1hcDJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wbGFuaW1ldHJpYy1tYXAyZC5jb21wb25lbnQubGVzcyddLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUGFyZW50Q29udGFpbmVyQ29tcG9uZW50LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQbGFuaW1ldHJpY01hcDJkQ29tcG9uZW50KSB9XSxcclxufSlcclxuQFdpZGdldCgnMkTlubPpnaLlnLDlm74nLCB7XHJcbiAgZ3JvdXA6ICdjb21wb25lbnQnLFxyXG4gIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vMmRtYXAucG5nJyxcclxuICBpY29uOiAnaWNvbm1va3VhaScsXHJcbiAgY2hpbGRyZW46IFtcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICflkbzlkLjmsJTms6HlsYInLFxyXG4gICAgICB0eXBlOiAnc2MtYnJlYXRoaW5nLWJ1YmJsZS1sYXllcicsXHJcbiAgICAgIG9wdGlvbjoge30sXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgaGlkZUNoaWxkOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoaWxkVHlwZXM6IFtcclxuICAgICdzYy1mbHktbGluZS1sYXllcicsXHJcbiAgICAnc2MtYnJlYXRoaW5nLWJ1YmJsZS1sYXllcicsXHJcbiAgICAnc2MtbWFwMmQtcG9seWxpbmUtbGF5ZXInLFxyXG4gICAgJ3NjLW1hcDJkLW1hcmstbGF5ZXInLFxyXG4gICAgJ3NjLW1hcDJkLXZpc3VhbC1sYXllcicsXHJcbiAgXSxcclxuICBkZXNjcmlwdGlvbjogJ2hhc0NoaWxkSXRlbScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGFuaW1ldHJpY01hcDJkQ29tcG9uZW50IGV4dGVuZHMgUGFyZW50Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgQFByb3BlcnR5KCflnLDlm77moLflvI8nLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteVVybFNlbGVjdCcsXHJcbiAgICAgIHVybDogJy9hc3NldHMvbWFwTGlzdEl0ZW0uanNvbicsXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgbWFwU3R5bGUgPSAnY2hpbmEnO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+57yp5pS+Jywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogMSwgbWF4OiA0MCwgc3RlcDogMSB9LFxyXG4gIH0pXHJcbiAgem9vbSA9IDE7XHJcbiAgQFByb3BlcnR5KCfljLrln5/og4zmma8nLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBhcmVhQ29sb3IgPSAnIzMyM2M0OCc7XHJcbiAgQFByb3BlcnR5KCfljLrln5/mj4/ovrknLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBib3JkZXJDb2xvciA9ICcjNDA0YTU5JztcclxuICBAUHJvcGVydHkoJ+enu+WKqOmrmOS6ricsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIF9hcmVhQ29sb3IgPSAnIzJhMzMzZCc7XHJcbiAgQFByb3BlcnR5KCflnLDljLrlrZfkvZMnLCB7IHVpOiB7IHdpZGdldDogJ215Rm9udCcgfSB9KVxyXG4gIGFyZWFOYW1lZm9udDogYW55ID0ge1xyXG4gICAgZmFtaWx5OiAnJyxcclxuICAgIGNvbG9yOiAnI0ZGRkZGRicsXHJcbiAgICB3ZWlnaHQ6ICdub3JtYWwnLFxyXG4gICAgc2l6ZTogMTIsXHJcbiAgICBzcGFjZTogMCxcclxuICAgIGxpbmVIZWlnaHQ6IDEyLFxyXG4gIH07XHJcbiAgQFByb3BlcnR5KCfmmL7npLrlnLDlkI0nLCB7XHJcbiAgICB0eXBlOiAnYm9vbGVhbicsXHJcbiAgfSlcclxuICBzaG93QXJlYU5hbWUgPSB0cnVlO1xyXG4gIEBQcm9wZXJ0eSgn6Kem5Y+R5pa55byPJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnc2VsZWN0JyB9LFxyXG4gICAgZW51bTogW1xyXG4gICAgICB7IGxhYmVsOiAn54K55Ye7JywgdmFsdWU6ICdjbGljaycgfSxcclxuICAgICAgeyBsYWJlbDogJ+m8oOagh+enu+WKqCcsIHZhbHVlOiAnbW91c2Vtb3ZlJyB9LFxyXG4gICAgXSxcclxuICB9KVxyXG4gIHRyaWdnZXJUeXBlID0gJ21vdXNlbW92ZSc7XHJcbiAgQFByb3BlcnR5KCfpgInkuK3mlrnlvI8nLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdzZWxlY3QnIH0sXHJcbiAgICBlbnVtOiBbXHJcbiAgICAgIHsgbGFiZWw6ICfpu5jorqQnLCB2YWx1ZTogJycgfSxcclxuICAgICAgeyBsYWJlbDogJ+WNlemAiScsIHZhbHVlOiAnc2luZ2xlJyB9LFxyXG4gICAgICB7IGxhYmVsOiAn5aSa6YCJJywgdmFsdWU6ICdtdWx0aXBsZScgfSxcclxuICAgIF0sXHJcbiAgfSlcclxuICBzZWxlY3RlZE1vZGUgPSAnJztcclxuXHJcbiAgQFByb3BlcnR5KCfnvKnmlL7lvIDlhbMnLCB7XHJcbiAgICB0eXBlOiAnYm9vbGVhbicsXHJcbiAgfSlcclxuICB6b29tU3dpdGNoID0gJ2ZhbHNlJztcclxuICBAUHJvcGVydHkoJ+mrmOS6ruaPj+i+uScsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIF9ib3JkZXJDb2xvciA9ICcnO1xyXG4gIEBQcm9wZXJ0eSgn6Zi05b2x6aKc6ImyJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgc2hhZG93Q29sb3IgPSAnIzJhMzMzZCc7XHJcbiAgQFByb3BlcnR5KCfovrnmoYbnspfnu4YnLCB7XHJcbiAgICB0eXBlOiAnbnVtYmVyJyxcclxuICB9KVxyXG4gIHNoYWRvd1dpZHRoID0gMjA7XHJcbiAgQFByb3BlcnR5KCflnLDlm77muJDlj5jlvIDlp4snLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBtYXBDb2xvclN0YXJ0ID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+5riQ5Y+Y57uT5p2fJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgbWFwQ29sb3JFbmQgPSAnIzJhMzMzZCc7XHJcbiAgQFByb3BlcnR5KCfpgInkuK3muJDlj5jlvIDlp4snLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBzZWxlY3RDb2xvclN0YXJ0ID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn6YCJ5Lit5riQ5Y+Y57uT5p2fJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgc2VsZWN0Q29sb3JFbmQgPSAnIzJhMzMzZCc7XHJcblxyXG4gIGNoYXJ0T3B0aW9uOiBhbnk7XHJcbiAgaGFzTWFwID0gZmFsc2U7XHJcbiAgQERhdGEoe1xyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICBuYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+WcsOWQjScgfSxcclxuICAgICAgbG5nOiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+e7j+W6picgfSxcclxuICAgICAgbGF0OiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+e6rOW6picgfSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBkYXRhOiBhbnlbXSA9IFtdO1xyXG4gIEBEYXRhT3V0cHV0KFsnbmFtZScsICdsbmcnLCAnbGF0J10pXHJcbiAgQEV2ZW50KCfpgInkuK0nLCB7XHJcbiAgICBwYXJhbXM6IHtcclxuICAgICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIG5hbWU6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn5YC8JyB9LFxyXG4gICAgICAgIGxuZzogeyB0eXBlOiAnbnVtYmVyJywgdGl0bGU6ICfnu4/luqYnIH0sXHJcbiAgICAgICAgbGF0OiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+e6rOW6picgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBhcmVhQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG5hbWVNYXA6IGFueSA9IHtcclxuICAgIEFmZ2hhbmlzdGFuOiAn6Zi/5a+M5rGXJyxcclxuICAgIEFsYmFuaWE6ICfpmL/lsJTlt7TlsLzkuponLFxyXG4gICAgQWxnZXJpYTogJ+mYv+WwlOWPiuWIqeS6micsXHJcbiAgICBBbmdvbGE6ICflronlk6Xmi4knLFxyXG4gICAgQXJnZW50aW5hOiAn6Zi/5qC55bu3JyxcclxuICAgIEFybWVuaWE6ICfkuprnvo7lsLzkuponLFxyXG4gICAgQXVzdHJhbGlhOiAn5r6z5aSn5Yip5LqaJyxcclxuICAgIEF1c3RyaWE6ICflpaXlnLDliKknLFxyXG4gICAgQXplcmJhaWphbjogJ+mYv+WhnuaLnOeWhicsXHJcbiAgICBCYW5nbGFkZXNoOiAn5a2f5Yqg5ouJ5Zu9JyxcclxuICAgIEJlbGFydXM6ICfnmb3kv4TnvZfmlq8nLFxyXG4gICAgQmVsZ2l1bTogJ+avlOWIqeaXticsXHJcbiAgICBCZWxpemU6ICfkvK/liKnlhbknLFxyXG4gICAgQmVuaW46ICfotJ3lroEnLFxyXG4gICAgQmVybXVkYTogJ+eZvuaFleWkpycsXHJcbiAgICBCaHV0YW46ICfkuI3kuLknLFxyXG4gICAgQm9saXZpYTogJ+eOu+WIqee7tOS6micsXHJcbiAgICAnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSc6ICfms6Lmlq/lsLzkuprlkozpu5HloZ7lk6Xnu7TpgqMnLFxyXG4gICAgQm90c3dhbmE6ICfljZrojKjnk6bnurMnLFxyXG4gICAgQnJhemlsOiAn5be06KW/JyxcclxuICAgIEJydW5laTogJ+aWh+iOsScsXHJcbiAgICBCdWxnYXJpYTogJ+S/neWKoOWIqeS6micsXHJcbiAgICAnQnVya2luYSBGYXNvJzogJ+W4g+Wfuue6s+azlee0oicsXHJcbiAgICBCdXJ1bmRpOiAn5biD6ZqG6L+qJyxcclxuICAgIENhbWJvZGlhOiAn5p+s5Z+U5a+oJyxcclxuICAgIENhbWVyb29uOiAn5ZaA6bqm6ZqGJyxcclxuICAgIENhbmFkYTogJ+WKoOaLv+WkpycsXHJcbiAgICAnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJzogJ+S4remdnuWFseWSjOWbvScsXHJcbiAgICBDaGFkOiAn5LmN5b6XJyxcclxuICAgIENoaWxlOiAn5pm65YipJyxcclxuICAgIENoaW5hOiAn5Lit5Zu9JyxcclxuICAgIENvbG9tYmlhOiAn5ZOl5Lym5q+U5LqaJyxcclxuICAgICdDb3N0YSBSaWNhJzogJ+WTpeaWr+i+vum7juWKoCcsXHJcbiAgICBDcm9hdGlhOiAn5YWL572X5Zyw5LqaJyxcclxuICAgIEN1YmE6ICflj6Tlt7QnLFxyXG4gICAgQ3lwcnVzOiAn5aGe5rWm6Lev5pavJyxcclxuICAgICdDemVjaCBSZXB1YmxpYyc6ICfmjbflhYvlhbHlkozlm70nLFxyXG4gICAgJ0RlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIENvbmdvJzogJ+WImuaenOawkeS4u+WFseWSjOWbvScsXHJcbiAgICBEZW5tYXJrOiAn5Li56bqmJyxcclxuICAgIERqaWJvdXRpOiAn5ZCJ5biD5o+QJyxcclxuICAgICdEb21pbmljYW4gUmVwdWJsaWMnOiAn5aSa5piO5bC85Yqg5YWx5ZKM5Zu9JyxcclxuICAgICdFYXN0IFRpbW9yJzogJ+S4nOW4neaxticsXHJcbiAgICBFY3VhZG9yOiAn5Y6E55Oc5aSa5bCUJyxcclxuICAgIEVneXB0OiAn5Z+D5Y+KJyxcclxuICAgICdFbCBTYWx2YWRvcic6ICfokKjlsJTnk6blpJonLFxyXG4gICAgJ0VxdWF0b3JpYWwgR3VpbmVhJzogJ+i1pOmBk+WHoOWGheS6micsXHJcbiAgICBFcml0cmVhOiAn5Y6E56uL54m56YeM5LqaJyxcclxuICAgIEVzdG9uaWE6ICfniLHmspnlsLzkuponLFxyXG4gICAgRXRoaW9waWE6ICfln4PloZ7kv4Tmr5TkuponLFxyXG4gICAgJ0ZhbGtsYW5kIElzbGFuZHMnOiAn56aP5YWL5YWw576k5bKbJyxcclxuICAgIEZpamk6ICfmlpAnLFxyXG4gICAgRmlubGFuZDogJ+iKrOWFsCcsXHJcbiAgICBGcmFuY2U6ICfms5Xlm70nLFxyXG4gICAgJ0ZyZW5jaCBHdWlhbmEnOiAn5rOV5bGe5Zyt5Lqa6YKjJyxcclxuICAgICdGcmVuY2ggU291dGhlcm4gYW5kIEFudGFyY3RpYyBMYW5kcyc6ICfms5XlsZ7ljZfljYrnkIPlkozljZfmnoHpooblnLAnLFxyXG4gICAgR2Fib246ICfliqDok6wnLFxyXG4gICAgR2FtYmlhOiAn5YaI5q+U5LqaJyxcclxuICAgIEdlb3JnaWE6ICfmoLzpsoHlkInkuponLFxyXG4gICAgR2VybWFueTogJ+W+t+WbvScsXHJcbiAgICBHaGFuYTogJ+WKoOe6sycsXHJcbiAgICBHcmVlY2U6ICfluIzohYonLFxyXG4gICAgR3JlZW5sYW5kOiAn5qC86Zm15YWwJyxcclxuICAgIEd1YXRlbWFsYTogJ+WNseWcsOmprOaLiScsXHJcbiAgICBHdWluZWE6ICflh6DlhoXkuponLFxyXG4gICAgJ0d1aW5lYSBCaXNzYXUnOiAn5Yeg5YaF5Lqa5q+U57uNJyxcclxuICAgIEd1eWFuYTogJ+WcreS6mumCoycsXHJcbiAgICBIYWl0aTogJ+a1t+WcsCcsXHJcbiAgICBIb25kdXJhczogJ+a0qumDveaLieaWrycsXHJcbiAgICBIdW5nYXJ5OiAn5YyI54mZ5YipJyxcclxuICAgIEljZWxhbmQ6ICflhrDlspsnLFxyXG4gICAgSW5kaWE6ICfljbDluqYnLFxyXG4gICAgSW5kb25lc2lhOiAn5Y2w5bC8JyxcclxuICAgIElyYW46ICfkvIrmnJcnLFxyXG4gICAgSXJhcTogJ+S8iuaLieWFiycsXHJcbiAgICBJcmVsYW5kOiAn54ix5bCU5YWwJyxcclxuICAgIElzcmFlbDogJ+S7peiJsuWIlycsXHJcbiAgICBJdGFseTogJ+aEj+Wkp+WIqScsXHJcbiAgICAnSXZvcnkgQ29hc3QnOiAn6LGh54mZ5rW35bK4JyxcclxuICAgIEphbWFpY2E6ICfniZnkubDliqAnLFxyXG4gICAgSmFwYW46ICfml6XmnKwnLFxyXG4gICAgSm9yZGFuOiAn57qm5pemJyxcclxuICAgIEthemFraHN0YW46ICflk4jokKjlhYvmlq/lnaYnLFxyXG4gICAgS2VueWE6ICfogq/lsLzkuponLFxyXG4gICAgS29zb3ZvOiAn56eR57Si5rKDJyxcclxuICAgIEt1d2FpdDogJ+enkeWogeeJuScsXHJcbiAgICBLeXJneXpzdGFuOiAn5ZCJ5bCU5ZCJ5pav5pav5Z2mJyxcclxuICAgIExhb3M6ICfogIHmjJ0nLFxyXG4gICAgTGF0dmlhOiAn5ouJ6ISx57u05LqaJyxcclxuICAgIExlYmFub246ICfpu47lt7Tlq6knLFxyXG4gICAgTGVzb3RobzogJ+iOsee0ouaJmCcsXHJcbiAgICBMaWJlcmlhOiAn5Yip5q+U6YeM5LqaJyxcclxuICAgIExpYnlhOiAn5Yip5q+U5LqaJyxcclxuICAgIExpdGh1YW5pYTogJ+eri+mZtuWumycsXHJcbiAgICBMdXhlbWJvdXJnOiAn5Y2i5qOu5aChJyxcclxuICAgIE1hY2Vkb25pYTogJ+mprOWFtumhvycsXHJcbiAgICBNYWRhZ2FzY2FyOiAn6ams6L6+5Yqg5pav5YqgJyxcclxuICAgIE1hbGF3aTogJ+mprOaLiee7tCcsXHJcbiAgICBNYWxheXNpYTogJ+mprOadpeilv+S6micsXHJcbiAgICBNYWxpOiAn6ams6YeMJyxcclxuICAgIE1hdXJpdGFuaWE6ICfmr5vph4zloZTlsLzkuponLFxyXG4gICAgTWV4aWNvOiAn5aKo6KW/5ZOlJyxcclxuICAgIE1vbGRvdmE6ICfmkanlsJTlpJrnk6YnLFxyXG4gICAgTW9uZ29saWE6ICfokpnlj6QnLFxyXG4gICAgTW9udGVuZWdybzogJ+m7keWxsScsXHJcbiAgICBNb3JvY2NvOiAn5pGp5rSb5ZOlJyxcclxuICAgIE1vemFtYmlxdWU6ICfojqvmoZHmr5TlhYsnLFxyXG4gICAgTXlhbm1hcjogJ+e8heeUuCcsXHJcbiAgICBOYW1pYmlhOiAn57qz57Gz5q+U5LqaJyxcclxuICAgIE5lcGFsOiAn5bC85rOK5bCUJyxcclxuICAgIE5ldGhlcmxhbmRzOiAn6I235YWwJyxcclxuICAgICdOZXcgQ2FsZWRvbmlhJzogJ+aWsOWWgOmHjOWkmuWwvOS6micsXHJcbiAgICAnTmV3IFplYWxhbmQnOiAn5paw6KW/5YWwJyxcclxuICAgIE5pY2FyYWd1YTogJ+WwvOWKoOaLieeTnCcsXHJcbiAgICBOaWdlcjogJ+WwvOaXpeWwlCcsXHJcbiAgICBOaWdlcmlhOiAn5bC85pel5Yip5LqaJyxcclxuICAgICdOb3J0aCBLb3JlYSc6ICfljJfmnJ3pspwnLFxyXG4gICAgJ05vcnRoZXJuIEN5cHJ1cyc6ICfljJfloZ7mtabot6/mlq8nLFxyXG4gICAgTm9yd2F5OiAn5oyq5aiBJyxcclxuICAgIE9tYW46ICfpmL/mm7wnLFxyXG4gICAgUGFraXN0YW46ICflt7Tln7rmlq/lnaYnLFxyXG4gICAgUGFuYW1hOiAn5be05ou/6amsJyxcclxuICAgICdQYXB1YSBOZXcgR3VpbmVhJzogJ+W3tOW4g+S6muaWsOWHoOWGheS6micsXHJcbiAgICBQYXJhZ3VheTogJ+W3tOaLieWcrScsXHJcbiAgICBQZXJ1OiAn56eY6bKBJyxcclxuICAgIFBoaWxpcHBpbmVzOiAn6I+y5b6L5a6+JyxcclxuICAgIFBvbGFuZDogJ+azouWFsCcsXHJcbiAgICBQb3J0dWdhbDogJ+iRoeiQhOeJmScsXHJcbiAgICAnUHVlcnRvIFJpY28nOiAn5rOi5aSa6buO5ZCEJyxcclxuICAgIFFhdGFyOiAn5Y2h5aGU5bCUJyxcclxuICAgICdSZXB1YmxpYyBvZiBTZXJiaWEnOiAn5aGe5bCU57u05LqaJyxcclxuICAgICdSZXB1YmxpYyBvZiB0aGUgQ29uZ28nOiAn5Yia5p6c5YWx5ZKM5Zu9JyxcclxuICAgIFJvbWFuaWE6ICfnvZfpqazlsLzkuponLFxyXG4gICAgUnVzc2lhOiAn5L+E572X5pavJyxcclxuICAgIFJ3YW5kYTogJ+WNouaXuui+vicsXHJcbiAgICAnU2F1ZGkgQXJhYmlhJzogJ+aymeeJuemYv+aLieS8rycsXHJcbiAgICBTZW5lZ2FsOiAn5aGe5YaF5Yqg5bCUJyxcclxuICAgICdTaWVycmEgTGVvbmUnOiAn5aGe5ouJ5Yip5piCJyxcclxuICAgIFNpbmdhcG9yZTogJ+aWsOWKoOWdoScsXHJcbiAgICBTbG92YWtpYTogJ+aWr+a0m+S8kOWFiycsXHJcbiAgICBTbG92ZW5pYTogJ+aWr+a0m+aWh+WwvOS6micsXHJcbiAgICAnU29sb21vbiBJc2xhbmRzJzogJ+aJgOe9l+mXqOe+pOWymycsXHJcbiAgICBTb21hbGlhOiAn57Si6ams6YeMJyxcclxuICAgIFNvbWFsaWxhbmQ6ICfntKLpqazph4zlhbAnLFxyXG4gICAgJ1NvdXRoIEFmcmljYSc6ICfljZfpnZ4nLFxyXG4gICAgJ1NvdXRoIEtvcmVhJzogJ+mfqeWbvScsXHJcbiAgICAnU291dGggU3VkYW4nOiAn5Y2X6IuP5Li5JyxcclxuICAgIFNwYWluOiAn6KW/54+t54mZJyxcclxuICAgICdTcmkgTGFua2EnOiAn5pav6YeM5YWw5Y2hJyxcclxuICAgIFN1ZGFuOiAn6IuP5Li5JyxcclxuICAgIFN1cmluYW1lOiAn6IuP6YeM5Y2XJyxcclxuICAgIFN3YXppbGFuZDogJ+aWr+WogeWjq+WFsCcsXHJcbiAgICBTd2VkZW46ICfnkZ7lhbgnLFxyXG4gICAgU3dpdHplcmxhbmQ6ICfnkZ7lo6snLFxyXG4gICAgU3lyaWE6ICflj5nliKnkuponLFxyXG4gICAgVGFqaWtpc3RhbjogJ+WhlOWQieWFi+aWr+WdpicsXHJcbiAgICBUaGFpbGFuZDogJ+azsOWbvScsXHJcbiAgICAnVGhlIEJhaGFtYXMnOiAn5be05ZOI6amsJyxcclxuICAgIFRvZ286ICflpJrlk6UnLFxyXG4gICAgJ1RyaW5pZGFkIGFuZCBUb2JhZ28nOiAn54m56YeM5bC86L6+5ZKM5aSa5be05ZOlJyxcclxuICAgIFR1bmlzaWE6ICfnqoHlsLzmlq8nLFxyXG4gICAgVHVya2V5OiAn5Zyf6ICz5YW2JyxcclxuICAgIFR1cmttZW5pc3RhbjogJ+Wcn+W6k+abvOaWr+WdpicsXHJcbiAgICBVZ2FuZGE6ICfkuYzlubLovr4nLFxyXG4gICAgVWtyYWluZTogJ+S5jOWFi+WFsCcsXHJcbiAgICAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnOiAn6Zi/6IGU6YWLJyxcclxuICAgICdVbml0ZWQgS2luZ2RvbSc6ICfoi7Hlm70nLFxyXG4gICAgJ1VuaXRlZCBSZXB1YmxpYyBvZiBUYW56YW5pYSc6ICflnabmoZHlsLzkuponLFxyXG4gICAgJ1VuaXRlZCBTdGF0ZXMnOiAn576O5Zu9JyxcclxuICAgIFVydWd1YXk6ICfkuYzmi4nlnK0nLFxyXG4gICAgVXpiZWtpc3RhbjogJ+S5jOWFueWIq+WFi+aWr+WdpicsXHJcbiAgICBWYW51YXR1OiAn55Om5Yqq6Zi/5Zu+JyxcclxuICAgIFZlbmV6dWVsYTogJ+WnlOWGheeRnuaLiScsXHJcbiAgICBWaWV0bmFtOiAn6LaK5Y2XJyxcclxuICAgICdXZXN0IEJhbmsnOiAn6KW/5bK4JyxcclxuICAgICdXZXN0ZXJuIFNhaGFyYSc6ICfopb/mkpLlk4jmi4knLFxyXG4gICAgWWVtZW46ICfkuZ/pl6gnLFxyXG4gICAgWmFtYmlhOiAn6LWe5q+U5LqaJyxcclxuICAgIFppbWJhYndlOiAn5rSl5be05biD6Z+mJyxcclxuICB9O1xyXG4gIF9jaGlsZHJlbjogYW55ID0gW107XHJcbiAgbG9hZGVkTWFwOiB7IFtuYW1lOiBzdHJpbmddOiBQcm9taXNlPGFueT4gfSA9IHt9O1xyXG4gIHByb3ZpbmNlczogYW55O1xyXG4gIHN0YWNrID0gW107XHJcbiAgdmlzdWFsTWFwOiBhbnlbXTtcclxuICBAVmlld0NoaWxkKE5neEVjaGFydHNEaXJlY3RpdmUpXHJcbiAgbmd4RWNoYXJ0czogTmd4RWNoYXJ0c0RpcmVjdGl2ZTtcclxuICByZW5kZXJlciA9ICdzdmcnO1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhWzBdKSB7XHJcbiAgICAgICAgdGhpcy5tYXBTdHlsZSA9IHRoaXMuZGF0YVswXS5uYW1lO1xyXG4gICAgICAgIHRoaXMuc3RhY2sucHVzaCh0aGlzLm1hcFN0eWxlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbG9hZE1hcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIC8vIGF3YWl0IHRoaXMuY29tbW9uU2VydmljZS5nZXRNYXAoKTtcclxuICAgIC8vIGF3YWl0IGltcG9ydCgnZWNoYXJ0cy9kaXN0L2V4dGVuc2lvbi9ibWFwLmpzJyk7XHJcbiAgICB0aGlzLnByb3ZpbmNlcyA9IChhd2FpdCB0aGlzLmh0dHAuZ2V0KCcvYXNzZXRzL21hcExpc3RJdGVtLmpzb24nKS50b1Byb21pc2UoKSkgYXMgYW55O1xyXG4gICAgLy8gY29uc3QgbWFwID0gZWNoYXJ0cy5nZXRNYXAodGhpcy5tYXBTdHlsZSk7XHJcbiAgICAvLyBpZiAobWFwID09IG51bGwpIHtcclxuICAgIC8vICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyB0aGlzLm1hcFN0eWxlICsgJy5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgICAvLyAgIGVjaGFydHMucmVnaXN0ZXJNYXAodGhpcy5tYXBTdHlsZSwgZGF0YSk7XHJcbiAgICAvLyB9XHJcbiAgICAvLyB0aGlzLmhhc01hcCA9IHRydWU7XHJcbiAgICAvLyB0aGlzLmNoYXJ0SW5pdCgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5neEVjaGFydHMpIHtcclxuICAgICAgKHRoaXMubmd4RWNoYXJ0cyBhcyBhbnkpLmluaXRDaGFydCA9ICgpID0+IHt9O1xyXG4gICAgfVxyXG4gIH1cclxuICBjaGFydEluaXQoKSB7XHJcbiAgICAvLyB0aGlzLmxvYWRNYXAodGhpcy5tYXBTdHlsZSkudGhlbigoZGF0YSkgPT4ge1xyXG4gICAgbGV0IHNlcmllcyA9IFtdO1xyXG4gICAgdGhpcy52aXN1YWxNYXAgPSBbXTtcclxuICAgIHRoaXMucmVuZGVyZXIgPSAnc3ZnJztcclxuICAgIHRoaXMuX2NoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XHJcbiAgICAgIGlmIChjaGlsZC50eXBlID09PSAndmlzdWFsJykge1xyXG4gICAgICAgIC8vIHNlcmllcyA9IGNoaWxkLnNlcmllcztcclxuICAgICAgICAvLyBzZXJpZXNbMF0ubWFwVHlwZSA9IHRoaXMubWFwU3R5bGU7XHJcbiAgICAgICAgaWYgKGNoaWxkLnZpc3VhbE1hcCAmJiBjaGlsZC5pdGVtLmxlbmd0aCkge1xyXG4gICAgICAgICAgaWYgKGNoaWxkLnZpc3VhbE1hcDIpIHtcclxuICAgICAgICAgICAgdGhpcy52aXN1YWxNYXAucHVzaChjaGlsZC52aXN1YWxNYXAyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMudmlzdWFsTWFwLnB1c2goY2hpbGQudmlzdWFsTWFwKTtcclxuICAgICAgICAgIGNoaWxkLnZpc3VhbE1hcC5zZXJpZXNJbmRleCA9IHNlcmllcy5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkLml0ZW0pKSB7XHJcbiAgICAgICAgc2VyaWVzID0gWy4uLnNlcmllcywgLi4uY2hpbGQuaXRlbV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2VyaWVzID0gWy4uLnNlcmllcywgY2hpbGQuaXRlbV07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc2VyaWVzLmZvckVhY2goKGxheWVyLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAobGF5ZXIudHlwZSA9PT0gJ2xpbmVzJykge1xyXG4gICAgICAgIGRlbGV0ZSBsYXllci5jb29yZGluYXRlU3lzdGVtO1xyXG4gICAgICAgIC8vIOmjnue6v+WxguS4jeaUr+aMgXN2Z+a4suafk1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSAnY2FudmFzJztcclxuICAgICAgfVxyXG4gICAgICBpZiAobGF5ZXIudHlwZSA9PT0gJ3NjYXR0ZXInKSB7XHJcbiAgICAgICAgbGF5ZXIuY29vcmRpbmF0ZVN5c3RlbSA9ICdnZW8nO1xyXG4gICAgICAgIC8vIGxheWVyLnN5bWJvbFNpemUgPSAnMTAnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmIChsYXllci50eXBlID09PSAnbWFwJykge1xyXG4gICAgICAvLyAgIHRoaXMudmlzdWFsTWFwLmZvckVhY2goKHZpc3VhbE1hcCkgPT4ge1xyXG4gICAgICAvLyAgICAgdmlzdWFsTWFwWydzZXJpZXNJbmRleCddID0gaW5kZXg7XHJcbiAgICAgIC8vICAgfSk7XHJcbiAgICAgIC8vIH1cclxuICAgIH0pO1xyXG4gICAgY29uc3QgdGV4dFN0eWxlID0gZ2V0RWNoYXJ0c1RleHRTdHlsZSh0aGlzLmFyZWFOYW1lZm9udCk7XHJcbiAgICB0aGlzLmNoYXJ0T3B0aW9uID0ge1xyXG4gICAgICB0b29sdGlwOiB7XHJcbiAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nLFxyXG4gICAgICAgIHRyaWdnZXJPbjogdGhpcy50cmlnZ2VyVHlwZSA/IHRoaXMudHJpZ2dlclR5cGUgOiAnbW91c2Vtb3ZlJyxcclxuICAgICAgfSxcclxuICAgICAgZ2VvOiB7XHJcbiAgICAgICAgbGFiZWw6IHtcclxuICAgICAgICAgIG5vcm1hbDoge1xyXG4gICAgICAgICAgICAvL+mdmeaAgeeahOaXtuWAmeWxleekuuagt+W8j1xyXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3dBcmVhTmFtZSwgLy/mmK/lkKbmmL7npLrlnLDlm77nnIHku73lvpflkI3np7BcclxuICAgICAgICAgICAgdGV4dFN0eWxlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVtcGhhc2lzOiB7XHJcbiAgICAgICAgICAgIHNob3c6IHRoaXMuc2hvd0FyZWFOYW1lLFxyXG4gICAgICAgICAgICB0ZXh0U3R5bGUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2VsZWN0ZWRNb2RlOiB0aGlzLnNlbGVjdGVkTW9kZSxcclxuICAgICAgICBzZWxlY3Q6IHtcclxuICAgICAgICAgIGxhYmVsOiB7XHJcbiAgICAgICAgICAgIHNob3c6IHRoaXMuc2hvd0FyZWFOYW1lLCAvL+aYr+WQpuaYvuekuuWcsOWbvuecgeS7veW+l+WQjeensFxyXG4gICAgICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhpcy5hcmVhTmFtZWZvbnQ/LmNvbG9yIHx8ICcjZmZmJyxcclxuICAgICAgICAgICAgICBmb250U2l6ZTogdGhpcy5hcmVhTmFtZWZvbnQ/LnNpemUgfHwgMTIsXHJcbiAgICAgICAgICAgICAgZm9udEZhbWlseTogdGhpcy5hcmVhTmFtZWZvbnQ/LmZhbWlseSB8fCAnJyxcclxuICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiB0aGlzLmFyZWFOYW1lZm9udD8ubGluZUhlaWdodCB8fCAxMixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBpdGVtU3R5bGU6IHtcclxuICAgICAgICAgICAgYXJlYUNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXHJcbiAgICAgICAgICAgICAgeDogMC41LFxyXG4gICAgICAgICAgICAgIHk6IDAuNSxcclxuICAgICAgICAgICAgICByOiAwLjgsXHJcbiAgICAgICAgICAgICAgY29sb3JTdG9wczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLnNlbGVjdENvbG9yU3RhcnQgPyB0aGlzLnNlbGVjdENvbG9yU3RhcnQgOiB0aGlzLl9hcmVhQ29sb3IsIC8vIDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5zZWxlY3RDb2xvckVuZCA/IHRoaXMuc2VsZWN0Q29sb3JFbmQgOiB0aGlzLl9hcmVhQ29sb3IsIC8vIDEwMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgZ2xvYmFsQ29vcmQ6IGZhbHNlLCAvLyDnvLrnnIHkuLogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IHRoaXMuX2JvcmRlckNvbG9yLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGl0ZW1TdHlsZToge1xyXG4gICAgICAgICAgbm9ybWFsOiB7XHJcbiAgICAgICAgICAgIC8vIGFyZWFDb2xvcjogdGhpcy5hcmVhQ29sb3IsXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiB0aGlzLmJvcmRlckNvbG9yLFxyXG4gICAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgICBhcmVhQ29sb3I6IHtcclxuICAgICAgICAgICAgICB0eXBlOiAncmFkaWFsJyxcclxuICAgICAgICAgICAgICB4OiAwLjUsXHJcbiAgICAgICAgICAgICAgeTogMC41LFxyXG4gICAgICAgICAgICAgIHI6IDAuOCxcclxuICAgICAgICAgICAgICBjb2xvclN0b3BzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMubWFwQ29sb3JTdGFydCA/IHRoaXMubWFwQ29sb3JTdGFydCA6IHRoaXMuYXJlYUNvbG9yLCAvLyAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMubWFwQ29sb3JFbmQgPyB0aGlzLm1hcENvbG9yRW5kIDogdGhpcy5hcmVhQ29sb3IsIC8vIDEwMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgZ2xvYmFsQ29vcmQ6IGZhbHNlLCAvLyDnvLrnnIHkuLogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc2hhZG93Q29sb3I6IHRoaXMuc2hhZG93Q29sb3IsXHJcbiAgICAgICAgICAgIHNoYWRvd0JsdXI6IHRoaXMuc2hhZG93V2lkdGgsXHJcbiAgICAgICAgICAgIHNoYWRvd09mZnNldFg6IC0yLFxyXG4gICAgICAgICAgICBzaGFkb3dPZmZzZXRZOiAyLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVtcGhhc2lzOiB7XHJcbiAgICAgICAgICAgIGFyZWFDb2xvcjoge1xyXG4gICAgICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxyXG4gICAgICAgICAgICAgIHg6IDAuNSxcclxuICAgICAgICAgICAgICB5OiAwLjUsXHJcbiAgICAgICAgICAgICAgcjogMC44LFxyXG4gICAgICAgICAgICAgIGNvbG9yU3RvcHM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5zZWxlY3RDb2xvclN0YXJ0ID8gdGhpcy5zZWxlY3RDb2xvclN0YXJ0IDogdGhpcy5fYXJlYUNvbG9yLCAvLyAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VsZWN0Q29sb3JFbmQgPyB0aGlzLnNlbGVjdENvbG9yRW5kIDogdGhpcy5fYXJlYUNvbG9yLCAvLyAxMDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGdsb2JhbENvb3JkOiBmYWxzZSwgLy8g57y655yB5Li6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiB0aGlzLl9ib3JkZXJDb2xvcixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgbWFwOiB0aGlzLm1hcFN0eWxlLFxyXG4gICAgICAgIHJvYW06IHRoaXMuem9vbVN3aXRjaCxcclxuICAgICAgICBuYW1lTWFwOiB0aGlzLm5hbWVNYXAsXHJcbiAgICAgICAgem9vbTogdGhpcy56b29tLFxyXG4gICAgICB9LFxyXG4gICAgICBzZXJpZXMsXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMudmlzdWFsTWFwPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5jaGFydE9wdGlvbi52aXN1YWxNYXAgPSB0aGlzLnZpc3VhbE1hcDtcclxuICAgIH1cclxuICAgIC8vIH0pO1xyXG4gIH1cclxuICBjaGlsZEluaXQoY2hpbGQ6IGFueSkge1xyXG4gICAgaWYgKGNoaWxkLmlkKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkSW5kZXggPSB0aGlzLl9jaGlsZHJlbi5maW5kSW5kZXgoKHMpID0+IHMuaWQgPT09IGNoaWxkLmlkKTtcclxuICAgICAgaWYgKGNoaWxkSW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRoaXMuX2NoaWxkcmVuW2NoaWxkSW5kZXhdID0gY2hpbGQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fY2hpbGRyZW4ucHVzaChjaGlsZCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jaGFydEluaXQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZGVsZXRlQ2hpbGQoY2hpbGRJZDogc3RyaW5nKSB7XHJcbiAgICBpZiAoY2hpbGRJZCkge1xyXG4gICAgICBjb25zdCBjaGlsZEluZGV4ID0gdGhpcy5fY2hpbGRyZW4uZmluZEluZGV4KChzKSA9PiBzLmlkID09PSBjaGlsZElkKTtcclxuICAgICAgLy8gdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAvLyAgIGlmIChjaGlsZElkID09PSBlbGVtZW50LmlkKSB7XHJcbiAgICAgIC8vICAgICB0aGlzLnZpc3VhbE1hcCA9IG51bGw7XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9KTtcclxuICAgICAgaWYgKGNoaWxkSW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRoaXMuX2NoaWxkcmVuLnNwbGljZShjaGlsZEluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLmNoYXJ0SW5pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBsb2FkTWFwKG5hbWU6IHN0cmluZykge1xyXG4gIC8vICAgbGV0IGxvYWRNYXBQcm9taXNlID0gdGhpcy5sb2FkZWRNYXBbbmFtZV07XHJcbiAgLy8gICBpZiAoIWxvYWRNYXBQcm9taXNlKSB7XHJcbiAgLy8gICAgIGxvYWRNYXBQcm9taXNlID0gdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vJyArIG5hbWUgKyAnLmpzb24nKS50b1Byb21pc2UoKTtcclxuICAvLyAgICAgdGhpcy5sb2FkZWRNYXBbbmFtZV0gPSBsb2FkTWFwUHJvbWlzZTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBsb2FkTWFwUHJvbWlzZTtcclxuICAvLyB9XHJcbiAgYXN5bmMgcmVsb2FkTWFwKCkge1xyXG4gICAgY29uc3QgbWFwU3R5bGUgPSB0aGlzLm1hcFN0eWxlO1xyXG4gICAgY29uc3QgbWFwID0gZWNoYXJ0cy5nZXRNYXAobWFwU3R5bGUpO1xyXG4gICAgaWYgKG1hcCA9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGRhdGE6IGFueSA9IGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyBtYXBTdHlsZSArICcuanNvbicpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKG1hcFN0eWxlLCBkYXRhKTtcclxuICAgIH1cclxuICAgIHRoaXMuaGFzTWFwID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgfVxyXG4gIGFzeW5jIG1hcmtDbGljayhldmVudCkge1xyXG4gICAgbGV0IGxuZzogbnVtYmVyO1xyXG4gICAgbGV0IGxhdDogbnVtYmVyO1xyXG4gICAgaWYgKGV2ZW50LnNlcmllc0lkKSB7XHJcbiAgICAgIGxuZyA9IGV2ZW50LnZhbHVlWzBdO1xyXG4gICAgICBsYXQgPSBldmVudC52YWx1ZVsxXTtcclxuICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLl9jaGlsZHJlbi5maW5kKChzKSA9PiBldmVudC5zZXJpZXNJZC5zdGFydHNXaXRoKHMuaWQpKTtcclxuICAgICAgaWYgKGNoaWxkICYmIGNoaWxkLm9uQ2xpY2spIHtcclxuICAgICAgICBjaGlsZC5vbkNsaWNrKGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgbWFwID0gZWNoYXJ0cy5nZXRNYXAodGhpcy5tYXBTdHlsZSk7XHJcbiAgICAgIGlmIChtYXApIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgbWFwLmdlb0pzb24uZmVhdHVyZXMpIHtcclxuICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBmZWF0dXJlLnByb3BlcnRpZXM7XHJcbiAgICAgICAgICBpZiAocHJvcGVydGllcy5uYW1lID09PSBldmVudC5uYW1lKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wZXJ0aWVzLmNwKSB7XHJcbiAgICAgICAgICAgICAgbG5nID0gcHJvcGVydGllcy5jcFswXTtcclxuICAgICAgICAgICAgICBsYXQgPSBwcm9wZXJ0aWVzLmNwWzFdO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnRpZXMuY2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgbG5nID0gcHJvcGVydGllcy5jZW50ZXJbMF07XHJcbiAgICAgICAgICAgICAgbGF0ID0gcHJvcGVydGllcy5jZW50ZXJbMV07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2cocHJvcGVydGllcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHByb3ZpbmNlID0gdGhpcy5wcm92aW5jZXMuZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5sYWJlbCA9PT0gZXZlbnQubmFtZSk7XHJcbiAgICAgIGlmIChwcm92aW5jZSkge1xyXG4gICAgICAgIHRoaXMuc3RhY2sucHVzaCh0aGlzLm1hcFN0eWxlKTtcclxuICAgICAgICB0aGlzLm1hcFN0eWxlID0gcHJvdmluY2UudmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZWxvYWRNYXAoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hcmVhQ2xpY2suZW1pdCh7IG5hbWU6IGV2ZW50Lm5hbWUsIGxuZywgbGF0IH0pO1xyXG4gICAgLy8gaWYoZXZlbnQuY29tcG9uZW50U3ViVHlwZSE9bnVsbCAmJiBldmVudC5jb21wb25lbnRTdWJUeXBlPT09J3NjYXR0ZXInKXtcclxuICAgIC8vICAgY29uc3Qgb2JqPWV2ZW50LmRhdGE7XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKGV2ZW50KTtcclxuICAgIC8vICAgdGhpcy5tYXJrZXJUaWVyQ2xpY2suZW1pdCh7XHJcbiAgICAvLyAgICAgYWRkcmVzczogb2JqLm5hbWUsXHJcbiAgICAvLyAgICAgaW5mb3JtYXRpb246ICcnLFxyXG4gICAgLy8gICAgIGdyb3VwOiAnJyxcclxuICAgIC8vICAgICBsbmc6IG9iai52YWx1ZVswXSxcclxuICAgIC8vICAgICBsYXQ6IG9iai52YWx1ZVsxXSxcclxuICAgIC8vICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIHJvbGxiYWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuc3RhY2sgIT0gbnVsbCAmJiB0aGlzLnN0YWNrLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHRoaXMubWFwU3R5bGUgPSB0aGlzLnN0YWNrLnBvcCgpO1xyXG4gICAgICB0aGlzLnJlbG9hZE1hcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VGV4dFN0eWxlKCkge31cclxufVxyXG4iXX0=
753
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmltZXRyaWMtbWFwMmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL3BsYW5pbWV0cmljLW1hcDJkL3BsYW5pbWV0cmljLW1hcDJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUNWLFNBQVMsRUFLVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0lBOEJyRCx5QkFBeUIsdUNBQXpCLHlCQUEwQixTQUFRLHdCQUF3QjtJQTBXckUsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEWSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBbld0QyxhQUFRLEdBQUcsT0FBTyxDQUFDO1FBSW5CLFNBQUksR0FBRyxDQUFDLENBQUM7UUFPVCxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBT3RCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBT3hCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFFdkIsaUJBQVksR0FBUTtZQUNsQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxF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QkFDVixNQUFNLEVBQUUsSUFBSTtnQkFDWixTQUFTLEVBQUUsSUFBSTthQUNoQjtTQUNGO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQix5QkFBeUI7WUFDekIscUJBQXFCO1lBQ3JCLHVCQUF1QjtTQUN4QjtRQUNELFdBQVcsRUFBRSxjQUFjO0tBQzVCLENBQUM7cUNBMlc0QixVQUFVO0dBMVczQix5QkFBeUIsQ0Ftb0JyQztTQW5vQlkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIEV2ZW50RW1pdHRlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgV2lkZ2V0LCBQcm9wZXJ0eSwgRGF0YSwgRGF0YU91dHB1dCwgRXZlbnQgfSBmcm9tICdiYmotd2lkZ2V0LWJhc2UnO1xyXG5pbXBvcnQgeyBQYXJlbnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9wYXJlbnQtY29udGFpbmVyL3BhcmVudC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0ICogYXMgZWNoYXJ0cyBmcm9tICdlY2hhcnRzJztcclxuaW1wb3J0IHsgTmd4RWNoYXJ0c0RpcmVjdGl2ZSB9IGZyb20gJ25neC1lY2hhcnRzJztcclxuaW1wb3J0IHsgZ2V0RWNoYXJ0c1RleHRTdHlsZSB9IGZyb20gJy4uL3NoYXJlZC91dGlsL2VjaGFydHMudXRpbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NjLXBsYW5pbWV0cmljLW1hcDJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGxhbmltZXRyaWMtbWFwMmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BsYW5pbWV0cmljLW1hcDJkLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQYXJlbnRDb250YWluZXJDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBsYW5pbWV0cmljTWFwMmRDb21wb25lbnQpIH1dLFxyXG59KVxyXG5AV2lkZ2V0KCcyROW5s+mdouWcsOWbvicsIHtcclxuICBncm91cDogJ2NvbXBvbmVudCcsXHJcbiAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi8yZG1hcC5wbmcnLFxyXG4gIGljb246ICdpY29ubW9rdWFpJyxcclxuICBjaGlsZHJlbjogW1xyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ+WRvOWQuOawlOazoeWxgicsXHJcbiAgICAgIHR5cGU6ICdzYy1icmVhdGhpbmctYnViYmxlLWxheWVyJyxcclxuICAgICAgb3B0aW9uOiB7fSxcclxuICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICBoaWRlQ2hpbGQ6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgY2hpbGRUeXBlczogW1xyXG4gICAgJ3NjLWZseS1saW5lLWxheWVyJyxcclxuICAgICdzYy1icmVhdGhpbmctYnViYmxlLWxheWVyJyxcclxuICAgICdzYy1tYXAyZC1wb2x5bGluZS1sYXllcicsXHJcbiAgICAnc2MtbWFwMmQtbWFyay1sYXllcicsXHJcbiAgICAnc2MtbWFwMmQtdmlzdWFsLWxheWVyJyxcclxuICBdLFxyXG4gIGRlc2NyaXB0aW9uOiAnaGFzQ2hpbGRJdGVtJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBsYW5pbWV0cmljTWFwMmRDb21wb25lbnQgZXh0ZW5kcyBQYXJlbnRDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBAUHJvcGVydHkoJ+WcsOWbvuagt+W8jycsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215VXJsU2VsZWN0JyxcclxuICAgICAgdXJsOiAnL2Fzc2V0cy9tYXBMaXN0SXRlbS5qc29uJyxcclxuICAgIH0sXHJcbiAgfSlcclxuICBtYXBTdHlsZSA9ICdjaGluYSc7XHJcbiAgQFByb3BlcnR5KCflnLDlm77nvKnmlL4nLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdteVJhbmdlJywgbWluOiAxLCBtYXg6IDQwLCBzdGVwOiAxIH0sXHJcbiAgfSlcclxuICB6b29tID0gMTtcclxuICBAUHJvcGVydHkoJ+WMuuWfn+iDjOaZrycsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIGFyZWFDb2xvciA9ICcjMzIzYzQ4JztcclxuICBAUHJvcGVydHkoJ+WMuuWfn+aPj+i+uScsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIGJvcmRlckNvbG9yID0gJyM0MDRhNTknO1xyXG4gIEBQcm9wZXJ0eSgn56e75Yqo6auY5LquJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgX2FyZWFDb2xvciA9ICcjMmEzMzNkJztcclxuICBAUHJvcGVydHkoJ+WcsOWMuuWtl+S9kycsIHsgdWk6IHsgd2lkZ2V0OiAnbXlGb250JyB9IH0pXHJcbiAgYXJlYU5hbWVmb250OiBhbnkgPSB7XHJcbiAgICBmYW1pbHk6ICcnLFxyXG4gICAgY29sb3I6ICcjRkZGRkZGJyxcclxuICAgIHdlaWdodDogJ25vcm1hbCcsXHJcbiAgICBzaXplOiAxMixcclxuICAgIHNwYWNlOiAwLFxyXG4gICAgbGluZUhlaWdodDogMTIsXHJcbiAgfTtcclxuICBAUHJvcGVydHkoJ+aYvuekuuWcsOWQjScsIHtcclxuICAgIHR5cGU6ICdib29sZWFuJyxcclxuICB9KVxyXG4gIHNob3dBcmVhTmFtZSA9IHRydWU7XHJcbiAgQFByb3BlcnR5KCfop6blj5HmlrnlvI8nLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdzZWxlY3QnIH0sXHJcbiAgICBlbnVtOiBbXHJcbiAgICAgIHsgbGFiZWw6ICfngrnlh7snLCB2YWx1ZTogJ2NsaWNrJyB9LFxyXG4gICAgICB7IGxhYmVsOiAn6byg5qCH56e75YqoJywgdmFsdWU6ICdtb3VzZW1vdmUnIH0sXHJcbiAgICBdLFxyXG4gIH0pXHJcbiAgdHJpZ2dlclR5cGUgPSAnbW91c2Vtb3ZlJztcclxuICBAUHJvcGVydHkoJ+mAieS4reaWueW8jycsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcgfSxcclxuICAgIGVudW06IFtcclxuICAgICAgeyBsYWJlbDogJ+m7mOiupCcsIHZhbHVlOiAnJyB9LFxyXG4gICAgICB7IGxhYmVsOiAn5Y2V6YCJJywgdmFsdWU6ICdzaW5nbGUnIH0sXHJcbiAgICAgIHsgbGFiZWw6ICflpJrpgIknLCB2YWx1ZTogJ211bHRpcGxlJyB9LFxyXG4gICAgXSxcclxuICB9KVxyXG4gIHNlbGVjdGVkTW9kZSA9ICcnO1xyXG5cclxuICBAUHJvcGVydHkoJ+e8qeaUvuW8gOWFsycsIHtcclxuICAgIHR5cGU6ICdib29sZWFuJyxcclxuICB9KVxyXG4gIHpvb21Td2l0Y2ggPSAnZmFsc2UnO1xyXG4gIEBQcm9wZXJ0eSgn6auY5Lqu5o+P6L65Jywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgX2JvcmRlckNvbG9yID0gJyc7XHJcbiAgQFByb3BlcnR5KCfpmLTlvbHpopzoibInLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBzaGFkb3dDb2xvciA9ICcjMmEzMzNkJztcclxuICBAUHJvcGVydHkoJ+i+ueahhueyl+e7hicsIHtcclxuICAgIHR5cGU6ICdudW1iZXInLFxyXG4gIH0pXHJcbiAgc2hhZG93V2lkdGggPSAyMDtcclxuICBAUHJvcGVydHkoJ+WcsOWbvua4kOWPmOW8gOWniycsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIG1hcENvbG9yU3RhcnQgPSAnIzJhMzMzZCc7XHJcbiAgQFByb3BlcnR5KCflnLDlm77muJDlj5jnu5PmnZ8nLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBtYXBDb2xvckVuZCA9ICcjMmEzMzNkJztcclxuICBAUHJvcGVydHkoJ+mAieS4rea4kOWPmOW8gOWniycsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIHNlbGVjdENvbG9yU3RhcnQgPSAnIzJhMzMzZCc7XHJcbiAgQFByb3BlcnR5KCfpgInkuK3muJDlj5jnu5PmnZ8nLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBzZWxlY3RDb2xvckVuZCA9ICcjMmEzMzNkJztcclxuXHJcbiAgY2hhcnRPcHRpb246IGFueTtcclxuICBoYXNNYXAgPSBmYWxzZTtcclxuICBARGF0YSh7XHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgIG5hbWU6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn5Zyw5ZCNJyB9LFxyXG4gICAgICBsbmc6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn57uP5bqmJyB9LFxyXG4gICAgICBsYXQ6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn57qs5bqmJyB9LFxyXG4gICAgfSxcclxuICB9KVxyXG4gIGRhdGE6IGFueVtdID0gW107XHJcbiAgQERhdGFPdXRwdXQoWyduYW1lJywgJ2xuZycsICdsYXQnXSlcclxuICBARXZlbnQoJ+mAieS4rScsIHtcclxuICAgIHBhcmFtczoge1xyXG4gICAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICflgLwnIH0sXHJcbiAgICAgICAgbG5nOiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+e7j+W6picgfSxcclxuICAgICAgICBsYXQ6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn57qs5bqmJyB9LFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICB9KVxyXG4gIGFyZWFDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgbmFtZU1hcDogYW55ID0ge1xyXG4gICAgU29tYWxpYTogJ+e0oumprOmHjCcsXHJcbiAgICBMaWVjaHRlbnN0ZWluOiAn5YiX5pSv5pWm5aOr55m7JyxcclxuICAgIE1vcm9jY286ICfmkanmtJvlk6UnLFxyXG4gICAgJ1cuIFNhaGFyYSc6ICfopb/mkpLlk4jmi4knLFxyXG4gICAgU2VyYmlhOiAn5aGe5bCU57u05LqaJyxcclxuICAgIEFmZ2hhbmlzdGFuOiAn6Zi/5a+M5rGXJyxcclxuICAgIEFuZ29sYTogJ+WuieWTpeaLiScsXHJcbiAgICBBbGJhbmlhOiAn6Zi/5bCU5be05bC85LqaJyxcclxuICAgIEFsYW5kOiAn5aWl5YWw576k5bKbJyxcclxuICAgIEFuZG9ycmE6ICflronpgZPlsJQnLFxyXG4gICAgJ1VuaXRlZCBBcmFiIEVtaXJhdGVzJzogJ+mYv+aLieS8r+iBlOWQiOmFi+mVv+WbvScsXHJcbiAgICBBcmdlbnRpbmE6ICfpmL/moLnlu7cnLFxyXG4gICAgQXJtZW5pYTogJ+S6mue+juWwvOS6micsXHJcbiAgICAnQW1lcmljYW4gU2Ftb2EnOiAn576O5bGe6JCo5pGp5LqaJyxcclxuICAgICdGci4gUy4gQW50YXJjdGljIExhbmRzJzogJ+azleWxnuWNl+mDqOmihuWcsCcsXHJcbiAgICAnQW50aWd1YSBhbmQgQmFyYi4nOiAn5a6J5o+Q55Oc5ZKM5be05biD6L6+JyxcclxuICAgIEF1c3RyYWxpYTogJ+a+s+Wkp+WIqeS6micsXHJcbiAgICBBdXN0cmlhOiAn5aWl5Zyw5YipJyxcclxuICAgIEF6ZXJiYWlqYW46ICfpmL/loZ7mi5znloYnLFxyXG4gICAgQnVydW5kaTogJ+W4g+mahui/qicsXHJcbiAgICBCZWxnaXVtOiAn5q+U5Yip5pe2JyxcclxuICAgIEJlbmluOiAn6LSd5a6BJyxcclxuICAgICdCdXJraW5hIEZhc28nOiAn5biD5Z+657qz5rOV57SiJyxcclxuICAgIEJhbmdsYWRlc2g6ICflrZ/liqDmi4nlm70nLFxyXG4gICAgQnVsZ2FyaWE6ICfkv53liqDliKnkuponLFxyXG4gICAgQmFocmFpbjogJ+W3tOaelycsXHJcbiAgICBCYWhhbWFzOiAn5be05ZOI6amsJyxcclxuICAgICdCb3NuaWEgYW5kIEhlcnouJzogJ+azouaWr+WwvOS6muWSjOm7keWhnuWTpee7tOmCoycsXHJcbiAgICBCZWxhcnVzOiAn55m95L+E572X5pavJyxcclxuICAgIEJlbGl6ZTogJ+S8r+WIqeWFuScsXHJcbiAgICBCZXJtdWRhOiAn55m+5oWV5aSnJyxcclxuICAgIEJvbGl2aWE6ICfnjrvliKnnu7TkuponLFxyXG4gICAgQnJhemlsOiAn5be06KW/JyxcclxuICAgIEJhcmJhZG9zOiAn5be05be05aSa5pavJyxcclxuICAgIEJydW5laTogJ+aWh+iOsScsXHJcbiAgICBCaHV0YW46ICfkuI3kuLknLFxyXG4gICAgQm90c3dhbmE6ICfljZrojKjnk6bnurMnLFxyXG4gICAgJ0NlbnRyYWwgQWZyaWNhbiBSZXAuJzogJ+S4remdnuWFseWSjOWbvScsXHJcbiAgICBDYW5hZGE6ICfliqDmi7/lpKcnLFxyXG4gICAgU3dpdHplcmxhbmQ6ICfnkZ7lo6snLFxyXG4gICAgQ2hpbGU6ICfmmbrliKknLFxyXG4gICAgQ2hpbmE6ICfkuK3lm70nLFxyXG4gICAgXCJDw7R0ZSBkJ0l2b2lyZVwiOiAn56eR54m56L+q55OmJyxcclxuICAgIENhbWVyb29uOiAn5ZaA6bqm6ZqGJyxcclxuICAgICdEZW0uIFJlcC4gQ29uZ28nOiAn5Yia5p6c77yI6YeR77yJJyxcclxuICAgIENvbmdvOiAn5Yia5p6c77yI5biD77yJJyxcclxuICAgIENvbG9tYmlhOiAn5ZOl5Lym5q+U5LqaJyxcclxuICAgIENvbW9yb3M6ICfnp5HmkannvZcnLFxyXG4gICAgJ0NhcGUgVmVyZGUnOiAn5L2b5b6X6KeSJyxcclxuICAgICdDb3N0YSBSaWNhJzogJ+WTpeaWr+i+vum7juWKoCcsXHJcbiAgICBDdWJhOiAn5Y+k5be0JyxcclxuICAgIEN1cmHDp2FvOiAn5bqT5ouJ57SiJyxcclxuICAgICdDYXltYW4gSXMuJzogJ+W8gOabvOe+pOWymycsXHJcbiAgICAnTi4gQ3lwcnVzJzogJ+WMl+Whnua1pui3r+aWrycsXHJcbiAgICBDeXBydXM6ICfloZ7mtabot6/mlq8nLFxyXG4gICAgJ0N6ZWNoIFJlcC4nOiAn5o235YWLJyxcclxuICAgIEdlcm1hbnk6ICflvrflm70nLFxyXG4gICAgRGppYm91dGk6ICflkInluIPmj5AnLFxyXG4gICAgRG9taW5pY2E6ICflpJrnsbPlsLzlhYsnLFxyXG4gICAgRGVubWFyazogJ+S4uem6picsXHJcbiAgICAnRG9taW5pY2FuIFJlcC4nOiAn5aSa57Gz5bC85YqgJyxcclxuICAgIEFsZ2VyaWE6ICfpmL/lsJTlj4rliKnkuponLFxyXG4gICAgRWN1YWRvcjogJ+WOhOeTnOWkmuWwlCcsXHJcbiAgICBFZ3lwdDogJ+Wfg+WPiicsXHJcbiAgICBFcml0cmVhOiAn5Y6E56uL54m56YeM5LqaJyxcclxuICAgIFNwYWluOiAn6KW/54+t54mZJyxcclxuICAgIEVzdG9uaWE6ICfniLHmspnlsLzkuponLFxyXG4gICAgRXRoaW9waWE6ICfln4PloZ7kv4Tmr5TkuponLFxyXG4gICAgRmlubGFuZDogJ+iKrOWFsCcsXHJcbiAgICBGaWppOiAn5paQ5rWOJyxcclxuICAgICdGYWxrbGFuZCBJcy4nOiAn56aP5YWL5YWw576k5bKbJyxcclxuICAgIEZyYW5jZTogJ+azleWbvScsXHJcbiAgICAnRmFlcm9lIElzLic6ICfms5XnvZfnvqTlspsnLFxyXG4gICAgTWljcm9uZXNpYTogJ+WvhuWFi+e9l+WwvOilv+S6micsXHJcbiAgICBHYWJvbjogJ+WKoOiTrCcsXHJcbiAgICAnVW5pdGVkIEtpbmdkb20nOiAn6Iux5Zu9JyxcclxuICAgIEdlb3JnaWE6ICfmoLzpsoHlkInkuponLFxyXG4gICAgR2hhbmE6ICfliqDnurMnLFxyXG4gICAgR3VpbmVhOiAn5Yeg5YaF5LqaJyxcclxuICAgIEdhbWJpYTogJ+WGiOavlOS6micsXHJcbiAgICAnR3VpbmVhLUJpc3NhdSc6ICflh6DlhoXkuprmr5Tnu40nLFxyXG4gICAgJ0VxLiBHdWluZWEnOiAn6LWk6YGT5Yeg5YaF5LqaJyxcclxuICAgIEdyZWVjZTogJ+W4jOiFiicsXHJcbiAgICBHcmVuYWRhOiAn5qC85p6X57qz6L6+JyxcclxuICAgIEdyZWVubGFuZDogJ+agvOmZteWFsCcsXHJcbiAgICBHdWF0ZW1hbGE6ICfljbHlnLDpqazmi4knLFxyXG4gICAgR3VhbTogJ+WFs+WymycsXHJcbiAgICBHdXlhbmE6ICflnK3kuprpgqMnLFxyXG4gICAgJ0hlYXJkIEkuIGFuZCBNY0RvbmFsZCBJcy4nOiAn6LWr5b635bKb5ZKM6bqm5YWL5ZSQ57qz576k5bKbJyxcclxuICAgIEhvbmR1cmFzOiAn5rSq6YO95ouJ5pavJyxcclxuICAgIENyb2F0aWE6ICflhYvnvZflnLDkuponLFxyXG4gICAgSGFpdGk6ICfmtbflnLAnLFxyXG4gICAgSHVuZ2FyeTogJ+WMiOeJmeWIqScsXHJcbiAgICBJbmRvbmVzaWE6ICfljbDluqblsLzopb/kuponLFxyXG4gICAgJ0lzbGUgb2YgTWFuJzogJ+mprOaBqeWymycsXHJcbiAgICBJbmRpYTogJ+WNsOW6picsXHJcbiAgICAnQnIuIEluZGlhbiBPY2VhbiBUZXIuJzogJ+iLseWxnuWNsOW6pua0i+mihuWcsCcsXHJcbiAgICBJcmVsYW5kOiAn54ix5bCU5YWwJyxcclxuICAgIElyYW46ICfkvIrmnJcnLFxyXG4gICAgSXJhcTogJ+S8iuaLieWFiycsXHJcbiAgICBJY2VsYW5kOiAn5Yaw5bKbJyxcclxuICAgIElzcmFlbDogJ+S7peiJsuWIlycsXHJcbiAgICBJdGFseTogJ+aEj+Wkp+WIqScsXHJcbiAgICBKYW1haWNhOiAn54mZ5Lmw5YqgJyxcclxuICAgIEplcnNleTogJ+azveilv+WymycsXHJcbiAgICBKb3JkYW46ICfnuqbml6YnLFxyXG4gICAgSmFwYW46ICfml6XmnKwnLFxyXG4gICAgJ1NpYWNoZW4gR2xhY2llcic6ICfplKHkuprnkLTlhrDlt50nLFxyXG4gICAgS2F6YWtoc3RhbjogJ+WTiOiQqOWFi+aWr+WdpicsXHJcbiAgICBLZW55YTogJ+iCr+WwvOS6micsXHJcbiAgICBLeXJneXpzdGFuOiAn5ZCJ5bCU5ZCJ5pav5pav5Z2mJyxcclxuICAgIENhbWJvZGlhOiAn5p+s5Z+U5a+oJyxcclxuICAgIEtpcmliYXRpOiAn5Z+66YeM5be05pavJyxcclxuICAgIEtvcmVhOiAn6Z+p5Zu9JyxcclxuICAgIEt1d2FpdDogJ+enkeWogeeJuScsXHJcbiAgICAnTGFvIFBEUic6ICfogIHmjJ0nLFxyXG4gICAgTGViYW5vbjogJ+m7juW3tOWrqScsXHJcbiAgICBMaWJlcmlhOiAn5Yip5q+U6YeM5LqaJyxcclxuICAgIExpYnlhOiAn5Yip5q+U5LqaJyxcclxuICAgICdTYWludCBMdWNpYSc6ICflnKPljaLopb/kuponLFxyXG4gICAgJ1NyaSBMYW5rYSc6ICfmlq/ph4zlhbDljaEnLFxyXG4gICAgTGVzb3RobzogJ+iOsee0ouaJmCcsXHJcbiAgICBMaXRodWFuaWE6ICfnq4vpmbblrpsnLFxyXG4gICAgTHV4ZW1ib3VyZzogJ+WNouajruWgoScsXHJcbiAgICBMYXR2aWE6ICfmi4nohLHnu7TkuponLFxyXG4gICAgTW9sZG92YTogJ+aRqeWwlOWkmueTpicsXHJcbiAgICBNYWRhZ2FzY2FyOiAn6ams6L6+5Yqg5pav5YqgJyxcclxuICAgIE1leGljbzogJ+WiqOilv+WTpScsXHJcbiAgICBNYWNlZG9uaWE6ICfljJfpqazlhbbpob8nLFxyXG4gICAgTWFsaTogJ+mprOmHjCcsXHJcbiAgICBNYWx0YTogJ+mprOiAs+S7licsXHJcbiAgICBNeWFubWFyOiAn57yF55S4JyxcclxuICAgIE1vbnRlbmVncm86ICfpu5HlsbEnLFxyXG4gICAgTW9uZ29saWE6ICfokpnlj6QnLFxyXG4gICAgJ04uIE1hcmlhbmEgSXMuJzogJ+WMl+mprOmHjOS6mue6s+e+pOWymycsXHJcbiAgICBNb3phbWJpcXVlOiAn6I6r5qGR5q+U5YWLJyxcclxuICAgIE1hdXJpdGFuaWE6ICfmr5vph4zloZTlsLzkuponLFxyXG4gICAgTW9udHNlcnJhdDogJ+iSmeeJueWhnuaLieeJuScsXHJcbiAgICBNYXVyaXRpdXM6ICfmr5vph4zmsYLmlq8nLFxyXG4gICAgTWFsYXdpOiAn6ams5ouJ57u0JyxcclxuICAgIE1hbGF5c2lhOiAn6ams5p2l6KW/5LqaJyxcclxuICAgIE5hbWliaWE6ICfnurPnsbPmr5TkuponLFxyXG4gICAgJ05ldyBDYWxlZG9uaWEnOiAn5paw5ZaA6YeM5aSa5bC85LqaJyxcclxuICAgIE5pZ2VyOiAn5bC85pel5bCUJyxcclxuICAgIE5pZ2VyaWE6ICflsLzml6XliKnkuponLFxyXG4gICAgTmljYXJhZ3VhOiAn5bC85Yqg5ouJ55OcJyxcclxuICAgIE5pdWU6ICfnur3ln4MnLFxyXG4gICAgTmV0aGVybGFuZHM6ICfojbflhbAnLFxyXG4gICAgTm9yd2F5OiAn5oyq5aiBJyxcclxuICAgIE5lcGFsOiAn5bC85rOK5bCUJyxcclxuICAgICdOZXcgWmVhbGFuZCc6ICfmlrDopb/lhbAnLFxyXG4gICAgT21hbjogJ+mYv+abvCcsXHJcbiAgICBQYWtpc3RhbjogJ+W3tOWfuuaWr+WdpicsXHJcbiAgICBQYW5hbWE6ICflt7Tmi7/pqawnLFxyXG4gICAgUGVydTogJ+enmOmygScsXHJcbiAgICBQaGlsaXBwaW5lczogJ+iPsuW+i+WuvicsXHJcbiAgICBQYWxhdTogJ+W4leWKsycsXHJcbiAgICAnUGFwdWEgTmV3IEd1aW5lYSc6ICflt7TluIPkuprmlrDlh6DlhoXkuponLFxyXG4gICAgUG9sYW5kOiAn5rOi5YWwJyxcclxuICAgICdQdWVydG8gUmljbyc6ICfms6LlpJrpu47lkIQnLFxyXG4gICAgJ0RlbS4gUmVwLiBLb3JlYSc6ICfmnJ3pspwnLFxyXG4gICAgUG9ydHVnYWw6ICfokaHokITniZknLFxyXG4gICAgUGFyYWd1YXk6ICflt7Tmi4nlnK0nLFxyXG4gICAgUGFsZXN0aW5lOiAn5be05YuS5pav5Z2mJyxcclxuICAgICdGci4gUG9seW5lc2lhJzogJ+azleWxnuazouWIqeWwvOilv+S6micsXHJcbiAgICBRYXRhcjogJ+WNoeWhlOWwlCcsXHJcbiAgICBSb21hbmlhOiAn572X6ams5bC85LqaJyxcclxuICAgIFJ1c3NpYTogJ+S/hOe9l+aWrycsXHJcbiAgICBSd2FuZGE6ICfljaLml7rovr4nLFxyXG4gICAgJ1NhdWRpIEFyYWJpYSc6ICfmspnnibnpmL/mi4nkvK8nLFxyXG4gICAgU3VkYW46ICfoi4/kuLknLFxyXG4gICAgJ1MuIFN1ZGFuJzogJ+WNl+iLj+S4uScsXHJcbiAgICBTZW5lZ2FsOiAn5aGe5YaF5Yqg5bCUJyxcclxuICAgIFNpbmdhcG9yZTogJ+aWsOWKoOWdoScsXHJcbiAgICAnUy4gR2VvLiBhbmQgUy4gU2FuZHcuIElzLic6ICfljZfkuZTmsrvkuprlspvlkozljZfmoZHlqIHlpYfnvqTlspsnLFxyXG4gICAgJ1NhaW50IEhlbGVuYSc6ICflnKPotavli5Lmi78nLFxyXG4gICAgJ1NvbG9tb24gSXMuJzogJ+aJgOe9l+mXqOe+pOWymycsXHJcbiAgICAnU2llcnJhIExlb25lJzogJ+WhnuaLieWIqeaYgicsXHJcbiAgICAnRWwgU2FsdmFkb3InOiAn6JCo5bCU55Om5aSaJyxcclxuICAgICdTdC4gUGllcnJlIGFuZCBNaXF1ZWxvbic6ICflnKPnmq7ln4PlsJTlkozlr4blhYvpmoYnLFxyXG4gICAgJ1PDo28gVG9tw6kgYW5kIFByaW5jaXBlJzogJ+Wco+Wkmue+juWSjOaZruael+ilv+avlCcsXHJcbiAgICBTdXJpbmFtZTogJ+iLj+mHjOWNlycsXHJcbiAgICBTbG92YWtpYTogJ+aWr+a0m+S8kOWFiycsXHJcbiAgICBTbG92ZW5pYTogJ+aWr+a0m+aWh+WwvOS6micsXHJcbiAgICBTd2VkZW46ICfnkZ7lhbgnLFxyXG4gICAgU3dhemlsYW5kOiAn5pav5aiB5aOr5YWwJyxcclxuICAgIFNleWNoZWxsZXM6ICfloZ7oiIzlsJQnLFxyXG4gICAgU3lyaWE6ICflj5nliKnkuponLFxyXG4gICAgJ1R1cmtzIGFuZCBDYWljb3MgSXMuJzogJ+eJueWFi+aWr+WSjOWHr+enkeaWr+e+pOWymycsXHJcbiAgICBDaGFkOiAn5LmN5b6XJyxcclxuICAgIFRvZ286ICflpJrlk6UnLFxyXG4gICAgVGhhaWxhbmQ6ICfms7Dlm70nLFxyXG4gICAgVGFqaWtpc3RhbjogJ+WhlOWQieWFi+aWr+WdpicsXHJcbiAgICBUdXJrbWVuaXN0YW46ICflnJ/lupPmm7zmlq/lnaYnLFxyXG4gICAgJ1RpbW9yLUxlc3RlJzogJ+S4nOW4neaxticsXHJcbiAgICBUb25nYTogJ+axpOWKoCcsXHJcbiAgICAnVHJpbmlkYWQgYW5kIFRvYmFnbyc6ICfnibnnq4vlsLzovr7lkozlpJrlt7Tlk6UnLFxyXG4gICAgVHVuaXNpYTogJ+eqgeWwvOaWrycsXHJcbiAgICBUdXJrZXk6ICflnJ/ogLPlhbYnLFxyXG4gICAgVGFuemFuaWE6ICflnabmoZHlsLzkuponLFxyXG4gICAgVWdhbmRhOiAn5LmM5bmy6L6+JyxcclxuICAgIFVrcmFpbmU6ICfkuYzlhYvlhbAnLFxyXG4gICAgVXJ1Z3VheTogJ+S5jOaLieWcrScsXHJcbiAgICAnVW5pdGVkIFN0YXRlcyc6ICfnvo7lm70nLFxyXG4gICAgVXpiZWtpc3RhbjogJ+S5jOWFueWIq+WFi+aWr+WdpicsXHJcbiAgICAnU3QuIFZpbi4gYW5kIEdyZW4uJzogJ+Wco+aWh+ajrueJueWSjOagvOael+e6s+S4geaWrycsXHJcbiAgICBWZW5lenVlbGE6ICflp5TlhoXnkZ7mi4knLFxyXG4gICAgJ1UuUy4gVmlyZ2luIElzLic6ICfnvo7lsZ7nu7TlsJTkuqznvqTlspsnLFxyXG4gICAgVmlldG5hbTogJ+i2iuWNlycsXHJcbiAgICBWYW51YXR1OiAn55Om5Yqq6Zi/5Zu+JyxcclxuICAgIFNhbW9hOiAn6JCo5pGp5LqaJyxcclxuICAgIFllbWVuOiAn5Lmf6ZeoJyxcclxuICAgICdTb3V0aCBBZnJpY2EnOiAn5Y2X6Z2eJyxcclxuICAgIFphbWJpYTogJ+i1nuavlOS6micsXHJcbiAgICBaaW1iYWJ3ZTogJ+a0peW3tOW4g+mfpicsXHJcbiAgfTtcclxuICBfY2hpbGRyZW46IGFueSA9IFtdO1xyXG4gIGxvYWRlZE1hcDogeyBbbmFtZTogc3RyaW5nXTogUHJvbWlzZTxhbnk+IH0gPSB7fTtcclxuICBwcm92aW5jZXM6IGFueTtcclxuICBzdGFjayA9IFtdO1xyXG4gIHZpc3VhbE1hcDogYW55W107XHJcbiAgQFZpZXdDaGlsZChOZ3hFY2hhcnRzRGlyZWN0aXZlKVxyXG4gIG5neEVjaGFydHM6IE5neEVjaGFydHNEaXJlY3RpdmU7XHJcbiAgcmVuZGVyZXIgPSAnc3ZnJztcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YVswXSkge1xyXG4gICAgICAgIHRoaXMubWFwU3R5bGUgPSB0aGlzLmRhdGFbMF0ubmFtZTtcclxuICAgICAgICB0aGlzLnN0YWNrLnB1c2godGhpcy5tYXBTdHlsZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZWxvYWRNYXAoKTtcclxuICAgIH1cclxuICB9XHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICAvLyBhd2FpdCB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0TWFwKCk7XHJcbiAgICAvLyBhd2FpdCBpbXBvcnQoJ2VjaGFydHMvZGlzdC9leHRlbnNpb24vYm1hcC5qcycpO1xyXG4gICAgdGhpcy5wcm92aW5jZXMgPSAoYXdhaXQgdGhpcy5odHRwLmdldCgnL2Fzc2V0cy9tYXBMaXN0SXRlbS5qc29uJykudG9Qcm9taXNlKCkpIGFzIGFueTtcclxuICAgIC8vIGNvbnN0IG1hcCA9IGVjaGFydHMuZ2V0TWFwKHRoaXMubWFwU3R5bGUpO1xyXG4gICAgLy8gaWYgKG1hcCA9PSBudWxsKSB7XHJcbiAgICAvLyAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmh0dHAuZ2V0KCdhc3NldHMvZWNoYXJ0cy9tYXAvanNvbi8nICsgdGhpcy5tYXBTdHlsZSArICcuanNvbicpLnRvUHJvbWlzZSgpO1xyXG4gICAgLy8gICBlY2hhcnRzLnJlZ2lzdGVyTWFwKHRoaXMubWFwU3R5bGUsIGRhdGEpO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gdGhpcy5oYXNNYXAgPSB0cnVlO1xyXG4gICAgLy8gdGhpcy5jaGFydEluaXQoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5uZ3hFY2hhcnRzKSB7XHJcbiAgICAgICh0aGlzLm5neEVjaGFydHMgYXMgYW55KS5pbml0Q2hhcnQgPSAoKSA9PiB7fTtcclxuICAgIH1cclxuICB9XHJcbiAgY2hhcnRJbml0KCkge1xyXG4gICAgLy8gdGhpcy5sb2FkTWFwKHRoaXMubWFwU3R5bGUpLnRoZW4oKGRhdGEpID0+IHtcclxuICAgIGxldCBzZXJpZXMgPSBbXTtcclxuICAgIHRoaXMudmlzdWFsTWFwID0gW107XHJcbiAgICB0aGlzLnJlbmRlcmVyID0gJ3N2Zyc7XHJcbiAgICB0aGlzLl9jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xyXG4gICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ3Zpc3VhbCcpIHtcclxuICAgICAgICAvLyBzZXJpZXMgPSBjaGlsZC5zZXJpZXM7XHJcbiAgICAgICAgLy8gc2VyaWVzWzBdLm1hcFR5cGUgPSB0aGlzLm1hcFN0eWxlO1xyXG4gICAgICAgIGlmIChjaGlsZC52aXN1YWxNYXAgJiYgY2hpbGQuaXRlbS5sZW5ndGgpIHtcclxuICAgICAgICAgIGlmIChjaGlsZC52aXN1YWxNYXAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlzdWFsTWFwLnB1c2goY2hpbGQudmlzdWFsTWFwMik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnZpc3VhbE1hcC5wdXNoKGNoaWxkLnZpc3VhbE1hcCk7XHJcbiAgICAgICAgICBjaGlsZC52aXN1YWxNYXAuc2VyaWVzSW5kZXggPSBzZXJpZXMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZC5pdGVtKSkge1xyXG4gICAgICAgIHNlcmllcyA9IFsuLi5zZXJpZXMsIC4uLmNoaWxkLml0ZW1dO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlcmllcyA9IFsuLi5zZXJpZXMsIGNoaWxkLml0ZW1dO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHNlcmllcy5mb3JFYWNoKChsYXllciwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKGxheWVyLnR5cGUgPT09ICdsaW5lcycpIHtcclxuICAgICAgICBkZWxldGUgbGF5ZXIuY29vcmRpbmF0ZVN5c3RlbTtcclxuICAgICAgICAvLyDpo57nur/lsYLkuI3mlK/mjIFzdmfmuLLmn5NcclxuICAgICAgICB0aGlzLnJlbmRlcmVyID0gJ2NhbnZhcyc7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGxheWVyLnR5cGUgPT09ICdzY2F0dGVyJykge1xyXG4gICAgICAgIGxheWVyLmNvb3JkaW5hdGVTeXN0ZW0gPSAnZ2VvJztcclxuICAgICAgICAvLyBsYXllci5zeW1ib2xTaXplID0gJzEwJztcclxuICAgICAgfVxyXG4gICAgICAvLyBpZiAobGF5ZXIudHlwZSA9PT0gJ21hcCcpIHtcclxuICAgICAgLy8gICB0aGlzLnZpc3VhbE1hcC5mb3JFYWNoKCh2aXN1YWxNYXApID0+IHtcclxuICAgICAgLy8gICAgIHZpc3VhbE1hcFsnc2VyaWVzSW5kZXgnXSA9IGluZGV4O1xyXG4gICAgICAvLyAgIH0pO1xyXG4gICAgICAvLyB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHRleHRTdHlsZSA9IGdldEVjaGFydHNUZXh0U3R5bGUodGhpcy5hcmVhTmFtZWZvbnQpO1xyXG4gICAgdGhpcy5jaGFydE9wdGlvbiA9IHtcclxuICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgIHRyaWdnZXI6ICdpdGVtJyxcclxuICAgICAgICB0cmlnZ2VyT246IHRoaXMudHJpZ2dlclR5cGUgPyB0aGlzLnRyaWdnZXJUeXBlIDogJ21vdXNlbW92ZScsXHJcbiAgICAgIH0sXHJcbiAgICAgIGdlbzoge1xyXG4gICAgICAgIGxhYmVsOiB7XHJcbiAgICAgICAgICBub3JtYWw6IHtcclxuICAgICAgICAgICAgLy/pnZnmgIHnmoTml7blgJnlsZXnpLrmoLflvI9cclxuICAgICAgICAgICAgc2hvdzogdGhpcy5zaG93QXJlYU5hbWUsIC8v5piv5ZCm5pi+56S65Zyw5Zu+55yB5Lu95b6X5ZCN56ewXHJcbiAgICAgICAgICAgIHRleHRTdHlsZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlbXBoYXNpczoge1xyXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3dBcmVhTmFtZSxcclxuICAgICAgICAgICAgdGV4dFN0eWxlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNlbGVjdGVkTW9kZTogdGhpcy5zZWxlY3RlZE1vZGUsXHJcbiAgICAgICAgc2VsZWN0OiB7XHJcbiAgICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3dBcmVhTmFtZSwgLy/mmK/lkKbmmL7npLrlnLDlm77nnIHku73lvpflkI3np7BcclxuICAgICAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoaXMuYXJlYU5hbWVmb250Py5jb2xvciB8fCAnI2ZmZicsXHJcbiAgICAgICAgICAgICAgZm9udFNpemU6IHRoaXMuYXJlYU5hbWVmb250Py5zaXplIHx8IDEyLFxyXG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6IHRoaXMuYXJlYU5hbWVmb250Py5mYW1pbHkgfHwgJycsXHJcbiAgICAgICAgICAgICAgbGluZUhlaWdodDogdGhpcy5hcmVhTmFtZWZvbnQ/LmxpbmVIZWlnaHQgfHwgMTIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgaXRlbVN0eWxlOiB7XHJcbiAgICAgICAgICAgIGFyZWFDb2xvcjoge1xyXG4gICAgICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxyXG4gICAgICAgICAgICAgIHg6IDAuNSxcclxuICAgICAgICAgICAgICB5OiAwLjUsXHJcbiAgICAgICAgICAgICAgcjogMC44LFxyXG4gICAgICAgICAgICAgIGNvbG9yU3RvcHM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5zZWxlY3RDb2xvclN0YXJ0ID8gdGhpcy5zZWxlY3RDb2xvclN0YXJ0IDogdGhpcy5fYXJlYUNvbG9yLCAvLyAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VsZWN0Q29sb3JFbmQgPyB0aGlzLnNlbGVjdENvbG9yRW5kIDogdGhpcy5fYXJlYUNvbG9yLCAvLyAxMDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGdsb2JhbENvb3JkOiBmYWxzZSwgLy8g57y655yB5Li6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiB0aGlzLl9ib3JkZXJDb2xvcixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpdGVtU3R5bGU6IHtcclxuICAgICAgICAgIG5vcm1hbDoge1xyXG4gICAgICAgICAgICAvLyBhcmVhQ29sb3I6IHRoaXMuYXJlYUNvbG9yLFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogdGhpcy5ib3JkZXJDb2xvcixcclxuICAgICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICAgICAgYXJlYUNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXHJcbiAgICAgICAgICAgICAgeDogMC41LFxyXG4gICAgICAgICAgICAgIHk6IDAuNSxcclxuICAgICAgICAgICAgICByOiAwLjgsXHJcbiAgICAgICAgICAgICAgY29sb3JTdG9wczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLm1hcENvbG9yU3RhcnQgPyB0aGlzLm1hcENvbG9yU3RhcnQgOiB0aGlzLmFyZWFDb2xvciwgLy8gMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLm1hcENvbG9yRW5kID8gdGhpcy5tYXBDb2xvckVuZCA6IHRoaXMuYXJlYUNvbG9yLCAvLyAxMDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGdsb2JhbENvb3JkOiBmYWxzZSwgLy8g57y655yB5Li6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNoYWRvd0NvbG9yOiB0aGlzLnNoYWRvd0NvbG9yLFxyXG4gICAgICAgICAgICBzaGFkb3dCbHVyOiB0aGlzLnNoYWRvd1dpZHRoLFxyXG4gICAgICAgICAgICBzaGFkb3dPZmZzZXRYOiAtMixcclxuICAgICAgICAgICAgc2hhZG93T2Zmc2V0WTogMixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlbXBoYXNpczoge1xyXG4gICAgICAgICAgICBhcmVhQ29sb3I6IHtcclxuICAgICAgICAgICAgICB0eXBlOiAncmFkaWFsJyxcclxuICAgICAgICAgICAgICB4OiAwLjUsXHJcbiAgICAgICAgICAgICAgeTogMC41LFxyXG4gICAgICAgICAgICAgIHI6IDAuOCxcclxuICAgICAgICAgICAgICBjb2xvclN0b3BzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VsZWN0Q29sb3JTdGFydCA/IHRoaXMuc2VsZWN0Q29sb3JTdGFydCA6IHRoaXMuX2FyZWFDb2xvciwgLy8gMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLnNlbGVjdENvbG9yRW5kID8gdGhpcy5zZWxlY3RDb2xvckVuZCA6IHRoaXMuX2FyZWFDb2xvciwgLy8gMTAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBnbG9iYWxDb29yZDogZmFsc2UsIC8vIOe8uuecgeS4uiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogdGhpcy5fYm9yZGVyQ29sb3IsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIG1hcDogdGhpcy5tYXBTdHlsZSxcclxuICAgICAgICByb2FtOiB0aGlzLnpvb21Td2l0Y2gsXHJcbiAgICAgICAgbmFtZU1hcDogdGhpcy5uYW1lTWFwLFxyXG4gICAgICAgIHpvb206IHRoaXMuem9vbSxcclxuICAgICAgfSxcclxuICAgICAgc2VyaWVzLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnZpc3VhbE1hcD8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuY2hhcnRPcHRpb24udmlzdWFsTWFwID0gdGhpcy52aXN1YWxNYXA7XHJcbiAgICB9XHJcbiAgICAvLyB9KTtcclxuICB9XHJcbiAgY2hpbGRJbml0KGNoaWxkOiBhbnkpIHtcclxuICAgIGlmIChjaGlsZC5pZCkge1xyXG4gICAgICBjb25zdCBjaGlsZEluZGV4ID0gdGhpcy5fY2hpbGRyZW4uZmluZEluZGV4KChzKSA9PiBzLmlkID09PSBjaGlsZC5pZCk7XHJcbiAgICAgIGlmIChjaGlsZEluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLl9jaGlsZHJlbltjaGlsZEluZGV4XSA9IGNoaWxkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goY2hpbGQpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRlbGV0ZUNoaWxkKGNoaWxkSWQ6IHN0cmluZykge1xyXG4gICAgaWYgKGNoaWxkSWQpIHtcclxuICAgICAgY29uc3QgY2hpbGRJbmRleCA9IHRoaXMuX2NoaWxkcmVuLmZpbmRJbmRleCgocykgPT4gcy5pZCA9PT0gY2hpbGRJZCk7XHJcbiAgICAgIC8vIHRoaXMuX2NoaWxkcmVuLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgLy8gICBpZiAoY2hpbGRJZCA9PT0gZWxlbWVudC5pZCkge1xyXG4gICAgICAvLyAgICAgdGhpcy52aXN1YWxNYXAgPSBudWxsO1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfSk7XHJcbiAgICAgIGlmIChjaGlsZEluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLl9jaGlsZHJlbi5zcGxpY2UoY2hpbGRJbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy5jaGFydEluaXQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gbG9hZE1hcChuYW1lOiBzdHJpbmcpIHtcclxuICAvLyAgIGxldCBsb2FkTWFwUHJvbWlzZSA9IHRoaXMubG9hZGVkTWFwW25hbWVdO1xyXG4gIC8vICAgaWYgKCFsb2FkTWFwUHJvbWlzZSkge1xyXG4gIC8vICAgICBsb2FkTWFwUHJvbWlzZSA9IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyBuYW1lICsgJy5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgLy8gICAgIHRoaXMubG9hZGVkTWFwW25hbWVdID0gbG9hZE1hcFByb21pc2U7XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbG9hZE1hcFByb21pc2U7XHJcbiAgLy8gfVxyXG4gIGFzeW5jIHJlbG9hZE1hcCgpIHtcclxuICAgIGNvbnN0IG1hcFN0eWxlID0gdGhpcy5tYXBTdHlsZTtcclxuICAgIGNvbnN0IG1hcCA9IGVjaGFydHMuZ2V0TWFwKG1hcFN0eWxlKTtcclxuICAgIGlmIChtYXAgPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBkYXRhOiBhbnkgPSBhd2FpdCB0aGlzLmh0dHAuZ2V0KCdhc3NldHMvZWNoYXJ0cy9tYXAvanNvbi8nICsgbWFwU3R5bGUgKyAnLmpzb24nKS50b1Byb21pc2UoKTtcclxuICAgICAgZWNoYXJ0cy5yZWdpc3Rlck1hcChtYXBTdHlsZSwgZGF0YSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmhhc01hcCA9IHRydWU7XHJcbiAgICB0aGlzLmNoYXJ0SW5pdCgpO1xyXG4gIH1cclxuICBhc3luYyBtYXJrQ2xpY2soZXZlbnQpIHtcclxuICAgIGxldCBsbmc6IG51bWJlcjtcclxuICAgIGxldCBsYXQ6IG51bWJlcjtcclxuICAgIGlmIChldmVudC5zZXJpZXNJZCkge1xyXG4gICAgICBsbmcgPSBldmVudC52YWx1ZVswXTtcclxuICAgICAgbGF0ID0gZXZlbnQudmFsdWVbMV07XHJcbiAgICAgIGNvbnN0IGNoaWxkID0gdGhpcy5fY2hpbGRyZW4uZmluZCgocykgPT4gZXZlbnQuc2VyaWVzSWQuc3RhcnRzV2l0aChzLmlkKSk7XHJcbiAgICAgIGlmIChjaGlsZCAmJiBjaGlsZC5vbkNsaWNrKSB7XHJcbiAgICAgICAgY2hpbGQub25DbGljayhldmVudCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IG1hcCA9IGVjaGFydHMuZ2V0TWFwKHRoaXMubWFwU3R5bGUpO1xyXG4gICAgICBpZiAobWFwKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIG1hcC5nZW9Kc29uLmZlYXR1cmVzKSB7XHJcbiAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gZmVhdHVyZS5wcm9wZXJ0aWVzO1xyXG4gICAgICAgICAgaWYgKHByb3BlcnRpZXMubmFtZSA9PT0gZXZlbnQubmFtZSkge1xyXG4gICAgICAgICAgICBpZiAocHJvcGVydGllcy5jcCkge1xyXG4gICAgICAgICAgICAgIGxuZyA9IHByb3BlcnRpZXMuY3BbMF07XHJcbiAgICAgICAgICAgICAgbGF0ID0gcHJvcGVydGllcy5jcFsxXTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0aWVzLmNlbnRlcikge1xyXG4gICAgICAgICAgICAgIGxuZyA9IHByb3BlcnRpZXMuY2VudGVyWzBdO1xyXG4gICAgICAgICAgICAgIGxhdCA9IHByb3BlcnRpZXMuY2VudGVyWzFdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKHByb3BlcnRpZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwcm92aW5jZSA9IHRoaXMucHJvdmluY2VzLmZpbmQoKGVsZW1lbnQpID0+IGVsZW1lbnQubGFiZWwgPT09IGV2ZW50Lm5hbWUpO1xyXG4gICAgICBpZiAocHJvdmluY2UpIHtcclxuICAgICAgICB0aGlzLnN0YWNrLnB1c2godGhpcy5tYXBTdHlsZSk7XHJcbiAgICAgICAgdGhpcy5tYXBTdHlsZSA9IHByb3ZpbmNlLnZhbHVlO1xyXG4gICAgICAgIHRoaXMucmVsb2FkTWFwKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYXJlYUNsaWNrLmVtaXQoeyBuYW1lOiBldmVudC5uYW1lLCBsbmcsIGxhdCB9KTtcclxuICAgIC8vIGlmKGV2ZW50LmNvbXBvbmVudFN1YlR5cGUhPW51bGwgJiYgZXZlbnQuY29tcG9uZW50U3ViVHlwZT09PSdzY2F0dGVyJyl7XHJcbiAgICAvLyAgIGNvbnN0IG9iaj1ldmVudC5kYXRhO1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyhldmVudCk7XHJcbiAgICAvLyAgIHRoaXMubWFya2VyVGllckNsaWNrLmVtaXQoe1xyXG4gICAgLy8gICAgIGFkZHJlc3M6IG9iai5uYW1lLFxyXG4gICAgLy8gICAgIGluZm9ybWF0aW9uOiAnJyxcclxuICAgIC8vICAgICBncm91cDogJycsXHJcbiAgICAvLyAgICAgbG5nOiBvYmoudmFsdWVbMF0sXHJcbiAgICAvLyAgICAgbGF0OiBvYmoudmFsdWVbMV0sXHJcbiAgICAvLyAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuICByb2xsYmFjayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGlmICh0aGlzLnN0YWNrICE9IG51bGwgJiYgdGhpcy5zdGFjay5sZW5ndGggIT0gMCkge1xyXG4gICAgICB0aGlzLm1hcFN0eWxlID0gdGhpcy5zdGFjay5wb3AoKTtcclxuICAgICAgdGhpcy5yZWxvYWRNYXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRleHRTdHlsZSgpIHt9XHJcbn1cclxuIl19