@sunbird-cb/utils-v2 0.0.21 → 0.0.22-ang-9-12

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.
Files changed (164) hide show
  1. package/bundles/sunbird-cb-utils-v2.umd.js +1284 -2508
  2. package/bundles/sunbird-cb-utils-v2.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-utils-v2.umd.min.js +1 -1
  4. package/bundles/sunbird-cb-utils-v2.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/image-crop/image-crop.component.js +19 -47
  6. package/esm2015/lib/components/image-crop/image-crop.module.js +8 -2
  7. package/esm2015/lib/constants/features.enum.js +555 -555
  8. package/esm2015/lib/constants/instances.enum.js +5 -5
  9. package/esm2015/lib/constants/misc.constants.js +1 -0
  10. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +11 -21
  11. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
  12. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +6 -11
  13. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +9 -12
  14. package/esm2015/lib/directives/navigation/navigation.directive.js +1 -6
  15. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  16. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +10 -19
  17. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
  18. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +15 -31
  19. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +4 -2
  20. package/esm2015/lib/helpers/logout/logout.component.js +11 -14
  21. package/esm2015/lib/helpers/logout/logout.module.js +3 -2
  22. package/esm2015/lib/models/profile-v3.models.js +2 -104
  23. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +4 -4
  24. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
  25. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
  26. package/esm2015/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +1 -1
  27. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
  28. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
  29. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
  30. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
  31. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +3 -3
  32. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +6 -6
  33. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
  34. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
  35. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -6
  36. package/esm2015/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +4 -4
  37. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
  38. package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +1 -1
  39. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +1 -1
  40. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +4 -4
  41. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +5 -5
  42. package/esm2015/lib/resolvers/explore-detail.resolver.js +17 -19
  43. package/esm2015/lib/resolvers/marketing-offering.resolve.js +10 -10
  44. package/esm2015/lib/resolvers/module-name.resolver.js +2 -5
  45. package/esm2015/lib/resolvers/page-name.resolver.js +2 -2
  46. package/esm2015/lib/resolvers/page.constant.js +1 -1
  47. package/esm2015/lib/resolvers/page.model.js +2 -48
  48. package/esm2015/lib/resolvers/page.resolver.js +16 -17
  49. package/esm2015/lib/resolvers/resolver.model.js +2 -6
  50. package/esm2015/lib/services/auth-keycloak.service.js +35 -35
  51. package/esm2015/lib/services/auth-microsoft.service.js +21 -17
  52. package/esm2015/lib/services/card-content.model.js +1 -21
  53. package/esm2015/lib/services/configurations.model.js +2 -551
  54. package/esm2015/lib/services/configurations.service.js +2 -63
  55. package/esm2015/lib/services/content-strip-multiple.model.js +2 -75
  56. package/esm2015/lib/services/event.model.js +1 -114
  57. package/esm2015/lib/services/event.service.js +31 -24
  58. package/esm2015/lib/services/logger.service.js +8 -13
  59. package/esm2015/lib/services/ms-office.model.js +2 -8
  60. package/esm2015/lib/services/multilingual-translations.service.js +11 -15
  61. package/esm2015/lib/services/nps-grid.service.js +6 -8
  62. package/esm2015/lib/services/subapplication-respond.service.js +16 -20
  63. package/esm2015/lib/services/telemetry.service.js +73 -80
  64. package/esm2015/lib/services/user-preference.model.js +2 -38
  65. package/esm2015/lib/services/user-preference.service.js +23 -15
  66. package/esm2015/lib/services/utility.service.js +16 -27
  67. package/esm2015/lib/services/value.service.js +8 -10
  68. package/esm2015/lib/services/widget-content.model.js +1 -242
  69. package/esm2015/lib/services/widget-content.service.js +29 -21
  70. package/esm2015/lib/services/widget-resolver.model.js +2 -57
  71. package/esm2015/lib/services/widget-search.model.js +2 -126
  72. package/esm2015/public-api.js +96 -88
  73. package/esm2015/sunbird-cb-utils-v2.js +2 -10
  74. package/esm5/lib/components/image-crop/image-crop.component.js +30 -48
  75. package/esm5/lib/components/image-crop/image-crop.module.js +8 -2
  76. package/esm5/lib/constants/features.enum.js +555 -555
  77. package/esm5/lib/constants/instances.enum.js +5 -5
  78. package/esm5/lib/constants/misc.constants.js +1 -0
  79. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +14 -24
  80. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
  81. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +6 -11
  82. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +9 -12
  83. package/esm5/lib/directives/navigation/navigation.directive.js +1 -6
  84. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  85. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +10 -19
  86. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
  87. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +15 -31
  88. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +4 -2
  89. package/esm5/lib/helpers/logout/logout.component.js +12 -15
  90. package/esm5/lib/helpers/logout/logout.module.js +3 -2
  91. package/esm5/lib/models/profile-v3.models.js +2 -104
  92. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +4 -4
  93. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
  94. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
  95. package/esm5/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +1 -1
  96. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
  97. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
  98. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
  99. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
  100. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +3 -3
  101. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +9 -9
  102. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
  103. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
  104. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -6
  105. package/esm5/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +4 -4
  106. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
  107. package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +1 -1
  108. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +13 -3
  109. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +4 -4
  110. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +5 -5
  111. package/esm5/lib/resolvers/explore-detail.resolver.js +17 -19
  112. package/esm5/lib/resolvers/marketing-offering.resolve.js +10 -10
  113. package/esm5/lib/resolvers/module-name.resolver.js +2 -5
  114. package/esm5/lib/resolvers/page-name.resolver.js +2 -2
  115. package/esm5/lib/resolvers/page.constant.js +1 -1
  116. package/esm5/lib/resolvers/page.model.js +2 -48
  117. package/esm5/lib/resolvers/page.resolver.js +36 -22
  118. package/esm5/lib/resolvers/resolver.model.js +2 -6
  119. package/esm5/lib/services/auth-keycloak.service.js +86 -48
  120. package/esm5/lib/services/auth-microsoft.service.js +55 -24
  121. package/esm5/lib/services/card-content.model.js +1 -21
  122. package/esm5/lib/services/configurations.model.js +2 -551
  123. package/esm5/lib/services/configurations.service.js +2 -63
  124. package/esm5/lib/services/content-strip-multiple.model.js +2 -75
  125. package/esm5/lib/services/event.model.js +1 -114
  126. package/esm5/lib/services/event.service.js +66 -28
  127. package/esm5/lib/services/logger.service.js +12 -17
  128. package/esm5/lib/services/ms-office.model.js +2 -8
  129. package/esm5/lib/services/multilingual-translations.service.js +11 -15
  130. package/esm5/lib/services/nps-grid.service.js +6 -8
  131. package/esm5/lib/services/subapplication-respond.service.js +30 -24
  132. package/esm5/lib/services/telemetry.service.js +94 -91
  133. package/esm5/lib/services/user-preference.model.js +2 -38
  134. package/esm5/lib/services/user-preference.service.js +63 -17
  135. package/esm5/lib/services/utility.service.js +23 -34
  136. package/esm5/lib/services/value.service.js +8 -10
  137. package/esm5/lib/services/widget-content.model.js +1 -242
  138. package/esm5/lib/services/widget-content.service.js +69 -23
  139. package/esm5/lib/services/widget-resolver.model.js +2 -57
  140. package/esm5/lib/services/widget-search.model.js +2 -126
  141. package/esm5/public-api.js +96 -88
  142. package/esm5/sunbird-cb-utils-v2.js +2 -10
  143. package/fesm2015/sunbird-cb-utils-v2.js +972 -2207
  144. package/fesm2015/sunbird-cb-utils-v2.js.map +1 -1
  145. package/fesm5/sunbird-cb-utils-v2.js +1262 -2264
  146. package/fesm5/sunbird-cb-utils-v2.js.map +1 -1
  147. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +3 -3
  148. package/lib/helpers/logout/logout.component.d.ts +2 -2
  149. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +4 -4
  150. package/lib/resolvers/page.model.d.ts +1 -1
  151. package/lib/services/auth-keycloak.service.d.ts +9 -9
  152. package/lib/services/auth-microsoft.service.d.ts +2 -2
  153. package/lib/services/configurations.model.d.ts +29 -27
  154. package/lib/services/content-strip-multiple.model.d.ts +7 -6
  155. package/lib/services/event.service.d.ts +2 -0
  156. package/lib/services/logger.service.d.ts +4 -4
  157. package/lib/services/telemetry.service.d.ts +3 -3
  158. package/lib/services/utility.service.d.ts +7 -7
  159. package/lib/services/widget-content.model.d.ts +21 -20
  160. package/package.json +12 -12
  161. package/public-api.d.ts +8 -0
  162. package/sunbird-cb-utils-v2-0.0.22-ang-9-12.tgz +0 -0
  163. package/sunbird-cb-utils-v2.d.ts +0 -8
  164. package/sunbird-cb-utils-v2.metadata.json +1 -1
@@ -1,119 +1,5 @@
1
1
  export var NsContent;
2
2
  (function (NsContent) {
3
- function IContinueLearningData() { }
4
- NsContent.IContinueLearningData = IContinueLearningData;
5
- if (false) {
6
- IContinueLearningData.prototype.continueData;
7
- }
8
- function IContent() { }
9
- NsContent.IContent = IContent;
10
- if (false) {
11
- IContent.prototype.platform;
12
- IContent.prototype.addedOn;
13
- IContent.prototype.appIcon;
14
- IContent.prototype.artifactUrl;
15
- IContent.prototype.averageRating;
16
- IContent.prototype.body;
17
- IContent.prototype.certificationList;
18
- IContent.prototype.certificationStatus;
19
- IContent.prototype.certificationSubmissionDate;
20
- IContent.prototype.certificationUrl;
21
- IContent.prototype.children;
22
- IContent.prototype.childrenClassifiers;
23
- IContent.prototype.clients;
24
- IContent.prototype.collections;
25
- IContent.prototype.complexityLevel;
26
- IContent.prototype.contentId;
27
- IContent.prototype.contentType;
28
- IContent.prototype.difficultyLevel;
29
- IContent.prototype.primaryCategory;
30
- IContent.prototype.contentUrlAtSource;
31
- IContent.prototype.creatorContacts;
32
- IContent.prototype.creatorDetails;
33
- IContent.prototype.creatorLogo;
34
- IContent.prototype.creatorPosterImage;
35
- IContent.prototype.creatorThumbnail;
36
- IContent.prototype.curatedTags;
37
- IContent.prototype.description;
38
- IContent.prototype.displayContentType;
39
- IContent.prototype.downloadUrl;
40
- IContent.prototype.duration;
41
- IContent.prototype.exclusiveContent;
42
- IContent.prototype.expiryDate;
43
- IContent.prototype.equivalentCertifications;
44
- IContent.prototype.hasAccess;
45
- IContent.prototype.hasAssessment;
46
- IContent.prototype.idealScreenSize;
47
- IContent.prototype.identifier;
48
- IContent.prototype.introductoryVideo;
49
- IContent.prototype.introductoryVideoIcon;
50
- IContent.prototype.learningTrack;
51
- IContent.prototype.isExternal;
52
- IContent.prototype.isIframeSupported;
53
- IContent.prototype.isInIntranet;
54
- IContent.prototype.keywords;
55
- IContent.prototype.kArtifacts;
56
- IContent.prototype.lastUpdatedOn;
57
- IContent.prototype.learningMode;
58
- IContent.prototype.learningObjective;
59
- IContent.prototype.labels;
60
- IContent.prototype.locale;
61
- IContent.prototype.hasTranslations;
62
- IContent.prototype.isTranslationOf;
63
- IContent.prototype.me_totalSessionsCount;
64
- IContent.prototype.mediaType;
65
- IContent.prototype.mimeType;
66
- IContent.prototype.miniGOTVersion;
67
- IContent.prototype.msArtifactDetails;
68
- IContent.prototype.mode;
69
- IContent.prototype.name;
70
- IContent.prototype.nextCertificationAttemptDate;
71
- IContent.prototype.playgroundInstructions;
72
- IContent.prototype.playgroundResources;
73
- IContent.prototype.postContents;
74
- IContent.prototype.posterImage;
75
- IContent.prototype.preContents;
76
- IContent.prototype.preRequisites;
77
- IContent.prototype.price;
78
- IContent.prototype.proctorUrl;
79
- IContent.prototype.progress;
80
- IContent.prototype.programDuration;
81
- IContent.prototype.publishedOn;
82
- IContent.prototype.recentCertificationAttemptScore;
83
- IContent.prototype.recommendationReasons;
84
- IContent.prototype.region;
85
- IContent.prototype.registrationUrl;
86
- IContent.prototype.registrationInstructions;
87
- IContent.prototype.resourceCategory;
88
- IContent.prototype.resourceType;
89
- IContent.prototype.size;
90
- IContent.prototype.skills;
91
- IContent.prototype.softwareRequirements;
92
- IContent.prototype.sourceName;
93
- IContent.prototype.sourceShortName;
94
- IContent.prototype.sourceIconUrl;
95
- IContent.prototype.sourceUrl;
96
- IContent.prototype.ssoEnabled;
97
- IContent.prototype.status;
98
- IContent.prototype.subTitle;
99
- IContent.prototype.subTitles;
100
- IContent.prototype.studyMaterials;
101
- IContent.prototype.systemRequirements;
102
- IContent.prototype.tags;
103
- IContent.prototype.topics;
104
- IContent.prototype.totalLikes;
105
- IContent.prototype.totalRating;
106
- IContent.prototype.track;
107
- IContent.prototype.uniqueLearners;
108
- IContent.prototype.viewCount;
109
- IContent.prototype.reason;
110
- IContent.prototype.trainingLHubCount;
111
- IContent.prototype.verifiers;
112
- IContent.prototype.references;
113
- IContent.prototype.resumePage;
114
- IContent.prototype.optionalReading;
115
- IContent.prototype.additionalTags;
116
- }
117
3
  var EPrimaryCategory;
118
4
  (function (EPrimaryCategory) {
119
5
  EPrimaryCategory["PROGRAM"] = "Program";
@@ -136,133 +22,6 @@ export var NsContent;
136
22
  EPrimaryCategory["LEARNING_JOURNEY"] = "Learning Journeys";
137
23
  EPrimaryCategory["CHANNEL"] = "Channel";
138
24
  })(EPrimaryCategory = NsContent.EPrimaryCategory || (NsContent.EPrimaryCategory = {}));
139
- function IContentMinimal() { }
140
- NsContent.IContentMinimal = IContentMinimal;
141
- if (false) {
142
- IContentMinimal.prototype.appIcon;
143
- IContentMinimal.prototype.artifactUrl;
144
- IContentMinimal.prototype.complexityLevel;
145
- IContentMinimal.prototype.contentType;
146
- IContentMinimal.prototype.primaryCategory;
147
- IContentMinimal.prototype.description;
148
- IContentMinimal.prototype.displayContentType;
149
- IContentMinimal.prototype.duration;
150
- IContentMinimal.prototype.identifier;
151
- IContentMinimal.prototype.hasAccess;
152
- IContentMinimal.prototype.isInIntranet;
153
- IContentMinimal.prototype.learningMode;
154
- IContentMinimal.prototype.mimeType;
155
- IContentMinimal.prototype.name;
156
- IContentMinimal.prototype.creatorDetails;
157
- IContentMinimal.prototype.creatorContacts;
158
- IContentMinimal.prototype.PosterImage;
159
- IContentMinimal.prototype.resourceType;
160
- IContentMinimal.prototype.totalRating;
161
- }
162
- function ICollectionHierarchyResponse() { }
163
- NsContent.ICollectionHierarchyResponse = ICollectionHierarchyResponse;
164
- if (false) {
165
- ICollectionHierarchyResponse.prototype.data;
166
- ICollectionHierarchyResponse.prototype.hasMore;
167
- ICollectionHierarchyResponse.prototype.totalContents;
168
- }
169
- function IRelatedContentMeta() { }
170
- NsContent.IRelatedContentMeta = IRelatedContentMeta;
171
- if (false) {
172
- IRelatedContentMeta.prototype.identifier;
173
- IRelatedContentMeta.prototype.name;
174
- }
175
- function IMarkAsCompleteProgress() { }
176
- if (false) {
177
- IMarkAsCompleteProgress.prototype.progressStatus;
178
- IMarkAsCompleteProgress.prototype.showMarkAsComplete;
179
- IMarkAsCompleteProgress.prototype.markAsCompleteReason;
180
- IMarkAsCompleteProgress.prototype.progressSupported;
181
- IMarkAsCompleteProgress.prototype.progress;
182
- }
183
- function ITag() { }
184
- if (false) {
185
- ITag.prototype.id;
186
- ITag.prototype.type;
187
- ITag.prototype.value;
188
- }
189
- function IMSArtifactDetails() { }
190
- if (false) {
191
- IMSArtifactDetails.prototype.channelId;
192
- IMSArtifactDetails.prototype.videoId;
193
- }
194
- function IClient() { }
195
- if (false) {
196
- IClient.prototype.displayName;
197
- IClient.prototype.id;
198
- IClient.prototype.name;
199
- }
200
- function ISubtitle() { }
201
- if (false) {
202
- ISubtitle.prototype.srclang;
203
- ISubtitle.prototype.label;
204
- ISubtitle.prototype.url;
205
- }
206
- function IPrePostContent() { }
207
- if (false) {
208
- IPrePostContent.prototype.identifier;
209
- IPrePostContent.prototype.name;
210
- }
211
- function IResourceDetail() { }
212
- if (false) {
213
- IResourceDetail.prototype.title;
214
- IResourceDetail.prototype.url;
215
- }
216
- function IResourcePlayground() { }
217
- if (false) {
218
- IResourcePlayground.prototype.appIcon;
219
- IResourcePlayground.prototype.artifactUrl;
220
- IResourcePlayground.prototype.identifier;
221
- IResourcePlayground.prototype.name;
222
- }
223
- function ITrack() { }
224
- if (false) {
225
- ITrack.prototype.id;
226
- ITrack.prototype.name;
227
- ITrack.prototype.status;
228
- ITrack.prototype.visibility;
229
- }
230
- function ISkill() { }
231
- if (false) {
232
- ISkill.prototype.id;
233
- ISkill.prototype.category;
234
- ISkill.prototype.skill;
235
- ISkill.prototype.name;
236
- }
237
- function ICreator() { }
238
- NsContent.ICreator = ICreator;
239
- if (false) {
240
- ICreator.prototype.id;
241
- ICreator.prototype.name;
242
- ICreator.prototype.email;
243
- }
244
- function IContentTopic() { }
245
- NsContent.IContentTopic = IContentTopic;
246
- if (false) {
247
- IContentTopic.prototype.identifier;
248
- IContentTopic.prototype.name;
249
- }
250
- function IContact() { }
251
- NsContent.IContact = IContact;
252
- if (false) {
253
- IContact.prototype.id;
254
- IContact.prototype.name;
255
- IContact.prototype.email;
256
- }
257
- function IViewerContinueLearningRequest() { }
258
- NsContent.IViewerContinueLearningRequest = IViewerContinueLearningRequest;
259
- if (false) {
260
- IViewerContinueLearningRequest.prototype.resourceId;
261
- IViewerContinueLearningRequest.prototype.contextPathId;
262
- IViewerContinueLearningRequest.prototype.data;
263
- IViewerContinueLearningRequest.prototype.dateAccessed;
264
- IViewerContinueLearningRequest.prototype.contextType;
265
- }
266
25
  var EContentTypes;
267
26
  (function (EContentTypes) {
268
27
  EContentTypes["PROGRAM"] = "Learning Path";
@@ -370,4 +129,4 @@ export var NsContent;
370
129
  ETagType["NEWLY_ADDED"] = "NEWLY ADDED";
371
130
  })(ETagType = NsContent.ETagType || (NsContent.ETagType = {}));
372
131
  })(NsContent || (NsContent = {}));
373
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy93aWRnZXQtY29udGVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLEtBQVcsU0FBUyxDQW1ZekI7QUFuWUQsV0FBaUIsU0FBUztJQUN4QixvQ0FFQzs7O1FBREMsNkNBQWlCOztJQUduQix1QkE4SEM7OztRQTdIQyw0QkFBYztRQUNkLDJCQUFlO1FBQ2YsMkJBQWU7UUFDZiwrQkFBbUI7UUFDbkIsaUNBQW1CO1FBQ25CLHdCQUFhO1FBQ2IscUNBQXlDO1FBQ3pDLHVDQUEwQztRQUMxQywrQ0FBb0M7UUFDcEMsb0NBQXdCO1FBQ3hCLDRCQUFvQjtRQUNwQix1Q0FBOEI7UUFDOUIsMkJBQW1CO1FBQ25CLCtCQUF3QjtRQUN4QixtQ0FBdUI7UUFDdkIsNkJBQWlCO1FBQ2pCLCtCQUEwQjtRQUMxQixtQ0FBdUI7UUFDdkIsbUNBQWlDO1FBQ2pDLHNDQUEwQjtRQUMxQixtQ0FBMkI7UUFFM0Isa0NBQTBCO1FBQzFCLCtCQUFtQjtRQUNuQixzQ0FBMEI7UUFDMUIsb0NBQXdCO1FBRXhCLCtCQUFxQjtRQUNyQiwrQkFBbUI7UUFDbkIsc0NBQXdDO1FBQ3hDLCtCQUFvQjtRQUNwQiw0QkFBZ0I7UUFDaEIsb0NBQTBCO1FBQzFCLDhCQUFtQjtRQUNuQiw0Q0FBZ0Q7UUFDaEQsNkJBQWtCO1FBQ2xCLGlDQUFzQjtRQUN0QixtQ0FBd0I7UUFDeEIsOEJBQWtCO1FBQ2xCLHFDQUEwQjtRQUMxQix5Q0FBOEI7UUFDOUIsaUNBQXNCO1FBQ3RCLDhCQUFtQjtRQUNuQixxQ0FBeUM7UUFDekMsZ0NBQXNCO1FBQ3RCLDRCQUFtQjtRQUNuQiw4QkFBa0M7UUFDbEMsaUNBQXFCO1FBQ3JCLGdDQUE0QjtRQUM1QixxQ0FBeUI7UUFDekIsMEJBQWlCO1FBQ2pCLDBCQUFlO1FBQ2YsbUNBQTBE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O1FBQ2pELDJEQUFtQyxDQUFBO1FBQ25DLHVDQUFlLENBQUE7UUFDZiw2Q0FBcUIsQ0FBQTtRQUNyQixtQ0FBVyxDQUFBO1FBQ1gseURBQWlDLENBQUE7UUFDakMsK0RBQXVDLENBQUE7UUFDdkMsaUVBQXlDLENBQUE7UUFDekMseUNBQWlCLENBQUE7UUFDakIsbUNBQVcsQ0FBQTtRQUNYLDZDQUFxQixDQUFBO1FBQ3JCLDJDQUFtQixDQUFBO1FBQ25CLHFDQUFhLENBQUE7UUFDYiw2Q0FBcUIsQ0FBQTtRQUNyQix5REFBaUMsQ0FBQTtRQUNqQyx1Q0FBZSxDQUFBO1FBQ2YsaURBQXlCLENBQUE7UUFDekIsNkNBQXFCLENBQUE7UUFDckIsMkNBQW1CLENBQUE7UUFDbkIsMkRBQW1DLENBQUE7UUFDbkMsOERBQXNDLENBQUE7SUFDeEMsQ0FBQyxFQTlCVyxvQkFBb0IsR0FBcEIsOEJBQW9CLEtBQXBCLDhCQUFvQixRQThCL0I7SUFFRCxJQUFZLGVBS1g7SUFMRCxXQUFZLGVBQWU7UUFDekIsOEJBQVcsQ0FBQTtRQUNYLGtDQUFlLENBQUE7UUFDZix3Q0FBcUIsQ0FBQTtRQUNyQixvQ0FBaUIsQ0FBQTtJQUNuQixDQUFDLEVBTFcsZUFBZSxHQUFmLHlCQUFlLEtBQWYseUJBQWUsUUFLMUI7SUFHRCxJQUFZLFFBRVg7SUFGRCxXQUFZLFFBQVE7UUFDbEIsdUNBQTJCLENBQUE7SUFDN0IsQ0FBQyxFQUZXLFFBQVEsR0FBUixrQkFBUSxLQUFSLGtCQUFRLFFBRW5CO0FBQ0gsQ0FBQyxFQW5ZZ0IsU0FBUyxLQUFULFNBQVMsUUFtWXpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IG5hbWVzcGFjZSBOc0NvbnRlbnQge1xyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRpbnVlTGVhcm5pbmdEYXRhIGV4dGVuZHMgSUNvbnRlbnQge1xyXG4gICAgY29udGludWVEYXRhOiBhbnlcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnQge1xyXG4gICAgcGxhdGZvcm0/OiBhbnlcclxuICAgIGFkZGVkT246IHN0cmluZ1xyXG4gICAgYXBwSWNvbjogc3RyaW5nXHJcbiAgICBhcnRpZmFjdFVybDogc3RyaW5nXHJcbiAgICBhdmVyYWdlUmF0aW5nPzogYW55XHJcbiAgICBib2R5Pzogc3RyaW5nXHJcbiAgICBjZXJ0aWZpY2F0aW9uTGlzdD86IElSZWxhdGVkQ29udGVudE1ldGFbXVxyXG4gICAgY2VydGlmaWNhdGlvblN0YXR1cz86IFRDZXJ0aWZpY2F0aW9uU3RhdHVzXHJcbiAgICBjZXJ0aWZpY2F0aW9uU3VibWlzc2lvbkRhdGU/OiBzdHJpbmdcclxuICAgIGNlcnRpZmljYXRpb25Vcmw6IHN0cmluZ1xyXG4gICAgY2hpbGRyZW46IElDb250ZW50W11cclxuICAgIGNoaWxkcmVuQ2xhc3NpZmllcnM/OiBzdHJpbmdbXVxyXG4gICAgY2xpZW50cz86IElDbGllbnRbXVxyXG4gICAgY29sbGVjdGlvbnM/OiBJQ29udGVudFtdXHJcbiAgICBjb21wbGV4aXR5TGV2ZWw6IHN0cmluZ1xyXG4gICAgY29udGVudElkOiBzdHJpbmdcclxuICAgIGNvbnRlbnRUeXBlOiBFQ29udGVudFR5cGVzXHJcbiAgICBkaWZmaWN1bHR5TGV2ZWw6IHN0cmluZ1xyXG4gICAgcHJpbWFyeUNhdGVnb3J5OiBFUHJpbWFyeUNhdGVnb3J5XHJcbiAgICBjb250ZW50VXJsQXRTb3VyY2U6IHN0cmluZ1xyXG4gICAgY3JlYXRvckNvbnRhY3RzOiBJQ3JlYXRvcltdXHJcblxyXG4gICAgY3JlYXRvckRldGFpbHM6IElDcmVhdG9yW11cclxuICAgIGNyZWF0b3JMb2dvOiBzdHJpbmdcclxuICAgIGNyZWF0b3JQb3N0ZXJJbWFnZTogc3RyaW5nXHJcbiAgICBjcmVhdG9yVGh1bWJuYWlsOiBzdHJpbmdcclxuXHJcbiAgICBjdXJhdGVkVGFnczogc3RyaW5nW11cclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICAgIGRpc3BsYXlDb250ZW50VHlwZTogRURpc3BsYXlDb250ZW50VHlwZXMgLy8gRm9yIFVJXHJcbiAgICBkb3dubG9hZFVybD86IHN0cmluZ1xyXG4gICAgZHVyYXRpb246IG51bWJlclxyXG4gICAgZXhjbHVzaXZlQ29udGVudD86IGJvb2xlYW5cclxuICAgIGV4cGlyeURhdGU/OiBzdHJpbmdcclxuICAgIGVxdWl2YWxlbnRDZXJ0aWZpY2F0aW9ucz86IElSZWxhdGVkQ29udGVudE1ldGFbXVxyXG4gICAgaGFzQWNjZXNzOiBib29sZWFuXHJcbiAgICBoYXNBc3Nlc3NtZW50Pzogc3RyaW5nXHJcbiAgICBpZGVhbFNjcmVlblNpemU/OiBzdHJpbmdcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gICAgaW50cm9kdWN0b3J5VmlkZW8/OiBzdHJpbmdcclxuICAgIGludHJvZHVjdG9yeVZpZGVvSWNvbj86IHN0cmluZ1xyXG4gICAgbGVhcm5pbmdUcmFjaz86IHN0cmluZ1xyXG4gICAgaXNFeHRlcm5hbDogYm9vbGVhblxyXG4gICAgaXNJZnJhbWVTdXBwb3J0ZWQ6ICdZZXMnIHwgJ05vJyB8ICdNYXliZSdcclxuICAgIGlzSW5JbnRyYW5ldD86IGJvb2xlYW5cclxuICAgIGtleXdvcmRzPzogc3RyaW5nW11cclxuICAgIGtBcnRpZmFjdHM/OiBJUmVsYXRlZENvbnRlbnRNZXRhW11cclxuICAgIGxhc3RVcGRhdGVkT246IHN0cmluZ1xyXG4gICAgbGVhcm5pbmdNb2RlPzogVExlYXJuaW5nTW9kZVxyXG4gICAgbGVhcm5pbmdPYmplY3RpdmU6IHN0cmluZ1xyXG4gICAgbGFiZWxzPzogc3RyaW5nW11cclxuICAgIGxvY2FsZT86IHN0cmluZ1xyXG4gICAgaGFzVHJhbnNsYXRpb25zPzogeyBpZGVudGlmaWVyOiBzdHJpbmc7IGxvY2FsZTogc3RyaW5nIH1bXVxyXG4gICAgaXNUcmFuc2xhdGlvbk9mPzogeyBpZGVudGlmaWVyOiBzdHJpbmc7IGxvY2FsZTogc3RyaW5nIH1bXVxyXG4gICAgbWVfdG90YWxTZXNzaW9uc0NvdW50OiBudW1iZXJcclxuICAgIG1lZGlhVHlwZTogc3RyaW5nXHJcbiAgICBtaW1lVHlwZTogRU1pbWVUeXBlc1xyXG4gICAgbWluaUdPVFZlcnNpb24/OiBzdHJpbmdcclxuICAgIG1zQXJ0aWZhY3REZXRhaWxzPzogSU1TQXJ0aWZhY3REZXRhaWxzXHJcbiAgICBtb2RlPzogRVRhZ1R5cGVcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gICAgbmV4dENlcnRpZmljYXRpb25BdHRlbXB0RGF0ZT86IHN0cmluZ1xyXG4gICAgcGxheWdyb3VuZEluc3RydWN0aW9ucz86IHN0cmluZ1xyXG4gICAgcGxheWdyb3VuZFJlc291cmNlcz86IElSZXNvdXJjZVBsYXlncm91bmRbXVxyXG4gICAgcG9zdENvbnRlbnRzPzogSVByZVBvc3RDb250ZW50W11cclxuICAgIHBvc3RlckltYWdlPzogc3RyaW5nXHJcbiAgICBwcmVDb250ZW50cz86IElQcmVQb3N0Q29udGVudFtdXHJcbiAgICBwcmVSZXF1aXNpdGVzOiBzdHJpbmdcclxuICAgIHByaWNlPzoge1xyXG4gICAgICBjdXJyZW5jeTogc3RyaW5nXHJcbiAgICAgIHZhbHVlOiBudW1iZXJcclxuICAgIH1cclxuICAgIHByb2N0b3JVcmw/OiBzdHJpbmdcclxuICAgIHByb2dyZXNzPzogSU1hcmtBc0NvbXBsZXRlUHJvZ3Jlc3NcclxuICAgIHByb2dyYW1EdXJhdGlvbj86IGFueVxyXG4gICAgcHVibGlzaGVkT246IHN0cmluZ1xyXG4gICAgcmVjZW50Q2VydGlmaWNhdGlvbkF0dGVtcHRTY29yZT86IG51bWJlclxyXG4gICAgcmVjb21tZW5kYXRpb25SZWFzb25zPzogc3RyaW5nW11cclxuICAgIHJlZ2lvbj86IHN0cmluZ1tdXHJcbiAgICByZWdpc3RyYXRpb25Vcmw/OiBzdHJpbmdcclxuICAgIHJlZ2lzdHJhdGlvbkluc3RydWN0aW9ucz86IHN0cmluZ1xyXG4gICAgcmVzb3VyY2VDYXRlZ29yeT86IHN0cmluZ1tdXHJcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZ1xyXG4gICAgc2l6ZT86IG51bWJlclxyXG4gICAgc2tpbGxzOiBJU2tpbGxbXVxyXG4gICAgc29mdHdhcmVSZXF1aXJlbWVudHM/OiBJUmVzb3VyY2VEZXRhaWxbXVxyXG4gICAgc291cmNlTmFtZTogc3RyaW5nXHJcbiAgICBzb3VyY2VTaG9ydE5hbWU6IHN0cmluZ1xyXG4gICAgc291cmNlSWNvblVybD86IHN0cmluZ1xyXG4gICAgc291cmNlVXJsPzogc3RyaW5nXHJcbiAgICBzc29FbmFibGVkPzogYm9vbGVhblxyXG4gICAgc3RhdHVzOlxyXG4gICAgfCAnRHJhZnQnXHJcbiAgICB8ICdJblJldmlldydcclxuICAgIHwgJ1F1YWxpdHlSZXZpZXcnXHJcbiAgICB8ICdSZXZpZXdlZCdcclxuICAgIHwgJ1Byb2Nlc3NpbmcnXHJcbiAgICB8ICdMaXZlJ1xyXG4gICAgfCAnRGVsZXRlZCdcclxuICAgIHwgJ01hcmtlZEZvckRlbGV0aW9uJ1xyXG4gICAgfCAnRXhwaXJlZCdcclxuICAgIHN1YlRpdGxlPzogc3RyaW5nXHJcbiAgICBzdWJUaXRsZXM/OiBJU3VidGl0bGVbXVxyXG4gICAgc3R1ZHlNYXRlcmlhbHM/OiBJUmVsYXRlZENvbnRlbnRNZXRhW11cclxuICAgIHN5c3RlbVJlcXVpcmVtZW50cz86IHN0cmluZ1tdXHJcbiAgICB0YWdzOiBJVGFnW11cclxuICAgIHRvcGljczogSUNvbnRlbnRUb3BpY1tdXHJcbiAgICB0b3RhbExpa2VzPzogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfVxyXG4gICAgdG90YWxSYXRpbmc/OiBudW1iZXJcclxuICAgIHRyYWNrOiBJVHJhY2tbXVxyXG4gICAgdW5pcXVlTGVhcm5lcnM/OiBudW1iZXJcclxuICAgIHZpZXdDb3VudD86IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH1cclxuICAgIHJlYXNvbj86IHN0cmluZyAvLyByZXF1aXJlZCBmb3IgS25vd2xlZGdlIGJvYXJkXHJcbiAgICB0cmFpbmluZ0xIdWJDb3VudD86IG51bWJlciAvLyBmb3IgTEh1YiB0cmFpbmluZ3NcclxuICAgIHZlcmlmaWVycz86IHtcclxuICAgICAgLy8gcmVxdWlyZWQgZm9yIEV4dGVybmFsIENlcnRpZmljYXRpb25zXHJcbiAgICAgIG5hbWU6IHN0cmluZ1xyXG4gICAgICBlbWFpbDogc3RyaW5nXHJcbiAgICAgIGlkOiBzdHJpbmdcclxuICAgIH1bXVxyXG4gICAgcmVmZXJlbmNlcz86IHsgdXJsOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdXHJcbiAgICByZXN1bWVQYWdlPzogbnVtYmVyIC8vIEZvciBwbGF5ZXIgV2ViTW9kdWxlIGluIFVJXHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcclxuICAgIG9wdGlvbmFsUmVhZGluZzogYm9vbGVhblxyXG4gICAgYWRkaXRpb25hbFRhZ3M/OiBzdHJpbmdbXVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGVudW0gRVByaW1hcnlDYXRlZ29yeSB7XHJcbiAgICBQUk9HUkFNID0gJ1Byb2dyYW0nLFxyXG4gICAgQ09VUlNFID0gJ0NvdXJzZScsXHJcbiAgICBNT0RVTEUgPSAnQ291cnNlIFVuaXQnLFxyXG4gICAgUkVTT1VSQ0UgPSAnTGVhcm5pbmcgUmVzb3VyY2UnLFxyXG4gICAgR09BTFMgPSAnR09BTFMnLFxyXG4gICAgUFJBQ1RJQ0VfUkVTT1VSQ0UgPSAnUHJhY3RpY2UgUXVlc3Rpb24gU2V0JyxcclxuICAgIEZJTkFMX0FTU0VTU01FTlQgPSAnQ291cnNlIEFzc2Vzc21lbnQnLFxyXG4gICAgQ09NUF9BU1NFU1NNRU5UID0gJ0NvbXBldGVuY3kgQXNzZXNzbWVudCcsXHJcbiAgICBGVEJfUVVFU1RJT04gPSAnRlRCIFF1ZXN0aW9uJyxcclxuICAgIE1URl9RVUVTVElPTiA9ICdNVEYgUXVlc3Rpb24nLFxyXG4gICAgTVVMVElQTEVfQ0hPSUNFX1FVRVNUSU9OID0gJ011bHRpcGxlIENob2ljZSBRdWVzdGlvbicsXHJcbiAgICBTSU5HTEVfQ0hPSUNFX1FVRVNUSU9OID0gJ1NpbmdsZSBDaG9pY2UgUXVlc3Rpb24nLFxyXG4gICAgTUFOREFUT1JZX0NPVVJTRV9HT0FMID0gJ01hbmRhdG9yeSBDb3Vyc2UgR29hbCcsXHJcbiAgICBCTEVOREVEX1BST0dSQU0gPSAnQmxlbmRlZCBQcm9ncmFtJyxcclxuICAgIE9GRkxJTkVfU0VTU0lPTiA9ICdPZmZsaW5lIFNlc3Npb24nLFxyXG4gICAgLy8gZm9sbG93aW5nIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBzb29uXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFRoZSB0eXBlIHNob3VsZCBub3QgYmUgdXNlZFxyXG4gICAgICovXHJcbiAgICBLTk9XTEVER0VfQVJUSUZBQ1QgPSAnS25vd2xlZGdlIEFydGlmYWN0JyxcclxuICAgIC8qKlxyXG4gICAgKiBAZGVwcmVjYXRlZCBUaGUgdHlwZSBzaG91bGQgbm90IGJlIHVzZWRcclxuICAgICovXHJcbiAgICBLTk9XTEVER0VfQk9BUkQgPSAnS25vd2xlZGdlIEJvYXJkJyxcclxuICAgIC8qKlxyXG4gICAgKiBAZGVwcmVjYXRlZCBUaGUgdHlwZSBzaG91bGQgbm90IGJlIHVzZWRcclxuICAgICovXHJcbiAgICBMRUFSTklOR19KT1VSTkVZID0gJ0xlYXJuaW5nIEpvdXJuZXlzJyxcclxuICAgIC8qKlxyXG4gICAgKiBAZGVwcmVjYXRlZCBUaGUgdHlwZSBzaG91bGQgbm90IGJlIHVzZWRcclxuICAgICovXHJcbiAgICBDSEFOTkVMID0gJ0NoYW5uZWwnLFxyXG4gIH1cclxuICBleHBvcnQgaW50ZXJmYWNlIElDb250ZW50TWluaW1hbCB7XHJcbiAgICBhcHBJY29uOiBzdHJpbmdcclxuICAgIGFydGlmYWN0VXJsOiBzdHJpbmdcclxuICAgIGNvbXBsZXhpdHlMZXZlbDogc3RyaW5nXHJcbiAgICBjb250ZW50VHlwZTogRUNvbnRlbnRUeXBlc1xyXG4gICAgcHJpbWFyeUNhdGVnb3J5OiBFUHJpbWFyeUNhdGVnb3J5XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgICBkaXNwbGF5Q29udGVudFR5cGU/OiBFRGlzcGxheUNvbnRlbnRUeXBlc1xyXG4gICAgZHVyYXRpb246IG51bWJlclxyXG4gICAgaWRlbnRpZmllcjogc3RyaW5nXHJcbiAgICBoYXNBY2Nlc3M/OiBib29sZWFuXHJcbiAgICBpc0luSW50cmFuZXQ/OiBib29sZWFuXHJcbiAgICBsZWFybmluZ01vZGU/OiBUTGVhcm5pbmdNb2RlXHJcbiAgICBtaW1lVHlwZTogRU1pbWVUeXBlc1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgICBjcmVhdG9yRGV0YWlsczogSUNyZWF0b3JbXVxyXG4gICAgY3JlYXRvckNvbnRhY3RzOiBJQ3JlYXRvcltdXHJcbiAgICBQb3N0ZXJJbWFnZT86IHN0cmluZ1xyXG4gICAgcmVzb3VyY2VUeXBlPzogc3RyaW5nXHJcbiAgICB0b3RhbFJhdGluZz86IG51bWJlclxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ29sbGVjdGlvbkhpZXJhcmNoeVJlc3BvbnNlIHtcclxuICAgIGRhdGE6IElDb250ZW50XHJcbiAgICBoYXNNb3JlOiBib29sZWFuXHJcbiAgICB0b3RhbENvbnRlbnRzOiBudW1iZXJcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSVJlbGF0ZWRDb250ZW50TWV0YSB7XHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmdcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gIH1cclxuXHJcbiAgdHlwZSBUQ2VydGlmaWNhdGlvblN0YXR1cyA9ICdvbmdvaW5nJyB8ICdwYXNzZWQnIHwgJ2NhbkF0dGVtcHQnIHwgJ2Nhbm5vdEF0dGVtcHQnXHJcbiAgZXhwb3J0IHR5cGUgVExlYXJuaW5nTW9kZSA9ICdTZWxmLVBhY2VkJyB8ICdJbnN0cnVjdG9yLUxlZCcgfCAnT3BlbicgfCAnQ2xvc2VkJ1xyXG5cclxuICBpbnRlcmZhY2UgSU1hcmtBc0NvbXBsZXRlUHJvZ3Jlc3Mge1xyXG4gICAgcHJvZ3Jlc3NTdGF0dXM6ICdvcGVuJyB8ICdzdGFydGVkJyB8ICdjb21wbGV0ZWQnXHJcbiAgICBzaG93TWFya0FzQ29tcGxldGU6IGJvb2xlYW5cclxuICAgIG1hcmtBc0NvbXBsZXRlUmVhc29uOiBzdHJpbmdcclxuICAgIHByb2dyZXNzU3VwcG9ydGVkOiBib29sZWFuXHJcbiAgICBwcm9ncmVzczogbnVtYmVyIHwgbnVsbFxyXG4gIH1cclxuXHJcbiAgaW50ZXJmYWNlIElUYWcge1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgdHlwZTogc3RyaW5nXHJcbiAgICB2YWx1ZTogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJTVNBcnRpZmFjdERldGFpbHMge1xyXG4gICAgY2hhbm5lbElkOiBzdHJpbmdcclxuICAgIHZpZGVvSWQ6IHN0cmluZ1xyXG4gIH1cclxuICBpbnRlcmZhY2UgSUNsaWVudCB7XHJcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nXHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElTdWJ0aXRsZSB7XHJcbiAgICBzcmNsYW5nOiBzdHJpbmdcclxuICAgIGxhYmVsOiBzdHJpbmdcclxuICAgIHVybDogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJUHJlUG9zdENvbnRlbnQge1xyXG4gICAgaWRlbnRpZmllcjogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElSZXNvdXJjZURldGFpbCB7XHJcbiAgICB0aXRsZT86IHN0cmluZ1xyXG4gICAgdXJsPzogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJUmVzb3VyY2VQbGF5Z3JvdW5kIHtcclxuICAgIGFwcEljb246IHN0cmluZ1xyXG4gICAgYXJ0aWZhY3RVcmw6IHN0cmluZ1xyXG4gICAgaWRlbnRpZmllcjogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElUcmFjayB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIHN0YXR1czogc3RyaW5nXHJcbiAgICB2aXNpYmlsaXR5OiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElTa2lsbCB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBjYXRlZ29yeTogc3RyaW5nXHJcbiAgICBza2lsbDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRvciB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIGVtYWlsOiBzdHJpbmdcclxuICB9XHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ29udGVudFRvcGljIHtcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgfVxyXG4gIC8vIEFQSSBCYXNlZFxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIElDb250YWN0IHtcclxuICAgIGlkOiBzdHJpbmdcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gICAgZW1haWw6IHN0cmluZ1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBJVmlld2VyQ29udGludWVMZWFybmluZ1JlcXVlc3Qge1xyXG4gICAgcmVzb3VyY2VJZDogc3RyaW5nXHJcbiAgICBjb250ZXh0UGF0aElkOiBzdHJpbmdcclxuICAgIGRhdGE6IHN0cmluZ1xyXG4gICAgZGF0ZUFjY2Vzc2VkOiBudW1iZXJcclxuICAgIGNvbnRleHRUeXBlPzogc3RyaW5nXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgRW51bSBFQ29udGVudFR5cGVzIHNob3VsZCBub3QgYmUgdXNlZCBpbiBmdXR1cmVcclxuICAgICAqL1xyXG4gIGV4cG9ydCBlbnVtIEVDb250ZW50VHlwZXMge1xyXG4gICAgUFJPR1JBTSA9ICdMZWFybmluZyBQYXRoJyxcclxuICAgIENIQU5ORUwgPSAnQ2hhbm5lbCcsXHJcbiAgICBDT1VSU0UgPSAnQ291cnNlJyxcclxuICAgIEtOT1dMRURHRV9BUlRJRkFDVCA9ICdLbm93bGVkZ2UgQXJ0aWZhY3QnLFxyXG4gICAgS05PV0xFREdFX0JPQVJEID0gJ0tub3dsZWRnZSBCb2FyZCcsXHJcbiAgICBMRUFSTklOR19KT1VSTkVZID0gJ0xlYXJuaW5nIEpvdXJuZXlzJyxcclxuICAgIE1PRFVMRSA9ICdDb2xsZWN0aW9uJyxcclxuICAgIFJFU09VUkNFID0gJ1Jlc291cmNlJyxcclxuICB9XHJcbiAgZXhwb3J0IGVudW0gRU1pc2NQbGF5ZXJTdXBwb3J0ZWRDb2xsZWN0aW9uVHlwZXMge1xyXG4gICAgUExBWUxJU1QgPSAnUGxheWxpc3QnLFxyXG4gIH1cclxuICBleHBvcnQgY29uc3QgUExBWUVSX1NVUFBPUlRFRF9DT0xMRUNUSU9OX1RZUEVTOiBzdHJpbmdbXSA9IFtcclxuICAgIEVDb250ZW50VHlwZXMuQ09VUlNFLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5NT0RVTEUsXHJcbiAgICBFQ29udGVudFR5cGVzLlBST0dSQU0sXHJcbiAgICBFTWlzY1BsYXllclN1cHBvcnRlZENvbGxlY3Rpb25UeXBlcy5QTEFZTElTVCxcclxuICBdXHJcbiAgZXhwb3J0IGNvbnN0IEtCX1NVUFBPUlRFRF9DT05URU5UX1RZUEVTOiBFQ29udGVudFR5cGVzW10gPSBbXHJcbiAgICBFQ29udGVudFR5cGVzLkNPVVJTRSxcclxuICAgIEVDb250ZW50VHlwZXMuTU9EVUxFLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5QUk9HUkFNLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5SRVNPVVJDRSxcclxuICBdXHJcbiAgZXhwb3J0IGNvbnN0IFBMQVlMSVNUX1NVUFBPUlRFRF9DT05URU5UX1RZUEVTOiBFQ29udGVudFR5cGVzW10gPSBbXHJcbiAgICBFQ29udGVudFR5cGVzLkNPVVJTRSxcclxuICAgIEVDb250ZW50VHlwZXMuTU9EVUxFLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5QUk9HUkFNLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5SRVNPVVJDRSxcclxuICBdXHJcbiAgZXhwb3J0IGVudW0gRU1pbWVUeXBlcyB7XHJcbiAgICBDT0xMRUNUSU9OID0gJ2FwcGxpY2F0aW9uL3ZuZC5la3N0ZXAuY29udGVudC1jb2xsZWN0aW9uJyxcclxuICAgIEhUTUwgPSAnYXBwbGljYXRpb24vaHRtbCcsXHJcbiAgICBJTFBfRlAgPSAnYXBwbGljYXRpb24vaWxwZnAnLFxyXG4gICAgSUFQID0gJ2FwcGxpY2F0aW9uL2lhcC1hc3Nlc3NtZW50JyxcclxuICAgIE00QSA9ICdhdWRpby9tNGEnLFxyXG4gICAgTVAzID0gJ2F1ZGlvL21wZWcnLFxyXG4gICAgTVA0ID0gJ3ZpZGVvL21wNCcsXHJcbiAgICBNM1U4ID0gJ2FwcGxpY2F0aW9uL3gtbXBlZ1VSTCcsXHJcbiAgICBJTlRFUkFDVElPTiA9ICd2aWRlby9pbnRlcmFjdGl2ZScsXHJcbiAgICBQREYgPSAnYXBwbGljYXRpb24vcGRmJyxcclxuICAgIFFVSVogPSAnYXBwbGljYXRpb24vcXVpeicsXHJcbiAgICBEUkFHX0RST1AgPSAnYXBwbGljYXRpb24vZHJhZy1kcm9wJyxcclxuICAgIEhUTUxfUElDS0VSID0gJ2FwcGxpY2F0aW9uL2h0bWxwaWNrZXInLFxyXG4gICAgV0VCX01PRFVMRSA9ICdhcHBsaWNhdGlvbi93ZWItbW9kdWxlJyxcclxuICAgIFdFQl9NT0RVTEVfRVhFUkNJU0UgPSAnYXBwbGljYXRpb24vd2ViLW1vZHVsZS1leGVyY2lzZScsXHJcbiAgICBZT1VUVUJFID0gJ3ZpZGVvL3gteW91dHViZScsXHJcbiAgICBIQU5EU19PTiA9ICdhcHBsaWNhdGlvbi9pbnRlZ3JhdGVkLWhhbmRzLW9uJyxcclxuICAgIFJEQk1TX0hBTkRTX09OID0gJ2FwcGxpY2F0aW9uL3JkYm1zJyxcclxuICAgIENMQVNTX0RJQUdSQU0gPSAnYXBwbGljYXRpb24vY2xhc3MtZGlhZ3JhbScsXHJcbiAgICBDSEFOTkVMID0gJ2FwcGxpY2F0aW9uL2NoYW5uZWwnLFxyXG4gICAgQ09MTEVDVElPTl9SRVNPVVJDRSA9ICdyZXNvdXJjZS9jb2xsZWN0aW9uJyxcclxuICAgIC8vIEFkZGVkIG9uIFVJIE9ubHlcclxuICAgIENFUlRJRklDQVRJT04gPSAnYXBwbGljYXRpb24vY2VydGlmaWNhdGlvbicsXHJcbiAgICBQTEFZTElTVCA9ICdhcHBsaWNhdGlvbi9wbGF5bGlzdCcsXHJcbiAgICBRVUVTVElPTl9TRVQgPSAnYXBwbGljYXRpb24vdm5kLnN1bmJpcmQucXVlc3Rpb25zZXQnLFxyXG4gICAgUVVFU1RJT04gPSAnYXBwbGljYXRpb24vdm5kLnN1bmJpcmQucXVlc3Rpb24nLFxyXG4gICAgVU5LTk9XTiA9ICdhcHBsaWNhdGlvbi91bmtub3duJyxcclxuICAgIE9GRkxJTkVfU0VTU0lPTiA9ICdhcHBsaWNhdGlvbi9vZmZsaW5lJyxcclxuICB9XHJcbiAgZXhwb3J0IGVudW0gRURpc3BsYXlDb250ZW50VHlwZXMge1xyXG4gICAgQVNTRVNTTUVOVCA9ICdBU1NFU1NNRU5UJyxcclxuICAgIEFVRElPID0gJ0FVRElPJyxcclxuICAgIENFUlRJRklDQVRJT04gPSAnQ0VSVElGSUNBVElPTicsXHJcbiAgICBDSEFOTkVMID0gJ0NoYW5uZWwnLFxyXG4gICAgQ0xBU1NfRElBR1JBTSA9ICdDTEFTU19ESUFHUkFNJyxcclxuICAgIENPVVJTRSA9ICdDT1VSU0UnLFxyXG4gICAgREVGQVVMVCA9ICdERUZBVUxUJyxcclxuICAgIERSQUdfRFJPUCA9ICdEUkFHX0RST1AnLFxyXG4gICAgRVhURVJOQUxfQ0VSVElGSUNBVElPTiA9ICdFWFRFUk5BTF9DRVJUSUZJQ0FUSU9OJyxcclxuICAgIEVYVEVSTkFMX0NPVVJTRSA9ICdFWFRFUk5BTF9DT1VSU0UnLFxyXG4gICAgR09BTFMgPSAnR09BTFMnLFxyXG4gICAgSEFORFNfT04gPSAnSEFORFNfT04nLFxyXG4gICAgSUFQID0gJ0lBUCcsXHJcbiAgICBJTlNUUlVDVE9SX0xFRCA9ICdJTlNUUlVDVE9SX0xFRCcsXHJcbiAgICBJTlRFUkFDVElWRV9WSURFTyA9ICdJTlRFUkFDVElWRV9WSURFTycsXHJcbiAgICBLTk9XTEVER0VfQVJUSUZBQ1QgPSAnS05PV0xFREdFX0FSVElGQUNUJyxcclxuICAgIE1PRFVMRSA9ICdNT0RVTEUnLFxyXG4gICAgUERGID0gJ1BERicsXHJcbiAgICBQTEFZTElTVCA9ICdQTEFZTElTVCcsXHJcbiAgICBQUk9HUkFNID0gJ1BST0dSQU0nLFxyXG4gICAgUVVJWiA9ICdRVUlaJyxcclxuICAgIFJFU09VUkNFID0gJ1JFU09VUkNFJyxcclxuICAgIFJEQk1TX0hBTkRTX09OID0gJ1JEQk1TX0hBTkRTX09OJyxcclxuICAgIFZJREVPID0gJ1ZJREVPJyxcclxuICAgIFdFQl9NT0RVTEUgPSAnV0VCX01PRFVMRScsXHJcbiAgICBXRUJfUEFHRSA9ICdXRUJfUEFHRScsXHJcbiAgICBZT1VUVUJFID0gJ1lPVVRVQkUnLFxyXG4gICAgS05PV0xFREdFX0JPQVJEID0gJ0tub3dsZWRnZSBCb2FyZCcsXHJcbiAgICBMRUFSTklOR19KT1VSTkVZID0gJ0xlYXJuaW5nIEpvdXJuZXlzJyxcclxuICB9XHJcbiAgLy8gZm9yIFVJXHJcbiAgZXhwb3J0IGVudW0gRUZpbHRlckNhdGVnb3J5IHtcclxuICAgIEFMTCA9ICdBTEwnLFxyXG4gICAgTEVBUk4gPSAnTEVBUk4nLFxyXG4gICAgUFJBQ1RJQ0UgPSAnUFJBQ1RJQ0UnLFxyXG4gICAgQVNTRVNTID0gJ0FTU0VTUycsXHJcbiAgfVxyXG5cclxuICAvLyBmb3IgVUlcclxuICBleHBvcnQgZW51bSBFVGFnVHlwZSB7XHJcbiAgICBORVdMWV9BRERFRCA9ICdORVdMWSBBRERFRCcsXHJcbiAgfVxyXG59XHJcbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy93aWRnZXQtY29udGVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLEtBQVcsU0FBUyxDQW1ZekI7QUFuWUQsV0FBaUIsU0FBUztJQXFJeEIsSUFBWSxnQkFpQ1g7SUFqQ0QsV0FBWSxnQkFBZ0I7UUFDMUIsdUNBQW1CLENBQUE7UUFDbkIscUNBQWlCLENBQUE7UUFDakIsMENBQXNCLENBQUE7UUFDdEIsa0RBQThCLENBQUE7UUFDOUIsbUNBQWUsQ0FBQTtRQUNmLCtEQUEyQyxDQUFBO1FBQzNDLDBEQUFzQyxDQUFBO1FBQ3RDLDZEQUF5QyxDQUFBO1FBQ3pDLGlEQUE2QixDQUFBO1FBQzdCLGlEQUE2QixDQUFBO1FBQzdCLHlFQUFxRCxDQUFBO1FBQ3JELHFFQUFpRCxDQUFBO1FBQ2pELG1FQUErQyxDQUFBO1FBQy9DLHVEQUFtQyxDQUFBO1FBQ25DLHVEQUFtQyxDQUFBO1FBS25DLDZEQUF5QyxDQUFBO1FBSXpDLHVEQUFtQyxDQUFBO1FBSW5DLDBEQUFzQyxDQUFBO1FBSXRDLHVDQUFtQixDQUFBO0lBQ3JCLENBQUMsRUFqQ1csZ0JBQWdCLEdBQWhCLDBCQUFnQixLQUFoQiwwQkFBZ0IsUUFpQzNCO0lBcUhELElBQVksYUFTWDtJQVRELFdBQVksYUFBYTtRQUN2QiwwQ0FBeUIsQ0FBQTtRQUN6QixvQ0FBbUIsQ0FBQTtRQUNuQixrQ0FBaUIsQ0FBQTtRQUNqQiwwREFBeUMsQ0FBQTtRQUN6QyxvREFBbUMsQ0FBQTtRQUNuQyx1REFBc0MsQ0FBQTtRQUN0QyxzQ0FBcUIsQ0FBQTtRQUNyQixzQ0FBcUIsQ0FBQTtJQUN2QixDQUFDLEVBVFcsYUFBYSxHQUFiLHVCQUFhLEtBQWIsdUJBQWEsUUFTeEI7SUFDRCxJQUFZLG1DQUVYO0lBRkQsV0FBWSxtQ0FBbUM7UUFD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UixrQkFBUSxLQUFSLGtCQUFRLFFBRW5CO0FBQ0gsQ0FBQyxFQW5ZZ0IsU0FBUyxLQUFULFNBQVMsUUFtWXpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IG5hbWVzcGFjZSBOc0NvbnRlbnQge1xyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRpbnVlTGVhcm5pbmdEYXRhIGV4dGVuZHMgSUNvbnRlbnQge1xyXG4gICAgY29udGludWVEYXRhOiBhbnlcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnQge1xyXG4gICAgcGxhdGZvcm0/OiBhbnlcclxuICAgIGFkZGVkT246IHN0cmluZ1xyXG4gICAgYXBwSWNvbjogc3RyaW5nXHJcbiAgICBhcnRpZmFjdFVybDogc3RyaW5nXHJcbiAgICBhdmVyYWdlUmF0aW5nPzogYW55XHJcbiAgICBib2R5Pzogc3RyaW5nXHJcbiAgICBjZXJ0aWZpY2F0aW9uTGlzdD86IElSZWxhdGVkQ29udGVudE1ldGFbXVxyXG4gICAgY2VydGlmaWNhdGlvblN0YXR1cz86IFRDZXJ0aWZpY2F0aW9uU3RhdHVzXHJcbiAgICBjZXJ0aWZpY2F0aW9uU3VibWlzc2lvbkRhdGU/OiBzdHJpbmdcclxuICAgIGNlcnRpZmljYXRpb25Vcmw6IHN0cmluZ1xyXG4gICAgY2hpbGRyZW46IElDb250ZW50W11cclxuICAgIGNoaWxkcmVuQ2xhc3NpZmllcnM/OiBzdHJpbmdbXVxyXG4gICAgY2xpZW50cz86IElDbGllbnRbXVxyXG4gICAgY29sbGVjdGlvbnM/OiBJQ29udGVudFtdXHJcbiAgICBjb21wbGV4aXR5TGV2ZWw6IHN0cmluZ1xyXG4gICAgY29udGVudElkOiBzdHJpbmdcclxuICAgIGNvbnRlbnRUeXBlOiBFQ29udGVudFR5cGVzXHJcbiAgICBkaWZmaWN1bHR5TGV2ZWw6IHN0cmluZ1xyXG4gICAgcHJpbWFyeUNhdGVnb3J5OiBFUHJpbWFyeUNhdGVnb3J5XHJcbiAgICBjb250ZW50VXJsQXRTb3VyY2U6IHN0cmluZ1xyXG4gICAgY3JlYXRvckNvbnRhY3RzOiBJQ3JlYXRvcltdXHJcblxyXG4gICAgY3JlYXRvckRldGFpbHM6IElDcmVhdG9yW11cclxuICAgIGNyZWF0b3JMb2dvOiBzdHJpbmdcclxuICAgIGNyZWF0b3JQb3N0ZXJJbWFnZTogc3RyaW5nXHJcbiAgICBjcmVhdG9yVGh1bWJuYWlsOiBzdHJpbmdcclxuXHJcbiAgICBjdXJhdGVkVGFnczogc3RyaW5nW11cclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICAgIGRpc3BsYXlDb250ZW50VHlwZTogRURpc3BsYXlDb250ZW50VHlwZXMgLy8gRm9yIFVJXHJcbiAgICBkb3dubG9hZFVybD86IHN0cmluZ1xyXG4gICAgZHVyYXRpb246IG51bWJlclxyXG4gICAgZXhjbHVzaXZlQ29udGVudD86IGJvb2xlYW5cclxuICAgIGV4cGlyeURhdGU/OiBzdHJpbmdcclxuICAgIGVxdWl2YWxlbnRDZXJ0aWZpY2F0aW9ucz86IElSZWxhdGVkQ29udGVudE1ldGFbXVxyXG4gICAgaGFzQWNjZXNzOiBib29sZWFuXHJcbiAgICBoYXNBc3Nlc3NtZW50Pzogc3RyaW5nXHJcbiAgICBpZGVhbFNjcmVlblNpemU/OiBzdHJpbmdcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gICAgaW50cm9kdWN0b3J5VmlkZW8/OiBzdHJpbmdcclxuICAgIGludHJvZHVjdG9yeVZpZGVvSWNvbj86IHN0cmluZ1xyXG4gICAgbGVhcm5pbmdUcmFjaz86IHN0cmluZ1xyXG4gICAgaXNFeHRlcm5hbDogYm9vbGVhblxyXG4gICAgaXNJZnJhbWVTdXBwb3J0ZWQ6ICdZZXMnIHwgJ05vJyB8ICdNYXliZSdcclxuICAgIGlzSW5JbnRyYW5ldD86IGJvb2xlYW5cclxuICAgIGtleXdvcmRzPzogc3RyaW5nW11cclxuICAgIGtBcnRpZmFjdHM/OiBJUmVsYXRlZENvbnRlbnRNZXRhW11cclxuICAgIGxhc3RVcGRhdGVkT246IHN0cmluZ1xyXG4gICAgbGVhcm5pbmdNb2RlPzogVExlYXJuaW5nTW9kZVxyXG4gICAgbGVhcm5pbmdPYmplY3RpdmU6IHN0cmluZ1xyXG4gICAgbGFiZWxzPzogc3RyaW5nW11cclxuICAgIGxvY2FsZT86IHN0cmluZ1xyXG4gICAgaGFzVHJhbnNsYXRpb25zPzogeyBpZGVudGlmaWVyOiBzdHJpbmc7IGxvY2FsZTogc3RyaW5nIH1bXVxyXG4gICAgaXNUcmFuc2xhdGlvbk9mPzogeyBpZGVudGlmaWVyOiBzdHJpbmc7IGxvY2FsZTogc3RyaW5nIH1bXVxyXG4gICAgbWVfdG90YWxTZXNzaW9uc0NvdW50OiBudW1iZXJcclxuICAgIG1lZGlhVHlwZTogc3RyaW5nXHJcbiAgICBtaW1lVHlwZTogRU1pbWVUeXBlc1xyXG4gICAgbWluaUdPVFZlcnNpb24/OiBzdHJpbmdcclxuICAgIG1zQXJ0aWZhY3REZXRhaWxzPzogSU1TQXJ0aWZhY3REZXRhaWxzXHJcbiAgICBtb2RlPzogRVRhZ1R5cGVcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gICAgbmV4dENlcnRpZmljYXRpb25BdHRlbXB0RGF0ZT86IHN0cmluZ1xyXG4gICAgcGxheWdyb3VuZEluc3RydWN0aW9ucz86IHN0cmluZ1xyXG4gICAgcGxheWdyb3VuZFJlc291cmNlcz86IElSZXNvdXJjZVBsYXlncm91bmRbXVxyXG4gICAgcG9zdENvbnRlbnRzPzogSVByZVBvc3RDb250ZW50W11cclxuICAgIHBvc3RlckltYWdlPzogc3RyaW5nXHJcbiAgICBwcmVDb250ZW50cz86IElQcmVQb3N0Q29udGVudFtdXHJcbiAgICBwcmVSZXF1aXNpdGVzOiBzdHJpbmdcclxuICAgIHByaWNlPzoge1xyXG4gICAgICBjdXJyZW5jeTogc3RyaW5nXHJcbiAgICAgIHZhbHVlOiBudW1iZXJcclxuICAgIH1cclxuICAgIHByb2N0b3JVcmw/OiBzdHJpbmdcclxuICAgIHByb2dyZXNzPzogSU1hcmtBc0NvbXBsZXRlUHJvZ3Jlc3NcclxuICAgIHByb2dyYW1EdXJhdGlvbj86IGFueVxyXG4gICAgcHVibGlzaGVkT246IHN0cmluZ1xyXG4gICAgcmVjZW50Q2VydGlmaWNhdGlvbkF0dGVtcHRTY29yZT86IG51bWJlclxyXG4gICAgcmVjb21tZW5kYXRpb25SZWFzb25zPzogc3RyaW5nW11cclxuICAgIHJlZ2lvbj86IHN0cmluZ1tdXHJcbiAgICByZWdpc3RyYXRpb25Vcmw/OiBzdHJpbmdcclxuICAgIHJlZ2lzdHJhdGlvbkluc3RydWN0aW9ucz86IHN0cmluZ1xyXG4gICAgcmVzb3VyY2VDYXRlZ29yeT86IHN0cmluZ1tdXHJcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZ1xyXG4gICAgc2l6ZT86IG51bWJlclxyXG4gICAgc2tpbGxzOiBJU2tpbGxbXVxyXG4gICAgc29mdHdhcmVSZXF1aXJlbWVudHM/OiBJUmVzb3VyY2VEZXRhaWxbXVxyXG4gICAgc291cmNlTmFtZTogc3RyaW5nXHJcbiAgICBzb3VyY2VTaG9ydE5hbWU6IHN0cmluZ1xyXG4gICAgc291cmNlSWNvblVybD86IHN0cmluZ1xyXG4gICAgc291cmNlVXJsPzogc3RyaW5nXHJcbiAgICBzc29FbmFibGVkPzogYm9vbGVhblxyXG4gICAgc3RhdHVzOlxyXG4gICAgfCAnRHJhZnQnXHJcbiAgICB8ICdJblJldmlldydcclxuICAgIHwgJ1F1YWxpdHlSZXZpZXcnXHJcbiAgICB8ICdSZXZpZXdlZCdcclxuICAgIHwgJ1Byb2Nlc3NpbmcnXHJcbiAgICB8ICdMaXZlJ1xyXG4gICAgfCAnRGVsZXRlZCdcclxuICAgIHwgJ01hcmtlZEZvckRlbGV0aW9uJ1xyXG4gICAgfCAnRXhwaXJlZCdcclxuICAgIHN1YlRpdGxlPzogc3RyaW5nXHJcbiAgICBzdWJUaXRsZXM/OiBJU3VidGl0bGVbXVxyXG4gICAgc3R1ZHlNYXRlcmlhbHM/OiBJUmVsYXRlZENvbnRlbnRNZXRhW11cclxuICAgIHN5c3RlbVJlcXVpcmVtZW50cz86IHN0cmluZ1tdXHJcbiAgICB0YWdzOiBJVGFnW11cclxuICAgIHRvcGljczogSUNvbnRlbnRUb3BpY1tdXHJcbiAgICB0b3RhbExpa2VzPzogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfVxyXG4gICAgdG90YWxSYXRpbmc/OiBudW1iZXJcclxuICAgIHRyYWNrOiBJVHJhY2tbXVxyXG4gICAgdW5pcXVlTGVhcm5lcnM/OiBudW1iZXJcclxuICAgIHZpZXdDb3VudD86IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH1cclxuICAgIHJlYXNvbj86IHN0cmluZyAvLyByZXF1aXJlZCBmb3IgS25vd2xlZGdlIGJvYXJkXHJcbiAgICB0cmFpbmluZ0xIdWJDb3VudD86IG51bWJlciAvLyBmb3IgTEh1YiB0cmFpbmluZ3NcclxuICAgIHZlcmlmaWVycz86IHtcclxuICAgICAgLy8gcmVxdWlyZWQgZm9yIEV4dGVybmFsIENlcnRpZmljYXRpb25zXHJcbiAgICAgIG5hbWU6IHN0cmluZ1xyXG4gICAgICBlbWFpbDogc3RyaW5nXHJcbiAgICAgIGlkOiBzdHJpbmdcclxuICAgIH1bXVxyXG4gICAgcmVmZXJlbmNlcz86IHsgdXJsOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdXHJcbiAgICByZXN1bWVQYWdlPzogbnVtYmVyIC8vIEZvciBwbGF5ZXIgV2ViTW9kdWxlIGluIFVJXHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcclxuICAgIG9wdGlvbmFsUmVhZGluZzogYm9vbGVhblxyXG4gICAgYWRkaXRpb25hbFRhZ3M/OiBzdHJpbmdbXVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGVudW0gRVByaW1hcnlDYXRlZ29yeSB7XHJcbiAgICBQUk9HUkFNID0gJ1Byb2dyYW0nLFxyXG4gICAgQ09VUlNFID0gJ0NvdXJzZScsXHJcbiAgICBNT0RVTEUgPSAnQ291cnNlIFVuaXQnLFxyXG4gICAgUkVTT1VSQ0UgPSAnTGVhcm5pbmcgUmVzb3VyY2UnLFxyXG4gICAgR09BTFMgPSAnR09BTFMnLFxyXG4gICAgUFJBQ1RJQ0VfUkVTT1VSQ0UgPSAnUHJhY3RpY2UgUXVlc3Rpb24gU2V0JyxcclxuICAgIEZJTkFMX0FTU0VTU01FTlQgPSAnQ291cnNlIEFzc2Vzc21lbnQnLFxyXG4gICAgQ09NUF9BU1NFU1NNRU5UID0gJ0NvbXBldGVuY3kgQXNzZXNzbWVudCcsXHJcbiAgICBGVEJfUVVFU1RJT04gPSAnRlRCIFF1ZXN0aW9uJyxcclxuICAgIE1URl9RVUVTVElPTiA9ICdNVEYgUXVlc3Rpb24nLFxyXG4gICAgTVVMVElQTEVfQ0hPSUNFX1FVRVNUSU9OID0gJ011bHRpcGxlIENob2ljZSBRdWVzdGlvbicsXHJcbiAgICBTSU5HTEVfQ0hPSUNFX1FVRVNUSU9OID0gJ1NpbmdsZSBDaG9pY2UgUXVlc3Rpb24nLFxyXG4gICAgTUFOREFUT1JZX0NPVVJTRV9HT0FMID0gJ01hbmRhdG9yeSBDb3Vyc2UgR29hbCcsXHJcbiAgICBCTEVOREVEX1BST0dSQU0gPSAnQmxlbmRlZCBQcm9ncmFtJyxcclxuICAgIE9GRkxJTkVfU0VTU0lPTiA9ICdPZmZsaW5lIFNlc3Npb24nLFxyXG4gICAgLy8gZm9sbG93aW5nIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBzb29uXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFRoZSB0eXBlIHNob3VsZCBub3QgYmUgdXNlZFxyXG4gICAgICovXHJcbiAgICBLTk9XTEVER0VfQVJUSUZBQ1QgPSAnS25vd2xlZGdlIEFydGlmYWN0JyxcclxuICAgIC8qKlxyXG4gICAgKiBAZGVwcmVjYXRlZCBUaGUgdHlwZSBzaG91bGQgbm90IGJlIHVzZWRcclxuICAgICovXHJcbiAgICBLTk9XTEVER0VfQk9BUkQgPSAnS25vd2xlZGdlIEJvYXJkJyxcclxuICAgIC8qKlxyXG4gICAgKiBAZGVwcmVjYXRlZCBUaGUgdHlwZSBzaG91bGQgbm90IGJlIHVzZWRcclxuICAgICovXHJcbiAgICBMRUFSTklOR19KT1VSTkVZID0gJ0xlYXJuaW5nIEpvdXJuZXlzJyxcclxuICAgIC8qKlxyXG4gICAgKiBAZGVwcmVjYXRlZCBUaGUgdHlwZSBzaG91bGQgbm90IGJlIHVzZWRcclxuICAgICovXHJcbiAgICBDSEFOTkVMID0gJ0NoYW5uZWwnLFxyXG4gIH1cclxuICBleHBvcnQgaW50ZXJmYWNlIElDb250ZW50TWluaW1hbCB7XHJcbiAgICBhcHBJY29uOiBzdHJpbmdcclxuICAgIGFydGlmYWN0VXJsOiBzdHJpbmdcclxuICAgIGNvbXBsZXhpdHlMZXZlbDogc3RyaW5nXHJcbiAgICBjb250ZW50VHlwZTogRUNvbnRlbnRUeXBlc1xyXG4gICAgcHJpbWFyeUNhdGVnb3J5OiBFUHJpbWFyeUNhdGVnb3J5XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgICBkaXNwbGF5Q29udGVudFR5cGU/OiBFRGlzcGxheUNvbnRlbnRUeXBlc1xyXG4gICAgZHVyYXRpb246IG51bWJlclxyXG4gICAgaWRlbnRpZmllcjogc3RyaW5nXHJcbiAgICBoYXNBY2Nlc3M/OiBib29sZWFuXHJcbiAgICBpc0luSW50cmFuZXQ/OiBib29sZWFuXHJcbiAgICBsZWFybmluZ01vZGU/OiBUTGVhcm5pbmdNb2RlXHJcbiAgICBtaW1lVHlwZTogRU1pbWVUeXBlc1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgICBjcmVhdG9yRGV0YWlsczogSUNyZWF0b3JbXVxyXG4gICAgY3JlYXRvckNvbnRhY3RzOiBJQ3JlYXRvcltdXHJcbiAgICBQb3N0ZXJJbWFnZT86IHN0cmluZ1xyXG4gICAgcmVzb3VyY2VUeXBlPzogc3RyaW5nXHJcbiAgICB0b3RhbFJhdGluZz86IG51bWJlclxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ29sbGVjdGlvbkhpZXJhcmNoeVJlc3BvbnNlIHtcclxuICAgIGRhdGE6IElDb250ZW50XHJcbiAgICBoYXNNb3JlOiBib29sZWFuXHJcbiAgICB0b3RhbENvbnRlbnRzOiBudW1iZXJcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSVJlbGF0ZWRDb250ZW50TWV0YSB7XHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmdcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gIH1cclxuXHJcbiAgdHlwZSBUQ2VydGlmaWNhdGlvblN0YXR1cyA9ICdvbmdvaW5nJyB8ICdwYXNzZWQnIHwgJ2NhbkF0dGVtcHQnIHwgJ2Nhbm5vdEF0dGVtcHQnXHJcbiAgZXhwb3J0IHR5cGUgVExlYXJuaW5nTW9kZSA9ICdTZWxmLVBhY2VkJyB8ICdJbnN0cnVjdG9yLUxlZCcgfCAnT3BlbicgfCAnQ2xvc2VkJ1xyXG5cclxuICBpbnRlcmZhY2UgSU1hcmtBc0NvbXBsZXRlUHJvZ3Jlc3Mge1xyXG4gICAgcHJvZ3Jlc3NTdGF0dXM6ICdvcGVuJyB8ICdzdGFydGVkJyB8ICdjb21wbGV0ZWQnXHJcbiAgICBzaG93TWFya0FzQ29tcGxldGU6IGJvb2xlYW5cclxuICAgIG1hcmtBc0NvbXBsZXRlUmVhc29uOiBzdHJpbmdcclxuICAgIHByb2dyZXNzU3VwcG9ydGVkOiBib29sZWFuXHJcbiAgICBwcm9ncmVzczogbnVtYmVyIHwgbnVsbFxyXG4gIH1cclxuXHJcbiAgaW50ZXJmYWNlIElUYWcge1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgdHlwZTogc3RyaW5nXHJcbiAgICB2YWx1ZTogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJTVNBcnRpZmFjdERldGFpbHMge1xyXG4gICAgY2hhbm5lbElkOiBzdHJpbmdcclxuICAgIHZpZGVvSWQ6IHN0cmluZ1xyXG4gIH1cclxuICBpbnRlcmZhY2UgSUNsaWVudCB7XHJcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nXHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElTdWJ0aXRsZSB7XHJcbiAgICBzcmNsYW5nOiBzdHJpbmdcclxuICAgIGxhYmVsOiBzdHJpbmdcclxuICAgIHVybDogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJUHJlUG9zdENvbnRlbnQge1xyXG4gICAgaWRlbnRpZmllcjogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElSZXNvdXJjZURldGFpbCB7XHJcbiAgICB0aXRsZT86IHN0cmluZ1xyXG4gICAgdXJsPzogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJUmVzb3VyY2VQbGF5Z3JvdW5kIHtcclxuICAgIGFwcEljb246IHN0cmluZ1xyXG4gICAgYXJ0aWZhY3RVcmw6IHN0cmluZ1xyXG4gICAgaWRlbnRpZmllcjogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElUcmFjayB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIHN0YXR1czogc3RyaW5nXHJcbiAgICB2aXNpYmlsaXR5OiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElTa2lsbCB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBjYXRlZ29yeTogc3RyaW5nXHJcbiAgICBza2lsbDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRvciB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIGVtYWlsOiBzdHJpbmdcclxuICB9XHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ29udGVudFRvcGljIHtcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgfVxyXG4gIC8vIEFQSSBCYXNlZFxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIElDb250YWN0IHtcclxuICAgIGlkOiBzdHJpbmdcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gICAgZW1haWw6IHN0cmluZ1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBJVmlld2VyQ29udGludWVMZWFybmluZ1JlcXVlc3Qge1xyXG4gICAgcmVzb3VyY2VJZDogc3RyaW5nXHJcbiAgICBjb250ZXh0UGF0aElkOiBzdHJpbmdcclxuICAgIGRhdGE6IHN0cmluZ1xyXG4gICAgZGF0ZUFjY2Vzc2VkOiBudW1iZXJcclxuICAgIGNvbnRleHRUeXBlPzogc3RyaW5nXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgRW51bSBFQ29udGVudFR5cGVzIHNob3VsZCBub3QgYmUgdXNlZCBpbiBmdXR1cmVcclxuICAgICAqL1xyXG4gIGV4cG9ydCBlbnVtIEVDb250ZW50VHlwZXMge1xyXG4gICAgUFJPR1JBTSA9ICdMZWFybmluZyBQYXRoJyxcclxuICAgIENIQU5ORUwgPSAnQ2hhbm5lbCcsXHJcbiAgICBDT1VSU0UgPSAnQ291cnNlJyxcclxuICAgIEtOT1dMRURHRV9BUlRJRkFDVCA9ICdLbm93bGVkZ2UgQXJ0aWZhY3QnLFxyXG4gICAgS05PV0xFREdFX0JPQVJEID0gJ0tub3dsZWRnZSBCb2FyZCcsXHJcbiAgICBMRUFSTklOR19KT1VSTkVZID0gJ0xlYXJuaW5nIEpvdXJuZXlzJyxcclxuICAgIE1PRFVMRSA9ICdDb2xsZWN0aW9uJyxcclxuICAgIFJFU09VUkNFID0gJ1Jlc291cmNlJyxcclxuICB9XHJcbiAgZXhwb3J0IGVudW0gRU1pc2NQbGF5ZXJTdXBwb3J0ZWRDb2xsZWN0aW9uVHlwZXMge1xyXG4gICAgUExBWUxJU1QgPSAnUGxheWxpc3QnLFxyXG4gIH1cclxuICBleHBvcnQgY29uc3QgUExBWUVSX1NVUFBPUlRFRF9DT0xMRUNUSU9OX1RZUEVTOiBzdHJpbmdbXSA9IFtcclxuICAgIEVDb250ZW50VHlwZXMuQ09VUlNFLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5NT0RVTEUsXHJcbiAgICBFQ29udGVudFR5cGVzLlBST0dSQU0sXHJcbiAgICBFTWlzY1BsYXllclN1cHBvcnRlZENvbGxlY3Rpb25UeXBlcy5QTEFZTElTVCxcclxuICBdXHJcbiAgZXhwb3J0IGNvbnN0IEtCX1NVUFBPUlRFRF9DT05URU5UX1RZUEVTOiBFQ29udGVudFR5cGVzW10gPSBbXHJcbiAgICBFQ29udGVudFR5cGVzLkNPVVJTRSxcclxuICAgIEVDb250ZW50VHlwZXMuTU9EVUxFLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5QUk9HUkFNLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5SRVNPVVJDRSxcclxuICBdXHJcbiAgZXhwb3J0IGNvbnN0IFBMQVlMSVNUX1NVUFBPUlRFRF9DT05URU5UX1RZUEVTOiBFQ29udGVudFR5cGVzW10gPSBbXHJcbiAgICBFQ29udGVudFR5cGVzLkNPVVJTRSxcclxuICAgIEVDb250ZW50VHlwZXMuTU9EVUxFLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5QUk9HUkFNLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5SRVNPVVJDRSxcclxuICBdXHJcbiAgZXhwb3J0IGVudW0gRU1pbWVUeXBlcyB7XHJcbiAgICBDT0xMRUNUSU9OID0gJ2FwcGxpY2F0aW9uL3ZuZC5la3N0ZXAuY29udGVudC1jb2xsZWN0aW9uJyxcclxuICAgIEhUTUwgPSAnYXBwbGljYXRpb24vaHRtbCcsXHJcbiAgICBJTFBfRlAgPSAnYXBwbGljYXRpb24vaWxwZnAnLFxyXG4gICAgSUFQID0gJ2FwcGxpY2F0aW9uL2lhcC1hc3Nlc3NtZW50JyxcclxuICAgIE00QSA9ICdhdWRpby9tNGEnLFxyXG4gICAgTVAzID0gJ2F1ZGlvL21wZWcnLFxyXG4gICAgTVA0ID0gJ3ZpZGVvL21wNCcsXHJcbiAgICBNM1U4ID0gJ2FwcGxpY2F0aW9uL3gtbXBlZ1VSTCcsXHJcbiAgICBJTlRFUkFDVElPTiA9ICd2aWRlby9pbnRlcmFjdGl2ZScsXHJcbiAgICBQREYgPSAnYXBwbGljYXRpb24vcGRmJyxcclxuICAgIFFVSVogPSAnYXBwbGljYXRpb24vcXVpeicsXHJcbiAgICBEUkFHX0RST1AgPSAnYXBwbGljYXRpb24vZHJhZy1kcm9wJyxcclxuICAgIEhUTUxfUElDS0VSID0gJ2FwcGxpY2F0aW9uL2h0bWxwaWNrZXInLFxyXG4gICAgV0VCX01PRFVMRSA9ICdhcHBsaWNhdGlvbi93ZWItbW9kdWxlJyxcclxuICAgIFdFQl9NT0RVTEVfRVhFUkNJU0UgPSAnYXBwbGljYXRpb24vd2ViLW1vZHVsZS1leGVyY2lzZScsXHJcbiAgICBZT1VUVUJFID0gJ3ZpZGVvL3gteW91dHViZScsXHJcbiAgICBIQU5EU19PTiA9ICdhcHBsaWNhdGlvbi9pbnRlZ3JhdGVkLWhhbmRzLW9uJyxcclxuICAgIFJEQk1TX0hBTkRTX09OID0gJ2FwcGxpY2F0aW9uL3JkYm1zJyxcclxuICAgIENMQVNTX0RJQUdSQU0gPSAnYXBwbGljYXRpb24vY2xhc3MtZGlhZ3JhbScsXHJcbiAgICBDSEFOTkVMID0gJ2FwcGxpY2F0aW9uL2NoYW5uZWwnLFxyXG4gICAgQ09MTEVDVElPTl9SRVNPVVJDRSA9ICdyZXNvdXJjZS9jb2xsZWN0aW9uJyxcclxuICAgIC8vIEFkZGVkIG9uIFVJIE9ubHlcclxuICAgIENFUlRJRklDQVRJT04gPSAnYXBwbGljYXRpb24vY2VydGlmaWNhdGlvbicsXHJcbiAgICBQTEFZTElTVCA9ICdhcHBsaWNhdGlvbi9wbGF5bGlzdCcsXHJcbiAgICBRVUVTVElPTl9TRVQgPSAnYXBwbGljYXRpb24vdm5kLnN1bmJpcmQucXVlc3Rpb25zZXQnLFxyXG4gICAgUVVFU1RJT04gPSAnYXBwbGljYXRpb24vdm5kLnN1bmJpcmQucXVlc3Rpb24nLFxyXG4gICAgVU5LTk9XTiA9ICdhcHBsaWNhdGlvbi91bmtub3duJyxcclxuICAgIE9GRkxJTkVfU0VTU0lPTiA9ICdhcHBsaWNhdGlvbi9vZmZsaW5lJyxcclxuICB9XHJcbiAgZXhwb3J0IGVudW0gRURpc3BsYXlDb250ZW50VHlwZXMge1xyXG4gICAgQVNTRVNTTUVOVCA9ICdBU1NFU1NNRU5UJyxcclxuICAgIEFVRElPID0gJ0FVRElPJyxcclxuICAgIENFUlRJRklDQVRJT04gPSAnQ0VSVElGSUNBVElPTicsXHJcbiAgICBDSEFOTkVMID0gJ0NoYW5uZWwnLFxyXG4gICAgQ0xBU1NfRElBR1JBTSA9ICdDTEFTU19ESUFHUkFNJyxcclxuICAgIENPVVJTRSA9ICdDT1VSU0UnLFxyXG4gICAgREVGQVVMVCA9ICdERUZBVUxUJyxcclxuICAgIERSQUdfRFJPUCA9ICdEUkFHX0RST1AnLFxyXG4gICAgRVhURVJOQUxfQ0VSVElGSUNBVElPTiA9ICdFWFRFUk5BTF9DRVJUSUZJQ0FUSU9OJyxcclxuICAgIEVYVEVSTkFMX0NPVVJTRSA9ICdFWFRFUk5BTF9DT1VSU0UnLFxyXG4gICAgR09BTFMgPSAnR09BTFMnLFxyXG4gICAgSEFORFNfT04gPSAnSEFORFNfT04nLFxyXG4gICAgSUFQID0gJ0lBUCcsXHJcbiAgICBJTlNUUlVDVE9SX0xFRCA9ICdJTlNUUlVDVE9SX0xFRCcsXHJcbiAgICBJTlRFUkFDVElWRV9WSURFTyA9ICdJTlRFUkFDVElWRV9WSURFTycsXHJcbiAgICBLTk9XTEVER0VfQVJUSUZBQ1QgPSAnS05PV0xFREdFX0FSVElGQUNUJyxcclxuICAgIE1PRFVMRSA9ICdNT0RVTEUnLFxyXG4gICAgUERGID0gJ1BERicsXHJcbiAgICBQTEFZTElTVCA9ICdQTEFZTElTVCcsXHJcbiAgICBQUk9HUkFNID0gJ1BST0dSQU0nLFxyXG4gICAgUVVJWiA9ICdRVUlaJyxcclxuICAgIFJFU09VUkNFID0gJ1JFU09VUkNFJyxcclxuICAgIFJEQk1TX0hBTkRTX09OID0gJ1JEQk1TX0hBTkRTX09OJyxcclxuICAgIFZJREVPID0gJ1ZJREVPJyxcclxuICAgIFdFQl9NT0RVTEUgPSAnV0VCX01PRFVMRScsXHJcbiAgICBXRUJfUEFHRSA9ICdXRUJfUEFHRScsXHJcbiAgICBZT1VUVUJFID0gJ1lPVVRVQkUnLFxyXG4gICAgS05PV0xFREdFX0JPQVJEID0gJ0tub3dsZWRnZSBCb2FyZCcsXHJcbiAgICBMRUFSTklOR19KT1VSTkVZID0gJ0xlYXJuaW5nIEpvdXJuZXlzJyxcclxuICB9XHJcbiAgLy8gZm9yIFVJXHJcbiAgZXhwb3J0IGVudW0gRUZpbHRlckNhdGVnb3J5IHtcclxuICAgIEFMTCA9ICdBTEwnLFxyXG4gICAgTEVBUk4gPSAnTEVBUk4nLFxyXG4gICAgUFJBQ1RJQ0UgPSAnUFJBQ1RJQ0UnLFxyXG4gICAgQVNTRVNTID0gJ0FTU0VTUycsXHJcbiAgfVxyXG5cclxuICAvLyBmb3IgVUlcclxuICBleHBvcnQgZW51bSBFVGFnVHlwZSB7XHJcbiAgICBORVdMWV9BRERFRCA9ICdORVdMWSBBRERFRCcsXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,50 @@
1
- import * as tslib_1 from "tslib";
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
2
48
  import { HttpClient } from '@angular/common/http';
3
49
  import { Injectable } from '@angular/core';
4
50
  import { of, EMPTY } from 'rxjs';
@@ -27,12 +73,12 @@ var API_END_POINTS = {
27
73
  CONTENT_HISTORY: PROTECTED_SLAG_V8 + "/user/history",
28
74
  USER_CONTINUE_LEARNING: PROTECTED_SLAG_V8 + "/user/history/continue",
29
75
  CONTENT_RATING: PROTECTED_SLAG_V8 + "/user/rating",
30
- COLLECTION_HIERARCHY: (ɵ0),
76
+ COLLECTION_HIERARCHY: ɵ0,
31
77
  REGISTRATION_STATUS: PROTECTED_SLAG_V8 + "/admin/userRegistration/checkUserRegistrationContent",
32
- MARK_AS_COMPLETE_META: (ɵ1),
33
- EXT_USER_COURSE_ENROLL: (ɵ2),
78
+ MARK_AS_COMPLETE_META: ɵ1,
79
+ EXT_USER_COURSE_ENROLL: ɵ2,
34
80
  EXT_CONTENT_EROLL: "/apis/proxies/v8/cios-enroll/v1/create",
35
- CERT_DOWNLOAD: (ɵ3),
81
+ CERT_DOWNLOAD: ɵ3,
36
82
  };
37
83
  var WidgetContentService = (function () {
38
84
  function WidgetContentService(http, configSvc) {
@@ -77,12 +123,12 @@ var WidgetContentService = (function () {
77
123
  return this.http.get(API_END_POINTS.CONTENT_HISTORY + "/" + contentId);
78
124
  };
79
125
  WidgetContentService.prototype.continueLearning = function (id, collectionId, collectionType) {
80
- return tslib_1.__awaiter(this, void 0, void 0, function () {
126
+ return __awaiter(this, void 0, void 0, function () {
81
127
  var _this = this;
82
- return tslib_1.__generator(this, function (_a) {
83
- return [2, new Promise((function (resolve) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
128
+ return __generator(this, function (_a) {
129
+ return [2, new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
84
130
  var reqBody, reqBody;
85
- return tslib_1.__generator(this, function (_a) {
131
+ return __generator(this, function (_a) {
86
132
  switch (_a.label) {
87
133
  case 0:
88
134
  if (!(collectionType &&
@@ -97,9 +143,9 @@ var WidgetContentService = (function () {
97
143
  dateAccessed: Date.now(),
98
144
  contextType: 'playlist',
99
145
  };
100
- return [4, this.saveContinueLearning(reqBody).toPromise().catch().finally((function () {
146
+ return [4, this.saveContinueLearning(reqBody).toPromise().catch().finally(function () {
101
147
  resolve(true);
102
- }))];
148
+ })];
103
149
  case 1:
104
150
  _a.sent();
105
151
  return [3, 4];
@@ -110,29 +156,29 @@ var WidgetContentService = (function () {
110
156
  data: JSON.stringify({ timestamp: Date.now() }),
111
157
  dateAccessed: Date.now(),
112
158
  };
113
- return [4, this.saveContinueLearning(reqBody).toPromise().catch().finally((function () {
159
+ return [4, this.saveContinueLearning(reqBody).toPromise().catch().finally(function () {
114
160
  resolve(true);
115
- }))];
161
+ })];
116
162
  case 3:
117
163
  _a.sent();
118
164
  _a.label = 4;
119
165
  case 4: return [2];
120
166
  }
121
167
  });
122
- }); }))];
168
+ }); })];
123
169
  });
124
170
  });
125
171
  };
126
172
  WidgetContentService.prototype.saveContinueLearning = function (content) {
127
173
  if (content) {
128
174
  }
129
- return ((of()));
175
+ return of();
130
176
  };
131
177
  WidgetContentService.prototype.setS3Cookie = function (_contentId) {
132
178
  return EMPTY;
133
179
  };
134
180
  WidgetContentService.prototype.setS3ImageCookie = function () {
135
- return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError((function (_err) { return of(true); })));
181
+ return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(function (_err) { return of(true); }));
136
182
  };
137
183
  WidgetContentService.prototype.fetchManifest = function (url) {
138
184
  return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url: url });
@@ -151,7 +197,7 @@ var WidgetContentService = (function () {
151
197
  req.preLabelValue =
152
198
  (req.preLabelValue || '') +
153
199
  ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');
154
- req.filters = tslib_1.__assign({}, req.filters, { labels: [req.preLabelValue || ''] });
200
+ req.filters = __assign(__assign({}, req.filters), { labels: [req.preLabelValue || ''] });
155
201
  return this.http.post(API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION, { request: req });
156
202
  };
157
203
  WidgetContentService.prototype.searchV6 = function (req) {
@@ -205,6 +251,11 @@ var WidgetContentService = (function () {
205
251
  WidgetContentService.prototype.downloadCert = function (certId) {
206
252
  return this.http.get("" + API_END_POINTS.CERT_DOWNLOAD(certId));
207
253
  };
254
+ WidgetContentService.ctorParameters = function () { return [
255
+ { type: HttpClient },
256
+ { type: ConfigurationsService }
257
+ ]; };
258
+ WidgetContentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function WidgetContentService_Factory() { return new WidgetContentService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigurationsService)); }, token: WidgetContentService, providedIn: "root" });
208
259
  WidgetContentService.decorators = [
209
260
  { type: Injectable, args: [{
210
261
  providedIn: 'root',
@@ -214,13 +265,8 @@ var WidgetContentService = (function () {
214
265
  { type: HttpClient },
215
266
  { type: ConfigurationsService }
216
267
  ]; };
217
- /** @nocollapse */ WidgetContentService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function WidgetContentService_Factory() { return new WidgetContentService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigurationsService)); }, token: WidgetContentService, providedIn: "root" });
218
268
  return WidgetContentService;
219
269
  }());
220
270
  export { WidgetContentService };
221
- if (false) {
222
- WidgetContentService.prototype.http;
223
- WidgetContentService.prototype.configSvc;
224
- }
225
271
  export { ɵ0, ɵ1, ɵ2, ɵ3 };
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7O0lBSTVDLGlCQUFpQixHQUFHLG9CQUFvQjtTQWlCdEIsVUFBQyxJQUFZLEVBQUUsRUFBVTtJQUM3QyxPQUFHLGlCQUFpQiw0QkFBdUIsSUFBSSxTQUFJLEVBQUk7QUFBdkQsQ0FBdUQsT0FFbEMsVUFBQyxTQUFpQixJQUFLLE9BQUcsaUJBQWlCLHVCQUFrQixTQUFXLEVBQWpELENBQWlELE9BQ3ZFLFVBQUMsU0FBYyxJQUFLLE9BQUEsMkRBQXlELFNBQVcsRUFBcEUsQ0FBb0UsT0FFakcsVUFBQyxNQUFXLElBQUssT0FBRyxpQkFBaUIsNENBQXVDLE1BQVEsRUFBbkUsQ0FBbUU7SUFyQi9GLGNBQWMsR0FBRztJQUNyQixPQUFPLEVBQUssaUJBQWlCLGFBQVU7SUFDdkMsaUJBQWlCLEVBQUUseUJBQXlCO0lBQzVDLGFBQWEsRUFBSyxpQkFBaUIsdUJBQW9CO0lBQ3ZELGFBQWEsRUFBSyxpQkFBaUIsdUJBQW9CO0lBQ3ZELG1CQUFtQixFQUFLLGlCQUFpQiw0QkFBeUI7SUFDbEUsY0FBYyxFQUFLLGlCQUFpQixr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MlBDLEFBdk5ELElBdU5DO1NBak5ZLG9CQUFvQjs7SUFFN0Isb0NBQXdCO0lBQ3hCLHlDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBFTVBUWSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4vY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCdcclxuaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi93aWRnZXQtY29udGVudC5tb2RlbCdcclxuaW1wb3J0IHsgTlNTZWFyY2ggfSBmcm9tICcuL3dpZGdldC1zZWFyY2gubW9kZWwnXHJcblxyXG4vLyBUT0RPOiBtb3ZlIHRoaXMgaW4gc29tZSBjb21tb24gcGxhY2VcclxuY29uc3QgUFJPVEVDVEVEX1NMQUdfVjggPSAnL2FwaXMvcHJvdGVjdGVkL3Y4J1xyXG5cclxuY29uc3QgQVBJX0VORF9QT0lOVFMgPSB7XHJcbiAgQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnRgLFxyXG4gIEFVVEhPUklOR19DT05URU5UOiBgL2FwaXMvYXV0aEFwaS9oaWVyYXJjaHlgLFxyXG4gIENPTlRFTlRfTElLRVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2xpa2VDb3VudGAsXHJcbiAgU0VUX1MzX0NPT0tJRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2V0Q29va2llYCxcclxuICBTRVRfUzNfSU1BR0VfQ09PS0lFOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZXRJbWFnZUNvb2tpZWAsXHJcbiAgRkVUQ0hfTUFOSUZFU1Q6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2dldFdlYk1vZHVsZU1hbmlmZXN0YCxcclxuICBGRVRDSF9XRUJfTU9EVUxFX0ZJTEVTOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9nZXRXZWJNb2R1bGVGaWxlc2AsXHJcbiAgTVVMVElQTEVfQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvbXVsdGlwbGVgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1Y1OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNWAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfVjY6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFY2YCxcclxuICBDT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT046IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uYCxcclxuICBDT05URU5UX0hJU1RPUlk6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnlgLFxyXG4gIFVTRVJfQ09OVElOVUVfTEVBUk5JTkc6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnkvY29udGludWVgLFxyXG4gIENPTlRFTlRfUkFUSU5HOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9yYXRpbmdgLFxyXG4gIENPTExFQ1RJT05fSElFUkFSQ0hZOiAodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nKSA9PlxyXG4gICAgYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvY29sbGVjdGlvbi8ke3R5cGV9LyR7aWR9YCxcclxuICBSRUdJU1RSQVRJT05fU1RBVFVTOiBgJHtQUk9URUNURURfU0xBR19WOH0vYWRtaW4vdXNlclJlZ2lzdHJhdGlvbi9jaGVja1VzZXJSZWdpc3RyYXRpb25Db250ZW50YCxcclxuICBNQVJLX0FTX0NPTVBMRVRFX01FVEE6IChjb250ZW50SWQ6IHN0cmluZykgPT4gYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcHJvZ3Jlc3MvJHtjb250ZW50SWR9YCxcclxuICBFWFRfVVNFUl9DT1VSU0VfRU5ST0xMOiAoY29udGVudElkOiBhbnkpID0+IGAvYXBpcy9wcm94aWVzL3Y4L2Npb3MtZW5yb2xsL3YxL3JlYWRieS91c2VyaWRjb3Vyc2VpZC8ke2NvbnRlbnRJZH1gLFxyXG4gIEVYVF9DT05URU5UX0VST0xMOiBgL2FwaXMvcHJveGllcy92OC9jaW9zLWVucm9sbC92MS9jcmVhdGVgLFxyXG4gIENFUlRfRE9XTkxPQUQ6IChjZXJ0SWQ6IGFueSkgPT4gYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvaG9ydHMvY291cnNlL2JhdGNoL2NlcnQvZG93bmxvYWQvJHtjZXJ0SWR9YCxcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIHRoaXMgd2lsbCBiZSBkZXByaWNhdGVkXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgV2lkZ2V0Q29udGVudFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIGZldGNoTWFya0FzQ29tcGxldGVNZXRhKGlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLk1BUktfQVNfQ09NUExFVEVfTUVUQShpZGVudGlmaWVyKVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS50b1Byb21pc2UoKVxyXG4gICAgaWYgKHVybCkgeyB9XHJcbiAgICByZXR1cm4gb2YoKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50KFxyXG4gICAgY29udGVudElkOiBzdHJpbmcsXHJcbiAgICBoaWVyYXJjaHlUeXBlOiAnYWxsJyB8ICdtaW5pbWFsJyB8ICdkZXRhaWwnID0gJ2RldGFpbCcsXHJcbiAgICBhZGRpdGlvbmFsRmllbGRzOiBzdHJpbmdbXSA9IFtdLFxyXG4gICk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UfS8ke2NvbnRlbnRJZH0/aGllcmFyY2h5VHlwZT0ke2hpZXJhcmNoeVR5cGV9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxOc0NvbnRlbnQuSUNvbnRlbnQ+KHVybCwgeyBhZGRpdGlvbmFsRmllbGRzIH0pXHJcbiAgICAgIC5waXBlKHJldHJ5KDEpKVxyXG4gIH1cclxuICBmZXRjaEF1dGhvcmluZ0NvbnRlbnQoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7QVBJX0VORF9QT0lOVFMuQVVUSE9SSU5HX0NPTlRFTlR9LyR7Y29udGVudElkfWBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGVudD4odXJsKS5waXBlKHJldHJ5KDEpKVxyXG4gIH1cclxuICBmZXRjaE11bHRpcGxlQ29udGVudChpZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5NVUxUSVBMRV9DT05URU5UfS8ke2lkcy5qb2luKCcsJyl9YCxcclxuICAgIClcclxuICB9XHJcbiAgZmV0Y2hDb2xsZWN0aW9uSGllcmFyY2h5KHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZywgcGFnZU51bWJlcjogbnVtYmVyID0gMCwgcGFnZVNpemU6IG51bWJlciA9IDEpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29sbGVjdGlvbkhpZXJhcmNoeVJlc3BvbnNlPihcclxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuQ09MTEVDVElPTl9ISUVSQVJDSFkoXHJcbiAgICAgICAgdHlwZSxcclxuICAgICAgICBpZCxcclxuICAgICAgKX0/cGFnZU51bWJlcj0ke3BhZ2VOdW1iZXJ9JnBhZ2VTaXplPSR7cGFnZVNpemV9YCxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudExpa2VzKGNvbnRlbnRJZHM6IHsgY29udGVudF9pZDogc3RyaW5nW10gfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDx7IFtpZGVudGlmaWVyOiBzdHJpbmddOiBudW1iZXIgfT4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9MSUtFUywgY29udGVudElkcylcclxuICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnRSYXRpbmdzKGNvbnRlbnRJZHM6IHsgY29udGVudElkczogc3RyaW5nW10gfSkge1xyXG4gICAgaWYgKGNvbnRlbnRJZHMpIHsgfVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgLy8gICAucG9zdChgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vcmF0aW5nYCwgY29udGVudElkcylcclxuICAgIC8vICAgLnRvUHJvbWlzZSgpXHJcbiAgICByZXR1cm4gb2YoKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50SGlzdG9yeShjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfSElTVE9SWX0vJHtjb250ZW50SWR9YCxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGFzeW5jIGNvbnRpbnVlTGVhcm5pbmcoaWQ6IHN0cmluZywgY29sbGVjdGlvbklkPzogc3RyaW5nLCBjb2xsZWN0aW9uVHlwZT86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7XHJcbiAgICAgIGlmIChjb2xsZWN0aW9uVHlwZSAmJlxyXG4gICAgICAgIGNvbGxlY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCkgPT09ICdwbGF5bGlzdCcpIHtcclxuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xyXG4gICAgICAgICAgY29udGV4dFBhdGhJZDogY29sbGVjdGlvbklkID8gY29sbGVjdGlvbklkIDogaWQsXHJcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgICBjb250ZXh0RnVsbFBhdGg6IFtjb2xsZWN0aW9uSWQsIGlkXSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgY29udGV4dFR5cGU6ICdwbGF5bGlzdCcsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHJlcUJvZHkgPSB7XHJcbiAgICAgICAgICBjb250ZXh0UGF0aElkOiBjb2xsZWN0aW9uSWQgPyBjb2xsZWN0aW9uSWQgOiBpZCxcclxuICAgICAgICAgIHJlc291cmNlSWQ6IGlkLFxyXG4gICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0aW1lc3RhbXA6IERhdGUubm93KCkgfSksXHJcbiAgICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBzYXZlQ29udGludWVMZWFybmluZyhjb250ZW50OiBOc0NvbnRlbnQuSVZpZXdlckNvbnRpbnVlTGVhcm5pbmdSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLlVTRVJfQ09OVElOVUVfTEVBUk5JTkdcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgY29udGVudClcclxuICAgIGlmIChjb250ZW50KSB7XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9mKCkgYXMgYW55XHJcbiAgfVxyXG5cclxuICBzZXRTM0Nvb2tpZShcclxuICAgIF9jb250ZW50SWQ6IHN0cmluZyxcclxuICAgIC8vIF9wYXRoOiBzdHJpbmcsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcclxuICAgIC8vICAgLnBvc3QoQVBJX0VORF9QT0lOVFMuU0VUX1MzX0NPT0tJRSwgeyBjb250ZW50SWQgfSlcclxuICAgIC8vICAgLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSlcclxuICAgIHJldHVybiBFTVBUWVxyXG4gIH1cclxuXHJcbiAgc2V0UzNJbWFnZUNvb2tpZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLlNFVF9TM19JTUFHRV9DT09LSUUsIHt9KS5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpXHJcbiAgfVxyXG5cclxuICBmZXRjaE1hbmlmZXN0KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChBUElfRU5EX1BPSU5UUy5GRVRDSF9NQU5JRkVTVCwgeyB1cmwgfSlcclxuICB9XHJcbiAgZmV0Y2hXZWJNb2R1bGVDb250ZW50KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke0FQSV9FTkRfUE9JTlRTLkZFVENIX1dFQl9NT0RVTEVfRklMRVN9P3VybD0ke2VuY29kZVVSSUNvbXBvbmVudCh1cmwpfWApXHJcbiAgfVxyXG4gIHNlYXJjaChyZXE6IE5TU2VhcmNoLklTZWFyY2hSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoQXBpUmVzdWx0PiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOU1NlYXJjaC5JU2VhcmNoQXBpUmVzdWx0PihBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9WNSwge1xyXG4gICAgICByZXF1ZXN0OiByZXEsXHJcbiAgICB9KVxyXG4gIH1cclxuICBzZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbihcclxuICAgIHJlcTogTlNTZWFyY2guSVNlYXJjaE9yZ1JlZ2lvblJlY29tbWVuZGF0aW9uUmVxdWVzdCxcclxuICApOiBPYnNlcnZhYmxlPE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJlcS5wcmVMYWJlbFZhbHVlID1cclxuICAgICAgKHJlcS5wcmVMYWJlbFZhbHVlIHx8ICcnKSArXHJcbiAgICAgICgodGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUgJiYgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUuY291bnRyeSkgfHwgJycpXHJcbiAgICByZXEuZmlsdGVycyA9IHtcclxuICAgICAgLi4ucmVxLmZpbHRlcnMsXHJcbiAgICAgIGxhYmVsczogW3JlcS5wcmVMYWJlbFZhbHVlIHx8ICcnXSxcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOc0NvbnRlbnRTdHJpcE11bHRpcGxlLklDb250ZW50U3RyaXBSZXNwb25zZUFwaT4oXHJcbiAgICAgIEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1JFR0lPTl9SRUNPTU1FTkRBVElPTixcclxuICAgICAgeyByZXF1ZXN0OiByZXEgfSxcclxuICAgIClcclxuICB9XHJcbiAgc2VhcmNoVjYocmVxOiBOU1NlYXJjaC5JU2VhcmNoVjZSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHQ+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hWNkFwaVJlc3VsdD4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfVjYsIHJlcSlcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudFJhdGluZyhjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8eyByYXRpbmc6IG51bWJlciB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IHJhdGluZzogbnVtYmVyIH0+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuICBkZWxldGVDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuICBhZGRDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nLCBkYXRhOiB7IHJhdGluZzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWAsIGRhdGEpXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQGRlcHJlY2F0ZWQgdGhpcyB3aWxsIGJlIGRlcHJpY2F0ZWQuXHJcbiAgICovXHJcbiAgZ2V0Rmlyc3RDaGlsZEluSGllcmFyY2h5KGNvbnRlbnQ6IE5zQ29udGVudC5JQ29udGVudCk6IE5zQ29udGVudC5JQ29udGVudCB7XHJcbiAgICBpZiAoIShjb250ZW50LmNoaWxkcmVuIHx8IFtdKS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGNvbnRlbnRcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09ICdQcm9ncmFtJyAmJlxyXG4gICAgICAhKGNvbnRlbnQuYXJ0aWZhY3RVcmwgJiYgY29udGVudC5hcnRpZmFjdFVybC5sZW5ndGgpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgY2hpbGQgPSBjb250ZW50LmNoaWxkcmVuWzBdXHJcbiAgICAgIHJldHVybiB0aGlzLmdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjaGlsZClcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LlJFU09VUkNFIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5LTk9XTEVER0VfQVJUSUZBQ1QgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LlBST0dSQU0gfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LlBSQUNUSUNFX1JFU09VUkNFIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5GSU5BTF9BU1NFU1NNRU5UIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5DT01QX0FTU0VTU01FTlQgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5Lk1BTkRBVE9SWV9DT1VSU0VfR09BTCB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuT0ZGTElORV9TRVNTSU9OXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGNvbnRlbnRcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0Q2hpbGQgPSBjb250ZW50LmNoaWxkcmVuWzBdXHJcbiAgICBjb25zdCByZXN1bHRDb250ZW50ID0gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoZmlyc3RDaGlsZClcclxuICAgIHJldHVybiByZXN1bHRDb250ZW50XHJcbiAgfVxyXG5cclxuICBnZXRSZWdpc3RyYXRpb25TdGF0dXMoc291cmNlOiBzdHJpbmcpOiBQcm9taXNlPHsgaGFzQWNjZXNzOiBib29sZWFuOyByZWdpc3RyYXRpb25Vcmw/OiBzdHJpbmcgfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHtBUElfRU5EX1BPSU5UUy5SRUdJU1RSQVRJT05fU1RBVFVTfS8ke3NvdXJjZX1gKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb25maWcodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odXJsKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hFeHRVc2VyQ29udGVudEVucm9sbChjb250ZW50SWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihBUElfRU5EX1BPSU5UUy5FWFRfVVNFUl9DT1VSU0VfRU5ST0xMKGNvbnRlbnRJZCkpXHJcbiAgfVxyXG5cclxuICBleHRDb250ZW50RW5yb2xsKHJlcXVlc3RCb2R5OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkVYVF9DT05URU5UX0VST0xMfWAsIHJlcXVlc3RCb2R5KVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRDZXJ0KGNlcnRJZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNFUlRfRE9XTkxPQUQoY2VydElkKX1gKVxyXG4gIH1cclxufVxyXG4iXX0=
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRWhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7OztBQUlsRCxJQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFBO1NBaUJ0QixVQUFDLElBQVksRUFBRSxFQUFVO0lBQzdDLE9BQUcsaUJBQWlCLDRCQUF1QixJQUFJLFNBQUksRUFBSTtBQUF2RCxDQUF1RCxPQUVsQyxVQUFDLFNBQWlCLElBQUssT0FBRyxpQkFBaUIsdUJBQWtCLFNBQVcsRUFBakQsQ0FBaUQsT0FDdkUsVUFBQyxTQUFjLElBQUssT0FBQSwyREFBeUQsU0FBVyxFQUFwRSxDQUFvRSxPQUVqRyxVQUFDLE1BQVcsSUFBSyxPQUFHLGlCQUFpQiw0Q0FBdUMsTUFBUSxFQUFuRSxDQUFtRTtBQXJCckcsSUFBTSxjQUFjLEdBQUc7SUFDckIsT0FBTyxFQUFLLGlCQUFpQixhQUFVO0lBQ3ZDLGlCQUFpQixFQUFFLHlCQUF5QjtJQUM1QyxhQUFhLEVBQUssaUJBQWlCLHVCQUFvQjtJQUN2RCxhQUFhLEVBQUssaUJBQWlCLHVCQUFvQjtJQUN2RCxtQkFBbUIsRUFBSyxpQkFBaUIsNEJBQXlCO0lBQ2xFLGNBQWMsRUFBSyxpQkFBaUIsa0NBQStCO0lBQ25FLHNCQUFzQixFQUFLLGlCQUFpQiwrQkFBNEI7SUFDeEUsZ0JBQWdCLEVBQUssaUJBQWlCLHNCQUFtQjtJQUN6RCxpQkFBaUIsRUFBSyxpQkFBaUIsc0JBQW1CO0lBQzFELGlCQUFpQixFQUFLLGlCQUFpQixzQkFBbUI7SUFDMUQsb0NBQW9DLEVBQUssaUJBQWlCLHdDQUFxQztJQUMvRixlQUFlLEVBQUssaUJBQWlCLGtCQUFlO0lBQ3BELHNCQUFzQixFQUFLLGlCQUFpQiwyQkFBd0I7SUFDcEUsY0FBYyxFQUFLLGlCQUFpQixpQkFBYztJQUNsRCxvQkFBb0IsSUFDcUM7SUFDekQsbUJBQW1CLEVBQUssaUJBQWlCLHlEQUFzRDtJQUMvRixxQkFBcUIsSUFBMEU7SUFDL0Ysc0JBQXNCLElBQTBGO0lBQ2hILGlCQUFpQixFQUFFLHdDQUF3QztJQUMzRCxhQUFhLElBQXNGO0NBQ3BHLENBQUE7QUFFRDtJQU9FLDhCQUNVLElBQWdCLEVBQ2hCLFNBQWdDO1FBRGhDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBdUI7SUFDdEMsQ0FBQztJQUVMLHNEQUF1QixHQUF2QixVQUF3QixVQUFrQjtRQUV4QyxJQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFNUQsSUFBSSxHQUFHLEVBQUUsR0FBRztRQUNaLE9BQU8sRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUVELDJDQUFZLEdBQVosVUFDRSxTQUFpQixFQUNqQixhQUFzRCxFQUN0RCxnQkFBK0I7UUFEL0IsOEJBQUEsRUFBQSx3QkFBc0Q7UUFDdEQsaUNBQUEsRUFBQSxxQkFBK0I7UUFFL0IsSUFBTSxHQUFHLEdBQU0sY0FBYyxDQUFDLE9BQU8sU0FBSSxTQUFTLHVCQUFrQixhQUFlLENBQUE7UUFDbkYsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FBcUIsR0FBRyxFQUFFLEVBQUUsZ0JBQWdCLGtCQUFBLEVBQUUsQ0FBQzthQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkIsQ0FBQztJQUNELG9EQUFxQixHQUFyQixVQUFzQixTQUFpQjtRQUNyQyxJQUFNLEdBQUcsR0FBTSxjQUFjLENBQUMsaUJBQWlCLFNBQUksU0FBVyxDQUFBO1FBQzlELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBQ0QsbURBQW9CLEdBQXBCLFVBQXFCLEdBQWE7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDZixjQUFjLENBQUMsZ0JBQWdCLFNBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUcsQ0FDdEQsQ0FBQTtJQUNILENBQUM7SUFDRCx1REFBd0IsR0FBeEIsVUFBeUIsSUFBWSxFQUFFLEVBQVUsRUFBRSxVQUFzQixFQUFFLFFBQW9CO1FBQTVDLDJCQUFBLEVBQUEsY0FBc0I7UUFBRSx5QkFBQSxFQUFBLFlBQW9CO1FBQzdGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2YsY0FBYyxDQUFDLG9CQUFvQixDQUNwQyxJQUFJLEVBQ0osRUFBRSxDQUNILG9CQUFlLFVBQVUsa0JBQWEsUUFBVSxDQUNsRCxDQUFBO0lBQ0gsQ0FBQztJQUVELGdEQUFpQixHQUFqQixVQUFrQixVQUFvQztRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsSUFBSSxDQUFtQyxjQUFjLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQzthQUNoRixTQUFTLEVBQUUsQ0FBQTtJQUNoQixDQUFDO0lBRUQsa0RBQW1CLEdBQW5CLFVBQW9CLFVBQW9DO1FBQ3RELElBQUksVUFBVSxFQUFFLEdBQUc7UUFJbkIsT0FBTyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRUQsa0RBQW1CLEdBQW5CLFVBQW9CLFNBQWlCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2YsY0FBYyxDQUFDLGVBQWUsU0FBSSxTQUFXLENBQ2pELENBQUE7SUFDSCxDQUFDO0lBRUssK0NBQWdCLEdBQXRCLFVBQXVCLEVBQVUsRUFBRSxZQUFxQixFQUFFLGNBQXVCOzs7O2dCQUMvRSxXQUFPLElBQUksT0FBTyxDQUFDLFVBQU0sT0FBTzs7Ozs7eUNBQzFCLENBQUEsY0FBYzt3Q0FDaEIsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQSxFQUR6QyxjQUN5QztvQ0FDckMsT0FBTyxHQUFHO3dDQUNkLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTt3Q0FDL0MsVUFBVSxFQUFFLEVBQUU7d0NBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7NENBQ25CLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFOzRDQUNyQixlQUFlLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO3lDQUNwQyxDQUFDO3dDQUNGLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO3dDQUN4QixXQUFXLEVBQUUsVUFBVTtxQ0FDeEIsQ0FBQTtvQ0FDRCxXQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUM7NENBQ25FLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTt3Q0FDZixDQUFDLENBQ0EsRUFBQTs7b0NBSEQsU0FHQyxDQUFBOzs7b0NBRUssT0FBTyxHQUFHO3dDQUNkLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTt3Q0FDL0MsVUFBVSxFQUFFLEVBQUU7d0NBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7d0NBQy9DLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO3FDQUN6QixDQUFBO29DQUNELFdBQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQzs0Q0FDbkUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO3dDQUNmLENBQUMsQ0FBQyxFQUFBOztvQ0FGRixTQUVFLENBQUE7Ozs7O3lCQUVMLENBQUMsRUFBQTs7O0tBQ0g7SUFDRCxtREFBb0IsR0FBcEIsVUFBcUIsT0FBaUQ7UUFHcEUsSUFBSSxPQUFPLEVBQUU7U0FFWjtRQUNELE9BQU8sRUFBRSxFQUFTLENBQUE7SUFDcEIsQ0FBQztJQUVELDBDQUFXLEdBQVgsVUFDRSxVQUFrQjtRQU1sQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCwrQ0FBZ0IsR0FBaEI7UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFSLENBQVEsQ0FBQyxDQUFDLENBQUE7SUFDbEcsQ0FBQztJQUVELDRDQUFhLEdBQWIsVUFBYyxHQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxFQUFFLEdBQUcsS0FBQSxFQUFFLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBQ0Qsb0RBQXFCLEdBQXJCLFVBQXNCLEdBQVc7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxjQUFjLENBQUMsc0JBQXNCLGFBQVEsa0JBQWtCLENBQUMsR0FBRyxDQUFHLENBQUMsQ0FBQTtJQUNqRyxDQUFDO0lBQ0QscUNBQU0sR0FBTixVQUFPLEdBQTRCO1FBQ2pDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUE7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEIsY0FBYyxDQUFDLGlCQUFpQixFQUFFO1lBQ2pGLE9BQU8sRUFBRSxHQUFHO1NBQ2IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELHlEQUEwQixHQUExQixVQUNFLEdBQW1EO1FBRW5ELEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUE7UUFDM0IsR0FBRyxDQUFDLGFBQWE7WUFDZixDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2dCQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7UUFDNUUsR0FBRyxDQUFDLE9BQU8seUJBQ04sR0FBRyxDQUFDLE9BQU8sS0FDZCxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUNsQyxDQUFBO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsY0FBYyxDQUFDLG9DQUFvQyxFQUNuRCxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FDakIsQ0FBQTtJQUNILENBQUM7SUFDRCx1Q0FBUSxHQUFSLFVBQVMsR0FBOEI7UUFDckMsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUE4QixjQUFjLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDM0YsQ0FBQztJQUVELGlEQUFrQixHQUFsQixVQUFtQixTQUFpQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF3QixjQUFjLENBQUMsY0FBYyxTQUFJLFNBQVcsQ0FBQyxDQUFBO0lBQzNGLENBQUM7SUFDRCxrREFBbUIsR0FBbkIsVUFBb0IsU0FBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBSSxjQUFjLENBQUMsY0FBYyxTQUFJLFNBQVcsQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFDRCwrQ0FBZ0IsR0FBaEIsVUFBaUIsU0FBaUIsRUFBRSxJQUF3QjtRQUMxRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFTLGNBQWMsQ0FBQyxjQUFjLFNBQUksU0FBVyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ25GLENBQUM7SUFLRCx1REFBd0IsR0FBeEIsVUFBeUIsT0FBMkI7UUFDbEQsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDcEMsT0FBTyxPQUFPLENBQUE7U0FDZjtRQUNELElBQ0UsT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTO1lBQ3JDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQ3BEO1lBQ0EsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNqQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUM1QztRQUNELElBQ0UsT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUTtZQUMvRCxPQUFPLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0I7WUFDekUsT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTztZQUM5RCxPQUFPLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUI7WUFDeEUsT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCO1lBQ3ZFLE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxDQUFDLGdCQUFnQixDQUFDLGVBQWU7WUFDdEUsT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCO1lBQzVFLE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFDdEU7WUFDQSxPQUFPLE9BQU8sQ0FBQTtTQUNmO1FBQ0QsSUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN0QyxJQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDL0QsT0FBTyxhQUFhLENBQUE7SUFDdEIsQ0FBQztJQUVELG9EQUFxQixHQUFyQixVQUFzQixNQUFjO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsY0FBYyxDQUFDLG1CQUFtQixTQUFJLE1BQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQzFGLENBQUM7SUFFRCwwQ0FBVyxHQUFYLFVBQVksR0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRCx3REFBeUIsR0FBekIsVUFBMEIsU0FBaUI7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxjQUFjLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBRUQsK0NBQWdCLEdBQWhCLFVBQWlCLFdBQWdCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sS0FBRyxjQUFjLENBQUMsaUJBQW1CLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDaEYsQ0FBQztJQUVELDJDQUFZLEdBQVosVUFBYSxNQUFXO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sS0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBRyxDQUFDLENBQUE7SUFDdEUsQ0FBQzs7Z0JBOU1lLFVBQVU7Z0JBQ0wscUJBQXFCOzs7O2dCQVQzQyxVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7Z0JBdENRLFVBQVU7Z0JBSVYscUJBQXFCOzsrQkFKOUI7Q0EyUEMsQUF2TkQsSUF1TkM7U0FqTlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIEVNUFRZIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucy5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBOc0NvbnRlbnRTdHJpcE11bHRpcGxlIH0gZnJvbSAnLi9jb250ZW50LXN0cmlwLW11bHRpcGxlLm1vZGVsJ1xyXG5pbXBvcnQgeyBOc0NvbnRlbnQgfSBmcm9tICcuL3dpZGdldC1jb250ZW50Lm1vZGVsJ1xyXG5pbXBvcnQgeyBOU1NlYXJjaCB9IGZyb20gJy4vd2lkZ2V0LXNlYXJjaC5tb2RlbCdcclxuXHJcbi8vIFRPRE86IG1vdmUgdGhpcyBpbiBzb21lIGNvbW1vbiBwbGFjZVxyXG5jb25zdCBQUk9URUNURURfU0xBR19WOCA9ICcvYXBpcy9wcm90ZWN0ZWQvdjgnXHJcblxyXG5jb25zdCBBUElfRU5EX1BPSU5UUyA9IHtcclxuICBDT05URU5UOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudGAsXHJcbiAgQVVUSE9SSU5HX0NPTlRFTlQ6IGAvYXBpcy9hdXRoQXBpL2hpZXJhcmNoeWAsXHJcbiAgQ09OVEVOVF9MSUtFUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvbGlrZUNvdW50YCxcclxuICBTRVRfUzNfQ09PS0lFOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZXRDb29raWVgLFxyXG4gIFNFVF9TM19JTUFHRV9DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldEltYWdlQ29va2llYCxcclxuICBGRVRDSF9NQU5JRkVTVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvZ2V0V2ViTW9kdWxlTWFuaWZlc3RgLFxyXG4gIEZFVENIX1dFQl9NT0RVTEVfRklMRVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2dldFdlYk1vZHVsZUZpbGVzYCxcclxuICBNVUxUSVBMRV9DT05URU5UOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9tdWx0aXBsZWAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfVjU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFY1YCxcclxuICBDT05URU5UX1NFQVJDSF9WNjogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2VhcmNoVjZgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1JFR0lPTl9SRUNPTU1FTkRBVElPTjogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2VhcmNoUmVnaW9uUmVjb21tZW5kYXRpb25gLFxyXG4gIENPTlRFTlRfSElTVE9SWTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvaGlzdG9yeWAsXHJcbiAgVVNFUl9DT05USU5VRV9MRUFSTklORzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvaGlzdG9yeS9jb250aW51ZWAsXHJcbiAgQ09OVEVOVF9SQVRJTkc6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL3JhdGluZ2AsXHJcbiAgQ09MTEVDVElPTl9ISUVSQVJDSFk6ICh0eXBlOiBzdHJpbmcsIGlkOiBzdHJpbmcpID0+XHJcbiAgICBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9jb2xsZWN0aW9uLyR7dHlwZX0vJHtpZH1gLFxyXG4gIFJFR0lTVFJBVElPTl9TVEFUVVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9hZG1pbi91c2VyUmVnaXN0cmF0aW9uL2NoZWNrVXNlclJlZ2lzdHJhdGlvbkNvbnRlbnRgLFxyXG4gIE1BUktfQVNfQ09NUExFVEVfTUVUQTogKGNvbnRlbnRJZDogc3RyaW5nKSA9PiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9wcm9ncmVzcy8ke2NvbnRlbnRJZH1gLFxyXG4gIEVYVF9VU0VSX0NPVVJTRV9FTlJPTEw6IChjb250ZW50SWQ6IGFueSkgPT4gYC9hcGlzL3Byb3hpZXMvdjgvY2lvcy1lbnJvbGwvdjEvcmVhZGJ5L3VzZXJpZGNvdXJzZWlkLyR7Y29udGVudElkfWAsXHJcbiAgRVhUX0NPTlRFTlRfRVJPTEw6IGAvYXBpcy9wcm94aWVzL3Y4L2Npb3MtZW5yb2xsL3YxL2NyZWF0ZWAsXHJcbiAgQ0VSVF9ET1dOTE9BRDogKGNlcnRJZDogYW55KSA9PiBgJHtQUk9URUNURURfU0xBR19WOH0vY29ob3J0cy9jb3Vyc2UvYmF0Y2gvY2VydC9kb3dubG9hZC8ke2NlcnRJZH1gLFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgdGhpcyB3aWxsIGJlIGRlcHJpY2F0ZWRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb250ZW50U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgZmV0Y2hNYXJrQXNDb21wbGV0ZU1ldGEoaWRlbnRpZmllcjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxyXG4gICAgY29uc3QgdXJsID0gQVBJX0VORF9QT0lOVFMuTUFSS19BU19DT01QTEVURV9NRVRBKGlkZW50aWZpZXIpXHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnRvUHJvbWlzZSgpXHJcbiAgICBpZiAodXJsKSB7IH1cclxuICAgIHJldHVybiBvZigpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnQoXHJcbiAgICBjb250ZW50SWQ6IHN0cmluZyxcclxuICAgIGhpZXJhcmNoeVR5cGU6ICdhbGwnIHwgJ21pbmltYWwnIHwgJ2RldGFpbCcgPSAnZGV0YWlsJyxcclxuICAgIGFkZGl0aW9uYWxGaWVsZHM6IHN0cmluZ1tdID0gW10sXHJcbiAgKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlR9LyR7Y29udGVudElkfT9oaWVyYXJjaHlUeXBlPSR7aGllcmFyY2h5VHlwZX1gXHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PE5zQ29udGVudC5JQ29udGVudD4odXJsLCB7IGFkZGl0aW9uYWxGaWVsZHMgfSlcclxuICAgICAgLnBpcGUocmV0cnkoMSkpXHJcbiAgfVxyXG4gIGZldGNoQXV0aG9yaW5nQ29udGVudChjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5BVVRIT1JJTkdfQ09OVEVOVH0vJHtjb250ZW50SWR9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50Pih1cmwpLnBpcGUocmV0cnkoMSkpXHJcbiAgfVxyXG4gIGZldGNoTXVsdGlwbGVDb250ZW50KGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRlbnRbXT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLk1VTFRJUExFX0NPTlRFTlR9LyR7aWRzLmpvaW4oJywnKX1gLFxyXG4gICAgKVxyXG4gIH1cclxuICBmZXRjaENvbGxlY3Rpb25IaWVyYXJjaHkodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIgPSAwLCBwYWdlU2l6ZTogbnVtYmVyID0gMSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb2xsZWN0aW9uSGllcmFyY2h5UmVzcG9uc2U+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT0xMRUNUSU9OX0hJRVJBUkNIWShcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIGlkLFxyXG4gICAgICApfT9wYWdlTnVtYmVyPSR7cGFnZU51bWJlcn0mcGFnZVNpemU9JHtwYWdlU2l6ZX1gLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50TGlrZXMoY29udGVudElkczogeyBjb250ZW50X2lkOiBzdHJpbmdbXSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PHsgW2lkZW50aWZpZXI6IHN0cmluZ106IG51bWJlciB9PihBUElfRU5EX1BPSU5UUy5DT05URU5UX0xJS0VTLCBjb250ZW50SWRzKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudFJhdGluZ3MoY29udGVudElkczogeyBjb250ZW50SWRzOiBzdHJpbmdbXSB9KSB7XHJcbiAgICBpZiAoY29udGVudElkcykgeyB9XHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAvLyAgIC5wb3N0KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS9yYXRpbmdgLCBjb250ZW50SWRzKVxyXG4gICAgLy8gICAudG9Qcm9taXNlKClcclxuICAgIHJldHVybiBvZigpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnRIaXN0b3J5KGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRpbnVlTGVhcm5pbmdEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRpbnVlTGVhcm5pbmdEYXRhPihcclxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9ISVNUT1JZfS8ke2NvbnRlbnRJZH1gLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgY29udGludWVMZWFybmluZyhpZDogc3RyaW5nLCBjb2xsZWN0aW9uSWQ/OiBzdHJpbmcsIGNvbGxlY3Rpb25UeXBlPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHtcclxuICAgICAgaWYgKGNvbGxlY3Rpb25UeXBlICYmXHJcbiAgICAgICAgY29sbGVjdGlvblR5cGUudG9Mb3dlckNhc2UoKSA9PT0gJ3BsYXlsaXN0Jykge1xyXG4gICAgICAgIGNvbnN0IHJlcUJvZHkgPSB7XHJcbiAgICAgICAgICBjb250ZXh0UGF0aElkOiBjb2xsZWN0aW9uSWQgPyBjb2xsZWN0aW9uSWQgOiBpZCxcclxuICAgICAgICAgIHJlc291cmNlSWQ6IGlkLFxyXG4gICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXHJcbiAgICAgICAgICAgIGNvbnRleHRGdWxsUGF0aDogW2NvbGxlY3Rpb25JZCwgaWRdLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXHJcbiAgICAgICAgICBjb250ZXh0VHlwZTogJ3BsYXlsaXN0JyxcclxuICAgICAgICB9XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlQ29udGludWVMZWFybmluZyhyZXFCb2R5KS50b1Byb21pc2UoKS5jYXRjaCgpLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgcmVxQm9keSA9IHtcclxuICAgICAgICAgIGNvbnRleHRQYXRoSWQ6IGNvbGxlY3Rpb25JZCA/IGNvbGxlY3Rpb25JZCA6IGlkLFxyXG4gICAgICAgICAgcmVzb3VyY2VJZDogaWQsXHJcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHRpbWVzdGFtcDogRGF0ZS5ub3coKSB9KSxcclxuICAgICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcclxuICAgICAgICB9XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlQ29udGludWVMZWFybmluZyhyZXFCb2R5KS50b1Byb21pc2UoKS5jYXRjaCgpLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIHNhdmVDb250aW51ZUxlYXJuaW5nKGNvbnRlbnQ6IE5zQ29udGVudC5JVmlld2VyQ29udGludWVMZWFybmluZ1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gY29uc3QgdXJsID0gQVBJX0VORF9QT0lOVFMuVVNFUl9DT05USU5VRV9MRUFSTklOR1xyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBjb250ZW50KVxyXG4gICAgaWYgKGNvbnRlbnQpIHtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoKSBhcyBhbnlcclxuICB9XHJcblxyXG4gIHNldFMzQ29va2llKFxyXG4gICAgX2NvbnRlbnRJZDogc3RyaW5nLFxyXG4gICAgLy8gX3BhdGg6IHN0cmluZyxcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgLy8gICAucG9zdChBUElfRU5EX1BPSU5UUy5TRVRfUzNfQ09PS0lFLCB7IGNvbnRlbnRJZCB9KVxyXG4gICAgLy8gICAucGlwZShjYXRjaEVycm9yKF9lcnIgPT4gb2YodHJ1ZSkpKVxyXG4gICAgcmV0dXJuIEVNUFRZXHJcbiAgfVxyXG5cclxuICBzZXRTM0ltYWdlQ29va2llKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuU0VUX1MzX0lNQUdFX0NPT0tJRSwge30pLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSlcclxuICB9XHJcblxyXG4gIGZldGNoTWFuaWZlc3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLkZFVENIX01BTklGRVNULCB7IHVybCB9KVxyXG4gIH1cclxuICBmZXRjaFdlYk1vZHVsZUNvbnRlbnQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7QVBJX0VORF9QT0lOVFMuRkVUQ0hfV0VCX01PRFVMRV9GSUxFU30/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVybCl9YClcclxuICB9XHJcbiAgc2VhcmNoKHJlcTogTlNTZWFyY2guSVNlYXJjaFJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y1LCB7XHJcbiAgICAgIHJlcXVlc3Q6IHJlcSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIHNlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uKFxyXG4gICAgcmVxOiBOU1NlYXJjaC5JU2VhcmNoT3JnUmVnaW9uUmVjb21tZW5kYXRpb25SZXF1ZXN0LFxyXG4gICk6IE9ic2VydmFibGU8TnNDb250ZW50U3RyaXBNdWx0aXBsZS5JQ29udGVudFN0cmlwUmVzcG9uc2VBcGk+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmVxLnByZUxhYmVsVmFsdWUgPVxyXG4gICAgICAocmVxLnByZUxhYmVsVmFsdWUgfHwgJycpICtcclxuICAgICAgKCh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5jb3VudHJ5KSB8fCAnJylcclxuICAgIHJlcS5maWx0ZXJzID0ge1xyXG4gICAgICAuLi5yZXEuZmlsdGVycyxcclxuICAgICAgbGFiZWxzOiBbcmVxLnByZUxhYmVsVmFsdWUgfHwgJyddLFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPihcclxuICAgICAgQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfUkVHSU9OX1JFQ09NTUVOREFUSU9OLFxyXG4gICAgICB7IHJlcXVlc3Q6IHJlcSB9LFxyXG4gICAgKVxyXG4gIH1cclxuICBzZWFyY2hWNihyZXE6IE5TU2VhcmNoLklTZWFyY2hWNlJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hWNkFwaVJlc3VsdD4ge1xyXG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0PihBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9WNiwgcmVxKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IHJhdGluZzogbnVtYmVyIH0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgcmF0aW5nOiBudW1iZXIgfT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApXHJcbiAgfVxyXG4gIGRlbGV0ZUNvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApXHJcbiAgfVxyXG4gIGFkZENvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcsIGRhdGE6IHsgcmF0aW5nOiBudW1iZXIgfSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vJHtjb250ZW50SWR9YCwgZGF0YSlcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAZGVwcmVjYXRlZCB0aGlzIHdpbGwgYmUgZGVwcmljYXRlZC5cclxuICAgKi9cclxuICBnZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY29udGVudDogTnNDb250ZW50LklDb250ZW50KTogTnNDb250ZW50LklDb250ZW50IHtcclxuICAgIGlmICghKGNvbnRlbnQuY2hpbGRyZW4gfHwgW10pLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gY29udGVudFxyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gJ1Byb2dyYW0nICYmXHJcbiAgICAgICEoY29udGVudC5hcnRpZmFjdFVybCAmJiBjb250ZW50LmFydGlmYWN0VXJsLmxlbmd0aClcclxuICAgICkge1xyXG4gICAgICBjb25zdCBjaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF1cclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rmlyc3RDaGlsZEluSGllcmFyY2h5KGNoaWxkKVxyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUkVTT1VSQ0UgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LktOT1dMRURHRV9BUlRJRkFDVCB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUFJPR1JBTSB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUFJBQ1RJQ0VfUkVTT1VSQ0UgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LkZJTkFMX0FTU0VTU01FTlQgfHxcclxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LkNPTVBfQVNTRVNTTUVOVCB8fFxyXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuTUFOREFUT1JZX0NPVVJTRV9HT0FMIHx8XHJcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5PRkZMSU5FX1NFU1NJT05cclxuICAgICkge1xyXG4gICAgICByZXR1cm4gY29udGVudFxyXG4gICAgfVxyXG4gICAgY29uc3QgZmlyc3RDaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF1cclxuICAgIGNvbnN0IHJlc3VsdENvbnRlbnQgPSB0aGlzLmdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShmaXJzdENoaWxkKVxyXG4gICAgcmV0dXJuIHJlc3VsdENvbnRlbnRcclxuICB9XHJcblxyXG4gIGdldFJlZ2lzdHJhdGlvblN0YXR1cyhzb3VyY2U6IHN0cmluZyk6IFByb21pc2U8eyBoYXNBY2Nlc3M6IGJvb2xlYW47IHJlZ2lzdHJhdGlvblVybD86IHN0cmluZyB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLlJFR0lTVFJBVElPTl9TVEFUVVN9LyR7c291cmNlfWApLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbmZpZyh1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih1cmwpXHJcbiAgfVxyXG5cclxuICBmZXRjaEV4dFVzZXJDb250ZW50RW5yb2xsKGNvbnRlbnRJZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KEFQSV9FTkRfUE9JTlRTLkVYVF9VU0VSX0NPVVJTRV9FTlJPTEwoY29udGVudElkKSlcclxuICB9XHJcblxyXG4gIGV4dENvbnRlbnRFbnJvbGwocmVxdWVzdEJvZHk6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuRVhUX0NPTlRFTlRfRVJPTEx9YCwgcmVxdWVzdEJvZHkpXHJcbiAgfVxyXG5cclxuICBkb3dubG9hZENlcnQoY2VydElkOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuQ0VSVF9ET1dOTE9BRChjZXJ0SWQpfWApXHJcbiAgfVxyXG59XHJcbiJdfQ==