@sabstravtech/obtservices 0.0.22042501 → 0.0.22051001

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 (165) hide show
  1. package/angular/fetchers.d.ts +8 -0
  2. package/angular/lib/vendor/fetchers/fast-track-quote.fetcher.d.ts +7 -0
  3. package/angular/lib/vendor/fetchers/get-all-airlines.fetcher.d.ts +7 -0
  4. package/angular/lib/vendor/fetchers/get-cancellation-info.fetcher.d.ts +7 -0
  5. package/angular/lib/vendor/fetchers/get-car-hire-providers.fetcher.d.ts +7 -0
  6. package/angular/lib/vendor/fetchers/get-hotel-chains.fetcher.d.ts +7 -0
  7. package/angular/lib/vendor/fetchers/get-irl-supplier-station.fetcher.d.ts +7 -0
  8. package/angular/lib/vendor/fetchers/get-rail-providers.fetcher.d.ts +7 -0
  9. package/angular/lib/vendor/fetchers/send-offline-notification.fetcher.d.ts +7 -0
  10. package/angular/lib/vendor/services/enterprise-basket.service.d.ts +4 -3
  11. package/angular/lib/vendor/services/search.service.d.ts +10 -3
  12. package/angular/lib/vendor/services/ticket-queue.service.d.ts +6 -0
  13. package/angular/lib/vendor/services/user.service.d.ts +5 -3
  14. package/angular/lib/vendor/types/graphql.angular.types.d.ts +438 -16
  15. package/angular/lib/vendor/updaters/edit-user.updater.d.ts +6 -0
  16. package/angular/lib/vendor/updaters/set-user-language-updater.d.ts +6 -0
  17. package/angular/sabstravtech-obtservices-angular.d.ts +16 -13
  18. package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
  19. package/angular/services.d.ts +1 -0
  20. package/base/fetchers.d.ts +10 -0
  21. package/base/interfaces.d.ts +2 -0
  22. package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +2 -1
  23. package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +1 -0
  24. package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +8 -2
  25. package/base/lib/vendor/classes/fast-track-enterprise-search.d.ts +57 -0
  26. package/base/lib/vendor/classes/flight-enterprise-search.d.ts +2 -1
  27. package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +3 -1
  28. package/base/lib/vendor/classes/irl-enterprise-search.d.ts +27 -7
  29. package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +1 -0
  30. package/base/lib/vendor/classes/management-info-and-valid.d.ts +6 -1
  31. package/base/lib/vendor/classes/modal-types.enum.d.ts +2 -0
  32. package/base/lib/vendor/classes/parking-enterprise-search.d.ts +1 -0
  33. package/base/lib/vendor/classes/rail-enterprise-search.d.ts +3 -2
  34. package/base/lib/vendor/fetchers/fast-track-quote.fetcher.d.ts +23 -0
  35. package/base/lib/vendor/fetchers/get-all-airlines.fetcher.d.ts +20 -0
  36. package/base/lib/vendor/fetchers/get-cancellation-info.fetcher.d.ts +20 -0
  37. package/base/lib/vendor/fetchers/get-car-hire-providers.fetcher.d.ts +20 -0
  38. package/base/lib/vendor/fetchers/get-hotel-chains.fetcher.d.ts +20 -0
  39. package/base/lib/vendor/fetchers/get-irl-supplier-station.fetcher.d.ts +21 -0
  40. package/base/lib/vendor/fetchers/get-rail-providers.fetcher.d.ts +20 -0
  41. package/base/lib/vendor/fetchers/send-offline-notification.fetcher.d.ts +21 -0
  42. package/base/lib/vendor/fetchers/user-fetcher.d.ts +2 -3
  43. package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +1 -0
  44. package/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +1 -0
  45. package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +6 -3
  46. package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +2 -0
  47. package/base/lib/vendor/interfaces/Ifast-track-enterprise-search.d.ts +26 -0
  48. package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +1 -0
  49. package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +2 -0
  50. package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +11 -3
  51. package/base/lib/vendor/interfaces/Ilounges-enterprise-search.d.ts +1 -0
  52. package/base/lib/vendor/interfaces/Iparking-enterprise-search.d.ts +1 -0
  53. package/base/lib/vendor/interfaces/Irail-enterprise-search.d.ts +1 -0
  54. package/base/lib/vendor/interfaces/Isearch.service.d.ts +7 -1
  55. package/base/lib/vendor/interfaces/Iuser.service.d.ts +2 -1
  56. package/base/lib/vendor/interfaces/eurostar-search-arg.interface.d.ts +2 -0
  57. package/base/lib/vendor/interfaces/fast-track-filters.interface.d.ts +4 -0
  58. package/base/lib/vendor/interfaces/rail-basket-item.interface.d.ts +2 -0
  59. package/base/lib/vendor/interfaces/summary-interface.d.ts +2 -0
  60. package/base/lib/vendor/interfaces/user.data.d.ts +1 -0
  61. package/base/lib/vendor/models/traveller.object.d.ts +1 -0
  62. package/base/lib/vendor/services/enterprise-basket.service.d.ts +13 -6
  63. package/base/lib/vendor/services/requires-reason.service.d.ts +20 -0
  64. package/base/lib/vendor/services/search.service.d.ts +30 -5
  65. package/base/lib/vendor/services/user.service.d.ts +12 -5
  66. package/base/lib/vendor/services/webtoken.service.d.ts +1 -0
  67. package/base/lib/vendor/types/graphql.types.d.ts +398 -16
  68. package/base/lib/vendor/types/types.d.ts +53 -16
  69. package/base/lib/vendor/updaters/edit-user-updater.d.ts +19 -0
  70. package/base/lib/vendor/updaters/set-user-language-updater.d.ts +19 -0
  71. package/base/sabstravtech-obtservices-base.d.ts +5 -5
  72. package/base/sabstravtech-obtservices-base.metadata.json +1 -1
  73. package/base/services.d.ts +1 -0
  74. package/base/updaters.d.ts +2 -0
  75. package/bundles/sabstravtech-obtservices-angular.umd.js +499 -91
  76. package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
  77. package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
  78. package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
  79. package/bundles/sabstravtech-obtservices-base.umd.js +3204 -176
  80. package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
  81. package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
  82. package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
  83. package/esm2015/angular/fetchers.js +9 -1
  84. package/esm2015/angular/lib/vendor/fetchers/fast-track-quote.fetcher.js +25 -0
  85. package/esm2015/angular/lib/vendor/fetchers/get-all-airlines.fetcher.js +25 -0
  86. package/esm2015/angular/lib/vendor/fetchers/get-cancellation-info.fetcher.js +25 -0
  87. package/esm2015/angular/lib/vendor/fetchers/get-car-hire-providers.fetcher.js +25 -0
  88. package/esm2015/angular/lib/vendor/fetchers/get-hotel-chains.fetcher.js +25 -0
  89. package/esm2015/angular/lib/vendor/fetchers/get-irl-supplier-station.fetcher.js +25 -0
  90. package/esm2015/angular/lib/vendor/fetchers/get-rail-providers.fetcher.js +25 -0
  91. package/esm2015/angular/lib/vendor/fetchers/send-offline-notification.fetcher.js +25 -0
  92. package/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +8 -5
  93. package/esm2015/angular/lib/vendor/services/http-call.service.js +6 -2
  94. package/esm2015/angular/lib/vendor/services/search.service.js +58 -37
  95. package/esm2015/angular/lib/vendor/services/ticket-queue.service.js +23 -0
  96. package/esm2015/angular/lib/vendor/services/user.service.js +12 -6
  97. package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +583 -5
  98. package/esm2015/angular/lib/vendor/updaters/edit-user.updater.js +22 -0
  99. package/esm2015/angular/lib/vendor/updaters/set-user-language-updater.js +22 -0
  100. package/esm2015/angular/obtservices.module.js +3 -1
  101. package/esm2015/angular/sabstravtech-obtservices-angular.js +17 -14
  102. package/esm2015/angular/services.js +2 -1
  103. package/esm2015/base/fetchers.js +11 -1
  104. package/esm2015/base/interfaces.js +3 -1
  105. package/esm2015/base/lib/vendor/classes/basket-info-mi-details.impl.js +4 -1
  106. package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +37 -5
  107. package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +46 -16
  108. package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +77 -10
  109. package/esm2015/base/lib/vendor/classes/fast-track-enterprise-search.js +296 -0
  110. package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +44 -5
  111. package/esm2015/base/lib/vendor/classes/helpers.js +6 -2
  112. package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +58 -19
  113. package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +214 -25
  114. package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +22 -6
  115. package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +1 -1
  116. package/esm2015/base/lib/vendor/classes/modal-types.enum.js +3 -1
  117. package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +27 -7
  118. package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +62 -13
  119. package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +2 -2
  120. package/esm2015/base/lib/vendor/fetchers/fast-track-quote.fetcher.js +11 -0
  121. package/esm2015/base/lib/vendor/fetchers/get-all-airlines.fetcher.js +11 -0
  122. package/esm2015/base/lib/vendor/fetchers/get-cancellation-info.fetcher.js +10 -0
  123. package/esm2015/base/lib/vendor/fetchers/get-car-hire-providers.fetcher.js +11 -0
  124. package/esm2015/base/lib/vendor/fetchers/get-hotel-chains.fetcher.js +11 -0
  125. package/esm2015/base/lib/vendor/fetchers/get-irl-supplier-station.fetcher.js +11 -0
  126. package/esm2015/base/lib/vendor/fetchers/get-rail-providers.fetcher.js +11 -0
  127. package/esm2015/base/lib/vendor/fetchers/send-offline-notification.fetcher.js +11 -0
  128. package/esm2015/base/lib/vendor/fetchers/user-fetcher.js +1 -1
  129. package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
  130. package/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +1 -1
  131. package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
  132. package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
  133. package/esm2015/base/lib/vendor/interfaces/Ifast-track-enterprise-search.js +2 -0
  134. package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +1 -1
  135. package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +1 -1
  136. package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
  137. package/esm2015/base/lib/vendor/interfaces/Ilounges-enterprise-search.js +1 -1
  138. package/esm2015/base/lib/vendor/interfaces/Iparking-enterprise-search.js +1 -1
  139. package/esm2015/base/lib/vendor/interfaces/Irail-enterprise-search.js +1 -1
  140. package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
  141. package/esm2015/base/lib/vendor/interfaces/Iuser.service.js +1 -1
  142. package/esm2015/base/lib/vendor/interfaces/eurostar-search-arg.interface.js +1 -1
  143. package/esm2015/base/lib/vendor/interfaces/fast-track-filters.interface.js +2 -0
  144. package/esm2015/base/lib/vendor/interfaces/rail-basket-item.interface.js +1 -1
  145. package/esm2015/base/lib/vendor/interfaces/summary-interface.js +1 -1
  146. package/esm2015/base/lib/vendor/interfaces/user.data.js +1 -1
  147. package/esm2015/base/lib/vendor/models/traveller.object.js +3 -2
  148. package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +63 -17
  149. package/esm2015/base/lib/vendor/services/hotel-avallibility.service.js +16 -12
  150. package/esm2015/base/lib/vendor/services/requires-reason.service.js +49 -0
  151. package/esm2015/base/lib/vendor/services/search.service.js +166 -20
  152. package/esm2015/base/lib/vendor/services/user.service.js +44 -6
  153. package/esm2015/base/lib/vendor/services/webtoken.service.js +9 -5
  154. package/esm2015/base/lib/vendor/types/graphql.types.js +9 -1
  155. package/esm2015/base/lib/vendor/types/types.js +1704 -1
  156. package/esm2015/base/lib/vendor/updaters/edit-user-updater.js +11 -0
  157. package/esm2015/base/lib/vendor/updaters/set-user-language-updater.js +11 -0
  158. package/esm2015/base/sabstravtech-obtservices-base.js +6 -5
  159. package/esm2015/base/services.js +2 -1
  160. package/esm2015/base/updaters.js +3 -1
  161. package/fesm2015/sabstravtech-obtservices-angular.js +790 -19
  162. package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
  163. package/fesm2015/sabstravtech-obtservices-base.js +3041 -169
  164. package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
  165. package/package.json +1 -1
@@ -17,6 +17,7 @@ export var BasketItemStatus;
17
17
  (function (BasketItemStatus) {
18
18
  BasketItemStatus["Open"] = "OPEN";
19
19
  BasketItemStatus["Booked"] = "BOOKED";
20
+ BasketItemStatus["Cancelled"] = "CANCELLED";
20
21
  BasketItemStatus["BookingFailed"] = "BOOKING_FAILED";
21
22
  })(BasketItemStatus || (BasketItemStatus = {}));
22
23
  export var BasketStatus;
@@ -422,6 +423,13 @@ export var PreferenceKey;
422
423
  PreferenceKey["SeatPosition"] = "SEAT_POSITION";
423
424
  PreferenceKey["SeatDirection"] = "SEAT_DIRECTION";
424
425
  })(PreferenceKey || (PreferenceKey = {}));
426
+ export var ProfileConfigOption;
427
+ (function (ProfileConfigOption) {
428
+ ProfileConfigOption["Inherited"] = "INHERITED";
429
+ ProfileConfigOption["Editable"] = "EDITABLE";
430
+ ProfileConfigOption["Visible"] = "VISIBLE";
431
+ ProfileConfigOption["Hidden"] = "HIDDEN";
432
+ })(ProfileConfigOption || (ProfileConfigOption = {}));
425
433
  export var RailClass;
426
434
  (function (RailClass) {
427
435
  RailClass["All"] = "All";
@@ -565,6 +573,7 @@ export const BasketFieldsFragmentDoc = gql `
565
573
  co2PerPassenger
566
574
  outboundDate
567
575
  inboundDate
576
+ requiresReason
568
577
  service {
569
578
  id
570
579
  type
@@ -593,6 +602,7 @@ export const BasketFieldsFragmentDoc = gql `
593
602
  agentOnly
594
603
  createdAt
595
604
  updatedAt
605
+ reason
596
606
  fixed
597
607
  fixedValue {
598
608
  id
@@ -905,6 +915,8 @@ export const RoomAvaliabilityFragmentDoc = gql `
905
915
  officePreferredMessage
906
916
  unavailable
907
917
  unavailableMessage
918
+ requiresReason
919
+ requiresReasonMessage
908
920
  }
909
921
  prpn
910
922
  currencyCode
@@ -964,6 +976,7 @@ export const RailJourneyFareFragmentDoc = gql `
964
976
  kioskAvailable
965
977
  preBookingRequirement
966
978
  railcardDiscount
979
+ route
967
980
  refundCancellationRule
968
981
  reservationRule
969
982
  ticketTypeAltName
@@ -978,6 +991,9 @@ export const RailJourneyFareFragmentDoc = gql `
978
991
  }
979
992
  class
980
993
  singleOrReturn
994
+ mobileTicketAvailable
995
+ eTicketAvailable
996
+ selfPrintAvailable
981
997
  }
982
998
  `;
983
999
  export const RailJourneyOptionFragmentDoc = gql `
@@ -1067,6 +1083,7 @@ export const UserFieldsFragmentDoc = gql `
1067
1083
  forename
1068
1084
  surname
1069
1085
  email
1086
+ additionalEmail
1070
1087
  username
1071
1088
  employeeId
1072
1089
  createdAt
@@ -1142,6 +1159,106 @@ export const UserFieldsFragmentDoc = gql `
1142
1159
  createdAt
1143
1160
  updatedAt
1144
1161
  }
1162
+ userMiDefaultValues {
1163
+ service {
1164
+ id
1165
+ type
1166
+ name
1167
+ description
1168
+ supplierUrl
1169
+ active
1170
+ apiEndpointUrl
1171
+ basketItemTtl
1172
+ cancellable
1173
+ amendable
1174
+ detailSchema
1175
+ searchQuerySchema
1176
+ }
1177
+ managementInfo {
1178
+ id
1179
+ dbId
1180
+ name
1181
+ description
1182
+ handoff
1183
+ valueMask
1184
+ uiPresentation
1185
+ mandatory
1186
+ perPassenger
1187
+ perBooking
1188
+ agentOnly
1189
+ createdAt
1190
+ updatedAt
1191
+ fixed
1192
+ fixedValue {
1193
+ id
1194
+ label
1195
+ value
1196
+ default
1197
+ fixed
1198
+ agentOnly
1199
+ }
1200
+ defaultValue {
1201
+ id
1202
+ label
1203
+ value
1204
+ default
1205
+ fixed
1206
+ agentOnly
1207
+ }
1208
+ values {
1209
+ id
1210
+ label
1211
+ value
1212
+ default
1213
+ fixed
1214
+ agentOnly
1215
+ }
1216
+ group
1217
+ selectedValues {
1218
+ value {
1219
+ id
1220
+ label
1221
+ value
1222
+ default
1223
+ fixed
1224
+ agentOnly
1225
+ }
1226
+ freeValue
1227
+ basketLevelValue
1228
+ userLevelValue
1229
+ user {
1230
+ id
1231
+ title
1232
+ forename
1233
+ surname
1234
+ email
1235
+ username
1236
+ employeeId
1237
+ createdAt
1238
+ updatedAt
1239
+ dob
1240
+ admin
1241
+ companyAdmin
1242
+ bookerType
1243
+ authMethods
1244
+ active
1245
+ passwordLastUpdated
1246
+ }
1247
+ }
1248
+ }
1249
+ managementInfoValue {
1250
+ id
1251
+ label
1252
+ value
1253
+ default
1254
+ fixed
1255
+ agentOnly
1256
+ }
1257
+ freeTextValue
1258
+ }
1259
+ emergencyContactName
1260
+ emergencyContactPhone
1261
+ emergencyContactEmail
1145
1262
  }
1146
1263
  `;
1147
1264
  export const AcceptNewPriceDocument = gql `
@@ -1348,8 +1465,8 @@ SendBasketForApprovalGQL.ctorParameters = () => [
1348
1465
  { type: Apollo.Apollo }
1349
1466
  ];
1350
1467
  export const AddItemToBasketDocument = gql `
1351
- mutation addItemToBasket($convertCurrencyTo: String, $basket: ID, $service: ID!, $detail: JSON!, $adults: Int!, $children: Int, $infants: Int, $price: Float!, $currency: CurrencyCode!, $searchQuery: JSON!, $quickAdd: Boolean, $users: [UserPassengerTypeInput], $leadPassenger: ID, $co2PerItem: Float, $co2PerPassenger: Float, $outboundDate: DateTime!, $inboundDate: DateTime, $withSupplemental: Boolean = false) {
1352
- addItemToBasket(convertCurrencyTo: $convertCurrencyTo, basket: $basket, service: $service, detail: $detail, adults: $adults, children: $children, infants: $infants, price: $price, currency: $currency, searchQuery: $searchQuery, quickAdd: $quickAdd, users: $users, leadPassenger: $leadPassenger, co2PerItem: $co2PerItem, co2PerPassenger: $co2PerPassenger, outboundDate: $outboundDate, inboundDate: $inboundDate) {
1468
+ mutation addItemToBasket($convertCurrencyTo: String, $basket: ID, $service: ID!, $detail: JSON!, $adults: Int!, $children: Int, $infants: Int, $price: Float!, $currency: CurrencyCode!, $searchQuery: JSON!, $quickAdd: Boolean, $users: [UserPassengerTypeInput], $leadPassenger: ID, $co2PerItem: Float, $co2PerPassenger: Float, $outboundDate: DateTime!, $inboundDate: DateTime, $requiresReason: Boolean = false, $withSupplemental: Boolean = false) {
1469
+ addItemToBasket(convertCurrencyTo: $convertCurrencyTo, basket: $basket, service: $service, detail: $detail, adults: $adults, children: $children, infants: $infants, price: $price, currency: $currency, searchQuery: $searchQuery, quickAdd: $quickAdd, users: $users, leadPassenger: $leadPassenger, co2PerItem: $co2PerItem, co2PerPassenger: $co2PerPassenger, outboundDate: $outboundDate, inboundDate: $inboundDate, requiresReason: $requiresReason) {
1353
1470
  ...BasketFields
1354
1471
  }
1355
1472
  }
@@ -1464,6 +1581,8 @@ export const SearchCabHireDocument = gql `
1464
1581
  officePreferredMessage
1465
1582
  unavailable
1466
1583
  unavailableMessage
1584
+ requiresReason
1585
+ requiresReasonMessage
1467
1586
  fromLocation {
1468
1587
  address
1469
1588
  postcode
@@ -1671,6 +1790,8 @@ export const SearchCarHireDocument = gql `
1671
1790
  officePreferredMessage
1672
1791
  unavailable
1673
1792
  unavailableMessage
1793
+ requiresReason
1794
+ requiresReasonMessage
1674
1795
  co2PerPassenger
1675
1796
  co2PerItem
1676
1797
  }
@@ -1780,6 +1901,224 @@ DeleteUserAddressGQL.decorators = [
1780
1901
  DeleteUserAddressGQL.ctorParameters = () => [
1781
1902
  { type: Apollo.Apollo }
1782
1903
  ];
1904
+ export const EditUserDocument = gql `
1905
+ mutation editUser($id: ID!, $title: String, $forename: String, $surname: String, $email: String, $additionalEmail: String, $username: String, $authMethods: [String!], $active: Boolean, $bookerType: BookerType, $tmcAdmin: Boolean, $canCreateAdminAtOwnLevel: Boolean, $logLevel: LogLevelType, $live: Boolean, $employeeId: String, $confermaId: String, $dob: Date, $admin: Boolean, $companyAdmin: Boolean, $selectedLanguage: ID, $co2AllowancePeriod: String, $co2AllowancePerPeriod: String, $emergencyContactName: String, $emergencyContactPhone: String, $emergencyContactEmail: String, $supplierRelations: Boolean, $phoneNumbers: [PhoneNumberInput!], $addresses: [AddressInput!], $userMiDefaultValues: [UserMiDefaultValuesInput!], $documents: [DocumentInput!], $loyaltyCodes: [UserLoyaltyCodeInput!], $preferences: [UserPreferenceInput!]) {
1906
+ editUser(id: $id, title: $title, forename: $forename, surname: $surname, email: $email, additionalEmail: $additionalEmail, username: $username, authMethods: $authMethods, active: $active, bookerType: $bookerType, tmcAdmin: $tmcAdmin, canCreateAdminAtOwnLevel: $canCreateAdminAtOwnLevel, logLevel: $logLevel, live: $live, employeeId: $employeeId, confermaId: $confermaId, dob: $dob, admin: $admin, companyAdmin: $companyAdmin, selectedLanguage: $selectedLanguage, co2AllowancePeriod: $co2AllowancePeriod, co2AllowancePerPeriod: $co2AllowancePerPeriod, emergencyContactName: $emergencyContactName, emergencyContactPhone: $emergencyContactPhone, emergencyContactEmail: $emergencyContactEmail, supplierRelations: $supplierRelations, phoneNumbers: $phoneNumbers, addresses: $addresses, userMiDefaultValues: $userMiDefaultValues, documents: $documents, loyaltyCodes: $loyaltyCodes, preferences: $preferences) {
1907
+ id
1908
+ title
1909
+ forename
1910
+ surname
1911
+ email
1912
+ additionalEmail
1913
+ username
1914
+ employeeId
1915
+ confermaId
1916
+ createdAt
1917
+ updatedAt
1918
+ dob
1919
+ admin
1920
+ tmcAdmin
1921
+ companyAdmin
1922
+ bookerType
1923
+ authMethods
1924
+ active
1925
+ passwordLastUpdated
1926
+ selectedLanguage {
1927
+ id
1928
+ name
1929
+ isoCode
1930
+ }
1931
+ availableLanguages {
1932
+ id
1933
+ name
1934
+ isoCode
1935
+ }
1936
+ approvers {
1937
+ active
1938
+ priority
1939
+ }
1940
+ approverFor {
1941
+ active
1942
+ priority
1943
+ }
1944
+ co2AllowancePeriod
1945
+ co2AllowancePerPeriod
1946
+ emergencyContactName
1947
+ emergencyContactPhone
1948
+ emergencyContactEmail
1949
+ canCreateAdminAtOwnLevel
1950
+ live
1951
+ supplierRelations
1952
+ logLevel
1953
+ phoneNumbers {
1954
+ id
1955
+ description
1956
+ countryCode
1957
+ areaCode
1958
+ number
1959
+ extension
1960
+ type
1961
+ officePrimary
1962
+ userPrimary
1963
+ }
1964
+ addresses {
1965
+ id
1966
+ description
1967
+ numberOrName
1968
+ street
1969
+ town
1970
+ county
1971
+ postcode
1972
+ countryCode
1973
+ userPrimary
1974
+ officePrimary
1975
+ }
1976
+ userMiDefaultValues {
1977
+ service {
1978
+ id
1979
+ type
1980
+ name
1981
+ description
1982
+ supplierUrl
1983
+ active
1984
+ apiEndpointUrl
1985
+ basketItemTtl
1986
+ cancellable
1987
+ amendable
1988
+ detailSchema
1989
+ searchQuerySchema
1990
+ }
1991
+ managementInfo {
1992
+ id
1993
+ dbId
1994
+ name
1995
+ description
1996
+ handoff
1997
+ valueMask
1998
+ service {
1999
+ id
2000
+ type
2001
+ name
2002
+ description
2003
+ supplierUrl
2004
+ active
2005
+ apiEndpointUrl
2006
+ basketItemTtl
2007
+ cancellable
2008
+ amendable
2009
+ detailSchema
2010
+ searchQuerySchema
2011
+ }
2012
+ uiPresentation
2013
+ mandatory
2014
+ perPassenger
2015
+ perBooking
2016
+ agentOnly
2017
+ takeValueFromUserDefault
2018
+ takeValueFromBookerDefault
2019
+ enforceUserDefault
2020
+ bookedByField
2021
+ createdAt
2022
+ updatedAt
2023
+ fixed
2024
+ fixedValue {
2025
+ id
2026
+ label
2027
+ value
2028
+ default
2029
+ fixed
2030
+ agentOnly
2031
+ }
2032
+ defaultValue {
2033
+ id
2034
+ label
2035
+ value
2036
+ default
2037
+ fixed
2038
+ agentOnly
2039
+ }
2040
+ values {
2041
+ id
2042
+ label
2043
+ value
2044
+ default
2045
+ fixed
2046
+ agentOnly
2047
+ }
2048
+ group
2049
+ selectedValues {
2050
+ value {
2051
+ id
2052
+ label
2053
+ value
2054
+ default
2055
+ fixed
2056
+ agentOnly
2057
+ }
2058
+ freeValue
2059
+ basketLevelValue
2060
+ userLevelValue
2061
+ }
2062
+ }
2063
+ managementInfoValue {
2064
+ id
2065
+ label
2066
+ value
2067
+ default
2068
+ fixed
2069
+ agentOnly
2070
+ }
2071
+ freeTextValue
2072
+ }
2073
+ documents {
2074
+ id
2075
+ docType
2076
+ nationality
2077
+ gender
2078
+ number
2079
+ country
2080
+ codeOfIssuingState
2081
+ dateOfIssue
2082
+ dateOfExpiry
2083
+ primary
2084
+ createdAt
2085
+ updatedAt
2086
+ }
2087
+ loyaltyCodes {
2088
+ id
2089
+ carrier
2090
+ code
2091
+ type
2092
+ createdAt
2093
+ updatedAt
2094
+ }
2095
+ preferences {
2096
+ id
2097
+ serviceType
2098
+ preferenceKey
2099
+ preferenceValue
2100
+ createdAt
2101
+ updatedAt
2102
+ }
2103
+ }
2104
+ }
2105
+ `;
2106
+ export class EditUserGQL extends Apollo.Mutation {
2107
+ constructor(apollo) {
2108
+ super(apollo);
2109
+ this.document = EditUserDocument;
2110
+ }
2111
+ }
2112
+ /** @nocollapse */ EditUserGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function EditUserGQL_Factory() { return new EditUserGQL(i0.ɵɵinject(i1.Apollo)); }, token: EditUserGQL, providedIn: "root" });
2113
+ EditUserGQL.decorators = [
2114
+ { type: Injectable, args: [{
2115
+ providedIn: 'root'
2116
+ },] }
2117
+ ];
2118
+ /** @nocollapse */
2119
+ EditUserGQL.ctorParameters = () => [
2120
+ { type: Apollo.Apollo }
2121
+ ];
1783
2122
  export const EmailBasketDocument = gql `
1784
2123
  query emailBasket($id: ID!) {
1785
2124
  emailBasket(id: $id) {
@@ -2744,6 +3083,40 @@ EmailBasketGQL.decorators = [
2744
3083
  EmailBasketGQL.ctorParameters = () => [
2745
3084
  { type: Apollo.Apollo }
2746
3085
  ];
3086
+ export const GetAllAirlinesDocument = gql `
3087
+ query getAllAirlines {
3088
+ getAllAirlines {
3089
+ id
3090
+ name
3091
+ iata
3092
+ icao
3093
+ alias
3094
+ callsign
3095
+ active
3096
+ continent
3097
+ country
3098
+ countryCode
3099
+ bannerImage
3100
+ logoImage
3101
+ }
3102
+ }
3103
+ `;
3104
+ export class GetAllAirlinesGQL extends Apollo.Query {
3105
+ constructor(apollo) {
3106
+ super(apollo);
3107
+ this.document = GetAllAirlinesDocument;
3108
+ }
3109
+ }
3110
+ /** @nocollapse */ GetAllAirlinesGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetAllAirlinesGQL_Factory() { return new GetAllAirlinesGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetAllAirlinesGQL, providedIn: "root" });
3111
+ GetAllAirlinesGQL.decorators = [
3112
+ { type: Injectable, args: [{
3113
+ providedIn: 'root'
3114
+ },] }
3115
+ ];
3116
+ /** @nocollapse */
3117
+ GetAllAirlinesGQL.ctorParameters = () => [
3118
+ { type: Apollo.Apollo }
3119
+ ];
2747
3120
  export const GetCovidMicrositeTokenDocument = gql `
2748
3121
  query getCOVIDMicrositeToken {
2749
3122
  getCOVIDMicrositeToken
@@ -2765,6 +3138,31 @@ GetCovidMicrositeTokenGQL.decorators = [
2765
3138
  GetCovidMicrositeTokenGQL.ctorParameters = () => [
2766
3139
  { type: Apollo.Apollo }
2767
3140
  ];
3141
+ export const GetCancellationInfoDocument = gql `
3142
+ query getCancellationInfo($basketItem: ID!) {
3143
+ getCancellationInfo(basketItem: $basketItem) {
3144
+ cancellable
3145
+ info
3146
+ cancellationFee
3147
+ }
3148
+ }
3149
+ `;
3150
+ export class GetCancellationInfoGQL extends Apollo.Query {
3151
+ constructor(apollo) {
3152
+ super(apollo);
3153
+ this.document = GetCancellationInfoDocument;
3154
+ }
3155
+ }
3156
+ /** @nocollapse */ GetCancellationInfoGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetCancellationInfoGQL_Factory() { return new GetCancellationInfoGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetCancellationInfoGQL, providedIn: "root" });
3157
+ GetCancellationInfoGQL.decorators = [
3158
+ { type: Injectable, args: [{
3159
+ providedIn: 'root'
3160
+ },] }
3161
+ ];
3162
+ /** @nocollapse */
3163
+ GetCancellationInfoGQL.ctorParameters = () => [
3164
+ { type: Apollo.Apollo }
3165
+ ];
2768
3166
  export const GetCarHireDepotsDocument = gql `
2769
3167
  query getCarHireDepots($latitude: Float!, $longitude: Float!, $vendorCode: String, $radius: String) {
2770
3168
  getCarHireDepots(latitude: $latitude, longitude: $longitude, vendorCode: $vendorCode, radius: $radius) {
@@ -2796,6 +3194,27 @@ GetCarHireDepotsGQL.decorators = [
2796
3194
  GetCarHireDepotsGQL.ctorParameters = () => [
2797
3195
  { type: Apollo.Apollo }
2798
3196
  ];
3197
+ export const GetCarHireProvidersDocument = gql `
3198
+ query getCarHireProviders {
3199
+ getCarHireProviders
3200
+ }
3201
+ `;
3202
+ export class GetCarHireProvidersGQL extends Apollo.Query {
3203
+ constructor(apollo) {
3204
+ super(apollo);
3205
+ this.document = GetCarHireProvidersDocument;
3206
+ }
3207
+ }
3208
+ /** @nocollapse */ GetCarHireProvidersGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetCarHireProvidersGQL_Factory() { return new GetCarHireProvidersGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetCarHireProvidersGQL, providedIn: "root" });
3209
+ GetCarHireProvidersGQL.decorators = [
3210
+ { type: Injectable, args: [{
3211
+ providedIn: 'root'
3212
+ },] }
3213
+ ];
3214
+ /** @nocollapse */
3215
+ GetCarHireProvidersGQL.ctorParameters = () => [
3216
+ { type: Apollo.Apollo }
3217
+ ];
2799
3218
  export const GetConfermaOfficeDocument = gql `
2800
3219
  query getConfermaOffice($officeId: Int!) {
2801
3220
  getConfermaOffice(officeId: $officeId) {
@@ -3174,6 +3593,27 @@ GetFlightSeatMapGQL.decorators = [
3174
3593
  GetFlightSeatMapGQL.ctorParameters = () => [
3175
3594
  { type: Apollo.Apollo }
3176
3595
  ];
3596
+ export const GetHotelChainsDocument = gql `
3597
+ query getHotelChains {
3598
+ getHotelChains
3599
+ }
3600
+ `;
3601
+ export class GetHotelChainsGQL extends Apollo.Query {
3602
+ constructor(apollo) {
3603
+ super(apollo);
3604
+ this.document = GetHotelChainsDocument;
3605
+ }
3606
+ }
3607
+ /** @nocollapse */ GetHotelChainsGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetHotelChainsGQL_Factory() { return new GetHotelChainsGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetHotelChainsGQL, providedIn: "root" });
3608
+ GetHotelChainsGQL.decorators = [
3609
+ { type: Injectable, args: [{
3610
+ providedIn: 'root'
3611
+ },] }
3612
+ ];
3613
+ /** @nocollapse */
3614
+ GetHotelChainsGQL.ctorParameters = () => [
3615
+ { type: Apollo.Apollo }
3616
+ ];
3177
3617
  export const GetIrlDiscountCardsDocument = gql `
3178
3618
  query getIRLDiscountCards($supplier: IRLSupplier!) {
3179
3619
  getIRLDiscountCards(supplier: $supplier) {
@@ -3348,6 +3788,7 @@ export const GetRailStationDocument = gql `
3348
3788
  northing
3349
3789
  easting
3350
3790
  }
3791
+ hasTod
3351
3792
  }
3352
3793
  }
3353
3794
  `;
@@ -3391,6 +3832,27 @@ GetRailcardsGQL.decorators = [
3391
3832
  GetRailcardsGQL.ctorParameters = () => [
3392
3833
  { type: Apollo.Apollo }
3393
3834
  ];
3835
+ export const GetRailProvidersDocument = gql `
3836
+ query getRailProviders {
3837
+ getRailProviders
3838
+ }
3839
+ `;
3840
+ export class GetRailProvidersGQL extends Apollo.Query {
3841
+ constructor(apollo) {
3842
+ super(apollo);
3843
+ this.document = GetRailProvidersDocument;
3844
+ }
3845
+ }
3846
+ /** @nocollapse */ GetRailProvidersGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetRailProvidersGQL_Factory() { return new GetRailProvidersGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetRailProvidersGQL, providedIn: "root" });
3847
+ GetRailProvidersGQL.decorators = [
3848
+ { type: Injectable, args: [{
3849
+ providedIn: 'root'
3850
+ },] }
3851
+ ];
3852
+ /** @nocollapse */
3853
+ GetRailProvidersGQL.ctorParameters = () => [
3854
+ { type: Apollo.Apollo }
3855
+ ];
3394
3856
  export const GetRiskAlertsDocument = gql `
3395
3857
  query getRiskAlerts($minLevel: RiskLevel!, $maxLevel: RiskLevel!, $countryIsoCode: String, $airport: ID, $railStation: ID, $airportIata: String) {
3396
3858
  getRiskAlerts(minLevel: $minLevel, maxLevel: $maxLevel, countryIsoCode: $countryIsoCode, airport: $airport, railStation: $railStation, airportIata: $airportIata) {
@@ -3896,6 +4358,8 @@ export const SearchLoungesDocument = gql `
3896
4358
  officePreferredMessage
3897
4359
  unavailable
3898
4360
  unavailableMessage
4361
+ requiresReason
4362
+ requiresReasonMessage
3899
4363
  co2PerPassenger
3900
4364
  co2PerItem
3901
4365
  }
@@ -3992,6 +4456,8 @@ export const SearchParkingDocument = gql `
3992
4456
  officePreferredMessage
3993
4457
  unavailable
3994
4458
  unavailableMessage
4459
+ requiresReason
4460
+ requiresReasonMessage
3995
4461
  co2PerPassenger
3996
4462
  co2PerItem
3997
4463
  }
@@ -4482,6 +4948,72 @@ SearchEurostarGQL.decorators = [
4482
4948
  SearchEurostarGQL.ctorParameters = () => [
4483
4949
  { type: Apollo.Apollo }
4484
4950
  ];
4951
+ export const SearchFastTrackDocument = gql `
4952
+ query searchFastTrack($arrivalDatetime: DateTime!, $locationCode: String!, $adults: Int!, $children: Int) {
4953
+ searchFastTrack(arrivalDatetime: $arrivalDatetime, locationCode: $locationCode, adults: $adults, children: $children) {
4954
+ results {
4955
+ source
4956
+ sourceId
4957
+ name
4958
+ code
4959
+ price
4960
+ currency
4961
+ refundable
4962
+ terminal
4963
+ images
4964
+ logo
4965
+ description
4966
+ importantInfo
4967
+ tmcPreferred
4968
+ companyPreferred
4969
+ officePreferred
4970
+ tmcPreferredMessage
4971
+ companyPreferredMessage
4972
+ officePreferredMessage
4973
+ unavailable
4974
+ unavailableMessage
4975
+ requiresReason
4976
+ requiresReasonMessage
4977
+ co2PerPassenger
4978
+ co2PerItem
4979
+ }
4980
+ errors {
4981
+ service {
4982
+ id
4983
+ type
4984
+ name
4985
+ description
4986
+ supplierUrl
4987
+ active
4988
+ apiEndpointUrl
4989
+ basketItemTtl
4990
+ cancellable
4991
+ amendable
4992
+ detailSchema
4993
+ searchQuerySchema
4994
+ }
4995
+ errorMessage
4996
+ errorCode
4997
+ }
4998
+ }
4999
+ }
5000
+ `;
5001
+ export class SearchFastTrackGQL extends Apollo.Query {
5002
+ constructor(apollo) {
5003
+ super(apollo);
5004
+ this.document = SearchFastTrackDocument;
5005
+ }
5006
+ }
5007
+ /** @nocollapse */ SearchFastTrackGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function SearchFastTrackGQL_Factory() { return new SearchFastTrackGQL(i0.ɵɵinject(i1.Apollo)); }, token: SearchFastTrackGQL, providedIn: "root" });
5008
+ SearchFastTrackGQL.decorators = [
5009
+ { type: Injectable, args: [{
5010
+ providedIn: 'root'
5011
+ },] }
5012
+ ];
5013
+ /** @nocollapse */
5014
+ SearchFastTrackGQL.ctorParameters = () => [
5015
+ { type: Apollo.Apollo }
5016
+ ];
4485
5017
  export const SearchFlightsV2Document = gql `
4486
5018
  query searchFlightsV2($passengers: [FlightPassengerObject!]!, $originAirport: String, $destinationAirport: String, $multiDestination: [DestinationEntry], $outboundDate: Date, $outboundDepartureTimeWindow: String, $outboundArrivalTimeWindow: String, $outboundCabinClass: [FlightCabinClass], $returnTrip: Boolean!, $returnDate: Date, $returnDepartureTimeWindow: String, $returnArrivalTimeWindow: String, $returnCabinClass: [FlightCabinClass], $fareType: FareType!, $requireFreeBag: Boolean, $maxConnections: Int, $preferredCarriers: [String], $includeNearbyAirports: Boolean, $asSingles: Boolean, $withGrouped: Boolean!, $groupMax: Int) {
4487
5019
  searchFlightsV2(passengers: $passengers, originAirport: $originAirport, destinationAirport: $destinationAirport, multiDestination: $multiDestination, outboundDate: $outboundDate, outboundDepartureTimeWindow: $outboundDepartureTimeWindow, outboundArrivalTimeWindow: $outboundArrivalTimeWindow, outboundCabinClass: $outboundCabinClass, returnTrip: $returnTrip, returnDate: $returnDate, returnDepartureTimeWindow: $returnDepartureTimeWindow, returnArrivalTimeWindow: $returnArrivalTimeWindow, returnCabinClass: $returnCabinClass, fareType: $fareType, requireFreeBag: $requireFreeBag, maxConnections: $maxConnections, preferredCarriers: $preferredCarriers, includeNearbyAirports: $includeNearbyAirports, asSingles: $asSingles, groupMax: $groupMax) {
@@ -5250,6 +5782,7 @@ export const SearchIrlDocument = gql `
5250
5782
  destinationStationNLC
5251
5783
  }
5252
5784
  }
5785
+ jrfreference
5253
5786
  }
5254
5787
  errors {
5255
5788
  ...Errors
@@ -5345,8 +5878,8 @@ SearchPostcodesGQL.ctorParameters = () => [
5345
5878
  { type: Apollo.Apollo }
5346
5879
  ];
5347
5880
  export const SearchRailStationsDocument = gql `
5348
- query searchRailStations($query: String!, $countryCode: String) {
5349
- searchRailStations(query: $query, countryCode: $countryCode) {
5881
+ query searchRailStations($query: String!, $countryCode: String, $hasTod: Boolean) {
5882
+ searchRailStations(query: $query, countryCode: $countryCode, hasTod: $hasTod) {
5350
5883
  id
5351
5884
  name
5352
5885
  stationCode
@@ -5370,6 +5903,7 @@ export const SearchRailStationsDocument = gql `
5370
5903
  northing
5371
5904
  easting
5372
5905
  }
5906
+ hasTod
5373
5907
  }
5374
5908
  }
5375
5909
  `;
@@ -5421,6 +5955,29 @@ SearchUserAddressGQL.decorators = [
5421
5955
  SearchUserAddressGQL.ctorParameters = () => [
5422
5956
  { type: Apollo.Apollo }
5423
5957
  ];
5958
+ export const SendOfflineNotificationDocument = gql `
5959
+ query sendOfflineNotification($trainNumber: String!, $departureStation: String!, $destinationStation: String!, $outboundDate: String!, $inboundDate: String!, $additionalInfo: String!, $offlineReference: String!, $notifyEmail: String!, $onBehalfOf: String!, $serviceClass: String!, $passengers: [IRLOfflinePassenger!]!) {
5960
+ sendOfflineNotification(trainNumber: $trainNumber, departureStation: $departureStation, destinationStation: $destinationStation, outboundDate: $outboundDate, inboundDate: $inboundDate, additionalInfo: $additionalInfo, offlineReference: $offlineReference, notifyEmail: $notifyEmail, onBehalfOf: $onBehalfOf, serviceClass: $serviceClass, passengers: $passengers) {
5961
+ success
5962
+ }
5963
+ }
5964
+ `;
5965
+ export class SendOfflineNotificationGQL extends Apollo.Query {
5966
+ constructor(apollo) {
5967
+ super(apollo);
5968
+ this.document = SendOfflineNotificationDocument;
5969
+ }
5970
+ }
5971
+ /** @nocollapse */ SendOfflineNotificationGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function SendOfflineNotificationGQL_Factory() { return new SendOfflineNotificationGQL(i0.ɵɵinject(i1.Apollo)); }, token: SendOfflineNotificationGQL, providedIn: "root" });
5972
+ SendOfflineNotificationGQL.decorators = [
5973
+ { type: Injectable, args: [{
5974
+ providedIn: 'root'
5975
+ },] }
5976
+ ];
5977
+ /** @nocollapse */
5978
+ SendOfflineNotificationGQL.ctorParameters = () => [
5979
+ { type: Apollo.Apollo }
5980
+ ];
5424
5981
  export const SetBasketItemMiGroupDocument = gql `
5425
5982
  mutation setBasketItemMIGroup($convertCurrencyTo: String, $basketItem: ID!, $group: String, $withSupplemental: Boolean = false) {
5426
5983
  setBasketItemMIGroup(convertCurrencyTo: $convertCurrencyTo, basketItem: $basketItem, group: $group) {
@@ -5684,10 +6241,31 @@ export const SetUserLanguageDocument = gql `
5684
6241
  mutation setUserLanguage($language: ID) {
5685
6242
  setUserLanguage(language: $language) {
5686
6243
  id
6244
+ title
6245
+ forename
6246
+ surname
6247
+ email
6248
+ dob
5687
6249
  selectedLanguage {
5688
6250
  id
5689
6251
  name
5690
6252
  }
6253
+ availableLanguages {
6254
+ id
6255
+ name
6256
+ isoCode
6257
+ }
6258
+ phoneNumbers {
6259
+ id
6260
+ description
6261
+ countryCode
6262
+ areaCode
6263
+ number
6264
+ extension
6265
+ type
6266
+ officePrimary
6267
+ userPrimary
6268
+ }
5691
6269
  }
5692
6270
  }
5693
6271
  `;
@@ -5778,4 +6356,4 @@ ValidateUserMiFreeValueGQL.decorators = [
5778
6356
  ValidateUserMiFreeValueGQL.ctorParameters = () => [
5779
6357
  { type: Apollo.Apollo }
5780
6358
  ];
5781
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBaUh6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBNkNELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBb0VELE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBU0Qs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MkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENB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QUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUE3a1hTLE1BQU0sQ0FpbFhhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztLQVUxQyxDQUFDO0FBS0osTUFBTSxPQUFPLHVCQUF3QixTQUFRLE1BQU0sQ0FBQyxLQUFvRTtJQUd0SCxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsNEJBQTRCLENBQUM7SUFJeEMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQW5tWFMsTUFBTSxDQXVtWGEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBOzs7O0tBSTdDLENBQUM7QUFLSixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsTUFBTSxDQUFDLEtBQTBFO0lBRy9ILFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRywrQkFBK0IsQ0FBQztJQUkzQyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBbm5YUyxNQUFNLENBdW5YYSxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgQXBvbGxvIGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmV4cG9ydCB0eXBlIE1heWJlPFQ+ID0gVCB8IG51bGw7XG5leHBvcnQgdHlwZSBFeGFjdDxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSB9O1xuZXhwb3J0IHR5cGUgTWFrZU9wdGlvbmFsPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS10/OiBNYXliZTxUW1N1YktleV0+IH07XG5leHBvcnQgdHlwZSBNYWtlTWF5YmU8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXTogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgRmllbGRXcmFwcGVyPFQ+ID0gVDtcbi8qKiBBbGwgYnVpbHQtaW4gYW5kIGN1c3RvbSBzY2FsYXJzLCBtYXBwZWQgdG8gdGhlaXIgYWN0dWFsIHZhbHVlcyAqL1xuZXhwb3J0IHR5cGUgU2NhbGFycyA9IHtcbiAgSUQ6IHN0cmluZztcbiAgU3RyaW5nOiBzdHJpbmc7XG4gIEJvb2xlYW46IGJvb2xlYW47XG4gIEludDogbnVtYmVyO1xuICBGbG9hdDogbnVtYmVyO1xuICBEYXRlOiBhbnk7XG4gIERhdGVUaW1lOiBhbnk7XG4gIEpTT046IGFueTtcbn07XG5cblxuXG5leHBvcnQgdHlwZSBBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RyZWV0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvd24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3Rjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBvZmZpY2VQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWRkcmVzc0lucHV0ID0ge1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlck9yTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3duPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQWZ0ZXJDYW5jZWxsYXRpb25JbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0FmdGVyQ2FuY2VsbGF0aW9uSW5mbyc7XG4gIGNhbmNlbGxlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbGxhdGlvbkZlZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlybGluZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpYXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGljYW8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxpYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FsbHNpZ24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWN0aXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjb250aW5lbnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBiYW5uZXJJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvSW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcmxpbmVSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHRzJztcbiAgaWF0YU1hdGNoPzogTWF5YmU8RmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHQ+PjtcbiAgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJwb3J0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGljYW8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybWluYWxzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaGFzTG91bmdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBoYXNQYXJraW5nPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc1B1YmxpY1RyYXZlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uRGV0YWlsPj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJwb3J0RGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnO1xuICBpYXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGljYW8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHN0YXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm9hZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3B1bGFyaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGFyZWE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2Zmc2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3Rjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJwb3J0UmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJwb3J0UmVzdWx0cyc7XG4gIGlhdGFNYXRjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxBaXJwb3J0Pj47XG4gIGdlbmVyYWxNYXRjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWlycG9ydD4+O1xufTtcblxuZXhwb3J0IGVudW0gQXBwbGljYXRpb25TdGFnZSB7XG4gIEJlZm9yZVNlYXJjaCA9ICdCRUZPUkVfU0VBUkNIJyxcbiAgQWZ0ZXJTZWFyY2ggPSAnQUZURVJfU0VBUkNIJ1xufVxuXG5leHBvcnQgdHlwZSBBcHBseUppdFJ1bGVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FwcGx5SklUUnVsZXNSZXN1bHQnO1xuICByZXN1bHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXBwcm92ZWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwcm92ZWUnO1xuICBhcHByb3ZlZTogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmlvcml0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcHJvdmVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0FwcHJvdmVyJztcbiAgYXBwcm92ZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgYWN0aXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpb3JpdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBc3NvY2lhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdBc3NvY2lhdGlvbic7XG4gIGNhdGVnb3J5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1aWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5pZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkNSUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5UaXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdENSUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0VGlwbG9jPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnO1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8QmFnZ2FnZVR5cGU+O1xuICBxdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHdlaWdodFByb3ZpZGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4S0c/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBtYXhMQlM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQmFnZ2FnZVR5cGUge1xuICBDaGVja0luID0gJ0NoZWNrSW4nLFxuICBIYW5kQ2FycnkgPSAnSGFuZENhcnJ5J1xufVxuXG5leHBvcnQgdHlwZSBCYXNrZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFza2V0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgb3duZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgcmVmZXJlbmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90ZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBiYXNrZXRJdGVtczogQXJyYXk8RmllbGRXcmFwcGVyPEJhc2tldEl0ZW0+PjtcbiAgc3RhdHVzOiBGaWVsZFdyYXBwZXI8QmFza2V0U3RhdHVzPjtcbiAgY29tcGFueUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbXBhbnlHcm91cD4+O1xuICB2YWxpZGF0ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBib29rZWRBdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG59O1xuXG5leHBvcnQgdHlwZSBCYXNrZXRJdGVtID0ge1xuICBfX3R5cGVuYW1lPzogJ0Jhc2tldEl0ZW0nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhZHVsdHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGNoaWxkcmVuOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBkZXRhaWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBkZXRhaWxIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGV4cGlyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBleHBpcmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHVzZXJQYXNzZW5nZXJUeXBlczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXJQYXNzZW5nZXJUeXBlPj47XG4gIGxlYWRQYXNzZW5nZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIHNlYXJjaFF1ZXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaUdyb3Vwc0F2YWlsYWJsZTogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1pR3JvdXBTZWxlY3RlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYW5hZ2VtZW50SW5mbzogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIHZhbGlkYXRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGxhdGVzdFZhbGlkYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG5yTG9jYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nRGV0YWlsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtU3RhdHVzPjtcbiAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJJdGVtQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckl0ZW1QaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYW1lbmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGluYm91bmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgY29udmVydGVkQ3VycmVuY3lBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjb252ZXJ0ZWRDdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJhc2tldEl0ZW1TdGF0dXMge1xuICBPcGVuID0gJ09QRU4nLFxuICBCb29rZWQgPSAnQk9PS0VEJyxcbiAgQm9va2luZ0ZhaWxlZCA9ICdCT09LSU5HX0ZBSUxFRCdcbn1cblxuZXhwb3J0IGVudW0gQmFza2V0U3RhdHVzIHtcbiAgT3BlbiA9ICdPUEVOJyxcbiAgQm9va2VkID0gJ0JPT0tFRCcsXG4gIEF3YWl0aW5nQXBwcm92YWwgPSAnQVdBSVRJTkdfQVBQUk9WQUwnLFxuICBBcHByb3ZlZCA9ICdBUFBST1ZFRCcsXG4gIERpc2FwcHJvdmVkID0gJ0RJU0FQUFJPVkVEJyxcbiAgUGFydGlhbGx5Qm9va2VkID0gJ1BBUlRJQUxMWV9CT09LRUQnLFxuICBCb29raW5nRmFpbGVkID0gJ0JPT0tJTkdfRkFJTEVEJ1xufVxuXG5leHBvcnQgdHlwZSBCZWZvcmVDYW5jZWxsYXRpb25JbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0JlZm9yZUNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuY2VsbGF0aW9uRmVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJvb2tlZEJ5RmllbGQge1xuICBOYW1lID0gJ05BTUUnLFxuICBFbWFpbCA9ICdFTUFJTCdcbn1cblxuZXhwb3J0IGVudW0gQm9va2VyVHlwZSB7XG4gIFJvb3QgPSAnUk9PVCcsXG4gIFRtYyA9ICdUTUMnLFxuICBDb21wYW55ID0gJ0NPTVBBTlknLFxuICBPZmZpY2UgPSAnT0ZGSUNFJyxcbiAgQ29tcGFueUdyb3VwID0gJ0NPTVBBTllfR1JPVVAnLFxuICBTZWxmQm9vayA9ICdTRUxGX0JPT0snLFxuICBCb29rZXIgPSAnQk9PS0VSJyxcbiAgVHJhdmVsbGVyID0gJ1RSQVZFTExFUicsXG4gIEJvb2tlcldpdGhTZWxmID0gJ0JPT0tFUl9XSVRIX1NFTEYnXG59XG5cbmV4cG9ydCB0eXBlIEJvb2tpbmdBZGRyZXNzID0ge1xuICBudW1iZXJPck5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdHJlZXQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0b3duOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnR5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBCb29raW5nUGhvbmVOdW1iZXIgPSB7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYXJlYUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBleHRlbnNpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJztcbiAgYWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVMb2NhdGlvbklucHV0ID0ge1xuICBhZGRyZXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVRdW90ZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHN1cHBsaWVyTmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXN0aW1hdGVkQ08yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgdmVoaWNsZVR5cGU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlVmVoaWNsZVR5cGU+O1xuICB0cmlwRGlzdGFuY2VNZXRyZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJpcER1cmF0aW9uU2Vjb25kcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBkZXBhcnRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUxvY2F0aW9uOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPjtcbiAgdG9Mb2NhdGlvbjogRmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj47XG4gIHZpYXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYWJIaXJlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIENhYkhpcmVWZWhpY2xlVHlwZSB7XG4gIEFueSA9ICdBbnknLFxuICBEZGFDYXIgPSAnRERBQ2FyJyxcbiAgQ29hY2hMYXJnZSA9ICdDb2FjaExhcmdlJyxcbiAgQ29hY2hTbWFsbCA9ICdDb2FjaFNtYWxsJyxcbiAgRWNvbm9teSA9ICdFY29ub215JyxcbiAgRWNvbm9teUNvYWNoID0gJ0Vjb25vbXlDb2FjaCcsXG4gIEVjb25vbXlNcHZTbWFsbCA9ICdFY29ub215TVBWU21hbGwnLFxuICBFY29ub215TXB2TGFyZ2UgPSAnRWNvbm9teU1QVkxhcmdlJyxcbiAgRWNvbm9teVN1diA9ICdFY29ub215U1VWJyxcbiAgRXhlY3V0aXZlQ2FyID0gJ0V4ZWN1dGl2ZUNhcicsXG4gIEV4ZWN1dGl2ZVN1diA9ICdFeGVjdXRpdmVTVVYnLFxuICBHcmVlbkNhciA9ICdHcmVlbkNhcicsXG4gIEdyZWVuRXhlY3V0aXZlID0gJ0dyZWVuRXhlY3V0aXZlJyxcbiAgR3JlZW5TdXYgPSAnR3JlZW5TVVYnLFxuICBTbWFsbE1wdiA9ICdTbWFsbE1QVicsXG4gIE1lZGl1bU1wdiA9ICdNZWRpdW1NUFYnLFxuICBMYXJnZU1wdiA9ICdMYXJnZU1QVicsXG4gIFN0YW5kYXJkQ2FyID0gJ1N0YW5kYXJkQ2FyJyxcbiAgU3V2ID0gJ1NVVicsXG4gIEJsYWNrQ2FiID0gJ0JsYWNrQ2FiJyxcbiAgVGF4aVN1diA9ICdUYXhpU1VWJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRleHQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBqc29uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1c3RvbT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQ3VzdG9tPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3BMaW5lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVnaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBaXJwb3J0SW5wdXQgPSB7XG4gIHBpY2t1cENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUNoYXJnZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQ2hhcmdlJztcbiAgbGFiZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUNpdHlJbnB1dCA9IHtcbiAgcGlja3VwQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cENpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgZW51bSBDYXJIaXJlQ2xhc3Mge1xuICBNaW5pID0gJ01pbmknLFxuICBNaW5pRWxpdGUgPSAnTWluaUVsaXRlJyxcbiAgRWNvbm9teSA9ICdFY29ub215JyxcbiAgRWNvbm9teUVsaXRlID0gJ0Vjb25vbXlFbGl0ZScsXG4gIENvbXBhY3QgPSAnQ29tcGFjdCcsXG4gIENvbXBhY3RFbGl0ZSA9ICdDb21wYWN0RWxpdGUnLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgSW50ZXJtZWRpYXRlRWxpdGUgPSAnSW50ZXJtZWRpYXRlRWxpdGUnLFxuICBTdGFuZGFyZCA9ICdTdGFuZGFyZCcsXG4gIFN0YW5kYXJkRWxpdGUgPSAnU3RhbmRhcmRFbGl0ZScsXG4gIEZ1bGxzaXplID0gJ0Z1bGxzaXplJyxcbiAgRnVsbHNpemVFbGl0ZSA9ICdGdWxsc2l6ZUVsaXRlJyxcbiAgUHJlbWl1bSA9ICdQcmVtaXVtJyxcbiAgUHJlbWl1bUVsaXRlID0gJ1ByZW1pdW1FbGl0ZScsXG4gIEx1eHVyeSA9ICdMdXh1cnknLFxuICBMdXh1cnlFbGl0ZSA9ICdMdXh1cnlFbGl0ZScsXG4gIE92ZXJzaXplID0gJ092ZXJzaXplJyxcbiAgU3BlY2lhbCA9ICdTcGVjaWFsJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ3VzdG9tID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRleHQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURlcG90ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXBvdCc7XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGNpdHlOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGVwb3RSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90UmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVEZXBvdD4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUlkZW50aWZpZXJzPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVuZG9yPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZHJlc3M+PjtcbiAgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbT4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEaXNwbGF5UmVjb3JkID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEaXNwbGF5UmVjb3JkJztcbiAgc3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBpY2t1cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcm9wb2ZmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVuZG9yPj47XG4gIHZlaGljbGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlaGljbGU+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjaGFyZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVDaGFyZ2U+Pj4+O1xuICBwaWNrdXBMb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICByZXR1cm5Mb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnO1xuICBsb2NhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJwaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVoVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BPZmZMb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcm9wb2ZmRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyA9IHtcbiAgbG9jYXRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcnBoPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0dXM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlaFR5cGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkRhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlTG9jYXRpb25JbnB1dCA9IHtcbiAgcGlja3VwQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cFBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZlBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHk+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIENhckhpcmVUcmFuc21pc3Npb24ge1xuICBNYW51YWwgPSAnTWFudWFsJyxcbiAgQXV0byA9ICdBdXRvJ1xufVxuXG5leHBvcnQgZW51bSBDYXJIaXJlVHlwZSB7XG4gIFR3b1RvVGhyZWVEb29yID0gJ1R3b1RvVGhyZWVEb29yJyxcbiAgVHdvT3JGb3VyRG9vciA9ICdUd29PckZvdXJEb29yJyxcbiAgRm91clRvRml2ZURvb3IgPSAnRm91clRvRml2ZURvb3InLFxuICBXYWdvbk9yRXN0YXRlID0gJ1dhZ29uT3JFc3RhdGUnLFxuICBQYXNzZW5nZXJWYW4gPSAnUGFzc2VuZ2VyVmFuJyxcbiAgTGltb3VzaW5lID0gJ0xpbW91c2luZScsXG4gIFNwb3J0ID0gJ1Nwb3J0JyxcbiAgQ29udmVydGlibGUgPSAnQ29udmVydGlibGUnLFxuICBTdXYgPSAnU1VWJyxcbiAgT3BlbkFpckFsbFRlcnJhaW4gPSAnT3BlbkFpckFsbFRlcnJhaW4nLFxuICBTcGVjaWFsID0gJ1NwZWNpYWwnLFxuICBQaWNrVXBSZWd1bGFyQ2FiID0gJ1BpY2tVcFJlZ3VsYXJDYWInLFxuICBQaWNrVXBFeHRlbmRlZENhYiA9ICdQaWNrVXBFeHRlbmRlZENhYicsXG4gIFNwZWNpYWxPZmZlckNhciA9ICdTcGVjaWFsT2ZmZXJDYXInLFxuICBDb3VwZSA9ICdDb3VwZScsXG4gIE1vbm9zcGFjZUV1cm9wZWFuVXNlID0gJ01vbm9zcGFjZUV1cm9wZWFuVXNlJyxcbiAgTW90b3JIb21lID0gJ01vdG9ySG9tZScsXG4gIFR3b1doZWVsVmVoaWNsZSA9ICdUd29XaGVlbFZlaGljbGUnLFxuICBSb2Fkc3RlciA9ICdSb2Fkc3Rlcidcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlaGljbGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnO1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhaXJjb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGltYWdlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVJZGVudGlmaWVycz4+O1xuICBkaXNwbGF5UmVjb3JkPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVEaXNwbGF5UmVjb3JkPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZW5kb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FyYm9uQWxsb3dhbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHN0YXJ0T2ZQZXJpb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kT2ZQZXJpb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcmVtYWluaW5nQ28yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRvdGFsQ28yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNhcmJvblBvbGljeVNvdXJjZTogRmllbGRXcmFwcGVyPENhcmJvblBvbGljeVNvdXJjZT47XG4gIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FyYm9uQ29uc3VtcHRpb24+PjtcbiAgY29tcGFueT86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIG9mZmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FyYm9uQ29uc3VtcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBjb25zdW1lZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkYXRldGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FyYm9uUG9saWN5U291cmNlIHtcbiAgQ29tcGFueSA9ICdDT01QQU5ZJyxcbiAgT2ZmaWNlID0gJ09GRklDRScsXG4gIFVzZXIgPSAnVVNFUidcbn1cblxuZXhwb3J0IHR5cGUgQ2l0eSA9IHtcbiAgX190eXBlbmFtZT86ICdDaXR5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvb3JkaW5hdGVzOiBGaWVsZFdyYXBwZXI8R2VvQ29vcmRpbmF0ZXM+O1xuICBjb250aW5lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcGFueSA9IHtcbiAgX190eXBlbmFtZT86ICdDb21wYW55JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgb2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgcGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgdXNlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHN1cHBvcnRFbWFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY28yQ29uc3VtcHRpb25Qb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbXBhbnlHcm91cCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQnO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2l0eUxvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uJztcbiAgZm91bmRFeGFjdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHN1Z2dlc3Rpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucz4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zJztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUFkZHJlc3MnO1xuICBhZGRyZXNzTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0YWxDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY3NpbWlsZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGVQcm92aW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlSG90ZWxzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSG90ZWxzJztcbiAgaG90ZWxJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBob3RlbE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNQcmVmZXJyZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZUluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUFkZHJlc3M+PjtcbiAgY2xvc2VzdEFpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xvc2VzdFRyYWluU3RhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xvc2VzdEhvdGVscz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUhvdGVscz4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZU5hbWVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXMnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lcz4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VJbmZvPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb3VudHJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvdW50cnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaWFsQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQ3VycmVuY3lDb2RlIHtcbiAgQWVkID0gJ0FFRCcsXG4gIEFmbiA9ICdBRk4nLFxuICBBbGwgPSAnQUxMJyxcbiAgQW1kID0gJ0FNRCcsXG4gIEFuZyA9ICdBTkcnLFxuICBBb2EgPSAnQU9BJyxcbiAgQXJzID0gJ0FSUycsXG4gIEF1ZCA9ICdBVUQnLFxuICBBd2cgPSAnQVdHJyxcbiAgQXpuID0gJ0FaTicsXG4gIEJhbSA9ICdCQU0nLFxuICBCYmQgPSAnQkJEJyxcbiAgQmR0ID0gJ0JEVCcsXG4gIEJnbiA9ICdCR04nLFxuICBCaGQgPSAnQkhEJyxcbiAgQmlmID0gJ0JJRicsXG4gIEJtZCA9ICdCTUQnLFxuICBCbmQgPSAnQk5EJyxcbiAgQm9iID0gJ0JPQicsXG4gIEJvdiA9ICdCT1YnLFxuICBCcmwgPSAnQlJMJyxcbiAgQnNkID0gJ0JTRCcsXG4gIEJ0biA9ICdCVE4nLFxuICBCd3AgPSAnQldQJyxcbiAgQnluID0gJ0JZTicsXG4gIEJ6ZCA9ICdCWkQnLFxuICBDYWQgPSAnQ0FEJyxcbiAgQ2RmID0gJ0NERicsXG4gIENoZSA9ICdDSEUnLFxuICBDaGYgPSAnQ0hGJyxcbiAgQ2h3ID0gJ0NIVycsXG4gIENsZiA9ICdDTEYnLFxuICBDbHAgPSAnQ0xQJyxcbiAgQ255ID0gJ0NOWScsXG4gIENvcCA9ICdDT1AnLFxuICBDb3UgPSAnQ09VJyxcbiAgQ3JjID0gJ0NSQycsXG4gIEN1YyA9ICdDVUMnLFxuICBDdXAgPSAnQ1VQJyxcbiAgQ3ZlID0gJ0NWRScsXG4gIEN6ayA9ICdDWksnLFxuICBEamYgPSAnREpGJyxcbiAgRGtrID0gJ0RLSycsXG4gIERvcCA9ICdET1AnLFxuICBEemQgPSAnRFpEJyxcbiAgRWdwID0gJ0VHUCcsXG4gIEVybiA9ICdFUk4nLFxuICBFdGIgPSAnRVRCJyxcbiAgRXVyID0gJ0VVUicsXG4gIEZqZCA9ICdGSkQnLFxuICBGa3AgPSAnRktQJyxcbiAgR2JwID0gJ0dCUCcsXG4gIEdlbCA9ICdHRUwnLFxuICBHaHMgPSAnR0hTJyxcbiAgR2lwID0gJ0dJUCcsXG4gIEdtZCA9ICdHTUQnLFxuICBHbmYgPSAnR05GJyxcbiAgR3RxID0gJ0dUUScsXG4gIEd5ZCA9ICdHWUQnLFxuICBIa2QgPSAnSEtEJyxcbiAgSG5sID0gJ0hOTCcsXG4gIEhyayA9ICdIUksnLFxuICBIdGcgPSAnSFRHJyxcbiAgSHVmID0gJ0hVRicsXG4gIElkciA9ICdJRFInLFxuICBJbHMgPSAnSUxTJyxcbiAgSW5yID0gJ0lOUicsXG4gIElxZCA9ICdJUUQnLFxuICBJcnIgPSAnSVJSJyxcbiAgSXNrID0gJ0lTSycsXG4gIEptZCA9ICdKTUQnLFxuICBKb2QgPSAnSk9EJyxcbiAgSnB5ID0gJ0pQWScsXG4gIEtlcyA9ICdLRVMnLFxuICBLZ3MgPSAnS0dTJyxcbiAgS2hyID0gJ0tIUicsXG4gIEttZiA9ICdLTUYnLFxuICBLcHcgPSAnS1BXJyxcbiAgS3J3ID0gJ0tSVycsXG4gIEt3ZCA9ICdLV0QnLFxuICBLeWQgPSAnS1lEJyxcbiAgS3p0ID0gJ0taVCcsXG4gIExhayA9ICdMQUsnLFxuICBMYnAgPSAnTEJQJyxcbiAgTGtyID0gJ0xLUicsXG4gIExyZCA9ICdMUkQnLFxuICBMc2wgPSAnTFNMJyxcbiAgTHlkID0gJ0xZRCcsXG4gIE1hZCA9ICdNQUQnLFxuICBNZGwgPSAnTURMJyxcbiAgTWdhID0gJ01HQScsXG4gIE1rZCA9ICdNS0QnLFxuICBNbWsgPSAnTU1LJyxcbiAgTW50ID0gJ01OVCcsXG4gIE1vcCA9ICdNT1AnLFxuICBNcnUgPSAnTVJVJyxcbiAgTXVyID0gJ01VUicsXG4gIE12ciA9ICdNVlInLFxuICBNd2sgPSAnTVdLJyxcbiAgTXhuID0gJ01YTicsXG4gIE14diA9ICdNWFYnLFxuICBNeXIgPSAnTVlSJyxcbiAgTXpuID0gJ01aTicsXG4gIE5hZCA9ICdOQUQnLFxuICBOZ24gPSAnTkdOJyxcbiAgTmlvID0gJ05JTycsXG4gIE5vayA9ICdOT0snLFxuICBOcHIgPSAnTlBSJyxcbiAgTnpkID0gJ05aRCcsXG4gIE9tciA9ICdPTVInLFxuICBQYWIgPSAnUEFCJyxcbiAgUGVuID0gJ1BFTicsXG4gIFBnayA9ICdQR0snLFxuICBQaHAgPSAnUEhQJyxcbiAgUGtyID0gJ1BLUicsXG4gIFBsbiA9ICdQTE4nLFxuICBQeWcgPSAnUFlHJyxcbiAgUWFyID0gJ1FBUicsXG4gIFJvbiA9ICdST04nLFxuICBSc2QgPSAnUlNEJyxcbiAgUnViID0gJ1JVQicsXG4gIFJ3ZiA9ICdSV0YnLFxuICBTYXIgPSAnU0FSJyxcbiAgU2JkID0gJ1NCRCcsXG4gIFNjciA9ICdTQ1InLFxuICBTZGcgPSAnU0RHJyxcbiAgU2VrID0gJ1NFSycsXG4gIFNnZCA9ICdTR0QnLFxuICBTaHAgPSAnU0hQJyxcbiAgU2xsID0gJ1NMTCcsXG4gIFNvcyA9ICdTT1MnLFxuICBTcmQgPSAnU1JEJyxcbiAgU3NwID0gJ1NTUCcsXG4gIFN0biA9ICdTVE4nLFxuICBTdmMgPSAnU1ZDJyxcbiAgU3lwID0gJ1NZUCcsXG4gIFN6bCA9ICdTWkwnLFxuICBUaGIgPSAnVEhCJyxcbiAgVGpzID0gJ1RKUycsXG4gIFRtdCA9ICdUTVQnLFxuICBUbmQgPSAnVE5EJyxcbiAgVG9wID0gJ1RPUCcsXG4gIFRyeSA9ICdUUlknLFxuICBUdGQgPSAnVFREJyxcbiAgVHdkID0gJ1RXRCcsXG4gIFR6cyA9ICdUWlMnLFxuICBVYWggPSAnVUFIJyxcbiAgVWd4ID0gJ1VHWCcsXG4gIFVzZCA9ICdVU0QnLFxuICBVc24gPSAnVVNOJyxcbiAgVXlpID0gJ1VZSScsXG4gIFV5dSA9ICdVWVUnLFxuICBVenMgPSAnVVpTJyxcbiAgVmVmID0gJ1ZFRicsXG4gIFZuZCA9ICdWTkQnLFxuICBWdXYgPSAnVlVWJyxcbiAgV3N0ID0gJ1dTVCcsXG4gIFhhZiA9ICdYQUYnLFxuICBYYWcgPSAnWEFHJyxcbiAgWGF1ID0gJ1hBVScsXG4gIFhiYSA9ICdYQkEnLFxuICBYYmIgPSAnWEJCJyxcbiAgWGJjID0gJ1hCQycsXG4gIFhiZCA9ICdYQkQnLFxuICBYY2QgPSAnWENEJyxcbiAgWGRyID0gJ1hEUicsXG4gIFhvZiA9ICdYT0YnLFxuICBYcGQgPSAnWFBEJyxcbiAgWHBmID0gJ1hQRicsXG4gIFhwdCA9ICdYUFQnLFxuICBYc3UgPSAnWFNVJyxcbiAgWHRzID0gJ1hUUycsXG4gIFh1YSA9ICdYVUEnLFxuICBYeHggPSAnWFhYJyxcbiAgWWVyID0gJ1lFUicsXG4gIFphciA9ICdaQVInLFxuICBabXcgPSAnWk1XJyxcbiAgWndsID0gJ1pXTCdcbn1cblxuXG5cbmV4cG9ydCB0eXBlIERlcGFydHVyZUJvYXJkU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdEZXBhcnR1cmVCb2FyZFNlcnZpY2UnO1xuICByaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdWlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWluaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2RkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXRkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlU291cmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBsYXRmb3JtPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBsYXRmb3JtSXNIaWRkZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb24+PjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb24+PjtcbiAgc3Vic2VxdWVudExvY2F0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTdWJzZXF1ZW50TG9jYXRpb25zPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIERlc3RpbmF0aW9uRW50cnkgPSB7XG4gIG9yaWc6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXN0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZTogU2NhbGFyc1snRGF0ZSddO1xufTtcblxuZXhwb3J0IGVudW0gRGlzdGFuY2VUeXBlcyB7XG4gIEsgPSAnSycsXG4gIE0gPSAnTSdcbn1cblxuZXhwb3J0IGVudW0gRG9jR2VuZGVyIHtcbiAgTSA9ICdNJyxcbiAgRiA9ICdGJ1xufVxuXG5leHBvcnQgZW51bSBEb2NUeXBlIHtcbiAgUGFzc3BvcnQgPSAnUEFTU1BPUlQnLFxuICBWaXNhID0gJ1ZJU0EnLFxuICBJZENhcmQgPSAnSURfQ0FSRCdcbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRG9jdW1lbnQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGRvY1R5cGU6IEZpZWxkV3JhcHBlcjxEb2NUeXBlPjtcbiAgbmF0aW9uYWxpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2VuZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPERvY0dlbmRlcj4+O1xuICBudW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29kZU9mSXNzdWluZ1N0YXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGVPZklzc3VlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZkV4cGlyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBwcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgdHlwZSBEb2N1bWVudElucHV0ID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBkb2NUeXBlOiBEb2NUeXBlO1xuICBuYXRpb25hbGl0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ2VuZGVyPzogTWF5YmU8RG9jR2VuZGVyPjtcbiAgbnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZU9mSXNzdWluZ1N0YXRlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlT2ZJc3N1ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGF0ZU9mRXhwaXJ5OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBwcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZlRmxpZ2h0U2VhcmNoUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnO1xuICBqb3VybmV5czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtdWx0aTogQXJyYXk8RmllbGRXcmFwcGVyPEl0aW5lcmFyeVN1bW1hcnk+PjtcbiAgZ3JvdXBlZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxHcm91cEZsaWdodHM+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9uRW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPEZhcmVSdWxlVHlwZT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcmVtYXJrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoYW5nZUZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbEZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlZnVuZGFibGVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG59O1xuXG5leHBvcnQgZW51bSBGYXJlUnVsZVR5cGUge1xuICBDYW5jZWxsYXRpb24gPSAnQ2FuY2VsbGF0aW9uJyxcbiAgQ2hhbmdlID0gJ0NoYW5nZScsXG4gIE5vU2hvdyA9ICdOb1Nob3cnLFxuICBVcGdyYWRlID0gJ1VwZ3JhZGUnLFxuICBPdGhlciA9ICdPdGhlcidcbn1cblxuZXhwb3J0IGVudW0gRmFyZVR5cGUge1xuICBGbGV4aWJsZSA9ICdGbGV4aWJsZScsXG4gIExvd2VzdCA9ICdMb3dlc3QnLFxuICBOZWdvdGlhdGVkID0gJ05lZ290aWF0ZWQnLFxuICBOb25OZWdvdGlhdGVkID0gJ05vbk5lZ290aWF0ZWQnLFxuICBMZWlzdXJlID0gJ0xlaXN1cmUnLFxuICBSZXF1ZXN0RmFyZVJ1bGVzID0gJ1JlcXVlc3RGYXJlUnVsZXMnLFxuICBTZWxlY3RBbmRQcm8gPSAnU2VsZWN0QW5kUHJvJ1xufVxuXG5leHBvcnQgdHlwZSBGYXN0VHJhY2tRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWZ1bmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW1hZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbXBvcnRhbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhc3RUcmFja1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmFzdFRyYWNrUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEFtb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnO1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gRmxpZ2h0Q2FiaW5DbGFzcyB7XG4gIEFueSA9ICdBbnknLFxuICBMaXRlRWNvbm9teSA9ICdMaXRlRWNvbm9teScsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlSZXN0cmljdGVkID0gJ0Vjb25vbXlSZXN0cmljdGVkJyxcbiAgRWNvbm9teU5vQmFncyA9ICdFY29ub215Tm9CYWdzJyxcbiAgRWNvbm9teUZsZXhpID0gJ0Vjb25vbXlGbGV4aScsXG4gIFByZW1pdW1FY29ub215ID0gJ1ByZW1pdW1FY29ub215JyxcbiAgQnVzaW5lc3MgPSAnQnVzaW5lc3MnLFxuICBQcmVtaXVtQnVzaW5lc3MgPSAnUHJlbWl1bUJ1c2luZXNzJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBQcmVtaXVtRmlyc3QgPSAnUHJlbWl1bUZpcnN0J1xufVxuXG5leHBvcnQgdHlwZSBGbGlnaHRDYXJib25FbWlzc2lvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJztcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdW5pdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodENhcnJpZXJEZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxpYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FsbHNpZ24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlJztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVRvdGFsID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCc7XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGRpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0SXRpbmVyYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeSc7XG4gIHVpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgYmFzZUZhcmVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBwYXNzZW5nZXJDb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZmFyZVBDQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRib3VuZEZsaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRKb3VybmV5Pj47XG4gIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEpvdXJuZXk+Pj4+O1xuICBvdXRib3VuZFRvdGFsRHVyYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICBpbmJvdW5kVG90YWxEdXJhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRBbW91bnQ+Pj4+O1xuICBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0QW1vdW50Pj4+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlVG90YWw+O1xuICBmYXJlQ29uZGl0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9ucz4+O1xuICBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEJhZ2dhZ2VBbGxvd2FuY2U+Pj4+O1xuICBkaXNjbG9zdXJlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGFkZGl0aW9uYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0Sm91cm5leSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvPj47XG4gIG9yaWdpbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiBGaWVsZFdyYXBwZXI8QWlycG9ydERldGFpbD47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZURlcGFydGluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFya2V0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJyaWVyRGV0YWlsPjtcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjYWJpbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FiaW5DbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWJpblJhdz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGZhcmVDb25kaXRpb25zOiBGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0b3BzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdvdmVybmluZ0NhcnJpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFycmlhZ2VHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0TWVhbE9wdGlvblJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRNZWFsT3B0aW9uUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2U+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodE1lYWxPcHRpb25zJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0TWVhbE9wdGlvbnNSZXNwb25zZSc7XG4gIG9wdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRNZWFsT3B0aW9ucz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0ID0ge1xuICB0eXBlOiBGbGlnaHRQYXNzZW5nZXJUeXBlO1xuICBmaXJzdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pZGRsZU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG59O1xuXG5leHBvcnQgZW51bSBGbGlnaHRQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIEZsaWdodFJldmFsaWRhdGVSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRSZXZhbGlkYXRlUmVzcG9uc2UnO1xuICB2YWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoUmVzdWx0Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG4gIHJ1bGVBY3Rpb25TdW1tYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0VjIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8RmVGbGlnaHRTZWFyY2hSZXN1bHRzPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+PjtcbiAgcnVsZUFjdGlvblN1bW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwQWlyY3JhZnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JztcbiAgY2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFJlc3BvbnNlJztcbiAgYWlyY3JhZnQ6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwQWlyY3JhZnQ+O1xuICBzZWF0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBTZWF0cz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcyc7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cyc7XG4gIHJvdzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29sdW1uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdHRyaWJ1dGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNwZWNpYWxGYXJlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nO1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEdlb0Nvb3JkaW5hdGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJztcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBHcm91cEZsaWdodHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJztcbiAgcmVmZXJlbmNlSUQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGZsaWdodElEOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib3VuZEluZGljYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZmxpZ2h0czogRmllbGRXcmFwcGVyPE1hdGNoaW5nRmxpZ2h0cz47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJztcbiAgYWRkcmVzc0xpbmUxPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNzaW1pbGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQXZhaWxhYmlsaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JztcbiAgaG90ZWxJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsUm9vbT4+Pj47XG4gIHBycG4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNCdXN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ2FyZCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ29udmVyc2lvbiA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENvbnZlcnNpb24nO1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvY2FsQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYWxUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjb252ZXJ0ZWRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb252ZXJ0ZWRUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxEZXBvc2l0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCc7XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBwb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxJdGluZXJhcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbjogRmllbGRXcmFwcGVyPEhvdGVsTG9jYXRpb24+O1xuICBhZGRyZXNzOiBGaWVsZFdyYXBwZXI8SG90ZWxBZGRyZXNzPjtcbiAgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRyYW5zcG9ydD4+Pj47XG4gIHByZWZlcnJlZDogRmllbGRXcmFwcGVyPEhvdGVsUHJlZmVycmVkPjtcbiAgdGFncz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRhZz4+Pj47XG4gIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj47XG4gIHN0YXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbic7XG4gIGRpc3RhbmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRpc3RhbmNlVHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbE5pZ2h0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnO1xuICBuaWdodDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBpbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQYXltZW50VHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJztcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQb2xpY3kgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwb3NpdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXNhYmxlZEFjY2Vzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZ2VuZXJhbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBndWFyYW50ZWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmdW5kQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQcmVmZXJyZWQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnO1xuICBjbGllbnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb25zdW1lcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFJvb20gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJztcbiAgcm9vbUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByb29tVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb29tRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYXRlRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3lDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxDb252ZXJzaW9uPj47XG4gIGRlcG9zaXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxEZXBvc2l0Pj47XG4gIG5pZ2h0czogQXJyYXk8RmllbGRXcmFwcGVyPEhvdGVsTmlnaHQ+PjtcbiAgcG9saWNpZXM6IEZpZWxkV3JhcHBlcjxIb3RlbFBvbGljeT47XG4gIHRheDogRmllbGRXcmFwcGVyPEhvdGVsVGF4PjtcbiAgYWNjZXB0ZWRDYXJkcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbENhcmQ+Pj4+O1xuICBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxQYXltZW50VHlwZT4+Pj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEl0aW5lcmFyeT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRhZyA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRhZyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVGF4ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVGF4JztcbiAgaW5jbHVkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRyYW5zcG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxDbGFzcyB7XG4gIEFsbCA9ICdBbGwnLFxuICBGaXJzdCA9ICdGaXJzdCcsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJ1xufVxuXG5leHBvcnQgdHlwZSBJcmxEeW5hbWljQ29uZGl0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTER5bmFtaWNDb25kaXRpb24nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycyc7XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaWduYXR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ1JlZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXI+Pj47XG4gIGZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxQcm92aWRlcj4+PjtcbiAgdW5zZWxsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsUGx1c0J1cz4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9uPj4+O1xuICByZXR1cm4/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbj4+PjtcbiAganJmcmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxKb3VybmV5VHlwZSB7XG4gIFJldHVybkpvdXJuZXkgPSAnUmV0dXJuSm91cm5leScsXG4gIFNpbmdsZUpvdXJuZXkgPSAnU2luZ2xlSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgSXJsUGx1c0J1cyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJztcbiAgb3JpZ2luUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJztcbiAgcHJvdmlkZXJJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoZWFwZXN0VGlja2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+O1xuICB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRPcHRpb24+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbnM+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhdCc7XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvYWNoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zaXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0U2VsZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBub3RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhdFByZWZlcmVuY2VUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWdtZW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VhdFByZWZlcmVuY2VUeXBlPj4+O1xuICBzZWF0UHJlZmVyZW5jZUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlYXQ+Pj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxTdXBwbGllciB7XG4gIFJlbmZlID0gJ1JlbmZlJyxcbiAgQmVOZSA9ICdCZU5lJyxcbiAgTnR2ID0gJ050didcbn1cblxuZXhwb3J0IHR5cGUgSXJsU3VwcGxpZXJTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0aW9uQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmxjQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICB0cmFpbmxpbmVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWlubGluZVVuaXF1ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uRGV0YWlsPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUZXh0VmFsdWVQYWlyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCc7XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldEV4dHJhID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0RXh0cmFJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJztcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBqb3VybmV5SWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNPcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVSdWxlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUcmF2ZWxDYXJkID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV0Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWNvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVHJhdmVsbGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcic7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXJTdGF0dXM+PjtcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICByYWlsY2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnaXZlbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VybmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lVGl0bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29udGFjdEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVsaXZlcnlFbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsVHJhdmVsbGVyU3RhdHVzIHtcbiAgUGxhY2Vob2xkZXIgPSAncGxhY2Vob2xkZXInLFxuICBDb21wbGV0ZSA9ICdjb21wbGV0ZSdcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRDYXJIaXJlRGVwb3QgPSB7XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwRXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZFeHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElucHV0RmxpZ2h0Sm91cm5leSA9IHtcbiAgaWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBmYXJlSW5mbz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIG9yaWdpbkFpcnBvcnQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcmlnaW5UZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3JpZ2luQWlycG9ydE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkYXRlVGltZURlcGFydGluZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZVRpbWVBcnJpdmluZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lQXJyaXZpbmdVVEM6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBtYXJrZXRpbmdDYXJyaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcGVyYXRpbmdDYXJyaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBvcGVyYXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBlcXVpcG1lbnRDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXF1aXBtZW50TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRvdGFsRHVyYXRpb246IFNjYWxhcnNbJ0ludCddO1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY2FiaW5Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpbkNsYXNzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpblJhdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nTmFtZXM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgZmFyZUNvbmRpdGlvbnM6IFNjYWxhcnNbJ0pTT04nXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RvcHM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBnb3Zlcm5pbmdDYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJyaWFnZUdyb3VwPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWRkaXRpb25hbD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBJdGluZXJhcnlTdW1tYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknO1xuICBvcmRlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3JpZ2luOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtaW5QcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBtYXhQcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBMYW5ndWFnZSA9IHtcbiAgX190eXBlbmFtZT86ICdMYW5ndWFnZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlzb0NvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBMaXZlRGVwQm9hcmRSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JztcbiAgc2VydmljZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RGVwYXJ0dXJlQm9hcmRTZXJ2aWNlPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJztcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJztcbiAgY29udGluZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb29yZGluYXRlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxHZW9Db29yZGluYXRlcz4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyaWRSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbm9ydGhpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZWFzdGluZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gTG9nTGV2ZWxUeXBlIHtcbiAgRXJyb3IgPSAnRVJST1InLFxuICBXYXJuID0gJ1dBUk4nLFxuICBJbmZvID0gJ0lORk8nLFxuICBIdHRwID0gJ0hUVFAnLFxuICBWZXJib3NlID0gJ1ZFUkJPU0UnLFxuICBEZWJ1ZyA9ICdERUJVRycsXG4gIFNpbGx5ID0gJ1NJTExZJ1xufVxuXG5leHBvcnQgdHlwZSBMb3VuZ2VMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VMb2NhdGlvbic7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZUltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZ1cnRoZXJJbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBhZHVsdEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjaGlsZEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmZhbnRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGFuZHNpZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhaXJzaWRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG9wZW5UaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3NlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aWZpPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0dj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc25hY2tzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW50ZXJuZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNoaWxkcmVuQWxsb3dlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZURyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZUZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNtb2tpbmdQZXJtaXR0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1hZ2F6aW5lcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW5jbHVkZWREcmlua3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBtZW51Rm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtZW51RHJpbmtzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1lbnVFeHRyYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZERyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRXh0cmFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWRGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyb3VwSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVja0luSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcmVzc0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllc0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZm9vZEFuZEJldmVyYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbmNlbGxhdGlvbkluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1lbmRtZW50c0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvdW5nZVF1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBsb3VuZ2U6IEZpZWxkV3JhcHBlcjxMb3VuZ2VMb2NhdGlvbj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8TG91bmdlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGJJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaGFuZG9mZjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWVNYXNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgdWlQcmVzZW50YXRpb246IEZpZWxkV3JhcHBlcjxVaVByZXNlbnRhdGlvbj47XG4gIG1hbmRhdG9yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckJvb2tpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBlbmZvcmNlVXNlckRlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tlZEJ5RmllbGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8Qm9va2VkQnlGaWVsZD4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGZpeGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGRlZmF1bHRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZ3JvdXA/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBzZWxlY3RlZFZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm9WYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbGFiZWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWZhdWx0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTWF0Y2hpbmdGbGlnaHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cyc7XG4gIExpdGVFY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teVJlc3RyaWN0ZWQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBFY29ub215Tm9CYWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teUZsZXhpPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1FY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBGaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1GaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBNZXNzYWdlID0ge1xuICBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25maWc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICB0YXJnZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGtleTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlzcGxheVRhcmdldDogRmllbGRXcmFwcGVyPE1lc3NhZ2VUYXJnZXQ+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjbGlja1RvQ29uZmlybTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHZhbGlkRnJvbT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHZhbGlkVG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gTWVzc2FnZVRhcmdldCB7XG4gIExvZ2luID0gJ0xPR0lOJyxcbiAgU2VhcmNoRm9ybSA9ICdTRUFSQ0hfRk9STScsXG4gIFJlc3VsdHMgPSAnUkVTVUxUUycsXG4gIE1pRm9ybSA9ICdNSV9GT1JNJyxcbiAgQmFza2V0QmVmb3JlQ29uZmlybSA9ICdCQVNLRVRfQkVGT1JFX0NPTkZJUk0nLFxuICBEYXNoYm9hcmQgPSAnREFTSEJPQVJEJ1xufVxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdNdXRhdGlvbic7XG4gIHNhdmVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBkZWxldGVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEFkZHJlc3NBc1VzZXJQcmltYXJ5OiBGaWVsZFdyYXBwZXI8QWRkcmVzcz47XG4gIHNlbmRCYXNrZXRGb3JBcHByb3ZhbDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNyZWF0ZUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGRlbGV0ZUJhc2tldDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVwZGF0ZUJhc2tldFRpdGxlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgdXBkYXRlQmFza2V0Tm90ZXM6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhZGRJdGVtVG9CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlbW92ZUl0ZW1zRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVVc2VyRnJvbUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW9wZW5CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcjogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGJvb2tCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjYW5jZWxCb29raW5nOiBGaWVsZFdyYXBwZXI8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvPjtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXA6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRNSURlZmF1bHRWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEJhc2tldEl0ZW1NSVZhbHVlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgY29uZmlybU1lc3NhZ2VzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Q6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZXZhbGlkYXRlQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmV2YWxpZGF0ZUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhY2NlcHROZXdQcmljZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNhdmVGYXZvdXJpdGVTZWFyY2g6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgc2F2ZVJlY2VudFNlYXJjaDogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBkZWxldGVGYXZvdXJpdGVTZWFyY2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBkZWxldGVSZWNlbnRTZWFyY2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlZGl0VXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBzZXRVc2VyTGFuZ3VhZ2U6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlVXNlckFkZHJlc3NBcmdzID0ge1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlck9yTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3duPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVVzZXJBZGRyZXNzQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QWRkcmVzc0FzVXNlclByaW1hcnlBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZW5kQmFza2V0Rm9yQXBwcm92YWxBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0OiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVCYXNrZXRBcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0VGl0bGVBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuZXdUaXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0Tm90ZXNBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3RlczogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkSXRlbVRvQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlSXRlbUZyb21CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVJdGVtc0Zyb21CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGJhc2tldEl0ZW1zOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBuZXdCYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkVXNlcnNUb0Jhc2tldEl0ZW1BcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcnM6IEFycmF5PFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVVzZXJGcm9tQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlb3BlbkJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Cb29rQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBzdXBwbGVtZW50YXJ5SW5mbzogQXJyYXk8U3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25DYW5jZWxCb29raW5nQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlHcm91cEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBncm91cD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRNaURlZmF1bHRWYWx1ZUFyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICB2YWx1ZTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlWYWx1ZUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNvbmZpcm1NZXNzYWdlc0FyZ3MgPSB7XG4gIG1lc3NhZ2VzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXZhbGlkYXRlQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJldmFsaWRhdGVCYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFjY2VwdE5ld1ByaWNlQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZVJlY2VudFNlYXJjaEFyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVSZWNlbnRTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25FZGl0VXNlckFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHVzZXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdXRoTWV0aG9kcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGJvb2tlclR5cGU/OiBNYXliZTxCb29rZXJUeXBlPjtcbiAgdG1jQWRtaW4/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWM/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgb2ZmaWNlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNhbkNyZWF0ZUFkbWluQXRPd25MZXZlbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGxvZ0xldmVsPzogTWF5YmU8TG9nTGV2ZWxUeXBlPjtcbiAgbGl2ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbmZlcm1hSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIGFkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueUFkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2VsZWN0ZWRMYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdEVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXBwbGllclJlbGF0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBob25lTnVtYmVycz86IE1heWJlPEFycmF5PFBob25lTnVtYmVySW5wdXQ+PjtcbiAgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8QWRkcmVzc0lucHV0Pj47XG4gIHVzZXJNaURlZmF1bHRWYWx1ZXM/OiBNYXliZTxBcnJheTxVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQ+PjtcbiAgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8RG9jdW1lbnRJbnB1dD4+O1xuICBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTxVc2VyTG95YWx0eUNvZGVJbnB1dD4+O1xuICBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PFVzZXJQcmVmZXJlbmNlSW5wdXQ+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVc2VyTGFuZ3VhZ2VBcmdzID0ge1xuICBsYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgT2ZmaWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ09mZmljZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBhZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nTG9jYXRpb24nO1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2VUb0FpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBvbkFpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0ZWxlcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmF4PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbFByb2NlZHVyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVQcm9jZWR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWF4aW11bUNhclNpemU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW50cm9kdWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluZm9ybWF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVySW5mb3JtYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJPcGVyYXRpbmdUaW1lcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2ZlclRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlZmF1bHRJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBicmFuZEltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZUltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZ1cnRoZXJJbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGFya2luZ1F1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGNhclBhcms6IEZpZWxkV3JhcHBlcjxQYXJraW5nTG9jYXRpb24+O1xuICByZXF1aXJlZEluZm86IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIG1pc2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ1NlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXJraW5nUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFBhc3NlbmdlclR5cGUge1xuICBBZHVsdCA9ICdBRFVMVCcsXG4gIENoaWxkID0gJ0NISUxEJyxcbiAgSW5mYW50ID0gJ0lORkFOVCdcbn1cblxuZXhwb3J0IHR5cGUgUGF5bWVudENvbmZpZyA9IHtcbiAgY3NwVXJsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZ2VudElkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib29rZXJJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXBpS2V5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc2VydmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb25zdW1lcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xpZW50SWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFjY291bnRUeXBlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY2NvdW50VmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuVXJsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlbklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb25zdW1lcklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblVzZXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblBhc3N3b3JkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZCA9IHtcbiAgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RJbnB1dCA9IHtcbiAgY29uZmlnPzogTWF5YmU8UGF5bWVudENvbmZpZz47XG59O1xuXG5leHBvcnQgdHlwZSBQaG9uZU51bWJlciA9IHtcbiAgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFyZWFDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbnNpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZVR5cGU+PjtcbiAgb2ZmaWNlUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQaG9uZU51bWJlcklucHV0ID0ge1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFyZWFDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBudW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBleHRlbnNpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHR5cGU/OiBNYXliZTxQaG9uZVR5cGU+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgZW51bSBQaG9uZVR5cGUge1xuICBNb2JpbGUgPSAnTU9CSUxFJyxcbiAgTGFuZGxpbmUgPSAnTEFORExJTkUnLFxuICBGYXggPSAnRkFYJyxcbiAgT3RoZXIgPSAnT1RIRVInXG59XG5cbmV4cG9ydCB0eXBlIFBvc3Rjb2RlRGV0YWlscyA9IHtcbiAgX190eXBlbmFtZT86ICdQb3N0Y29kZURldGFpbHMnO1xuICBwb3N0Y29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBlYXN0aW5ncz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBub3J0aGluZ3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldXJvcGVhbkVsZWN0b3JhbFJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmltYXJ5Q2FyZVRydXN0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsc29hPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1zb2E/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG91dGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGFybGlhbWVudGFyeUNvbnN0aXR1ZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbkRpc3RyaWN0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBhcmlzaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbkNvdW50eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbldhcmQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2VkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNjZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudXRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBQcmVmZXJlbmNlS2V5IHtcbiAgTWVhbFJlcXVlc3QgPSAnTUVBTF9SRVFVRVNUJyxcbiAgU2VhdGluZ1ByZWZlcmVuY2UgPSAnU0VBVElOR19QUkVGRVJFTkNFJyxcbiAgU3BlYWNpYWxOZWVkID0gJ1NQRUFDSUFMX05FRUQnLFxuICBTZWF0TG9jYXRpb24gPSAnU0VBVF9MT0NBVElPTicsXG4gIFNlYXRQb3NpdGlvbiA9ICdTRUFUX1BPU0lUSU9OJyxcbiAgU2VhdERpcmVjdGlvbiA9ICdTRUFUX0RJUkVDVElPTidcbn1cblxuZXhwb3J0IHR5cGUgUXVlcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUXVlcnknO1xuICBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBzZWFyY2hBaXJsaW5lczogRmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHRzPjtcbiAgc2VhcmNoQWlycG9ydHM6IEZpZWxkV3JhcHBlcjxBaXJwb3J0UmVzdWx0cz47XG4gIGdldFVzZXJCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBnZXRVc2VyQmFza2V0czogQXJyYXk8RmllbGRXcmFwcGVyPEJhc2tldD4+O1xuICBlbWFpbEJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNlYXJjaENhYkhpcmU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlUmVzdWx0PjtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIGdldENhbmNlbGxhdGlvbkluZm86IEZpZWxkV3JhcHBlcjxCZWZvcmVDYW5jZWxsYXRpb25JbmZvPjtcbiAgc2VhcmNoQ2FySGlyZTogRmllbGRXcmFwcGVyPENhckhpcmVSZXN1bHQ+O1xuICBnZXRDYXJIaXJlRGVwb3RzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZURlcG90Pj47XG4gIGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0OiBGaWVsZFdyYXBwZXI8Q2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZT47XG4gIGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPENhcmJvbkFsbG93YW5jZT4+O1xuICBzZWFyY2hDaXRpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDaXR5Pj47XG4gIGdldENvbXBhbmllczogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgZ2V0Q29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgY29uZmVybWFCbG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgc2VhcmNoQ29uZmVybWFDaXRpZXM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbj47XG4gIGdldENvbmZlcm1hT2ZmaWNlOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VSZXN1bHQ+O1xuICBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdD47XG4gIGdldENvbmZlcm1hUXVpY2tsaXN0OiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRDb25mZXJtYVJvb21JbWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZXRDb3VudHJpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb3VudHJ5Pj47XG4gIGdldENPVklETWljcm9zaXRlVG9rZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaEZhc3RUcmFjazogRmllbGRXcmFwcGVyPEZhc3RUcmFja1Jlc3VsdD47XG4gIGFwcGx5SklURmxpZ2h0UnVsZXM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBzZWFyY2hGbGlnaHRzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0PjtcbiAgc2VhcmNoRmxpZ2h0c1YyOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0VjI+O1xuICBzZWFyY2hFdXJvc3RhcjogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdFYyPjtcbiAgZ2V0RmxpZ2h0RmFyZVJ1bGVzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0RmFyZVJ1bGVzUmVzdWx0PjtcbiAgZ2V0RmxpZ2h0TWVhbE9wdGlvbnM6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXN1bHQ+O1xuICBhbGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxDaGFpbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hIb3RlbHM6IEZpZWxkV3JhcHBlcjxIb3RlbFNlYXJjaFJlc3VsdD47XG4gIGdldEhvdGVsQXZhaWxhYmlsaXR5OiBGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQ+O1xuICBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQ+O1xuICBnZXRJUkxEaXNjb3VudENhcmRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsVHJhdmVsQ2FyZD4+O1xuICBnZXRJUkxTdXBwbGllclN0YXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTdXBwbGllclN0YXRpb24+PjtcbiAgc2VhcmNoSVJMOiBGaWVsZFdyYXBwZXI8SXJsU2VhcmNoUmVzdWx0PjtcbiAgZ2V0UmFpbExpdmVEZXBhcnR1cmVzOiBGaWVsZFdyYXBwZXI8TGl2ZURlcEJvYXJkUmVzdWx0PjtcbiAgc2VhcmNoTG91bmdlczogRmllbGRXcmFwcGVyPExvdW5nZVNlYXJjaFJlc3VsdD47XG4gIGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHZhbGlkYXRlQmFza2V0SXRlbU1JOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ2V0VXNlck1lc3NhZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8TWVzc2FnZT4+O1xuICBnZXRVc2VyQ29tcGFueU9mZmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgc2VhcmNoUGFya2luZzogRmllbGRXcmFwcGVyPFBhcmtpbmdTZWFyY2hSZXN1bHQ+O1xuICBnZXRCYXNrZXRJdGVtUGF5bWVudFN1cHBsbWVudGFyeUluZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBnZXRVc2VyUGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgZ2V0UG9zdGNvZGVEZXRhaWxzOiBGaWVsZFdyYXBwZXI8UG9zdGNvZGVEZXRhaWxzPjtcbiAgcG9zdGNvZGVBdXRvU3VnZ2VzdDogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaFBvc3Rjb2RlczogQXJyYXk8RmllbGRXcmFwcGVyPFBvc3Rjb2RlRGV0YWlscz4+O1xuICBpc1Bvc3Rjb2RlVmFsaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRSYWlsU3RhdGlvbjogRmllbGRXcmFwcGVyPFJhaWxTdGF0aW9uPjtcbiAgc2VhcmNoUmFpbFN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb24+PjtcbiAgc2VhcmNoUmFpbDogRmllbGRXcmFwcGVyPFJhaWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRSYWlsY2FyZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcj4+O1xuICBnZXRSaXNrQWxlcnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Umlza0FsZXJ0Pj47XG4gIGdldFVzZXJUcmF2ZWxSdWxlczogRmllbGRXcmFwcGVyPFRyYXZlbFJ1bGVzQ29sbGVjdGlvbj47XG4gIGFwcGx5SklUSG90ZWxSdWxlczogRmllbGRXcmFwcGVyPEFwcGx5Sml0UnVsZXNSZXN1bHQ+O1xuICBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGdldEZsaWdodFNlYXRNYXA6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwUmVzdWx0PjtcbiAgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VydmljZT4+O1xuICBnZXRURlhTdXBwbGllclJvdXRlczogRmllbGRXcmFwcGVyPFRmeFN1cHBsaWVyUm91dGVzUmVzdWx0PjtcbiAgZ2V0VXNlclVJQ29uZmlnczogRmllbGRXcmFwcGVyPFVpQ29uZmlnQ29sbGVjdGlvbj47XG4gIGdldFVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJsaW5lc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJwb3J0c0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBleGNsdWRlTm9uUHVibGljPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJCYXNrZXRzQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgdHJhdmVsbGVyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldFN0YXR1cz86IE1heWJlPEJhc2tldFN0YXR1cz47XG4gIGNyZWF0ZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjcmVhdGVkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0VGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RW1haWxCYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDYWJIaXJlQXJncyA9IHtcbiAgZGVwYXJ0czogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZnJvbUxvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgdG9Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB2aWFzPzogTWF5YmU8QXJyYXk8TWF5YmU8Q2FiSGlyZUxvY2F0aW9uSW5wdXQ+Pj47XG4gIHZlaGljbGVUeXBlPzogTWF5YmU8Q2FiSGlyZVZlaGljbGVUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hVc2VyQ2FuQm9va0ZvckFyZ3MgPSB7XG4gIGVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDYW5jZWxsYXRpb25JbmZvQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDYXJIaXJlQXJncyA9IHtcbiAgYWlycG9ydD86IE1heWJlPENhckhpcmVBaXJwb3J0SW5wdXQ+O1xuICBjaXR5PzogTWF5YmU8Q2FySGlyZUNpdHlJbnB1dD47XG4gIGxvY2F0aW9uPzogTWF5YmU8Q2FySGlyZUxvY2F0aW9uSW5wdXQ+O1xuICBkZXBvdD86IE1heWJlPElucHV0Q2FySGlyZURlcG90PjtcbiAgcGlja3VwRGF0ZVRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkcm9wb2ZmRGF0ZVRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsYXNzPzogTWF5YmU8Q2FySGlyZUNsYXNzPjtcbiAgdHlwZT86IE1heWJlPENhckhpcmVUeXBlPjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8Q2FySGlyZVRyYW5zbWlzc2lvbj47XG4gIGFpcmNvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2U/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzPzogTWF5YmU8RGlzdGFuY2VUeXBlcz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q2FySGlyZURlcG90c0FyZ3MgPSB7XG4gIGxhdGl0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICBsb25naXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIHJhZGl1cz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdEFyZ3MgPSB7XG4gIGxvY2F0aW9uRGV0YWlsczogQ2FySGlyZUlucHV0SWRlbnRpZmllcnM7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VBcmdzID0ge1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2l0aWVzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb21wYW5pZXNBcmdzID0ge1xuICBxdWVyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb21wYW55QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFCbG9ja0NsaWVudEhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFVbmJsb2NrQ2xpZW50SG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUJsb2NrQ29uc3VtZXJIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDb25mZXJtYUNpdGllc0FyZ3MgPSB7XG4gIGNpdHlOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbmZlcm1hT2ZmaWNlQXJncyA9IHtcbiAgb2ZmaWNlSWQ6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbmZlcm1hUXVpY2tsaXN0QXJncyA9IHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbmZlcm1hUm9vbUltYWdlc0FyZ3MgPSB7XG4gIGhvdGVsSWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEZhc3RUcmFja0FyZ3MgPSB7XG4gIGFycml2YWxEYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5QXBwbHlKaXRGbGlnaHRSdWxlc0FyZ3MgPSB7XG4gIHNlbGVjdGVkT3V0Ym91bmRGbGlnaHQ6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6IEFycmF5PFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmxpZ2h0c0FyZ3MgPSB7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD47XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+Pj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdyb3VwTWF4PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEZsaWdodHNWMkFyZ3MgPSB7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD47XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+Pj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdyb3VwTWF4PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEV1cm9zdGFyQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0RmxpZ2h0RmFyZVJ1bGVzQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0RmxpZ2h0TWVhbE9wdGlvbnNBcmdzID0ge1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hIb3RlbENoYWluc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hIb3RlbHNBcmdzID0ge1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjaXR5TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0cmFpblN0YXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcm9vbXM6IFNjYWxhcnNbJ0ludCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXM7XG4gIGRpc3RhbmNlOiBTY2FsYXJzWydJbnQnXTtcbiAgbWF4UmVzdWx0cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SG90ZWxBdmFpbGFiaWxpdHlBcmdzID0ge1xuICBob3RlbDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlBcmdzID0ge1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9jY3VwYW50czogU2NhbGFyc1snSW50J107XG4gIHJvb21zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldElybERpc2NvdW50Q2FyZHNBcmdzID0ge1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsU3VwcGxpZXJTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsQXJncyA9IHtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGpvdXJuZXlUeXBlOiBJcmxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxJcmxDbGFzcz47XG4gIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgaXJsRGlzY291bnRDYXJkcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRSYWlsTGl2ZURlcGFydHVyZXNBcmdzID0ge1xuICBzdGF0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaExvdW5nZXNBcmdzID0ge1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0FyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVZhbGlkYXRlVXNlck1pRnJlZVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVCYXNrZXRJdGVtTWlBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNZXNzYWdlc0FyZ3MgPSB7XG4gIGVudmlyb25tZW50PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5VGFyZ2V0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmtpbmdBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QmFza2V0SXRlbVBheW1lbnRTdXBwbG1lbnRhcnlJbmZvU2NoZW1hQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQb3N0Y29kZURldGFpbHNBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UG9zdGNvZGVBdXRvU3VnZ2VzdEFyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hQb3N0Y29kZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5SXNQb3N0Y29kZVZhbGlkQXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJhaWxTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hSYWlsU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxBcmdzID0ge1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPj47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNwbGl0VGlja2V0c0Zyb21EZXBhcnR1cmVKb3VybmV5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3BsaXRUaWNrZXRzVG9EZXN0aW5hdGlvbkpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJpc2tBbGVydHNBcmdzID0ge1xuICBtaW5MZXZlbD86IE1heWJlPFJpc2tMZXZlbD47XG4gIG1heExldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgY291bnRyeUlzb0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmFpbFN0YXRpb24/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYWlycG9ydElhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5QXBwbHlKaXRIb3RlbFJ1bGVzQXJncyA9IHtcbiAgZGF0YTogQXJyYXk8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyUmVjZW50U2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRTZWF0TWFwQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VGZ4U3VwcGxpZXJSb3V0ZXNBcmdzID0ge1xuICBzdXBwbGllcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9uZVdheU9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJVaUNvbmZpZ3NBcmdzID0ge1xuICB0YXJnZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsQWNjb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc0RlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxDYWxsaW5nUG9pbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbENhbGxpbmdQb2ludCc7XG4gIHN0YXRpb25OYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2NoZWR1bGVkUGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGlvbkNsYXNzaWZpY2F0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbj47XG4gIHN0b3BwaW5nUGF0dGVybjogRmllbGRXcmFwcGVyPFJhaWxTdG9wcGluZ1BhdHRlcm4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbENsYXNzIHtcbiAgQWxsID0gJ0FsbCcsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVyc0FsbG93ZWRXaXRoID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVyc0FsbG93ZWRXaXRoJztcbiAgdHJhbnNhY3Rpb25JZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nUmVmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leUZhcmUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJztcbiAgcHJvdmlkZXJJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlck5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1zPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRUZXJtcz4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWxpdmVyeU9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldERlbGl2ZXJ5T3B0aW9uPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5TGVnID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5TGVnJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdG9yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWxsaW5nUG9pbnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nO1xuICBmcm9tOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmcm9tQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnREYXRlVGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXJyaXZlRGF0ZVRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlMZWdzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlMZWc+PjtcbiAgcmV0dXJuSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIGR1YWxTaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBkdWFsU2luZ2xlU3BsaXRPdXRib3VuZEZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgZHVhbFNpbmdsZVNwbGl0UmV0dXJuRmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsUHJvdmlkZXI+Pj47XG4gIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0UXVldWU+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+PjtcbiAgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRFeHRyYT4+PjtcbiAgcGx1c0J1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsUGx1c0J1cz4+O1xuICBvdmVydGFrZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb24+Pj47XG4gIHJldHVybj86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbj4+PjtcbiAgdHJhdmVsQ2FyZHNBZGRvbkZsYWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHN1bW1hcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXNBdmFpbCA9IHtcbiAgb3JpZ2luPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgZW51bSBSYWlsU2VhcmNoSm91cm5leVR5cGUge1xuICBTaW5nbGVKb3VybmV5ID0gJ1NpbmdsZUpvdXJuZXknLFxuICBSZXR1cm5Kb3VybmV5ID0gJ1JldHVybkpvdXJuZXknLFxuICBPcGVuUmV0dXJuSm91cm5leSA9ICdPcGVuUmV0dXJuSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXQnO1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2FjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc2l0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFNlbGVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbm90ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VnbWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFNlYXQ+Pj47XG4gIGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbiB7XG4gIE9yaWdpbiA9ICdPcmlnaW4nLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgRGVzdGluYXRpb24gPSAnRGVzdGluYXRpb24nLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCBlbnVtIFJhaWxTdG9wcGluZ1BhdHRlcm4ge1xuICBSZXF1ZXN0U3RvcCA9ICdSZXF1ZXN0U3RvcCcsXG4gIFBpY2tVcE9ubHkgPSAnUGlja1VwT25seScsXG4gIFNldERvd25Pbmx5ID0gJ1NldERvd25Pbmx5JyxcbiAgTm9ybWFsID0gJ05vcm1hbCcsXG4gIFBhc3NpbmcgPSAnUGFzc2luZycsXG4gIFVua25vd24gPSAnVW5rbm93bidcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXREZWxpdmVyeU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24nO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFRlcm1zPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmxlU2VhdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0Pj4+PjtcbiAgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRRdWV1ZT4+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0UXVldWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0VGVybXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJztcbiAgZXJyb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQWx0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YXRpb25SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByZUJvb2tpbmdSZXF1aXJlbWVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsVmFsaWRpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmFsaWRPdXRSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZhbGlkUmV0dXJuUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hpbGREaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYWlsY2FyZERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZENhbmNlbGxhdGlvblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hhbmdlUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlCcmVha1J1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmlsaXR5UnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b2RBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAga2lvc2tBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhcnREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVuZERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHluYW1pY0NvbmRpdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RHluYW1pY0NvbmRpdGlvbj4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllciA9IHtcbiAgX190eXBlbmFtZT86ICdSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcic7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSaXNrQWxlcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmlza0FsZXJ0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBicmVha2luZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJpc2s6IEZpZWxkV3JhcHBlcjxSaXNrTGV2ZWw+O1xuICBjYXRlZ29yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGFydERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZWNlaXZlZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFJpc2tMZXZlbCB7XG4gIExvdyA9ICdMb3cnLFxuICBNb2RlcmF0ZSA9ICdNb2RlcmF0ZScsXG4gIE1lZGl1bSA9ICdNZWRpdW0nLFxuICBIaWdoID0gJ0hpZ2gnLFxuICBFeHRyZW1lID0gJ0V4dHJlbWUnXG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaCA9IHtcbiAgX190eXBlbmFtZT86ICdTZWFyY2gnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBzZWFyY2hBcmdzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0cmF2ZWxEYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXJyb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InO1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIGVycm9yTWVzc2FnZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXJyb3JDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0ID0gRmxpZ2h0SXRpbmVyYXJ5IHwgSXRpbmVyYXJ5U3VtbWFyeTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZnJlZVZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhc2tldExldmVsVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyTGV2ZWxWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdTZXJ2aWNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhcGlFbmRwb2ludFVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbVR0bDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRldGFpbFNjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHNlYXJjaFF1ZXJ5U2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFNlcnZpY2VUeXBlIHtcbiAgRmxpZ2h0ID0gJ0ZMSUdIVCcsXG4gIEV1cm9zdGFyID0gJ0VVUk9TVEFSJyxcbiAgSW50ZXJuYXRpb25hbFJhaWwgPSAnSU5URVJOQVRJT05BTF9SQUlMJyxcbiAgUmFpbCA9ICdSQUlMJyxcbiAgSG90ZWwgPSAnSE9URUwnLFxuICBDYXIgPSAnQ0FSJyxcbiAgTG91bmdlID0gJ0xPVU5HRScsXG4gIEZhc3RUcmFjayA9ICdGQVNUX1RSQUNLJyxcbiAgUGFya2luZyA9ICdQQVJLSU5HJyxcbiAgQ2FiID0gJ0NBQicsXG4gIENvYWNoID0gJ0NPQUNIJ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aW9uU2VhcmNoUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1N0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UnO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlckluZm86IEFycmF5PFVzZXJJbmZvPjtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xuICBwYXltZW50TWV0aG9kRGV0YWlscz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1RGWFN1cHBsaWVyUm91dGVzUmVzcG9uc2UnO1xuICBpYXRhMTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YTI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdURlhTdXBwbGllclJvdXRlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBUbWMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVE1DJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcHBsaWVzVG86IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIGFwcGxpY2F0aW9uU3RhZ2U6IEZpZWxkV3JhcHBlcjxBcHBsaWNhdGlvblN0YWdlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGVBcHBsaWVzVG8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZUFwcGxpZXNUbyc7XG4gIGZsaWdodD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgcmFpbD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgaG90ZWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgbG91bmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBmYXN0VHJhY2s/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIHBhcmtpbmc/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhYj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY29hY2g/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxSdWxlc0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZXNDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55OiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICB1c2VyOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGFwcGxpZXNUbz86IE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlQXBwbGllc1RvPj47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZyA9IHtcbiAgX190eXBlbmFtZT86ICdVSUNvbmZpZyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRhcmdldDogRmllbGRXcmFwcGVyPFVpQ29uZmlnVGFyZ2V0PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZ0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVUlDb25maWdDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgY29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIG9mZmljZTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGNvbXBhbnlHcm91cDogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIHVzZXI6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gVWlDb25maWdUYXJnZXQge1xuICBBbGwgPSAnQUxMJyxcbiAgTW9jayA9ICdNT0NLJyxcbiAgTGlnaHRuaW5nID0gJ0xJR0hUTklORycsXG4gIEFwcCA9ICdBUFAnXG59XG5cbmV4cG9ydCBlbnVtIFVpUHJlc2VudGF0aW9uIHtcbiAgRnJlZVRleHQgPSAnRlJFRV9URVhUJyxcbiAgQXV0b1N1Z2dlc3QgPSAnQVVUT19TVUdHRVNUJyxcbiAgRHJvcGRvd24gPSAnRFJPUERPV04nLFxuICBIaWRkZW4gPSAnSElEREVOJ1xufVxuXG5leHBvcnQgdHlwZSBVc2VyID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25mZXJtYUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBhZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdG1jQWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbXBhbnlBZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2VyVHlwZTogRmllbGRXcmFwcGVyPEJvb2tlclR5cGU+O1xuICBhdXRoTWV0aG9kczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhc3N3b3JkTGFzdFVwZGF0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBzZWxlY3RlZExhbmd1YWdlOiBGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+O1xuICBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxMYW5ndWFnZT4+O1xuICB0bWM6IEZpZWxkV3JhcHBlcjxUbWM+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIG9mZmljZTogRmllbGRXcmFwcGVyPE9mZmljZT47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgYXBwcm92ZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZXI+PjtcbiAgYXBwcm92ZXJGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxBcHByb3ZlZT4+O1xuICBib29rZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWVyZ2VuY3lDb250YWN0RW1haWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzdXBwbGllclJlbGF0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbG9nTGV2ZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9nTGV2ZWxUeXBlPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj4+O1xuICB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFVzZXJNaURlZmF1bHRWYWx1ZT4+PjtcbiAgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPERvY3VtZW50Pj4+O1xuICBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8VXNlckxveWFsdHlDb2RlPj4+O1xuICBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUHJlZmVyZW5jZT4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlckxveWFsdHlDb2RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJMb3lhbHR5Q29kZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgY2Fycmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJMb3lhbHR5Q29kZUlucHV0ID0ge1xuICBjYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJNaURlZmF1bHRWYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyTWlEZWZhdWx0VmFsdWUnO1xuICB1c2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc2VydmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTZXJ2aWNlPj47XG4gIG1hbmFnZW1lbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBmcmVlVGV4dFZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQgPSB7XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIG1hbmFnZW1lbnRJbmZvOiBTY2FsYXJzWydJRCddO1xuICBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGZyZWVUZXh0VmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyUGFzc2VuZ2VyVHlwZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHBhc3NlbmdlclR5cGU6IEZpZWxkV3JhcHBlcjxQYXNzZW5nZXJUeXBlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBwYXNzZW5nZXJUeXBlOiBQYXNzZW5nZXJUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclByZWZlcmVuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlclByZWZlcmVuY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPj47XG4gIHByZWZlcmVuY2VLZXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJlZmVyZW5jZUtleT4+O1xuICBwcmVmZXJlbmNlVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclByZWZlcmVuY2VJbnB1dCA9IHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG4gIHByZWZlcmVuY2VLZXk/OiBNYXliZTxQcmVmZXJlbmNlS2V5PjtcbiAgcHJlZmVyZW5jZVZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU3Vic2VxdWVudExvY2F0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdzdWJzZXF1ZW50TG9jYXRpb25zJztcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm1Jc0hpZGRlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8QXNzb2NpYXRpb24+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWNjZXB0TmV3UHJpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4gfCBVc2VyUGFzc2VuZ2VyVHlwZUlucHV0O1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFkZFVzZXJzVG9CYXNrZXRJdGVtOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlbGVjdGVkT3V0Ym91bmRGbGlnaHQ6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6IEFycmF5PFNjYWxhcnNbJ0pTT04nXT4gfCBTY2FsYXJzWydKU09OJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdhcHBseUpJVEZsaWdodFJ1bGVzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBkYXRhOiBBcnJheTxTY2FsYXJzWydKU09OJ10+IHwgU2NhbGFyc1snSlNPTiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgYXBwbHlKSVRIb3RlbFJ1bGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FwcGx5SklUUnVsZXNSZXN1bHQnIH1cbiAgICAmIFBpY2s8QXBwbHlKaXRSdWxlc1Jlc3VsdCwgJ3Jlc3VsdCc+XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJz5cbik7XG5cbmV4cG9ydCB0eXBlIE93bmVyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuKTtcblxuZXhwb3J0IHR5cGUgQmFza2V0RmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgJiBQaWNrPEJhc2tldCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ3RpdGxlJyB8ICdub3RlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2Jvb2tlZEF0JyB8ICdzdGF0dXMnIHwgJ3ZhbGlkYXRlZCc+XG4gICYgeyBvd25lcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBPd25lckZpZWxkc0ZyYWdtZW50XG4gICksIGJhc2tldEl0ZW1zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldEl0ZW0nIH1cbiAgICAmIE1ha2VPcHRpb25hbDxQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3N0YXR1cycgfCAncG5yTG9jYXRvcicgfCAnYm9va2luZ0RldGFpbCcgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudCcgfCAnY29udmVydGVkQ3VycmVuY3lDb2RlJz4sICdwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3Blckl0ZW1BZGRyZXNzJyB8ICdwZXJJdGVtUGhvbmVOdW1iZXInIHwgJ3BlclBhc3NlbmdlckFkZHJlc3MnIHwgJ3BlclBhc3NlbmdlclBob25lTnVtYmVyJz5cbiAgICAmIHsgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAmIFBpY2s8UGF5bWVudE1ldGhvZCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgKT4sIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAmIFBpY2s8UGF5bWVudE1ldGhvZCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgKT4sIHNlcnZpY2U6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJz5cbiAgICApLCB1c2VyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclBhc3NlbmdlclR5cGUnIH1cbiAgICAgICYgUGljazxVc2VyUGFzc2VuZ2VyVHlwZSwgJ2lkJyB8ICdwYXNzZW5nZXJUeXBlJz5cbiAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50XG4gICAgKT4sIG1hbmFnZW1lbnRJbmZvOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm8nIH1cbiAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2ZpeGVkJyB8ICdncm91cCc+XG4gICAgICAmIHsgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCBkZWZhdWx0VmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICYgeyB2YWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCB1c2VyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnPlxuICAgICAgICApPiB9XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiwgY29tcGFueUdyb3VwPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb21wYW55R3JvdXAnIH1cbiAgICAmIFBpY2s8Q29tcGFueUdyb3VwLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgdHJhdmVsbGVyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldFN0YXR1cz86IE1heWJlPEJhc2tldFN0YXR1cz47XG4gIGNyZWF0ZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjcmVhdGVkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0VGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckJhc2tldHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVCYXNrZXQnPlxuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGNyZWF0ZUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyByZW1vdmVJdGVtRnJvbUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2VuZEJhc2tldEZvckFwcHJvdmFsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+IHwgTWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvMlBlckl0ZW0/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgaW5ib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBhZGRJdGVtVG9CYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgcmV2YWxpZGF0ZUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQm9va0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBBcnJheTxTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8+IHwgU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEJvb2tCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBib29rQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlcGFydHM6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdmlhcz86IE1heWJlPEFycmF5PE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj4gfCBNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+O1xuICB2ZWhpY2xlVHlwZT86IE1heWJlPENhYkhpcmVWZWhpY2xlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2FiSGlyZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUXVvdGUnIH1cbiAgICAgICYgUGljazxDYWJIaXJlUXVvdGUsICdpZCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAnc3VwcGxpZXJOYW1lJyB8ICdlc3RpbWF0ZWRDTzInIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICd2ZWhpY2xlVHlwZScgfCAndHJpcERpc3RhbmNlTWV0cmVzJyB8ICd0cmlwRHVyYXRpb25TZWNvbmRzJyB8ICdkZXBhcnRzJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnPlxuICAgICAgJiB7IGZyb21Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB0b0xvY2F0aW9uOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICksIHZpYXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYW5jZWxCb29raW5nTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgY2FuY2VsQm9va2luZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZnRlckNhbmNlbGxhdGlvbkluZm8nIH1cbiAgICAmIFBpY2s8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvLCAnY2FuY2VsbGVkJyB8ICdjYW5jZWxsYXRpb25GZWUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxvY2F0aW9uRGV0YWlsczogQ2FySGlyZUlucHV0SWRlbnRpZmllcnM7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UnIH1cbiAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUlkZW50aWZpZXJzJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICk+LCB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcicgfVxuICAgICAgJiBQaWNrPENhckhpcmVWZW5kb3IsICduYW1lJyB8ICdsb2dvJz5cbiAgICApPiwgYWRkcmVzcz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcycgfVxuICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nIH1cbiAgICAgICYgUGljazxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtLCAnbmFtZScgfCAndGV4dCcgfCAnanNvbic+XG4gICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbScgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUN1c3RvbSwgJ25hbWUnIHwgJ3RleHQnPlxuICAgICAgKT4+PiB9XG4gICAgKT4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGFpcnBvcnQ/OiBNYXliZTxDYXJIaXJlQWlycG9ydElucHV0PjtcbiAgY2l0eT86IE1heWJlPENhckhpcmVDaXR5SW5wdXQ+O1xuICBsb2NhdGlvbj86IE1heWJlPENhckhpcmVMb2NhdGlvbklucHV0PjtcbiAgZGVwb3Q/OiBNYXliZTxJbnB1dENhckhpcmVEZXBvdD47XG4gIHBpY2t1cERhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGFzcz86IE1heWJlPENhckhpcmVDbGFzcz47XG4gIHR5cGU/OiBNYXliZTxDYXJIaXJlVHlwZT47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPENhckhpcmVUcmFuc21pc3Npb24+O1xuICBhaXJjb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2VVbml0cz86IE1heWJlPERpc3RhbmNlVHlwZXM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhckhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICAgKT4sIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCcgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZURpc3BsYXlSZWNvcmQsICdzdGF0dXMnIHwgJ3BpY2t1cCcgfCAnZHJvcG9mZic+XG4gICAgICAgICYgeyB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICAgICApPiwgdmVoaWNsZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlaGljbGUsICdjbGFzcycgfCAndHlwZScgfCAndHJhbnNtaXNzaW9uJyB8ICdhaXJjb24nIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpbWFnZXMnPlxuICAgICAgICApPiwgY2hhcmdlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQ2hhcmdlLCAnbGFiZWwnIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgKT4+PiwgcGlja3VwTG9jYXRpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICAgICk+LCByZXR1cm5Mb2NhdGlvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDb25maXJtTWVzc2FnZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWVzc2FnZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdjb25maXJtTWVzc2FnZXMnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVGYXZvdXJpdGVTZWFyY2gnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVSZWNlbnRTZWFyY2gnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlVXNlckFkZHJlc3MnPlxuKTtcblxuZXhwb3J0IHR5cGUgRW1haWxCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBFbWFpbEJhc2tldFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGVtYWlsQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lOiAnQmFza2V0JyB9XG4gICAgJiBQaWNrPEJhc2tldCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ3RpdGxlJyB8ICdub3RlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N0YXR1cycgfCAndmFsaWRhdGVkJyB8ICdib29rZWRBdCc+XG4gICAgJiB7IG93bmVyOiAoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICAgICk+LCB0bWM6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICYgUGljazxUbWMsICduYW1lJz5cbiAgICAgICksIG9mZmljZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgKSwgY29tcGFueUdyb3VwczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAmIHsgY29tcGFueTogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICYgeyB0bWM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApLCBvZmZpY2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAgICYgeyBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICkgfVxuICAgICAgKT4sIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICApPj4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICk+LCBhcHByb3ZlcnM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICApPiwgYXBwcm92ZXJGb3I6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICApPiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgKT4+IH1cbiAgICApLCBiYXNrZXRJdGVtczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQmFza2V0SXRlbScgfVxuICAgICAgJiBQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3BuckxvY2F0b3InIHwgJ2Jvb2tpbmdEZXRhaWwnIHwgJ3N0YXR1cycgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudCcgfCAnY29udmVydGVkQ3VycmVuY3lDb2RlJz5cbiAgICAgICYgeyB1c2VyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgICApPiwgdG1jOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgKSwgb2ZmaWNlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICApLCBjb21wYW55R3JvdXBzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQ29tcGFueUdyb3VwJyB9XG4gICAgICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55JyB9XG4gICAgICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdUTUMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgICApPiB9XG4gICAgICAgICAgICApPiwgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBzdXBwb3J0UGhvbmVOdW1iZXI/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FwcHJvdmVyJyB9XG4gICAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FwcHJvdmVlJyB9XG4gICAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnRG9jdW1lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUHJlZmVyZW5jZScgfVxuICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4gfVxuICAgICAgKT4sIHVzZXJQYXNzZW5nZXJUeXBlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUGFzc2VuZ2VyVHlwZScgfVxuICAgICAgICAmIFBpY2s8VXNlclBhc3NlbmdlclR5cGUsICdpZCcgfCAncGFzc2VuZ2VyVHlwZSc+XG4gICAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlclByZWZlcmVuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyTG95YWx0eUNvZGUnIH1cbiAgICAgICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+IH1cbiAgICAgICk+LCBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICksIG1hbmFnZW1lbnRJbmZvOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZW5mb3JjZVVzZXJEZWZhdWx0JyB8ICdib29rZWRCeUZpZWxkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZml4ZWQnIHwgJ2dyb3VwJz5cbiAgICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdTZXJ2aWNlJyB9XG4gICAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJz5cbiAgICAgICAgKSwgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIGRlZmF1bHRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICAgJiB7IHZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXInIH1cbiAgICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICAgICk+LCBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgKT4gfVxuICAgICk+LCBjb21wYW55R3JvdXA/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICYgUGljazxDb21wYW55R3JvdXAsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N1cHBvcnRFbWFpbCcgfCAnY28yQ29uc3VtcHRpb25Qb2xpY3knIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICYgUGljazxUbWMsICdpZCcgfCAnbmFtZSc+XG4gICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4sIHVzZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdMYW5ndWFnZScgfVxuICAgICAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgICAgICk+LCB0bWM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApLCBvZmZpY2U6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ09mZmljZScgfVxuICAgICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgICApPiB9XG4gICAgICAgICAgKSwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgICAgICYgUGljazxBcHByb3ZlciwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgICAgICYgUGljazxBcHByb3ZlZSwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPiwgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICk+IH1cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBFcnJvcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgJiB7IHNlcnZpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHcm91cGVkRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgJiBQaWNrPEdyb3VwRmxpZ2h0cywgJ3JlZmVyZW5jZUlEJyB8ICdmbGlnaHRJRCcgfCAnYm91bmRJbmRpY2F0b3InIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICYgeyBmbGlnaHRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cycgfVxuICAgICYgUGljazxNYXRjaGluZ0ZsaWdodHMsICdFY29ub215UmVzdHJpY3RlZCcgfCAnRWNvbm9teU5vQmFncycgfCAnRWNvbm9teUZsZXhpJyB8ICdQcmVtaXVtRWNvbm9teScgfCAnQnVzaW5lc3MnIHwgJ0ZpcnN0Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICYgUGljazxGbGlnaHRKb3VybmV5LCAnaWQnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdjYWJpbkNsYXNzJyB8ICdjYWJpbkNvZGUnIHwgJ2NhYmluUmF3JyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAnZmFyZUJhc2lzQ29kZScgfCAnZ292ZXJuaW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnc3RvcHMnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ3NlYXRzQXZhaWxhYmxlJyB8ICd2ZW5kb3JDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgJiB7IGZhcmVJbmZvPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICk+LCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+IH1cbiAgKSwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldENhckhpcmVEZXBvdHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmFkaXVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENhckhpcmVEZXBvdHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JyB9XG4gICAgJiBQaWNrPENhckhpcmVEZXBvdCwgJ2NvdW50cnlDb2RlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICd2ZW5kb3JDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICd2ZW5kb3InIHwgJ2FkZHJlc3NMaW5lcycgfCAnY2l0eU5hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hT2ZmaWNlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VJbmZvJyB9XG4gICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VJbmZvLCAnaWQnIHwgJ25hbWUnIHwgJ2Nsb3Nlc3RBaXJwb3J0JyB8ICdjbG9zZXN0VHJhaW5TdGF0aW9uJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICYgeyBhZGRyZXNzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxDb25mZXJtYU9mZmljZUFkZHJlc3MsICdhZGRyZXNzTmFtZScgfCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdGFsQ29kZScgfCAnY2l0eScgfCAnY291bnRyeUNvZGUnIHwgJ2NvdW50cnlOYW1lJyB8ICd0ZWxlcGhvbmVOdW1iZXInIHwgJ2ZhY3NpbWlsZU51bWJlcicgfCAnZW1haWxBZGRyZXNzJyB8ICdzdGF0ZVByb3ZpbmNlJyB8ICdtb2JpbGVOdW1iZXInPlxuICAgICAgKT4sIGNsb3Nlc3RIb3RlbHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUhvdGVscycgfVxuICAgICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VIb3RlbHMsICdob3RlbElkJyB8ICdob3RlbE5hbWUnIHwgJ2lzUHJlZmVycmVkJz5cbiAgICAgICk+Pj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFPZmZpY2VOYW1lczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlTmFtZXMsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYVF1aWNrbGlzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxJdGluZXJhcnksICdpZCcgfCAnbmFtZScgfCAnaW1hZ2VVcmwnIHwgJ2dyb3VwJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQXZhaWxhYmlsaXR5LCAnaG90ZWxJZCcgfCAnaW1hZ2VVcmwnIHwgJ3BycG4nIHwgJ2N1cnJlbmN5Q29kZScgfCAnaXNCdXN5JyB8ICdzb3VyY2UnIHwgJ3ZlcnNpb24nPlxuICAgICAgICAmIHsgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAgICYgUGljazxIb3RlbFJvb20sICdyb29tSWQnIHwgJ3Jvb21UeXBlJyB8ICdyb29tRGVzY3JpcHRpb24nIHwgJ3JhdGVDb2RlJyB8ICdyYXRlRGVzY3JpcHRpb24nIHwgJ3RvdGFsJyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgICAgICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICAgICAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgICAgICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICAgICAgICApLCB0YXg6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICAgICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaG90ZWxJZDogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ2dldENvbmZlcm1hUm9vbUltYWdlcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRGbGlnaHRGYXJlUnVsZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlUnVsZXNSZXNwb25zZScgfVxuICAgICAgJiBQaWNrPEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEZsaWdodFNlYXRNYXBRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRGbGlnaHRTZWF0TWFwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBSZXNwb25zZScgfVxuICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBSZXNwb25zZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IGFpcmNyYWZ0OiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwQWlyY3JhZnQnIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBBaXJjcmFmdCwgJ2NhcnJpZXInIHwgJ251bWJlcicgfCAndHlwZSc+XG4gICAgICApLCBzZWF0czogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFNlYXRzJyB9XG4gICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwU2VhdHMsICdyb3cnIHwgJ2NvbHVtbicgfCAncHJpY2UnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgJiB7IGF0dHJpYnV0ZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcywgJ2NvZGUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRJUkxEaXNjb3VudENhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnIH1cbiAgICAmIFBpY2s8SXJsVHJhdmVsQ2FyZCwgJ2lkJyB8ICduZXRDb2RlJyB8ICdyZWNvJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdzdXBwbGllcic+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldElSTFN1cHBsaWVyU3RhdGlvbj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN0YXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JyB9XG4gICAgJiB7IHNlcnZpY2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZScgfVxuICAgICAgJiBQaWNrPERlcGFydHVyZUJvYXJkU2VydmljZSwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29wZXJhdG9yJyB8ICdvcGVyYXRvckNvZGUnIHwgJ3N0ZCcgfCAnZXRkJyB8ICdkZXBhcnR1cmVUeXBlJyB8ICdkZXBhcnR1cmVTb3VyY2UnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUlzSGlkZGVuJz5cbiAgICAgICYgeyBvcmlnaW4/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8TG9jYXRpb24sICdsb2NhdGlvbk5hbWUnIHwgJ3RpcGxvYycgfCAnY3JzJz5cbiAgICAgICk+LCBkZXN0aW5hdGlvbj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb2NhdGlvbiwgJ2xvY2F0aW9uTmFtZScgfCAndGlwbG9jJyB8ICdjcnMnPlxuICAgICAgKT4sIHN1YnNlcXVlbnRMb2NhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdzdWJzZXF1ZW50TG9jYXRpb25zJyB9XG4gICAgICAgICYgUGljazxTdWJzZXF1ZW50TG9jYXRpb25zLCAnbG9jYXRpb25OYW1lJyB8ICd0aXBsb2MnIHwgJ2NycycgfCAncGxhdGZvcm0nIHwgJ3BsYXRmb3JtSXNIaWRkZW4nIHwgJ3N0YScgfCAnZXRhJyB8ICdhcnJpdmFsVHlwZScgfCAnYXJyaXZhbFNvdXJjZScgfCAnc3RkJyB8ICdldGQnIHwgJ2RlcGFydHVyZVR5cGUnIHwgJ2RlcGFydHVyZVNvdXJjZSc+XG4gICAgICAgICYgeyBhc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJyB9XG4gICAgICAgICAgJiBQaWNrPEFzc29jaWF0aW9uLCAnY2F0ZWdvcnknIHwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29yaWdpbicgfCAnb3JpZ2luQ1JTJyB8ICdvcmlnaW5UaXBsb2MnIHwgJ2Rlc3RpbmF0aW9uJyB8ICdkZXN0Q1JTJyB8ICdkZXN0VGlwbG9jJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPj4+IH1cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsU3RhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UmFpbGNhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyJyB9XG4gICAgJiBQaWNrPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyLCAnbmFtZScgfCAnY29kZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWluTGV2ZWw6IFJpc2tMZXZlbDtcbiAgbWF4TGV2ZWw6IFJpc2tMZXZlbDtcbiAgY291bnRyeUlzb0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmFpbFN0YXRpb24/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYWlycG9ydElhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSaXNrQWxlcnRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Umlza0FsZXJ0czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSaXNrQWxlcnQnIH1cbiAgICAmIFBpY2s8Umlza0FsZXJ0LCAnaWQnIHwgJ3RpdGxlJyB8ICdkZXNjcmlwdGlvbicgfCAnYnJlYWtpbmcnIHwgJ3Jpc2snIHwgJ2NhdGVnb3J5JyB8ICdjb3VudHJ5JyB8ICdsb2NhdGlvbicgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnc3RhcnREYXRlJyB8ICdlbmREYXRlJyB8ICdyZWNlaXZlZERhdGUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJDb21wYW55T2ZmaWNlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnPlxuICAgICYgeyBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJib25BbGxvd2FuY2UnIH1cbiAgICAmIFBpY2s8Q2FyYm9uQWxsb3dhbmNlLCAnaWQnIHwgJ3N0YXJ0T2ZQZXJpb2QnIHwgJ2VuZE9mUGVyaW9kJyB8ICdyZW1haW5pbmdDbzInIHwgJ3RvdGFsQ28yJyB8ICdjYXJib25Qb2xpY3lTb3VyY2UnPlxuICAgICYgeyBjb21wYW55PzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbXBhbnknIH1cbiAgICAgICYgUGljazxDb21wYW55LCAnaWQnIHwgJ25hbWUnPlxuICAgICk+LCBvZmZpY2U/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT2ZmaWNlJyB9XG4gICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+LCB1c2VyOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbiAgICApLCBwZXJpb2RDb25zdW1wdGlvbjogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhcmJvbkNvbnN1bXB0aW9uJyB9XG4gICAgICAmIFBpY2s8Q2FyYm9uQ29uc3VtcHRpb24sICdpZCcgfCAnY29uc3VtZWQnIHwgJ2RhdGV0aW1lJz5cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdzZWFyY2hBcmdzJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIHBhcnRpYWxMYWJlbDogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclJlY2VudFNlYXJjaGVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCcgfCAnbmFtZScgfCAnc2VydmljZVR5cGUnIHwgJ3NlYXJjaEFyZ3MnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICd0cmF2ZWxEYXRlJz5cbiAgICAmIHsgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZG9iJz5cbiAgICApPj4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAmIFBpY2s8SG90ZWxBdmFpbGFiaWxpdHksICdob3RlbElkJyB8ICdpbWFnZVVybCcgfCAncHJwbicgfCAnY3VycmVuY3lDb2RlJyB8ICdpc0J1c3knIHwgJ3NvdXJjZScgfCAndmVyc2lvbic+XG4gICYgeyByb29tcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJyB9XG4gICAgJiBQaWNrPEhvdGVsUm9vbSwgJ3Jvb21JZCcgfCAncm9vbVR5cGUnIHwgJ3Jvb21EZXNjcmlwdGlvbicgfCAncmF0ZUNvZGUnIHwgJ3JhdGVTb3VyY2UnIHwgJ3JhdGVEZXNjcmlwdGlvbicgfCAndG90YWwnIHwgJ2N1cnJlbmN5Q29kZScgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJz5cbiAgICAmIHsgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbicgfVxuICAgICAgJiBQaWNrPEhvdGVsQ29udmVyc2lvbiwgJ3JhdGUnIHwgJ2xvY2FsQ29kZScgfCAnbG9jYWxUb3RhbCcgfCAnY29udmVydGVkQ29kZScgfCAnY29udmVydGVkVG90YWwnPlxuICAgICk+LCBkZXBvc2l0PzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCcgfVxuICAgICAgJiBQaWNrPEhvdGVsRGVwb3NpdCwgJ2Ftb3VudCcgfCAncG9saWN5JyB8ICdyZXF1aXJlZCc+XG4gICAgKT4sIG5pZ2h0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnIH1cbiAgICAgICYgUGljazxIb3RlbE5pZ2h0LCAnbmlnaHQnIHwgJ3JhdGUnIHwgJ2luZm8nIHwgJ2RhdGUnPlxuICAgICk+LCBwb2xpY2llczogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxQb2xpY3ksICdjYW5jZWxsYXRpb24nIHwgJ2RlcG9zaXQnIHwgJ2Rpc2FibGVkQWNjZXNzJyB8ICdnZW5lcmFsJyB8ICdndWFyYW50ZWUnIHwgJ3JlZnVuZEF2YWlsYWJsZSc+XG4gICAgKSwgdGF4OiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnIH1cbiAgICAgICYgUGljazxIb3RlbFRheCwgJ2luY2x1ZGVkJyB8ICdyYXRlJz5cbiAgICApLCBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCcgfVxuICAgICAgJiBQaWNrPEhvdGVsQ2FyZCwgJ2lkJyB8ICduYW1lJz5cbiAgICApPj4+LCBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZScgfVxuICAgICAgJiBQaWNrPEhvdGVsUGF5bWVudFR5cGUsICd0eXBlJyB8ICduYW1lJz5cbiAgICApPj4+IH1cbiAgKT4+PiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY2l0eU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3RPclppcENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgdHJhaW5TdGF0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb2ZmaWNlSWQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJvb21zOiBTY2FsYXJzWydJbnQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzO1xuICBkaXN0YW5jZTogU2NhbGFyc1snSW50J107XG4gIG1heFJlc3VsdHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGhvdGVsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSG90ZWxzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknIH1cbiAgICAgICYgUGljazxIb3RlbEl0aW5lcmFyeSwgJ2lkJyB8ICduYW1lJyB8ICdpbWFnZVVybCcgfCAnZ3JvdXAnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbScgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbic+XG4gICAgICAmIHsgbG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsTG9jYXRpb24sICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICksIGFkZHJlc3M6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxBZGRyZXNzLCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdE9yWmlwQ29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3RlbGVwaG9uZScgfCAnZmFjc2ltaWxlJz5cbiAgICAgICksIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUcmFuc3BvcnQsICd0eXBlJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICk+Pj4sIHByZWZlcnJlZDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsUHJlZmVycmVkLCAnY2xpZW50JyB8ICdjb25zdW1lcic+XG4gICAgICApLCB0YWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYWcnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsVGFnLCAnbmFtZScgfCAnZGlzcGxheScgfCAndHlwZScgfCAnaWNvbic+XG4gICAgICApPj4+LCBhdmFpbGFibGVSYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICAgICAgICYgUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaG90ZWw6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9jY3VwYW50czogU2NhbGFyc1snSW50J107XG4gIHJvb21zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eTogKFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICYgUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIElzUG9zdGNvZGVWYWxpZFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnaXNQb3N0Y29kZVZhbGlkJz5cbik7XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uX0RldGFpbEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hBaXJwb3J0czogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0UmVzdWx0cycgfVxuICAgICYgeyBpYXRhTWF0Y2g/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydCcgfVxuICAgICAgJiBQaWNrPEFpcnBvcnQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAndGVybWluYWxzJz5cbiAgICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgICAmIExvY2F0aW9uX0RldGFpbEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKT4sIGdlbmVyYWxNYXRjaGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydCcgfVxuICAgICAgJiBQaWNrPEFpcnBvcnQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAndGVybWluYWxzJz5cbiAgICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgICAmIExvY2F0aW9uX0RldGFpbEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoTG91bmdlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVF1b3RlJyB9XG4gICAgICAmIFBpY2s8TG91bmdlUXVvdGUsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBsb3VuZ2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb3VuZ2VMb2NhdGlvbiwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2FpcnBvcnQnIHwgJ3Rlcm1pbmFsJyB8ICdhZGRyZXNzJyB8ICd0ZWxlcGhvbmUnIHwgJ2ZheCcgfCAnZGlyZWN0aW9ucycgfCAnaW50cm9kdWN0aW9uJyB8ICdsb2dvJyB8ICdtb2JpbGVJbWFnZScgfCAnZnVydGhlckltYWdlcycgfCAnYWR1bHRBZ2UnIHwgJ2NoaWxkQWdlJyB8ICdpbmZhbnRBZ2UnIHwgJ2xhbmRzaWRlJyB8ICdhaXJzaWRlJyB8ICdmYWNpbGl0aWVzJyB8ICdvcGVuVGltZScgfCAnY2xvc2VUaW1lJyB8ICd3aWZpJyB8ICd0dicgfCAnc25hY2tzJyB8ICdwaG9uZScgfCAnaW50ZXJuZXQnIHwgJ2NoaWxkcmVuQWxsb3dlZCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2RyaW5rcycgfCAnZnJlZURyaW5rcycgfCAnZnJlZUZvb2QnIHwgJ3Ntb2tpbmdQZXJtaXR0ZWQnIHwgJ21hZ2F6aW5lcycgfCAnaW5jbHVkZWREcmlua3MnIHwgJ21lbnVGb29kJyB8ICdtZW51RHJpbmtzJyB8ICdtZW51RXh0cmFzJyB8ICd3aGF0c0luY2x1ZGVkRHJpbmtzJyB8ICd3aGF0c0luY2x1ZGVkRXh0cmFzJyB8ICd3aGF0c0luY2x1ZGVkRm9vZCcgfCAnZ3JvdXBJbmZvJyB8ICdjaGVja0luSW5mbycgfCAnZHJlc3NDb2RlJyB8ICdmYWNpbGl0aWVzSW5mbycgfCAnZm9vZEFuZEJldmVyYWdlJyB8ICdjYW5jZWxsYXRpb25JbmZvJyB8ICdhbWVuZG1lbnRzSW5mbycgfCAnbWlzYyc+XG4gICAgICApIH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIG5ld0Jhc2tldDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hQYXJraW5nUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGFycml2YWxEYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0RGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dEZsaWdodE51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVjb21tZW5kZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtZWV0QW5kR3JlZXQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kUmlkZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRTdHJvbGw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYXJQYXJrZWRGb3JZb3U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmdRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hQYXJraW5nOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BhcmtpbmdTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BhcmtpbmdRdW90ZScgfVxuICAgICAgJiBQaWNrPFBhcmtpbmdRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3JlcXVpcmVkSW5mbycgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaXNjJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbSc+XG4gICAgICAmIHsgY2FyUGFyazogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ0xvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxQYXJraW5nTG9jYXRpb24sICdjb2RlJyB8ICduYW1lJyB8ICdhaXJwb3J0JyB8ICd0ZXJtaW5hbCcgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWRkcmVzcycgfCAnZGlzdGFuY2VUb0FpcnBvcnQnIHwgJ29uQWlycG9ydCcgfCAnY2FyUGFya2VkRm9yWW91JyB8ICdtZWV0QW5kR3JlZXQnIHwgJ3RlbGVwaG9uZScgfCAnZmF4JyB8ICdkaXJlY3Rpb25zJyB8ICdhcnJpdmFsUHJvY2VkdXJlJyB8ICdkZXBhcnR1cmVQcm9jZWR1cmUnIHwgJ21heGltdW1DYXJTaXplJyB8ICdpbnRyb2R1Y3Rpb24nIHwgJ2luZm9ybWF0aW9uJyB8ICd0cmFuc2ZlckluZm9ybWF0aW9uJyB8ICd0cmFuc2Zlck9wZXJhdGluZ1RpbWVzJyB8ICd0cmFuc2ZlclRpbWUnIHwgJ2xvZ28nIHwgJ2RlZmF1bHRJbWFnZScgfCAnYnJhbmRJbWFnZScgfCAnbW9iaWxlSW1hZ2UnIHwgJ2Z1cnRoZXJJbWFnZXMnIHwgJ21pc2MnPlxuICAgICAgKSB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICYgUGljazxSYWlsSm91cm5leUZhcmUsICdwcm92aWRlcklkJyB8ICdwcm92aWRlck5hbWUnIHwgJ3R5cGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAnZmFyZUhhc2gnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybic+XG4gICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJyB9XG4gICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ2dlbmVyYWxEaXNjb3VudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdqb3VybmV5VHlwZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAncmFpbGNhcmREaXNjb3VudCcgfCAncmVmdW5kQ2FuY2VsbGF0aW9uUnVsZScgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICd0aWNrZXRUeXBlQWx0TmFtZScgfCAndGlja2V0VHlwZUNsYXNzJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbicgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RvZEF2YWlsYWJsZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndmFsaWRPdXRSdWxlJyB8ICd2YWxpZFJldHVyblJ1bGUnPlxuICAgICYgeyBkeW5hbWljQ29uZGl0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdEeW5hbWljQ29uZGl0aW9uJyB9XG4gICAgICAmIFBpY2s8RHluYW1pY0NvbmRpdGlvbiwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPj4+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJyB9XG4gICYgUGljazxSYWlsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdqb3VybmV5SGFzaCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NoYW5nZXMnIHwgJ292ZXJ0YWtlbic+XG4gICYgeyBqb3VybmV5TGVnczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUxlZycgfVxuICAgICYgUGljazxSYWlsSm91cm5leUxlZywgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdkZXBhcnREYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cyc+XG4gICAgJiB7IGNhbGxpbmdQb2ludHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JyB9XG4gICAgICAmIFBpY2s8UmFpbENhbGxpbmdQb2ludCwgJ3N0YXRpb25OYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnYXJyaXZhbERhdGVUaW1lJyB8ICdkZXBhcnR1cmVEYXRlVGltZScgfCAnc2NoZWR1bGVkUGxhdGZvcm0nIHwgJ3N0YXRpb25DbGFzc2lmaWNhdGlvbicgfCAnc3RvcHBpbmdQYXR0ZXJuJz5cbiAgICApPiB9XG4gICk+LCBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCByZXR1cm5Kb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCBkdWFsU2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgICAmIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50XG4gICk+Piwgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgJiBQaWNrPFJhaWxUaWNrZXRRdWV1ZSwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJz5cbiAgKT4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JyB9XG4gICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgJiBQaWNrPFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICk+IH1cbiAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsUGx1c0J1cycgfVxuICAgICYgUGljazxSYWlsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPiB8IFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hSYWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPFJhaWxKb3VybmV5T3B0aW9ucywgJ3NvdXJjZUlkJyB8ICdzdW1tYXJ5JyB8ICd0cmF2ZWxDYXJkc0FkZG9uRmxhZyc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRcbiAgICAgICk+PiwgcmV0dXJuPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50XG4gICAgICApPj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2F2ZUZhdm91cml0ZVNlYXJjaDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+IHwgTWF5YmU8U2NhbGFyc1snSUQnXT4+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVSZWNlbnRTZWFyY2g6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzYXZlVXNlckFkZHJlc3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcmxpbmVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICAgKT4sIGdlbmVyYWxNYXRjaGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdCcgfVxuICAgICAgJiBQaWNrPEFpcmxpbmVSZXN1bHQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdhY3RpdmUnIHwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2Jhbm5lckltYWdlJyB8ICdsb2dvSW1hZ2UnPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaENpdGllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENpdGllczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDaXR5JyB9XG4gICAgJiBQaWNrPENpdHksICdpZCcgfCAnbmFtZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2NvbnRpbmVudE5hbWUnPlxuICAgICYgeyBjb29yZGluYXRlczogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgKSB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNpdHlOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hDb25mZXJtYUNpdGllczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbicgfVxuICAgICYgUGljazxDb25mZXJtYUNpdHlMb2NhdGlvbiwgJ2ZvdW5kRXhhY3QnPlxuICAgICYgeyBzdWdnZXN0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMnIH1cbiAgICAgICYgUGljazxDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMsICduYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgKT4+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoRXVyb3N0YXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInIH1cbiAgICAmIHsgcmVzdWx0czogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cycgfVxuICAgICAgJiB7IGpvdXJuZXlzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ2Jhc2VGYXJlSWQnIHwgJ3VpZCcgfCAnZGlzY2xvc3VyZXMnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdqb3VybmV5SGFzaCcgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiwgbXVsdGk6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknIH1cbiAgICAgICAgJiBQaWNrPEl0aW5lcmFyeVN1bW1hcnksICdvcmRlcicgfCAnb3JpZ2luJyB8ICdkZXN0aW5hdGlvbicgfCAnbWluUHJpY2UnIHwgJ21heFByaWNlJz5cbiAgICAgICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ3VpZCcgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJyB8ICd3ZWlnaHRQcm92aWRlZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgd2l0aEdyb3VwZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hGbGlnaHRzVjJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hGbGlnaHRzVjI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInIH1cbiAgICAmIFBpY2s8RmxpZ2h0U2VhcmNoUmVzdWx0VjIsICdydWxlQWN0aW9uU3VtbWFyeSc+XG4gICAgJiB7IHJlc3VsdHM6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnIH1cbiAgICAgICYgeyBqb3VybmV5czogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICdiYXNlRmFyZUlkJyB8ICd1aWQnIHwgJ2Rpc2Nsb3N1cmVzJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAnam91cm5leUhhc2gnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJyB8ICd3ZWlnaHRQcm92aWRlZCc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4sIG11bHRpOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JyB9XG4gICAgICAgICYgUGljazxJdGluZXJhcnlTdW1tYXJ5LCAnb3JkZXInIHwgJ29yaWdpbicgfCAnZGVzdGluYXRpb24nIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICAgICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICd1aWQnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2pvdXJuZXlIYXNoJz5cbiAgICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4sIGdyb3VwZWQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgICAgICAgJiBHcm91cGVkRmllbGRzRnJhZ21lbnRcbiAgICAgICk+PiB9XG4gICAgKSwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ3NlYXJjaEhvdGVsQ2hhaW5zJz5cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IElybEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPElybENsYXNzPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0dXJlTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYXJyaXZhbExvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBpcmxEaXNjb3VudENhcmRzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSVJMOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnIH1cbiAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9ucywgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IG91dGJvdW5kPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxJcmxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4+PiwgYm9va2VkVGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPElybFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiwgcmV0dXJuPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxJcmxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4+PiwgYm9va2VkVGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPElybFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbicgfVxuICAgICYgUGljazxJcmxTdXBwbGllclN0YXRpb24sICdpZCcgfCAnbmFtZScgfCAnc3VwcGxpZXInIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hQb3N0Y29kZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRQb3N0Y29kZURldGFpbHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJyB9XG4gICAgJiBQaWNrPFBvc3Rjb2RlRGV0YWlscywgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFJhaWxTdGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckFkZHJlc3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBncm91cD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1NSUdyb3VwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbU1JVmFsdWU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBwYXltZW50TWV0aG9kOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHVwZGF0ZUJhc2tldE5vdGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuZXdUaXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyB1cGRhdGVCYXNrZXRUaXRsZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXNlckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnPlxuICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPj4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdEb2N1bWVudCcgfVxuICAgICYgUGljazxEb2N1bWVudCwgJ2lkJyB8ICdkb2NUeXBlJyB8ICduYXRpb25hbGl0eScgfCAnZ2VuZGVyJyB8ICdudW1iZXInIHwgJ2NvdW50cnknIHwgJ2NvZGVPZklzc3VpbmdTdGF0ZScgfCAnZGF0ZU9mSXNzdWUnIHwgJ2RhdGVPZkV4cGlyeScgfCAncHJpbWFyeScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgJiBQaWNrPFVzZXJQcmVmZXJlbmNlLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdwcmVmZXJlbmNlS2V5JyB8ICdwcmVmZXJlbmNlVmFsdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyVUlDb25maWdzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnQ29sbGVjdGlvbicgfVxuICAgICYgeyBhbGw6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVSUNvbmZpZycgfVxuICAgICAgJiBQaWNrPFVpQ29uZmlnLCAnaWQnIHwgJ2NvbmZpZycgfCAna2V5Jz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWVzc2FnZScgfVxuICAgICYgUGljazxNZXNzYWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb25maWcnIHwgJ3RhcmdldCcgfCAna2V5JyB8ICdkaXNwbGF5VGFyZ2V0JyB8ICdhZ2VudE9ubHknIHwgJ2NsaWNrVG9Db25maXJtJyB8ICd2YWxpZEZyb20nIHwgJ3ZhbGlkVG8nPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldFVzZXJMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCc+XG4gICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnPlxuICAgICkgfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFVzZXJGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoVXNlckNhbkJvb2tGb3I6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgZnJlZVZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICd2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSc+XG4pO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFjY2VwdE5ld1ByaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBY2NlcHROZXdQcmljZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZSA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb25bJ2FjY2VwdE5ld1ByaWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkVXNlcnNUb0Jhc2tldEl0ZW0ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblsnYWRkVXNlcnNUb0Jhc2tldEl0ZW0nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUppdEZsaWdodFJ1bGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUppdEhvdGVsUnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQXBwbHlKaXRIb3RlbFJ1bGVzID0gQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnlbJ2FwcGx5SklUSG90ZWxSdWxlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRyYXZlbGxlckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVHJhdmVsbGVyRmllbGRzRnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgT3duZXJGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IE93bmVyRmllbGRzRnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQmFza2V0RmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBCYXNrZXRGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgT3duZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnb3duZXInXTtcbiAgZXhwb3J0IHR5cGUgQmFza2V0SXRlbXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVQYXltZW50TWV0aG9kcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2F2YWlsYWJsZVBheW1lbnRNZXRob2RzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRQYXltZW50TWV0aG9kID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VsZWN0ZWRQYXltZW50TWV0aG9kJ107XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VyUGFzc2VuZ2VyVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMZWFkUGFzc2VuZ2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRml4ZWRWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZml4ZWRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEZWZhdWx0VmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3ZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkVmFsdWVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBDb21wYW55R3JvdXAgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnY29tcGFueUdyb3VwJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckJhc2tldHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJCYXNrZXRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzID0gR2V0VXNlckJhc2tldHNRdWVyeVsnZ2V0VXNlckJhc2tldHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUJhc2tldE11dGF0aW9uO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVCYXNrZXQgPSBDcmVhdGVCYXNrZXRNdXRhdGlvblsnY3JlYXRlQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlSXRlbUZyb21CYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0ID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblsncmVtb3ZlSXRlbUZyb21CYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZW5kQmFza2V0Rm9yQXBwcm92YWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25bJ3NlbmRCYXNrZXRGb3JBcHByb3ZhbCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFkZEl0ZW1Ub0Jhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXQgPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblsnYWRkSXRlbVRvQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQmFza2V0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXQgPSBHZXRVc2VyQmFza2V0UXVlcnlbJ2dldFVzZXJCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZXZhbGlkYXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldCA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblsncmV2YWxpZGF0ZUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJvb2tCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQm9va0Jhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBCb29rQmFza2V0ID0gQm9va0Jhc2tldE11dGF0aW9uWydib29rQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2FiSGlyZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENhYkhpcmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDYWJIaXJlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENhYkhpcmUgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRnJvbUxvY2F0aW9uID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydmcm9tTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgVG9Mb2NhdGlvbiA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsndG9Mb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBWaWFzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd2aWFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2FuY2VsQm9va2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhbmNlbEJvb2tpbmdNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDYW5jZWxCb29raW5nTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENhbmNlbEJvb2tpbmcgPSBDYW5jZWxCb29raW5nTXV0YXRpb25bJ2NhbmNlbEJvb2tpbmcnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBBZGRpdGlvbmFsSW5mbyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENhckhpcmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2FySGlyZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBEaXNwbGF5UmVjb3JkID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZW5kb3InXTtcbiAgZXhwb3J0IHR5cGUgVmVoaWNsZSA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZWhpY2xlJ107XG4gIGV4cG9ydCB0eXBlIENoYXJnZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnY2hhcmdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBpY2t1cExvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3BpY2t1cExvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybkxvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3JldHVybkxvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXVsnY3VzdG9tJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlybU1lc3NhZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ29uZmlybU1lc3NhZ2VzTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlRmF2b3VyaXRlU2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUmVjZW50U2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlVXNlckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRW1haWxCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBFbWFpbEJhc2tldFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEVtYWlsQmFza2V0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEVtYWlsQmFza2V0ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgT3duZXIgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVMYW5ndWFnZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnlHcm91cHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl1bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU3VwcG9ydFBob25lTnVtYmVyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnc3VwcG9ydFBob25lTnVtYmVyJ107XG4gIGV4cG9ydCB0eXBlIF9fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlckZvciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVyZW5jZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExveWFsdHlDb2RlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJhc2tldEl0ZW1zID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVc2VycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VsZWN0ZWRMYW5ndWFnZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIF9BdmFpbGFibGVMYW5ndWFnZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsndG1jJ107XG4gIGV4cG9ydCB0eXBlIF9PZmZpY2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIF9Db21wYW55R3JvdXBzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ29tcGFueSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddO1xuICBleHBvcnQgdHlwZSBfX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsndG1jJ107XG4gIGV4cG9ydCB0eXBlIF9PZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TdXBwb3J0UGhvbmVOdW1iZXIgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnc3VwcG9ydFBob25lTnVtYmVyJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9BcHByb3ZlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYXBwcm92ZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FwcHJvdmVyRm9yID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0RvY3VtZW50cyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJlZmVyZW5jZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfTG95YWx0eUNvZGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlclBhc3NlbmdlclR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTGVhZFBhc3NlbmdlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddO1xuICBleHBvcnQgdHlwZSBfX0RvY3VtZW50cyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VydmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZXJ2aWNlJ107XG4gIGV4cG9ydCB0eXBlIEZpeGVkVmFsdWUgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZml4ZWRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEZWZhdWx0VmFsdWUgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZGVmYXVsdFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFZhbHVlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWyd2YWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFZhbHVlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFZhbHVlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVXNlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgX19fRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19QcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXVsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ11bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVBheW1lbnRNZXRob2RzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydhdmFpbGFibGVQYXltZW50TWV0aG9kcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VsZWN0ZWRQYXltZW50TWV0aG9kJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnlHcm91cCA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddO1xuICBleHBvcnQgdHlwZSBfX0NvbXBhbnkgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddO1xuICBleHBvcnQgdHlwZSBfX19fVG1jID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndG1jJ107XG4gIGV4cG9ydCB0eXBlIF9fT2ZmaWNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl1bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VzZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlbGVjdGVkTGFuZ3VhZ2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgX19BdmFpbGFibGVMYW5ndWFnZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2F2YWlsYWJsZUxhbmd1YWdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fVG1jID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX19PZmZpY2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ29mZmljZSddO1xuICBleHBvcnQgdHlwZSBfX19fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnb2ZmaWNlJ11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQXBwcm92ZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0FwcHJvdmVyRm9yID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydhcHByb3ZlckZvciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19Eb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19QcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fTG95YWx0eUNvZGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1N1cHBvcnRQaG9uZU51bWJlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3N1cHBvcnRQaG9uZU51bWJlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEVycm9ycyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRXJyb3JzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBFcnJvcnNGcmFnbWVudFsnc2VydmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdyb3VwZWRGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEdyb3VwZWRGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgRmxpZ2h0cyA9IEdyb3VwZWRGaWVsZHNGcmFnbWVudFsnZmxpZ2h0cyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZsaWdodEpvdXJuZXlGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgRmFyZUluZm8gPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVJbmZvJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uQWlycG9ydERldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE1hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE9yaWdpbkFpcnBvcnREZXRhaWwgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYXJIaXJlRGVwb3RzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhckhpcmVEZXBvdHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90cyA9IEdldENhckhpcmVEZXBvdHNRdWVyeVsnZ2V0Q2FySGlyZURlcG90cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFPZmZpY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBDbG9zZXN0SG90ZWxzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsncmVzdWx0cyddWydjbG9zZXN0SG90ZWxzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lcyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVF1aWNrbGlzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3QgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBUcmFuc3BvcnRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsndGFncyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVJhdGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnY3VycmVuY3lDb252ZXJzaW9uJ107XG4gIGV4cG9ydCB0eXBlIERlcG9zaXQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncG9saWNpZXMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncGF5bWVudFR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVJvb21JbWFnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGbGlnaHRGYXJlUnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEZsaWdodFNlYXRNYXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRGbGlnaHRTZWF0TWFwID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFpcmNyYWZ0ID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhaXJjcmFmdCddO1xuICBleHBvcnQgdHlwZSBTZWF0cyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdHRyaWJ1dGVzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl1bJ2F0dHJpYnV0ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydlcnJvcnMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0SXJsRGlzY291bnRDYXJkcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldElybERpc2NvdW50Q2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHMgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlbJ2dldElSTERpc2NvdW50Q2FyZHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldElybFN1cHBsaWVyU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRJcmxTdXBwbGllclN0YXRpb24gPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVsnZ2V0SVJMU3VwcGxpZXJTdGF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5WydnZXRJUkxTdXBwbGllclN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlbJ2dldElSTFN1cHBsaWVyU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsTGl2ZURlcGFydHVyZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlcyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPcmlnaW4gPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnb3JpZ2luJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFN1YnNlcXVlbnRMb2NhdGlvbnMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnc3Vic2VxdWVudExvY2F0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFzc29jaWF0aW9ucyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdWydzdWJzZXF1ZW50TG9jYXRpb25zJ11bbnVtYmVyXVsnYXNzb2NpYXRpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbFN0YXRpb25RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb24gPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsY2FyZHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsY2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsY2FyZHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzID0gR2V0UmFpbGNhcmRzUXVlcnlbJ2dldFJhaWxjYXJkcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Umlza0FsZXJ0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSaXNrQWxlcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHMgPSBHZXRSaXNrQWxlcnRzUXVlcnlbJ2dldFJpc2tBbGVydHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJBZGRyZXNzZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5WydnZXRVc2VyQWRkcmVzc2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlbJ2dldFVzZXJDb21wYW55T2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5WydnZXRVc2VyQ29tcGFueU9mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIE9mZmljZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ29mZmljZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBQZXJpb2RDb25zdW1wdGlvbiA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ3BlcmlvZENvbnN1bXB0aW9uJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlbJ2dldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVsnZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJQaG9uZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJQaG9uZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzID0gR2V0VXNlclBob25lUXVlcnlbJ2dldFVzZXJQaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJSZWNlbnRTZWFyY2hlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXMgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVsnZ2V0VXNlclJlY2VudFNlYXJjaGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyUmVjZW50U2VhcmNoZXMnXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSb29tQXZhbGlhYmlsaXR5IHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1cnJlbmN5Q29udmVyc2lvbiA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWyduaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQb2xpY2llcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXVsnYWNjZXB0ZWRDYXJkcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRUeXBlcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEhvdGVscyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hIb3RlbHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbiA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIFRyYW5zcG9ydHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0cmFuc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVycmVkID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0YWdzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUmF0ZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIElzUG9zdGNvZGVWYWxpZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIExvY2F0aW9uX0RldGFpbCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRbJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQWlycG9ydHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEFpcnBvcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXTtcbiAgZXhwb3J0IHR5cGUgSWF0YU1hdGNoID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2lhdGFNYXRjaCddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaExvdW5nZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoTG91bmdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvdW5nZSA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG91bmdlJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25bJ21vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUGFya2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQYXJraW5nUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmcgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FyUGFyayA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FyUGFyayddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSYWlsSm91cm5leUZhcmUge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50WydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUZXJtcyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50Wyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBEeW5hbWljQ29uZGl0aW9ucyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50Wyd0ZXJtcyddWydkeW5hbWljQ29uZGl0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmFpbEpvdXJuZXlPcHRpb24ge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlMZWdzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnam91cm5leUxlZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYWxsaW5nUG9pbnRzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnam91cm5leUxlZ3MnXVtudW1iZXJdWydjYWxsaW5nUG9pbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2luZ2xlSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnc2luZ2xlSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsncmV0dXJuSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRHVhbFNpbmdsZUpvdXJuZXlGYXJlcyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ2R1YWxTaW5nbGVKb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPcGVuUmV0dXJuSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnb3BlblJldHVybkpvdXJuZXlGYXJlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldFF1ZXVlTGlzdCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFjY291bnRzTGlzdCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldEV4dHJhcyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3BsdXNCdXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hSYWlsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFJhaWxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUmFpbCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVGYXZvdXJpdGVTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoID0gU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uWydzYXZlRmF2b3VyaXRlU2VhcmNoJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTYXZlUmVjZW50U2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaCA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblsnc2F2ZVJlY2VudFNlYXJjaCddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZVVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzcyA9IFNhdmVVc2VyQWRkcmVzc011dGF0aW9uWydzYXZlVXNlckFkZHJlc3MnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hBaXJsaW5lcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQWlybGluZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQWlybGluZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddO1xuICBleHBvcnQgdHlwZSBJYXRhTWF0Y2ggPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddWydpYXRhTWF0Y2gnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2l0aWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2l0aWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENpdGllcyA9IFNlYXJjaENpdGllc1F1ZXJ5WydzZWFyY2hDaXRpZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaENpdGllc1F1ZXJ5WydzZWFyY2hDaXRpZXMnXVtudW1iZXJdWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENvbmZlcm1hQ2l0aWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllcyA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlbJ3NlYXJjaENvbmZlcm1hQ2l0aWVzJ107XG4gIGV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25zID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVsnc2VhcmNoQ29uZmVybWFDaXRpZXMnXVsnc3VnZ2VzdGlvbnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEV1cm9zdGFyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIEluYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBUYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUb3RhbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9SZXN1bHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Rpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzY291bnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RvdGFsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9DYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9VcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX090aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGbGlnaHRzVjIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBOb1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ub3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxDaGFpbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSXJsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSXJsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaElybCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGVhcGVzdFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRPcHRpb25zID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQm9va2VkVGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRFeHRyYXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9ucyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFBvc3Rjb2RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRQb3N0Y29kZURldGFpbHMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVsnZ2V0UG9zdGNvZGVEZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUmFpbFN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9ucyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pR3JvdXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JR3JvdXAnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uWydzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1NaVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZSA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1NSVZhbHVlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblsnc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVCYXNrZXROb3RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXMgPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uWyd1cGRhdGVCYXNrZXROb3RlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldFRpdGxlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZSA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25bJ3VwZGF0ZUJhc2tldFRpdGxlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXNlckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVXNlckZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gVXNlckZpZWxkc0ZyYWdtZW50WydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERvY3VtZW50cyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG95YWx0eUNvZGVzID0gVXNlckZpZWxkc0ZyYWdtZW50Wydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJTZXJ2aWNlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXMgPSBHZXRVc2VyU2VydmljZXNRdWVyeVsnZ2V0VXNlclNlcnZpY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyVWlDb25maWdzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclVpQ29uZmlncyA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVsnZ2V0VXNlclVJQ29uZmlncyddO1xuICBleHBvcnQgdHlwZSBBbGwgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlbJ2dldFVzZXJVSUNvbmZpZ3MnXVsnYWxsJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyTWVzc2FnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzID0gR2V0VXNlck1lc3NhZ2VzUXVlcnlbJ2dldFVzZXJNZXNzYWdlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclBob25lTnVtYmVycyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnMgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlbJ2dldFVzZXJQaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldFVzZXJMYW5ndWFnZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2UgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblsnc2V0VXNlckxhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblsnc2V0VXNlckxhbmd1YWdlJ11bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlciA9IEdldFVzZXJRdWVyeVsnZ2V0VXNlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJDYW5Cb29rRm9yIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvciA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlbJ3NlYXJjaFVzZXJDYW5Cb29rRm9yJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeTtcbn1cblxuZXhwb3J0IGNvbnN0IE93bmVyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgT3duZXJGaWVsZHMgb24gVXNlciB7XG4gIGlkXG4gIHRpdGxlXG4gIGZvcmVuYW1lXG4gIHN1cm5hbWVcbiAgZW1haWxcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFRyYXZlbGxlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBCYXNrZXRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBCYXNrZXRGaWVsZHMgb24gQmFza2V0IHtcbiAgaWRcbiAgb3duZXIge1xuICAgIC4uLk93bmVyRmllbGRzXG4gIH1cbiAgcmVmZXJlbmNlXG4gIHRpdGxlXG4gIG5vdGVzXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgYm9va2VkQXRcbiAgYmFza2V0SXRlbXMge1xuICAgIGlkXG4gICAgYWR1bHRzXG4gICAgY2hpbGRyZW5cbiAgICBpbmZhbnRzXG4gICAgZGV0YWlsXG4gICAgZGV0YWlsSGFzaFxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGV4cGlyeVxuICAgIGV4cGlyZWRcbiAgICBzZWFyY2hRdWVyeVxuICAgIHByaWNlXG4gICAgY3VycmVuY3lcbiAgICBtaUdyb3Vwc0F2YWlsYWJsZVxuICAgIG1pR3JvdXBTZWxlY3RlZFxuICAgIHZhbGlkYXRlZFxuICAgIGxhdGVzdFZhbGlkYXRpb25cbiAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VcbiAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlXG4gICAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZVxuICAgIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlXG4gICAgc3RhdHVzXG4gICAgcG5yTG9jYXRvclxuICAgIGJvb2tpbmdEZXRhaWxcbiAgICBhdmFpbGFibGVQYXltZW50TWV0aG9kcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgc2VsZWN0ZWRQYXltZW50TWV0aG9kIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlckl0ZW1BZGRyZXNzIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJJdGVtUGhvbmVOdW1iZXIgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlckFkZHJlc3MgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlclBob25lTnVtYmVyIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIGNvMlBlckl0ZW1cbiAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICBvdXRib3VuZERhdGVcbiAgICBpbmJvdW5kRGF0ZVxuICAgIHNlcnZpY2Uge1xuICAgICAgaWRcbiAgICAgIHR5cGVcbiAgICB9XG4gICAgdXNlcnMge1xuICAgICAgLi4uVHJhdmVsbGVyRmllbGRzXG4gICAgfVxuICAgIHVzZXJQYXNzZW5nZXJUeXBlcyB7XG4gICAgICBpZFxuICAgICAgcGFzc2VuZ2VyVHlwZVxuICAgIH1cbiAgICBsZWFkUGFzc2VuZ2VyIHtcbiAgICAgIC4uLlRyYXZlbGxlckZpZWxkc1xuICAgIH1cbiAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICBpZFxuICAgICAgZGJJZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGhhbmRvZmZcbiAgICAgIHZhbHVlTWFza1xuICAgICAgdWlQcmVzZW50YXRpb25cbiAgICAgIG1hbmRhdG9yeVxuICAgICAgcGVyUGFzc2VuZ2VyXG4gICAgICBwZXJCb29raW5nXG4gICAgICBhZ2VudE9ubHlcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBmaXhlZFxuICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgdmFsdWVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGdyb3VwXG4gICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgIHZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudFxuICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICB9XG4gIHN0YXR1c1xuICBjb21wYW55R3JvdXAge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdmFsaWRhdGVkXG59XG4gICAgJHtPd25lckZpZWxkc0ZyYWdtZW50RG9jfVxuJHtUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudERvY31gO1xuZXhwb3J0IGNvbnN0IEVycm9yc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEVycm9ycyBvbiBTZWFyY2hFcnJvciB7XG4gIHNlcnZpY2Uge1xuICAgIGlkXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICB9XG4gIGVycm9yTWVzc2FnZVxuICBlcnJvckNvZGVcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEdyb3VwZWRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBHcm91cGVkRmllbGRzIG9uIEdyb3VwRmxpZ2h0cyB7XG4gIHJlZmVyZW5jZUlEXG4gIGZsaWdodElEXG4gIGJvdW5kSW5kaWNhdG9yXG4gIG1pblByaWNlXG4gIG1heFByaWNlXG4gIGZsaWdodHMge1xuICAgIEVjb25vbXlSZXN0cmljdGVkXG4gICAgRWNvbm9teU5vQmFnc1xuICAgIEVjb25vbXlGbGV4aVxuICAgIFByZW1pdW1FY29ub215XG4gICAgQnVzaW5lc3NcbiAgICBGaXJzdFxuICB9XG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgRmxpZ2h0Sm91cm5leUZpZWxkcyBvbiBGbGlnaHRKb3VybmV5IHtcbiAgaWRcbiAgYm9va2luZ0NvZGVcbiAgY2FiaW5DbGFzc1xuICBjYWJpbkNvZGVcbiAgY2FiaW5SYXdcbiAgZGF0ZVRpbWVBcnJpdmluZ1xuICBkYXRlVGltZUFycml2aW5nVVRDXG4gIGRhdGVUaW1lRGVwYXJ0aW5nXG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gIGRlc3RpbmF0aW9uQWlycG9ydFxuICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lXG4gIGRlc3RpbmF0aW9uVGVybWluYWxcbiAgZXF1aXBtZW50Q29kZVxuICBlcXVpcG1lbnROYW1lXG4gIGZhcmVCYXNpc0NvZGVcbiAgZ292ZXJuaW5nQ2FycmllclxuICBtYXJrZXRpbmdDYXJyaWVyXG4gIG1hcmtldGluZ0NhcnJpZXJOYW1lXG4gIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICBtYXJrZXRpbmdOYW1lc1xuICBtYXJyaWFnZUdyb3VwXG4gIG9wZXJhdGluZ0NhcnJpZXJcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gIG9yaWdpbkFpcnBvcnRcbiAgb3JpZ2luQWlycG9ydE5hbWVcbiAgb3JpZ2luVGVybWluYWxcbiAgc3RvcHNcbiAgdG90YWxEdXJhdGlvblxuICBzZWF0c0F2YWlsYWJsZVxuICB2ZW5kb3JDb2RlXG4gIG9yaWdpbkFpcnBvcnRcbiAgZmFyZUluZm8ge1xuICAgIHRpdGxlXG4gICAgdHlwZVxuICAgIGNvZGVcbiAgICBzdXBwbGllckNvZGVcbiAgfVxuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwge1xuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBhbHRpdHVkZVxuICAgIHN0YXRlXG4gICAgY2l0eVxuICAgIHJvYWRcbiAgICBwb3B1bGFyaXR5XG4gICAgYXJlYVxuICAgIGxvY2F0aW9uXG4gICAgb2Zmc2V0XG4gICAgYWlycG9ydE5hbWVcbiAgICBjb3VudHJ5TmFtZVxuICAgIGNvdW50cnlDb2RlXG4gICAgcG9zdGNvZGVcbiAgfVxuICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICBuYW1lXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbG9nb1xuICAgIGJhbm5lclxuICAgIHBvcHVsYXJpdHlcbiAgfVxuICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICBuYW1lXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbG9nb1xuICAgIGJhbm5lclxuICAgIHBvcHVsYXJpdHlcbiAgfVxuICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgY2hhbmdlIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgbm9TaG93IHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgdXBncmFkZSB7XG4gICAgICBuYW1lXG4gICAgICB0eXBlXG4gICAgICBjdXJyZW5jeVxuICAgICAgYW1vdW50XG4gICAgICByZW1hcmtcbiAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICByZWZ1bmRhYmxlSW5kXG4gICAgfVxuICAgIG90aGVyIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gIH1cbiAgYWRkaXRpb25hbFxuICBvcmlnaW5BaXJwb3J0RGV0YWlsIHtcbiAgICBpYXRhXG4gICAgaWNhb1xuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgYWx0aXR1ZGVcbiAgICBzdGF0ZVxuICAgIGNpdHlcbiAgICByb2FkXG4gICAgcG9wdWxhcml0eVxuICAgIGFyZWFcbiAgICBsb2NhdGlvblxuICAgIG9mZnNldFxuICAgIGFpcnBvcnROYW1lXG4gICAgY291bnRyeU5hbWVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHBvc3Rjb2RlXG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBSb29tQXZhbGlhYmlsaXR5IG9uIEhvdGVsQXZhaWxhYmlsaXR5IHtcbiAgaG90ZWxJZFxuICBpbWFnZVVybFxuICByb29tcyB7XG4gICAgcm9vbUlkXG4gICAgcm9vbVR5cGVcbiAgICByb29tRGVzY3JpcHRpb25cbiAgICByYXRlQ29kZVxuICAgIHJhdGVTb3VyY2VcbiAgICByYXRlRGVzY3JpcHRpb25cbiAgICB0b3RhbFxuICAgIGN1cnJlbmN5Q29kZVxuICAgIGN1cnJlbmN5Q29udmVyc2lvbiB7XG4gICAgICByYXRlXG4gICAgICBsb2NhbENvZGVcbiAgICAgIGxvY2FsVG90YWxcbiAgICAgIGNvbnZlcnRlZENvZGVcbiAgICAgIGNvbnZlcnRlZFRvdGFsXG4gICAgfVxuICAgIGRlcG9zaXQge1xuICAgICAgYW1vdW50XG4gICAgICBwb2xpY3lcbiAgICAgIHJlcXVpcmVkXG4gICAgfVxuICAgIG5pZ2h0cyB7XG4gICAgICBuaWdodFxuICAgICAgcmF0ZVxuICAgICAgaW5mb1xuICAgICAgZGF0ZVxuICAgIH1cbiAgICBwb2xpY2llcyB7XG4gICAgICBjYW5jZWxsYXRpb25cbiAgICAgIGRlcG9zaXRcbiAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICBnZW5lcmFsXG4gICAgICBndWFyYW50ZWVcbiAgICAgIHJlZnVuZEF2YWlsYWJsZVxuICAgIH1cbiAgICB0YXgge1xuICAgICAgaW5jbHVkZWRcbiAgICAgIHJhdGVcbiAgICB9XG4gICAgYWNjZXB0ZWRDYXJkcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBwYXltZW50VHlwZXMge1xuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgIH1cbiAgICB0bWNQcmVmZXJyZWRcbiAgICBjb21wYW55UHJlZmVycmVkXG4gICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgIHVuYXZhaWxhYmxlXG4gICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gIH1cbiAgcHJwblxuICBjdXJyZW5jeUNvZGVcbiAgaXNCdXN5XG4gIHNvdXJjZVxuICB2ZXJzaW9uXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBMT0NBVElPTl9ERVRBSUwgb24gTG9jYXRpb25EZXRhaWwge1xuICBjb250aW5lbnRcbiAgY291bnRyeVxuICBjb3VudHJ5Q29kZVxuICBzdGF0ZVxuICBjaXR5XG4gIGNvb3JkaW5hdGVzIHtcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIGFsdGl0dWRlXG4gIH1cbiAgcG9zdGNvZGVcbiAgcm9hZFxuICBncmlkUmVmZXJlbmNlXG4gIG5vcnRoaW5nXG4gIGVhc3Rpbmdcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFJhaWxKb3VybmV5RmFyZSBvbiBSYWlsSm91cm5leUZhcmUge1xuICBwcm92aWRlcklkXG4gIHByb3ZpZGVyTmFtZVxuICBpZGVudGlmaWVycyB7XG4gICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgam91cm5leUlkZW50aWZpZXJcbiAgICBwcm92aWRlclxuICAgIGZhcmVJZGVudGlmaWVyXG4gICAgZGlyZWN0aW9uXG4gICAgc2luZ2xlT3JSZXR1cm5cbiAgICBib29raW5nUmVmXG4gIH1cbiAgdHlwZVxuICBwcmljZVxuICBjdXJyZW5jeVxuICBmYXJlSGFzaFxuICB0ZXJtcyB7XG4gICAgYXZhaWxhYmlsaXR5UnVsZVxuICAgIGNoYW5nZVJ1bGVcbiAgICBjaGlsZERpc2NvdW50XG4gICAgZHluYW1pY0NvbmRpdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgZ2VuZXJhbERpc2NvdW50XG4gICAgZ2VuZXJhbFZhbGlkaXR5XG4gICAgam91cm5leUJyZWFrUnVsZVxuICAgIGpvdXJuZXlUeXBlXG4gICAga2lvc2tBdmFpbGFibGVcbiAgICBwcmVCb29raW5nUmVxdWlyZW1lbnRcbiAgICByYWlsY2FyZERpc2NvdW50XG4gICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgIHJlc2VydmF0aW9uUnVsZVxuICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgdGlja2V0VHlwZUNsYXNzXG4gICAgdGlja2V0VHlwZUNvZGVcbiAgICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uXG4gICAgdGlja2V0VHlwZU5hbWVcbiAgICB0b2RBdmFpbGFibGVcbiAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgdmFsaWRPdXRSdWxlXG4gICAgdmFsaWRSZXR1cm5SdWxlXG4gIH1cbiAgY2xhc3NcbiAgc2luZ2xlT3JSZXR1cm5cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlPcHRpb24gb24gUmFpbEpvdXJuZXlPcHRpb24ge1xuICBmcm9tXG4gIGZyb21Db2RlXG4gIHRvXG4gIHRvQ29kZVxuICBqb3VybmV5SGFzaFxuICBkZXBhcnREYXRlVGltZVxuICBhcnJpdmVEYXRlVGltZVxuICBjbzJQZXJJdGVtXG4gIGNvMlBlclBhc3NlbmdlclxuICBjaGFuZ2VzXG4gIG92ZXJ0YWtlblxuICBqb3VybmV5TGVncyB7XG4gICAgaWRcbiAgICBvcGVyYXRvclxuICAgIGRlcGFydFxuICAgIGFycml2ZVxuICAgIGFycml2ZURhdGVUaW1lXG4gICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgY2FsbGluZ1BvaW50cyB7XG4gICAgICBzdGF0aW9uTmFtZVxuICAgICAgc3RhdGlvbkNvZGVcbiAgICAgIGFycml2YWxEYXRlVGltZVxuICAgICAgZGVwYXJ0dXJlRGF0ZVRpbWVcbiAgICAgIHNjaGVkdWxlZFBsYXRmb3JtXG4gICAgICBzdGF0aW9uQ2xhc3NpZmljYXRpb25cbiAgICAgIHN0b3BwaW5nUGF0dGVyblxuICAgIH1cbiAgfVxuICBzaW5nbGVKb3VybmV5RmFyZXMge1xuICAgIC4uLlJhaWxKb3VybmV5RmFyZVxuICB9XG4gIHJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgZHVhbFNpbmdsZUpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgdGlja2V0UXVldWVMaXN0IHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICB0eXBlXG4gIH1cbiAgYWNjb3VudHNMaXN0IHtcbiAgICBpZFxuICAgIHJlZmVyZW5jZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgaXNEZWZhdWx0XG4gICAgdHlwZVxuICB9XG4gIHRpY2tldEV4dHJhcyB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgdHlwZVxuICAgICAgbG9jYXRpb25cbiAgICAgIGRhdGVcbiAgICAgIGpvdXJuZXlJZFxuICAgICAgaXNPcmlnaW5cbiAgICB9XG4gICAgdHlwZVxuICAgIGxvY2F0aW9uXG4gICAgZGF0ZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgYW1vdW50XG4gICAgYWR1bHRBbW91bnRcbiAgICBjaGlsZEFtb3VudFxuICAgIGN1cnJlbmN5XG4gIH1cbiAgcGx1c0J1cyB7XG4gICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgIG9yaWdpblN0YXRpb25OTENcbiAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgfVxufVxuICAgICR7UmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2N9YDtcbmV4cG9ydCBjb25zdCBVc2VyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVXNlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgZG9iXG4gIGFkbWluXG4gIHRtY0FkbWluXG4gIGNvbXBhbnlBZG1pblxuICBib29rZXJUeXBlXG4gIGF1dGhNZXRob2RzXG4gIGFjdGl2ZVxuICBwYXNzd29yZExhc3RVcGRhdGVkXG4gIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG4gIHBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbiAgZG9jdW1lbnRzIHtcbiAgICBpZFxuICAgIGRvY1R5cGVcbiAgICBuYXRpb25hbGl0eVxuICAgIGdlbmRlclxuICAgIG51bWJlclxuICAgIGNvdW50cnlcbiAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICBkYXRlT2ZJc3N1ZVxuICAgIGRhdGVPZkV4cGlyeVxuICAgIHByaW1hcnlcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgfVxuICBsb3lhbHR5Q29kZXMge1xuICAgIGlkXG4gICAgY2FycmllclxuICAgIGNvZGVcbiAgICB0eXBlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgcHJlZmVyZW5jZXMge1xuICAgIGlkXG4gICAgc2VydmljZVR5cGVcbiAgICBwcmVmZXJlbmNlS2V5XG4gICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWNjZXB0TmV3UHJpY2UoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGFjY2VwdE5ld1ByaWNlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBY2NlcHROZXdQcmljZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBY2NlcHROZXdQcmljZU11dGF0aW9uLCBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBY2NlcHROZXdQcmljZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGFkZFVzZXJzVG9CYXNrZXRJdGVtKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkdXNlcnM6IFtVc2VyUGFzc2VuZ2VyVHlwZUlucHV0IV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiEpIHtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW0oY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIHVzZXJzOiAkdXNlcnMpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBZGRVc2Vyc1RvQmFza2V0SXRlbUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uLCBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBcHBseUppdEZsaWdodFJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgYXBwbHlKSVRGbGlnaHRSdWxlcygkc2VsZWN0ZWRPdXRib3VuZEZsaWdodDogSlNPTiEsICRhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogW0pTT04hXSEpIHtcbiAgYXBwbHlKSVRGbGlnaHRSdWxlcyhzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiAkc2VsZWN0ZWRPdXRib3VuZEZsaWdodCwgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6ICRhdmFpbGFibGVJbmJvdW5kRmxpZ2h0cylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFwcGx5Sml0RmxpZ2h0UnVsZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8QXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5LCBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQXBwbHlKaXRIb3RlbFJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgYXBwbHlKSVRIb3RlbFJ1bGVzKCRkYXRhOiBbSlNPTiFdISkge1xuICBhcHBseUpJVEhvdGVsUnVsZXMoZGF0YTogJGRhdGEpIHtcbiAgICByZXN1bHRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQXBwbHlKaXRIb3RlbFJ1bGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5LCBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQXBwbHlKaXRIb3RlbFJ1bGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckJhc2tldHMoJHVzZXI6IElELCAkdHJhdmVsbGVyOiBJRCwgJGJhc2tldFN0YXR1czogQmFza2V0U3RhdHVzLCAkY3JlYXRlZEFmdGVyOiBEYXRlVGltZSwgJGNyZWF0ZWRCZWZvcmU6IERhdGVUaW1lLCAkYm9va2VkQWZ0ZXI6IERhdGVUaW1lLCAkYm9va2VkQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEJlZm9yZTogRGF0ZVRpbWUsICRkYXRlT2ZUcmF2ZWxBZnRlcjogRGF0ZVRpbWUsICRiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogU3RyaW5nLCAkYmFza2V0UmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRUaXRsZTogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlLCAkY29udmVydEN1cnJlbmN5VG86IFN0cmluZykge1xuICBnZXRVc2VyQmFza2V0cyhjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCB1c2VyOiAkdXNlciwgdHJhdmVsbGVyOiAkdHJhdmVsbGVyLCBiYXNrZXRTdGF0dXM6ICRiYXNrZXRTdGF0dXMsIGNyZWF0ZWRBZnRlcjogJGNyZWF0ZWRBZnRlciwgY3JlYXRlZEJlZm9yZTogJGNyZWF0ZWRCZWZvcmUsIGJvb2tlZEFmdGVyOiAkYm9va2VkQWZ0ZXIsIGJvb2tlZEJlZm9yZTogJGJvb2tlZEJlZm9yZSwgZGF0ZU9mVHJhdmVsQmVmb3JlOiAkZGF0ZU9mVHJhdmVsQmVmb3JlLCBkYXRlT2ZUcmF2ZWxBZnRlcjogJGRhdGVPZlRyYXZlbEFmdGVyLCBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogJGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlLCBiYXNrZXRSZWZlcmVuY2U6ICRiYXNrZXRSZWZlcmVuY2UsIGJhc2tldFRpdGxlOiAkYmFza2V0VGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQmFza2V0c1F1ZXJ5LCBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVCYXNrZXQoJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nKSB7XG4gIGRlbGV0ZUJhc2tldChpZDogJGlkLCByZWZlcmVuY2U6ICRyZWZlcmVuY2UpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlQmFza2V0TXV0YXRpb24sIERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ3JlYXRlQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY3JlYXRlQmFza2V0KCR0aXRsZTogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGNyZWF0ZUJhc2tldCh0aXRsZTogJHRpdGxlKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ3JlYXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPENyZWF0ZUJhc2tldE11dGF0aW9uLCBDcmVhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ3JlYXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFJlbW92ZUl0ZW1Gcm9tQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gcmVtb3ZlSXRlbUZyb21CYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgcmVtb3ZlSXRlbUZyb21CYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0pIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZW1vdmVJdGVtRnJvbUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uLCBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZW1vdmVJdGVtRnJvbUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZW5kQmFza2V0Rm9yQXBwcm92YWxEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZW5kQmFza2V0Rm9yQXBwcm92YWwoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSB0cnVlKSB7XG4gIHNlbmRCYXNrZXRGb3JBcHByb3ZhbChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXQ6ICRiYXNrZXQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZW5kQmFza2V0Rm9yQXBwcm92YWxHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb24sIFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQWRkSXRlbVRvQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWRkSXRlbVRvQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0OiBJRCwgJHNlcnZpY2U6IElEISwgJGRldGFpbDogSlNPTiEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkaW5mYW50czogSW50LCAkcHJpY2U6IEZsb2F0ISwgJGN1cnJlbmN5OiBDdXJyZW5jeUNvZGUhLCAkc2VhcmNoUXVlcnk6IEpTT04hLCAkcXVpY2tBZGQ6IEJvb2xlYW4sICR1c2VyczogW1VzZXJQYXNzZW5nZXJUeXBlSW5wdXRdLCAkbGVhZFBhc3NlbmdlcjogSUQsICRjbzJQZXJJdGVtOiBGbG9hdCwgJGNvMlBlclBhc3NlbmdlcjogRmxvYXQsICRvdXRib3VuZERhdGU6IERhdGVUaW1lISwgJGluYm91bmREYXRlOiBEYXRlVGltZSwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBhZGRJdGVtVG9CYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0OiAkYmFza2V0LCBzZXJ2aWNlOiAkc2VydmljZSwgZGV0YWlsOiAkZGV0YWlsLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGluZmFudHM6ICRpbmZhbnRzLCBwcmljZTogJHByaWNlLCBjdXJyZW5jeTogJGN1cnJlbmN5LCBzZWFyY2hRdWVyeTogJHNlYXJjaFF1ZXJ5LCBxdWlja0FkZDogJHF1aWNrQWRkLCB1c2VyczogJHVzZXJzLCBsZWFkUGFzc2VuZ2VyOiAkbGVhZFBhc3NlbmdlciwgY28yUGVySXRlbTogJGNvMlBlckl0ZW0sIGNvMlBlclBhc3NlbmdlcjogJGNvMlBlclBhc3Nlbmdlciwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBpbmJvdW5kRGF0ZTogJGluYm91bmREYXRlKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQWRkSXRlbVRvQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uLCBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQWRkSXRlbVRvQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBnZXRVc2VyQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRRdWVyeSwgR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZXZhbGlkYXRlQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZXZhbGlkYXRlQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZXZhbGlkYXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiwgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZXZhbGlkYXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEJvb2tCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBib29rQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHN1cHBsZW1lbnRhcnlJbmZvOiBbU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvIV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGJvb2tCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgc3VwcGxlbWVudGFyeUluZm86ICRzdXBwbGVtZW50YXJ5SW5mbykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEJvb2tCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Qm9va0Jhc2tldE11dGF0aW9uLCBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEJvb2tCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FiSGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhYkhpcmUoJGRlcGFydHM6IERhdGVUaW1lISwgJGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkdG9Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHZpYXM6IFtDYWJIaXJlTG9jYXRpb25JbnB1dF0sICR2ZWhpY2xlVHlwZTogQ2FiSGlyZVZlaGljbGVUeXBlKSB7XG4gIHNlYXJjaENhYkhpcmUoZGVwYXJ0czogJGRlcGFydHMsIGZyb21Mb2NhdGlvbjogJGZyb21Mb2NhdGlvbiwgdG9Mb2NhdGlvbjogJHRvTG9jYXRpb24sIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHZpYXM6ICR2aWFzLCB2ZWhpY2xlVHlwZTogJHZlaGljbGVUeXBlKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgc3VwcGxpZXJOYW1lXG4gICAgICBlc3RpbWF0ZWRDTzJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICB2ZWhpY2xlVHlwZVxuICAgICAgdHJpcERpc3RhbmNlTWV0cmVzXG4gICAgICB0cmlwRHVyYXRpb25TZWNvbmRzXG4gICAgICBkZXBhcnRzXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIGZyb21Mb2NhdGlvbiB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgICB0b0xvY2F0aW9uIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICAgIHZpYXMge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhYkhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FiSGlyZVF1ZXJ5LCBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhYkhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FuY2VsQm9va2luZ0RvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGNhbmNlbEJvb2tpbmcoJGJhc2tldEl0ZW06IElEISkge1xuICBjYW5jZWxCb29raW5nKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgY2FuY2VsbGVkXG4gICAgY2FuY2VsbGF0aW9uRmVlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENhbmNlbEJvb2tpbmdHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q2FuY2VsQm9va2luZ011dGF0aW9uLCBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENhbmNlbEJvb2tpbmdEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCgkbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyEpIHtcbiAgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QobG9jYXRpb25EZXRhaWxzOiAkbG9jYXRpb25EZXRhaWxzKSB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgbG9jYXRvclxuICAgICAgcnBoXG4gICAgICBzdGF0dXNcbiAgICAgIHZlaFR5cGVcbiAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgZXh0ZW5kZWRMb2NhdGlvbkNvZGVcbiAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICBwaWNrdXBEYXRlVGltZVxuICAgICAgZHJvcG9mZkRhdGVUaW1lXG4gICAgICB2ZW5kb3JcbiAgICB9XG4gICAgdmVuZG9yIHtcbiAgICAgIG5hbWVcbiAgICAgIGxvZ29cbiAgICB9XG4gICAgYWRkcmVzcyB7XG4gICAgICBuYW1lXG4gICAgICB0b3BMaW5lXG4gICAgICBjaXR5XG4gICAgICByZWdpb25cbiAgICAgIHBvc3RDb2RlXG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVDb2RlXG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgfVxuICAgIGFkZGl0aW9uYWxJbmZvIHtcbiAgICAgIG5hbWVcbiAgICAgIHRleHRcbiAgICAgIGpzb25cbiAgICAgIGN1c3RvbSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeSwgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FySGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhckhpcmUoJGFpcnBvcnQ6IENhckhpcmVBaXJwb3J0SW5wdXQsICRjaXR5OiBDYXJIaXJlQ2l0eUlucHV0LCAkbG9jYXRpb246IENhckhpcmVMb2NhdGlvbklucHV0LCAkZGVwb3Q6IElucHV0Q2FySGlyZURlcG90LCAkcGlja3VwRGF0ZVRpbWU6IFN0cmluZyEsICRkcm9wb2ZmRGF0ZVRpbWU6IFN0cmluZyEsICR2ZW5kb3I6IFN0cmluZywgJGNsYXNzOiBDYXJIaXJlQ2xhc3MsICR0eXBlOiBDYXJIaXJlVHlwZSwgJHRyYW5zbWlzc2lvbjogQ2FySGlyZVRyYW5zbWlzc2lvbiwgJGFpcmNvbjogQm9vbGVhbiwgJGVzdGltYXRlZERhaWx5RGlzdGFuY2U6IEZsb2F0LCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiBEaXN0YW5jZVR5cGVzKSB7XG4gIHNlYXJjaENhckhpcmUoYWlycG9ydDogJGFpcnBvcnQsIGNpdHk6ICRjaXR5LCBsb2NhdGlvbjogJGxvY2F0aW9uLCBkZXBvdDogJGRlcG90LCBwaWNrdXBEYXRlVGltZTogJHBpY2t1cERhdGVUaW1lLCBkcm9wb2ZmRGF0ZVRpbWU6ICRkcm9wb2ZmRGF0ZVRpbWUsIHZlbmRvcjogJHZlbmRvciwgY2xhc3M6ICRjbGFzcywgdHlwZTogJHR5cGUsIHRyYW5zbWlzc2lvbjogJHRyYW5zbWlzc2lvbiwgYWlyY29uOiAkYWlyY29uLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZSwgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgIGxvY2F0b3JcbiAgICAgICAgcnBoXG4gICAgICAgIHN0YXR1c1xuICAgICAgICB2ZWhUeXBlXG4gICAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICAgIGRyb3BvZmZEYXRlVGltZVxuICAgICAgICB2ZW5kb3JcbiAgICAgIH1cbiAgICAgIGRpc3BsYXlSZWNvcmQge1xuICAgICAgICBzdGF0dXNcbiAgICAgICAgcGlja3VwXG4gICAgICAgIGRyb3BvZmZcbiAgICAgICAgdmVuZG9yIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgbG9nb1xuICAgICAgICB9XG4gICAgICAgIHZlaGljbGUge1xuICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHRyYW5zbWlzc2lvblxuICAgICAgICAgIGFpcmNvblxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgaW1hZ2VzXG4gICAgICAgIH1cbiAgICAgICAgY2hhcmdlcyB7XG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgfVxuICAgICAgICBwaWNrdXBMb2NhdGlvbiB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRvcExpbmVcbiAgICAgICAgICBjaXR5XG4gICAgICAgICAgcmVnaW9uXG4gICAgICAgICAgcG9zdENvZGVcbiAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBzdGF0ZUNvZGVcbiAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybkxvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0ZXh0XG4gICAgICAgICAganNvblxuICAgICAgICAgIGN1c3RvbSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhckhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FySGlyZVF1ZXJ5LCBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhckhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ29uZmlybU1lc3NhZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY29uZmlybU1lc3NhZ2VzKCRtZXNzYWdlczogW1N0cmluZyFdISkge1xuICBjb25maXJtTWVzc2FnZXMobWVzc2FnZXM6ICRtZXNzYWdlcylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENvbmZpcm1NZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDb25maXJtTWVzc2FnZXNNdXRhdGlvbiwgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENvbmZpcm1NZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVGYXZvdXJpdGVTZWFyY2goJGlkOiBJRCEpIHtcbiAgZGVsZXRlRmF2b3VyaXRlU2VhcmNoKGlkOiAkaWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24sIERlbGV0ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlUmVjZW50U2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlUmVjZW50U2VhcmNoKCRpZDogSUQhKSB7XG4gIGRlbGV0ZVJlY2VudFNlYXJjaChpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlUmVjZW50U2VhcmNoR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uLCBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlUmVjZW50U2VhcmNoRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZVVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlVXNlckFkZHJlc3MoJGlkOiBJRCEpIHtcbiAgZGVsZXRlVXNlckFkZHJlc3MoaWQ6ICRpZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24sIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEVtYWlsQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZW1haWxCYXNrZXQoJGlkOiBJRCEpIHtcbiAgZW1haWxCYXNrZXQoaWQ6ICRpZCkge1xuICAgIGlkXG4gICAgb3duZXIge1xuICAgICAgaWRcbiAgICAgIHRpdGxlXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICAgIHVzZXJuYW1lXG4gICAgICBlbXBsb3llZUlkXG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgZG9iXG4gICAgICBhZG1pblxuICAgICAgdG1jQWRtaW5cbiAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgYm9va2VyVHlwZVxuICAgICAgYXV0aE1ldGhvZHNcbiAgICAgIGFjdGl2ZVxuICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgaXNvQ29kZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGlzb0NvZGVcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgdG1jIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBvZmZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBjb21wYW55R3JvdXBzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBjb21wYW55IHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0bWMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgb2ZmaWNlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHN1cHBvcnRQaG9uZU51bWJlciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIHN1cHBvcnRFbWFpbFxuICAgICAgICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgIHN0cmVldFxuICAgICAgICB0b3duXG4gICAgICAgIGNvdW50eVxuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgIGlkXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIGFyZWFDb2RlXG4gICAgICAgIG51bWJlclxuICAgICAgICBleHRlbnNpb25cbiAgICAgICAgdHlwZVxuICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGFwcHJvdmVycyB7XG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwcmlvcml0eVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhcHByb3ZlckZvciB7XG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwcmlvcml0eVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZG9jVHlwZVxuICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICBnZW5kZXJcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIGNvdW50cnlcbiAgICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICBwcmltYXJ5XG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICBpZFxuICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIGNhcnJpZXJcbiAgICAgICAgY29kZVxuICAgICAgICB0eXBlXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIHJlZmVyZW5jZVxuICAgIHRpdGxlXG4gICAgbm90ZXNcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICBiYXNrZXRJdGVtcyB7XG4gICAgICBpZFxuICAgICAgYWR1bHRzXG4gICAgICBjaGlsZHJlblxuICAgICAgaW5mYW50c1xuICAgICAgZGV0YWlsXG4gICAgICBkZXRhaWxIYXNoXG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgZXhwaXJ5XG4gICAgICBleHBpcmVkXG4gICAgICB1c2VycyB7XG4gICAgICAgIGlkXG4gICAgICAgIHRpdGxlXG4gICAgICAgIGZvcmVuYW1lXG4gICAgICAgIHN1cm5hbWVcbiAgICAgICAgZW1haWxcbiAgICAgICAgdXNlcm5hbWVcbiAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIGRvYlxuICAgICAgICBhZG1pblxuICAgICAgICB0bWNBZG1pblxuICAgICAgICBjb21wYW55QWRtaW5cbiAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICBhY3RpdmVcbiAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgaXNvQ29kZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB0bWMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBvZmZpY2Uge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBjb21wYW55R3JvdXBzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGNvbXBhbnkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHRtYyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb2ZmaWNlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdXBwb3J0UGhvbmVOdW1iZXIge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgc3VwcG9ydEVtYWlsXG4gICAgICAgICAgICBjbzJDb25zdW1wdGlvblBvbGljeVxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgIHN0cmVldFxuICAgICAgICAgIHRvd25cbiAgICAgICAgICBjb3VudHlcbiAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICBudW1iZXJcbiAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGFwcHJvdmVycyB7XG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXBwcm92ZXJGb3Ige1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICAgIGdlbmRlclxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICAgIHByaW1hcnlcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgY29kZVxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICB1c2VyUGFzc2VuZ2VyVHlwZXMge1xuICAgICAgICBpZFxuICAgICAgICBwYXNzZW5nZXJUeXBlXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGxlYWRQYXNzZW5nZXIge1xuICAgICAgICBpZFxuICAgICAgICB0aXRsZVxuICAgICAgICBmb3JlbmFtZVxuICAgICAgICBzdXJuYW1lXG4gICAgICAgIGVtYWlsXG4gICAgICAgIHVzZXJuYW1lXG4gICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBkb2JcbiAgICAgICAgYWRtaW5cbiAgICAgICAgdG1jQWRtaW5cbiAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgYXV0aE1ldGhvZHNcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBzZWFyY2hRdWVyeVxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICBtaUdyb3Vwc0F2YWlsYWJsZVxuICAgICAgbWlHcm91cFNlbGVjdGVkXG4gICAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICAgIGlkXG4gICAgICAgIGRiSWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBoYW5kb2ZmXG4gICAgICAgIHZhbHVlTWFza1xuICAgICAgICBzZXJ2aWNlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBzdXBwbGllclVybFxuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHVpUHJlc2VudGF0aW9uXG4gICAgICAgIG1hbmRhdG9yeVxuICAgICAgICBwZXJQYXNzZW5nZXJcbiAgICAgICAgcGVyQm9va2luZ1xuICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0XG4gICAgICAgIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0XG4gICAgICAgIGVuZm9yY2VVc2VyRGVmYXVsdFxuICAgICAgICBib29rZWRCeUZpZWxkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHZhbHVlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGdyb3VwXG4gICAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgICB2YWx1ZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgICBmaXhlZFxuICAgICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICAgIGJhc2tldExldmVsVmFsdWVcbiAgICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICAgIHVzZXIge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgICAgc3VybmFtZVxuICAgICAgICAgICAgZW1haWxcbiAgICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgZG9iXG4gICAgICAgICAgICBhZG1pblxuICAgICAgICAgICAgdG1jQWRtaW5cbiAgICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgICAgYXV0aE1ldGhvZHNcbiAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgIGRvY3VtZW50cyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICAgICAgbmF0aW9uYWxpdHlcbiAgICAgICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZWZlcmVuY2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICAgICAgcHJlZmVyZW5jZUtleVxuICAgICAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb3lhbHR5Q29kZXMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3ROYW1lXG4gICAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgdmFsaWRhdGVkXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VcbiAgICAgIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2VcbiAgICAgIGxhdGVzdFZhbGlkYXRpb25BdmFpbGFibGVcbiAgICAgIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlXG4gICAgICBwbnJMb2NhdG9yXG4gICAgICBib29raW5nRGV0YWlsXG4gICAgICBzdGF0dXNcbiAgICAgIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBzZWxlY3RlZFBheW1lbnRNZXRob2Qge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWFcbiAgICAgIHBlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYVxuICAgICAgcGVySXRlbUFkZHJlc3NcbiAgICAgIHBlckl0ZW1QaG9uZU51bWJlclxuICAgICAgcGVyUGFzc2VuZ2VyQWRkcmVzc1xuICAgICAgcGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXJcbiAgICAgIGNhbmNlbGxhYmxlXG4gICAgICBhbWVuZGFibGVcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgICAgb3V0Ym91bmREYXRlXG4gICAgICBpbmJvdW5kRGF0ZVxuICAgICAgY29udmVydGVkQ3VycmVuY3lBbW91bnRcbiAgICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBzdGF0dXNcbiAgICBjb21wYW55R3JvdXAge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBjb21wYW55IHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICB0bWMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICB0b3duXG4gICAgICAgICAgY291bnR5XG4gICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB1c2VycyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICB0aXRsZVxuICAgICAgICAgIGZvcmVuYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIGVtYWlsXG4gICAgICAgICAgdXNlcm5hbWVcbiAgICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgZG9iXG4gICAgICAgICAgYWRtaW5cbiAgICAgICAgICB0bWNBZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgaXNvQ29kZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICB0bWMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgb2ZmaWNlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgICB0b3duXG4gICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwcm92ZXJGb3Ige1xuICAgICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgICBnZW5kZXJcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgY291bnRyeVxuICAgICAgICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgICBwcmltYXJ5XG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBzdXBwb3J0UGhvbmVOdW1iZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIHN1cHBvcnRFbWFpbFxuICAgICAgICBjbzJDb25zdW1wdGlvblBvbGljeVxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIHZhbGlkYXRlZFxuICAgIGJvb2tlZEF0XG4gICAgX190eXBlbmFtZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBFbWFpbEJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxFbWFpbEJhc2tldFF1ZXJ5LCBFbWFpbEJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBFbWFpbEJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q09WSURNaWNyb3NpdGVUb2tlbiB7XG4gIGdldENPVklETWljcm9zaXRlVG9rZW5cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvdmlkTWljcm9zaXRlVG9rZW5HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5LCBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q2FySGlyZURlcG90c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENhckhpcmVEZXBvdHMoJGxhdGl0dWRlOiBGbG9hdCEsICRsb25naXR1ZGU6IEZsb2F0ISwgJHZlbmRvckNvZGU6IFN0cmluZywgJHJhZGl1czogU3RyaW5nKSB7XG4gIGdldENhckhpcmVEZXBvdHMobGF0aXR1ZGU6ICRsYXRpdHVkZSwgbG9uZ2l0dWRlOiAkbG9uZ2l0dWRlLCB2ZW5kb3JDb2RlOiAkdmVuZG9yQ29kZSwgcmFkaXVzOiAkcmFkaXVzKSB7XG4gICAgY291bnRyeUNvZGVcbiAgICBsb2NhdGlvbkNvZGVcbiAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgIHZlbmRvckNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIHZlbmRvclxuICAgIGFkZHJlc3NMaW5lc1xuICAgIGNpdHlOYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENhckhpcmVEZXBvdHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q2FySGlyZURlcG90c1F1ZXJ5LCBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENhckhpcmVEZXBvdHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFPZmZpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZSgkb2ZmaWNlSWQ6IEludCEpIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2Uob2ZmaWNlSWQ6ICRvZmZpY2VJZCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTmFtZVxuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0YWxDb2RlXG4gICAgICAgIGNpdHlcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgdGVsZXBob25lTnVtYmVyXG4gICAgICAgIGZhY3NpbWlsZU51bWJlclxuICAgICAgICBlbWFpbEFkZHJlc3NcbiAgICAgICAgc3RhdGVQcm92aW5jZVxuICAgICAgICBtb2JpbGVOdW1iZXJcbiAgICAgIH1cbiAgICAgIGNsb3Nlc3RBaXJwb3J0XG4gICAgICBjbG9zZXN0VHJhaW5TdGF0aW9uXG4gICAgICBsb25naXR1ZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBjbG9zZXN0SG90ZWxzIHtcbiAgICAgICAgaG90ZWxJZFxuICAgICAgICBob3RlbE5hbWVcbiAgICAgICAgaXNQcmVmZXJyZWRcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgfVxuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgICBlcnJvckNvZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hT2ZmaWNlUXVlcnksIEdldENvbmZlcm1hT2ZmaWNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5LCBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYVF1aWNrbGlzdCgkY291bnRyeUNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0Q29uZmVybWFRdWlja2xpc3QoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGltYWdlVXJsXG4gICAgICAgIHJvb21zIHtcbiAgICAgICAgICByb29tSWRcbiAgICAgICAgICByb29tVHlwZVxuICAgICAgICAgIHJvb21EZXNjcmlwdGlvblxuICAgICAgICAgIHJhdGVDb2RlXG4gICAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgICAgdG90YWxcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgICBjb252ZXJ0ZWRDb2RlXG4gICAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXBvc2l0IHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcG9saWN5XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBuaWdodHMge1xuICAgICAgICAgICAgbmlnaHRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uXG4gICAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgICAgZ2VuZXJhbFxuICAgICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4IHtcbiAgICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGF5bWVudFR5cGVzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJwblxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgaXNCdXN5XG4gICAgICAgIHNvdXJjZVxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgICB2ZXJzaW9uXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFRdWlja2xpc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSwgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFSb29tSW1hZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29uZmVybWFSb29tSW1hZ2VzKCRob3RlbElkOiBTdHJpbmchKSB7XG4gIGdldENvbmZlcm1hUm9vbUltYWdlcyhob3RlbElkOiAkaG90ZWxJZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hUm9vbUltYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeSwgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hUm9vbUltYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRGYXJlUnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRGbGlnaHRGYXJlUnVsZXMoJGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5ISkge1xuICBnZXRGbGlnaHRGYXJlUnVsZXMoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIGNoYW5nZSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgbm9TaG93IHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICB1cGdyYWRlIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICBvdGhlciB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEZsaWdodEZhcmVSdWxlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeSwgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEZsaWdodEZhcmVSdWxlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRTZWF0TWFwRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0RmxpZ2h0U2VhdE1hcCgkZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXkhKSB7XG4gIGdldEZsaWdodFNlYXRNYXAoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBhaXJjcmFmdCB7XG4gICAgICAgIGNhcnJpZXJcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIHR5cGVcbiAgICAgIH1cbiAgICAgIHNlYXRzIHtcbiAgICAgICAgcm93XG4gICAgICAgIGNvbHVtblxuICAgICAgICBhdHRyaWJ1dGVzIHtcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfVxuICAgICAgICBwcmljZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0RmxpZ2h0U2VhdE1hcEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRTZWF0TWFwUXVlcnksIEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0RmxpZ2h0U2VhdE1hcERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRJcmxEaXNjb3VudENhcmRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0SVJMRGlzY291bnRDYXJkcygkc3VwcGxpZXI6IElSTFN1cHBsaWVyISkge1xuICBnZXRJUkxEaXNjb3VudENhcmRzKHN1cHBsaWVyOiAkc3VwcGxpZXIpIHtcbiAgICBpZFxuICAgIG5ldENvZGVcbiAgICByZWNvXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBzdXBwbGllclxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRJcmxEaXNjb3VudENhcmRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldElybERpc2NvdW50Q2FyZHNRdWVyeSwgR2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRJcmxEaXNjb3VudENhcmRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldElybFN1cHBsaWVyU3RhdGlvbkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldElSTFN1cHBsaWVyU3RhdGlvbigkaWQ6IElELCAkc3VwcGxpZXI6IElSTFN1cHBsaWVyLCAkY29kZTogU3RyaW5nKSB7XG4gIGdldElSTFN1cHBsaWVyU3RhdGlvbihpZDogJGlkLCBzdXBwbGllcjogJHN1cHBsaWVyLCBjb2RlOiAkY29kZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN1cHBsaWVyXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldElybFN1cHBsaWVyU3RhdGlvbkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeSwgR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldElybFN1cHBsaWVyU3RhdGlvbkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsTGl2ZURlcGFydHVyZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsTGl2ZURlcGFydHVyZXMoJHN0YXRpb25Db2RlOiBTdHJpbmchLCAkZGVwYXJ0RGF0ZVRpbWU6IFN0cmluZykge1xuICBnZXRSYWlsTGl2ZURlcGFydHVyZXMoc3RhdGlvbkNvZGU6ICRzdGF0aW9uQ29kZSwgZGVwYXJ0RGF0ZVRpbWU6ICRkZXBhcnREYXRlVGltZSkge1xuICAgIHNlcnZpY2VzIHtcbiAgICAgIHJpZFxuICAgICAgdWlkXG4gICAgICB0cmFpbmlkXG4gICAgICBzZGRcbiAgICAgIG9wZXJhdG9yXG4gICAgICBvcGVyYXRvckNvZGVcbiAgICAgIHN0ZFxuICAgICAgZXRkXG4gICAgICBkZXBhcnR1cmVUeXBlXG4gICAgICBkZXBhcnR1cmVTb3VyY2VcbiAgICAgIHBsYXRmb3JtXG4gICAgICBwbGF0Zm9ybUlzSGlkZGVuXG4gICAgICBvcmlnaW4ge1xuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgdGlwbG9jXG4gICAgICAgIGNyc1xuICAgICAgfVxuICAgICAgZGVzdGluYXRpb24ge1xuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgdGlwbG9jXG4gICAgICAgIGNyc1xuICAgICAgfVxuICAgICAgc3Vic2VxdWVudExvY2F0aW9ucyB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICAgIHBsYXRmb3JtXG4gICAgICAgIHBsYXRmb3JtSXNIaWRkZW5cbiAgICAgICAgc3RhXG4gICAgICAgIGV0YVxuICAgICAgICBhcnJpdmFsVHlwZVxuICAgICAgICBhcnJpdmFsU291cmNlXG4gICAgICAgIHN0ZFxuICAgICAgICBldGRcbiAgICAgICAgZGVwYXJ0dXJlVHlwZVxuICAgICAgICBkZXBhcnR1cmVTb3VyY2VcbiAgICAgICAgYXNzb2NpYXRpb25zIHtcbiAgICAgICAgICBjYXRlZ29yeVxuICAgICAgICAgIHJpZFxuICAgICAgICAgIHVpZFxuICAgICAgICAgIHRyYWluaWRcbiAgICAgICAgICBzZGRcbiAgICAgICAgICBvcmlnaW5cbiAgICAgICAgICBvcmlnaW5DUlNcbiAgICAgICAgICBvcmlnaW5UaXBsb2NcbiAgICAgICAgICBkZXN0aW5hdGlvblxuICAgICAgICAgIGRlc3RDUlNcbiAgICAgICAgICBkZXN0VGlwbG9jXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxMaXZlRGVwYXJ0dXJlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeSwgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsU3RhdGlvbkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJhaWxTdGF0aW9uKCRpZDogSUQsICRjb2RlOiBTdHJpbmcpIHtcbiAgZ2V0UmFpbFN0YXRpb24oaWQ6ICRpZCwgY29kZTogJGNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbFN0YXRpb25HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbFN0YXRpb25RdWVyeSwgR2V0UmFpbFN0YXRpb25RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbFN0YXRpb25Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0UmFpbGNhcmRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbGNhcmRzIHtcbiAgZ2V0UmFpbGNhcmRzIHtcbiAgICBuYW1lXG4gICAgY29kZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSYWlsY2FyZHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbGNhcmRzUXVlcnksIEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSYWlsY2FyZHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Umlza0FsZXJ0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJpc2tBbGVydHMoJG1pbkxldmVsOiBSaXNrTGV2ZWwhLCAkbWF4TGV2ZWw6IFJpc2tMZXZlbCEsICRjb3VudHJ5SXNvQ29kZTogU3RyaW5nLCAkYWlycG9ydDogSUQsICRyYWlsU3RhdGlvbjogSUQsICRhaXJwb3J0SWF0YTogU3RyaW5nKSB7XG4gIGdldFJpc2tBbGVydHMobWluTGV2ZWw6ICRtaW5MZXZlbCwgbWF4TGV2ZWw6ICRtYXhMZXZlbCwgY291bnRyeUlzb0NvZGU6ICRjb3VudHJ5SXNvQ29kZSwgYWlycG9ydDogJGFpcnBvcnQsIHJhaWxTdGF0aW9uOiAkcmFpbFN0YXRpb24sIGFpcnBvcnRJYXRhOiAkYWlycG9ydElhdGEpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZGVzY3JpcHRpb25cbiAgICBicmVha2luZ1xuICAgIHJpc2tcbiAgICBjYXRlZ29yeVxuICAgIGNvdW50cnlcbiAgICBsb2NhdGlvblxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgc3RhcnREYXRlXG4gICAgZW5kRGF0ZVxuICAgIHJlY2VpdmVkRGF0ZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSaXNrQWxlcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJpc2tBbGVydHNRdWVyeSwgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSaXNrQWxlcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJBZGRyZXNzZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckFkZHJlc3Nlc1F1ZXJ5LCBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckNvbXBhbnlPZmZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBhZGRyZXNzZXMge1xuICAgICAgaWRcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBudW1iZXJPck5hbWVcbiAgICAgIHN0cmVldFxuICAgICAgdG93blxuICAgICAgY291bnR5XG4gICAgICBwb3N0Y29kZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgICBvZmZpY2VQcmltYXJ5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQ29tcGFueU9mZmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnksIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSgkdXNlcjogSUQpIHtcbiAgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UodXNlcjogJHVzZXIpIHtcbiAgICBpZFxuICAgIHN0YXJ0T2ZQZXJpb2RcbiAgICBlbmRPZlBlcmlvZFxuICAgIHJlbWFpbmluZ0NvMlxuICAgIHRvdGFsQ28yXG4gICAgY2FyYm9uUG9saWN5U291cmNlXG4gICAgY29tcGFueSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBvZmZpY2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgdXNlciB7XG4gICAgICBpZFxuICAgICAgZm9yZW5hbWVcbiAgICAgIHN1cm5hbWVcbiAgICAgIGVtYWlsXG4gICAgfVxuICAgIHBlcmlvZENvbnN1bXB0aW9uIHtcbiAgICAgIGlkXG4gICAgICBjb25zdW1lZFxuICAgICAgZGF0ZXRpbWVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnksIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMoJG1pOiBJRCEsICRwYXJ0aWFsTGFiZWw6IFN0cmluZyEpIHtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMobWk6ICRtaSwgcGFydGlhbExhYmVsOiAkcGFydGlhbExhYmVsKSB7XG4gICAgaWRcbiAgICBsYWJlbFxuICAgIHZhbHVlXG4gICAgZGVmYXVsdFxuICAgIGZpeGVkXG4gICAgYWdlbnRPbmx5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnksIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJQaG9uZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJQaG9uZSB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclBob25lUXVlcnksIEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclJlY2VudFNlYXJjaGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclJlY2VudFNlYXJjaGVzKCRzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUpIHtcbiAgZ2V0VXNlclJlY2VudFNlYXJjaGVzKHNlcnZpY2VUeXBlOiAkc2VydmljZVR5cGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICB0cmF2ZWxEYXRlXG4gICAgdHJhdmVsbGVycyB7XG4gICAgICBpZFxuICAgICAgdGl0bGVcbiAgICAgIGZvcmVuYW1lXG4gICAgICBzdXJuYW1lXG4gICAgICBlbWFpbFxuICAgICAgdXNlcm5hbWVcbiAgICAgIGRvYlxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclJlY2VudFNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclJlY2VudFNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEhvdGVscygkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY2l0eU5hbWU6IFN0cmluZywgJHBvc3RPclppcENvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICRsYXRpdHVkZTogRmxvYXQsICRsb25naXR1ZGU6IEZsb2F0LCAkdHJhaW5TdGF0aW9uQ29kZTogU3RyaW5nLCAkaWF0YTogU3RyaW5nLCAkb2ZmaWNlSWQ6IEludCwgJHJvb21zOiBJbnQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGN1cnJlbmN5OiBTdHJpbmchLCAkZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzISwgJGRpc3RhbmNlOiBJbnQhLCAkbWF4UmVzdWx0czogSW50LCAkaG90ZWxOYW1lOiBTdHJpbmcsICRncm91cE5hbWU6IFN0cmluZykge1xuICBzZWFyY2hIb3RlbHMoc3RhcnREYXRlOiAkc3RhcnREYXRlLCBlbmREYXRlOiAkZW5kRGF0ZSwgY2l0eU5hbWU6ICRjaXR5TmFtZSwgcG9zdE9yWmlwQ29kZTogJHBvc3RPclppcENvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGxhdGl0dWRlOiAkbGF0aXR1ZGUsIGxvbmdpdHVkZTogJGxvbmdpdHVkZSwgdHJhaW5TdGF0aW9uQ29kZTogJHRyYWluU3RhdGlvbkNvZGUsIGlhdGE6ICRpYXRhLCBvZmZpY2VJZDogJG9mZmljZUlkLCByb29tczogJHJvb21zLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGN1cnJlbmN5OiAkY3VycmVuY3ksIGRpc3RhbmNlVHlwZTogJGRpc3RhbmNlVHlwZSwgZGlzdGFuY2U6ICRkaXN0YW5jZSwgbWF4UmVzdWx0czogJG1heFJlc3VsdHMsIGhvdGVsTmFtZTogJGhvdGVsTmFtZSwgZ3JvdXBOYW1lOiAkZ3JvdXBOYW1lKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaW1hZ2VVcmxcbiAgICAgIGdyb3VwXG4gICAgICBsb2NhdGlvbiB7XG4gICAgICAgIGRpc3RhbmNlXG4gICAgICAgIGRpc3RhbmNlVHlwZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgIH1cbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0T3JaaXBDb2RlXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYWNzaW1pbGVcbiAgICAgIH1cbiAgICAgIHRyYW5zcG9ydHMge1xuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgY29kZVxuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBwcmVmZXJyZWQge1xuICAgICAgICBjbGllbnRcbiAgICAgICAgY29uc3VtZXJcbiAgICAgIH1cbiAgICAgIHRhZ3Mge1xuICAgICAgICBuYW1lXG4gICAgICAgIGRpc3BsYXlcbiAgICAgICAgdHlwZVxuICAgICAgICBpY29uXG4gICAgICB9XG4gICAgICBhdmFpbGFibGVSYXRlcyB7XG4gICAgICAgIC4uLlJvb21BdmFsaWFiaWxpdHlcbiAgICAgIH1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgdmVyc2lvblxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSG90ZWxzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEhvdGVsc1F1ZXJ5LCBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSG90ZWxzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkoJGhvdGVsOiBbU3RyaW5nIV0hLCAkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY3VycmVuY3k6IFN0cmluZyEsICRvY2N1cGFudHM6IEludCEsICRyb29tczogSW50KSB7XG4gIGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5KGhvdGVsOiAkaG90ZWwsIHN0YXJ0RGF0ZTogJHN0YXJ0RGF0ZSwgZW5kRGF0ZTogJGVuZERhdGUsIGN1cnJlbmN5OiAkY3VycmVuY3ksIG9jY3VwYW50czogJG9jY3VwYW50cywgcm9vbXM6ICRyb29tcykge1xuICAgIHJlc3VsdHMge1xuICAgICAgLi4uUm9vbUF2YWxpYWJpbGl0eVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeSwgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgSXNQb3N0Y29kZVZhbGlkRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgaXNQb3N0Y29kZVZhbGlkKCRwb3N0Y29kZTogU3RyaW5nISkge1xuICBpc1Bvc3Rjb2RlVmFsaWQocG9zdGNvZGU6ICRwb3N0Y29kZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIElzUG9zdGNvZGVWYWxpZEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxJc1Bvc3Rjb2RlVmFsaWRRdWVyeSwgSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IElzUG9zdGNvZGVWYWxpZERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hBaXJwb3J0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEFpcnBvcnRzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcsICRoYXNMb3VuZ2U6IEJvb2xlYW4sICRoYXNQYXJraW5nOiBCb29sZWFuLCAkaGFzRmFzdFRyYWNrOiBCb29sZWFuKSB7XG4gIHNlYXJjaEFpcnBvcnRzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGhhc0xvdW5nZTogJGhhc0xvdW5nZSwgaGFzUGFya2luZzogJGhhc1BhcmtpbmcsIGhhc0Zhc3RUcmFjazogJGhhc0Zhc3RUcmFjaykge1xuICAgIGlhdGFNYXRjaCB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaWF0YVxuICAgICAgaWNhb1xuICAgICAgdGVybWluYWxzXG4gICAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgICAuLi5MT0NBVElPTl9ERVRBSUxcbiAgICAgIH1cbiAgICB9XG4gICAgZ2VuZXJhbE1hdGNoZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIHRlcm1pbmFsc1xuICAgICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgICAgLi4uTE9DQVRJT05fREVUQUlMXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gICAgJHtMb2NhdGlvbl9EZXRhaWxGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEFpcnBvcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEFpcnBvcnRzUXVlcnksIFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEFpcnBvcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaExvdW5nZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hMb3VuZ2VzKCRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICR0ZXJtaW5hbDogU3RyaW5nKSB7XG4gIHNlYXJjaExvdW5nZXMobG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHRlcm1pbmFsOiAkdGVybWluYWwpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIG5hbWVcbiAgICAgIGNvZGVcbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbG91bmdlIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmF4XG4gICAgICAgIGRpcmVjdGlvbnNcbiAgICAgICAgaW50cm9kdWN0aW9uXG4gICAgICAgIGxvZ29cbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBhZHVsdEFnZVxuICAgICAgICBjaGlsZEFnZVxuICAgICAgICBpbmZhbnRBZ2VcbiAgICAgICAgbGFuZHNpZGVcbiAgICAgICAgYWlyc2lkZVxuICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgIG9wZW5UaW1lXG4gICAgICAgIGNsb3NlVGltZVxuICAgICAgICB3aWZpXG4gICAgICAgIHR2XG4gICAgICAgIHNuYWNrc1xuICAgICAgICBwaG9uZVxuICAgICAgICBpbnRlcm5ldFxuICAgICAgICBjaGlsZHJlbkFsbG93ZWRcbiAgICAgICAgZGlzYWJsZWRBY2Nlc3NcbiAgICAgICAgZHJpbmtzXG4gICAgICAgIGZyZWVEcmlua3NcbiAgICAgICAgZnJlZUZvb2RcbiAgICAgICAgc21va2luZ1Blcm1pdHRlZFxuICAgICAgICBtYWdhemluZXNcbiAgICAgICAgaW5jbHVkZWREcmlua3NcbiAgICAgICAgbWVudUZvb2RcbiAgICAgICAgbWVudURyaW5rc1xuICAgICAgICBtZW51RXh0cmFzXG4gICAgICAgIHdoYXRzSW5jbHVkZWREcmlua3NcbiAgICAgICAgd2hhdHNJbmNsdWRlZEV4dHJhc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRm9vZFxuICAgICAgICBncm91cEluZm9cbiAgICAgICAgY2hlY2tJbkluZm9cbiAgICAgICAgZHJlc3NDb2RlXG4gICAgICAgIGZhY2lsaXRpZXNJbmZvXG4gICAgICAgIGZvb2RBbmRCZXZlcmFnZVxuICAgICAgICBjYW5jZWxsYXRpb25JbmZvXG4gICAgICAgIGFtZW5kbWVudHNJbmZvXG4gICAgICAgIG1pc2NcbiAgICAgIH1cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoTG91bmdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hMb3VuZ2VzUXVlcnksIFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoTG91bmdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkbmV3QmFza2V0OiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIG5ld0Jhc2tldDogJG5ld0Jhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24sIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFBhcmtpbmdEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQYXJraW5nKCRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGRlcGFydERhdGV0aW1lOiBEYXRlVGltZSEsICRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRvdXRGbGlnaHROdW1iZXI6IFN0cmluZywgJHJlY29tbWVuZGVkOiBCb29sZWFuLCAkb25BaXJwb3J0OiBCb29sZWFuLCAkbWVldEFuZEdyZWV0OiBCb29sZWFuLCAkcGFya0FuZFJpZGU6IEJvb2xlYW4sICRwYXJrQW5kU3Ryb2xsOiBCb29sZWFuLCAkY2FyUGFya2VkRm9yWW91OiBCb29sZWFuLCAkdGVybWluYWw6IFN0cmluZykge1xuICBzZWFyY2hQYXJraW5nKGFycml2YWxEYXRldGltZTogJGFycml2YWxEYXRldGltZSwgZGVwYXJ0RGF0ZXRpbWU6ICRkZXBhcnREYXRldGltZSwgbG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBvdXRGbGlnaHROdW1iZXI6ICRvdXRGbGlnaHROdW1iZXIsIHJlY29tbWVuZGVkOiAkcmVjb21tZW5kZWQsIG9uQWlycG9ydDogJG9uQWlycG9ydCwgbWVldEFuZEdyZWV0OiAkbWVldEFuZEdyZWV0LCBwYXJrQW5kUmlkZTogJHBhcmtBbmRSaWRlLCBwYXJrQW5kU3Ryb2xsOiAkcGFya0FuZFN0cm9sbCwgY2FyUGFya2VkRm9yWW91OiAkY2FyUGFya2VkRm9yWW91LCB0ZXJtaW5hbDogJHRlcm1pbmFsKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBjYXJQYXJrIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgZGlzdGFuY2VUb0FpcnBvcnRcbiAgICAgICAgb25BaXJwb3J0XG4gICAgICAgIGNhclBhcmtlZEZvcllvdVxuICAgICAgICBtZWV0QW5kR3JlZXRcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZheFxuICAgICAgICBkaXJlY3Rpb25zXG4gICAgICAgIGFycml2YWxQcm9jZWR1cmVcbiAgICAgICAgZGVwYXJ0dXJlUHJvY2VkdXJlXG4gICAgICAgIG1heGltdW1DYXJTaXplXG4gICAgICAgIGludHJvZHVjdGlvblxuICAgICAgICBpbmZvcm1hdGlvblxuICAgICAgICB0cmFuc2ZlckluZm9ybWF0aW9uXG4gICAgICAgIHRyYW5zZmVyT3BlcmF0aW5nVGltZXNcbiAgICAgICAgdHJhbnNmZXJUaW1lXG4gICAgICAgIGxvZ29cbiAgICAgICAgZGVmYXVsdEltYWdlXG4gICAgICAgIGJyYW5kSW1hZ2VcbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBtaXNjXG4gICAgICB9XG4gICAgICByZXF1aXJlZEluZm9cbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbWlzY1xuICAgICAgdG1jUHJlZmVycmVkXG4gICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICB1bmF2YWlsYWJsZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQYXJraW5nR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFBhcmtpbmdRdWVyeSwgU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQYXJraW5nRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFJhaWxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hSYWlsKCRjb3VudHJ5Q29kZTogU3RyaW5nLCAkam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZSEsICRjbGFzczogUmFpbENsYXNzLCAkZGVwYXJ0dXJlTG9jYXRpb25JZDogSUQhLCAkYXJyaXZhbExvY2F0aW9uSWQ6IElEISwgJHZpYUxvY2F0aW9uSWQ6IElELCAkb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6IFN0cmluZywgJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFN0cmluZywgJHJldHVybkFycml2YWxEYXRlVGltZTogU3RyaW5nLCAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6IFN0cmluZywgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRleHRyYVRpbWVUb0NoYW5nZTogQm9vbGVhbiwgJHBsdXNCdXNPdXQ6IFJhaWxQbHVzQnVzQXZhaWwsICRwbHVzQnVzUmV0dXJuOiBSYWlsUGx1c0J1c0F2YWlsLCAkdHJhdmVsQ2FyZHM6IFtEYXRlIV0sICRyYWlsQ2FyZFF1YWxpZmllcnM6IFtTdHJpbmchXSkge1xuICBzZWFyY2hSYWlsKGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGpvdXJuZXlUeXBlOiAkam91cm5leVR5cGUsIGNsYXNzOiAkY2xhc3MsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCB2aWFMb2NhdGlvbklkOiAkdmlhTG9jYXRpb25JZCwgb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6ICRvdXRib3VuZEFycml2YWxEYXRlVGltZSwgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIHJldHVybkFycml2YWxEYXRlVGltZTogJHJldHVybkFycml2YWxEYXRlVGltZSwgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6ICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBleHRyYVRpbWVUb0NoYW5nZTogJGV4dHJhVGltZVRvQ2hhbmdlLCBwbHVzQnVzT3V0OiAkcGx1c0J1c091dCwgcGx1c0J1c1JldHVybjogJHBsdXNCdXNSZXR1cm4sIHRyYXZlbENhcmRzOiAkdHJhdmVsQ2FyZHMsIHJhaWxDYXJkUXVhbGlmaWVyczogJHJhaWxDYXJkUXVhbGlmaWVycykge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlSWRcbiAgICAgIHN1bW1hcnlcbiAgICAgIHRyYXZlbENhcmRzQWRkb25GbGFnXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIC4uLlJhaWxKb3VybmV5T3B0aW9uXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5SYWlsSm91cm5leU9wdGlvblxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgfVxuICB9XG59XG4gICAgJHtSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsUXVlcnksIFNlYXJjaFJhaWxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlRmF2b3VyaXRlU2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2F2ZUZhdm91cml0ZVNlYXJjaCgkbmFtZTogU3RyaW5nISwgJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISkge1xuICBzYXZlRmF2b3VyaXRlU2VhcmNoKG5hbWU6ICRuYW1lLCBzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncykge1xuICAgIGlkXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNhdmVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uLCBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNhdmVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVSZWNlbnRTZWFyY2goJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISwgJHRyYXZlbERhdGU6IERhdGVUaW1lISwgJHRyYXZlbGxlcnM6IFtJRF0pIHtcbiAgc2F2ZVJlY2VudFNlYXJjaChzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncywgdHJhdmVsRGF0ZTogJHRyYXZlbERhdGUsIHRyYXZlbGxlcnM6ICR0cmF2ZWxsZXJzKSB7XG4gICAgaWRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVJlY2VudFNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24sIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlVXNlckFkZHJlc3MoJGRlc2NyaXB0aW9uOiBTdHJpbmchLCAkbnVtYmVyT3JOYW1lOiBTdHJpbmcsICRzdHJlZXQ6IFN0cmluZywgJHRvd246IFN0cmluZywgJGNvdW50eTogU3RyaW5nLCAkcG9zdGNvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICR1c2VyUHJpbWFyeTogQm9vbGVhbikge1xuICBzYXZlVXNlckFkZHJlc3MoZGVzY3JpcHRpb246ICRkZXNjcmlwdGlvbiwgbnVtYmVyT3JOYW1lOiAkbnVtYmVyT3JOYW1lLCBzdHJlZXQ6ICRzdHJlZXQsIHRvd246ICR0b3duLCBjb3VudHk6ICRjb3VudHksIHBvc3Rjb2RlOiAkcG9zdGNvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIHVzZXJQcmltYXJ5OiAkdXNlclByaW1hcnkpIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNhdmVVc2VyQWRkcmVzc011dGF0aW9uLCBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcmxpbmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlybGluZXMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEFpcmxpbmVzKHF1ZXJ5OiAkcXVlcnkpIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIGFsaWFzXG4gICAgICBjYWxsc2lnblxuICAgICAgYWN0aXZlXG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBiYW5uZXJJbWFnZVxuICAgICAgbG9nb0ltYWdlXG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICBhbGlhc1xuICAgICAgY2FsbHNpZ25cbiAgICAgIGFjdGl2ZVxuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYmFubmVySW1hZ2VcbiAgICAgIGxvZ29JbWFnZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlybGluZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlybGluZXNRdWVyeSwgU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlybGluZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2l0aWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2l0aWVzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoQ2l0aWVzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBjb29yZGluYXRlcyB7XG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgICBhbHRpdHVkZVxuICAgIH1cbiAgICBjb250aW5lbnROYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENpdGllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDaXRpZXNRdWVyeSwgU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENpdGllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDb25mZXJtYUNpdGllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENvbmZlcm1hQ2l0aWVzKCRjaXR5TmFtZTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmchKSB7XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzKGNpdHlOYW1lOiAkY2l0eU5hbWUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBmb3VuZEV4YWN0XG4gICAgc3VnZ2VzdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZlcm1hQ2l0aWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnksIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRXVyb3N0YXIoJHBhc3NlbmdlcnM6IFtGbGlnaHRQYXNzZW5nZXJPYmplY3QhXSEsICRvcmlnaW5BaXJwb3J0OiBTdHJpbmcsICRkZXN0aW5hdGlvbkFpcnBvcnQ6IFN0cmluZywgJG11bHRpRGVzdGluYXRpb246IFtEZXN0aW5hdGlvbkVudHJ5XSwgJG91dGJvdW5kRGF0ZTogRGF0ZSwgJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRDYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRyZXR1cm5UcmlwOiBCb29sZWFuISwgJHJldHVybkRhdGU6IERhdGUsICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkZmFyZVR5cGU6IEZhcmVUeXBlISwgJHJlcXVpcmVGcmVlQmFnOiBCb29sZWFuLCAkbWF4Q29ubmVjdGlvbnM6IEludCwgJHByZWZlcnJlZENhcnJpZXJzOiBbU3RyaW5nXSwgJGluY2x1ZGVOZWFyYnlBaXJwb3J0czogQm9vbGVhbiwgJGFzU2luZ2xlczogQm9vbGVhbikge1xuICBzZWFyY2hFdXJvc3RhcihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgYmFzZUZhcmVJZFxuICAgICAgICB1aWRcbiAgICAgICAgZGlzY2xvc3VyZXNcbiAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgfVxuICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgdGF4ZXMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgcHJpY2VcbiAgICAgICAgICB0YXhcbiAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBxdHlcbiAgICAgICAgICBtYXhLR1xuICAgICAgICAgIG1heExCU1xuICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICBqb3VybmV5SGFzaFxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgICAgfVxuICAgICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIHRheGVzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgdGF4XG4gICAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBxdHlcbiAgICAgICAgICAgIG1heEtHXG4gICAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEV1cm9zdGFyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEV1cm9zdGFyUXVlcnksIFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZsaWdodHNWMkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZsaWdodHNWMigkcGFzc2VuZ2VyczogW0ZsaWdodFBhc3Nlbmdlck9iamVjdCFdISwgJG9yaWdpbkFpcnBvcnQ6IFN0cmluZywgJGRlc3RpbmF0aW9uQWlycG9ydDogU3RyaW5nLCAkbXVsdGlEZXN0aW5hdGlvbjogW0Rlc3RpbmF0aW9uRW50cnldLCAkb3V0Ym91bmREYXRlOiBEYXRlLCAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZENhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJHJldHVyblRyaXA6IEJvb2xlYW4hLCAkcmV0dXJuRGF0ZTogRGF0ZSwgJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5DYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRmYXJlVHlwZTogRmFyZVR5cGUhLCAkcmVxdWlyZUZyZWVCYWc6IEJvb2xlYW4sICRtYXhDb25uZWN0aW9uczogSW50LCAkcHJlZmVycmVkQ2FycmllcnM6IFtTdHJpbmddLCAkaW5jbHVkZU5lYXJieUFpcnBvcnRzOiBCb29sZWFuLCAkYXNTaW5nbGVzOiBCb29sZWFuLCAkd2l0aEdyb3VwZWQ6IEJvb2xlYW4hLCAkZ3JvdXBNYXg6IEludCkge1xuICBzZWFyY2hGbGlnaHRzVjIocGFzc2VuZ2VyczogJHBhc3NlbmdlcnMsIG9yaWdpbkFpcnBvcnQ6ICRvcmlnaW5BaXJwb3J0LCBkZXN0aW5hdGlvbkFpcnBvcnQ6ICRkZXN0aW5hdGlvbkFpcnBvcnQsIG11bHRpRGVzdGluYXRpb246ICRtdWx0aURlc3RpbmF0aW9uLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdywgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3csIG91dGJvdW5kQ2FiaW5DbGFzczogJG91dGJvdW5kQ2FiaW5DbGFzcywgcmV0dXJuVHJpcDogJHJldHVyblRyaXAsIHJldHVybkRhdGU6ICRyZXR1cm5EYXRlLCByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdywgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6ICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdywgcmV0dXJuQ2FiaW5DbGFzczogJHJldHVybkNhYmluQ2xhc3MsIGZhcmVUeXBlOiAkZmFyZVR5cGUsIHJlcXVpcmVGcmVlQmFnOiAkcmVxdWlyZUZyZWVCYWcsIG1heENvbm5lY3Rpb25zOiAkbWF4Q29ubmVjdGlvbnMsIHByZWZlcnJlZENhcnJpZXJzOiAkcHJlZmVycmVkQ2FycmllcnMsIGluY2x1ZGVOZWFyYnlBaXJwb3J0czogJGluY2x1ZGVOZWFyYnlBaXJwb3J0cywgYXNTaW5nbGVzOiAkYXNTaW5nbGVzLCBncm91cE1heDogJGdyb3VwTWF4KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBqb3VybmV5cyB7XG4gICAgICAgIGJhc2VGYXJlSWRcbiAgICAgICAgdWlkXG4gICAgICAgIGRpc2Nsb3N1cmVzXG4gICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICB9XG4gICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIHRheGVzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgdG90YWwge1xuICAgICAgICAgIHByaWNlXG4gICAgICAgICAgdGF4XG4gICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgcXR5XG4gICAgICAgICAgbWF4S0dcbiAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICB9XG4gICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgc291cmNlXG4gICAgICAgIHNvdXJjZUlkXG4gICAgICAgIHZlcnNpb25cbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgIH1cbiAgICAgIG11bHRpIHtcbiAgICAgICAgb3JkZXJcbiAgICAgICAgb3JpZ2luXG4gICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgIHJlc3VsdHMge1xuICAgICAgICAgIHVpZFxuICAgICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgdG90YWwge1xuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHRheFxuICAgICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgcXR5XG4gICAgICAgICAgICBtYXhLR1xuICAgICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgc291cmNlXG4gICAgICAgICAgc291cmNlSWRcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgICAgY28yUGVySXRlbVxuICAgICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICAgIGpvdXJuZXlIYXNoXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICAgIGdyb3VwZWQge1xuICAgICAgICAuLi5Hcm91cGVkRmllbGRzIEBpbmNsdWRlKGlmOiAkd2l0aEdyb3VwZWQpXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gICAgcnVsZUFjdGlvblN1bW1hcnlcbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtHcm91cGVkRmllbGRzRnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmxpZ2h0c1YyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZsaWdodHNWMlF1ZXJ5LCBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsQ2hhaW5zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSG90ZWxDaGFpbnMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEhvdGVsQ2hhaW5zKHF1ZXJ5OiAkcXVlcnkpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hIb3RlbENoYWluc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hIb3RlbENoYWluc1F1ZXJ5LCBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hIb3RlbENoYWluc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkwoJHN1cHBsaWVyOiBJUkxTdXBwbGllciEsICRjb3VudHJ5Q29kZTogU3RyaW5nISwgJGpvdXJuZXlUeXBlOiBJUkxKb3VybmV5VHlwZSEsICRjbGFzczogSVJMQ2xhc3MsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSEsICRkZXBhcnR1cmVMb2NhdGlvbklkOiBJRCEsICRhcnJpdmFsTG9jYXRpb25JZDogSUQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSwgJGlybERpc2NvdW50Q2FyZHM6IFN0cmluZykge1xuICBzZWFyY2hJUkwoc3VwcGxpZXI6ICRzdXBwbGllciwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgam91cm5leVR5cGU6ICRqb3VybmV5VHlwZSwgY2xhc3M6ICRjbGFzcywgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIHJldHVybkRlcGFydHVyZURhdGVUaW1lOiAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWUsIGlybERpc2NvdW50Q2FyZHM6ICRpcmxEaXNjb3VudENhcmRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgZnJvbVxuICAgICAgICBmcm9tQ29kZVxuICAgICAgICB0b1xuICAgICAgICB0b0NvZGVcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvdmlkZXJzIHtcbiAgICAgICAgICBwcm92aWRlcklkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNoZWFwZXN0VGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuc2VsbGFibGVcbiAgICAgICAgdGlja2V0RXh0cmFzIHtcbiAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgICAgam91cm5leUlkXG4gICAgICAgICAgICBpc09yaWdpblxuICAgICAgICAgIH1cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICBkYXRlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBhZHVsdEFtb3VudFxuICAgICAgICAgIGNoaWxkQW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBwbHVzQnVzIHtcbiAgICAgICAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgICAgICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgIH1cbiAgICAgICAgdHJhdmVsbGVycyB7XG4gICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICByYWlsY2FyZFxuICAgICAgICAgIGdpdmVuTmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBuYW1lVGl0bGVcbiAgICAgICAgICBjb250YWN0SW5mb1xuICAgICAgICAgIGRlbGl2ZXJ5RW1haWxBZGRyZXNzXG4gICAgICAgICAgZmFyZVxuICAgICAgICB9XG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGlja2V0T3B0aW9ucyB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaElybEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hJcmxRdWVyeSwgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaElybERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucygkcXVlcnk6IFN0cmluZyEsICRzdXBwbGllcjogSVJMU3VwcGxpZXIpIHtcbiAgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyhxdWVyeTogJHF1ZXJ5LCBzdXBwbGllcjogJHN1cHBsaWVyKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnksIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hQb3N0Y29kZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQb3N0Y29kZXMoJHBvc3Rjb2RlOiBTdHJpbmchKSB7XG4gIGdldFBvc3Rjb2RlRGV0YWlscyhwb3N0Y29kZTogJHBvc3Rjb2RlKSB7XG4gICAgcG9zdGNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQb3N0Y29kZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoUG9zdGNvZGVzUXVlcnksIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQb3N0Y29kZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUmFpbFN0YXRpb25zKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoUmFpbFN0YXRpb25zKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbFN0YXRpb25zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5LCBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoVXNlckFkZHJlc3Mge1xuICBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckFkZHJlc3NRdWVyeSwgU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pR3JvdXBEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlHcm91cCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJGdyb3VwOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXAoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIGdyb3VwOiAkZ3JvdXApIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlHcm91cEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlHcm91cERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHVzZXI6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4hKSB7XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHVzZXI6ICR1c2VyKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbiwgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlWYWx1ZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJG1pOiBJRCEsICRtaVZhbHVlOiBJRCwgJG1pRnJlZVZhbHVlOiBTdHJpbmcsICR1c2VyOiBJRCwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBzZXRCYXNrZXRJdGVtTUlWYWx1ZShjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBtaTogJG1pLCBtaVZhbHVlOiAkbWlWYWx1ZSwgbWlGcmVlVmFsdWU6ICRtaUZyZWVWYWx1ZSwgdXNlcjogJHVzZXIpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkcGF5bWVudE1ldGhvZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBwYXltZW50TWV0aG9kOiAkcGF5bWVudE1ldGhvZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb24sIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0Tm90ZXMoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5vdGVzOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldE5vdGVzKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbm90ZXM6ICRub3Rlcykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldE5vdGVzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb24sIFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0VGl0bGUoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5ld1RpdGxlOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldFRpdGxlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbmV3VGl0bGU6ICRuZXdUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldFRpdGxlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb24sIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJTZXJ2aWNlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJTZXJ2aWNlcyB7XG4gIGdldFVzZXJTZXJ2aWNlcyB7XG4gICAgaWRcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIHR5cGVcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBkZXRhaWxTY2hlbWFcbiAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyU2VydmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclNlcnZpY2VzUXVlcnksIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyU2VydmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclVpQ29uZmlnc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJVSUNvbmZpZ3Mge1xuICBnZXRVc2VyVUlDb25maWdzIHtcbiAgICBhbGwge1xuICAgICAgaWRcbiAgICAgIGNvbmZpZ1xuICAgICAga2V5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyVWlDb25maWdzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJVaUNvbmZpZ3NRdWVyeSwgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyVWlDb25maWdzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJNZXNzYWdlcyB7XG4gIGdldFVzZXJNZXNzYWdlcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb25maWdcbiAgICB0YXJnZXRcbiAgICBrZXlcbiAgICBkaXNwbGF5VGFyZ2V0XG4gICAgYWdlbnRPbmx5XG4gICAgY2xpY2tUb0NvbmZpcm1cbiAgICB2YWxpZEZyb21cbiAgICB2YWxpZFRvXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyTWVzc2FnZXNRdWVyeSwgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVOdW1iZXJzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeSwgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldFVzZXJMYW5ndWFnZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldFVzZXJMYW5ndWFnZSgkbGFuZ3VhZ2U6IElEKSB7XG4gIHNldFVzZXJMYW5ndWFnZShsYW5ndWFnZTogJGxhbmd1YWdlKSB7XG4gICAgaWRcbiAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRVc2VyTGFuZ3VhZ2VHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0VXNlckxhbmd1YWdlTXV0YXRpb24sIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRVc2VyTGFuZ3VhZ2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXIoJGlkOiBJRCkge1xuICBnZXRVc2VyKGlkOiAkaWQpIHtcbiAgICAuLi5Vc2VyRmllbGRzXG4gIH1cbn1cbiAgICAke1VzZXJGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclF1ZXJ5LCBHZXRVc2VyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hVc2VyQ2FuQm9va0ZvcigkZW1haWw6IFN0cmluZywgJHVzZXJOYW1lOiBTdHJpbmcsICRlbXBsb3llZUlkOiBTdHJpbmcpIHtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3IoZW1haWw6ICRlbWFpbCwgdXNlck5hbWU6ICR1c2VyTmFtZSwgZW1wbG95ZWVJZDogJGVtcGxveWVlSWQpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckNhbkJvb2tGb3JHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSwgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSgkbWk6IElEISwgJGZyZWVWYWx1ZTogU3RyaW5nISkge1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZShtaTogJG1pLCBmcmVlVmFsdWU6ICRmcmVlVmFsdWUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5LCBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH0iXX0=
6359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBaUh6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBNkNELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBcUVELE1BQU0sQ0FBTixJQUFZLGdCQUtYO0FBTEQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FB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WCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcs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QUFNLENBb2daYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7S0FVMUMsQ0FBQztBQUtKLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxNQUFNLENBQUMsS0FBb0U7SUFHdEgsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLDRCQUE0QixDQUFDO0lBSXhDLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUF0aFpTLE1BQU0sQ0EwaFphLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLEdBQUcsQ0FBQTs7OztLQUk3QyxDQUFDO0FBS0osTUFBTSxPQUFPLDBCQUEyQixTQUFRLE1BQU0sQ0FBQyxLQUEwRTtJQUcvSCxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsK0JBQStCLENBQUM7SUFJM0MsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQXRpWlMsTUFBTSxDQTBpWmEsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEFwb2xsbyBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5leHBvcnQgdHlwZSBNYXliZTxUPiA9IFQgfCBudWxsO1xuZXhwb3J0IHR5cGUgRXhhY3Q8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gfTtcbmV4cG9ydCB0eXBlIE1ha2VPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdPzogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgTWFrZU1heWJlPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS106IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIEZpZWxkV3JhcHBlcjxUPiA9IFQ7XG4vKiogQWxsIGJ1aWx0LWluIGFuZCBjdXN0b20gc2NhbGFycywgbWFwcGVkIHRvIHRoZWlyIGFjdHVhbCB2YWx1ZXMgKi9cbmV4cG9ydCB0eXBlIFNjYWxhcnMgPSB7XG4gIElEOiBzdHJpbmc7XG4gIFN0cmluZzogc3RyaW5nO1xuICBCb29sZWFuOiBib29sZWFuO1xuICBJbnQ6IG51bWJlcjtcbiAgRmxvYXQ6IG51bWJlcjtcbiAgRGF0ZTogYW55O1xuICBEYXRlVGltZTogYW55O1xuICBKU09OOiBhbnk7XG59O1xuXG5cblxuZXhwb3J0IHR5cGUgQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdBZGRyZXNzJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0cmVldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3duPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgb2ZmaWNlUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFkZHJlc3NJbnB1dCA9IHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG93bj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFmdGVyQ2FuY2VsbGF0aW9uSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdBZnRlckNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYW5jZWxsYXRpb25GZWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcmxpbmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsaWFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbGxzaWduPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgY29udGluZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVySW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nb0ltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJsaW5lUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0cyc7XG4gIGlhdGFNYXRjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG4gIGdlbmVyYWxNYXRjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdD4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJwb3J0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1pbmFsczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGhhc0xvdW5nZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzUGFya2luZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzRmFzdFRyYWNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBoYXNQdWJsaWNUcmF2ZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydERldGFpbCA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJztcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWx0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvYWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9wdWxhcml0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBhcmVhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZnNldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhaXJwb3J0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydFJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydFJlc3VsdHMnO1xuICBpYXRhTWF0Y2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8QWlycG9ydD4+O1xuICBnZW5lcmFsTWF0Y2hlczogQXJyYXk8RmllbGRXcmFwcGVyPEFpcnBvcnQ+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEFwcGxpY2F0aW9uU3RhZ2Uge1xuICBCZWZvcmVTZWFyY2ggPSAnQkVGT1JFX1NFQVJDSCcsXG4gIEFmdGVyU2VhcmNoID0gJ0FGVEVSX1NFQVJDSCdcbn1cblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRSdWxlc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdBcHBseUpJVFJ1bGVzUmVzdWx0JztcbiAgcmVzdWx0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcHJvdmVlID0ge1xuICBfX3R5cGVuYW1lPzogJ0FwcHJvdmVlJztcbiAgYXBwcm92ZWU6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgYWN0aXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpb3JpdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBcHByb3ZlciA9IHtcbiAgX190eXBlbmFtZT86ICdBcHByb3Zlcic7XG4gIGFwcHJvdmVyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaW9yaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXNzb2NpYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXNzb2NpYXRpb24nO1xuICBjYXRlZ29yeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdWlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWluaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2RkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5DUlM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luVGlwbG9jPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RDUlM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdFRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFnZ2FnZUFsbG93YW5jZSA9IHtcbiAgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJztcbiAgdHlwZTogRmllbGRXcmFwcGVyPEJhZ2dhZ2VUeXBlPjtcbiAgcXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICB3ZWlnaHRQcm92aWRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heEtHPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbWF4TEJTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJhZ2dhZ2VUeXBlIHtcbiAgQ2hlY2tJbiA9ICdDaGVja0luJyxcbiAgSGFuZENhcnJ5ID0gJ0hhbmRDYXJyeSdcbn1cblxuZXhwb3J0IHR5cGUgQmFza2V0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0Jhc2tldCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG93bmVyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIHJlZmVyZW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbXM6IEFycmF5PEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPEJhc2tldFN0YXR1cz47XG4gIGNvbXBhbnlHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgdmFsaWRhdGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYm9va2VkQXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFza2V0SXRlbSA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXRJdGVtJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWR1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjaGlsZHJlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZGV0YWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgZGV0YWlsSGFzaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBleHBpcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZXhwaXJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUGFzc2VuZ2VyVHlwZT4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc2VydmljZTogRmllbGRXcmFwcGVyPFNlcnZpY2U+O1xuICBzZWFyY2hRdWVyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgbWlHcm91cHNBdmFpbGFibGU6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtaUdyb3VwU2VsZWN0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFuYWdlbWVudEluZm86IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mbz4+O1xuICB2YWxpZGF0ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBsYXRlc3RWYWxpZGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvblByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25BdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBuckxvY2F0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ0RldGFpbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+PjtcbiAgc3RhdHVzOiBGaWVsZFdyYXBwZXI8QmFza2V0SXRlbVN0YXR1cz47XG4gIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGF5bWVudE1ldGhvZD4+O1xuICBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGF5bWVudE1ldGhvZD4+O1xuICBwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgcGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgcGVySXRlbUFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJJdGVtUGhvbmVOdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXJBZGRyZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIG91dGJvdW5kRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBpbmJvdW5kRGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGNvbnZlcnRlZEN1cnJlbmN5QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY29udmVydGVkQ3VycmVuY3lDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVzUmVhc29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIEJhc2tldEl0ZW1TdGF0dXMge1xuICBPcGVuID0gJ09QRU4nLFxuICBCb29rZWQgPSAnQk9PS0VEJyxcbiAgQ2FuY2VsbGVkID0gJ0NBTkNFTExFRCcsXG4gIEJvb2tpbmdGYWlsZWQgPSAnQk9PS0lOR19GQUlMRUQnXG59XG5cbmV4cG9ydCBlbnVtIEJhc2tldFN0YXR1cyB7XG4gIE9wZW4gPSAnT1BFTicsXG4gIEJvb2tlZCA9ICdCT09LRUQnLFxuICBBd2FpdGluZ0FwcHJvdmFsID0gJ0FXQUlUSU5HX0FQUFJPVkFMJyxcbiAgQXBwcm92ZWQgPSAnQVBQUk9WRUQnLFxuICBEaXNhcHByb3ZlZCA9ICdESVNBUFBST1ZFRCcsXG4gIFBhcnRpYWxseUJvb2tlZCA9ICdQQVJUSUFMTFlfQk9PS0VEJyxcbiAgQm9va2luZ0ZhaWxlZCA9ICdCT09LSU5HX0ZBSUxFRCdcbn1cblxuZXhwb3J0IHR5cGUgQmVmb3JlQ2FuY2VsbGF0aW9uSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdCZWZvcmVDYW5jZWxsYXRpb25JbmZvJztcbiAgY2FuY2VsbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBpbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbmNlbGxhdGlvbkZlZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBCb29rZWRCeUZpZWxkIHtcbiAgTmFtZSA9ICdOQU1FJyxcbiAgRW1haWwgPSAnRU1BSUwnXG59XG5cbmV4cG9ydCBlbnVtIEJvb2tlclR5cGUge1xuICBSb290ID0gJ1JPT1QnLFxuICBUbWMgPSAnVE1DJyxcbiAgQ29tcGFueSA9ICdDT01QQU5ZJyxcbiAgT2ZmaWNlID0gJ09GRklDRScsXG4gIENvbXBhbnlHcm91cCA9ICdDT01QQU5ZX0dST1VQJyxcbiAgU2VsZkJvb2sgPSAnU0VMRl9CT09LJyxcbiAgQm9va2VyID0gJ0JPT0tFUicsXG4gIFRyYXZlbGxlciA9ICdUUkFWRUxMRVInLFxuICBCb29rZXJXaXRoU2VsZiA9ICdCT09LRVJfV0lUSF9TRUxGJ1xufVxuXG5leHBvcnQgdHlwZSBCb29raW5nQWRkcmVzcyA9IHtcbiAgbnVtYmVyT3JOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RyZWV0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdG93bjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50eTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQm9va2luZ1Bob25lTnVtYmVyID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFyZWFDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZUxvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbic7XG4gIGFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlTG9jYXRpb25JbnB1dCA9IHtcbiAgYWRkcmVzczogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlUXVvdGUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzdXBwbGllck5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVzdGltYXRlZENPMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIHZlaGljbGVUeXBlOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZVZlaGljbGVUeXBlPjtcbiAgdHJpcERpc3RhbmNlTWV0cmVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyaXBEdXJhdGlvblNlY29uZHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgZGVwYXJ0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVzUmVhc29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVxdWlyZXNSZWFzb25NZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZyb21Mb2NhdGlvbjogRmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj47XG4gIHRvTG9jYXRpb246IEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+O1xuICB2aWFzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FiSGlyZVF1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBDYWJIaXJlVmVoaWNsZVR5cGUge1xuICBBbnkgPSAnQW55JyxcbiAgRGRhQ2FyID0gJ0REQUNhcicsXG4gIENvYWNoTGFyZ2UgPSAnQ29hY2hMYXJnZScsXG4gIENvYWNoU21hbGwgPSAnQ29hY2hTbWFsbCcsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlDb2FjaCA9ICdFY29ub215Q29hY2gnLFxuICBFY29ub215TXB2U21hbGwgPSAnRWNvbm9teU1QVlNtYWxsJyxcbiAgRWNvbm9teU1wdkxhcmdlID0gJ0Vjb25vbXlNUFZMYXJnZScsXG4gIEVjb25vbXlTdXYgPSAnRWNvbm9teVNVVicsXG4gIEV4ZWN1dGl2ZUNhciA9ICdFeGVjdXRpdmVDYXInLFxuICBFeGVjdXRpdmVTdXYgPSAnRXhlY3V0aXZlU1VWJyxcbiAgR3JlZW5DYXIgPSAnR3JlZW5DYXInLFxuICBHcmVlbkV4ZWN1dGl2ZSA9ICdHcmVlbkV4ZWN1dGl2ZScsXG4gIEdyZWVuU3V2ID0gJ0dyZWVuU1VWJyxcbiAgU21hbGxNcHYgPSAnU21hbGxNUFYnLFxuICBNZWRpdW1NcHYgPSAnTWVkaXVtTVBWJyxcbiAgTGFyZ2VNcHYgPSAnTGFyZ2VNUFYnLFxuICBTdGFuZGFyZENhciA9ICdTdGFuZGFyZENhcicsXG4gIFN1diA9ICdTVVYnLFxuICBCbGFja0NhYiA9ICdCbGFja0NhYicsXG4gIFRheGlTdXYgPSAnVGF4aVNVVidcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXh0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAganNvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXN0b20/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUN1c3RvbT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcyc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9wTGluZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXRlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWlycG9ydElucHV0ID0ge1xuICBwaWNrdXBDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDaGFyZ2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZSc7XG4gIGxhYmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDaXR5SW5wdXQgPSB7XG4gIHBpY2t1cENvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBDaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FySGlyZUNsYXNzIHtcbiAgTWluaSA9ICdNaW5pJyxcbiAgTWluaUVsaXRlID0gJ01pbmlFbGl0ZScsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlFbGl0ZSA9ICdFY29ub215RWxpdGUnLFxuICBDb21wYWN0ID0gJ0NvbXBhY3QnLFxuICBDb21wYWN0RWxpdGUgPSAnQ29tcGFjdEVsaXRlJyxcbiAgSW50ZXJtZWRpYXRlID0gJ0ludGVybWVkaWF0ZScsXG4gIEludGVybWVkaWF0ZUVsaXRlID0gJ0ludGVybWVkaWF0ZUVsaXRlJyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnLFxuICBTdGFuZGFyZEVsaXRlID0gJ1N0YW5kYXJkRWxpdGUnLFxuICBGdWxsc2l6ZSA9ICdGdWxsc2l6ZScsXG4gIEZ1bGxzaXplRWxpdGUgPSAnRnVsbHNpemVFbGl0ZScsXG4gIFByZW1pdW0gPSAnUHJlbWl1bScsXG4gIFByZW1pdW1FbGl0ZSA9ICdQcmVtaXVtRWxpdGUnLFxuICBMdXh1cnkgPSAnTHV4dXJ5JyxcbiAgTHV4dXJ5RWxpdGUgPSAnTHV4dXJ5RWxpdGUnLFxuICBPdmVyc2l6ZSA9ICdPdmVyc2l6ZScsXG4gIFNwZWNpYWwgPSAnU3BlY2lhbCdcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUN1c3RvbSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQ3VzdG9tJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXh0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXBvdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGVwb3QnO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBjaXR5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURlcG90UmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXBvdFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlRGVwb3Q+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZSc7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVJZGVudGlmaWVycz4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlbmRvcj4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGlzcGxheVJlY29yZCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCc7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwaWNrdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJvcG9mZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlbmRvcj4+O1xuICB2ZWhpY2xlPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZWhpY2xlPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hhcmdlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQ2hhcmdlPj4+PjtcbiAgcGlja3VwTG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZHJlc3M+PjtcbiAgcmV0dXJuTG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZHJlc3M+PjtcbiAgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUlkZW50aWZpZXJzJztcbiAgbG9jYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBycGg/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZlaFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcm9wT2ZmTG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGlja3VwRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJvcG9mZkRhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUlucHV0SWRlbnRpZmllcnMgPSB7XG4gIGxvY2F0b3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJwaD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdHVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZWhUeXBlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZMb2NhdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUxvY2F0aW9uSW5wdXQgPSB7XG4gIHBpY2t1cENvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBQb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZQb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBDYXJIaXJlVHJhbnNtaXNzaW9uIHtcbiAgTWFudWFsID0gJ01hbnVhbCcsXG4gIEF1dG8gPSAnQXV0bydcbn1cblxuZXhwb3J0IGVudW0gQ2FySGlyZVR5cGUge1xuICBUd29Ub1RocmVlRG9vciA9ICdUd29Ub1RocmVlRG9vcicsXG4gIFR3b09yRm91ckRvb3IgPSAnVHdvT3JGb3VyRG9vcicsXG4gIEZvdXJUb0ZpdmVEb29yID0gJ0ZvdXJUb0ZpdmVEb29yJyxcbiAgV2Fnb25PckVzdGF0ZSA9ICdXYWdvbk9yRXN0YXRlJyxcbiAgUGFzc2VuZ2VyVmFuID0gJ1Bhc3NlbmdlclZhbicsXG4gIExpbW91c2luZSA9ICdMaW1vdXNpbmUnLFxuICBTcG9ydCA9ICdTcG9ydCcsXG4gIENvbnZlcnRpYmxlID0gJ0NvbnZlcnRpYmxlJyxcbiAgU3V2ID0gJ1NVVicsXG4gIE9wZW5BaXJBbGxUZXJyYWluID0gJ09wZW5BaXJBbGxUZXJyYWluJyxcbiAgU3BlY2lhbCA9ICdTcGVjaWFsJyxcbiAgUGlja1VwUmVndWxhckNhYiA9ICdQaWNrVXBSZWd1bGFyQ2FiJyxcbiAgUGlja1VwRXh0ZW5kZWRDYWIgPSAnUGlja1VwRXh0ZW5kZWRDYWInLFxuICBTcGVjaWFsT2ZmZXJDYXIgPSAnU3BlY2lhbE9mZmVyQ2FyJyxcbiAgQ291cGUgPSAnQ291cGUnLFxuICBNb25vc3BhY2VFdXJvcGVhblVzZSA9ICdNb25vc3BhY2VFdXJvcGVhblVzZScsXG4gIE1vdG9ySG9tZSA9ICdNb3RvckhvbWUnLFxuICBUd29XaGVlbFZlaGljbGUgPSAnVHdvV2hlZWxWZWhpY2xlJyxcbiAgUm9hZHN0ZXIgPSAnUm9hZHN0ZXInXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZWhpY2xlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlJztcbiAgY2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWlyY29uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlSWRlbnRpZmllcnM+PjtcbiAgZGlzcGxheVJlY29yZD86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlRGlzcGxheVJlY29yZD4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHJlcXVpcmVzUmVhc29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVxdWlyZXNSZWFzb25NZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVuZG9yID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhcmJvbkFsbG93YW5jZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJib25BbGxvd2FuY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBzdGFydE9mUGVyaW9kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGVuZE9mUGVyaW9kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlbWFpbmluZ0NvMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0b3RhbENvMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYXJib25Qb2xpY3lTb3VyY2U6IEZpZWxkV3JhcHBlcjxDYXJib25Qb2xpY3lTb3VyY2U+O1xuICBwZXJpb2RDb25zdW1wdGlvbjogQXJyYXk8RmllbGRXcmFwcGVyPENhcmJvbkNvbnN1bXB0aW9uPj47XG4gIGNvbXBhbnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29tcGFueT4+O1xuICBvZmZpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8T2ZmaWNlPj47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhcmJvbkNvbnN1bXB0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhcmJvbkNvbnN1bXB0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgY29uc3VtZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGF0ZXRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIENhcmJvblBvbGljeVNvdXJjZSB7XG4gIENvbXBhbnkgPSAnQ09NUEFOWScsXG4gIE9mZmljZSA9ICdPRkZJQ0UnLFxuICBVc2VyID0gJ1VTRVInXG59XG5cbmV4cG9ydCB0eXBlIENpdHkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2l0eSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb29yZGluYXRlczogRmllbGRXcmFwcGVyPEdlb0Nvb3JkaW5hdGVzPjtcbiAgY29udGluZW50TmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXBhbnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29tcGFueSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRtYzogRmllbGRXcmFwcGVyPFRtYz47XG4gIG9mZmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgY29tcGFueUdyb3VwczogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnlHcm91cD4+O1xuICBhZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIHVzZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBzdXBwb3J0UGhvbmVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBzdXBwb3J0RW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMkNvbnN1bXB0aW9uUG9saWN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvZmlsZUNvbmZpZz86IE1heWJlPEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb21wYW55R3JvdXAgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29tcGFueUdyb3VwJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDaXR5TG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDaXR5TG9jYXRpb24nO1xuICBmb3VuZEV4YWN0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3VnZ2VzdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMnO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlQWRkcmVzcyc7XG4gIGFkZHJlc3NOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RhbENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjc2ltaWxlTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZVByb3ZpbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VIb3RlbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VIb3RlbHMnO1xuICBob3RlbElkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGhvdGVsTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc1ByZWZlcnJlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUluZm8nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlQWRkcmVzcz4+O1xuICBjbG9zZXN0QWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0VHJhaW5TdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0SG90ZWxzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlSG90ZWxzPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlTmFtZXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZU5hbWVzPj4+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUluZm8+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvdW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ291bnRyeSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpYWxDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBDdXJyZW5jeUNvZGUge1xuICBBZWQgPSAnQUVEJyxcbiAgQWZuID0gJ0FGTicsXG4gIEFsbCA9ICdBTEwnLFxuICBBbWQgPSAnQU1EJyxcbiAgQW5nID0gJ0FORycsXG4gIEFvYSA9ICdBT0EnLFxuICBBcnMgPSAnQVJTJyxcbiAgQXVkID0gJ0FVRCcsXG4gIEF3ZyA9ICdBV0cnLFxuICBBem4gPSAnQVpOJyxcbiAgQmFtID0gJ0JBTScsXG4gIEJiZCA9ICdCQkQnLFxuICBCZHQgPSAnQkRUJyxcbiAgQmduID0gJ0JHTicsXG4gIEJoZCA9ICdCSEQnLFxuICBCaWYgPSAnQklGJyxcbiAgQm1kID0gJ0JNRCcsXG4gIEJuZCA9ICdCTkQnLFxuICBCb2IgPSAnQk9CJyxcbiAgQm92ID0gJ0JPVicsXG4gIEJybCA9ICdCUkwnLFxuICBCc2QgPSAnQlNEJyxcbiAgQnRuID0gJ0JUTicsXG4gIEJ3cCA9ICdCV1AnLFxuICBCeW4gPSAnQllOJyxcbiAgQnpkID0gJ0JaRCcsXG4gIENhZCA9ICdDQUQnLFxuICBDZGYgPSAnQ0RGJyxcbiAgQ2hlID0gJ0NIRScsXG4gIENoZiA9ICdDSEYnLFxuICBDaHcgPSAnQ0hXJyxcbiAgQ2xmID0gJ0NMRicsXG4gIENscCA9ICdDTFAnLFxuICBDbnkgPSAnQ05ZJyxcbiAgQ29wID0gJ0NPUCcsXG4gIENvdSA9ICdDT1UnLFxuICBDcmMgPSAnQ1JDJyxcbiAgQ3VjID0gJ0NVQycsXG4gIEN1cCA9ICdDVVAnLFxuICBDdmUgPSAnQ1ZFJyxcbiAgQ3prID0gJ0NaSycsXG4gIERqZiA9ICdESkYnLFxuICBEa2sgPSAnREtLJyxcbiAgRG9wID0gJ0RPUCcsXG4gIER6ZCA9ICdEWkQnLFxuICBFZ3AgPSAnRUdQJyxcbiAgRXJuID0gJ0VSTicsXG4gIEV0YiA9ICdFVEInLFxuICBFdXIgPSAnRVVSJyxcbiAgRmpkID0gJ0ZKRCcsXG4gIEZrcCA9ICdGS1AnLFxuICBHYnAgPSAnR0JQJyxcbiAgR2VsID0gJ0dFTCcsXG4gIEdocyA9ICdHSFMnLFxuICBHaXAgPSAnR0lQJyxcbiAgR21kID0gJ0dNRCcsXG4gIEduZiA9ICdHTkYnLFxuICBHdHEgPSAnR1RRJyxcbiAgR3lkID0gJ0dZRCcsXG4gIEhrZCA9ICdIS0QnLFxuICBIbmwgPSAnSE5MJyxcbiAgSHJrID0gJ0hSSycsXG4gIEh0ZyA9ICdIVEcnLFxuICBIdWYgPSAnSFVGJyxcbiAgSWRyID0gJ0lEUicsXG4gIElscyA9ICdJTFMnLFxuICBJbnIgPSAnSU5SJyxcbiAgSXFkID0gJ0lRRCcsXG4gIElyciA9ICdJUlInLFxuICBJc2sgPSAnSVNLJyxcbiAgSm1kID0gJ0pNRCcsXG4gIEpvZCA9ICdKT0QnLFxuICBKcHkgPSAnSlBZJyxcbiAgS2VzID0gJ0tFUycsXG4gIEtncyA9ICdLR1MnLFxuICBLaHIgPSAnS0hSJyxcbiAgS21mID0gJ0tNRicsXG4gIEtwdyA9ICdLUFcnLFxuICBLcncgPSAnS1JXJyxcbiAgS3dkID0gJ0tXRCcsXG4gIEt5ZCA9ICdLWUQnLFxuICBLenQgPSAnS1pUJyxcbiAgTGFrID0gJ0xBSycsXG4gIExicCA9ICdMQlAnLFxuICBMa3IgPSAnTEtSJyxcbiAgTHJkID0gJ0xSRCcsXG4gIExzbCA9ICdMU0wnLFxuICBMeWQgPSAnTFlEJyxcbiAgTWFkID0gJ01BRCcsXG4gIE1kbCA9ICdNREwnLFxuICBNZ2EgPSAnTUdBJyxcbiAgTWtkID0gJ01LRCcsXG4gIE1tayA9ICdNTUsnLFxuICBNbnQgPSAnTU5UJyxcbiAgTW9wID0gJ01PUCcsXG4gIE1ydSA9ICdNUlUnLFxuICBNdXIgPSAnTVVSJyxcbiAgTXZyID0gJ01WUicsXG4gIE13ayA9ICdNV0snLFxuICBNeG4gPSAnTVhOJyxcbiAgTXh2ID0gJ01YVicsXG4gIE15ciA9ICdNWVInLFxuICBNem4gPSAnTVpOJyxcbiAgTmFkID0gJ05BRCcsXG4gIE5nbiA9ICdOR04nLFxuICBOaW8gPSAnTklPJyxcbiAgTm9rID0gJ05PSycsXG4gIE5wciA9ICdOUFInLFxuICBOemQgPSAnTlpEJyxcbiAgT21yID0gJ09NUicsXG4gIFBhYiA9ICdQQUInLFxuICBQZW4gPSAnUEVOJyxcbiAgUGdrID0gJ1BHSycsXG4gIFBocCA9ICdQSFAnLFxuICBQa3IgPSAnUEtSJyxcbiAgUGxuID0gJ1BMTicsXG4gIFB5ZyA9ICdQWUcnLFxuICBRYXIgPSAnUUFSJyxcbiAgUm9uID0gJ1JPTicsXG4gIFJzZCA9ICdSU0QnLFxuICBSdWIgPSAnUlVCJyxcbiAgUndmID0gJ1JXRicsXG4gIFNhciA9ICdTQVInLFxuICBTYmQgPSAnU0JEJyxcbiAgU2NyID0gJ1NDUicsXG4gIFNkZyA9ICdTREcnLFxuICBTZWsgPSAnU0VLJyxcbiAgU2dkID0gJ1NHRCcsXG4gIFNocCA9ICdTSFAnLFxuICBTbGwgPSAnU0xMJyxcbiAgU29zID0gJ1NPUycsXG4gIFNyZCA9ICdTUkQnLFxuICBTc3AgPSAnU1NQJyxcbiAgU3RuID0gJ1NUTicsXG4gIFN2YyA9ICdTVkMnLFxuICBTeXAgPSAnU1lQJyxcbiAgU3psID0gJ1NaTCcsXG4gIFRoYiA9ICdUSEInLFxuICBUanMgPSAnVEpTJyxcbiAgVG10ID0gJ1RNVCcsXG4gIFRuZCA9ICdUTkQnLFxuICBUb3AgPSAnVE9QJyxcbiAgVHJ5ID0gJ1RSWScsXG4gIFR0ZCA9ICdUVEQnLFxuICBUd2QgPSAnVFdEJyxcbiAgVHpzID0gJ1RaUycsXG4gIFVhaCA9ICdVQUgnLFxuICBVZ3ggPSAnVUdYJyxcbiAgVXNkID0gJ1VTRCcsXG4gIFVzbiA9ICdVU04nLFxuICBVeWkgPSAnVVlJJyxcbiAgVXl1ID0gJ1VZVScsXG4gIFV6cyA9ICdVWlMnLFxuICBWZWYgPSAnVkVGJyxcbiAgVm5kID0gJ1ZORCcsXG4gIFZ1diA9ICdWVVYnLFxuICBXc3QgPSAnV1NUJyxcbiAgWGFmID0gJ1hBRicsXG4gIFhhZyA9ICdYQUcnLFxuICBYYXUgPSAnWEFVJyxcbiAgWGJhID0gJ1hCQScsXG4gIFhiYiA9ICdYQkInLFxuICBYYmMgPSAnWEJDJyxcbiAgWGJkID0gJ1hCRCcsXG4gIFhjZCA9ICdYQ0QnLFxuICBYZHIgPSAnWERSJyxcbiAgWG9mID0gJ1hPRicsXG4gIFhwZCA9ICdYUEQnLFxuICBYcGYgPSAnWFBGJyxcbiAgWHB0ID0gJ1hQVCcsXG4gIFhzdSA9ICdYU1UnLFxuICBYdHMgPSAnWFRTJyxcbiAgWHVhID0gJ1hVQScsXG4gIFh4eCA9ICdYWFgnLFxuICBZZXIgPSAnWUVSJyxcbiAgWmFyID0gJ1pBUicsXG4gIFptdyA9ICdaTVcnLFxuICBad2wgPSAnWldMJ1xufVxuXG5cblxuZXhwb3J0IHR5cGUgRGVwYXJ0dXJlQm9hcmRTZXJ2aWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZSc7XG4gIHJpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1aWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5pZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm1Jc0hpZGRlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbj4+O1xuICBkZXN0aW5hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbj4+O1xuICBzdWJzZXF1ZW50TG9jYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFN1YnNlcXVlbnRMb2NhdGlvbnM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRGVzdGluYXRpb25FbnRyeSA9IHtcbiAgb3JpZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3Q6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlOiBTY2FsYXJzWydEYXRlJ107XG59O1xuXG5leHBvcnQgZW51bSBEaXN0YW5jZVR5cGVzIHtcbiAgSyA9ICdLJyxcbiAgTSA9ICdNJ1xufVxuXG5leHBvcnQgZW51bSBEb2NHZW5kZXIge1xuICBNID0gJ00nLFxuICBGID0gJ0YnXG59XG5cbmV4cG9ydCBlbnVtIERvY1R5cGUge1xuICBQYXNzcG9ydCA9ICdQQVNTUE9SVCcsXG4gIFZpc2EgPSAnVklTQScsXG4gIElkQ2FyZCA9ICdJRF9DQVJEJ1xufVxuXG5leHBvcnQgdHlwZSBEb2N1bWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdEb2N1bWVudCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgZG9jVHlwZTogRmllbGRXcmFwcGVyPERvY1R5cGU+O1xuICBuYXRpb25hbGl0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5kZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8RG9jR2VuZGVyPj47XG4gIG51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlT2ZJc3N1aW5nU3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZU9mSXNzdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mRXhwaXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50SW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGRvY1R5cGU6IERvY1R5cGU7XG4gIG5hdGlvbmFsaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBnZW5kZXI/OiBNYXliZTxEb2NHZW5kZXI+O1xuICBudW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlT2ZJc3N1aW5nU3RhdGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRhdGVPZklzc3VlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkYXRlT2ZFeHBpcnk6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRTaG9ydElucHV0ID0ge1xuICB1c2VySWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZG9jVHlwZTogRG9jVHlwZTtcbn07XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZlRmxpZ2h0U2VhcmNoUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnO1xuICBqb3VybmV5czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtdWx0aTogQXJyYXk8RmllbGRXcmFwcGVyPEl0aW5lcmFyeVN1bW1hcnk+PjtcbiAgZ3JvdXBlZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxHcm91cEZsaWdodHM+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9uRW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPEZhcmVSdWxlVHlwZT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcmVtYXJrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoYW5nZUZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbEZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlZnVuZGFibGVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG59O1xuXG5leHBvcnQgZW51bSBGYXJlUnVsZVR5cGUge1xuICBDYW5jZWxsYXRpb24gPSAnQ2FuY2VsbGF0aW9uJyxcbiAgQ2hhbmdlID0gJ0NoYW5nZScsXG4gIE5vU2hvdyA9ICdOb1Nob3cnLFxuICBVcGdyYWRlID0gJ1VwZ3JhZGUnLFxuICBPdGhlciA9ICdPdGhlcidcbn1cblxuZXhwb3J0IGVudW0gRmFyZVR5cGUge1xuICBGbGV4aWJsZSA9ICdGbGV4aWJsZScsXG4gIExvd2VzdCA9ICdMb3dlc3QnLFxuICBOZWdvdGlhdGVkID0gJ05lZ290aWF0ZWQnLFxuICBOb25OZWdvdGlhdGVkID0gJ05vbk5lZ290aWF0ZWQnLFxuICBMZWlzdXJlID0gJ0xlaXN1cmUnLFxuICBSZXF1ZXN0RmFyZVJ1bGVzID0gJ1JlcXVlc3RGYXJlUnVsZXMnLFxuICBTZWxlY3RBbmRQcm8gPSAnU2VsZWN0QW5kUHJvJ1xufVxuXG5leHBvcnQgdHlwZSBGYXN0VHJhY2tRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWZ1bmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW1hZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbXBvcnRhbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhc3RUcmFja1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmFzdFRyYWNrUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEFtb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnO1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gRmxpZ2h0Q2FiaW5DbGFzcyB7XG4gIEFueSA9ICdBbnknLFxuICBMaXRlRWNvbm9teSA9ICdMaXRlRWNvbm9teScsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlSZXN0cmljdGVkID0gJ0Vjb25vbXlSZXN0cmljdGVkJyxcbiAgRWNvbm9teU5vQmFncyA9ICdFY29ub215Tm9CYWdzJyxcbiAgRWNvbm9teUZsZXhpID0gJ0Vjb25vbXlGbGV4aScsXG4gIFByZW1pdW1FY29ub215ID0gJ1ByZW1pdW1FY29ub215JyxcbiAgQnVzaW5lc3MgPSAnQnVzaW5lc3MnLFxuICBQcmVtaXVtQnVzaW5lc3MgPSAnUHJlbWl1bUJ1c2luZXNzJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBQcmVtaXVtRmlyc3QgPSAnUHJlbWl1bUZpcnN0J1xufVxuXG5leHBvcnQgdHlwZSBGbGlnaHRDYXJib25FbWlzc2lvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJztcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdW5pdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodENhcnJpZXJEZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxpYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FsbHNpZ24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlJztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVRvdGFsID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCc7XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGRpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0SXRpbmVyYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeSc7XG4gIHVpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgYmFzZUZhcmVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBwYXNzZW5nZXJDb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZmFyZVBDQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRib3VuZEZsaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRKb3VybmV5Pj47XG4gIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEpvdXJuZXk+Pj4+O1xuICBvdXRib3VuZFRvdGFsRHVyYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICBpbmJvdW5kVG90YWxEdXJhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRBbW91bnQ+Pj4+O1xuICBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0QW1vdW50Pj4+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlVG90YWw+O1xuICBmYXJlQ29uZGl0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9ucz4+O1xuICBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEJhZ2dhZ2VBbGxvd2FuY2U+Pj4+O1xuICBkaXNjbG9zdXJlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGFkZGl0aW9uYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0Sm91cm5leSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvPj47XG4gIG9yaWdpbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiBGaWVsZFdyYXBwZXI8QWlycG9ydERldGFpbD47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZURlcGFydGluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFya2V0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJyaWVyRGV0YWlsPjtcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjYWJpbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FiaW5DbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWJpblJhdz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGZhcmVDb25kaXRpb25zOiBGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0b3BzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdvdmVybmluZ0NhcnJpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFycmlhZ2VHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0TWVhbE9wdGlvblJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRNZWFsT3B0aW9uUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2U+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodE1lYWxPcHRpb25zJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0TWVhbE9wdGlvbnNSZXNwb25zZSc7XG4gIG9wdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRNZWFsT3B0aW9ucz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0ID0ge1xuICB0eXBlOiBGbGlnaHRQYXNzZW5nZXJUeXBlO1xuICBmaXJzdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pZGRsZU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG59O1xuXG5leHBvcnQgZW51bSBGbGlnaHRQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIEZsaWdodFJldmFsaWRhdGVSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRSZXZhbGlkYXRlUmVzcG9uc2UnO1xuICB2YWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoUmVzdWx0Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG4gIHJ1bGVBY3Rpb25TdW1tYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0VjIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8RmVGbGlnaHRTZWFyY2hSZXN1bHRzPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+PjtcbiAgcnVsZUFjdGlvblN1bW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwQWlyY3JhZnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JztcbiAgY2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFJlc3BvbnNlJztcbiAgYWlyY3JhZnQ6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwQWlyY3JhZnQ+O1xuICBzZWF0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBTZWF0cz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcyc7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cyc7XG4gIHJvdzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29sdW1uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdHRyaWJ1dGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNwZWNpYWxGYXJlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nO1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEdlb0Nvb3JkaW5hdGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJztcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBHcm91cEZsaWdodHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJztcbiAgcmVmZXJlbmNlSUQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGZsaWdodElEOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib3VuZEluZGljYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZmxpZ2h0czogRmllbGRXcmFwcGVyPE1hdGNoaW5nRmxpZ2h0cz47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJztcbiAgYWRkcmVzc0xpbmUxPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNzaW1pbGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQXZhaWxhYmlsaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JztcbiAgaG90ZWxJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsUm9vbT4+Pj47XG4gIHBycG4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNCdXN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ2FyZCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ29udmVyc2lvbiA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENvbnZlcnNpb24nO1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvY2FsQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYWxUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjb252ZXJ0ZWRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb252ZXJ0ZWRUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxEZXBvc2l0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCc7XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBwb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxJdGluZXJhcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbjogRmllbGRXcmFwcGVyPEhvdGVsTG9jYXRpb24+O1xuICBhZGRyZXNzOiBGaWVsZFdyYXBwZXI8SG90ZWxBZGRyZXNzPjtcbiAgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRyYW5zcG9ydD4+Pj47XG4gIHByZWZlcnJlZDogRmllbGRXcmFwcGVyPEhvdGVsUHJlZmVycmVkPjtcbiAgdGFncz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRhZz4+Pj47XG4gIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj47XG4gIHN0YXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbic7XG4gIGRpc3RhbmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRpc3RhbmNlVHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbE5pZ2h0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnO1xuICBuaWdodDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBpbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQYXltZW50VHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJztcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQb2xpY3kgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwb3NpdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXNhYmxlZEFjY2Vzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZ2VuZXJhbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBndWFyYW50ZWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmdW5kQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQcmVmZXJyZWQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnO1xuICBjbGllbnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb25zdW1lcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFJvb20gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJztcbiAgcm9vbUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByb29tVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb29tRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYXRlRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3lDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxDb252ZXJzaW9uPj47XG4gIGRlcG9zaXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxEZXBvc2l0Pj47XG4gIG5pZ2h0czogQXJyYXk8RmllbGRXcmFwcGVyPEhvdGVsTmlnaHQ+PjtcbiAgcG9saWNpZXM6IEZpZWxkV3JhcHBlcjxIb3RlbFBvbGljeT47XG4gIHRheDogRmllbGRXcmFwcGVyPEhvdGVsVGF4PjtcbiAgYWNjZXB0ZWRDYXJkcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbENhcmQ+Pj4+O1xuICBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxQYXltZW50VHlwZT4+Pj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEl0aW5lcmFyeT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRhZyA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRhZyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVGF4ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVGF4JztcbiAgaW5jbHVkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRyYW5zcG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxDbGFzcyB7XG4gIEFsbCA9ICdBbGwnLFxuICBGaXJzdCA9ICdGaXJzdCcsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJ1xufVxuXG5leHBvcnQgdHlwZSBJcmxEeW5hbWljQ29uZGl0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTER5bmFtaWNDb25kaXRpb24nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycyc7XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaWduYXR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ1JlZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXI+Pj47XG4gIGZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxQcm92aWRlcj4+PjtcbiAgdW5zZWxsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsUGx1c0J1cz4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9uPj4+O1xuICByZXR1cm4/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbj4+PjtcbiAganJmcmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxKb3VybmV5VHlwZSB7XG4gIFJldHVybkpvdXJuZXkgPSAnUmV0dXJuSm91cm5leScsXG4gIFNpbmdsZUpvdXJuZXkgPSAnU2luZ2xlSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgSXJsT2ZmbGluZU5vdGlmeVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxPZmZsaW5lTm90aWZ5UmVzdWx0JztcbiAgc3VjY2VzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxPZmZsaW5lUGFzc2VuZ2VyID0ge1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZ2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc2NvdW50Q2FyZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG95YWx0eUNhcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxQbHVzQnVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsUHJvdmlkZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMUHJvdmlkZXInO1xuICBwcm92aWRlcklkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0T3B0aW9uPj4+PjtcbiAgYm9va2VkVGlja2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhdCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWF0JztcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29hY2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3NpdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRTZWxlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG5vdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGxvd2VkVmFsdWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlZ21lbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGFycml2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VhdD4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybFN1cHBsaWVyIHtcbiAgUmVuZmUgPSAnUmVuZmUnLFxuICBCZU5lID0gJ0JlTmUnLFxuICBOdHYgPSAnTnR2J1xufVxuXG5leHBvcnQgdHlwZSBJcmxTdXBwbGllclN0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VwcGxpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXRpb25Db2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBubGNDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyYWlubGluZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5saW5lVW5pcXVlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGV4dFZhbHVlUGFpcic7XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIG51bUNoaWxkcmVuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIG51bUFkdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0RXh0cmEgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWR1bHRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjaGlsZEFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGN1cnJlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZVJ1bGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0Pj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRyYXZlbENhcmQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsQ2FyZCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuZXRDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlY28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN1cHBsaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUcmF2ZWxsZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJztcbiAgc3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRyYXZlbGxlclN0YXR1cz4+O1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkb2I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIHJhaWxjYXJkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdpdmVuTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXJuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWVUaXRsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb250YWN0SW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWxpdmVyeUVtYWlsQWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxUcmF2ZWxsZXJTdGF0dXMge1xuICBQbGFjZWhvbGRlciA9ICdwbGFjZWhvbGRlcicsXG4gIENvbXBsZXRlID0gJ2NvbXBsZXRlJ1xufVxuXG5leHBvcnQgdHlwZSBJbnB1dENhckhpcmVEZXBvdCA9IHtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwTG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBFeHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkxvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSW5wdXRGbGlnaHRKb3VybmV5ID0ge1xuICBpZDogU2NhbGFyc1snU3RyaW5nJ107XG4gIGZhcmVJbmZvPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbiAgb3JpZ2luQWlycG9ydDogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9yaWdpblRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvcmlnaW5BaXJwb3J0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3JpZ2luQWlycG9ydERldGFpbD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydDogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3RpbmF0aW9uVGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZVRpbWVEZXBhcnRpbmdVVEM6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlVGltZUFycml2aW5nOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogU2NhbGFyc1snU3RyaW5nJ107XG4gIG1hcmtldGluZ0NhcnJpZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBtYXJrZXRpbmdDYXJyaWVyTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2FycmllckRldGFpbD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIG1hcmtldGluZ0ZsaWdodE51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9wZXJhdGluZ0NhcnJpZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcGVyYXRpbmdDYXJyaWVyTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3BlcmF0aW5nQ2FycmllckRldGFpbD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIG9wZXJhdGluZ0ZsaWdodE51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGVxdWlwbWVudENvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBlcXVpcG1lbnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdG90YWxEdXJhdGlvbjogU2NhbGFyc1snSW50J107XG4gIHNlYXRzQXZhaWxhYmxlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBjYWJpbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNhYmluQ2xhc3M/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNhYmluUmF3PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBmYXJlQ29uZGl0aW9uczogU2NhbGFyc1snSlNPTiddO1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdG9wcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYm9va2luZ0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdvdmVybmluZ0NhcnJpZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1hcnJpYWdlR3JvdXA/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBmYXJlQmFzaXNDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEl0aW5lcmFyeVN1bW1hcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeSc7XG4gIG9yZGVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvcmlnaW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0SXRpbmVyYXJ5Pj47XG4gIG1pblByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIG1heFByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIExhbmd1YWdlID0ge1xuICBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaXNvQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExpdmVEZXBCb2FyZFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdMaXZlRGVwQm9hcmRSZXN1bHQnO1xuICBzZXJ2aWNlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxEZXBhcnR1cmVCb2FyZFNlcnZpY2U+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG9jYXRpb24nO1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlwbG9jPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNycz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnO1xuICBjb250aW5lbnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvb3JkaW5hdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPEdlb0Nvb3JkaW5hdGVzPj47XG4gIHBvc3Rjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvYWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ3JpZFJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBub3J0aGluZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlYXN0aW5nPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbFR5cGUge1xuICBFcnJvciA9ICdFUlJPUicsXG4gIFdhcm4gPSAnV0FSTicsXG4gIEluZm8gPSAnSU5GTycsXG4gIEh0dHAgPSAnSFRUUCcsXG4gIFZlcmJvc2UgPSAnVkVSQk9TRScsXG4gIERlYnVnID0gJ0RFQlVHJyxcbiAgU2lsbHkgPSAnU0lMTFknXG59XG5cbmV4cG9ydCB0eXBlIExvdW5nZUxvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvdW5nZUxvY2F0aW9uJztcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmF4PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW50cm9kdWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbW9iaWxlSW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnVydGhlckltYWdlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGFkdWx0QWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGNoaWxkQWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGluZmFudEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBsYW5kc2lkZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFpcnNpZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgb3BlblRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xvc2VUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdpZmk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHR2PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzbmFja3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBpbnRlcm5ldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgY2hpbGRyZW5BbGxvd2VkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBkaXNhYmxlZEFjY2Vzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZHJpbmtzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBmcmVlRHJpbmtzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBmcmVlRm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc21va2luZ1Blcm1pdHRlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbWFnYXppbmVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBpbmNsdWRlZERyaW5rcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG1lbnVGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1lbnVEcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWVudUV4dHJhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRHJpbmtzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWRFeHRyYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZEZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ3JvdXBJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoZWNrSW5JbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyZXNzQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmb29kQW5kQmV2ZXJhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuY2VsbGF0aW9uSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbWVuZG1lbnRzSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTG91bmdlUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG91bmdlUXVvdGUnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIGxvdW5nZTogRmllbGRXcmFwcGVyPExvdW5nZUxvY2F0aW9uPjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXF1aXJlc1JlYXNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlcXVpcmVzUmVhc29uTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgTG91bmdlU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvdW5nZVNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxMb3VuZ2VRdW90ZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm8nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBkYklkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBoYW5kb2ZmOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZU1hc2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VydmljZTogRmllbGRXcmFwcGVyPFNlcnZpY2U+O1xuICB1aVByZXNlbnRhdGlvbjogRmllbGRXcmFwcGVyPFVpUHJlc2VudGF0aW9uPjtcbiAgbWFuZGF0b3J5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVhc29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGVyQm9va2luZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFnZW50T25seTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRha2VWYWx1ZUZyb21Vc2VyRGVmYXVsdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdGFrZVZhbHVlRnJvbUJvb2tlckRlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGVuZm9yY2VVc2VyRGVmYXVsdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2VkQnlGaWVsZD86IE1heWJlPEZpZWxkV3JhcHBlcjxCb29rZWRCeUZpZWxkPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZml4ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBmaXhlZFZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZGVmYXVsdFZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgdmFsdWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBncm91cD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIHNlbGVjdGVkVmFsdWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG59O1xuXG5leHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mb1ZhbHVlID0ge1xuICBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBsYWJlbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlZmF1bHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBmaXhlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFnZW50T25seTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBNYXRjaGluZ0ZsaWdodHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTWF0Y2hpbmdGbGlnaHRzJztcbiAgTGl0ZUVjb25vbXk/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBFY29ub215UmVzdHJpY3RlZD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXlOb0JhZ3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBFY29ub215RmxleGk/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBFY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgUHJlbWl1bUVjb25vbXk/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBCdXNpbmVzcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1CdXNpbmVzcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEZpcnN0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgUHJlbWl1bUZpcnN0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTWVzc2FnZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbmZpZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHRhcmdldDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAga2V5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5VGFyZ2V0OiBGaWVsZFdyYXBwZXI8TWVzc2FnZVRhcmdldD47XG4gIGFnZW50T25seTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNsaWNrVG9Db25maXJtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdmFsaWRGcm9tPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdmFsaWRUbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGNvbGxhcHNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IGVudW0gTWVzc2FnZVRhcmdldCB7XG4gIExvZ2luID0gJ0xPR0lOJyxcbiAgU2VhcmNoRm9ybSA9ICdTRUFSQ0hfRk9STScsXG4gIFJlc3VsdHMgPSAnUkVTVUxUUycsXG4gIE1pRm9ybSA9ICdNSV9GT1JNJyxcbiAgQmFza2V0QmVmb3JlQ29uZmlybSA9ICdCQVNLRVRfQkVGT1JFX0NPTkZJUk0nLFxuICBEYXNoYm9hcmQgPSAnREFTSEJPQVJEJ1xufVxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdNdXRhdGlvbic7XG4gIHNhdmVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBkZWxldGVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEFkZHJlc3NBc1VzZXJQcmltYXJ5OiBGaWVsZFdyYXBwZXI8QWRkcmVzcz47XG4gIHNlbmRCYXNrZXRGb3JBcHByb3ZhbDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNyZWF0ZUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGRlbGV0ZUJhc2tldDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVwZGF0ZUJhc2tldFRpdGxlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgdXBkYXRlQmFza2V0Tm90ZXM6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhZGRJdGVtVG9CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlbW92ZUl0ZW1zRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVVc2VyRnJvbUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW9wZW5CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcjogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGJvb2tCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjYW5jZWxCb29raW5nOiBGaWVsZFdyYXBwZXI8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvPjtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXA6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRNSURlZmF1bHRWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEJhc2tldEl0ZW1NSVZhbHVlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgY29uZmlybU1lc3NhZ2VzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Q6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZXZhbGlkYXRlQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmV2YWxpZGF0ZUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhY2NlcHROZXdQcmljZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNhdmVGYXZvdXJpdGVTZWFyY2g6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgc2F2ZVJlY2VudFNlYXJjaDogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBkZWxldGVGYXZvdXJpdGVTZWFyY2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBkZWxldGVSZWNlbnRTZWFyY2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlZGl0VXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBzZXRVc2VyTGFuZ3VhZ2U6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlVXNlckFkZHJlc3NBcmdzID0ge1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlck9yTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3duPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVVzZXJBZGRyZXNzQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QWRkcmVzc0FzVXNlclByaW1hcnlBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZW5kQmFza2V0Rm9yQXBwcm92YWxBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0OiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVCYXNrZXRBcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0VGl0bGVBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuZXdUaXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0Tm90ZXNBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3RlczogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkSXRlbVRvQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlcXVpcmVzUmVhc29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVJdGVtRnJvbUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUl0ZW1zRnJvbUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJZDogU2NhbGFyc1snSUQnXTtcbiAgYmFza2V0SXRlbXM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIG5ld0Jhc2tldDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRVc2Vyc1RvQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVvcGVuQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB1c2VyOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkJvb2tCYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBBcnJheTxTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNhbmNlbEJvb2tpbmdBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1NaUdyb3VwQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIGdyb3VwPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldE1pRGVmYXVsdFZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIHZhbHVlOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1NaVZhbHVlQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBtaVZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG1pRnJlZVZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ29uZmlybU1lc3NhZ2VzQXJncyA9IHtcbiAgbWVzc2FnZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBwYXltZW50TWV0aG9kOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJldmFsaWRhdGVCYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmV2YWxpZGF0ZUJhc2tldEl0ZW1BcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWNjZXB0TmV3UHJpY2VBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZUZhdm91cml0ZVNlYXJjaEFyZ3MgPSB7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGU7XG4gIHNlYXJjaEFyZ3M6IFNjYWxhcnNbJ0pTT04nXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlUmVjZW50U2VhcmNoQXJncyA9IHtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG4gIHRyYXZlbERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydJRCddPj4+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUZhdm91cml0ZVNlYXJjaEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVJlY2VudFNlYXJjaEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkVkaXRVc2VyQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb3JlbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFkZGl0aW9uYWxFbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB1c2VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXV0aE1ldGhvZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBib29rZXJUeXBlPzogTWF5YmU8Qm9va2VyVHlwZT47XG4gIHRtY0FkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG9mZmljZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjYW5DcmVhdGVBZG1pbkF0T3duTGV2ZWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBsb2dMZXZlbD86IE1heWJlPExvZ0xldmVsVHlwZT47XG4gIGxpdmU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb25mZXJtYUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkb2I/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBhZG1pbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlBZG1pbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNlbGVjdGVkTGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWVyZ2VuY3lDb250YWN0UGhvbmU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RFbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VwcGxpZXJSZWxhdGlvbnM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwaG9uZU51bWJlcnM/OiBNYXliZTxBcnJheTxQaG9uZU51bWJlcklucHV0Pj47XG4gIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PEFkZHJlc3NJbnB1dD4+O1xuICB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8VXNlck1pRGVmYXVsdFZhbHVlc0lucHV0Pj47XG4gIGRvY3VtZW50cz86IE1heWJlPEFycmF5PERvY3VtZW50SW5wdXQ+PjtcbiAgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8VXNlckxveWFsdHlDb2RlSW5wdXQ+PjtcbiAgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTxVc2VyUHJlZmVyZW5jZUlucHV0Pj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0VXNlckxhbmd1YWdlQXJncyA9IHtcbiAgbGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE9mZmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdPZmZpY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgYWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb2ZpbGVDb25maWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGFya2luZ0xvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdMb2NhdGlvbic7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXN0YW5jZVRvQWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIG9uQWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBtZWV0QW5kR3JlZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXg/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsUHJvY2VkdXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVByb2NlZHVyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXhpbXVtQ2FyU2l6ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbnRyb2R1Y3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5mb3JtYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJJbmZvcm1hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2Zlck9wZXJhdGluZ1RpbWVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVyVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVmYXVsdEltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJyYW5kSW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbW9iaWxlSW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnVydGhlckltYWdlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG1pc2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ1F1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgY2FyUGFyazogRmllbGRXcmFwcGVyPFBhcmtpbmdMb2NhdGlvbj47XG4gIHJlcXVpcmVkSW5mbzogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+PjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXF1aXJlc1JlYXNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlcXVpcmVzUmVhc29uTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgUGFya2luZ1NlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFBhcmtpbmdRdW90ZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IGVudW0gUGFzc2VuZ2VyVHlwZSB7XG4gIEFkdWx0ID0gJ0FEVUxUJyxcbiAgQ2hpbGQgPSAnQ0hJTEQnLFxuICBJbmZhbnQgPSAnSU5GQU5UJ1xufVxuXG5leHBvcnQgdHlwZSBQYXltZW50Q29uZmlnID0ge1xuICBjc3BVcmw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFnZW50SWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJvb2tlcklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcGlLZXk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBhc3N3b3JkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzZXJ2ZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbnN1bWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGllbnRJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWNjb3VudFR5cGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFjY291bnRWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5Vcmw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbnN1bWVySWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuVXNlcm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuUGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kID0ge1xuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZElucHV0ID0ge1xuICBjb25maWc/OiBNYXliZTxQYXltZW50Q29uZmlnPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBob25lTnVtYmVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJlYUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV4dGVuc2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFBob25lVHlwZT4+O1xuICBvZmZpY2VQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBob25lTnVtYmVySW5wdXQgPSB7XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXJlYUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGV4dGVuc2lvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZT86IE1heWJlPFBob25lVHlwZT47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFBob25lVHlwZSB7XG4gIE1vYmlsZSA9ICdNT0JJTEUnLFxuICBMYW5kbGluZSA9ICdMQU5ETElORScsXG4gIEZheCA9ICdGQVgnLFxuICBPdGhlciA9ICdPVEhFUidcbn1cblxuZXhwb3J0IHR5cGUgUG9zdGNvZGVEZXRhaWxzID0ge1xuICBfX3R5cGVuYW1lPzogJ1Bvc3Rjb2RlRGV0YWlscyc7XG4gIHBvc3Rjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGVhc3RpbmdzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIG5vcnRoaW5ncz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV1cm9wZWFuRWxlY3RvcmFsUmVnaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaW1hcnlDYXJlVHJ1c3Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVnaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxzb2E/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbXNvYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3V0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwYXJsaWFtZW50YXJ5Q29uc3RpdHVlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkbWluRGlzdHJpY3Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGFyaXNoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkbWluQ291bnR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkbWluV2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2NnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51dHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFByZWZlcmVuY2VLZXkge1xuICBNZWFsUmVxdWVzdCA9ICdNRUFMX1JFUVVFU1QnLFxuICBTZWF0aW5nUHJlZmVyZW5jZSA9ICdTRUFUSU5HX1BSRUZFUkVOQ0UnLFxuICBTcGVhY2lhbE5lZWQgPSAnU1BFQUNJQUxfTkVFRCcsXG4gIFNlYXRMb2NhdGlvbiA9ICdTRUFUX0xPQ0FUSU9OJyxcbiAgU2VhdFBvc2l0aW9uID0gJ1NFQVRfUE9TSVRJT04nLFxuICBTZWF0RGlyZWN0aW9uID0gJ1NFQVRfRElSRUNUSU9OJ1xufVxuXG5leHBvcnQgdHlwZSBQcm9maWxlQ29uZmlnID0ge1xuICBfX3R5cGVuYW1lPzogJ1Byb2ZpbGVDb25maWcnO1xuICBwcm9maWxlOiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIGFkZHJlc3M6IEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnT3B0aW9uPjtcbiAgbWlEZWZhdWx0OiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIGRvY3VtZW50czogRmllbGRXcmFwcGVyPFByb2ZpbGVDb25maWdPcHRpb24+O1xuICBsb3lhbHR5OiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIHRyYXZlbFByZWZlcmVuY2VzOiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIHBheW1lbnQ6IEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnT3B0aW9uPjtcbiAgaW5oZXJpdGVkRnJvbUNvbXBhbnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gUHJvZmlsZUNvbmZpZ09wdGlvbiB7XG4gIEluaGVyaXRlZCA9ICdJTkhFUklURUQnLFxuICBFZGl0YWJsZSA9ICdFRElUQUJMRScsXG4gIFZpc2libGUgPSAnVklTSUJMRScsXG4gIEhpZGRlbiA9ICdISURERU4nXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ1F1ZXJ5JztcbiAgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgZ2V0QWxsQWlybGluZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG4gIHNlYXJjaEFpcmxpbmVzOiBGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdHM+O1xuICBzZWFyY2hBaXJwb3J0czogRmllbGRXcmFwcGVyPEFpcnBvcnRSZXN1bHRzPjtcbiAgZ2V0VXNlckJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGdldFVzZXJCYXNrZXRzOiBBcnJheTxGaWVsZFdyYXBwZXI8QmFza2V0Pj47XG4gIGVtYWlsQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgZ2VuZXJhdGVCYXNrZXRQREY6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaENhYkhpcmU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlUmVzdWx0PjtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIGdldENhbmNlbGxhdGlvbkluZm86IEZpZWxkV3JhcHBlcjxCZWZvcmVDYW5jZWxsYXRpb25JbmZvPjtcbiAgZ2V0Q2FySGlyZVByb3ZpZGVyczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaENhckhpcmU6IEZpZWxkV3JhcHBlcjxDYXJIaXJlUmVzdWx0PjtcbiAgZ2V0Q2FySGlyZURlcG90czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVEZXBvdD4+O1xuICBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdDogRmllbGRXcmFwcGVyPENhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2U+O1xuICBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJib25BbGxvd2FuY2U+PjtcbiAgc2VhcmNoQ2l0aWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2l0eT4+O1xuICBnZXRDb21wYW5pZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIGdldENvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgY29uZmVybWFCbG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgc2VhcmNoQ29uZmVybWFDaXRpZXM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbj47XG4gIGdldENvbmZlcm1hT2ZmaWNlOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VSZXN1bHQ+O1xuICBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdD47XG4gIGdldENvbmZlcm1hUXVpY2tsaXN0OiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRDb25mZXJtYVJvb21JbWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZXRDb3VudHJpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb3VudHJ5Pj47XG4gIGdldENPVklETWljcm9zaXRlVG9rZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaEZhc3RUcmFjazogRmllbGRXcmFwcGVyPEZhc3RUcmFja1Jlc3VsdD47XG4gIGFwcGx5SklURmxpZ2h0UnVsZXM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBzZWFyY2hGbGlnaHRzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0PjtcbiAgc2VhcmNoRmxpZ2h0c1YyOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0VjI+O1xuICBzZWFyY2hFdXJvc3RhcjogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdFYyPjtcbiAgZ2V0RmxpZ2h0RmFyZVJ1bGVzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0RmFyZVJ1bGVzUmVzdWx0PjtcbiAgZ2V0RmxpZ2h0TWVhbE9wdGlvbnM6IEZpZWxkV3JhcHBlcjxGbGlnaHRNZWFsT3B0aW9uUmVzdWx0PjtcbiAgYWxpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRIb3RlbENoYWluczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxzOiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRIb3RlbEF2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHk6IEZpZWxkV3JhcHBlcjxIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0SVJMRGlzY291bnRDYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPElybFRyYXZlbENhcmQ+PjtcbiAgc2VuZE9mZmxpbmVOb3RpZmljYXRpb246IEZpZWxkV3JhcHBlcjxJcmxPZmZsaW5lTm90aWZ5UmVzdWx0PjtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFN1cHBsaWVyU3RhdGlvbj4+O1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIGdldFJhaWxQcm92aWRlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hJUkw6IEZpZWxkV3JhcHBlcjxJcmxTZWFyY2hSZXN1bHQ+O1xuICBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IEZpZWxkV3JhcHBlcjxMaXZlRGVwQm9hcmRSZXN1bHQ+O1xuICBzZWFyY2hMb3VuZ2VzOiBGaWVsZFdyYXBwZXI8TG91bmdlU2VhcmNoUmVzdWx0PjtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbGlkYXRlVXNlck1JRnJlZVZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdmFsaWRhdGVCYXNrZXRJdGVtTUk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNZXNzYWdlPj47XG4gIGdldFVzZXJDb21wYW55T2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBnZXRPZmZpY2U6IEZpZWxkV3JhcHBlcjxPZmZpY2U+O1xuICBzZWFyY2hQYXJraW5nOiBGaWVsZFdyYXBwZXI8UGFya2luZ1NlYXJjaFJlc3VsdD47XG4gIGdldEJhc2tldEl0ZW1QYXltZW50U3VwcGxtZW50YXJ5SW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBnZXRQb3N0Y29kZURldGFpbHM6IEZpZWxkV3JhcHBlcjxQb3N0Y29kZURldGFpbHM+O1xuICBwb3N0Y29kZUF1dG9TdWdnZXN0OiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoUG9zdGNvZGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8UG9zdGNvZGVEZXRhaWxzPj47XG4gIGlzUG9zdGNvZGVWYWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldFJhaWxTdGF0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb24+O1xuICBzZWFyY2hSYWlsU3RhdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbj4+O1xuICBzZWFyY2hSYWlsOiBGaWVsZFdyYXBwZXI8UmFpbFNlYXJjaFJlc3VsdD47XG4gIGdldFJhaWxjYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyPj47XG4gIGdldFJpc2tBbGVydHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSaXNrQWxlcnQ+PjtcbiAgZ2V0VXNlclRyYXZlbFJ1bGVzOiBGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZXNDb2xsZWN0aW9uPjtcbiAgYXBwbHlKSVRIb3RlbFJ1bGVzOiBGaWVsZFdyYXBwZXI8QXBwbHlKaXRSdWxlc1Jlc3VsdD47XG4gIGdldFVzZXJSZWNlbnRTZWFyY2hlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBnZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZ2V0RmxpZ2h0U2VhdE1hcDogRmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBSZXN1bHQ+O1xuICBnZXRVc2VyU2VydmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZXJ2aWNlPj47XG4gIGdldFRGWFN1cHBsaWVyUm91dGVzOiBGaWVsZFdyYXBwZXI8VGZ4U3VwcGxpZXJSb3V0ZXNSZXN1bHQ+O1xuICBnZXRVc2VyVUlDb25maWdzOiBGaWVsZFdyYXBwZXI8VWlDb25maWdDb2xsZWN0aW9uPjtcbiAgZ2V0VXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEFpcmxpbmVzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEFpcnBvcnRzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGV4Y2x1ZGVOb25QdWJsaWM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJCYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckJhc2tldHNBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB0cmF2ZWxsZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0U3RhdHVzPzogTWF5YmU8QmFza2V0U3RhdHVzPjtcbiAgY3JlYXRlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNyZWF0ZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0UmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRUaXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlFbWFpbEJhc2tldEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdlbmVyYXRlQmFza2V0UGRmQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2FiSGlyZUFyZ3MgPSB7XG4gIGRlcGFydHM6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdmlhcz86IE1heWJlPEFycmF5PE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj4+O1xuICB2ZWhpY2xlVHlwZT86IE1heWJlPENhYkhpcmVWZWhpY2xlVHlwZT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoVXNlckNhbkJvb2tGb3JBcmdzID0ge1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q2FuY2VsbGF0aW9uSW5mb0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2FySGlyZUFyZ3MgPSB7XG4gIGFpcnBvcnQ/OiBNYXliZTxDYXJIaXJlQWlycG9ydElucHV0PjtcbiAgY2l0eT86IE1heWJlPENhckhpcmVDaXR5SW5wdXQ+O1xuICBsb2NhdGlvbj86IE1heWJlPENhckhpcmVMb2NhdGlvbklucHV0PjtcbiAgZGVwb3Q/OiBNYXliZTxJbnB1dENhckhpcmVEZXBvdD47XG4gIHBpY2t1cERhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGFzcz86IE1heWJlPENhckhpcmVDbGFzcz47XG4gIHR5cGU/OiBNYXliZTxDYXJIaXJlVHlwZT47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPENhckhpcmVUcmFuc21pc3Npb24+O1xuICBhaXJjb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2VVbml0cz86IE1heWJlPERpc3RhbmNlVHlwZXM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENhckhpcmVEZXBvdHNBcmdzID0ge1xuICBsYXRpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgbG9uZ2l0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICByYWRpdXM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RBcmdzID0ge1xuICBsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlQXJncyA9IHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENpdGllc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29tcGFuaWVzQXJncyA9IHtcbiAgcXVlcnk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29tcGFueUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hQmxvY2tDbGllbnRIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFCbG9ja0NvbnN1bWVySG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYVVuYmxvY2tDb25zdW1lckhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ29uZmVybWFDaXRpZXNBcmdzID0ge1xuICBjaXR5TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb25mZXJtYU9mZmljZUFyZ3MgPSB7XG4gIG9mZmljZUlkOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb25mZXJtYVF1aWNrbGlzdEFyZ3MgPSB7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb25mZXJtYVJvb21JbWFnZXNBcmdzID0ge1xuICBob3RlbElkOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGYXN0VHJhY2tBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUFwcGx5Sml0RmxpZ2h0UnVsZXNBcmdzID0ge1xuICBzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiBTY2FsYXJzWydKU09OJ107XG4gIGF2YWlsYWJsZUluYm91bmRGbGlnaHRzOiBBcnJheTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEZsaWdodHNBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzVjJBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hFdXJvc3RhckFyZ3MgPSB7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD47XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+Pj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdyb3VwTWF4PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEZsaWdodEZhcmVSdWxlc0FyZ3MgPSB7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEZsaWdodE1lYWxPcHRpb25zQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSG90ZWxDaGFpbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSG90ZWxzQXJncyA9IHtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY2l0eU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3RPclppcENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgdHJhaW5TdGF0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb2ZmaWNlSWQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJvb21zOiBTY2FsYXJzWydJbnQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzO1xuICBkaXN0YW5jZTogU2NhbGFyc1snSW50J107XG4gIG1heFJlc3VsdHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGhvdGVsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEhvdGVsQXZhaWxhYmlsaXR5QXJncyA9IHtcbiAgaG90ZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9jY3VwYW50czogU2NhbGFyc1snSW50J107XG4gIHJvb21zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5QXJncyA9IHtcbiAgaG90ZWw6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvY2N1cGFudHM6IFNjYWxhcnNbJ0ludCddO1xuICByb29tcz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRJcmxEaXNjb3VudENhcmRzQXJncyA9IHtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlbmRPZmZsaW5lTm90aWZpY2F0aW9uQXJncyA9IHtcbiAgdHJhaW5OdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXBhcnR1cmVTdGF0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzdGluYXRpb25TdGF0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3V0Ym91bmREYXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgaW5ib3VuZERhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZGRpdGlvbmFsSW5mbzogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9mZmxpbmVSZWZlcmVuY2U6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBub3RpZnlFbWFpbDogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9uQmVoYWxmT2Y6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzZXJ2aWNlQ2xhc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwYXNzZW5nZXJzOiBBcnJheTxJcmxPZmZsaW5lUGFzc2VuZ2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRJcmxTdXBwbGllclN0YXRpb25BcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hJcmxBcmdzID0ge1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IElybEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPElybENsYXNzPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0dXJlTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYXJyaXZhbExvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBpcmxEaXNjb3VudENhcmRzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJhaWxMaXZlRGVwYXJ0dXJlc0FyZ3MgPSB7XG4gIHN0YXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoTG91bmdlc0FyZ3MgPSB7XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFycml2YWxEYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIHBhcnRpYWxMYWJlbDogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVBcmdzID0ge1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgZnJlZVZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlWYWxpZGF0ZUJhc2tldEl0ZW1NaUFyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlck1lc3NhZ2VzQXJncyA9IHtcbiAgZW52aXJvbm1lbnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXlUYXJnZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoUGFya2luZ0FyZ3MgPSB7XG4gIGFycml2YWxEYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0RGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dEZsaWdodE51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVjb21tZW5kZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtZWV0QW5kR3JlZXQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kUmlkZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRTdHJvbGw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYXJQYXJrZWRGb3JZb3U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRCYXNrZXRJdGVtUGF5bWVudFN1cHBsbWVudGFyeUluZm9TY2hlbWFBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFBvc3Rjb2RlRGV0YWlsc0FyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlQb3N0Y29kZUF1dG9TdWdnZXN0QXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBvc3Rjb2Rlc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlJc1Bvc3Rjb2RlVmFsaWRBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UmFpbFN0YXRpb25BcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxTdGF0aW9uc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc1RvZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoUmFpbEFyZ3MgPSB7XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBqb3VybmV5VHlwZTogUmFpbFNlYXJjaEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPFJhaWxDbGFzcz47XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICB2aWFMb2NhdGlvbklkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG91dGJvdW5kQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgZXh0cmFUaW1lVG9DaGFuZ2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwbHVzQnVzT3V0PzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHBsdXNCdXNSZXR1cm4/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbiAgdHJhdmVsQ2FyZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydEYXRlJ10+PjtcbiAgcmFpbENhcmRRdWFsaWZpZXJzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3BsaXRUaWNrZXRzRnJvbURlcGFydHVyZUpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzcGxpdFRpY2tldHNUb0Rlc3RpbmF0aW9uSm91cm5leT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Umlza0FsZXJ0c0FyZ3MgPSB7XG4gIG1pbkxldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgbWF4TGV2ZWw/OiBNYXliZTxSaXNrTGV2ZWw+O1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlBcHBseUppdEhvdGVsUnVsZXNBcmdzID0ge1xuICBkYXRhOiBBcnJheTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJSZWNlbnRTZWFyY2hlc0FyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0FyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEZsaWdodFNlYXRNYXBBcmdzID0ge1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRUZnhTdXBwbGllclJvdXRlc0FyZ3MgPSB7XG4gIHN1cHBsaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb25lV2F5T25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlclVpQ29uZmlnc0FyZ3MgPSB7XG4gIHRhcmdldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxBY2NvdW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzRGVmYXVsdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbENhbGxpbmdQb2ludCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JztcbiAgc3RhdGlvbk5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzY2hlZHVsZWRQbGF0Zm9ybT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0aW9uQ2xhc3NpZmljYXRpb246IEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbkNsYXNzaWZpY2F0aW9uPjtcbiAgc3RvcHBpbmdQYXR0ZXJuOiBGaWVsZFdyYXBwZXI8UmFpbFN0b3BwaW5nUGF0dGVybj47XG59O1xuXG5leHBvcnQgZW51bSBSYWlsQ2xhc3Mge1xuICBBbGwgPSAnQWxsJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBTdGFuZGFyZCA9ICdTdGFuZGFyZCdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbElkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycyc7XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5SWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50SWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXJlSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFdpdGg6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSWRlbnRpZmllcnM+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ1JlZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbElkZW50aWZpZXJzQWxsb3dlZFdpdGggPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzQWxsb3dlZFdpdGgnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5RmFyZSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnO1xuICBwcm92aWRlcklkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyTmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFRlcm1zPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUhhc2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlbGl2ZXJ5T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24+Pj4+O1xuICBtb2JpbGVUaWNrZXRBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGVUaWNrZXRBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNlbGZQcmludEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5TGVnID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5TGVnJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdG9yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWxsaW5nUG9pbnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nO1xuICBmcm9tOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmcm9tQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnREYXRlVGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXJyaXZlRGF0ZVRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlMZWdzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlMZWc+PjtcbiAgcmV0dXJuSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIGR1YWxTaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBkdWFsU2luZ2xlU3BsaXRPdXRib3VuZEZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgZHVhbFNpbmdsZVNwbGl0UmV0dXJuRmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsUHJvdmlkZXI+Pj47XG4gIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0UXVldWU+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+PjtcbiAgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRFeHRyYT4+PjtcbiAgcGx1c0J1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsUGx1c0J1cz4+O1xuICBvdmVydGFrZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb24+Pj47XG4gIHJldHVybj86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbj4+PjtcbiAgdHJhdmVsQ2FyZHNBZGRvbkZsYWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHN1bW1hcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXNBdmFpbCA9IHtcbiAgb3JpZ2luPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgZW51bSBSYWlsU2VhcmNoSm91cm5leVR5cGUge1xuICBTaW5nbGVKb3VybmV5ID0gJ1NpbmdsZUpvdXJuZXknLFxuICBSZXR1cm5Kb3VybmV5ID0gJ1JldHVybkpvdXJuZXknLFxuICBPcGVuUmV0dXJuSm91cm5leSA9ICdPcGVuUmV0dXJuSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXQnO1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2FjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc2l0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFNlbGVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbm90ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VnbWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFNlYXQ+Pj47XG4gIGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xuICBoYXNUb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbiB7XG4gIE9yaWdpbiA9ICdPcmlnaW4nLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgRGVzdGluYXRpb24gPSAnRGVzdGluYXRpb24nLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCBlbnVtIFJhaWxTdG9wcGluZ1BhdHRlcm4ge1xuICBSZXF1ZXN0U3RvcCA9ICdSZXF1ZXN0U3RvcCcsXG4gIFBpY2tVcE9ubHkgPSAnUGlja1VwT25seScsXG4gIFNldERvd25Pbmx5ID0gJ1NldERvd25Pbmx5JyxcbiAgTm9ybWFsID0gJ05vcm1hbCcsXG4gIFBhc3NpbmcgPSAnUGFzc2luZycsXG4gIFVua25vd24gPSAnVW5rbm93bidcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXREZWxpdmVyeU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24nO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFRlcm1zPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmxlU2VhdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbW9iaWxlVGlja2V0QXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBlVGlja2V0QXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzZWxmUHJpbnRBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldD4+Pj47XG4gIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0UXVldWU+Pj4+O1xuICBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbEFjY291bnQ+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldFF1ZXVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZSc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldFRlcm1zID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcyc7XG4gIGVycm9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldFR5cGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWluT3BlcmF0aW5nQ29tcGFueUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUFsdE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlc2VydmF0aW9uUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmVCb29raW5nUmVxdWlyZW1lbnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2VuZXJhbFZhbGlkaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZhbGlkT3V0UnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2YWxpZFJldHVyblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2VuZXJhbERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoaWxkRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmFpbGNhcmREaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWZ1bmRDYW5jZWxsYXRpb25SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoYW5nZVJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5QnJlYWtSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGF2YWlsYWJpbGl0eVJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9kQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGtpb3NrQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXJ0RGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGR5bmFtaWNDb25kaXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPER5bmFtaWNDb25kaXRpb24+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXInO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmlza0FsZXJ0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1Jpc2tBbGVydCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYnJlYWtpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByaXNrOiBGaWVsZFdyYXBwZXI8Umlza0xldmVsPjtcbiAgY2F0ZWdvcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgc3RhcnREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGVuZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcmVjZWl2ZWREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgZW51bSBSaXNrTGV2ZWwge1xuICBMb3cgPSAnTG93JyxcbiAgTW9kZXJhdGUgPSAnTW9kZXJhdGUnLFxuICBNZWRpdW0gPSAnTWVkaXVtJyxcbiAgSGlnaCA9ICdIaWdoJyxcbiAgRXh0cmVtZSA9ICdFeHRyZW1lJ1xufVxuXG5leHBvcnQgdHlwZSBTZWFyY2ggPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZXJ2aWNlVHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgc2VhcmNoQXJnczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdHJhdmVsRGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEVycm9yID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJztcbiAgc2VydmljZTogRmllbGRXcmFwcGVyPFNlcnZpY2U+O1xuICBlcnJvck1lc3NhZ2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVycm9yQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJlc3VsdCA9IEZsaWdodEl0aW5lcmFyeSB8IEl0aW5lcmFyeVN1bW1hcnk7XG5cbmV4cG9ydCB0eXBlIFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnO1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGZyZWVWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBiYXNrZXRMZXZlbFZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlckxldmVsVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlcnZpY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VydmljZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXBwbGllclVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWN0aXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXBpRW5kcG9pbnRVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW1UdGw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY2FuY2VsbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhbWVuZGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBkZXRhaWxTY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBzZWFyY2hRdWVyeVNjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgZW51bSBTZXJ2aWNlVHlwZSB7XG4gIEZsaWdodCA9ICdGTElHSFQnLFxuICBFdXJvc3RhciA9ICdFVVJPU1RBUicsXG4gIEludGVybmF0aW9uYWxSYWlsID0gJ0lOVEVSTkFUSU9OQUxfUkFJTCcsXG4gIFJhaWwgPSAnUkFJTCcsXG4gIEhvdGVsID0gJ0hPVEVMJyxcbiAgQ2FyID0gJ0NBUicsXG4gIExvdW5nZSA9ICdMT1VOR0UnLFxuICBGYXN0VHJhY2sgPSAnRkFTVF9UUkFDSycsXG4gIFBhcmtpbmcgPSAnUEFSS0lORycsXG4gIENhYiA9ICdDQUInLFxuICBDb2FjaCA9ICdDT0FDSCdcbn1cblxuZXhwb3J0IHR5cGUgU3RhdGlvblNlYXJjaFJlcXVlc3RSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdTdGF0aW9uU2VhcmNoUmVxdWVzdFJlc3BvbnNlJztcbiAgdGV4dDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8gPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXJJbmZvOiBBcnJheTxVc2VySW5mbz47XG4gIGFkZHJlc3M/OiBNYXliZTxCb29raW5nQWRkcmVzcz47XG4gIHBob25lTnVtYmVyPzogTWF5YmU8Qm9va2luZ1Bob25lTnVtYmVyPjtcbiAgc3VwcGxlbWVudGFyeUluZm86IFNjYWxhcnNbJ0pTT04nXTtcbiAgcGF5bWVudE1ldGhvZERldGFpbHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkb2N1bWVudHM/OiBNYXliZTxBcnJheTxEb2N1bWVudFNob3J0SW5wdXQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFRmeFN1cHBsaWVyUm91dGVzUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVEZYU3VwcGxpZXJSb3V0ZXNSZXNwb25zZSc7XG4gIGlhdGExOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRmeFN1cHBsaWVyUm91dGVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1RGWFN1cHBsaWVyUm91dGVzUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFRmeFN1cHBsaWVyUm91dGVzUmVzcG9uc2U+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFRtYyA9IHtcbiAgX190eXBlbmFtZT86ICdUTUMnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsUnVsZSA9IHtcbiAgX190eXBlbmFtZT86ICdUcmF2ZWxSdWxlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFwcGxpZXNUbzogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgYXBwbGljYXRpb25TdGFnZTogRmllbGRXcmFwcGVyPEFwcGxpY2F0aW9uU3RhZ2U+O1xufTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsUnVsZUFwcGxpZXNUbyA9IHtcbiAgX190eXBlbmFtZT86ICdUcmF2ZWxSdWxlQXBwbGllc1RvJztcbiAgZmxpZ2h0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICByYWlsPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBob3RlbD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY2FyPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBsb3VuZ2U/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGZhc3RUcmFjaz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgcGFya2luZz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY2FiPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBjb2FjaD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGVzQ29sbGVjdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdUcmF2ZWxSdWxlc0NvbGxlY3Rpb24nO1xuICB0bWM6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGNvbXBhbnk6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIG9mZmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIHVzZXI6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGFsbDogQXJyYXk8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+PjtcbiAgYXBwbGllc1RvPzogTWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGVBcHBsaWVzVG8+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFVpQ29uZmlnID0ge1xuICBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGFyZ2V0OiBGaWVsZFdyYXBwZXI8VWlDb25maWdUYXJnZXQ+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25maWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIGtleTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVpQ29uZmlnQ29sbGVjdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdVSUNvbmZpZ0NvbGxlY3Rpb24nO1xuICB0bWM6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBjb21wYW55OiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgb2ZmaWNlOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgY29tcGFueUdyb3VwOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgdXNlcjogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGFsbDogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG59O1xuXG5leHBvcnQgZW51bSBVaUNvbmZpZ1RhcmdldCB7XG4gIEFsbCA9ICdBTEwnLFxuICBNb2NrID0gJ01PQ0snLFxuICBMaWdodG5pbmcgPSAnTElHSFROSU5HJyxcbiAgQXBwID0gJ0FQUCdcbn1cblxuZXhwb3J0IGVudW0gVWlQcmVzZW50YXRpb24ge1xuICBGcmVlVGV4dCA9ICdGUkVFX1RFWFQnLFxuICBBdXRvU3VnZ2VzdCA9ICdBVVRPX1NVR0dFU1QnLFxuICBEcm9wZG93biA9ICdEUk9QRE9XTicsXG4gIEhpZGRlbiA9ICdISURERU4nXG59XG5cbmV4cG9ydCB0eXBlIFVzZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlcic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb3JlbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFkZGl0aW9uYWxFbWFpbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1c2VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25mZXJtYUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBhZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdG1jQWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbXBhbnlBZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2VyVHlwZTogRmllbGRXcmFwcGVyPEJvb2tlclR5cGU+O1xuICBhdXRoTWV0aG9kczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhc3N3b3JkTGFzdFVwZGF0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBzZWxlY3RlZExhbmd1YWdlOiBGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+O1xuICBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxMYW5ndWFnZT4+O1xuICB0bWM6IEZpZWxkV3JhcHBlcjxUbWM+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIG9mZmljZTogRmllbGRXcmFwcGVyPE9mZmljZT47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgYXBwcm92ZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZXI+PjtcbiAgYXBwcm92ZXJGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxBcHByb3ZlZT4+O1xuICBib29rZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWVyZ2VuY3lDb250YWN0RW1haWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzdXBwbGllclJlbGF0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbG9nTGV2ZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9nTGV2ZWxUeXBlPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj4+O1xuICB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFVzZXJNaURlZmF1bHRWYWx1ZT4+PjtcbiAgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPERvY3VtZW50Pj4+O1xuICBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8VXNlckxveWFsdHlDb2RlPj4+O1xuICBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUHJlZmVyZW5jZT4+PjtcbiAgcHJvZmlsZUNvbmZpZz86IE1heWJlPEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnPj47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VySW5mbyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkZHJlc3M/OiBNYXliZTxCb29raW5nQWRkcmVzcz47XG4gIHBob25lTnVtYmVyPzogTWF5YmU8Qm9va2luZ1Bob25lTnVtYmVyPjtcbiAgc3VwcGxlbWVudGFyeUluZm86IFNjYWxhcnNbJ0pTT04nXTtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJMb3lhbHR5Q29kZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyTG95YWx0eUNvZGUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGNhcnJpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyTG95YWx0eUNvZGVJbnB1dCA9IHtcbiAgY2Fycmllcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHR5cGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyTWlEZWZhdWx0VmFsdWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlck1pRGVmYXVsdFZhbHVlJztcbiAgdXNlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHNlcnZpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2VydmljZT4+O1xuICBtYW5hZ2VtZW50SW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mbz4+O1xuICBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZnJlZVRleHRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlck1pRGVmYXVsdFZhbHVlc0lucHV0ID0ge1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBtYW5hZ2VtZW50SW5mbzogU2NhbGFyc1snSUQnXTtcbiAgbWFuYWdlbWVudEluZm9WYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBmcmVlVGV4dFZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlclBhc3NlbmdlclR5cGUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBwYXNzZW5nZXJUeXBlOiBGaWVsZFdyYXBwZXI8UGFzc2VuZ2VyVHlwZT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZUlucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgcGFzc2VuZ2VyVHlwZTogUGFzc2VuZ2VyVHlwZTtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQcmVmZXJlbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJQcmVmZXJlbmNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT4+O1xuICBwcmVmZXJlbmNlS2V5PzogTWF5YmU8RmllbGRXcmFwcGVyPFByZWZlcmVuY2VLZXk+PjtcbiAgcHJlZmVyZW5jZVZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQcmVmZXJlbmNlSW5wdXQgPSB7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xuICBwcmVmZXJlbmNlS2V5PzogTWF5YmU8UHJlZmVyZW5jZUtleT47XG4gIHByZWZlcmVuY2VWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1YnNlcXVlbnRMb2NhdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnc3Vic2VxdWVudExvY2F0aW9ucyc7XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBsYXRmb3JtPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBsYXRmb3JtSXNIaWRkZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsU291cmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXNzb2NpYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEFzc29jaWF0aW9uPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFjY2VwdE5ld1ByaWNlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcnM6IEFycmF5PFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+IHwgVXNlclBhc3NlbmdlclR5cGVJbnB1dDtcbiAgd2l0aFN1cHBsZW1lbnRhbDogU2NhbGFyc1snQm9vbGVhbiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBhZGRVc2Vyc1RvQmFza2V0SXRlbTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiBTY2FsYXJzWydKU09OJ107XG4gIGF2YWlsYWJsZUluYm91bmRGbGlnaHRzOiBBcnJheTxTY2FsYXJzWydKU09OJ10+IHwgU2NhbGFyc1snSlNPTiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnYXBwbHlKSVRGbGlnaHRSdWxlcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZGF0YTogQXJyYXk8U2NhbGFyc1snSlNPTiddPiB8IFNjYWxhcnNbJ0pTT04nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGFwcGx5SklUSG90ZWxSdWxlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBcHBseUpJVFJ1bGVzUmVzdWx0JyB9XG4gICAgJiBQaWNrPEFwcGx5Sml0UnVsZXNSZXN1bHQsICdyZXN1bHQnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCc+XG4pO1xuXG5leHBvcnQgdHlwZSBPd25lckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbik7XG5cbmV4cG9ydCB0eXBlIEJhc2tldEZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICYgUGljazxCYXNrZXQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICd0aXRsZScgfCAnbm90ZXMnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdib29rZWRBdCcgfCAnc3RhdHVzJyB8ICd2YWxpZGF0ZWQnPlxuICAmIHsgb3duZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgT3duZXJGaWVsZHNGcmFnbWVudFxuICApLCBiYXNrZXRJdGVtczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXRJdGVtJyB9XG4gICAgJiBNYWtlT3B0aW9uYWw8UGljazxCYXNrZXRJdGVtLCAnaWQnIHwgJ2FkdWx0cycgfCAnY2hpbGRyZW4nIHwgJ2luZmFudHMnIHwgJ2RldGFpbCcgfCAnZGV0YWlsSGFzaCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2V4cGlyeScgfCAnZXhwaXJlZCcgfCAnc2VhcmNoUXVlcnknIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAnbWlHcm91cHNBdmFpbGFibGUnIHwgJ21pR3JvdXBTZWxlY3RlZCcgfCAndmFsaWRhdGVkJyB8ICdsYXRlc3RWYWxpZGF0aW9uJyB8ICdsYXRlc3RWYWxpZGF0aW9uUHJpY2UnIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2UnIHwgJ2xhdGVzdFZhbGlkYXRpb25BdmFpbGFibGUnIHwgJ2Jvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlJyB8ICdzdGF0dXMnIHwgJ3BuckxvY2F0b3InIHwgJ2Jvb2tpbmdEZXRhaWwnIHwgJ3Blckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3BlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVySXRlbUFkZHJlc3MnIHwgJ3Blckl0ZW1QaG9uZU51bWJlcicgfCAncGVyUGFzc2VuZ2VyQWRkcmVzcycgfCAncGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXInIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnb3V0Ym91bmREYXRlJyB8ICdpbmJvdW5kRGF0ZScgfCAncmVxdWlyZXNSZWFzb24nIHwgJ2NvbnZlcnRlZEN1cnJlbmN5QW1vdW50JyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUNvZGUnPiwgJ3Blckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3BlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVySXRlbUFkZHJlc3MnIHwgJ3Blckl0ZW1QaG9uZU51bWJlcicgfCAncGVyUGFzc2VuZ2VyQWRkcmVzcycgfCAncGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXInPlxuICAgICYgeyBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPiwgc2VsZWN0ZWRQYXltZW50TWV0aG9kPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPiwgc2VydmljZTogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnPlxuICAgICksIHVzZXJzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudFxuICAgICk+LCB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyUGFzc2VuZ2VyVHlwZScgfVxuICAgICAgJiBQaWNrPFVzZXJQYXNzZW5nZXJUeXBlLCAnaWQnIHwgJ3Bhc3NlbmdlclR5cGUnPlxuICAgICk+LCBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgbWFuYWdlbWVudEluZm86IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbycgfVxuICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAncmVhc29uJyB8ICdmaXhlZCcgfCAnZ3JvdXAnPlxuICAgICAgJiB7IGZpeGVkVmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHNlbGVjdGVkVmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSwgJ2ZyZWVWYWx1ZScgfCAnYmFza2V0TGV2ZWxWYWx1ZScgfCAndXNlckxldmVsVmFsdWUnPlxuICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4sIGNvbXBhbnlHcm91cD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueUdyb3VwJyB9XG4gICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHRyYXZlbGxlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXRTdGF0dXM/OiBNYXliZTxCYXNrZXRTdGF0dXM+O1xuICBjcmVhdGVkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY3JlYXRlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJCYXNrZXRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlQmFza2V0Jz5cbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBjcmVhdGVCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgcmVtb3ZlSXRlbUZyb21CYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0OiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNlbmRCYXNrZXRGb3JBcHByb3ZhbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc2VydmljZTogU2NhbGFyc1snSUQnXTtcbiAgZGV0YWlsOiBTY2FsYXJzWydKU09OJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmljZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5Q29kZTtcbiAgc2VhcmNoUXVlcnk6IFNjYWxhcnNbJ0pTT04nXTtcbiAgcXVpY2tBZGQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2Vycz86IE1heWJlPEFycmF5PE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PiB8IE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlcXVpcmVzUmVhc29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBhZGRJdGVtVG9CYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgcmV2YWxpZGF0ZUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQm9va0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBBcnJheTxTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8+IHwgU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEJvb2tCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBib29rQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlcGFydHM6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdmlhcz86IE1heWJlPEFycmF5PE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj4gfCBNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+O1xuICB2ZWhpY2xlVHlwZT86IE1heWJlPENhYkhpcmVWZWhpY2xlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2FiSGlyZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUXVvdGUnIH1cbiAgICAgICYgUGljazxDYWJIaXJlUXVvdGUsICdpZCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAnc3VwcGxpZXJOYW1lJyB8ICdlc3RpbWF0ZWRDTzInIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICd2ZWhpY2xlVHlwZScgfCAndHJpcERpc3RhbmNlTWV0cmVzJyB8ICd0cmlwRHVyYXRpb25TZWNvbmRzJyB8ICdkZXBhcnRzJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ3JlcXVpcmVzUmVhc29uJyB8ICdyZXF1aXJlc1JlYXNvbk1lc3NhZ2UnPlxuICAgICAgJiB7IGZyb21Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB0b0xvY2F0aW9uOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICksIHZpYXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYW5jZWxCb29raW5nTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgY2FuY2VsQm9va2luZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZnRlckNhbmNlbGxhdGlvbkluZm8nIH1cbiAgICAmIFBpY2s8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvLCAnY2FuY2VsbGVkJyB8ICdjYW5jZWxsYXRpb25GZWUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxvY2F0aW9uRGV0YWlsczogQ2FySGlyZUlucHV0SWRlbnRpZmllcnM7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UnIH1cbiAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUlkZW50aWZpZXJzJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICk+LCB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcicgfVxuICAgICAgJiBQaWNrPENhckhpcmVWZW5kb3IsICduYW1lJyB8ICdsb2dvJz5cbiAgICApPiwgYWRkcmVzcz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcycgfVxuICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nIH1cbiAgICAgICYgUGljazxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtLCAnbmFtZScgfCAndGV4dCcgfCAnanNvbic+XG4gICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbScgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUN1c3RvbSwgJ25hbWUnIHwgJ3RleHQnPlxuICAgICAgKT4+PiB9XG4gICAgKT4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGFpcnBvcnQ/OiBNYXliZTxDYXJIaXJlQWlycG9ydElucHV0PjtcbiAgY2l0eT86IE1heWJlPENhckhpcmVDaXR5SW5wdXQ+O1xuICBsb2NhdGlvbj86IE1heWJlPENhckhpcmVMb2NhdGlvbklucHV0PjtcbiAgZGVwb3Q/OiBNYXliZTxJbnB1dENhckhpcmVEZXBvdD47XG4gIHBpY2t1cERhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGFzcz86IE1heWJlPENhckhpcmVDbGFzcz47XG4gIHR5cGU/OiBNYXliZTxDYXJIaXJlVHlwZT47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPENhckhpcmVUcmFuc21pc3Npb24+O1xuICBhaXJjb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2VVbml0cz86IE1heWJlPERpc3RhbmNlVHlwZXM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhckhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAncmVxdWlyZXNSZWFzb24nIHwgJ3JlcXVpcmVzUmVhc29uTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICAgKT4sIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCcgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZURpc3BsYXlSZWNvcmQsICdzdGF0dXMnIHwgJ3BpY2t1cCcgfCAnZHJvcG9mZic+XG4gICAgICAgICYgeyB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICAgICApPiwgdmVoaWNsZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlaGljbGUsICdjbGFzcycgfCAndHlwZScgfCAndHJhbnNtaXNzaW9uJyB8ICdhaXJjb24nIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpbWFnZXMnPlxuICAgICAgICApPiwgY2hhcmdlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQ2hhcmdlLCAnbGFiZWwnIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgKT4+PiwgcGlja3VwTG9jYXRpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICAgICk+LCByZXR1cm5Mb2NhdGlvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDb25maXJtTWVzc2FnZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWVzc2FnZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdjb25maXJtTWVzc2FnZXMnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVGYXZvdXJpdGVTZWFyY2gnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVSZWNlbnRTZWFyY2gnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlVXNlckFkZHJlc3MnPlxuKTtcblxuZXhwb3J0IHR5cGUgRWRpdFVzZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb3JlbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFkZGl0aW9uYWxFbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGF1dGhNZXRob2RzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY3RpdmU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBib29rZXJUeXBlPzogTWF5YmU8Qm9va2VyVHlwZT47XG4gIHRtY0FkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbG9nTGV2ZWw/OiBNYXliZTxMb2dMZXZlbFR5cGU+O1xuICBsaXZlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uZmVybWFJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZG9iPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgYWRtaW4/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55QWRtaW4/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZWxlY3RlZExhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWVyZ2VuY3lDb250YWN0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdFBob25lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWVyZ2VuY3lDb250YWN0RW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyUmVsYXRpb25zPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGhvbmVOdW1iZXJzPzogTWF5YmU8QXJyYXk8UGhvbmVOdW1iZXJJbnB1dD4gfCBQaG9uZU51bWJlcklucHV0PjtcbiAgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8QWRkcmVzc0lucHV0PiB8IEFkZHJlc3NJbnB1dD47XG4gIHVzZXJNaURlZmF1bHRWYWx1ZXM/OiBNYXliZTxBcnJheTxVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQ+IHwgVXNlck1pRGVmYXVsdFZhbHVlc0lucHV0PjtcbiAgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8RG9jdW1lbnRJbnB1dD4gfCBEb2N1bWVudElucHV0PjtcbiAgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8VXNlckxveWFsdHlDb2RlSW5wdXQ+IHwgVXNlckxveWFsdHlDb2RlSW5wdXQ+O1xuICBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PFVzZXJQcmVmZXJlbmNlSW5wdXQ+IHwgVXNlclByZWZlcmVuY2VJbnB1dD47XG59PjtcblxuXG5leHBvcnQgdHlwZSBFZGl0VXNlck11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGVkaXRVc2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICdhZGRpdGlvbmFsRW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjb25mZXJtYUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCcgfCAnY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsJyB8ICdsaXZlJyB8ICdzdXBwbGllclJlbGF0aW9ucycgfCAnbG9nTGV2ZWwnPlxuICAgICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICApLCBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICk+LCBhcHByb3ZlcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBcHByb3ZlcicgfVxuICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgKT4sIGFwcHJvdmVyRm9yOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQXBwcm92ZWUnIH1cbiAgICAgICYgUGljazxBcHByb3ZlZSwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgKT4sIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgKT4+LCB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJNaURlZmF1bHRWYWx1ZScgfVxuICAgICAgJiBQaWNrPFVzZXJNaURlZmF1bHRWYWx1ZSwgJ2ZyZWVUZXh0VmFsdWUnPlxuICAgICAgJiB7IHNlcnZpY2U/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICApPiwgbWFuYWdlbWVudEluZm8/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbycgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm8sICdpZCcgfCAnZGJJZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2hhbmRvZmYnIHwgJ3ZhbHVlTWFzaycgfCAndWlQcmVzZW50YXRpb24nIHwgJ21hbmRhdG9yeScgfCAncGVyUGFzc2VuZ2VyJyB8ICdwZXJCb29raW5nJyB8ICdhZ2VudE9ubHknIHwgJ3Rha2VWYWx1ZUZyb21Vc2VyRGVmYXVsdCcgfCAndGFrZVZhbHVlRnJvbUJvb2tlckRlZmF1bHQnIHwgJ2VuZm9yY2VVc2VyRGVmYXVsdCcgfCAnYm9va2VkQnlGaWVsZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2ZpeGVkJyB8ICdncm91cCc+XG4gICAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgICApLCBmaXhlZFZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIGRlZmF1bHRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCB2YWx1ZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCBzZWxlY3RlZFZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICAgJiB7IHZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPiB9XG4gICAgICApPiwgbWFuYWdlbWVudEluZm9WYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+IH1cbiAgICApPj4sIGRvY3VtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdEb2N1bWVudCcgfVxuICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgKT4+LCBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICApPj4sIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICk+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgRW1haWxCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBFbWFpbEJhc2tldFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGVtYWlsQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lOiAnQmFza2V0JyB9XG4gICAgJiBQaWNrPEJhc2tldCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ3RpdGxlJyB8ICdub3RlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N0YXR1cycgfCAndmFsaWRhdGVkJyB8ICdib29rZWRBdCc+XG4gICAgJiB7IG93bmVyOiAoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICAgICk+LCB0bWM6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICYgUGljazxUbWMsICduYW1lJz5cbiAgICAgICksIG9mZmljZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgKSwgY29tcGFueUdyb3VwczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAmIHsgY29tcGFueTogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICYgeyB0bWM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApLCBvZmZpY2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAgICYgeyBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICkgfVxuICAgICAgKT4sIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICApPj4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICk+LCBhcHByb3ZlcnM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICApPiwgYXBwcm92ZXJGb3I6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICApPiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgKT4+IH1cbiAgICApLCBiYXNrZXRJdGVtczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQmFza2V0SXRlbScgfVxuICAgICAgJiBQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3BuckxvY2F0b3InIHwgJ2Jvb2tpbmdEZXRhaWwnIHwgJ3N0YXR1cycgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudCcgfCAnY29udmVydGVkQ3VycmVuY3lDb2RlJz5cbiAgICAgICYgeyB1c2VyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgICApPiwgdG1jOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgKSwgb2ZmaWNlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICApLCBjb21wYW55R3JvdXBzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQ29tcGFueUdyb3VwJyB9XG4gICAgICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55JyB9XG4gICAgICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdUTUMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgICApPiB9XG4gICAgICAgICAgICApPiwgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBzdXBwb3J0UGhvbmVOdW1iZXI/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FwcHJvdmVyJyB9XG4gICAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FwcHJvdmVlJyB9XG4gICAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnRG9jdW1lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUHJlZmVyZW5jZScgfVxuICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4gfVxuICAgICAgKT4sIHVzZXJQYXNzZW5nZXJUeXBlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUGFzc2VuZ2VyVHlwZScgfVxuICAgICAgICAmIFBpY2s8VXNlclBhc3NlbmdlclR5cGUsICdpZCcgfCAncGFzc2VuZ2VyVHlwZSc+XG4gICAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlclByZWZlcmVuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyTG95YWx0eUNvZGUnIH1cbiAgICAgICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+IH1cbiAgICAgICk+LCBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICksIG1hbmFnZW1lbnRJbmZvOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZW5mb3JjZVVzZXJEZWZhdWx0JyB8ICdib29rZWRCeUZpZWxkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZml4ZWQnIHwgJ2dyb3VwJz5cbiAgICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdTZXJ2aWNlJyB9XG4gICAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJz5cbiAgICAgICAgKSwgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIGRlZmF1bHRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICAgJiB7IHZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXInIH1cbiAgICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICAgICk+LCBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgKT4gfVxuICAgICk+LCBjb21wYW55R3JvdXA/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICYgUGljazxDb21wYW55R3JvdXAsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N1cHBvcnRFbWFpbCcgfCAnY28yQ29uc3VtcHRpb25Qb2xpY3knIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICYgUGljazxUbWMsICdpZCcgfCAnbmFtZSc+XG4gICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4sIHVzZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdMYW5ndWFnZScgfVxuICAgICAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgICAgICk+LCB0bWM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApLCBvZmZpY2U6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ09mZmljZScgfVxuICAgICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgICApPiB9XG4gICAgICAgICAgKSwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgICAgICYgUGljazxBcHByb3ZlciwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgICAgICYgUGljazxBcHByb3ZlZSwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPiwgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICk+IH1cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBFcnJvcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgJiB7IHNlcnZpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHcm91cGVkRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgJiBQaWNrPEdyb3VwRmxpZ2h0cywgJ3JlZmVyZW5jZUlEJyB8ICdmbGlnaHRJRCcgfCAnYm91bmRJbmRpY2F0b3InIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICYgeyBmbGlnaHRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cycgfVxuICAgICYgUGljazxNYXRjaGluZ0ZsaWdodHMsICdFY29ub215UmVzdHJpY3RlZCcgfCAnRWNvbm9teU5vQmFncycgfCAnRWNvbm9teUZsZXhpJyB8ICdQcmVtaXVtRWNvbm9teScgfCAnQnVzaW5lc3MnIHwgJ0ZpcnN0Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICYgUGljazxGbGlnaHRKb3VybmV5LCAnaWQnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdjYWJpbkNsYXNzJyB8ICdjYWJpbkNvZGUnIHwgJ2NhYmluUmF3JyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAnZmFyZUJhc2lzQ29kZScgfCAnZ292ZXJuaW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnc3RvcHMnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ3NlYXRzQXZhaWxhYmxlJyB8ICd2ZW5kb3JDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgJiB7IGZhcmVJbmZvPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICk+LCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+IH1cbiAgKSwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRBbGxBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0QWxsQWlybGluZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRBbGxBaXJsaW5lczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgJiBQaWNrPEFpcmxpbmVSZXN1bHQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdhY3RpdmUnIHwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2Jhbm5lckltYWdlJyB8ICdsb2dvSW1hZ2UnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldENhbmNlbGxhdGlvbkluZm9RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENhbmNlbGxhdGlvbkluZm9RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDYW5jZWxsYXRpb25JbmZvOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0JlZm9yZUNhbmNlbGxhdGlvbkluZm8nIH1cbiAgICAmIFBpY2s8QmVmb3JlQ2FuY2VsbGF0aW9uSW5mbywgJ2NhbmNlbGxhYmxlJyB8ICdpbmZvJyB8ICdjYW5jZWxsYXRpb25GZWUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENhckhpcmVEZXBvdHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmFkaXVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENhckhpcmVEZXBvdHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JyB9XG4gICAgJiBQaWNrPENhckhpcmVEZXBvdCwgJ2NvdW50cnlDb2RlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICd2ZW5kb3JDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICd2ZW5kb3InIHwgJ2FkZHJlc3NMaW5lcycgfCAnY2l0eU5hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDYXJIaXJlUHJvdmlkZXJzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9mZmljZUlkOiBTY2FsYXJzWydJbnQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFPZmZpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUluZm8nIH1cbiAgICAgICYgUGljazxDb25mZXJtYU9mZmljZUluZm8sICdpZCcgfCAnbmFtZScgfCAnY2xvc2VzdEFpcnBvcnQnIHwgJ2Nsb3Nlc3RUcmFpblN0YXRpb24nIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgJiB7IGFkZHJlc3M/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUFkZHJlc3MnIH1cbiAgICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlQWRkcmVzcywgJ2FkZHJlc3NOYW1lJyB8ICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0YWxDb2RlJyB8ICdjaXR5JyB8ICdjb3VudHJ5Q29kZScgfCAnY291bnRyeU5hbWUnIHwgJ3RlbGVwaG9uZU51bWJlcicgfCAnZmFjc2ltaWxlTnVtYmVyJyB8ICdlbWFpbEFkZHJlc3MnIHwgJ3N0YXRlUHJvdmluY2UnIHwgJ21vYmlsZU51bWJlcic+XG4gICAgICApPiwgY2xvc2VzdEhvdGVscz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSG90ZWxzJyB9XG4gICAgICAgICYgUGljazxDb25mZXJtYU9mZmljZUhvdGVscywgJ2hvdGVsSWQnIHwgJ2hvdGVsTmFtZScgfCAnaXNQcmVmZXJyZWQnPlxuICAgICAgKT4+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIFBpY2s8U2VhcmNoRXJyb3IsICdlcnJvck1lc3NhZ2UnIHwgJ2Vycm9yQ29kZSc+XG4gICAgICAmIHsgc2VydmljZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgKSB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzJyB9XG4gICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VOYW1lcywgJ2lkJyB8ICduYW1lJz5cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hUXVpY2tsaXN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknIH1cbiAgICAgICYgUGljazxIb3RlbEl0aW5lcmFyeSwgJ2lkJyB8ICduYW1lJyB8ICdpbWFnZVVybCcgfCAnZ3JvdXAnIHwgJ3ZlcnNpb24nPlxuICAgICAgJiB7IGxvY2F0aW9uOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbExvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxIb3RlbExvY2F0aW9uLCAnZGlzdGFuY2UnIHwgJ2Rpc3RhbmNlVHlwZScgfCAnbG9uZ2l0dWRlJyB8ICdsYXRpdHVkZSc+XG4gICAgICApLCBhZGRyZXNzOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEFkZHJlc3MnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQWRkcmVzcywgJ2FkZHJlc3NMaW5lMScgfCAnYWRkcmVzc0xpbmUyJyB8ICdhZGRyZXNzTGluZTMnIHwgJ3Bvc3RPclppcENvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd0ZWxlcGhvbmUnIHwgJ2ZhY3NpbWlsZSc+XG4gICAgICApLCB0cmFuc3BvcnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUcmFuc3BvcnQnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsVHJhbnNwb3J0LCAndHlwZScgfCAnbmFtZScgfCAnY29kZScgfCAnZGlzdGFuY2UnIHwgJ2Rpc3RhbmNlVHlwZScgfCAnbG9uZ2l0dWRlJyB8ICdsYXRpdHVkZSc+XG4gICAgICApPj4+LCBwcmVmZXJyZWQ6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUHJlZmVycmVkJyB9XG4gICAgICAgICYgUGljazxIb3RlbFByZWZlcnJlZCwgJ2NsaWVudCcgfCAnY29uc3VtZXInPlxuICAgICAgKSwgdGFncz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVGFnJyB9XG4gICAgICAgICYgUGljazxIb3RlbFRhZywgJ25hbWUnIHwgJ2Rpc3BsYXknIHwgJ3R5cGUnIHwgJ2ljb24nPlxuICAgICAgKT4+PiwgYXZhaWxhYmxlUmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAgICAgICAmIFBpY2s8SG90ZWxBdmFpbGFiaWxpdHksICdob3RlbElkJyB8ICdpbWFnZVVybCcgfCAncHJwbicgfCAnY3VycmVuY3lDb2RlJyB8ICdpc0J1c3knIHwgJ3NvdXJjZScgfCAndmVyc2lvbic+XG4gICAgICAgICYgeyByb29tcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsUm9vbSwgJ3Jvb21JZCcgfCAncm9vbVR5cGUnIHwgJ3Jvb21EZXNjcmlwdGlvbicgfCAncmF0ZUNvZGUnIHwgJ3JhdGVEZXNjcmlwdGlvbicgfCAndG90YWwnIHwgJ2N1cnJlbmN5Q29kZSc+XG4gICAgICAgICAgJiB7IGN1cnJlbmN5Q29udmVyc2lvbj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbENvbnZlcnNpb24nIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbENvbnZlcnNpb24sICdyYXRlJyB8ICdsb2NhbENvZGUnIHwgJ2xvY2FsVG90YWwnIHwgJ2NvbnZlcnRlZENvZGUnIHwgJ2NvbnZlcnRlZFRvdGFsJz5cbiAgICAgICAgICApPiwgZGVwb3NpdD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbERlcG9zaXQnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbERlcG9zaXQsICdhbW91bnQnIHwgJ3BvbGljeScgfCAncmVxdWlyZWQnPlxuICAgICAgICAgICk+LCBuaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbE5pZ2h0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxOaWdodCwgJ25pZ2h0JyB8ICdyYXRlJyB8ICdpbmZvJyB8ICdkYXRlJz5cbiAgICAgICAgICApPiwgcG9saWNpZXM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBvbGljeScgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsUG9saWN5LCAnY2FuY2VsbGF0aW9uJyB8ICdkZXBvc2l0JyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZ2VuZXJhbCcgfCAnZ3VhcmFudGVlJyB8ICdyZWZ1bmRBdmFpbGFibGUnPlxuICAgICAgICAgICksIHRheDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVGF4JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxUYXgsICdpbmNsdWRlZCcgfCAncmF0ZSc+XG4gICAgICAgICAgKSwgYWNjZXB0ZWRDYXJkcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbENhcmQnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbENhcmQsICdpZCcgfCAnbmFtZSc+XG4gICAgICAgICAgKT4+PiwgcGF5bWVudFR5cGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUGF5bWVudFR5cGUnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBheW1lbnRUeXBlLCAndHlwZScgfCAnbmFtZSc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4gfVxuICAgICk+Pj4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hUm9vbUltYWdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBob3RlbElkOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hUm9vbUltYWdlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnZ2V0Q29uZmVybWFSb29tSW1hZ2VzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldEZsaWdodEZhcmVSdWxlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlUnVsZXNSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlJyB9XG4gICAgICAmIFBpY2s8RmxpZ2h0RmFyZVJ1bGVzUmVzcG9uc2UsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJz5cbiAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldEZsaWdodFNlYXRNYXA6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFJlc3BvbnNlJyB9XG4gICAgICAmIFBpY2s8RmxpZ2h0U2VhdE1hcFJlc3BvbnNlLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgYWlyY3JhZnQ6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBBaXJjcmFmdCcgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0U2VhdE1hcEFpcmNyYWZ0LCAnY2FycmllcicgfCAnbnVtYmVyJyB8ICd0eXBlJz5cbiAgICAgICksIHNlYXRzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwU2VhdHMnIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodFNlYXRNYXBTZWF0cywgJ3JvdycgfCAnY29sdW1uJyB8ICdwcmljZScgfCAnY3VycmVuY3knPlxuICAgICAgICAmIHsgYXR0cmlidXRlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwU2VhdEF0dHJpYnV0ZXMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzLCAnY29kZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgICApPiB9XG4gICAgICApPiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIFBpY2s8U2VhcmNoRXJyb3IsICdlcnJvck1lc3NhZ2UnIHwgJ2Vycm9yQ29kZSc+XG4gICAgICAmIHsgc2VydmljZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgKSB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRIb3RlbENoYWluc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnZ2V0SG90ZWxDaGFpbnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0SVJMRGlzY291bnRDYXJkczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxDYXJkJyB9XG4gICAgJiBQaWNrPElybFRyYXZlbENhcmQsICdpZCcgfCAnbmV0Q29kZScgfCAncmVjbycgfCAndHlwZScgfCAnbmFtZScgfCAnc3VwcGxpZXInPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRJUkxTdXBwbGllclN0YXRpb24/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbicgfVxuICAgICYgUGljazxJcmxTdXBwbGllclN0YXRpb24sICdpZCcgfCAnbmFtZScgfCAnc3VwcGxpZXInIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdGF0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UmFpbExpdmVEZXBhcnR1cmVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xpdmVEZXBCb2FyZFJlc3VsdCcgfVxuICAgICYgeyBzZXJ2aWNlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdEZXBhcnR1cmVCb2FyZFNlcnZpY2UnIH1cbiAgICAgICYgUGljazxEZXBhcnR1cmVCb2FyZFNlcnZpY2UsICdyaWQnIHwgJ3VpZCcgfCAndHJhaW5pZCcgfCAnc2RkJyB8ICdvcGVyYXRvcicgfCAnb3BlcmF0b3JDb2RlJyB8ICdzdGQnIHwgJ2V0ZCcgfCAnZGVwYXJ0dXJlVHlwZScgfCAnZGVwYXJ0dXJlU291cmNlJyB8ICdwbGF0Zm9ybScgfCAncGxhdGZvcm1Jc0hpZGRlbic+XG4gICAgICAmIHsgb3JpZ2luPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPExvY2F0aW9uLCAnbG9jYXRpb25OYW1lJyB8ICd0aXBsb2MnIHwgJ2Nycyc+XG4gICAgICApPiwgZGVzdGluYXRpb24/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8TG9jYXRpb24sICdsb2NhdGlvbk5hbWUnIHwgJ3RpcGxvYycgfCAnY3JzJz5cbiAgICAgICk+LCBzdWJzZXF1ZW50TG9jYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnc3Vic2VxdWVudExvY2F0aW9ucycgfVxuICAgICAgICAmIFBpY2s8U3Vic2VxdWVudExvY2F0aW9ucywgJ2xvY2F0aW9uTmFtZScgfCAndGlwbG9jJyB8ICdjcnMnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUlzSGlkZGVuJyB8ICdzdGEnIHwgJ2V0YScgfCAnYXJyaXZhbFR5cGUnIHwgJ2Fycml2YWxTb3VyY2UnIHwgJ3N0ZCcgfCAnZXRkJyB8ICdkZXBhcnR1cmVUeXBlJyB8ICdkZXBhcnR1cmVTb3VyY2UnPlxuICAgICAgICAmIHsgYXNzb2NpYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBc3NvY2lhdGlvbicgfVxuICAgICAgICAgICYgUGljazxBc3NvY2lhdGlvbiwgJ2NhdGVnb3J5JyB8ICdyaWQnIHwgJ3VpZCcgfCAndHJhaW5pZCcgfCAnc2RkJyB8ICdvcmlnaW4nIHwgJ29yaWdpbkNSUycgfCAnb3JpZ2luVGlwbG9jJyB8ICdkZXN0aW5hdGlvbicgfCAnZGVzdENSUycgfCAnZGVzdFRpcGxvYyc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4+PiB9XG4gICAgKT4+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb25RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJhaWxTdGF0aW9uUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UmFpbFN0YXRpb246IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFN0YXRpb24nIH1cbiAgICAmIFBpY2s8UmFpbFN0YXRpb24sICdpZCcgfCAnbmFtZScgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnIHwgJ2hhc1RvZCc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UmFpbGNhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyJyB9XG4gICAgJiBQaWNrPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyLCAnbmFtZScgfCAnY29kZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxQcm92aWRlcnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJhaWxQcm92aWRlcnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ2dldFJhaWxQcm92aWRlcnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaW5MZXZlbDogUmlza0xldmVsO1xuICBtYXhMZXZlbDogUmlza0xldmVsO1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSaXNrQWxlcnRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Jpc2tBbGVydCcgfVxuICAgICYgUGljazxSaXNrQWxlcnQsICdpZCcgfCAndGl0bGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdicmVha2luZycgfCAncmlzaycgfCAnY2F0ZWdvcnknIHwgJ2NvdW50cnknIHwgJ2xvY2F0aW9uJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnIHwgJ3JlY2VpdmVkRGF0ZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckNvbXBhbnlPZmZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09mZmljZScgfVxuICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2U/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZScgfVxuICAgICYgUGljazxDYXJib25BbGxvd2FuY2UsICdpZCcgfCAnc3RhcnRPZlBlcmlvZCcgfCAnZW5kT2ZQZXJpb2QnIHwgJ3JlbWFpbmluZ0NvMicgfCAndG90YWxDbzInIHwgJ2NhcmJvblBvbGljeVNvdXJjZSc+XG4gICAgJiB7IGNvbXBhbnk/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueScgfVxuICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIG9mZmljZT86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIHVzZXI6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICAgICksIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nIH1cbiAgICAgICYgUGljazxDYXJib25Db25zdW1wdGlvbiwgJ2lkJyB8ICdjb25zdW1lZCcgfCAnZGF0ZXRpbWUnPlxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3NlYXJjaEFyZ3MnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgcGFydGlhbExhYmVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJyB8ICduYW1lJyB8ICdzZXJ2aWNlVHlwZScgfCAnc2VhcmNoQXJncycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RyYXZlbERhdGUnPlxuICAgICYgeyB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdkb2InPlxuICAgICk+PiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICYgUGljazxIb3RlbEF2YWlsYWJpbGl0eSwgJ2hvdGVsSWQnIHwgJ2ltYWdlVXJsJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgJiB7IHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZVNvdXJjZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ3JlcXVpcmVzUmVhc29uJyB8ICdyZXF1aXJlc1JlYXNvbk1lc3NhZ2UnPlxuICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICApLCB0YXg6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICk+Pj4gfVxuICApPj4+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjaXR5TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0cmFpblN0YXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcm9vbXM6IFNjYWxhcnNbJ0ludCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXM7XG4gIGRpc3RhbmNlOiBTY2FsYXJzWydJbnQnXTtcbiAgbWF4UmVzdWx0cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hIb3RlbHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeScgfVxuICAgICAgJiBQaWNrPEhvdGVsSXRpbmVyYXJ5LCAnaWQnIHwgJ25hbWUnIHwgJ2ltYWdlVXJsJyB8ICdncm91cCcgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAgICAgJiBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRcbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdpc1Bvc3Rjb2RlVmFsaWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJwb3J0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcnBvcnRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hMb3VuZ2VzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlUXVvdGUnIH1cbiAgICAgICYgUGljazxMb3VuZ2VRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdyZXF1aXJlc1JlYXNvbicgfCAncmVxdWlyZXNSZWFzb25NZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGxvdW5nZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPExvdW5nZUxvY2F0aW9uLCAnY29kZScgfCAnbmFtZScgfCAnYWlycG9ydCcgfCAndGVybWluYWwnIHwgJ2FkZHJlc3MnIHwgJ3RlbGVwaG9uZScgfCAnZmF4JyB8ICdkaXJlY3Rpb25zJyB8ICdpbnRyb2R1Y3Rpb24nIHwgJ2xvZ28nIHwgJ21vYmlsZUltYWdlJyB8ICdmdXJ0aGVySW1hZ2VzJyB8ICdhZHVsdEFnZScgfCAnY2hpbGRBZ2UnIHwgJ2luZmFudEFnZScgfCAnbGFuZHNpZGUnIHwgJ2FpcnNpZGUnIHwgJ2ZhY2lsaXRpZXMnIHwgJ29wZW5UaW1lJyB8ICdjbG9zZVRpbWUnIHwgJ3dpZmknIHwgJ3R2JyB8ICdzbmFja3MnIHwgJ3Bob25lJyB8ICdpbnRlcm5ldCcgfCAnY2hpbGRyZW5BbGxvd2VkJyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZHJpbmtzJyB8ICdmcmVlRHJpbmtzJyB8ICdmcmVlRm9vZCcgfCAnc21va2luZ1Blcm1pdHRlZCcgfCAnbWFnYXppbmVzJyB8ICdpbmNsdWRlZERyaW5rcycgfCAnbWVudUZvb2QnIHwgJ21lbnVEcmlua3MnIHwgJ21lbnVFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWREcmlua3MnIHwgJ3doYXRzSW5jbHVkZWRFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWRGb29kJyB8ICdncm91cEluZm8nIHwgJ2NoZWNrSW5JbmZvJyB8ICdkcmVzc0NvZGUnIHwgJ2ZhY2lsaXRpZXNJbmZvJyB8ICdmb29kQW5kQmV2ZXJhZ2UnIHwgJ2NhbmNlbGxhdGlvbkluZm8nIHwgJ2FtZW5kbWVudHNJbmZvJyB8ICdtaXNjJz5cbiAgICAgICkgfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgbmV3QmFza2V0OiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnREYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3V0RmxpZ2h0TnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWNvbW1lbmRlZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRSaWRlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFN0cm9sbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZ1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFBhcmtpbmc6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1NlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1F1b3RlJyB9XG4gICAgICAmIFBpY2s8UGFya2luZ1F1b3RlLCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAncmVxdWlyZWRJbmZvJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pc2MnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAncmVxdWlyZXNSZWFzb24nIHwgJ3JlcXVpcmVzUmVhc29uTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBjYXJQYXJrOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPFBhcmtpbmdMb2NhdGlvbiwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2FpcnBvcnQnIHwgJ3Rlcm1pbmFsJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhZGRyZXNzJyB8ICdkaXN0YW5jZVRvQWlycG9ydCcgfCAnb25BaXJwb3J0JyB8ICdjYXJQYXJrZWRGb3JZb3UnIHwgJ21lZXRBbmRHcmVldCcgfCAndGVsZXBob25lJyB8ICdmYXgnIHwgJ2RpcmVjdGlvbnMnIHwgJ2Fycml2YWxQcm9jZWR1cmUnIHwgJ2RlcGFydHVyZVByb2NlZHVyZScgfCAnbWF4aW11bUNhclNpemUnIHwgJ2ludHJvZHVjdGlvbicgfCAnaW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVySW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVyT3BlcmF0aW5nVGltZXMnIHwgJ3RyYW5zZmVyVGltZScgfCAnbG9nbycgfCAnZGVmYXVsdEltYWdlJyB8ICdicmFuZEltYWdlJyB8ICdtb2JpbGVJbWFnZScgfCAnZnVydGhlckltYWdlcycgfCAnbWlzYyc+XG4gICAgICApIH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgJiBQaWNrPFJhaWxKb3VybmV5RmFyZSwgJ3Byb3ZpZGVySWQnIHwgJ3Byb3ZpZGVyTmFtZScgfCAndHlwZScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdmYXJlSGFzaCcgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdtb2JpbGVUaWNrZXRBdmFpbGFibGUnIHwgJ2VUaWNrZXRBdmFpbGFibGUnIHwgJ3NlbGZQcmludEF2YWlsYWJsZSc+XG4gICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJyB9XG4gICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ2dlbmVyYWxEaXNjb3VudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdqb3VybmV5VHlwZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAncmFpbGNhcmREaXNjb3VudCcgfCAncm91dGUnIHwgJ3JlZnVuZENhbmNlbGxhdGlvblJ1bGUnIHwgJ3Jlc2VydmF0aW9uUnVsZScgfCAndGlja2V0VHlwZUFsdE5hbWUnIHwgJ3RpY2tldFR5cGVDbGFzcycgfCAndGlja2V0VHlwZUNvZGUnIHwgJ3RpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24nIHwgJ3RpY2tldFR5cGVOYW1lJyB8ICd0b2RBdmFpbGFibGUnIHwgJ3RyYWluT3BlcmF0aW5nQ29tcGFueUNvZGUnIHwgJ3ZhbGlkT3V0UnVsZScgfCAndmFsaWRSZXR1cm5SdWxlJz5cbiAgICAmIHsgZHluYW1pY0NvbmRpdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbicgfVxuICAgICAgJiBQaWNrPER5bmFtaWNDb25kaXRpb24sICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgKT4+PiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb24sICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnam91cm5leUhhc2gnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjaGFuZ2VzJyB8ICdvdmVydGFrZW4nPlxuICAmIHsgam91cm5leUxlZ3M6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlMZWcnIH1cbiAgICAmIFBpY2s8UmFpbEpvdXJuZXlMZWcsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnPlxuICAgICYgeyBjYWxsaW5nUG9pbnRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbENhbGxpbmdQb2ludCcgfVxuICAgICAgJiBQaWNrPFJhaWxDYWxsaW5nUG9pbnQsICdzdGF0aW9uTmFtZScgfCAnc3RhdGlvbkNvZGUnIHwgJ2Fycml2YWxEYXRlVGltZScgfCAnZGVwYXJ0dXJlRGF0ZVRpbWUnIHwgJ3NjaGVkdWxlZFBsYXRmb3JtJyB8ICdzdGF0aW9uQ2xhc3NpZmljYXRpb24nIHwgJ3N0b3BwaW5nUGF0dGVybic+XG4gICAgKT4gfVxuICApPiwgc2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgICAmIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50XG4gICk+PiwgcmV0dXJuSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgICAmIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50XG4gICk+PiwgZHVhbFNpbmdsZUpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIG9wZW5SZXR1cm5Kb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCB0aWNrZXRRdWV1ZUxpc3Q/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZScgfVxuICAgICYgUGljazxSYWlsVGlja2V0UXVldWUsICdpZCcgfCAnbmFtZScgfCAndHlwZSc+XG4gICk+PiwgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCcgfVxuICAgICYgUGljazxSYWlsQWNjb3VudCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpc0RlZmF1bHQnIHwgJ3R5cGUnPlxuICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhJyB9XG4gICAgJiBQaWNrPFJhaWxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICYgUGljazxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycywgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdqb3VybmV5SWQnIHwgJ2lzT3JpZ2luJz5cbiAgICApPiB9XG4gICk+PiwgcGx1c0J1cz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnIH1cbiAgICAmIFBpY2s8UmFpbFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGpvdXJuZXlUeXBlOiBSYWlsU2VhcmNoSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8UmFpbENsYXNzPjtcbiAgZGVwYXJ0dXJlTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYXJyaXZhbExvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHZpYUxvY2F0aW9uSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBleHRyYVRpbWVUb0NoYW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBsdXNCdXNPdXQ/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbiAgcGx1c0J1c1JldHVybj86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICB0cmF2ZWxDYXJkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0RhdGUnXT4gfCBTY2FsYXJzWydEYXRlJ10+O1xuICByYWlsQ2FyZFF1YWxpZmllcnM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4gfCBTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoUmFpbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbnMnIH1cbiAgICAgICYgUGljazxSYWlsSm91cm5leU9wdGlvbnMsICdzb3VyY2VJZCcgfCAnc3VtbWFyeScgfCAndHJhdmVsQ2FyZHNBZGRvbkZsYWcnPlxuICAgICAgJiB7IG91dGJvdW5kPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50XG4gICAgICApPj4sIHJldHVybj86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFxuICAgICAgKT4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNhdmVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVGYXZvdXJpdGVTZWFyY2g6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGU7XG4gIHNlYXJjaEFyZ3M6IFNjYWxhcnNbJ0pTT04nXTtcbiAgdHJhdmVsRGF0ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ0lEJ10+PiB8IE1heWJlPFNjYWxhcnNbJ0lEJ10+Pjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzYXZlUmVjZW50U2VhcmNoOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlck9yTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3duPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2F2ZVVzZXJBZGRyZXNzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlybGluZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hBaXJsaW5lczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0cycgfVxuICAgICYgeyBpYXRhTWF0Y2g/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdCcgfVxuICAgICAgJiBQaWNrPEFpcmxpbmVSZXN1bHQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdhY3RpdmUnIHwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2Jhbm5lckltYWdlJyB8ICdsb2dvSW1hZ2UnPlxuICAgICk+LCBnZW5lcmFsTWF0Y2hlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnIH1cbiAgICAgICYgUGljazxBaXJsaW5lUmVzdWx0LCAnaWQnIHwgJ25hbWUnIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnYWN0aXZlJyB8ICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdiYW5uZXJJbWFnZScgfCAnbG9nb0ltYWdlJz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDaXRpZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hDaXRpZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2l0eScgfVxuICAgICYgUGljazxDaXR5LCAnaWQnIHwgJ25hbWUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdjb250aW5lbnROYW1lJz5cbiAgICAmIHsgY29vcmRpbmF0ZXM6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICkgfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjaXR5TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ29uZmVybWFDaXRpZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDaXR5TG9jYXRpb24nIH1cbiAgICAmIFBpY2s8Q29uZmVybWFDaXR5TG9jYXRpb24sICdmb3VuZEV4YWN0Jz5cbiAgICAmIHsgc3VnZ2VzdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zJyB9XG4gICAgICAmIFBpY2s8Q29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zLCAnbmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICk+Pj4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD4gfCBGbGlnaHRQYXNzZW5nZXJPYmplY3Q7XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+PiB8IE1heWJlPERlc3RpbmF0aW9uRW50cnk+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PiB8IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEV1cm9zdGFyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXJjaFJlc3VsdFYyJyB9XG4gICAgJiB7IHJlc3VsdHM6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnIH1cbiAgICAgICYgeyBqb3VybmV5czogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICdiYXNlRmFyZUlkJyB8ICd1aWQnIHwgJ2Rpc2Nsb3N1cmVzJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAnam91cm5leUhhc2gnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJyB8ICd3ZWlnaHRQcm92aWRlZCc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4sIG11bHRpOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JyB9XG4gICAgICAgICYgUGljazxJdGluZXJhcnlTdW1tYXJ5LCAnb3JkZXInIHwgJ29yaWdpbicgfCAnZGVzdGluYXRpb24nIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICAgICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICd1aWQnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUycgfCAnd2VpZ2h0UHJvdmlkZWQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiB9XG4gICAgICApPiB9XG4gICAgKSwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRmFzdFRyYWNrUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGFycml2YWxEYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hGYXN0VHJhY2tRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hGYXN0VHJhY2s6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFzdFRyYWNrUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXN0VHJhY2tRdW90ZScgfVxuICAgICAgJiBQaWNrPEZhc3RUcmFja1F1b3RlLCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAnbmFtZScgfCAnY29kZScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdyZWZ1bmRhYmxlJyB8ICd0ZXJtaW5hbCcgfCAnaW1hZ2VzJyB8ICdsb2dvJyB8ICdkZXNjcmlwdGlvbicgfCAnaW1wb3J0YW50SW5mbycgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdyZXF1aXJlc1JlYXNvbicgfCAncmVxdWlyZXNSZWFzb25NZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgd2l0aEdyb3VwZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hGbGlnaHRzVjJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hGbGlnaHRzVjI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInIH1cbiAgICAmIFBpY2s8RmxpZ2h0U2VhcmNoUmVzdWx0VjIsICdydWxlQWN0aW9uU3VtbWFyeSc+XG4gICAgJiB7IHJlc3VsdHM6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnIH1cbiAgICAgICYgeyBqb3VybmV5czogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICdiYXNlRmFyZUlkJyB8ICd1aWQnIHwgJ2Rpc2Nsb3N1cmVzJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAnam91cm5leUhhc2gnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJyB8ICd3ZWlnaHRQcm92aWRlZCc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4sIG11bHRpOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JyB9XG4gICAgICAgICYgUGljazxJdGluZXJhcnlTdW1tYXJ5LCAnb3JkZXInIHwgJ29yaWdpbicgfCAnZGVzdGluYXRpb24nIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICAgICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICd1aWQnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2pvdXJuZXlIYXNoJz5cbiAgICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4sIGdyb3VwZWQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgICAgICAgJiBHcm91cGVkRmllbGRzRnJhZ21lbnRcbiAgICAgICk+PiB9XG4gICAgKSwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ3NlYXJjaEhvdGVsQ2hhaW5zJz5cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IElybEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPElybENsYXNzPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0dXJlTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYXJyaXZhbExvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBpcmxEaXNjb3VudENhcmRzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSVJMOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnIH1cbiAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9ucywgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ2pyZnJlZmVyZW5jZSc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+LCByZXR1cm4/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN1cHBsaWVyPzogTWF5YmU8SXJsU3VwcGxpZXI+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUG9zdGNvZGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFBvc3Rjb2RlRGV0YWlsczogKFxuICAgIHsgX190eXBlbmFtZT86ICdQb3N0Y29kZURldGFpbHMnIH1cbiAgICAmIFBpY2s8UG9zdGNvZGVEZXRhaWxzLCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBoYXNUb2Q/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoUmFpbFN0YXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJyB9XG4gICAgJiBQaWNrPFJhaWxTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJyB8ICdoYXNUb2QnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFVzZXJBZGRyZXNzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICB0cmFpbk51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlcGFydHVyZVN0YXRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXN0aW5hdGlvblN0YXRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBpbmJvdW5kRGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFkZGl0aW9uYWxJbmZvOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2ZmbGluZVJlZmVyZW5jZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG5vdGlmeUVtYWlsOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb25CZWhhbGZPZjogU2NhbGFyc1snU3RyaW5nJ107XG4gIHNlcnZpY2VDbGFzczogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBhc3NlbmdlcnM6IEFycmF5PElybE9mZmxpbmVQYXNzZW5nZXI+IHwgSXJsT2ZmbGluZVBhc3Nlbmdlcjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VuZE9mZmxpbmVOb3RpZmljYXRpb246IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMT2ZmbGluZU5vdGlmeVJlc3VsdCcgfVxuICAgICYgUGljazxJcmxPZmZsaW5lTm90aWZ5UmVzdWx0LCAnc3VjY2Vzcyc+XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIGdyb3VwPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbU1JR3JvdXA6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbDogU2NhbGFyc1snQm9vbGVhbiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBtaVZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG1pRnJlZVZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlWYWx1ZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHBheW1lbnRNZXRob2Q6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90ZXM6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgdXBkYXRlQmFza2V0Tm90ZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ld1RpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHVwZGF0ZUJhc2tldFRpdGxlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVc2VyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ2FkZGl0aW9uYWxFbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICd0bWNBZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPj4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdEb2N1bWVudCcgfVxuICAgICYgUGljazxEb2N1bWVudCwgJ2lkJyB8ICdkb2NUeXBlJyB8ICduYXRpb25hbGl0eScgfCAnZ2VuZGVyJyB8ICdudW1iZXInIHwgJ2NvdW50cnknIHwgJ2NvZGVPZklzc3VpbmdTdGF0ZScgfCAnZGF0ZU9mSXNzdWUnIHwgJ2RhdGVPZkV4cGlyeScgfCAncHJpbWFyeScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgJiBQaWNrPFVzZXJQcmVmZXJlbmNlLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdwcmVmZXJlbmNlS2V5JyB8ICdwcmVmZXJlbmNlVmFsdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4+LCB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyTWlEZWZhdWx0VmFsdWUnIH1cbiAgICAmIFBpY2s8VXNlck1pRGVmYXVsdFZhbHVlLCAnZnJlZVRleHRWYWx1ZSc+XG4gICAgJiB7IHNlcnZpY2U/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICApPiwgbWFuYWdlbWVudEluZm8/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm8nIH1cbiAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2ZpeGVkJyB8ICdncm91cCc+XG4gICAgICAmIHsgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCBkZWZhdWx0VmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICYgeyB2YWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCB1c2VyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnPlxuICAgICAgICApPiB9XG4gICAgICApPiB9XG4gICAgKT4sIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICApPiB9XG4gICk+PiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJTZXJ2aWNlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclVJQ29uZmlnczogKFxuICAgIHsgX190eXBlbmFtZT86ICdVSUNvbmZpZ0NvbGxlY3Rpb24nIH1cbiAgICAmIHsgYWxsOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVUlDb25maWcnIH1cbiAgICAgICYgUGljazxVaUNvbmZpZywgJ2lkJyB8ICdjb25maWcnIHwgJ2tleSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlck1lc3NhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnIH1cbiAgICAmIFBpY2s8TWVzc2FnZSwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY29uZmlnJyB8ICd0YXJnZXQnIHwgJ2tleScgfCAnZGlzcGxheVRhcmdldCcgfCAnYWdlbnRPbmx5JyB8ICdjbGlja1RvQ29uZmlybScgfCAndmFsaWRGcm9tJyB8ICd2YWxpZFRvJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRVc2VyTGFuZ3VhZ2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ2RvYic+XG4gICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnPlxuICAgICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgVXNlckZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hVc2VyQ2FuQm9va0ZvcjogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBmcmVlVmFsdWU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ3ZhbGlkYXRlVXNlck1JRnJlZVZhbHVlJz5cbik7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWNjZXB0TmV3UHJpY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvblsnYWNjZXB0TmV3UHJpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBZGRVc2Vyc1RvQmFza2V0SXRlbSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWRkVXNlcnNUb0Jhc2tldEl0ZW0gPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uWydhZGRVc2Vyc1RvQmFza2V0SXRlbSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFwcGx5Sml0RmxpZ2h0UnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFwcGx5Sml0SG90ZWxSdWxlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBBcHBseUppdEhvdGVsUnVsZXMgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVsnYXBwbHlKSVRIb3RlbFJ1bGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVHJhdmVsbGVyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBPd25lckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3duZXJGaWVsZHNGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCYXNrZXRGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBPd25lciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50Wydvd25lciddO1xuICBleHBvcnQgdHlwZSBCYXNrZXRJdGVtcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVBheW1lbnRNZXRob2RzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnYXZhaWxhYmxlUGF5bWVudE1ldGhvZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFBheW1lbnRNZXRob2QgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZWxlY3RlZFBheW1lbnRNZXRob2QnXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgVXNlcnMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJQYXNzZW5nZXJUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExlYWRQYXNzZW5nZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBGaXhlZFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZGVmYXVsdFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFZhbHVlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsndmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRWYWx1ZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVXNlciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnlHcm91cCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50Wydjb21wYW55R3JvdXAnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQmFza2V0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckJhc2tldHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldHMgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5WydnZXRVc2VyQmFza2V0cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQmFza2V0TXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldCA9IENyZWF0ZUJhc2tldE11dGF0aW9uWydjcmVhdGVCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVJdGVtRnJvbUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXQgPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uWydyZW1vdmVJdGVtRnJvbUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWwgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblsnc2VuZEJhc2tldEZvckFwcHJvdmFsJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkSXRlbVRvQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldCA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uWydhZGRJdGVtVG9CYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJCYXNrZXRRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldCA9IEdldFVzZXJCYXNrZXRRdWVyeVsnZ2V0VXNlckJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJldmFsaWRhdGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0ID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uWydyZXZhbGlkYXRlQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQm9va0Jhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBCb29rQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEJvb2tCYXNrZXQgPSBCb29rQmFza2V0TXV0YXRpb25bJ2Jvb2tCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDYWJIaXJlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENhYkhpcmVRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZSA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBGcm9tTG9jYXRpb24gPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Zyb21Mb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBUb0xvY2F0aW9uID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b0xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFZpYXMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ3ZpYXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYW5jZWxCb29raW5nIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ2FuY2VsQm9va2luZ011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENhbmNlbEJvb2tpbmdNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsQm9va2luZyA9IENhbmNlbEJvb2tpbmdNdXRhdGlvblsnY2FuY2VsQm9va2luZyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J107XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVmVuZG9yID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsndmVuZG9yJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXN0b20gPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRpdGlvbmFsSW5mbyddW251bWJlcl1bJ2N1c3RvbSddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2FySGlyZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDYXJIaXJlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmUgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIERpc3BsYXlSZWNvcmQgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXTtcbiAgZXhwb3J0IHR5cGUgVmVuZG9yID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBWZWhpY2xlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3ZlaGljbGUnXTtcbiAgZXhwb3J0IHR5cGUgQ2hhcmdlcyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWydjaGFyZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGlja3VwTG9jYXRpb24gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsncGlja3VwTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuTG9jYXRpb24gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsncmV0dXJuTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkaXRpb25hbEluZm8gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXN0b20gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb25maXJtTWVzc2FnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDb25maXJtTWVzc2FnZXNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDb25maXJtTWVzc2FnZXNNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVGYXZvdXJpdGVTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFZGl0VXNlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEVkaXRVc2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRWRpdFVzZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRWRpdFVzZXIgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVMYW5ndWFnZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlcnMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlckZvciA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlck1pRGVmYXVsdFZhbHVlcyA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXTtcbiAgZXhwb3J0IHR5cGUgX1NlcnZpY2UgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBGaXhlZFZhbHVlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2ZpeGVkVmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgRGVmYXVsdFZhbHVlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsndmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRWYWx1ZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBWYWx1ZSA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvVmFsdWUgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm9WYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEb2N1bWVudHMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb3lhbHR5Q29kZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFbWFpbEJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEVtYWlsQmFza2V0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gRW1haWxCYXNrZXRRdWVyeTtcbiAgZXhwb3J0IHR5cGUgRW1haWxCYXNrZXQgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddO1xuICBleHBvcnQgdHlwZSBPd25lciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2F2YWlsYWJsZUxhbmd1YWdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBPZmZpY2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDb21wYW55ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXTtcbiAgZXhwb3J0IHR5cGUgX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBPZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTdXBwb3J0UGhvbmVOdW1iZXIgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydzdXBwb3J0UGhvbmVOdW1iZXInXTtcbiAgZXhwb3J0IHR5cGUgX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFwcHJvdmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2FwcHJvdmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFwcHJvdmVyRm9yID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnYXBwcm92ZXJGb3InXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG95YWx0eUNvZGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFza2V0SXRlbXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWxlY3RlZExhbmd1YWdlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgX0F2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX09mZmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgX0NvbXBhbnlHcm91cHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Db21wYW55ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9fX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX09mZmljZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1N1cHBvcnRQaG9uZU51bWJlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydzdXBwb3J0UGhvbmVOdW1iZXInXTtcbiAgZXhwb3J0IHR5cGUgX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FwcHJvdmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQXBwcm92ZXJGb3IgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYXBwcm92ZXJGb3InXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VyUGFzc2VuZ2VyVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMZWFkUGFzc2VuZ2VyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ107XG4gIGV4cG9ydCB0eXBlIF9fRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ11bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fUHJlZmVyZW5jZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXVsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0xveWFsdHlDb2RlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddWydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZXJ2aWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgRml4ZWRWYWx1ZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydkZWZhdWx0VmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3ZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkVmFsdWVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd2YWx1ZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBfX19Eb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ11bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0xveWFsdHlDb2RlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2F2YWlsYWJsZVBheW1lbnRNZXRob2RzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRQYXltZW50TWV0aG9kID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZWxlY3RlZFBheW1lbnRNZXRob2QnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ107XG4gIGV4cG9ydCB0eXBlIF9fQ29tcGFueSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9fX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX19PZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVXNlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VsZWN0ZWRMYW5ndWFnZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBfX0F2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBfX09mZmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ29mZmljZSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19BcHByb3ZlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQXBwcm92ZXJGb3IgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0RvY3VtZW50cyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU3VwcG9ydFBob25lTnVtYmVyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnc3VwcG9ydFBob25lTnVtYmVyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRXJyb3JzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBFcnJvcnNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEVycm9yc0ZyYWdtZW50WydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR3JvdXBlZEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGbGlnaHRzID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50WydmbGlnaHRzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRmxpZ2h0Sm91cm5leUZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGYXJlSW5mbyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgTWFya2V0aW5nQ2FycmllckRldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBPcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoYW5nZSA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3RoZXIgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luQWlycG9ydERldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnb3JpZ2luQWlycG9ydERldGFpbCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEFsbEFpcmxpbmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWxsQWlybGluZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBbGxBaXJsaW5lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRBbGxBaXJsaW5lcyA9IEdldEFsbEFpcmxpbmVzUXVlcnlbJ2dldEFsbEFpcmxpbmVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYW5jZWxsYXRpb25JbmZvIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FuY2VsbGF0aW9uSW5mb1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhbmNlbGxhdGlvbkluZm9RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q2FuY2VsbGF0aW9uSW5mbyA9IEdldENhbmNlbGxhdGlvbkluZm9RdWVyeVsnZ2V0Q2FuY2VsbGF0aW9uSW5mbyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENhckhpcmVEZXBvdHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDYXJIaXJlRGVwb3RzID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5WydnZXRDYXJIaXJlRGVwb3RzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYXJIaXJlUHJvdmlkZXJzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FySGlyZVByb3ZpZGVyc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhckhpcmVQcm92aWRlcnNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYU9mZmljZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2UgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsncmVzdWx0cyddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsncmVzdWx0cyddWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIENsb3Nlc3RIb3RlbHMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydyZXN1bHRzJ11bJ2Nsb3Nlc3RIb3RlbHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydlcnJvcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsnZXJyb3JzJ11bbnVtYmVyXVsnc2VydmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbmZlcm1hUXVpY2tsaXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDb25mZXJtYVF1aWNrbGlzdCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb24gPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIFRyYW5zcG9ydHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsndHJhbnNwb3J0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFByZWZlcnJlZCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydwcmVmZXJyZWQnXTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0YWdzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUmF0ZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXTtcbiAgZXhwb3J0IHR5cGUgUm9vbXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXJyZW5jeUNvbnZlcnNpb24gPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2RlcG9zaXQnXTtcbiAgZXhwb3J0IHR5cGUgTmlnaHRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnbmlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUG9saWNpZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWyd0YXgnXTtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0ZWRDYXJkcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2FjY2VwdGVkQ2FyZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQYXltZW50VHlwZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbmZlcm1hUm9vbUltYWdlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hUm9vbUltYWdlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hUm9vbUltYWdlc1F1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEZsaWdodEZhcmVSdWxlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRGbGlnaHRGYXJlUnVsZXMgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBOb1Nob3cgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0RmxpZ2h0U2VhdE1hcCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldEZsaWdodFNlYXRNYXAgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWlyY3JhZnQgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsncmVzdWx0cyddW251bWJlcl1bJ2FpcmNyYWZ0J107XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF0dHJpYnV0ZXMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsncmVzdWx0cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXVsnYXR0cmlidXRlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydlcnJvcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRIb3RlbENoYWlucyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0SG90ZWxDaGFpbnNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRJcmxEaXNjb3VudENhcmRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldElybERpc2NvdW50Q2FyZHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0SXJsRGlzY291bnRDYXJkcyA9IEdldElybERpc2NvdW50Q2FyZHNRdWVyeVsnZ2V0SVJMRGlzY291bnRDYXJkcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0SXJsU3VwcGxpZXJTdGF0aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvbiA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5WydnZXRJUkxTdXBwbGllclN0YXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlbJ2dldElSTFN1cHBsaWVyU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVsnZ2V0SVJMU3VwcGxpZXJTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxMaXZlRGVwYXJ0dXJlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSYWlsTGl2ZURlcGFydHVyZXMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ107XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2VzID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE9yaWdpbiA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdWydvcmlnaW4nXTtcbiAgZXhwb3J0IHR5cGUgRGVzdGluYXRpb24gPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnZGVzdGluYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgU3Vic2VxdWVudExvY2F0aW9ucyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdWydzdWJzZXF1ZW50TG9jYXRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXNzb2NpYXRpb25zID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ3N1YnNlcXVlbnRMb2NhdGlvbnMnXVtudW1iZXJdWydhc3NvY2lhdGlvbnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxTdGF0aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UmFpbFN0YXRpb25RdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvbiA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxjYXJkcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJhaWxjYXJkc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSYWlsY2FyZHMgPSBHZXRSYWlsY2FyZHNRdWVyeVsnZ2V0UmFpbGNhcmRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsUHJvdmlkZXJzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UmFpbFByb3ZpZGVyc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJhaWxQcm92aWRlcnNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSaXNrQWxlcnRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJpc2tBbGVydHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0cyA9IEdldFJpc2tBbGVydHNRdWVyeVsnZ2V0Umlza0FsZXJ0cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckFkZHJlc3NlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXMgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlbJ2dldFVzZXJBZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJDb21wYW55T2ZmaWNlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQ29tcGFueU9mZmljZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVsnZ2V0VXNlckNvbXBhbnlPZmZpY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlbJ2dldFVzZXJDb21wYW55T2ZmaWNlcyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ2NvbXBhbnknXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWyd1c2VyJ107XG4gIGV4cG9ydCB0eXBlIFBlcmlvZENvbnN1bXB0aW9uID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsncGVyaW9kQ29uc3VtcHRpb24nXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXMgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVsnZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXMgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5WydnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclBob25lIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclBob25lUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclBob25lUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnMgPSBHZXRVc2VyUGhvbmVRdWVyeVsnZ2V0VXNlclBob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclJlY2VudFNlYXJjaGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJSZWNlbnRTZWFyY2hlcyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyUmVjZW50U2VhcmNoZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUcmF2ZWxsZXJzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlbJ2dldFVzZXJSZWNlbnRTZWFyY2hlcyddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJvb21BdmFsaWFiaWxpdHkge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgUm9vbXMgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ2N1cnJlbmN5Q29udmVyc2lvbiddO1xuICBleHBvcnQgdHlwZSBEZXBvc2l0ID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ2RlcG9zaXQnXTtcbiAgZXhwb3J0IHR5cGUgTmlnaHRzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ3BvbGljaWVzJ107XG4gIGV4cG9ydCB0eXBlIFRheCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWyd0YXgnXTtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0ZWRDYXJkcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ3BheW1lbnRUeXBlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSG90ZWxzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSG90ZWxzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEhvdGVscyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNwb3J0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydwcmVmZXJyZWQnXTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RhZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVSYXRlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgSXNQb3N0Y29kZVZhbGlkIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gSXNQb3N0Y29kZVZhbGlkUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTG9jYXRpb25fRGV0YWlsIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudFsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hBaXJwb3J0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQWlycG9ydHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddO1xuICBleHBvcnQgdHlwZSBJYXRhTWF0Y2ggPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydpYXRhTWF0Y2gnXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ11bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBHZW5lcmFsTWF0Y2hlcyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0xvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoTG91bmdlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hMb3VuZ2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG91bmdlID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydsb3VuZ2UnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0ID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblsnbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hQYXJraW5nIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBhcmtpbmdRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUGFya2luZ1F1ZXJ5WydzZWFyY2hQYXJraW5nJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYXJQYXJrID0gU2VhcmNoUGFya2luZ1F1ZXJ5WydzZWFyY2hQYXJraW5nJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydjYXJQYXJrJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJhaWxKb3VybmV5RmFyZSB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFRlcm1zID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ3Rlcm1zJ107XG4gIGV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb25zID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ3Rlcm1zJ11bJ2R5bmFtaWNDb25kaXRpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSYWlsSm91cm5leU9wdGlvbiB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgSm91cm5leUxlZ3MgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wydqb3VybmV5TGVncyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENhbGxpbmdQb2ludHMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wydqb3VybmV5TGVncyddW251bWJlcl1bJ2NhbGxpbmdQb2ludHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTaW5nbGVKb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydzaW5nbGVKb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBSZXR1cm5Kb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydyZXR1cm5Kb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEdWFsU2luZ2xlSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnZHVhbFNpbmdsZUpvdXJuZXlGYXJlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE9wZW5SZXR1cm5Kb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydvcGVuUmV0dXJuSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0UXVldWVMaXN0ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWNjb3VudHNMaXN0ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnYWNjb3VudHNMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0RXh0cmFzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBQbHVzQnVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsncGx1c0J1cyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFJhaWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hSYWlsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hSYWlsID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFJldHVybiA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZUZhdm91cml0ZVNlYXJjaCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNhdmVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVGYXZvdXJpdGVTZWFyY2ggPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25bJ3NhdmVGYXZvdXJpdGVTZWFyY2gnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uWydzYXZlUmVjZW50U2VhcmNoJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTYXZlVXNlckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25bJ3NhdmVVc2VyQWRkcmVzcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEFpcmxpbmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ107XG4gIGV4cG9ydCB0eXBlIElhdGFNYXRjaCA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ11bJ2lhdGFNYXRjaCddO1xuICBleHBvcnQgdHlwZSBHZW5lcmFsTWF0Y2hlcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDaXRpZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDaXRpZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzID0gU2VhcmNoQ2l0aWVzUXVlcnlbJ3NlYXJjaENpdGllcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoQ2l0aWVzUXVlcnlbJ3NlYXJjaENpdGllcyddW251bWJlcl1bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ29uZmVybWFDaXRpZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVsnc2VhcmNoQ29uZmVybWFDaXRpZXMnXTtcbiAgZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbnMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5WydzZWFyY2hDb25mZXJtYUNpdGllcyddWydzdWdnZXN0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoRXVyb3N0YXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEV1cm9zdGFyUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXTtcbiAgZXhwb3J0IHR5cGUgSm91cm5leXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEluYm91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIFRheGVzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRGlzY291bnRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIENhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFnZ2FnZUFsbG93YW5jZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTXVsdGkgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdXRib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9UYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVG90YWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIF9GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX05vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0JhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEZhc3RUcmFjayB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEZhc3RUcmFja1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEZhc3RUcmFja1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hGYXN0VHJhY2sgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGbGlnaHRzVjIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBOb1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ub3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxDaGFpbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSXJsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSXJsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaElybCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGVhcGVzdFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRPcHRpb25zID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQm9va2VkVGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRFeHRyYXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9ucyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFBvc3Rjb2RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRQb3N0Y29kZURldGFpbHMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVsnZ2V0UG9zdGNvZGVEZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUmFpbFN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9ucyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VuZE9mZmxpbmVOb3RpZmljYXRpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uID0gU2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeVsnc2VuZE9mZmxpbmVOb3RpZmljYXRpb24nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTWlHcm91cCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXAgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uWydzZXRCYXNrZXRJdGVtTUlHcm91cCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pVmFsdWUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JVmFsdWUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uWydzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldE5vdGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3RlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25bJ3VwZGF0ZUJhc2tldE5vdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQmFza2V0VGl0bGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblsndXBkYXRlQmFza2V0VGl0bGUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVc2VyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBVc2VyRmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlTGFuZ3VhZ2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBob25lTnVtYmVycyA9IFVzZXJGaWVsZHNGcmFnbWVudFsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRG9jdW1lbnRzID0gVXNlckZpZWxkc0ZyYWdtZW50Wydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb3lhbHR5Q29kZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFByZWZlcmVuY2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJNaURlZmF1bHRWYWx1ZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gVXNlckZpZWxkc0ZyYWdtZW50Wyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ107XG4gIGV4cG9ydCB0eXBlIEZpeGVkVmFsdWUgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWyd2YWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFZhbHVlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm9WYWx1ZSA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvVmFsdWUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyU2VydmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyU2VydmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzID0gR2V0VXNlclNlcnZpY2VzUXVlcnlbJ2dldFVzZXJTZXJ2aWNlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclVpQ29uZmlncyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyVWlDb25maWdzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3MgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlbJ2dldFVzZXJVSUNvbmZpZ3MnXTtcbiAgZXhwb3J0IHR5cGUgQWxsID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5WydnZXRVc2VyVUlDb25maWdzJ11bJ2FsbCddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlck1lc3NhZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlck1lc3NhZ2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlcyA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5WydnZXRVc2VyTWVzc2FnZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJQaG9uZU51bWJlcnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5WydnZXRVc2VyUGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRVc2VyTGFuZ3VhZ2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyID0gR2V0VXNlclF1ZXJ5WydnZXRVc2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoVXNlckNhbkJvb2tGb3Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVsnc2VhcmNoVXNlckNhbkJvb2tGb3InXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5O1xufVxuXG5leHBvcnQgY29uc3QgT3duZXJGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBPd25lckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVHJhdmVsbGVyRmllbGRzIG9uIFVzZXIge1xuICBpZFxuICB0aXRsZVxuICBmb3JlbmFtZVxuICBzdXJuYW1lXG4gIGVtYWlsXG4gIHVzZXJuYW1lXG4gIGVtcGxveWVlSWRcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEJhc2tldEZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEJhc2tldEZpZWxkcyBvbiBCYXNrZXQge1xuICBpZFxuICBvd25lciB7XG4gICAgLi4uT3duZXJGaWVsZHNcbiAgfVxuICByZWZlcmVuY2VcbiAgdGl0bGVcbiAgbm90ZXNcbiAgY3JlYXRlZEF0XG4gIHVwZGF0ZWRBdFxuICBib29rZWRBdFxuICBiYXNrZXRJdGVtcyB7XG4gICAgaWRcbiAgICBhZHVsdHNcbiAgICBjaGlsZHJlblxuICAgIGluZmFudHNcbiAgICBkZXRhaWxcbiAgICBkZXRhaWxIYXNoXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gICAgZXhwaXJ5XG4gICAgZXhwaXJlZFxuICAgIHNlYXJjaFF1ZXJ5XG4gICAgcHJpY2VcbiAgICBjdXJyZW5jeVxuICAgIG1pR3JvdXBzQXZhaWxhYmxlXG4gICAgbWlHcm91cFNlbGVjdGVkXG4gICAgdmFsaWRhdGVkXG4gICAgbGF0ZXN0VmFsaWRhdGlvblxuICAgIGxhdGVzdFZhbGlkYXRpb25QcmljZVxuICAgIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2VcbiAgICBsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlXG4gICAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2VcbiAgICBzdGF0dXNcbiAgICBwbnJMb2NhdG9yXG4gICAgYm9va2luZ0RldGFpbFxuICAgIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBzZWxlY3RlZFBheW1lbnRNZXRob2Qge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgfVxuICAgIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYSBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVySXRlbUFkZHJlc3MgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlckl0ZW1QaG9uZU51bWJlciBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVyUGFzc2VuZ2VyQWRkcmVzcyBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXIgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIGNhbmNlbGxhYmxlXG4gICAgYW1lbmRhYmxlXG4gICAgY28yUGVySXRlbVxuICAgIGNvMlBlclBhc3NlbmdlclxuICAgIG91dGJvdW5kRGF0ZVxuICAgIGluYm91bmREYXRlXG4gICAgcmVxdWlyZXNSZWFzb25cbiAgICBzZXJ2aWNlIHtcbiAgICAgIGlkXG4gICAgICB0eXBlXG4gICAgfVxuICAgIHVzZXJzIHtcbiAgICAgIC4uLlRyYXZlbGxlckZpZWxkc1xuICAgIH1cbiAgICB1c2VyUGFzc2VuZ2VyVHlwZXMge1xuICAgICAgaWRcbiAgICAgIHBhc3NlbmdlclR5cGVcbiAgICB9XG4gICAgbGVhZFBhc3NlbmdlciB7XG4gICAgICAuLi5UcmF2ZWxsZXJGaWVsZHNcbiAgICB9XG4gICAgbWFuYWdlbWVudEluZm8ge1xuICAgICAgaWRcbiAgICAgIGRiSWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBoYW5kb2ZmXG4gICAgICB2YWx1ZU1hc2tcbiAgICAgIHVpUHJlc2VudGF0aW9uXG4gICAgICBtYW5kYXRvcnlcbiAgICAgIHBlclBhc3NlbmdlclxuICAgICAgcGVyQm9va2luZ1xuICAgICAgYWdlbnRPbmx5XG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgcmVhc29uXG4gICAgICBmaXhlZFxuICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgdmFsdWVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGdyb3VwXG4gICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgIHZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudFxuICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICB9XG4gIHN0YXR1c1xuICBjb21wYW55R3JvdXAge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdmFsaWRhdGVkXG59XG4gICAgJHtPd25lckZpZWxkc0ZyYWdtZW50RG9jfVxuJHtUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudERvY31gO1xuZXhwb3J0IGNvbnN0IEVycm9yc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEVycm9ycyBvbiBTZWFyY2hFcnJvciB7XG4gIHNlcnZpY2Uge1xuICAgIGlkXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICB9XG4gIGVycm9yTWVzc2FnZVxuICBlcnJvckNvZGVcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEdyb3VwZWRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBHcm91cGVkRmllbGRzIG9uIEdyb3VwRmxpZ2h0cyB7XG4gIHJlZmVyZW5jZUlEXG4gIGZsaWdodElEXG4gIGJvdW5kSW5kaWNhdG9yXG4gIG1pblByaWNlXG4gIG1heFByaWNlXG4gIGZsaWdodHMge1xuICAgIEVjb25vbXlSZXN0cmljdGVkXG4gICAgRWNvbm9teU5vQmFnc1xuICAgIEVjb25vbXlGbGV4aVxuICAgIFByZW1pdW1FY29ub215XG4gICAgQnVzaW5lc3NcbiAgICBGaXJzdFxuICB9XG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgRmxpZ2h0Sm91cm5leUZpZWxkcyBvbiBGbGlnaHRKb3VybmV5IHtcbiAgaWRcbiAgYm9va2luZ0NvZGVcbiAgY2FiaW5DbGFzc1xuICBjYWJpbkNvZGVcbiAgY2FiaW5SYXdcbiAgZGF0ZVRpbWVBcnJpdmluZ1xuICBkYXRlVGltZUFycml2aW5nVVRDXG4gIGRhdGVUaW1lRGVwYXJ0aW5nXG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gIGRlc3RpbmF0aW9uQWlycG9ydFxuICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lXG4gIGRlc3RpbmF0aW9uVGVybWluYWxcbiAgZXF1aXBtZW50Q29kZVxuICBlcXVpcG1lbnROYW1lXG4gIGZhcmVCYXNpc0NvZGVcbiAgZ292ZXJuaW5nQ2FycmllclxuICBtYXJrZXRpbmdDYXJyaWVyXG4gIG1hcmtldGluZ0NhcnJpZXJOYW1lXG4gIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICBtYXJrZXRpbmdOYW1lc1xuICBtYXJyaWFnZUdyb3VwXG4gIG9wZXJhdGluZ0NhcnJpZXJcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gIG9yaWdpbkFpcnBvcnRcbiAgb3JpZ2luQWlycG9ydE5hbWVcbiAgb3JpZ2luVGVybWluYWxcbiAgc3RvcHNcbiAgdG90YWxEdXJhdGlvblxuICBzZWF0c0F2YWlsYWJsZVxuICB2ZW5kb3JDb2RlXG4gIG9yaWdpbkFpcnBvcnRcbiAgZmFyZUluZm8ge1xuICAgIHRpdGxlXG4gICAgdHlwZVxuICAgIGNvZGVcbiAgICBzdXBwbGllckNvZGVcbiAgfVxuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwge1xuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBhbHRpdHVkZVxuICAgIHN0YXRlXG4gICAgY2l0eVxuICAgIHJvYWRcbiAgICBwb3B1bGFyaXR5XG4gICAgYXJlYVxuICAgIGxvY2F0aW9uXG4gICAgb2Zmc2V0XG4gICAgYWlycG9ydE5hbWVcbiAgICBjb3VudHJ5TmFtZVxuICAgIGNvdW50cnlDb2RlXG4gICAgcG9zdGNvZGVcbiAgfVxuICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICBuYW1lXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbG9nb1xuICAgIGJhbm5lclxuICAgIHBvcHVsYXJpdHlcbiAgfVxuICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICBuYW1lXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbG9nb1xuICAgIGJhbm5lclxuICAgIHBvcHVsYXJpdHlcbiAgfVxuICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgY2hhbmdlIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgbm9TaG93IHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgdXBncmFkZSB7XG4gICAgICBuYW1lXG4gICAgICB0eXBlXG4gICAgICBjdXJyZW5jeVxuICAgICAgYW1vdW50XG4gICAgICByZW1hcmtcbiAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICByZWZ1bmRhYmxlSW5kXG4gICAgfVxuICAgIG90aGVyIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gIH1cbiAgYWRkaXRpb25hbFxuICBvcmlnaW5BaXJwb3J0RGV0YWlsIHtcbiAgICBpYXRhXG4gICAgaWNhb1xuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgYWx0aXR1ZGVcbiAgICBzdGF0ZVxuICAgIGNpdHlcbiAgICByb2FkXG4gICAgcG9wdWxhcml0eVxuICAgIGFyZWFcbiAgICBsb2NhdGlvblxuICAgIG9mZnNldFxuICAgIGFpcnBvcnROYW1lXG4gICAgY291bnRyeU5hbWVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHBvc3Rjb2RlXG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBSb29tQXZhbGlhYmlsaXR5IG9uIEhvdGVsQXZhaWxhYmlsaXR5IHtcbiAgaG90ZWxJZFxuICBpbWFnZVVybFxuICByb29tcyB7XG4gICAgcm9vbUlkXG4gICAgcm9vbVR5cGVcbiAgICByb29tRGVzY3JpcHRpb25cbiAgICByYXRlQ29kZVxuICAgIHJhdGVTb3VyY2VcbiAgICByYXRlRGVzY3JpcHRpb25cbiAgICB0b3RhbFxuICAgIGN1cnJlbmN5Q29kZVxuICAgIGN1cnJlbmN5Q29udmVyc2lvbiB7XG4gICAgICByYXRlXG4gICAgICBsb2NhbENvZGVcbiAgICAgIGxvY2FsVG90YWxcbiAgICAgIGNvbnZlcnRlZENvZGVcbiAgICAgIGNvbnZlcnRlZFRvdGFsXG4gICAgfVxuICAgIGRlcG9zaXQge1xuICAgICAgYW1vdW50XG4gICAgICBwb2xpY3lcbiAgICAgIHJlcXVpcmVkXG4gICAgfVxuICAgIG5pZ2h0cyB7XG4gICAgICBuaWdodFxuICAgICAgcmF0ZVxuICAgICAgaW5mb1xuICAgICAgZGF0ZVxuICAgIH1cbiAgICBwb2xpY2llcyB7XG4gICAgICBjYW5jZWxsYXRpb25cbiAgICAgIGRlcG9zaXRcbiAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICBnZW5lcmFsXG4gICAgICBndWFyYW50ZWVcbiAgICAgIHJlZnVuZEF2YWlsYWJsZVxuICAgIH1cbiAgICB0YXgge1xuICAgICAgaW5jbHVkZWRcbiAgICAgIHJhdGVcbiAgICB9XG4gICAgYWNjZXB0ZWRDYXJkcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBwYXltZW50VHlwZXMge1xuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgIH1cbiAgICB0bWNQcmVmZXJyZWRcbiAgICBjb21wYW55UHJlZmVycmVkXG4gICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgIHVuYXZhaWxhYmxlXG4gICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgcmVxdWlyZXNSZWFzb25cbiAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgfVxuICBwcnBuXG4gIGN1cnJlbmN5Q29kZVxuICBpc0J1c3lcbiAgc291cmNlXG4gIHZlcnNpb25cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IExvY2F0aW9uX0RldGFpbEZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IExPQ0FUSU9OX0RFVEFJTCBvbiBMb2NhdGlvbkRldGFpbCB7XG4gIGNvbnRpbmVudFxuICBjb3VudHJ5XG4gIGNvdW50cnlDb2RlXG4gIHN0YXRlXG4gIGNpdHlcbiAgY29vcmRpbmF0ZXMge1xuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgYWx0aXR1ZGVcbiAgfVxuICBwb3N0Y29kZVxuICByb2FkXG4gIGdyaWRSZWZlcmVuY2VcbiAgbm9ydGhpbmdcbiAgZWFzdGluZ1xufVxuICAgIGA7XG5leHBvcnQgY29uc3QgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlGYXJlIG9uIFJhaWxKb3VybmV5RmFyZSB7XG4gIHByb3ZpZGVySWRcbiAgcHJvdmlkZXJOYW1lXG4gIGlkZW50aWZpZXJzIHtcbiAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICBqb3VybmV5SWRlbnRpZmllclxuICAgIHByb3ZpZGVyXG4gICAgZmFyZUlkZW50aWZpZXJcbiAgICBkaXJlY3Rpb25cbiAgICBzaW5nbGVPclJldHVyblxuICAgIGJvb2tpbmdSZWZcbiAgfVxuICB0eXBlXG4gIHByaWNlXG4gIGN1cnJlbmN5XG4gIGZhcmVIYXNoXG4gIHRlcm1zIHtcbiAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgY2hhbmdlUnVsZVxuICAgIGNoaWxkRGlzY291bnRcbiAgICBkeW5hbWljQ29uZGl0aW9ucyB7XG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBnZW5lcmFsRGlzY291bnRcbiAgICBnZW5lcmFsVmFsaWRpdHlcbiAgICBqb3VybmV5QnJlYWtSdWxlXG4gICAgam91cm5leVR5cGVcbiAgICBraW9za0F2YWlsYWJsZVxuICAgIHByZUJvb2tpbmdSZXF1aXJlbWVudFxuICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICByb3V0ZVxuICAgIHJlZnVuZENhbmNlbGxhdGlvblJ1bGVcbiAgICByZXNlcnZhdGlvblJ1bGVcbiAgICB0aWNrZXRUeXBlQWx0TmFtZVxuICAgIHRpY2tldFR5cGVDbGFzc1xuICAgIHRpY2tldFR5cGVDb2RlXG4gICAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvblxuICAgIHRpY2tldFR5cGVOYW1lXG4gICAgdG9kQXZhaWxhYmxlXG4gICAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZVxuICAgIHZhbGlkT3V0UnVsZVxuICAgIHZhbGlkUmV0dXJuUnVsZVxuICB9XG4gIGNsYXNzXG4gIHNpbmdsZU9yUmV0dXJuXG4gIG1vYmlsZVRpY2tldEF2YWlsYWJsZVxuICBlVGlja2V0QXZhaWxhYmxlXG4gIHNlbGZQcmludEF2YWlsYWJsZVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBSYWlsSm91cm5leU9wdGlvbiBvbiBSYWlsSm91cm5leU9wdGlvbiB7XG4gIGZyb21cbiAgZnJvbUNvZGVcbiAgdG9cbiAgdG9Db2RlXG4gIGpvdXJuZXlIYXNoXG4gIGRlcGFydERhdGVUaW1lXG4gIGFycml2ZURhdGVUaW1lXG4gIGNvMlBlckl0ZW1cbiAgY28yUGVyUGFzc2VuZ2VyXG4gIGNoYW5nZXNcbiAgb3ZlcnRha2VuXG4gIGpvdXJuZXlMZWdzIHtcbiAgICBpZFxuICAgIG9wZXJhdG9yXG4gICAgZGVwYXJ0XG4gICAgYXJyaXZlXG4gICAgYXJyaXZlRGF0ZVRpbWVcbiAgICBkZXBhcnREYXRlVGltZVxuICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICBjYWxsaW5nUG9pbnRzIHtcbiAgICAgIHN0YXRpb25OYW1lXG4gICAgICBzdGF0aW9uQ29kZVxuICAgICAgYXJyaXZhbERhdGVUaW1lXG4gICAgICBkZXBhcnR1cmVEYXRlVGltZVxuICAgICAgc2NoZWR1bGVkUGxhdGZvcm1cbiAgICAgIHN0YXRpb25DbGFzc2lmaWNhdGlvblxuICAgICAgc3RvcHBpbmdQYXR0ZXJuXG4gICAgfVxuICB9XG4gIHNpbmdsZUpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgcmV0dXJuSm91cm5leUZhcmVzIHtcbiAgICAuLi5SYWlsSm91cm5leUZhcmVcbiAgfVxuICBkdWFsU2luZ2xlSm91cm5leUZhcmVzIHtcbiAgICAuLi5SYWlsSm91cm5leUZhcmVcbiAgfVxuICBvcGVuUmV0dXJuSm91cm5leUZhcmVzIHtcbiAgICAuLi5SYWlsSm91cm5leUZhcmVcbiAgfVxuICB0aWNrZXRRdWV1ZUxpc3Qge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHR5cGVcbiAgfVxuICBhY2NvdW50c0xpc3Qge1xuICAgIGlkXG4gICAgcmVmZXJlbmNlXG4gICAgZGVzY3JpcHRpb25cbiAgICBpc0RlZmF1bHRcbiAgICB0eXBlXG4gIH1cbiAgdGlja2V0RXh0cmFzIHtcbiAgICBpZGVudGlmaWVycyB7XG4gICAgICB0eXBlXG4gICAgICBsb2NhdGlvblxuICAgICAgZGF0ZVxuICAgICAgam91cm5leUlkXG4gICAgICBpc09yaWdpblxuICAgIH1cbiAgICB0eXBlXG4gICAgbG9jYXRpb25cbiAgICBkYXRlXG4gICAgZGVzY3JpcHRpb25cbiAgICBhbW91bnRcbiAgICBhZHVsdEFtb3VudFxuICAgIGNoaWxkQW1vdW50XG4gICAgY3VycmVuY3lcbiAgfVxuICBwbHVzQnVzIHtcbiAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICB9XG59XG4gICAgJHtSYWlsSm91cm5leUZhcmVGcmFnbWVudERvY31gO1xuZXhwb3J0IGNvbnN0IFVzZXJGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBVc2VyRmllbGRzIG9uIFVzZXIge1xuICBpZFxuICB0aXRsZVxuICBmb3JlbmFtZVxuICBzdXJuYW1lXG4gIGVtYWlsXG4gIGFkZGl0aW9uYWxFbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgZG9iXG4gIGFkbWluXG4gIHRtY0FkbWluXG4gIGNvbXBhbnlBZG1pblxuICBib29rZXJUeXBlXG4gIGF1dGhNZXRob2RzXG4gIGFjdGl2ZVxuICBwYXNzd29yZExhc3RVcGRhdGVkXG4gIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG4gIHBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbiAgZG9jdW1lbnRzIHtcbiAgICBpZFxuICAgIGRvY1R5cGVcbiAgICBuYXRpb25hbGl0eVxuICAgIGdlbmRlclxuICAgIG51bWJlclxuICAgIGNvdW50cnlcbiAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICBkYXRlT2ZJc3N1ZVxuICAgIGRhdGVPZkV4cGlyeVxuICAgIHByaW1hcnlcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgfVxuICBsb3lhbHR5Q29kZXMge1xuICAgIGlkXG4gICAgY2FycmllclxuICAgIGNvZGVcbiAgICB0eXBlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgcHJlZmVyZW5jZXMge1xuICAgIGlkXG4gICAgc2VydmljZVR5cGVcbiAgICBwcmVmZXJlbmNlS2V5XG4gICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdXNlck1pRGVmYXVsdFZhbHVlcyB7XG4gICAgc2VydmljZSB7XG4gICAgICBpZFxuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIHN1cHBsaWVyVXJsXG4gICAgICBhY3RpdmVcbiAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICBjYW5jZWxsYWJsZVxuICAgICAgYW1lbmRhYmxlXG4gICAgICBkZXRhaWxTY2hlbWFcbiAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvIHtcbiAgICAgIGlkXG4gICAgICBkYklkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgaGFuZG9mZlxuICAgICAgdmFsdWVNYXNrXG4gICAgICB1aVByZXNlbnRhdGlvblxuICAgICAgbWFuZGF0b3J5XG4gICAgICBwZXJQYXNzZW5nZXJcbiAgICAgIHBlckJvb2tpbmdcbiAgICAgIGFnZW50T25seVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIGZpeGVkXG4gICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICB2YWx1ZXMge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgZ3JvdXBcbiAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgdmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICB9XG4gICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICBiYXNrZXRMZXZlbFZhbHVlXG4gICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgIHVzZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdGl0bGVcbiAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIGFkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvVmFsdWUge1xuICAgICAgaWRcbiAgICAgIGxhYmVsXG4gICAgICB2YWx1ZVxuICAgICAgZGVmYXVsdFxuICAgICAgZml4ZWRcbiAgICAgIGFnZW50T25seVxuICAgIH1cbiAgICBmcmVlVGV4dFZhbHVlXG4gIH1cbiAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgQWNjZXB0TmV3UHJpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBhY2NlcHROZXdQcmljZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYWNjZXB0TmV3UHJpY2UoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFjY2VwdE5ld1ByaWNlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFjY2VwdE5ld1ByaWNlTXV0YXRpb24sIEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFkZFVzZXJzVG9CYXNrZXRJdGVtRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWRkVXNlcnNUb0Jhc2tldEl0ZW0oJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICR1c2VyczogW1VzZXJQYXNzZW5nZXJUeXBlSW5wdXQhXSEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuISkge1xuICBhZGRVc2Vyc1RvQmFza2V0SXRlbShjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSwgdXNlcnM6ICR1c2Vycykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFkZFVzZXJzVG9CYXNrZXRJdGVtR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb24sIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFwcGx5Sml0RmxpZ2h0UnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBhcHBseUpJVEZsaWdodFJ1bGVzKCRzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiBKU09OISwgJGF2YWlsYWJsZUluYm91bmRGbGlnaHRzOiBbSlNPTiFdISkge1xuICBhcHBseUpJVEZsaWdodFJ1bGVzKHNlbGVjdGVkT3V0Ym91bmRGbGlnaHQ6ICRzZWxlY3RlZE91dGJvdW5kRmxpZ2h0LCBhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogJGF2YWlsYWJsZUluYm91bmRGbGlnaHRzKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQXBwbHlKaXRGbGlnaHRSdWxlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxBcHBseUppdEZsaWdodFJ1bGVzUXVlcnksIEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQXBwbHlKaXRGbGlnaHRSdWxlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBcHBseUppdEhvdGVsUnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBhcHBseUpJVEhvdGVsUnVsZXMoJGRhdGE6IFtKU09OIV0hKSB7XG4gIGFwcGx5SklUSG90ZWxSdWxlcyhkYXRhOiAkZGF0YSkge1xuICAgIHJlc3VsdFxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBcHBseUppdEhvdGVsUnVsZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8QXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnksIEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBcHBseUppdEhvdGVsUnVsZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckJhc2tldHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0cygkdXNlcjogSUQsICR0cmF2ZWxsZXI6IElELCAkYmFza2V0U3RhdHVzOiBCYXNrZXRTdGF0dXMsICRjcmVhdGVkQWZ0ZXI6IERhdGVUaW1lLCAkY3JlYXRlZEJlZm9yZTogRGF0ZVRpbWUsICRib29rZWRBZnRlcjogRGF0ZVRpbWUsICRib29rZWRCZWZvcmU6IERhdGVUaW1lLCAkZGF0ZU9mVHJhdmVsQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEFmdGVyOiBEYXRlVGltZSwgJGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRSZWZlcmVuY2U6IFN0cmluZywgJGJhc2tldFRpdGxlOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UsICRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nKSB7XG4gIGdldFVzZXJCYXNrZXRzKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIHVzZXI6ICR1c2VyLCB0cmF2ZWxsZXI6ICR0cmF2ZWxsZXIsIGJhc2tldFN0YXR1czogJGJhc2tldFN0YXR1cywgY3JlYXRlZEFmdGVyOiAkY3JlYXRlZEFmdGVyLCBjcmVhdGVkQmVmb3JlOiAkY3JlYXRlZEJlZm9yZSwgYm9va2VkQWZ0ZXI6ICRib29rZWRBZnRlciwgYm9va2VkQmVmb3JlOiAkYm9va2VkQmVmb3JlLCBkYXRlT2ZUcmF2ZWxCZWZvcmU6ICRkYXRlT2ZUcmF2ZWxCZWZvcmUsIGRhdGVPZlRyYXZlbEFmdGVyOiAkZGF0ZU9mVHJhdmVsQWZ0ZXIsIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlOiAkYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2UsIGJhc2tldFJlZmVyZW5jZTogJGJhc2tldFJlZmVyZW5jZSwgYmFza2V0VGl0bGU6ICRiYXNrZXRUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJCYXNrZXRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRzUXVlcnksIEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZUJhc2tldCgkaWQ6IElELCAkcmVmZXJlbmNlOiBTdHJpbmcpIHtcbiAgZGVsZXRlQmFza2V0KGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxEZWxldGVCYXNrZXRNdXRhdGlvbiwgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDcmVhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBjcmVhdGVCYXNrZXQoJHRpdGxlOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgY3JlYXRlQmFza2V0KHRpdGxlOiAkdGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBDcmVhdGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q3JlYXRlQmFza2V0TXV0YXRpb24sIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBDcmVhdGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgUmVtb3ZlSXRlbUZyb21CYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZW1vdmVJdGVtRnJvbUJhc2tldCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZW1vdmVJdGVtRnJvbUJhc2tldChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFJlbW92ZUl0ZW1Gcm9tQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb24sIFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlbmRCYXNrZXRGb3JBcHByb3ZhbERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNlbmRCYXNrZXRGb3JBcHByb3ZhbCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IHRydWUpIHtcbiAgc2VuZEJhc2tldEZvckFwcHJvdmFsKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldDogJGJhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlbmRCYXNrZXRGb3JBcHByb3ZhbEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiwgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRJdGVtVG9CYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBhZGRJdGVtVG9CYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXQ6IElELCAkc2VydmljZTogSUQhLCAkZGV0YWlsOiBKU09OISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICRwcmljZTogRmxvYXQhLCAkY3VycmVuY3k6IEN1cnJlbmN5Q29kZSEsICRzZWFyY2hRdWVyeTogSlNPTiEsICRxdWlja0FkZDogQm9vbGVhbiwgJHVzZXJzOiBbVXNlclBhc3NlbmdlclR5cGVJbnB1dF0sICRsZWFkUGFzc2VuZ2VyOiBJRCwgJGNvMlBlckl0ZW06IEZsb2F0LCAkY28yUGVyUGFzc2VuZ2VyOiBGbG9hdCwgJG91dGJvdW5kRGF0ZTogRGF0ZVRpbWUhLCAkaW5ib3VuZERhdGU6IERhdGVUaW1lLCAkcmVxdWlyZXNSZWFzb246IEJvb2xlYW4gPSBmYWxzZSwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBhZGRJdGVtVG9CYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0OiAkYmFza2V0LCBzZXJ2aWNlOiAkc2VydmljZSwgZGV0YWlsOiAkZGV0YWlsLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGluZmFudHM6ICRpbmZhbnRzLCBwcmljZTogJHByaWNlLCBjdXJyZW5jeTogJGN1cnJlbmN5LCBzZWFyY2hRdWVyeTogJHNlYXJjaFF1ZXJ5LCBxdWlja0FkZDogJHF1aWNrQWRkLCB1c2VyczogJHVzZXJzLCBsZWFkUGFzc2VuZ2VyOiAkbGVhZFBhc3NlbmdlciwgY28yUGVySXRlbTogJGNvMlBlckl0ZW0sIGNvMlBlclBhc3NlbmdlcjogJGNvMlBlclBhc3Nlbmdlciwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBpbmJvdW5kRGF0ZTogJGluYm91bmREYXRlLCByZXF1aXJlc1JlYXNvbjogJHJlcXVpcmVzUmVhc29uKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQWRkSXRlbVRvQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uLCBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQWRkSXRlbVRvQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBnZXRVc2VyQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRRdWVyeSwgR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZXZhbGlkYXRlQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZXZhbGlkYXRlQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZXZhbGlkYXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiwgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZXZhbGlkYXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEJvb2tCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBib29rQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHN1cHBsZW1lbnRhcnlJbmZvOiBbU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvIV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGJvb2tCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgc3VwcGxlbWVudGFyeUluZm86ICRzdXBwbGVtZW50YXJ5SW5mbykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEJvb2tCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Qm9va0Jhc2tldE11dGF0aW9uLCBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEJvb2tCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FiSGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhYkhpcmUoJGRlcGFydHM6IERhdGVUaW1lISwgJGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkdG9Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHZpYXM6IFtDYWJIaXJlTG9jYXRpb25JbnB1dF0sICR2ZWhpY2xlVHlwZTogQ2FiSGlyZVZlaGljbGVUeXBlKSB7XG4gIHNlYXJjaENhYkhpcmUoZGVwYXJ0czogJGRlcGFydHMsIGZyb21Mb2NhdGlvbjogJGZyb21Mb2NhdGlvbiwgdG9Mb2NhdGlvbjogJHRvTG9jYXRpb24sIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHZpYXM6ICR2aWFzLCB2ZWhpY2xlVHlwZTogJHZlaGljbGVUeXBlKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgc3VwcGxpZXJOYW1lXG4gICAgICBlc3RpbWF0ZWRDTzJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICB2ZWhpY2xlVHlwZVxuICAgICAgdHJpcERpc3RhbmNlTWV0cmVzXG4gICAgICB0cmlwRHVyYXRpb25TZWNvbmRzXG4gICAgICBkZXBhcnRzXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGZyb21Mb2NhdGlvbiB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgICB0b0xvY2F0aW9uIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICAgIHZpYXMge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhYkhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FiSGlyZVF1ZXJ5LCBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhYkhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FuY2VsQm9va2luZ0RvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGNhbmNlbEJvb2tpbmcoJGJhc2tldEl0ZW06IElEISkge1xuICBjYW5jZWxCb29raW5nKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgY2FuY2VsbGVkXG4gICAgY2FuY2VsbGF0aW9uRmVlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENhbmNlbEJvb2tpbmdHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q2FuY2VsQm9va2luZ011dGF0aW9uLCBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENhbmNlbEJvb2tpbmdEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCgkbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyEpIHtcbiAgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QobG9jYXRpb25EZXRhaWxzOiAkbG9jYXRpb25EZXRhaWxzKSB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgbG9jYXRvclxuICAgICAgcnBoXG4gICAgICBzdGF0dXNcbiAgICAgIHZlaFR5cGVcbiAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgZXh0ZW5kZWRMb2NhdGlvbkNvZGVcbiAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICBwaWNrdXBEYXRlVGltZVxuICAgICAgZHJvcG9mZkRhdGVUaW1lXG4gICAgICB2ZW5kb3JcbiAgICB9XG4gICAgdmVuZG9yIHtcbiAgICAgIG5hbWVcbiAgICAgIGxvZ29cbiAgICB9XG4gICAgYWRkcmVzcyB7XG4gICAgICBuYW1lXG4gICAgICB0b3BMaW5lXG4gICAgICBjaXR5XG4gICAgICByZWdpb25cbiAgICAgIHBvc3RDb2RlXG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVDb2RlXG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgfVxuICAgIGFkZGl0aW9uYWxJbmZvIHtcbiAgICAgIG5hbWVcbiAgICAgIHRleHRcbiAgICAgIGpzb25cbiAgICAgIGN1c3RvbSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeSwgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FySGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhckhpcmUoJGFpcnBvcnQ6IENhckhpcmVBaXJwb3J0SW5wdXQsICRjaXR5OiBDYXJIaXJlQ2l0eUlucHV0LCAkbG9jYXRpb246IENhckhpcmVMb2NhdGlvbklucHV0LCAkZGVwb3Q6IElucHV0Q2FySGlyZURlcG90LCAkcGlja3VwRGF0ZVRpbWU6IFN0cmluZyEsICRkcm9wb2ZmRGF0ZVRpbWU6IFN0cmluZyEsICR2ZW5kb3I6IFN0cmluZywgJGNsYXNzOiBDYXJIaXJlQ2xhc3MsICR0eXBlOiBDYXJIaXJlVHlwZSwgJHRyYW5zbWlzc2lvbjogQ2FySGlyZVRyYW5zbWlzc2lvbiwgJGFpcmNvbjogQm9vbGVhbiwgJGVzdGltYXRlZERhaWx5RGlzdGFuY2U6IEZsb2F0LCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiBEaXN0YW5jZVR5cGVzKSB7XG4gIHNlYXJjaENhckhpcmUoYWlycG9ydDogJGFpcnBvcnQsIGNpdHk6ICRjaXR5LCBsb2NhdGlvbjogJGxvY2F0aW9uLCBkZXBvdDogJGRlcG90LCBwaWNrdXBEYXRlVGltZTogJHBpY2t1cERhdGVUaW1lLCBkcm9wb2ZmRGF0ZVRpbWU6ICRkcm9wb2ZmRGF0ZVRpbWUsIHZlbmRvcjogJHZlbmRvciwgY2xhc3M6ICRjbGFzcywgdHlwZTogJHR5cGUsIHRyYW5zbWlzc2lvbjogJHRyYW5zbWlzc2lvbiwgYWlyY29uOiAkYWlyY29uLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZSwgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgIGxvY2F0b3JcbiAgICAgICAgcnBoXG4gICAgICAgIHN0YXR1c1xuICAgICAgICB2ZWhUeXBlXG4gICAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICAgIGRyb3BvZmZEYXRlVGltZVxuICAgICAgICB2ZW5kb3JcbiAgICAgIH1cbiAgICAgIGRpc3BsYXlSZWNvcmQge1xuICAgICAgICBzdGF0dXNcbiAgICAgICAgcGlja3VwXG4gICAgICAgIGRyb3BvZmZcbiAgICAgICAgdmVuZG9yIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgbG9nb1xuICAgICAgICB9XG4gICAgICAgIHZlaGljbGUge1xuICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHRyYW5zbWlzc2lvblxuICAgICAgICAgIGFpcmNvblxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgaW1hZ2VzXG4gICAgICAgIH1cbiAgICAgICAgY2hhcmdlcyB7XG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgfVxuICAgICAgICBwaWNrdXBMb2NhdGlvbiB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRvcExpbmVcbiAgICAgICAgICBjaXR5XG4gICAgICAgICAgcmVnaW9uXG4gICAgICAgICAgcG9zdENvZGVcbiAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBzdGF0ZUNvZGVcbiAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybkxvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0ZXh0XG4gICAgICAgICAganNvblxuICAgICAgICAgIGN1c3RvbSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhckhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FySGlyZVF1ZXJ5LCBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhckhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ29uZmlybU1lc3NhZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY29uZmlybU1lc3NhZ2VzKCRtZXNzYWdlczogW1N0cmluZyFdISkge1xuICBjb25maXJtTWVzc2FnZXMobWVzc2FnZXM6ICRtZXNzYWdlcylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENvbmZpcm1NZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDb25maXJtTWVzc2FnZXNNdXRhdGlvbiwgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENvbmZpcm1NZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVGYXZvdXJpdGVTZWFyY2goJGlkOiBJRCEpIHtcbiAgZGVsZXRlRmF2b3VyaXRlU2VhcmNoKGlkOiAkaWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24sIERlbGV0ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlUmVjZW50U2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlUmVjZW50U2VhcmNoKCRpZDogSUQhKSB7XG4gIGRlbGV0ZVJlY2VudFNlYXJjaChpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlUmVjZW50U2VhcmNoR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uLCBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlUmVjZW50U2VhcmNoRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZVVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlVXNlckFkZHJlc3MoJGlkOiBJRCEpIHtcbiAgZGVsZXRlVXNlckFkZHJlc3MoaWQ6ICRpZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24sIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEVkaXRVc2VyRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZWRpdFVzZXIoJGlkOiBJRCEsICR0aXRsZTogU3RyaW5nLCAkZm9yZW5hbWU6IFN0cmluZywgJHN1cm5hbWU6IFN0cmluZywgJGVtYWlsOiBTdHJpbmcsICRhZGRpdGlvbmFsRW1haWw6IFN0cmluZywgJHVzZXJuYW1lOiBTdHJpbmcsICRhdXRoTWV0aG9kczogW1N0cmluZyFdLCAkYWN0aXZlOiBCb29sZWFuLCAkYm9va2VyVHlwZTogQm9va2VyVHlwZSwgJHRtY0FkbWluOiBCb29sZWFuLCAkY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsOiBCb29sZWFuLCAkbG9nTGV2ZWw6IExvZ0xldmVsVHlwZSwgJGxpdmU6IEJvb2xlYW4sICRlbXBsb3llZUlkOiBTdHJpbmcsICRjb25mZXJtYUlkOiBTdHJpbmcsICRkb2I6IERhdGUsICRhZG1pbjogQm9vbGVhbiwgJGNvbXBhbnlBZG1pbjogQm9vbGVhbiwgJHNlbGVjdGVkTGFuZ3VhZ2U6IElELCAkY28yQWxsb3dhbmNlUGVyaW9kOiBTdHJpbmcsICRjbzJBbGxvd2FuY2VQZXJQZXJpb2Q6IFN0cmluZywgJGVtZXJnZW5jeUNvbnRhY3ROYW1lOiBTdHJpbmcsICRlbWVyZ2VuY3lDb250YWN0UGhvbmU6IFN0cmluZywgJGVtZXJnZW5jeUNvbnRhY3RFbWFpbDogU3RyaW5nLCAkc3VwcGxpZXJSZWxhdGlvbnM6IEJvb2xlYW4sICRwaG9uZU51bWJlcnM6IFtQaG9uZU51bWJlcklucHV0IV0sICRhZGRyZXNzZXM6IFtBZGRyZXNzSW5wdXQhXSwgJHVzZXJNaURlZmF1bHRWYWx1ZXM6IFtVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQhXSwgJGRvY3VtZW50czogW0RvY3VtZW50SW5wdXQhXSwgJGxveWFsdHlDb2RlczogW1VzZXJMb3lhbHR5Q29kZUlucHV0IV0sICRwcmVmZXJlbmNlczogW1VzZXJQcmVmZXJlbmNlSW5wdXQhXSkge1xuICBlZGl0VXNlcihpZDogJGlkLCB0aXRsZTogJHRpdGxlLCBmb3JlbmFtZTogJGZvcmVuYW1lLCBzdXJuYW1lOiAkc3VybmFtZSwgZW1haWw6ICRlbWFpbCwgYWRkaXRpb25hbEVtYWlsOiAkYWRkaXRpb25hbEVtYWlsLCB1c2VybmFtZTogJHVzZXJuYW1lLCBhdXRoTWV0aG9kczogJGF1dGhNZXRob2RzLCBhY3RpdmU6ICRhY3RpdmUsIGJvb2tlclR5cGU6ICRib29rZXJUeXBlLCB0bWNBZG1pbjogJHRtY0FkbWluLCBjYW5DcmVhdGVBZG1pbkF0T3duTGV2ZWw6ICRjYW5DcmVhdGVBZG1pbkF0T3duTGV2ZWwsIGxvZ0xldmVsOiAkbG9nTGV2ZWwsIGxpdmU6ICRsaXZlLCBlbXBsb3llZUlkOiAkZW1wbG95ZWVJZCwgY29uZmVybWFJZDogJGNvbmZlcm1hSWQsIGRvYjogJGRvYiwgYWRtaW46ICRhZG1pbiwgY29tcGFueUFkbWluOiAkY29tcGFueUFkbWluLCBzZWxlY3RlZExhbmd1YWdlOiAkc2VsZWN0ZWRMYW5ndWFnZSwgY28yQWxsb3dhbmNlUGVyaW9kOiAkY28yQWxsb3dhbmNlUGVyaW9kLCBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q6ICRjbzJBbGxvd2FuY2VQZXJQZXJpb2QsIGVtZXJnZW5jeUNvbnRhY3ROYW1lOiAkZW1lcmdlbmN5Q29udGFjdE5hbWUsIGVtZXJnZW5jeUNvbnRhY3RQaG9uZTogJGVtZXJnZW5jeUNvbnRhY3RQaG9uZSwgZW1lcmdlbmN5Q29udGFjdEVtYWlsOiAkZW1lcmdlbmN5Q29udGFjdEVtYWlsLCBzdXBwbGllclJlbGF0aW9uczogJHN1cHBsaWVyUmVsYXRpb25zLCBwaG9uZU51bWJlcnM6ICRwaG9uZU51bWJlcnMsIGFkZHJlc3NlczogJGFkZHJlc3NlcywgdXNlck1pRGVmYXVsdFZhbHVlczogJHVzZXJNaURlZmF1bHRWYWx1ZXMsIGRvY3VtZW50czogJGRvY3VtZW50cywgbG95YWx0eUNvZGVzOiAkbG95YWx0eUNvZGVzLCBwcmVmZXJlbmNlczogJHByZWZlcmVuY2VzKSB7XG4gICAgaWRcbiAgICB0aXRsZVxuICAgIGZvcmVuYW1lXG4gICAgc3VybmFtZVxuICAgIGVtYWlsXG4gICAgYWRkaXRpb25hbEVtYWlsXG4gICAgdXNlcm5hbWVcbiAgICBlbXBsb3llZUlkXG4gICAgY29uZmVybWFJZFxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGRvYlxuICAgIGFkbWluXG4gICAgdG1jQWRtaW5cbiAgICBjb21wYW55QWRtaW5cbiAgICBib29rZXJUeXBlXG4gICAgYXV0aE1ldGhvZHNcbiAgICBhY3RpdmVcbiAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaXNvQ29kZVxuICAgIH1cbiAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlzb0NvZGVcbiAgICB9XG4gICAgYXBwcm92ZXJzIHtcbiAgICAgIGFjdGl2ZVxuICAgICAgcHJpb3JpdHlcbiAgICB9XG4gICAgYXBwcm92ZXJGb3Ige1xuICAgICAgYWN0aXZlXG4gICAgICBwcmlvcml0eVxuICAgIH1cbiAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgIGNhbkNyZWF0ZUFkbWluQXRPd25MZXZlbFxuICAgIGxpdmVcbiAgICBzdXBwbGllclJlbGF0aW9uc1xuICAgIGxvZ0xldmVsXG4gICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGFyZWFDb2RlXG4gICAgICBudW1iZXJcbiAgICAgIGV4dGVuc2lvblxuICAgICAgdHlwZVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgdXNlclByaW1hcnlcbiAgICB9XG4gICAgYWRkcmVzc2VzIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICBzdHJlZXRcbiAgICAgIHRvd25cbiAgICAgIGNvdW50eVxuICAgICAgcG9zdGNvZGVcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICB1c2VyUHJpbWFyeVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgIH1cbiAgICB1c2VyTWlEZWZhdWx0VmFsdWVzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgfVxuICAgICAgbWFuYWdlbWVudEluZm8ge1xuICAgICAgICBpZFxuICAgICAgICBkYklkXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgaGFuZG9mZlxuICAgICAgICB2YWx1ZU1hc2tcbiAgICAgICAgc2VydmljZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICAgIGFtZW5kYWJsZVxuICAgICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICAgIH1cbiAgICAgICAgdWlQcmVzZW50YXRpb25cbiAgICAgICAgbWFuZGF0b3J5XG4gICAgICAgIHBlclBhc3NlbmdlclxuICAgICAgICBwZXJCb29raW5nXG4gICAgICAgIGFnZW50T25seVxuICAgICAgICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHRcbiAgICAgICAgdGFrZVZhbHVlRnJvbUJvb2tlckRlZmF1bHRcbiAgICAgICAgZW5mb3JjZVVzZXJEZWZhdWx0XG4gICAgICAgIGJvb2tlZEJ5RmllbGRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBmaXhlZFxuICAgICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICB9XG4gICAgICAgIHZhbHVlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgIH1cbiAgICAgICAgZ3JvdXBcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZXMge1xuICAgICAgICAgIHZhbHVlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICB9XG4gICAgICAgICAgZnJlZVZhbHVlXG4gICAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1hbmFnZW1lbnRJbmZvVmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgZnJlZVRleHRWYWx1ZVxuICAgIH1cbiAgICBkb2N1bWVudHMge1xuICAgICAgaWRcbiAgICAgIGRvY1R5cGVcbiAgICAgIG5hdGlvbmFsaXR5XG4gICAgICBnZW5kZXJcbiAgICAgIG51bWJlclxuICAgICAgY291bnRyeVxuICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICBwcmltYXJ5XG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgIH1cbiAgICBsb3lhbHR5Q29kZXMge1xuICAgICAgaWRcbiAgICAgIGNhcnJpZXJcbiAgICAgIGNvZGVcbiAgICAgIHR5cGVcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgfVxuICAgIHByZWZlcmVuY2VzIHtcbiAgICAgIGlkXG4gICAgICBzZXJ2aWNlVHlwZVxuICAgICAgcHJlZmVyZW5jZUtleVxuICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRWRpdFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RWRpdFVzZXJNdXRhdGlvbiwgRWRpdFVzZXJNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRWRpdFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRW1haWxCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBlbWFpbEJhc2tldCgkaWQ6IElEISkge1xuICBlbWFpbEJhc2tldChpZDogJGlkKSB7XG4gICAgaWRcbiAgICBvd25lciB7XG4gICAgICBpZFxuICAgICAgdGl0bGVcbiAgICAgIGZvcmVuYW1lXG4gICAgICBzdXJuYW1lXG4gICAgICBlbWFpbFxuICAgICAgdXNlcm5hbWVcbiAgICAgIGVtcGxveWVlSWRcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBkb2JcbiAgICAgIGFkbWluXG4gICAgICB0bWNBZG1pblxuICAgICAgY29tcGFueUFkbWluXG4gICAgICBib29rZXJUeXBlXG4gICAgICBhdXRoTWV0aG9kc1xuICAgICAgYWN0aXZlXG4gICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBpc29Db2RlXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgaXNvQ29kZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICB0bWMge1xuICAgICAgICBuYW1lXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIG9mZmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNvbXBhbnlHcm91cHMge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIGNvbXBhbnkge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRtYyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgICB0b3duXG4gICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgc3VwcG9ydFBob25lTnVtYmVyIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgc3VwcG9ydEVtYWlsXG4gICAgICAgICAgY28yQ29uc3VtcHRpb25Qb2xpY3lcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhZGRyZXNzZXMge1xuICAgICAgICBpZFxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgc3RyZWV0XG4gICAgICAgIHRvd25cbiAgICAgICAgY291bnR5XG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIGV4dGVuc2lvblxuICAgICAgICB0eXBlXG4gICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGFwcHJvdmVyRm9yIHtcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICBkb2N1bWVudHMge1xuICAgICAgICBpZFxuICAgICAgICBkb2NUeXBlXG4gICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgIGdlbmRlclxuICAgICAgICBudW1iZXJcbiAgICAgICAgY291bnRyeVxuICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgIHByaW1hcnlcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIHNlcnZpY2VUeXBlXG4gICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgY2FycmllclxuICAgICAgICBjb2RlXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgcmVmZXJlbmNlXG4gICAgdGl0bGVcbiAgICBub3Rlc1xuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGJhc2tldEl0ZW1zIHtcbiAgICAgIGlkXG4gICAgICBhZHVsdHNcbiAgICAgIGNoaWxkcmVuXG4gICAgICBpbmZhbnRzXG4gICAgICBkZXRhaWxcbiAgICAgIGRldGFpbEhhc2hcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBleHBpcnlcbiAgICAgIGV4cGlyZWRcbiAgICAgIHVzZXJzIHtcbiAgICAgICAgaWRcbiAgICAgICAgdGl0bGVcbiAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgc3VybmFtZVxuICAgICAgICBlbWFpbFxuICAgICAgICB1c2VybmFtZVxuICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZG9iXG4gICAgICAgIGFkbWluXG4gICAgICAgIHRtY0FkbWluXG4gICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICBib29rZXJUeXBlXG4gICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGlzb0NvZGVcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXZhaWxhYmxlTGFuZ3VhZ2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHRtYyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIG9mZmljZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNvbXBhbnlHcm91cHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY29tcGFueSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdG1jIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICAgIHRvd25cbiAgICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1cHBvcnRQaG9uZU51bWJlciB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBzdXBwb3J0RW1haWxcbiAgICAgICAgICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgdG93blxuICAgICAgICAgIGNvdW50eVxuICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBhcHByb3ZlckZvciB7XG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHVzZXJQYXNzZW5nZXJUeXBlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIHBhc3NlbmdlclR5cGVcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgbGVhZFBhc3NlbmdlciB7XG4gICAgICAgIGlkXG4gICAgICAgIHRpdGxlXG4gICAgICAgIGZvcmVuYW1lXG4gICAgICAgIHN1cm5hbWVcbiAgICAgICAgZW1haWxcbiAgICAgICAgdXNlcm5hbWVcbiAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIGRvYlxuICAgICAgICBhZG1pblxuICAgICAgICB0bWNBZG1pblxuICAgICAgICBjb21wYW55QWRtaW5cbiAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICBhY3RpdmVcbiAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgIGRvY3VtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2NUeXBlXG4gICAgICAgICAgbmF0aW9uYWxpdHlcbiAgICAgICAgICBnZW5kZXJcbiAgICAgICAgICBudW1iZXJcbiAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgICAgICBwcmltYXJ5XG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHByZWZlcmVuY2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHNlcnZpY2VUeXBlXG4gICAgICAgICAgcHJlZmVyZW5jZUtleVxuICAgICAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBsb3lhbHR5Q29kZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgY2FycmllclxuICAgICAgICAgIGNvZGVcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGVtZXJnZW5jeUNvbnRhY3ROYW1lXG4gICAgICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHNlYXJjaFF1ZXJ5XG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIG1pR3JvdXBzQXZhaWxhYmxlXG4gICAgICBtaUdyb3VwU2VsZWN0ZWRcbiAgICAgIG1hbmFnZW1lbnRJbmZvIHtcbiAgICAgICAgaWRcbiAgICAgICAgZGJJZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIGhhbmRvZmZcbiAgICAgICAgdmFsdWVNYXNrXG4gICAgICAgIHNlcnZpY2Uge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIHN1cHBsaWVyVXJsXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgdWlQcmVzZW50YXRpb25cbiAgICAgICAgbWFuZGF0b3J5XG4gICAgICAgIHBlclBhc3NlbmdlclxuICAgICAgICBwZXJCb29raW5nXG4gICAgICAgIGFnZW50T25seVxuICAgICAgICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHRcbiAgICAgICAgdGFrZVZhbHVlRnJvbUJvb2tlckRlZmF1bHRcbiAgICAgICAgZW5mb3JjZVVzZXJEZWZhdWx0XG4gICAgICAgIGJvb2tlZEJ5RmllbGRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBmaXhlZFxuICAgICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdFZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZ3JvdXBcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZXMge1xuICAgICAgICAgIHZhbHVlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgZnJlZVZhbHVlXG4gICAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgICAgdXNlciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICAgIGZvcmVuYW1lXG4gICAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgICBlbWFpbFxuICAgICAgICAgICAgdXNlcm5hbWVcbiAgICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBkb2JcbiAgICAgICAgICAgIGFkbWluXG4gICAgICAgICAgICB0bWNBZG1pblxuICAgICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgICBib29rZXJUeXBlXG4gICAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICAgICAgICBnZW5kZXJcbiAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICAgICAgICBwcmltYXJ5XG4gICAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgICAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgICAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICB2YWxpZGF0ZWRcbiAgICAgIGxhdGVzdFZhbGlkYXRpb25cbiAgICAgIGxhdGVzdFZhbGlkYXRpb25QcmljZVxuICAgICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZVxuICAgICAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZVxuICAgICAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2VcbiAgICAgIHBuckxvY2F0b3JcbiAgICAgIGJvb2tpbmdEZXRhaWxcbiAgICAgIHN0YXR1c1xuICAgICAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHMge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHNlbGVjdGVkUGF5bWVudE1ldGhvZCB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgcGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYVxuICAgICAgcGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hXG4gICAgICBwZXJJdGVtQWRkcmVzc1xuICAgICAgcGVySXRlbVBob25lTnVtYmVyXG4gICAgICBwZXJQYXNzZW5nZXJBZGRyZXNzXG4gICAgICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlclxuICAgICAgY2FuY2VsbGFibGVcbiAgICAgIGFtZW5kYWJsZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgICBvdXRib3VuZERhdGVcbiAgICAgIGluYm91bmREYXRlXG4gICAgICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudFxuICAgICAgY29udmVydGVkQ3VycmVuY3lDb2RlXG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIHN0YXR1c1xuICAgIGNvbXBhbnlHcm91cCB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGNvbXBhbnkge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIHRtYyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIG9mZmljZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgICB0b3duXG4gICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgIHN0cmVldFxuICAgICAgICAgIHRvd25cbiAgICAgICAgICBjb3VudHlcbiAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICBudW1iZXJcbiAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHVzZXJzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIHRtY0FkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGlzb0NvZGVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgYXZhaWxhYmxlTGFuZ3VhZ2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHRtYyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBvZmZpY2Uge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgICAgIHRvd25cbiAgICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgIHRvd25cbiAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhcHByb3ZlcnMge1xuICAgICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhcHByb3ZlckZvciB7XG4gICAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIGRvY3VtZW50cyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgICAgbmF0aW9uYWxpdHlcbiAgICAgICAgICAgIGdlbmRlclxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgICAgICAgIHByaW1hcnlcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHByZWZlcmVuY2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgICAgcHJlZmVyZW5jZUtleVxuICAgICAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBsb3lhbHR5Q29kZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3ROYW1lXG4gICAgICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHN1cHBvcnRQaG9uZU51bWJlciB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICBudW1iZXJcbiAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgc3VwcG9ydEVtYWlsXG4gICAgICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgdmFsaWRhdGVkXG4gICAgYm9va2VkQXRcbiAgICBfX3R5cGVuYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEVtYWlsQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEVtYWlsQmFza2V0UXVlcnksIEVtYWlsQmFza2V0UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEVtYWlsQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldEFsbEFpcmxpbmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0QWxsQWlybGluZXMge1xuICBnZXRBbGxBaXJsaW5lcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBhbGlhc1xuICAgIGNhbGxzaWduXG4gICAgYWN0aXZlXG4gICAgY29udGluZW50XG4gICAgY291bnRyeVxuICAgIGNvdW50cnlDb2RlXG4gICAgYmFubmVySW1hZ2VcbiAgICBsb2dvSW1hZ2VcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0QWxsQWlybGluZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0QWxsQWlybGluZXNRdWVyeSwgR2V0QWxsQWlybGluZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0QWxsQWlybGluZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q292aWRNaWNyb3NpdGVUb2tlbkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENPVklETWljcm9zaXRlVG9rZW4ge1xuICBnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeSwgR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENhbmNlbGxhdGlvbkluZm9Eb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDYW5jZWxsYXRpb25JbmZvKCRiYXNrZXRJdGVtOiBJRCEpIHtcbiAgZ2V0Q2FuY2VsbGF0aW9uSW5mbyhiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSkge1xuICAgIGNhbmNlbGxhYmxlXG4gICAgaW5mb1xuICAgIGNhbmNlbGxhdGlvbkZlZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDYW5jZWxsYXRpb25JbmZvR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENhbmNlbGxhdGlvbkluZm9RdWVyeSwgR2V0Q2FuY2VsbGF0aW9uSW5mb1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDYW5jZWxsYXRpb25JbmZvRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENhckhpcmVEZXBvdHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDYXJIaXJlRGVwb3RzKCRsYXRpdHVkZTogRmxvYXQhLCAkbG9uZ2l0dWRlOiBGbG9hdCEsICR2ZW5kb3JDb2RlOiBTdHJpbmcsICRyYWRpdXM6IFN0cmluZykge1xuICBnZXRDYXJIaXJlRGVwb3RzKGxhdGl0dWRlOiAkbGF0aXR1ZGUsIGxvbmdpdHVkZTogJGxvbmdpdHVkZSwgdmVuZG9yQ29kZTogJHZlbmRvckNvZGUsIHJhZGl1czogJHJhZGl1cykge1xuICAgIGNvdW50cnlDb2RlXG4gICAgbG9jYXRpb25Db2RlXG4gICAgZXh0ZW5kZWRMb2NhdGlvbkNvZGVcbiAgICB2ZW5kb3JDb2RlXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICB2ZW5kb3JcbiAgICBhZGRyZXNzTGluZXNcbiAgICBjaXR5TmFtZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDYXJIaXJlRGVwb3RzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENhckhpcmVEZXBvdHNRdWVyeSwgR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDYXJIaXJlRGVwb3RzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENhckhpcmVQcm92aWRlcnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDYXJIaXJlUHJvdmlkZXJzIHtcbiAgZ2V0Q2FySGlyZVByb3ZpZGVyc1xufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q2FySGlyZVByb3ZpZGVyc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnksIEdldENhckhpcmVQcm92aWRlcnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q2FySGlyZVByb3ZpZGVyc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb25mZXJtYU9mZmljZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENvbmZlcm1hT2ZmaWNlKCRvZmZpY2VJZDogSW50ISkge1xuICBnZXRDb25mZXJtYU9mZmljZShvZmZpY2VJZDogJG9mZmljZUlkKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgYWRkcmVzcyB7XG4gICAgICAgIGFkZHJlc3NOYW1lXG4gICAgICAgIGFkZHJlc3NMaW5lMVxuICAgICAgICBhZGRyZXNzTGluZTJcbiAgICAgICAgYWRkcmVzc0xpbmUzXG4gICAgICAgIHBvc3RhbENvZGVcbiAgICAgICAgY2l0eVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICB0ZWxlcGhvbmVOdW1iZXJcbiAgICAgICAgZmFjc2ltaWxlTnVtYmVyXG4gICAgICAgIGVtYWlsQWRkcmVzc1xuICAgICAgICBzdGF0ZVByb3ZpbmNlXG4gICAgICAgIG1vYmlsZU51bWJlclxuICAgICAgfVxuICAgICAgY2xvc2VzdEFpcnBvcnRcbiAgICAgIGNsb3Nlc3RUcmFpblN0YXRpb25cbiAgICAgIGxvbmdpdHVkZVxuICAgICAgbGF0aXR1ZGVcbiAgICAgIGNsb3Nlc3RIb3RlbHMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGhvdGVsTmFtZVxuICAgICAgICBpc1ByZWZlcnJlZFxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFPZmZpY2VHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFPZmZpY2VRdWVyeSwgR2V0Q29uZmVybWFPZmZpY2VRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFPZmZpY2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFPZmZpY2VOYW1lc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENvbmZlcm1hT2ZmaWNlTmFtZXMge1xuICBnZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFPZmZpY2VOYW1lc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnksIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb25mZXJtYVF1aWNrbGlzdERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENvbmZlcm1hUXVpY2tsaXN0KCRjb3VudHJ5Q29kZTogU3RyaW5nISkge1xuICBnZXRDb25mZXJtYVF1aWNrbGlzdChjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaW1hZ2VVcmxcbiAgICAgIGdyb3VwXG4gICAgICBsb2NhdGlvbiB7XG4gICAgICAgIGRpc3RhbmNlXG4gICAgICAgIGRpc3RhbmNlVHlwZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgIH1cbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0T3JaaXBDb2RlXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYWNzaW1pbGVcbiAgICAgIH1cbiAgICAgIHRyYW5zcG9ydHMge1xuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgY29kZVxuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBwcmVmZXJyZWQge1xuICAgICAgICBjbGllbnRcbiAgICAgICAgY29uc3VtZXJcbiAgICAgIH1cbiAgICAgIHRhZ3Mge1xuICAgICAgICBuYW1lXG4gICAgICAgIGRpc3BsYXlcbiAgICAgICAgdHlwZVxuICAgICAgICBpY29uXG4gICAgICB9XG4gICAgICBhdmFpbGFibGVSYXRlcyB7XG4gICAgICAgIGhvdGVsSWRcbiAgICAgICAgaW1hZ2VVcmxcbiAgICAgICAgcm9vbXMge1xuICAgICAgICAgIHJvb21JZFxuICAgICAgICAgIHJvb21UeXBlXG4gICAgICAgICAgcm9vbURlc2NyaXB0aW9uXG4gICAgICAgICAgcmF0ZUNvZGVcbiAgICAgICAgICByYXRlRGVzY3JpcHRpb25cbiAgICAgICAgICB0b3RhbFxuICAgICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICAgIGN1cnJlbmN5Q29udmVyc2lvbiB7XG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgICBsb2NhbENvZGVcbiAgICAgICAgICAgIGxvY2FsVG90YWxcbiAgICAgICAgICAgIGNvbnZlcnRlZENvZGVcbiAgICAgICAgICAgIGNvbnZlcnRlZFRvdGFsXG4gICAgICAgICAgfVxuICAgICAgICAgIGRlcG9zaXQge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBwb2xpY3lcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIG5pZ2h0cyB7XG4gICAgICAgICAgICBuaWdodFxuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgaW5mb1xuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgIH1cbiAgICAgICAgICBwb2xpY2llcyB7XG4gICAgICAgICAgICBjYW5jZWxsYXRpb25cbiAgICAgICAgICAgIGRlcG9zaXRcbiAgICAgICAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICAgICAgICBnZW5lcmFsXG4gICAgICAgICAgICBndWFyYW50ZWVcbiAgICAgICAgICAgIHJlZnVuZEF2YWlsYWJsZVxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXgge1xuICAgICAgICAgICAgaW5jbHVkZWRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgYWNjZXB0ZWRDYXJkcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXltZW50VHlwZXMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwcnBuXG4gICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICBpc0J1c3lcbiAgICAgICAgc291cmNlXG4gICAgICAgIHZlcnNpb25cbiAgICAgIH1cbiAgICAgIHZlcnNpb25cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDb25mZXJtYVF1aWNrbGlzdEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5LCBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb25mZXJtYVJvb21JbWFnZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYVJvb21JbWFnZXMoJGhvdGVsSWQ6IFN0cmluZyEpIHtcbiAgZ2V0Q29uZmVybWFSb29tSW1hZ2VzKGhvdGVsSWQ6ICRob3RlbElkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFSb29tSW1hZ2VzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hUm9vbUltYWdlc1F1ZXJ5LCBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFSb29tSW1hZ2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldEZsaWdodEZhcmVSdWxlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldEZsaWdodEZhcmVSdWxlcygkZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXkhKSB7XG4gIGdldEZsaWdodEZhcmVSdWxlcyhmbGlnaHQ6ICRmbGlnaHQpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgY2hhbmdlIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICBub1Nob3cge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIHVwZ3JhZGUge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIG90aGVyIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0RmxpZ2h0RmFyZVJ1bGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5LCBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0RmxpZ2h0RmFyZVJ1bGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldEZsaWdodFNlYXRNYXBEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRGbGlnaHRTZWF0TWFwKCRmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leSEpIHtcbiAgZ2V0RmxpZ2h0U2VhdE1hcChmbGlnaHQ6ICRmbGlnaHQpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGFpcmNyYWZ0IHtcbiAgICAgICAgY2FycmllclxuICAgICAgICBudW1iZXJcbiAgICAgICAgdHlwZVxuICAgICAgfVxuICAgICAgc2VhdHMge1xuICAgICAgICByb3dcbiAgICAgICAgY29sdW1uXG4gICAgICAgIGF0dHJpYnV0ZXMge1xuICAgICAgICAgIGNvZGVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICB9XG4gICAgICAgIHByaWNlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICB9XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICBzZXJ2aWNlIHtcbiAgICAgICAgaWRcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIHN1cHBsaWVyVXJsXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgIGFtZW5kYWJsZVxuICAgICAgICBkZXRhaWxTY2hlbWFcbiAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgIH1cbiAgICAgIGVycm9yTWVzc2FnZVxuICAgICAgZXJyb3JDb2RlXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRGbGlnaHRTZWF0TWFwR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldEZsaWdodFNlYXRNYXBRdWVyeSwgR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRGbGlnaHRTZWF0TWFwRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldEhvdGVsQ2hhaW5zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0SG90ZWxDaGFpbnMge1xuICBnZXRIb3RlbENoYWluc1xufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0SG90ZWxDaGFpbnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0SG90ZWxDaGFpbnNRdWVyeSwgR2V0SG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0SG90ZWxDaGFpbnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0SXJsRGlzY291bnRDYXJkc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldElSTERpc2NvdW50Q2FyZHMoJHN1cHBsaWVyOiBJUkxTdXBwbGllciEpIHtcbiAgZ2V0SVJMRGlzY291bnRDYXJkcyhzdXBwbGllcjogJHN1cHBsaWVyKSB7XG4gICAgaWRcbiAgICBuZXRDb2RlXG4gICAgcmVjb1xuICAgIHR5cGVcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0SXJsRGlzY291bnRDYXJkc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRJcmxEaXNjb3VudENhcmRzUXVlcnksIEdldElybERpc2NvdW50Q2FyZHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0SXJsRGlzY291bnRDYXJkc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRJcmxTdXBwbGllclN0YXRpb25Eb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRJUkxTdXBwbGllclN0YXRpb24oJGlkOiBJRCwgJHN1cHBsaWVyOiBJUkxTdXBwbGllciwgJGNvZGU6IFN0cmluZykge1xuICBnZXRJUkxTdXBwbGllclN0YXRpb24oaWQ6ICRpZCwgc3VwcGxpZXI6ICRzdXBwbGllciwgY29kZTogJGNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdXBwbGllclxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRJcmxTdXBwbGllclN0YXRpb25HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnksIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRJcmxTdXBwbGllclN0YXRpb25Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0UmFpbExpdmVEZXBhcnR1cmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbExpdmVEZXBhcnR1cmVzKCRzdGF0aW9uQ29kZTogU3RyaW5nISwgJGRlcGFydERhdGVUaW1lOiBTdHJpbmcpIHtcbiAgZ2V0UmFpbExpdmVEZXBhcnR1cmVzKHN0YXRpb25Db2RlOiAkc3RhdGlvbkNvZGUsIGRlcGFydERhdGVUaW1lOiAkZGVwYXJ0RGF0ZVRpbWUpIHtcbiAgICBzZXJ2aWNlcyB7XG4gICAgICByaWRcbiAgICAgIHVpZFxuICAgICAgdHJhaW5pZFxuICAgICAgc2RkXG4gICAgICBvcGVyYXRvclxuICAgICAgb3BlcmF0b3JDb2RlXG4gICAgICBzdGRcbiAgICAgIGV0ZFxuICAgICAgZGVwYXJ0dXJlVHlwZVxuICAgICAgZGVwYXJ0dXJlU291cmNlXG4gICAgICBwbGF0Zm9ybVxuICAgICAgcGxhdGZvcm1Jc0hpZGRlblxuICAgICAgb3JpZ2luIHtcbiAgICAgICAgbG9jYXRpb25OYW1lXG4gICAgICAgIHRpcGxvY1xuICAgICAgICBjcnNcbiAgICAgIH1cbiAgICAgIGRlc3RpbmF0aW9uIHtcbiAgICAgICAgbG9jYXRpb25OYW1lXG4gICAgICAgIHRpcGxvY1xuICAgICAgICBjcnNcbiAgICAgIH1cbiAgICAgIHN1YnNlcXVlbnRMb2NhdGlvbnMge1xuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgdGlwbG9jXG4gICAgICAgIGNyc1xuICAgICAgICBwbGF0Zm9ybVxuICAgICAgICBwbGF0Zm9ybUlzSGlkZGVuXG4gICAgICAgIHN0YVxuICAgICAgICBldGFcbiAgICAgICAgYXJyaXZhbFR5cGVcbiAgICAgICAgYXJyaXZhbFNvdXJjZVxuICAgICAgICBzdGRcbiAgICAgICAgZXRkXG4gICAgICAgIGRlcGFydHVyZVR5cGVcbiAgICAgICAgZGVwYXJ0dXJlU291cmNlXG4gICAgICAgIGFzc29jaWF0aW9ucyB7XG4gICAgICAgICAgY2F0ZWdvcnlcbiAgICAgICAgICByaWRcbiAgICAgICAgICB1aWRcbiAgICAgICAgICB0cmFpbmlkXG4gICAgICAgICAgc2RkXG4gICAgICAgICAgb3JpZ2luXG4gICAgICAgICAgb3JpZ2luQ1JTXG4gICAgICAgICAgb3JpZ2luVGlwbG9jXG4gICAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgICBkZXN0Q1JTXG4gICAgICAgICAgZGVzdFRpcGxvY1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSYWlsTGl2ZURlcGFydHVyZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnksIEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0UmFpbFN0YXRpb25Eb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsU3RhdGlvbigkaWQ6IElELCAkY29kZTogU3RyaW5nKSB7XG4gIGdldFJhaWxTdGF0aW9uKGlkOiAkaWQsIGNvZGU6ICRjb2RlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gICAgaGFzVG9kXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxTdGF0aW9uR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJhaWxTdGF0aW9uUXVlcnksIEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxTdGF0aW9uRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxjYXJkc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJhaWxjYXJkcyB7XG4gIGdldFJhaWxjYXJkcyB7XG4gICAgbmFtZVxuICAgIGNvZGVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbGNhcmRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJhaWxjYXJkc1F1ZXJ5LCBHZXRSYWlsY2FyZHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbGNhcmRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxQcm92aWRlcnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsUHJvdmlkZXJzIHtcbiAgZ2V0UmFpbFByb3ZpZGVyc1xufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbFByb3ZpZGVyc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsUHJvdmlkZXJzUXVlcnksIEdldFJhaWxQcm92aWRlcnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbFByb3ZpZGVyc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSaXNrQWxlcnRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Umlza0FsZXJ0cygkbWluTGV2ZWw6IFJpc2tMZXZlbCEsICRtYXhMZXZlbDogUmlza0xldmVsISwgJGNvdW50cnlJc29Db2RlOiBTdHJpbmcsICRhaXJwb3J0OiBJRCwgJHJhaWxTdGF0aW9uOiBJRCwgJGFpcnBvcnRJYXRhOiBTdHJpbmcpIHtcbiAgZ2V0Umlza0FsZXJ0cyhtaW5MZXZlbDogJG1pbkxldmVsLCBtYXhMZXZlbDogJG1heExldmVsLCBjb3VudHJ5SXNvQ29kZTogJGNvdW50cnlJc29Db2RlLCBhaXJwb3J0OiAkYWlycG9ydCwgcmFpbFN0YXRpb246ICRyYWlsU3RhdGlvbiwgYWlycG9ydElhdGE6ICRhaXJwb3J0SWF0YSkge1xuICAgIGlkXG4gICAgdGl0bGVcbiAgICBkZXNjcmlwdGlvblxuICAgIGJyZWFraW5nXG4gICAgcmlza1xuICAgIGNhdGVnb3J5XG4gICAgY291bnRyeVxuICAgIGxvY2F0aW9uXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBzdGFydERhdGVcbiAgICBlbmREYXRlXG4gICAgcmVjZWl2ZWREYXRlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJpc2tBbGVydHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Umlza0FsZXJ0c1F1ZXJ5LCBHZXRSaXNrQWxlcnRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJpc2tBbGVydHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckFkZHJlc3Nlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJBZGRyZXNzZXMge1xuICBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckFkZHJlc3Nlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQWRkcmVzc2VzUXVlcnksIEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckFkZHJlc3Nlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyQ29tcGFueU9mZmljZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICBnZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGFkZHJlc3NlcyB7XG4gICAgICBpZFxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIG51bWJlck9yTmFtZVxuICAgICAgc3RyZWV0XG4gICAgICB0b3duXG4gICAgICBjb3VudHlcbiAgICAgIHBvc3Rjb2RlXG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgdXNlclByaW1hcnlcbiAgICAgIG9mZmljZVByaW1hcnlcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJDb21wYW55T2ZmaWNlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeSwgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJDb21wYW55T2ZmaWNlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlKCR1c2VyOiBJRCkge1xuICBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSh1c2VyOiAkdXNlcikge1xuICAgIGlkXG4gICAgc3RhcnRPZlBlcmlvZFxuICAgIGVuZE9mUGVyaW9kXG4gICAgcmVtYWluaW5nQ28yXG4gICAgdG90YWxDbzJcbiAgICBjYXJib25Qb2xpY3lTb3VyY2VcbiAgICBjb21wYW55IHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICAgIG9mZmljZSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICB1c2VyIHtcbiAgICAgIGlkXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICB9XG4gICAgcGVyaW9kQ29uc3VtcHRpb24ge1xuICAgICAgaWRcbiAgICAgIGNvbnN1bWVkXG4gICAgICBkYXRldGltZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeSwgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzKCRzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUpIHtcbiAgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzKHNlcnZpY2VUeXBlOiAkc2VydmljZVR5cGUpIHtcbiAgICBpZFxuICAgIHNlcnZpY2VUeXBlXG4gICAgc2VhcmNoQXJnc1xuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnksIEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlcygkbWk6IElEISwgJHBhcnRpYWxMYWJlbDogU3RyaW5nISkge1xuICBnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlcyhtaTogJG1pLCBwYXJ0aWFsTGFiZWw6ICRwYXJ0aWFsTGFiZWwpIHtcbiAgICBpZFxuICAgIGxhYmVsXG4gICAgdmFsdWVcbiAgICBkZWZhdWx0XG4gICAgZml4ZWRcbiAgICBhZ2VudE9ubHlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeSwgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclBob25lRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclBob25lIHtcbiAgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJQaG9uZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUGhvbmVRdWVyeSwgR2V0VXNlclBob25lUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJQaG9uZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUmVjZW50U2VhcmNoZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyUmVjZW50U2VhcmNoZXMoJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSkge1xuICBnZXRVc2VyUmVjZW50U2VhcmNoZXMoc2VydmljZVR5cGU6ICRzZXJ2aWNlVHlwZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHNlcnZpY2VUeXBlXG4gICAgc2VhcmNoQXJnc1xuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIHRyYXZlbERhdGVcbiAgICB0cmF2ZWxsZXJzIHtcbiAgICAgIGlkXG4gICAgICB0aXRsZVxuICAgICAgZm9yZW5hbWVcbiAgICAgIHN1cm5hbWVcbiAgICAgIGVtYWlsXG4gICAgICB1c2VybmFtZVxuICAgICAgZG9iXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUmVjZW50U2VhcmNoZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnksIEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoSG90ZWxzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSG90ZWxzKCRzdGFydERhdGU6IERhdGUhLCAkZW5kRGF0ZTogRGF0ZSEsICRjaXR5TmFtZTogU3RyaW5nLCAkcG9zdE9yWmlwQ29kZTogU3RyaW5nLCAkY291bnRyeUNvZGU6IFN0cmluZywgJGxhdGl0dWRlOiBGbG9hdCwgJGxvbmdpdHVkZTogRmxvYXQsICR0cmFpblN0YXRpb25Db2RlOiBTdHJpbmcsICRpYXRhOiBTdHJpbmcsICRvZmZpY2VJZDogSW50LCAkcm9vbXM6IEludCEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkY3VycmVuY3k6IFN0cmluZyEsICRkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXMhLCAkZGlzdGFuY2U6IEludCEsICRtYXhSZXN1bHRzOiBJbnQsICRob3RlbE5hbWU6IFN0cmluZywgJGdyb3VwTmFtZTogU3RyaW5nKSB7XG4gIHNlYXJjaEhvdGVscyhzdGFydERhdGU6ICRzdGFydERhdGUsIGVuZERhdGU6ICRlbmREYXRlLCBjaXR5TmFtZTogJGNpdHlOYW1lLCBwb3N0T3JaaXBDb2RlOiAkcG9zdE9yWmlwQ29kZSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgbGF0aXR1ZGU6ICRsYXRpdHVkZSwgbG9uZ2l0dWRlOiAkbG9uZ2l0dWRlLCB0cmFpblN0YXRpb25Db2RlOiAkdHJhaW5TdGF0aW9uQ29kZSwgaWF0YTogJGlhdGEsIG9mZmljZUlkOiAkb2ZmaWNlSWQsIHJvb21zOiAkcm9vbXMsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgY3VycmVuY3k6ICRjdXJyZW5jeSwgZGlzdGFuY2VUeXBlOiAkZGlzdGFuY2VUeXBlLCBkaXN0YW5jZTogJGRpc3RhbmNlLCBtYXhSZXN1bHRzOiAkbWF4UmVzdWx0cywgaG90ZWxOYW1lOiAkaG90ZWxOYW1lLCBncm91cE5hbWU6ICRncm91cE5hbWUpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpbWFnZVVybFxuICAgICAgZ3JvdXBcbiAgICAgIGxvY2F0aW9uIHtcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgYWRkcmVzcyB7XG4gICAgICAgIGFkZHJlc3NMaW5lMVxuICAgICAgICBhZGRyZXNzTGluZTJcbiAgICAgICAgYWRkcmVzc0xpbmUzXG4gICAgICAgIHBvc3RPclppcENvZGVcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZhY3NpbWlsZVxuICAgICAgfVxuICAgICAgdHJhbnNwb3J0cyB7XG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBjb2RlXG4gICAgICAgIGRpc3RhbmNlXG4gICAgICAgIGRpc3RhbmNlVHlwZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHByZWZlcnJlZCB7XG4gICAgICAgIGNsaWVudFxuICAgICAgICBjb25zdW1lclxuICAgICAgfVxuICAgICAgdGFncyB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgZGlzcGxheVxuICAgICAgICB0eXBlXG4gICAgICAgIGljb25cbiAgICAgIH1cbiAgICAgIGF2YWlsYWJsZVJhdGVzIHtcbiAgICAgICAgLi4uUm9vbUF2YWxpYWJpbGl0eVxuICAgICAgfVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICB2ZXJzaW9uXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke1Jvb21BdmFsaWFiaWxpdHlGcmFnbWVudERvY31cbiR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hIb3RlbHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoSG90ZWxzUXVlcnksIFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hIb3RlbHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSgkaG90ZWw6IFtTdHJpbmchXSEsICRzdGFydERhdGU6IERhdGUhLCAkZW5kRGF0ZTogRGF0ZSEsICRjdXJyZW5jeTogU3RyaW5nISwgJG9jY3VwYW50czogSW50ISwgJHJvb21zOiBJbnQpIHtcbiAgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkoaG90ZWw6ICRob3RlbCwgc3RhcnREYXRlOiAkc3RhcnREYXRlLCBlbmREYXRlOiAkZW5kRGF0ZSwgY3VycmVuY3k6ICRjdXJyZW5jeSwgb2NjdXBhbnRzOiAkb2NjdXBhbnRzLCByb29tczogJHJvb21zKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICAuLi5Sb29tQXZhbGlhYmlsaXR5XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke1Jvb21BdmFsaWFiaWxpdHlGcmFnbWVudERvY31cbiR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5LCBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBJc1Bvc3Rjb2RlVmFsaWREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBpc1Bvc3Rjb2RlVmFsaWQoJHBvc3Rjb2RlOiBTdHJpbmchKSB7XG4gIGlzUG9zdGNvZGVWYWxpZChwb3N0Y29kZTogJHBvc3Rjb2RlKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgSXNQb3N0Y29kZVZhbGlkR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PElzUG9zdGNvZGVWYWxpZFF1ZXJ5LCBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gSXNQb3N0Y29kZVZhbGlkRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcnBvcnRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlycG9ydHMoJHF1ZXJ5OiBTdHJpbmchLCAkY291bnRyeUNvZGU6IFN0cmluZywgJGhhc0xvdW5nZTogQm9vbGVhbiwgJGhhc1Bhcmtpbmc6IEJvb2xlYW4sICRoYXNGYXN0VHJhY2s6IEJvb2xlYW4pIHtcbiAgc2VhcmNoQWlycG9ydHMocXVlcnk6ICRxdWVyeSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgaGFzTG91bmdlOiAkaGFzTG91bmdlLCBoYXNQYXJraW5nOiAkaGFzUGFya2luZywgaGFzRmFzdFRyYWNrOiAkaGFzRmFzdFRyYWNrKSB7XG4gICAgaWF0YU1hdGNoIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICB0ZXJtaW5hbHNcbiAgICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICAgIC4uLkxPQ0FUSU9OX0RFVEFJTFxuICAgICAgfVxuICAgIH1cbiAgICBnZW5lcmFsTWF0Y2hlcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaWF0YVxuICAgICAgaWNhb1xuICAgICAgdGVybWluYWxzXG4gICAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgICAuLi5MT0NBVElPTl9ERVRBSUxcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiAgICAke0xvY2F0aW9uX0RldGFpbEZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlycG9ydHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlycG9ydHNRdWVyeSwgU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlycG9ydHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoTG91bmdlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaExvdW5nZXMoJGxvY2F0aW9uQ29kZTogU3RyaW5nISwgJGFycml2YWxEYXRldGltZTogRGF0ZVRpbWUhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHRlcm1pbmFsOiBTdHJpbmcpIHtcbiAgc2VhcmNoTG91bmdlcyhsb2NhdGlvbkNvZGU6ICRsb2NhdGlvbkNvZGUsIGFycml2YWxEYXRldGltZTogJGFycml2YWxEYXRldGltZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBpbmZhbnRzOiAkaW5mYW50cywgdGVybWluYWw6ICR0ZXJtaW5hbCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgbmFtZVxuICAgICAgY29kZVxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICBsb3VuZ2Uge1xuICAgICAgICBjb2RlXG4gICAgICAgIG5hbWVcbiAgICAgICAgYWlycG9ydFxuICAgICAgICB0ZXJtaW5hbFxuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYXhcbiAgICAgICAgZGlyZWN0aW9uc1xuICAgICAgICBpbnRyb2R1Y3Rpb25cbiAgICAgICAgbG9nb1xuICAgICAgICBtb2JpbGVJbWFnZVxuICAgICAgICBmdXJ0aGVySW1hZ2VzXG4gICAgICAgIGFkdWx0QWdlXG4gICAgICAgIGNoaWxkQWdlXG4gICAgICAgIGluZmFudEFnZVxuICAgICAgICBsYW5kc2lkZVxuICAgICAgICBhaXJzaWRlXG4gICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgb3BlblRpbWVcbiAgICAgICAgY2xvc2VUaW1lXG4gICAgICAgIHdpZmlcbiAgICAgICAgdHZcbiAgICAgICAgc25hY2tzXG4gICAgICAgIHBob25lXG4gICAgICAgIGludGVybmV0XG4gICAgICAgIGNoaWxkcmVuQWxsb3dlZFxuICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICBkcmlua3NcbiAgICAgICAgZnJlZURyaW5rc1xuICAgICAgICBmcmVlRm9vZFxuICAgICAgICBzbW9raW5nUGVybWl0dGVkXG4gICAgICAgIG1hZ2F6aW5lc1xuICAgICAgICBpbmNsdWRlZERyaW5rc1xuICAgICAgICBtZW51Rm9vZFxuICAgICAgICBtZW51RHJpbmtzXG4gICAgICAgIG1lbnVFeHRyYXNcbiAgICAgICAgd2hhdHNJbmNsdWRlZERyaW5rc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRXh0cmFzXG4gICAgICAgIHdoYXRzSW5jbHVkZWRGb29kXG4gICAgICAgIGdyb3VwSW5mb1xuICAgICAgICBjaGVja0luSW5mb1xuICAgICAgICBkcmVzc0NvZGVcbiAgICAgICAgZmFjaWxpdGllc0luZm9cbiAgICAgICAgZm9vZEFuZEJldmVyYWdlXG4gICAgICAgIGNhbmNlbGxhdGlvbkluZm9cbiAgICAgICAgYW1lbmRtZW50c0luZm9cbiAgICAgICAgbWlzY1xuICAgICAgfVxuICAgICAgdG1jUHJlZmVycmVkXG4gICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICB1bmF2YWlsYWJsZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICByZXF1aXJlc1JlYXNvblxuICAgICAgcmVxdWlyZXNSZWFzb25NZXNzYWdlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hMb3VuZ2VzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaExvdW5nZXNRdWVyeSwgU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hMb3VuZ2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICRuZXdCYXNrZXQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSwgbmV3QmFza2V0OiAkbmV3QmFza2V0KSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248TW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvbiwgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoUGFya2luZ0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFBhcmtpbmcoJGFycml2YWxEYXRldGltZTogRGF0ZVRpbWUhLCAkZGVwYXJ0RGF0ZXRpbWU6IERhdGVUaW1lISwgJGxvY2F0aW9uQ29kZTogU3RyaW5nISwgJG91dEZsaWdodE51bWJlcjogU3RyaW5nLCAkcmVjb21tZW5kZWQ6IEJvb2xlYW4sICRvbkFpcnBvcnQ6IEJvb2xlYW4sICRtZWV0QW5kR3JlZXQ6IEJvb2xlYW4sICRwYXJrQW5kUmlkZTogQm9vbGVhbiwgJHBhcmtBbmRTdHJvbGw6IEJvb2xlYW4sICRjYXJQYXJrZWRGb3JZb3U6IEJvb2xlYW4sICR0ZXJtaW5hbDogU3RyaW5nKSB7XG4gIHNlYXJjaFBhcmtpbmcoYXJyaXZhbERhdGV0aW1lOiAkYXJyaXZhbERhdGV0aW1lLCBkZXBhcnREYXRldGltZTogJGRlcGFydERhdGV0aW1lLCBsb2NhdGlvbkNvZGU6ICRsb2NhdGlvbkNvZGUsIG91dEZsaWdodE51bWJlcjogJG91dEZsaWdodE51bWJlciwgcmVjb21tZW5kZWQ6ICRyZWNvbW1lbmRlZCwgb25BaXJwb3J0OiAkb25BaXJwb3J0LCBtZWV0QW5kR3JlZXQ6ICRtZWV0QW5kR3JlZXQsIHBhcmtBbmRSaWRlOiAkcGFya0FuZFJpZGUsIHBhcmtBbmRTdHJvbGw6ICRwYXJrQW5kU3Ryb2xsLCBjYXJQYXJrZWRGb3JZb3U6ICRjYXJQYXJrZWRGb3JZb3UsIHRlcm1pbmFsOiAkdGVybWluYWwpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIGNhclBhcmsge1xuICAgICAgICBjb2RlXG4gICAgICAgIG5hbWVcbiAgICAgICAgYWlycG9ydFxuICAgICAgICB0ZXJtaW5hbFxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBkaXN0YW5jZVRvQWlycG9ydFxuICAgICAgICBvbkFpcnBvcnRcbiAgICAgICAgY2FyUGFya2VkRm9yWW91XG4gICAgICAgIG1lZXRBbmRHcmVldFxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmF4XG4gICAgICAgIGRpcmVjdGlvbnNcbiAgICAgICAgYXJyaXZhbFByb2NlZHVyZVxuICAgICAgICBkZXBhcnR1cmVQcm9jZWR1cmVcbiAgICAgICAgbWF4aW11bUNhclNpemVcbiAgICAgICAgaW50cm9kdWN0aW9uXG4gICAgICAgIGluZm9ybWF0aW9uXG4gICAgICAgIHRyYW5zZmVySW5mb3JtYXRpb25cbiAgICAgICAgdHJhbnNmZXJPcGVyYXRpbmdUaW1lc1xuICAgICAgICB0cmFuc2ZlclRpbWVcbiAgICAgICAgbG9nb1xuICAgICAgICBkZWZhdWx0SW1hZ2VcbiAgICAgICAgYnJhbmRJbWFnZVxuICAgICAgICBtb2JpbGVJbWFnZVxuICAgICAgICBmdXJ0aGVySW1hZ2VzXG4gICAgICAgIG1pc2NcbiAgICAgIH1cbiAgICAgIHJlcXVpcmVkSW5mb1xuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICBtaXNjXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFBhcmtpbmdHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoUGFya2luZ1F1ZXJ5LCBTZWFyY2hQYXJraW5nUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFBhcmtpbmdEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoUmFpbERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFJhaWwoJGNvdW50cnlDb2RlOiBTdHJpbmcsICRqb3VybmV5VHlwZTogUmFpbFNlYXJjaEpvdXJuZXlUeXBlISwgJGNsYXNzOiBSYWlsQ2xhc3MsICRkZXBhcnR1cmVMb2NhdGlvbklkOiBJRCEsICRhcnJpdmFsTG9jYXRpb25JZDogSUQhLCAkdmlhTG9jYXRpb25JZDogSUQsICRvdXRib3VuZEFycml2YWxEYXRlVGltZTogU3RyaW5nLCAkb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogU3RyaW5nLCAkcmV0dXJuQXJyaXZhbERhdGVUaW1lOiBTdHJpbmcsICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZTogU3RyaW5nLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGV4dHJhVGltZVRvQ2hhbmdlOiBCb29sZWFuLCAkcGx1c0J1c091dDogUmFpbFBsdXNCdXNBdmFpbCwgJHBsdXNCdXNSZXR1cm46IFJhaWxQbHVzQnVzQXZhaWwsICR0cmF2ZWxDYXJkczogW0RhdGUhXSwgJHJhaWxDYXJkUXVhbGlmaWVyczogW1N0cmluZyFdKSB7XG4gIHNlYXJjaFJhaWwoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgam91cm5leVR5cGU6ICRqb3VybmV5VHlwZSwgY2xhc3M6ICRjbGFzcywgZGVwYXJ0dXJlTG9jYXRpb25JZDogJGRlcGFydHVyZUxvY2F0aW9uSWQsIGFycml2YWxMb2NhdGlvbklkOiAkYXJyaXZhbExvY2F0aW9uSWQsIHZpYUxvY2F0aW9uSWQ6ICR2aWFMb2NhdGlvbklkLCBvdXRib3VuZEFycml2YWxEYXRlVGltZTogJG91dGJvdW5kQXJyaXZhbERhdGVUaW1lLCBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiAkb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZSwgcmV0dXJuQXJyaXZhbERhdGVUaW1lOiAkcmV0dXJuQXJyaXZhbERhdGVUaW1lLCByZXR1cm5EZXBhcnR1cmVEYXRlVGltZTogJHJldHVybkRlcGFydHVyZURhdGVUaW1lLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGV4dHJhVGltZVRvQ2hhbmdlOiAkZXh0cmFUaW1lVG9DaGFuZ2UsIHBsdXNCdXNPdXQ6ICRwbHVzQnVzT3V0LCBwbHVzQnVzUmV0dXJuOiAkcGx1c0J1c1JldHVybiwgdHJhdmVsQ2FyZHM6ICR0cmF2ZWxDYXJkcywgcmFpbENhcmRRdWFsaWZpZXJzOiAkcmFpbENhcmRRdWFsaWZpZXJzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VJZFxuICAgICAgc3VtbWFyeVxuICAgICAgdHJhdmVsQ2FyZHNBZGRvbkZsYWdcbiAgICAgIG91dGJvdW5kIHtcbiAgICAgICAgLi4uUmFpbEpvdXJuZXlPcHRpb25cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLlJhaWxKb3VybmV5T3B0aW9uXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICB9XG4gIH1cbn1cbiAgICAke1JhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hSYWlsR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFJhaWxRdWVyeSwgU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hSYWlsRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNhdmVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlRmF2b3VyaXRlU2VhcmNoKCRuYW1lOiBTdHJpbmchLCAkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlISwgJHNlYXJjaEFyZ3M6IEpTT04hKSB7XG4gIHNhdmVGYXZvdXJpdGVTZWFyY2gobmFtZTogJG5hbWUsIHNlcnZpY2VUeXBlOiAkc2VydmljZVR5cGUsIHNlYXJjaEFyZ3M6ICRzZWFyY2hBcmdzKSB7XG4gICAgaWRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZUZhdm91cml0ZVNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24sIFNhdmVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlUmVjZW50U2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2F2ZVJlY2VudFNlYXJjaCgkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlISwgJHNlYXJjaEFyZ3M6IEpTT04hLCAkdHJhdmVsRGF0ZTogRGF0ZVRpbWUhLCAkdHJhdmVsbGVyczogW0lEXSkge1xuICBzYXZlUmVjZW50U2VhcmNoKHNlcnZpY2VUeXBlOiAkc2VydmljZVR5cGUsIHNlYXJjaEFyZ3M6ICRzZWFyY2hBcmdzLCB0cmF2ZWxEYXRlOiAkdHJhdmVsRGF0ZSwgdHJhdmVsbGVyczogJHRyYXZlbGxlcnMpIHtcbiAgICBpZFxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTYXZlUmVjZW50U2VhcmNoR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvbiwgU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTYXZlUmVjZW50U2VhcmNoRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNhdmVVc2VyQWRkcmVzc0RvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVVc2VyQWRkcmVzcygkZGVzY3JpcHRpb246IFN0cmluZyEsICRudW1iZXJPck5hbWU6IFN0cmluZywgJHN0cmVldDogU3RyaW5nLCAkdG93bjogU3RyaW5nLCAkY291bnR5OiBTdHJpbmcsICRwb3N0Y29kZTogU3RyaW5nLCAkY291bnRyeUNvZGU6IFN0cmluZywgJHVzZXJQcmltYXJ5OiBCb29sZWFuKSB7XG4gIHNhdmVVc2VyQWRkcmVzcyhkZXNjcmlwdGlvbjogJGRlc2NyaXB0aW9uLCBudW1iZXJPck5hbWU6ICRudW1iZXJPck5hbWUsIHN0cmVldDogJHN0cmVldCwgdG93bjogJHRvd24sIGNvdW50eTogJGNvdW50eSwgcG9zdGNvZGU6ICRwb3N0Y29kZSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgdXNlclByaW1hcnk6ICR1c2VyUHJpbWFyeSkge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTYXZlVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2F2ZVVzZXJBZGRyZXNzTXV0YXRpb24sIFNhdmVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTYXZlVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQWlybGluZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hBaXJsaW5lcygkcXVlcnk6IFN0cmluZyEpIHtcbiAgc2VhcmNoQWlybGluZXMocXVlcnk6ICRxdWVyeSkge1xuICAgIGlhdGFNYXRjaCB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaWF0YVxuICAgICAgaWNhb1xuICAgICAgYWxpYXNcbiAgICAgIGNhbGxzaWduXG4gICAgICBhY3RpdmVcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGJhbm5lckltYWdlXG4gICAgICBsb2dvSW1hZ2VcbiAgICB9XG4gICAgZ2VuZXJhbE1hdGNoZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIGFsaWFzXG4gICAgICBjYWxsc2lnblxuICAgICAgYWN0aXZlXG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBiYW5uZXJJbWFnZVxuICAgICAgbG9nb0ltYWdlXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hBaXJsaW5lc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hBaXJsaW5lc1F1ZXJ5LCBTZWFyY2hBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hBaXJsaW5lc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDaXRpZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hDaXRpZXMoJHF1ZXJ5OiBTdHJpbmchLCAkY291bnRyeUNvZGU6IFN0cmluZykge1xuICBzZWFyY2hDaXRpZXMocXVlcnk6ICRxdWVyeSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGNvdW50cnlcbiAgICBjb3VudHJ5Q29kZVxuICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICAgIGFsdGl0dWRlXG4gICAgfVxuICAgIGNvbnRpbmVudE5hbWVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQ2l0aWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENpdGllc1F1ZXJ5LCBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQ2l0aWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaENvbmZlcm1hQ2l0aWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ29uZmVybWFDaXRpZXMoJGNpdHlOYW1lOiBTdHJpbmchLCAkY291bnRyeUNvZGU6IFN0cmluZyEpIHtcbiAgc2VhcmNoQ29uZmVybWFDaXRpZXMoY2l0eU5hbWU6ICRjaXR5TmFtZSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIGZvdW5kRXhhY3RcbiAgICBzdWdnZXN0aW9ucyB7XG4gICAgICBuYW1lXG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgbGF0aXR1ZGVcbiAgICAgIGxvbmdpdHVkZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQ29uZmVybWFDaXRpZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeSwgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQ29uZmVybWFDaXRpZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoRXVyb3N0YXJEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hFdXJvc3RhcigkcGFzc2VuZ2VyczogW0ZsaWdodFBhc3Nlbmdlck9iamVjdCFdISwgJG9yaWdpbkFpcnBvcnQ6IFN0cmluZywgJGRlc3RpbmF0aW9uQWlycG9ydDogU3RyaW5nLCAkbXVsdGlEZXN0aW5hdGlvbjogW0Rlc3RpbmF0aW9uRW50cnldLCAkb3V0Ym91bmREYXRlOiBEYXRlLCAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZENhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJHJldHVyblRyaXA6IEJvb2xlYW4hLCAkcmV0dXJuRGF0ZTogRGF0ZSwgJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5DYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRmYXJlVHlwZTogRmFyZVR5cGUhLCAkcmVxdWlyZUZyZWVCYWc6IEJvb2xlYW4sICRtYXhDb25uZWN0aW9uczogSW50LCAkcHJlZmVycmVkQ2FycmllcnM6IFtTdHJpbmddLCAkaW5jbHVkZU5lYXJieUFpcnBvcnRzOiBCb29sZWFuLCAkYXNTaW5nbGVzOiBCb29sZWFuKSB7XG4gIHNlYXJjaEV1cm9zdGFyKHBhc3NlbmdlcnM6ICRwYXNzZW5nZXJzLCBvcmlnaW5BaXJwb3J0OiAkb3JpZ2luQWlycG9ydCwgZGVzdGluYXRpb25BaXJwb3J0OiAkZGVzdGluYXRpb25BaXJwb3J0LCBtdWx0aURlc3RpbmF0aW9uOiAkbXVsdGlEZXN0aW5hdGlvbiwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c6ICRvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3csIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c6ICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93LCBvdXRib3VuZENhYmluQ2xhc3M6ICRvdXRib3VuZENhYmluQ2xhc3MsIHJldHVyblRyaXA6ICRyZXR1cm5UcmlwLCByZXR1cm5EYXRlOiAkcmV0dXJuRGF0ZSwgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdzogJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3csIHJldHVybkFycml2YWxUaW1lV2luZG93OiAkcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3csIHJldHVybkNhYmluQ2xhc3M6ICRyZXR1cm5DYWJpbkNsYXNzLCBmYXJlVHlwZTogJGZhcmVUeXBlLCByZXF1aXJlRnJlZUJhZzogJHJlcXVpcmVGcmVlQmFnLCBtYXhDb25uZWN0aW9uczogJG1heENvbm5lY3Rpb25zLCBwcmVmZXJyZWRDYXJyaWVyczogJHByZWZlcnJlZENhcnJpZXJzLCBpbmNsdWRlTmVhcmJ5QWlycG9ydHM6ICRpbmNsdWRlTmVhcmJ5QWlycG9ydHMsIGFzU2luZ2xlczogJGFzU2luZ2xlcykge1xuICAgIHJlc3VsdHMge1xuICAgICAgam91cm5leXMge1xuICAgICAgICBiYXNlRmFyZUlkXG4gICAgICAgIHVpZFxuICAgICAgICBkaXNjbG9zdXJlc1xuICAgICAgICBwYXNzZW5nZXJDb3VudFxuICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICB9XG4gICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIGluYm91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIHRvdGFsIHtcbiAgICAgICAgICBwcmljZVxuICAgICAgICAgIHRheFxuICAgICAgICAgIGRpc2NvdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHF0eVxuICAgICAgICAgIG1heEtHXG4gICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgd2VpZ2h0UHJvdmlkZWRcbiAgICAgICAgfVxuICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgIHNvdXJjZVxuICAgICAgICBzb3VyY2VJZFxuICAgICAgICB2ZXJzaW9uXG4gICAgICAgIGpvdXJuZXlIYXNoXG4gICAgICAgIGNvMlBlckl0ZW1cbiAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICB9XG4gICAgICBtdWx0aSB7XG4gICAgICAgIG9yZGVyXG4gICAgICAgIG9yaWdpblxuICAgICAgICBkZXN0aW5hdGlvblxuICAgICAgICByZXN1bHRzIHtcbiAgICAgICAgICB1aWRcbiAgICAgICAgICBwYXNzZW5nZXJDb3VudFxuICAgICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgICAgfVxuICAgICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIGluYm91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4ZXMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIHRvdGFsIHtcbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICB0YXhcbiAgICAgICAgICAgIGRpc2NvdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIHF0eVxuICAgICAgICAgICAgbWF4S0dcbiAgICAgICAgICAgIG1heExCU1xuICAgICAgICAgICAgd2VpZ2h0UHJvdmlkZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICAgIHNvdXJjZVxuICAgICAgICAgIHNvdXJjZUlkXG4gICAgICAgICAgdmVyc2lvblxuICAgICAgICAgIGNvMlBlckl0ZW1cbiAgICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgfVxuICAgICAgICBtaW5QcmljZVxuICAgICAgICBtYXhQcmljZVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRXVyb3N0YXJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoRXVyb3N0YXJRdWVyeSwgU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRXVyb3N0YXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoRmFzdFRyYWNrRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRmFzdFRyYWNrKCRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGxvY2F0aW9uQ29kZTogU3RyaW5nISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQpIHtcbiAgc2VhcmNoRmFzdFRyYWNrKGFycml2YWxEYXRldGltZTogJGFycml2YWxEYXRldGltZSwgbG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4pIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIG5hbWVcbiAgICAgIGNvZGVcbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgcmVmdW5kYWJsZVxuICAgICAgdGVybWluYWxcbiAgICAgIGltYWdlc1xuICAgICAgbG9nb1xuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGltcG9ydGFudEluZm9cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgcmVxdWlyZXNSZWFzb25cbiAgICAgIHJlcXVpcmVzUmVhc29uTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICBzZXJ2aWNlIHtcbiAgICAgICAgaWRcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIHN1cHBsaWVyVXJsXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgIGFtZW5kYWJsZVxuICAgICAgICBkZXRhaWxTY2hlbWFcbiAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgIH1cbiAgICAgIGVycm9yTWVzc2FnZVxuICAgICAgZXJyb3JDb2RlXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hGYXN0VHJhY2tHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoRmFzdFRyYWNrUXVlcnksIFNlYXJjaEZhc3RUcmFja1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hGYXN0VHJhY2tEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRmxpZ2h0c1YyKCRwYXNzZW5nZXJzOiBbRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0IV0hLCAkb3JpZ2luQWlycG9ydDogU3RyaW5nLCAkZGVzdGluYXRpb25BaXJwb3J0OiBTdHJpbmcsICRtdWx0aURlc3RpbmF0aW9uOiBbRGVzdGluYXRpb25FbnRyeV0sICRvdXRib3VuZERhdGU6IERhdGUsICRvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c6IFN0cmluZywgJG91dGJvdW5kQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkcmV0dXJuVHJpcDogQm9vbGVhbiEsICRyZXR1cm5EYXRlOiBEYXRlLCAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkNhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJGZhcmVUeXBlOiBGYXJlVHlwZSEsICRyZXF1aXJlRnJlZUJhZzogQm9vbGVhbiwgJG1heENvbm5lY3Rpb25zOiBJbnQsICRwcmVmZXJyZWRDYXJyaWVyczogW1N0cmluZ10sICRpbmNsdWRlTmVhcmJ5QWlycG9ydHM6IEJvb2xlYW4sICRhc1NpbmdsZXM6IEJvb2xlYW4sICR3aXRoR3JvdXBlZDogQm9vbGVhbiEsICRncm91cE1heDogSW50KSB7XG4gIHNlYXJjaEZsaWdodHNWMihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMsIGdyb3VwTWF4OiAkZ3JvdXBNYXgpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgYmFzZUZhcmVJZFxuICAgICAgICB1aWRcbiAgICAgICAgZGlzY2xvc3VyZXNcbiAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgfVxuICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgdGF4ZXMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgcHJpY2VcbiAgICAgICAgICB0YXhcbiAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBxdHlcbiAgICAgICAgICBtYXhLR1xuICAgICAgICAgIG1heExCU1xuICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICBqb3VybmV5SGFzaFxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICBqb3VybmV5SGFzaFxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgICAgfVxuICAgICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIHRheGVzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgdGF4XG4gICAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBxdHlcbiAgICAgICAgICAgIG1heEtHXG4gICAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICAgICAgam91cm5leUhhc2hcbiAgICAgICAgfVxuICAgICAgICBtaW5QcmljZVxuICAgICAgICBtYXhQcmljZVxuICAgICAgfVxuICAgICAgZ3JvdXBlZCB7XG4gICAgICAgIC4uLkdyb3VwZWRGaWVsZHMgQGluY2x1ZGUoaWY6ICR3aXRoR3JvdXBlZClcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgICBydWxlQWN0aW9uU3VtbWFyeVxuICB9XG59XG4gICAgJHtGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnREb2N9XG4ke0dyb3VwZWRGaWVsZHNGcmFnbWVudERvY31cbiR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hGbGlnaHRzVjJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoRmxpZ2h0c1YyUXVlcnksIFNlYXJjaEZsaWdodHNWMlF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hGbGlnaHRzVjJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoSG90ZWxDaGFpbnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hIb3RlbENoYWlucygkcXVlcnk6IFN0cmluZyEpIHtcbiAgc2VhcmNoSG90ZWxDaGFpbnMocXVlcnk6ICRxdWVyeSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEhvdGVsQ2hhaW5zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnksIFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEhvdGVsQ2hhaW5zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaElybERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaElSTCgkc3VwcGxpZXI6IElSTFN1cHBsaWVyISwgJGNvdW50cnlDb2RlOiBTdHJpbmchLCAkam91cm5leVR5cGU6IElSTEpvdXJuZXlUeXBlISwgJGNsYXNzOiBJUkxDbGFzcywgJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IERhdGVUaW1lISwgJGRlcGFydHVyZUxvY2F0aW9uSWQ6IElEISwgJGFycml2YWxMb2NhdGlvbklkOiBJRCEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6IERhdGVUaW1lLCAkaXJsRGlzY291bnRDYXJkczogU3RyaW5nKSB7XG4gIHNlYXJjaElSTChzdXBwbGllcjogJHN1cHBsaWVyLCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBqb3VybmV5VHlwZTogJGpvdXJuZXlUeXBlLCBjbGFzczogJGNsYXNzLCBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiAkb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZSwgZGVwYXJ0dXJlTG9jYXRpb25JZDogJGRlcGFydHVyZUxvY2F0aW9uSWQsIGFycml2YWxMb2NhdGlvbklkOiAkYXJyaXZhbExvY2F0aW9uSWQsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6ICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZSwgaXJsRGlzY291bnRDYXJkczogJGlybERpc2NvdW50Q2FyZHMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIG91dGJvdW5kIHtcbiAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICB9XG4gICAgICAgIHRyYXZlbGxlcnMge1xuICAgICAgICAgIHN0YXR1c1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9iXG4gICAgICAgICAgcmFpbGNhcmRcbiAgICAgICAgICBnaXZlbk5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgbmFtZVRpdGxlXG4gICAgICAgICAgY29udGFjdEluZm9cbiAgICAgICAgICBkZWxpdmVyeUVtYWlsQWRkcmVzc1xuICAgICAgICAgIGZhcmVcbiAgICAgICAgfVxuICAgICAgICBmcm9tXG4gICAgICAgIGZyb21Db2RlXG4gICAgICAgIHRvXG4gICAgICAgIHRvQ29kZVxuICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICBjaGFuZ2VzXG4gICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICB9XG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgbm90ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwcm92aWRlcnMge1xuICAgICAgICAgIHByb3ZpZGVySWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY2hlYXBlc3RUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRpY2tldE9wdGlvbnMge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJvb2tlZFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdW5zZWxsYWJsZVxuICAgICAgICB0aWNrZXRFeHRyYXMge1xuICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBkYXRlXG4gICAgICAgICAgICBqb3VybmV5SWRcbiAgICAgICAgICAgIGlzT3JpZ2luXG4gICAgICAgICAgfVxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgIGRhdGVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGFkdWx0QW1vdW50XG4gICAgICAgICAgY2hpbGRBbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIHBsdXNCdXMge1xuICAgICAgICAgIG9yaWdpblBsdXNCdXNOTENcbiAgICAgICAgICBvcmlnaW5TdGF0aW9uTkxDXG4gICAgICAgICAgZGVzdGluYXRpb25QbHVzQnVzTkxDXG4gICAgICAgICAgZGVzdGluYXRpb25TdGF0aW9uTkxDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgZnJvbVxuICAgICAgICBmcm9tQ29kZVxuICAgICAgICB0b1xuICAgICAgICB0b0NvZGVcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvdmlkZXJzIHtcbiAgICAgICAgICBwcm92aWRlcklkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNoZWFwZXN0VGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuc2VsbGFibGVcbiAgICAgICAgdGlja2V0RXh0cmFzIHtcbiAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgICAgam91cm5leUlkXG4gICAgICAgICAgICBpc09yaWdpblxuICAgICAgICAgIH1cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICBkYXRlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBhZHVsdEFtb3VudFxuICAgICAgICAgIGNoaWxkQW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBwbHVzQnVzIHtcbiAgICAgICAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgICAgICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBqcmZyZWZlcmVuY2VcbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hJcmxHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoSXJsUXVlcnksIFNlYXJjaElybFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hJcmxEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnMoJHF1ZXJ5OiBTdHJpbmchLCAkc3VwcGxpZXI6IElSTFN1cHBsaWVyKSB7XG4gIHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnMocXVlcnk6ICRxdWVyeSwgc3VwcGxpZXI6ICRzdXBwbGllcikge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN1cHBsaWVyXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5LCBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoUG9zdGNvZGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUG9zdGNvZGVzKCRwb3N0Y29kZTogU3RyaW5nISkge1xuICBnZXRQb3N0Y29kZURldGFpbHMocG9zdGNvZGU6ICRwb3N0Y29kZSkge1xuICAgIHBvc3Rjb2RlXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUG9zdGNvZGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5LCBTZWFyY2hQb3N0Y29kZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUG9zdGNvZGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFJhaWxTdGF0aW9uc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFJhaWxTdGF0aW9ucygkcXVlcnk6IFN0cmluZyEsICRjb3VudHJ5Q29kZTogU3RyaW5nLCAkaGFzVG9kOiBCb29sZWFuKSB7XG4gIHNlYXJjaFJhaWxTdGF0aW9ucyhxdWVyeTogJHF1ZXJ5LCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBoYXNUb2Q6ICRoYXNUb2QpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgICBoYXNUb2RcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbFN0YXRpb25zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5LCBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoVXNlckFkZHJlc3Mge1xuICBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckFkZHJlc3NRdWVyeSwgU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VuZE9mZmxpbmVOb3RpZmljYXRpb25Eb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZW5kT2ZmbGluZU5vdGlmaWNhdGlvbigkdHJhaW5OdW1iZXI6IFN0cmluZyEsICRkZXBhcnR1cmVTdGF0aW9uOiBTdHJpbmchLCAkZGVzdGluYXRpb25TdGF0aW9uOiBTdHJpbmchLCAkb3V0Ym91bmREYXRlOiBTdHJpbmchLCAkaW5ib3VuZERhdGU6IFN0cmluZyEsICRhZGRpdGlvbmFsSW5mbzogU3RyaW5nISwgJG9mZmxpbmVSZWZlcmVuY2U6IFN0cmluZyEsICRub3RpZnlFbWFpbDogU3RyaW5nISwgJG9uQmVoYWxmT2Y6IFN0cmluZyEsICRzZXJ2aWNlQ2xhc3M6IFN0cmluZyEsICRwYXNzZW5nZXJzOiBbSVJMT2ZmbGluZVBhc3NlbmdlciFdISkge1xuICBzZW5kT2ZmbGluZU5vdGlmaWNhdGlvbih0cmFpbk51bWJlcjogJHRyYWluTnVtYmVyLCBkZXBhcnR1cmVTdGF0aW9uOiAkZGVwYXJ0dXJlU3RhdGlvbiwgZGVzdGluYXRpb25TdGF0aW9uOiAkZGVzdGluYXRpb25TdGF0aW9uLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIGluYm91bmREYXRlOiAkaW5ib3VuZERhdGUsIGFkZGl0aW9uYWxJbmZvOiAkYWRkaXRpb25hbEluZm8sIG9mZmxpbmVSZWZlcmVuY2U6ICRvZmZsaW5lUmVmZXJlbmNlLCBub3RpZnlFbWFpbDogJG5vdGlmeUVtYWlsLCBvbkJlaGFsZk9mOiAkb25CZWhhbGZPZiwgc2VydmljZUNsYXNzOiAkc2VydmljZUNsYXNzLCBwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycykge1xuICAgIHN1Y2Nlc3NcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VuZE9mZmxpbmVOb3RpZmljYXRpb25HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeSwgU2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VuZE9mZmxpbmVOb3RpZmljYXRpb25Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pR3JvdXBEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlHcm91cCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJGdyb3VwOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXAoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIGdyb3VwOiAkZ3JvdXApIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlHcm91cEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlHcm91cERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHVzZXI6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4hKSB7XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHVzZXI6ICR1c2VyKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbiwgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlWYWx1ZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJG1pOiBJRCEsICRtaVZhbHVlOiBJRCwgJG1pRnJlZVZhbHVlOiBTdHJpbmcsICR1c2VyOiBJRCwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBzZXRCYXNrZXRJdGVtTUlWYWx1ZShjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBtaTogJG1pLCBtaVZhbHVlOiAkbWlWYWx1ZSwgbWlGcmVlVmFsdWU6ICRtaUZyZWVWYWx1ZSwgdXNlcjogJHVzZXIpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkcGF5bWVudE1ldGhvZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBwYXltZW50TWV0aG9kOiAkcGF5bWVudE1ldGhvZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb24sIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0Tm90ZXMoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5vdGVzOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldE5vdGVzKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbm90ZXM6ICRub3Rlcykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldE5vdGVzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb24sIFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0VGl0bGUoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5ld1RpdGxlOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldFRpdGxlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbmV3VGl0bGU6ICRuZXdUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldFRpdGxlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb24sIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJTZXJ2aWNlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJTZXJ2aWNlcyB7XG4gIGdldFVzZXJTZXJ2aWNlcyB7XG4gICAgaWRcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIHR5cGVcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBkZXRhaWxTY2hlbWFcbiAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyU2VydmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclNlcnZpY2VzUXVlcnksIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyU2VydmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclVpQ29uZmlnc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJVSUNvbmZpZ3Mge1xuICBnZXRVc2VyVUlDb25maWdzIHtcbiAgICBhbGwge1xuICAgICAgaWRcbiAgICAgIGNvbmZpZ1xuICAgICAga2V5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyVWlDb25maWdzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJVaUNvbmZpZ3NRdWVyeSwgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyVWlDb25maWdzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJNZXNzYWdlcyB7XG4gIGdldFVzZXJNZXNzYWdlcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb25maWdcbiAgICB0YXJnZXRcbiAgICBrZXlcbiAgICBkaXNwbGF5VGFyZ2V0XG4gICAgYWdlbnRPbmx5XG4gICAgY2xpY2tUb0NvbmZpcm1cbiAgICB2YWxpZEZyb21cbiAgICB2YWxpZFRvXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyTWVzc2FnZXNRdWVyeSwgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVOdW1iZXJzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeSwgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldFVzZXJMYW5ndWFnZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldFVzZXJMYW5ndWFnZSgkbGFuZ3VhZ2U6IElEKSB7XG4gIHNldFVzZXJMYW5ndWFnZShsYW5ndWFnZTogJGxhbmd1YWdlKSB7XG4gICAgaWRcbiAgICB0aXRsZVxuICAgIGZvcmVuYW1lXG4gICAgc3VybmFtZVxuICAgIGVtYWlsXG4gICAgZG9iXG4gICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlzb0NvZGVcbiAgICB9XG4gICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGFyZWFDb2RlXG4gICAgICBudW1iZXJcbiAgICAgIGV4dGVuc2lvblxuICAgICAgdHlwZVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgdXNlclByaW1hcnlcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldFVzZXJMYW5ndWFnZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbiwgU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldFVzZXJMYW5ndWFnZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlcigkaWQ6IElEKSB7XG4gIGdldFVzZXIoaWQ6ICRpZCkge1xuICAgIC4uLlVzZXJGaWVsZHNcbiAgfVxufVxuICAgICR7VXNlckZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUXVlcnksIEdldFVzZXJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hVc2VyQ2FuQm9va0ZvckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFVzZXJDYW5Cb29rRm9yKCRlbWFpbDogU3RyaW5nLCAkdXNlck5hbWU6IFN0cmluZywgJGVtcGxveWVlSWQ6IFN0cmluZykge1xuICBzZWFyY2hVc2VyQ2FuQm9va0ZvcihlbWFpbDogJGVtYWlsLCB1c2VyTmFtZTogJHVzZXJOYW1lLCBlbXBsb3llZUlkOiAkZW1wbG95ZWVJZCkge1xuICAgIGlkXG4gICAgdGl0bGVcbiAgICBmb3JlbmFtZVxuICAgIHN1cm5hbWVcbiAgICBlbWFpbFxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hVc2VyQ2FuQm9va0ZvckdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5LCBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvckRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHZhbGlkYXRlVXNlck1JRnJlZVZhbHVlKCRtaTogSUQhLCAkZnJlZVZhbHVlOiBTdHJpbmchKSB7XG4gIHZhbGlkYXRlVXNlck1JRnJlZVZhbHVlKG1pOiAkbWksIGZyZWVWYWx1ZTogJGZyZWVWYWx1ZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnksIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfSJdfQ==