@sabstravtech/obtservices 0.0.22051001 → 0.0.26051001
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.
- package/angular/components/basket-panel.d.ts +1 -0
- package/angular/fetchers.d.ts +3 -0
- package/angular/lib/vendor/fetchers/get-companies.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-company.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-user-guests.fetcher.d.ts +7 -0
- package/angular/lib/vendor/services/enterprise-basket.service.d.ts +2 -1
- package/angular/lib/vendor/services/logon.service.d.ts +2 -1
- package/angular/lib/vendor/services/user.service.d.ts +7 -3
- package/angular/lib/vendor/types/graphql.angular.types.d.ts +268 -85
- package/angular/lib/vendor/updaters/create-guest-updater.d.ts +6 -0
- package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
- package/angular/updaters.d.ts +1 -0
- package/base/fetchers.d.ts +3 -0
- package/base/lib/vendor/classes/base-enterprise.d.ts +5 -1
- package/base/lib/vendor/classes/basket-info-mi-details.impl.d.ts +2 -0
- package/base/lib/vendor/classes/bookable-basket.d.ts +2 -0
- package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +4 -3
- package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +4 -3
- package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +4 -4
- package/base/lib/vendor/classes/fast-track-enterprise-search.d.ts +3 -3
- package/base/lib/vendor/classes/flight-enterprise-search.d.ts +5 -5
- package/base/lib/vendor/classes/helpers.d.ts +6 -1
- package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +6 -3
- package/base/lib/vendor/classes/irl-enterprise-search.d.ts +4 -4
- package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +3 -3
- package/base/lib/vendor/classes/management-info-and-valid.d.ts +1 -1
- package/base/lib/vendor/classes/modal-types.enum.d.ts +1 -0
- package/base/lib/vendor/classes/parking-enterprise-search.d.ts +3 -3
- package/base/lib/vendor/classes/rail-enterprise-search.d.ts +9 -7
- package/base/lib/vendor/classes/supplementary-booking-info-impl.d.ts +5 -3
- package/base/lib/vendor/fetchers/get-companies.fetcher.d.ts +21 -0
- package/base/lib/vendor/fetchers/get-company.fetcher.d.ts +20 -0
- package/base/lib/vendor/fetchers/get-user-guests.fetcher.d.ts +20 -0
- package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +3 -2
- package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +6 -5
- package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Ifast-track-enterprise-search.d.ts +7 -5
- package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +2 -1
- package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +5 -2
- package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +4 -3
- package/base/lib/vendor/interfaces/Ilounges-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Iparking-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Irail-enterprise-search.d.ts +5 -2
- package/base/lib/vendor/interfaces/Isearch.service.d.ts +4 -2
- package/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.d.ts +3 -2
- package/base/lib/vendor/interfaces/Iuser.service.d.ts +1 -0
- package/base/lib/vendor/interfaces/car-hire-search-arg.interface.d.ts +2 -3
- package/base/lib/vendor/interfaces/summary-interface.d.ts +2 -0
- package/base/lib/vendor/interfaces/user.data.d.ts +1 -0
- package/base/lib/vendor/models/traveller.object.d.ts +1 -1
- package/base/lib/vendor/services/enterprise-basket.service.d.ts +18 -7
- package/base/lib/vendor/services/logon.service.d.ts +5 -1
- package/base/lib/vendor/services/search.service.d.ts +25 -22
- package/base/lib/vendor/services/url.service.d.ts +2 -0
- package/base/lib/vendor/services/user.service.d.ts +21 -5
- package/base/lib/vendor/services/webtoken.service.d.ts +4 -0
- package/base/lib/vendor/types/graphql.types.d.ts +245 -84
- package/base/lib/vendor/types/types.d.ts +16 -2
- package/base/lib/vendor/updaters/create-guest-updater.d.ts +19 -0
- package/base/sabstravtech-obtservices-base.d.ts +1 -1
- package/base/sabstravtech-obtservices-base.metadata.json +1 -1
- package/base/updaters.d.ts +1 -0
- package/bundles/sabstravtech-obtservices-angular.umd.js +366 -176
- package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.js +2019 -956
- package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
- package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
- package/esm2015/angular/components/basket-panel.js +16 -7
- package/esm2015/angular/fetchers.js +4 -1
- package/esm2015/angular/lib/vendor/fetchers/get-companies.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-company.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-user-guests.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +8 -5
- package/esm2015/angular/lib/vendor/services/http-call.service.js +1 -1
- package/esm2015/angular/lib/vendor/services/logon.service.js +8 -5
- package/esm2015/angular/lib/vendor/services/search.service.js +1 -1
- package/esm2015/angular/lib/vendor/services/user.service.js +21 -9
- package/esm2015/angular/lib/vendor/services/webtoken.service.js +6 -2
- package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +296 -70
- package/esm2015/angular/lib/vendor/updaters/create-guest-updater.js +22 -0
- package/esm2015/angular/updaters.js +2 -1
- package/esm2015/base/fetchers.js +4 -1
- package/esm2015/base/lib/vendor/classes/base-enterprise.js +8 -2
- package/esm2015/base/lib/vendor/classes/basket-info-mi-details.impl.js +14 -1
- package/esm2015/base/lib/vendor/classes/bookable-basket.js +27 -6
- package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +66 -11
- package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +108 -61
- package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +115 -33
- package/esm2015/base/lib/vendor/classes/fast-track-enterprise-search.js +31 -10
- package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +196 -57
- package/esm2015/base/lib/vendor/classes/helpers.js +19 -3
- package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +145 -36
- package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +100 -30
- package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +40 -8
- package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +13 -9
- package/esm2015/base/lib/vendor/classes/modal-types.enum.js +2 -1
- package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +39 -7
- package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +131 -20
- package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +42 -4
- package/esm2015/base/lib/vendor/fetchers/get-companies.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-company.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-user-guests.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ifast-track-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +2 -1
- package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ilounges-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iparking-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Irail-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iuser.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/car-hire-search-arg.interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/summary-interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/user.data.js +1 -1
- package/esm2015/base/lib/vendor/models/traveller.object.js +1 -1
- package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +93 -30
- package/esm2015/base/lib/vendor/services/http-call.service.js +1 -1
- package/esm2015/base/lib/vendor/services/logon.service.js +37 -3
- package/esm2015/base/lib/vendor/services/requires-reason.service.js +14 -10
- package/esm2015/base/lib/vendor/services/search.service.js +77 -102
- package/esm2015/base/lib/vendor/services/url.service.js +3 -1
- package/esm2015/base/lib/vendor/services/user.service.js +45 -11
- package/esm2015/base/lib/vendor/services/webtoken.service.js +8 -1
- package/esm2015/base/lib/vendor/types/graphql.types.js +7 -2
- package/esm2015/base/lib/vendor/types/types.js +31 -14
- package/esm2015/base/lib/vendor/updaters/create-guest-updater.js +11 -0
- package/esm2015/base/sabstravtech-obtservices-base.js +1 -1
- package/esm2015/base/updaters.js +2 -1
- package/fesm2015/sabstravtech-obtservices-angular.js +449 -141
- package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
- package/fesm2015/sabstravtech-obtservices-base.js +1383 -410
- package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
- package/package.json +1 -1
|
@@ -382,6 +382,11 @@ export var IrlTravellerStatus;
|
|
|
382
382
|
IrlTravellerStatus["Placeholder"] = "placeholder";
|
|
383
383
|
IrlTravellerStatus["Complete"] = "complete";
|
|
384
384
|
})(IrlTravellerStatus || (IrlTravellerStatus = {}));
|
|
385
|
+
export var LeadPassengerType;
|
|
386
|
+
(function (LeadPassengerType) {
|
|
387
|
+
LeadPassengerType["User"] = "USER";
|
|
388
|
+
LeadPassengerType["Guest"] = "GUEST";
|
|
389
|
+
})(LeadPassengerType || (LeadPassengerType = {}));
|
|
385
390
|
export var LogLevelType;
|
|
386
391
|
(function (LogLevelType) {
|
|
387
392
|
LogLevelType["Error"] = "ERROR";
|
|
@@ -418,7 +423,7 @@ export var PreferenceKey;
|
|
|
418
423
|
(function (PreferenceKey) {
|
|
419
424
|
PreferenceKey["MealRequest"] = "MEAL_REQUEST";
|
|
420
425
|
PreferenceKey["SeatingPreference"] = "SEATING_PREFERENCE";
|
|
421
|
-
PreferenceKey["
|
|
426
|
+
PreferenceKey["SpecialNeed"] = "SPECIAL_NEED";
|
|
422
427
|
PreferenceKey["SeatLocation"] = "SEAT_LOCATION";
|
|
423
428
|
PreferenceKey["SeatPosition"] = "SEAT_POSITION";
|
|
424
429
|
PreferenceKey["SeatDirection"] = "SEAT_DIRECTION";
|
|
@@ -503,8 +508,8 @@ export const OwnerFieldsFragmentDoc = gql `
|
|
|
503
508
|
email
|
|
504
509
|
}
|
|
505
510
|
`;
|
|
506
|
-
export const
|
|
507
|
-
fragment
|
|
511
|
+
export const TravellerUserFieldsFragmentDoc = gql `
|
|
512
|
+
fragment TravellerUserFields on User {
|
|
508
513
|
id
|
|
509
514
|
title
|
|
510
515
|
forename
|
|
@@ -514,12 +519,27 @@ export const TravellerFieldsFragmentDoc = gql `
|
|
|
514
519
|
employeeId
|
|
515
520
|
}
|
|
516
521
|
`;
|
|
522
|
+
export const TravellerGuestsFieldsFragmentDoc = gql `
|
|
523
|
+
fragment TravellerGuestsFields on Guest {
|
|
524
|
+
id
|
|
525
|
+
title
|
|
526
|
+
forename
|
|
527
|
+
surname
|
|
528
|
+
email
|
|
529
|
+
gender
|
|
530
|
+
nationality
|
|
531
|
+
}
|
|
532
|
+
`;
|
|
517
533
|
export const BasketFieldsFragmentDoc = gql `
|
|
518
534
|
fragment BasketFields on Basket {
|
|
519
535
|
id
|
|
520
536
|
owner {
|
|
521
537
|
...OwnerFields
|
|
522
538
|
}
|
|
539
|
+
invokedUser {
|
|
540
|
+
id
|
|
541
|
+
email
|
|
542
|
+
}
|
|
523
543
|
reference
|
|
524
544
|
title
|
|
525
545
|
notes
|
|
@@ -578,15 +598,29 @@ export const BasketFieldsFragmentDoc = gql `
|
|
|
578
598
|
id
|
|
579
599
|
type
|
|
580
600
|
}
|
|
601
|
+
guests {
|
|
602
|
+
id
|
|
603
|
+
forename
|
|
604
|
+
surname
|
|
605
|
+
email
|
|
606
|
+
nationality
|
|
607
|
+
gender
|
|
608
|
+
title
|
|
609
|
+
}
|
|
610
|
+
guestPassengerTypes {
|
|
611
|
+
id
|
|
612
|
+
passengerType
|
|
613
|
+
}
|
|
581
614
|
users {
|
|
582
|
-
...
|
|
615
|
+
...TravellerUserFields
|
|
583
616
|
}
|
|
584
617
|
userPassengerTypes {
|
|
585
618
|
id
|
|
586
619
|
passengerType
|
|
587
620
|
}
|
|
588
621
|
leadPassenger {
|
|
589
|
-
...
|
|
622
|
+
...TravellerUserFields
|
|
623
|
+
...TravellerGuestsFields
|
|
590
624
|
}
|
|
591
625
|
managementInfo {
|
|
592
626
|
id
|
|
@@ -604,6 +638,8 @@ export const BasketFieldsFragmentDoc = gql `
|
|
|
604
638
|
updatedAt
|
|
605
639
|
reason
|
|
606
640
|
fixed
|
|
641
|
+
takeValueFromUserDefault
|
|
642
|
+
takeValueFromBookerDefault
|
|
607
643
|
fixedValue {
|
|
608
644
|
id
|
|
609
645
|
label
|
|
@@ -675,7 +711,8 @@ export const BasketFieldsFragmentDoc = gql `
|
|
|
675
711
|
validated
|
|
676
712
|
}
|
|
677
713
|
${OwnerFieldsFragmentDoc}
|
|
678
|
-
${
|
|
714
|
+
${TravellerUserFieldsFragmentDoc}
|
|
715
|
+
${TravellerGuestsFieldsFragmentDoc}`;
|
|
679
716
|
export const ErrorsFragmentDoc = gql `
|
|
680
717
|
fragment Errors on SearchError {
|
|
681
718
|
service {
|
|
@@ -856,6 +893,12 @@ export const FlightJourneyFieldsFragmentDoc = gql `
|
|
|
856
893
|
}
|
|
857
894
|
}
|
|
858
895
|
`;
|
|
896
|
+
export const UsersFragmentDoc = gql `
|
|
897
|
+
fragment USERS on User {
|
|
898
|
+
id
|
|
899
|
+
email
|
|
900
|
+
}
|
|
901
|
+
`;
|
|
859
902
|
export const RoomAvaliabilityFragmentDoc = gql `
|
|
860
903
|
fragment RoomAvaliability on HotelAvailability {
|
|
861
904
|
hotelId
|
|
@@ -994,6 +1037,7 @@ export const RailJourneyFareFragmentDoc = gql `
|
|
|
994
1037
|
mobileTicketAvailable
|
|
995
1038
|
eTicketAvailable
|
|
996
1039
|
selfPrintAvailable
|
|
1040
|
+
railcardCode
|
|
997
1041
|
}
|
|
998
1042
|
`;
|
|
999
1043
|
export const RailJourneyOptionFragmentDoc = gql `
|
|
@@ -1084,6 +1128,7 @@ export const UserFieldsFragmentDoc = gql `
|
|
|
1084
1128
|
surname
|
|
1085
1129
|
email
|
|
1086
1130
|
additionalEmail
|
|
1131
|
+
canInvokeUser
|
|
1087
1132
|
username
|
|
1088
1133
|
employeeId
|
|
1089
1134
|
createdAt
|
|
@@ -1189,6 +1234,8 @@ export const UserFieldsFragmentDoc = gql `
|
|
|
1189
1234
|
createdAt
|
|
1190
1235
|
updatedAt
|
|
1191
1236
|
fixed
|
|
1237
|
+
takeValueFromUserDefault
|
|
1238
|
+
takeValueFromBookerDefault
|
|
1192
1239
|
fixedValue {
|
|
1193
1240
|
id
|
|
1194
1241
|
label
|
|
@@ -1259,6 +1306,7 @@ export const UserFieldsFragmentDoc = gql `
|
|
|
1259
1306
|
emergencyContactName
|
|
1260
1307
|
emergencyContactPhone
|
|
1261
1308
|
emergencyContactEmail
|
|
1309
|
+
canBookGuest
|
|
1262
1310
|
}
|
|
1263
1311
|
`;
|
|
1264
1312
|
export const AcceptNewPriceDocument = gql `
|
|
@@ -1396,8 +1444,8 @@ DeleteBasketGQL.ctorParameters = () => [
|
|
|
1396
1444
|
{ type: Apollo.Apollo }
|
|
1397
1445
|
];
|
|
1398
1446
|
export const CreateBasketDocument = gql `
|
|
1399
|
-
mutation createBasket($title: String, $withSupplemental: Boolean = false) {
|
|
1400
|
-
createBasket(title: $title) {
|
|
1447
|
+
mutation createBasket($convertCurrencyTo: String, $title: String, $invokedUser: ID, $withSupplemental: Boolean = false) {
|
|
1448
|
+
createBasket(convertCurrencyTo: $convertCurrencyTo, title: $title, invokedUser: $invokedUser) {
|
|
1401
1449
|
...BasketFields
|
|
1402
1450
|
}
|
|
1403
1451
|
}
|
|
@@ -1465,8 +1513,8 @@ SendBasketForApprovalGQL.ctorParameters = () => [
|
|
|
1465
1513
|
{ type: Apollo.Apollo }
|
|
1466
1514
|
];
|
|
1467
1515
|
export const AddItemToBasketDocument = gql `
|
|
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) {
|
|
1516
|
+
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], $guests: [UserPassengerTypeInput], $leadPassenger: ID, $leadPassengerType: LeadPassengerType, $co2PerItem: Float, $co2PerPassenger: Float, $outboundDate: DateTime!, $inboundDate: DateTime, $requiresReason: Boolean = false, $withSupplemental: Boolean = false) {
|
|
1517
|
+
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, guests: $guests, leadPassenger: $leadPassenger, leadPassengerType: $leadPassengerType, co2PerItem: $co2PerItem, co2PerPassenger: $co2PerPassenger, outboundDate: $outboundDate, inboundDate: $inboundDate, requiresReason: $requiresReason) {
|
|
1470
1518
|
...BasketFields
|
|
1471
1519
|
}
|
|
1472
1520
|
}
|
|
@@ -1838,6 +1886,35 @@ ConfirmMessagesGQL.decorators = [
|
|
|
1838
1886
|
ConfirmMessagesGQL.ctorParameters = () => [
|
|
1839
1887
|
{ type: Apollo.Apollo }
|
|
1840
1888
|
];
|
|
1889
|
+
export const CreateGuestDocument = gql `
|
|
1890
|
+
mutation createGuest($title: String!, $forename: String!, $surname: String!, $email: String!, $gender: DocGender!, $nationality: String!) {
|
|
1891
|
+
createGuest(title: $title, forename: $forename, surname: $surname, email: $email, gender: $gender, nationality: $nationality) {
|
|
1892
|
+
id
|
|
1893
|
+
title
|
|
1894
|
+
forename
|
|
1895
|
+
surname
|
|
1896
|
+
email
|
|
1897
|
+
gender
|
|
1898
|
+
nationality
|
|
1899
|
+
}
|
|
1900
|
+
}
|
|
1901
|
+
`;
|
|
1902
|
+
export class CreateGuestGQL extends Apollo.Mutation {
|
|
1903
|
+
constructor(apollo) {
|
|
1904
|
+
super(apollo);
|
|
1905
|
+
this.document = CreateGuestDocument;
|
|
1906
|
+
}
|
|
1907
|
+
}
|
|
1908
|
+
/** @nocollapse */ CreateGuestGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function CreateGuestGQL_Factory() { return new CreateGuestGQL(i0.ɵɵinject(i1.Apollo)); }, token: CreateGuestGQL, providedIn: "root" });
|
|
1909
|
+
CreateGuestGQL.decorators = [
|
|
1910
|
+
{ type: Injectable, args: [{
|
|
1911
|
+
providedIn: 'root'
|
|
1912
|
+
},] }
|
|
1913
|
+
];
|
|
1914
|
+
/** @nocollapse */
|
|
1915
|
+
CreateGuestGQL.ctorParameters = () => [
|
|
1916
|
+
{ type: Apollo.Apollo }
|
|
1917
|
+
];
|
|
1841
1918
|
export const DeleteFavouriteSearchDocument = gql `
|
|
1842
1919
|
mutation deleteFavouriteSearch($id: ID!) {
|
|
1843
1920
|
deleteFavouriteSearch(id: $id)
|
|
@@ -1902,8 +1979,8 @@ DeleteUserAddressGQL.ctorParameters = () => [
|
|
|
1902
1979
|
{ type: Apollo.Apollo }
|
|
1903
1980
|
];
|
|
1904
1981
|
export const EditUserDocument = gql `
|
|
1905
|
-
mutation editUser($id: ID!, $title: String, $forename: String, $surname: String, $email: String, $additionalEmail:
|
|
1906
|
-
editUser(id: $id, title: $title, forename: $forename, surname: $surname, email: $email, additionalEmail: $additionalEmail,
|
|
1982
|
+
mutation editUser($id: ID!, $title: String, $forename: String, $surname: String, $email: String, $additionalEmail: [String], $dob: Date, $selectedLanguage: ID, $emergencyContactName: String, $emergencyContactPhone: String, $emergencyContactEmail: String, $phoneNumbers: [PhoneNumberInput!], $addresses: [AddressInput!], $userMiDefaultValues: [UserMiDefaultValuesInput!], $documents: [DocumentInput!], $loyaltyCodes: [UserLoyaltyCodeInput!], $preferences: [UserPreferenceInput!]) {
|
|
1983
|
+
editUser(id: $id, title: $title, forename: $forename, surname: $surname, email: $email, additionalEmail: $additionalEmail, dob: $dob, selectedLanguage: $selectedLanguage, emergencyContactName: $emergencyContactName, emergencyContactPhone: $emergencyContactPhone, emergencyContactEmail: $emergencyContactEmail, phoneNumbers: $phoneNumbers, addresses: $addresses, userMiDefaultValues: $userMiDefaultValues, documents: $documents, loyaltyCodes: $loyaltyCodes, preferences: $preferences) {
|
|
1907
1984
|
id
|
|
1908
1985
|
title
|
|
1909
1986
|
forename
|
|
@@ -1911,8 +1988,6 @@ export const EditUserDocument = gql `
|
|
|
1911
1988
|
email
|
|
1912
1989
|
additionalEmail
|
|
1913
1990
|
username
|
|
1914
|
-
employeeId
|
|
1915
|
-
confermaId
|
|
1916
1991
|
createdAt
|
|
1917
1992
|
updatedAt
|
|
1918
1993
|
dob
|
|
@@ -1927,19 +2002,23 @@ export const EditUserDocument = gql `
|
|
|
1927
2002
|
id
|
|
1928
2003
|
name
|
|
1929
2004
|
isoCode
|
|
2005
|
+
__typename
|
|
1930
2006
|
}
|
|
1931
2007
|
availableLanguages {
|
|
1932
2008
|
id
|
|
1933
2009
|
name
|
|
1934
2010
|
isoCode
|
|
2011
|
+
__typename
|
|
1935
2012
|
}
|
|
1936
2013
|
approvers {
|
|
1937
2014
|
active
|
|
1938
2015
|
priority
|
|
2016
|
+
__typename
|
|
1939
2017
|
}
|
|
1940
2018
|
approverFor {
|
|
1941
2019
|
active
|
|
1942
2020
|
priority
|
|
2021
|
+
__typename
|
|
1943
2022
|
}
|
|
1944
2023
|
co2AllowancePeriod
|
|
1945
2024
|
co2AllowancePerPeriod
|
|
@@ -1960,6 +2039,7 @@ export const EditUserDocument = gql `
|
|
|
1960
2039
|
type
|
|
1961
2040
|
officePrimary
|
|
1962
2041
|
userPrimary
|
|
2042
|
+
__typename
|
|
1963
2043
|
}
|
|
1964
2044
|
addresses {
|
|
1965
2045
|
id
|
|
@@ -1972,6 +2052,7 @@ export const EditUserDocument = gql `
|
|
|
1972
2052
|
countryCode
|
|
1973
2053
|
userPrimary
|
|
1974
2054
|
officePrimary
|
|
2055
|
+
__typename
|
|
1975
2056
|
}
|
|
1976
2057
|
userMiDefaultValues {
|
|
1977
2058
|
service {
|
|
@@ -1987,6 +2068,7 @@ export const EditUserDocument = gql `
|
|
|
1987
2068
|
amendable
|
|
1988
2069
|
detailSchema
|
|
1989
2070
|
searchQuerySchema
|
|
2071
|
+
__typename
|
|
1990
2072
|
}
|
|
1991
2073
|
managementInfo {
|
|
1992
2074
|
id
|
|
@@ -2008,6 +2090,7 @@ export const EditUserDocument = gql `
|
|
|
2008
2090
|
amendable
|
|
2009
2091
|
detailSchema
|
|
2010
2092
|
searchQuerySchema
|
|
2093
|
+
__typename
|
|
2011
2094
|
}
|
|
2012
2095
|
uiPresentation
|
|
2013
2096
|
mandatory
|
|
@@ -2028,6 +2111,7 @@ export const EditUserDocument = gql `
|
|
|
2028
2111
|
default
|
|
2029
2112
|
fixed
|
|
2030
2113
|
agentOnly
|
|
2114
|
+
__typename
|
|
2031
2115
|
}
|
|
2032
2116
|
defaultValue {
|
|
2033
2117
|
id
|
|
@@ -2036,6 +2120,7 @@ export const EditUserDocument = gql `
|
|
|
2036
2120
|
default
|
|
2037
2121
|
fixed
|
|
2038
2122
|
agentOnly
|
|
2123
|
+
__typename
|
|
2039
2124
|
}
|
|
2040
2125
|
values {
|
|
2041
2126
|
id
|
|
@@ -2044,6 +2129,7 @@ export const EditUserDocument = gql `
|
|
|
2044
2129
|
default
|
|
2045
2130
|
fixed
|
|
2046
2131
|
agentOnly
|
|
2132
|
+
__typename
|
|
2047
2133
|
}
|
|
2048
2134
|
group
|
|
2049
2135
|
selectedValues {
|
|
@@ -2054,11 +2140,14 @@ export const EditUserDocument = gql `
|
|
|
2054
2140
|
default
|
|
2055
2141
|
fixed
|
|
2056
2142
|
agentOnly
|
|
2143
|
+
__typename
|
|
2057
2144
|
}
|
|
2058
2145
|
freeValue
|
|
2059
2146
|
basketLevelValue
|
|
2060
2147
|
userLevelValue
|
|
2148
|
+
__typename
|
|
2061
2149
|
}
|
|
2150
|
+
__typename
|
|
2062
2151
|
}
|
|
2063
2152
|
managementInfoValue {
|
|
2064
2153
|
id
|
|
@@ -2067,8 +2156,10 @@ export const EditUserDocument = gql `
|
|
|
2067
2156
|
default
|
|
2068
2157
|
fixed
|
|
2069
2158
|
agentOnly
|
|
2159
|
+
__typename
|
|
2070
2160
|
}
|
|
2071
2161
|
freeTextValue
|
|
2162
|
+
__typename
|
|
2072
2163
|
}
|
|
2073
2164
|
documents {
|
|
2074
2165
|
id
|
|
@@ -2083,6 +2174,7 @@ export const EditUserDocument = gql `
|
|
|
2083
2174
|
primary
|
|
2084
2175
|
createdAt
|
|
2085
2176
|
updatedAt
|
|
2177
|
+
__typename
|
|
2086
2178
|
}
|
|
2087
2179
|
loyaltyCodes {
|
|
2088
2180
|
id
|
|
@@ -2091,6 +2183,7 @@ export const EditUserDocument = gql `
|
|
|
2091
2183
|
type
|
|
2092
2184
|
createdAt
|
|
2093
2185
|
updatedAt
|
|
2186
|
+
__typename
|
|
2094
2187
|
}
|
|
2095
2188
|
preferences {
|
|
2096
2189
|
id
|
|
@@ -2099,7 +2192,9 @@ export const EditUserDocument = gql `
|
|
|
2099
2192
|
preferenceValue
|
|
2100
2193
|
createdAt
|
|
2101
2194
|
updatedAt
|
|
2195
|
+
__typename
|
|
2102
2196
|
}
|
|
2197
|
+
__typename
|
|
2103
2198
|
}
|
|
2104
2199
|
}
|
|
2105
2200
|
`;
|
|
@@ -2572,61 +2667,70 @@ export const EmailBasketDocument = gql `
|
|
|
2572
2667
|
__typename
|
|
2573
2668
|
}
|
|
2574
2669
|
leadPassenger {
|
|
2575
|
-
|
|
2576
|
-
title
|
|
2577
|
-
forename
|
|
2578
|
-
surname
|
|
2579
|
-
email
|
|
2580
|
-
username
|
|
2581
|
-
employeeId
|
|
2582
|
-
createdAt
|
|
2583
|
-
updatedAt
|
|
2584
|
-
dob
|
|
2585
|
-
admin
|
|
2586
|
-
tmcAdmin
|
|
2587
|
-
companyAdmin
|
|
2588
|
-
bookerType
|
|
2589
|
-
authMethods
|
|
2590
|
-
active
|
|
2591
|
-
passwordLastUpdated
|
|
2592
|
-
co2AllowancePeriod
|
|
2593
|
-
co2AllowancePerPeriod
|
|
2594
|
-
documents {
|
|
2595
|
-
id
|
|
2596
|
-
docType
|
|
2597
|
-
nationality
|
|
2598
|
-
gender
|
|
2599
|
-
number
|
|
2600
|
-
country
|
|
2601
|
-
codeOfIssuingState
|
|
2602
|
-
dateOfIssue
|
|
2603
|
-
dateOfExpiry
|
|
2604
|
-
primary
|
|
2605
|
-
createdAt
|
|
2606
|
-
updatedAt
|
|
2607
|
-
__typename
|
|
2608
|
-
}
|
|
2609
|
-
preferences {
|
|
2670
|
+
... on User {
|
|
2610
2671
|
id
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2672
|
+
title
|
|
2673
|
+
forename
|
|
2674
|
+
surname
|
|
2675
|
+
email
|
|
2676
|
+
username
|
|
2677
|
+
employeeId
|
|
2614
2678
|
createdAt
|
|
2615
2679
|
updatedAt
|
|
2616
|
-
|
|
2680
|
+
dob
|
|
2681
|
+
admin
|
|
2682
|
+
tmcAdmin
|
|
2683
|
+
companyAdmin
|
|
2684
|
+
bookerType
|
|
2685
|
+
authMethods
|
|
2686
|
+
active
|
|
2687
|
+
passwordLastUpdated
|
|
2688
|
+
co2AllowancePeriod
|
|
2689
|
+
co2AllowancePerPeriod
|
|
2690
|
+
documents {
|
|
2691
|
+
id
|
|
2692
|
+
docType
|
|
2693
|
+
nationality
|
|
2694
|
+
gender
|
|
2695
|
+
number
|
|
2696
|
+
country
|
|
2697
|
+
codeOfIssuingState
|
|
2698
|
+
dateOfIssue
|
|
2699
|
+
dateOfExpiry
|
|
2700
|
+
primary
|
|
2701
|
+
createdAt
|
|
2702
|
+
updatedAt
|
|
2703
|
+
__typename
|
|
2704
|
+
}
|
|
2705
|
+
preferences {
|
|
2706
|
+
id
|
|
2707
|
+
serviceType
|
|
2708
|
+
preferenceKey
|
|
2709
|
+
preferenceValue
|
|
2710
|
+
createdAt
|
|
2711
|
+
updatedAt
|
|
2712
|
+
__typename
|
|
2713
|
+
}
|
|
2714
|
+
loyaltyCodes {
|
|
2715
|
+
id
|
|
2716
|
+
carrier
|
|
2717
|
+
code
|
|
2718
|
+
type
|
|
2719
|
+
createdAt
|
|
2720
|
+
updatedAt
|
|
2721
|
+
__typename
|
|
2722
|
+
}
|
|
2723
|
+
emergencyContactName
|
|
2724
|
+
emergencyContactPhone
|
|
2725
|
+
emergencyContactEmail
|
|
2617
2726
|
}
|
|
2618
|
-
|
|
2727
|
+
... on Guest {
|
|
2619
2728
|
id
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
updatedAt
|
|
2625
|
-
__typename
|
|
2729
|
+
title
|
|
2730
|
+
forename
|
|
2731
|
+
surname
|
|
2732
|
+
email
|
|
2626
2733
|
}
|
|
2627
|
-
emergencyContactName
|
|
2628
|
-
emergencyContactPhone
|
|
2629
|
-
emergencyContactEmail
|
|
2630
2734
|
__typename
|
|
2631
2735
|
}
|
|
2632
2736
|
service {
|
|
@@ -3215,6 +3319,98 @@ GetCarHireProvidersGQL.decorators = [
|
|
|
3215
3319
|
GetCarHireProvidersGQL.ctorParameters = () => [
|
|
3216
3320
|
{ type: Apollo.Apollo }
|
|
3217
3321
|
];
|
|
3322
|
+
export const GetCompaniesDocument = gql `
|
|
3323
|
+
query getCompanies($query: String) {
|
|
3324
|
+
getCompanies(query: $query) {
|
|
3325
|
+
id
|
|
3326
|
+
name
|
|
3327
|
+
tmc {
|
|
3328
|
+
id
|
|
3329
|
+
name
|
|
3330
|
+
}
|
|
3331
|
+
offices {
|
|
3332
|
+
id
|
|
3333
|
+
name
|
|
3334
|
+
}
|
|
3335
|
+
createdAt
|
|
3336
|
+
updatedAt
|
|
3337
|
+
supportEmail
|
|
3338
|
+
co2ConsumptionPolicy
|
|
3339
|
+
co2AllowancePeriod
|
|
3340
|
+
co2AllowancePerPeriod
|
|
3341
|
+
}
|
|
3342
|
+
}
|
|
3343
|
+
`;
|
|
3344
|
+
export class GetCompaniesGQL extends Apollo.Query {
|
|
3345
|
+
constructor(apollo) {
|
|
3346
|
+
super(apollo);
|
|
3347
|
+
this.document = GetCompaniesDocument;
|
|
3348
|
+
}
|
|
3349
|
+
}
|
|
3350
|
+
/** @nocollapse */ GetCompaniesGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetCompaniesGQL_Factory() { return new GetCompaniesGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetCompaniesGQL, providedIn: "root" });
|
|
3351
|
+
GetCompaniesGQL.decorators = [
|
|
3352
|
+
{ type: Injectable, args: [{
|
|
3353
|
+
providedIn: 'root'
|
|
3354
|
+
},] }
|
|
3355
|
+
];
|
|
3356
|
+
/** @nocollapse */
|
|
3357
|
+
GetCompaniesGQL.ctorParameters = () => [
|
|
3358
|
+
{ type: Apollo.Apollo }
|
|
3359
|
+
];
|
|
3360
|
+
export const GetCompanyDocument = gql `
|
|
3361
|
+
query getCompany($id: ID!) {
|
|
3362
|
+
getCompany(id: $id) {
|
|
3363
|
+
id
|
|
3364
|
+
name
|
|
3365
|
+
tmc {
|
|
3366
|
+
id
|
|
3367
|
+
name
|
|
3368
|
+
}
|
|
3369
|
+
offices {
|
|
3370
|
+
id
|
|
3371
|
+
name
|
|
3372
|
+
createdAt
|
|
3373
|
+
updatedAt
|
|
3374
|
+
}
|
|
3375
|
+
users {
|
|
3376
|
+
...USERS
|
|
3377
|
+
}
|
|
3378
|
+
supportPhoneNumber {
|
|
3379
|
+
id
|
|
3380
|
+
description
|
|
3381
|
+
countryCode
|
|
3382
|
+
areaCode
|
|
3383
|
+
number
|
|
3384
|
+
extension
|
|
3385
|
+
type
|
|
3386
|
+
officePrimary
|
|
3387
|
+
userPrimary
|
|
3388
|
+
}
|
|
3389
|
+
createdAt
|
|
3390
|
+
updatedAt
|
|
3391
|
+
supportEmail
|
|
3392
|
+
co2ConsumptionPolicy
|
|
3393
|
+
co2AllowancePeriod
|
|
3394
|
+
co2AllowancePerPeriod
|
|
3395
|
+
}
|
|
3396
|
+
}
|
|
3397
|
+
${UsersFragmentDoc}`;
|
|
3398
|
+
export class GetCompanyGQL extends Apollo.Query {
|
|
3399
|
+
constructor(apollo) {
|
|
3400
|
+
super(apollo);
|
|
3401
|
+
this.document = GetCompanyDocument;
|
|
3402
|
+
}
|
|
3403
|
+
}
|
|
3404
|
+
/** @nocollapse */ GetCompanyGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetCompanyGQL_Factory() { return new GetCompanyGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetCompanyGQL, providedIn: "root" });
|
|
3405
|
+
GetCompanyGQL.decorators = [
|
|
3406
|
+
{ type: Injectable, args: [{
|
|
3407
|
+
providedIn: 'root'
|
|
3408
|
+
},] }
|
|
3409
|
+
];
|
|
3410
|
+
/** @nocollapse */
|
|
3411
|
+
GetCompanyGQL.ctorParameters = () => [
|
|
3412
|
+
{ type: Apollo.Apollo }
|
|
3413
|
+
];
|
|
3218
3414
|
export const GetConfermaOfficeDocument = gql `
|
|
3219
3415
|
query getConfermaOffice($officeId: Int!) {
|
|
3220
3416
|
getConfermaOffice(officeId: $officeId) {
|
|
@@ -4028,6 +4224,35 @@ GetUserFavouriteSearchesGQL.decorators = [
|
|
|
4028
4224
|
GetUserFavouriteSearchesGQL.ctorParameters = () => [
|
|
4029
4225
|
{ type: Apollo.Apollo }
|
|
4030
4226
|
];
|
|
4227
|
+
export const GetUserGuestsDocument = gql `
|
|
4228
|
+
query getUserGuests {
|
|
4229
|
+
getUserGuests {
|
|
4230
|
+
id
|
|
4231
|
+
title
|
|
4232
|
+
forename
|
|
4233
|
+
surname
|
|
4234
|
+
email
|
|
4235
|
+
gender
|
|
4236
|
+
nationality
|
|
4237
|
+
}
|
|
4238
|
+
}
|
|
4239
|
+
`;
|
|
4240
|
+
export class GetUserGuestsGQL extends Apollo.Query {
|
|
4241
|
+
constructor(apollo) {
|
|
4242
|
+
super(apollo);
|
|
4243
|
+
this.document = GetUserGuestsDocument;
|
|
4244
|
+
}
|
|
4245
|
+
}
|
|
4246
|
+
/** @nocollapse */ GetUserGuestsGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetUserGuestsGQL_Factory() { return new GetUserGuestsGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetUserGuestsGQL, providedIn: "root" });
|
|
4247
|
+
GetUserGuestsGQL.decorators = [
|
|
4248
|
+
{ type: Injectable, args: [{
|
|
4249
|
+
providedIn: 'root'
|
|
4250
|
+
},] }
|
|
4251
|
+
];
|
|
4252
|
+
/** @nocollapse */
|
|
4253
|
+
GetUserGuestsGQL.ctorParameters = () => [
|
|
4254
|
+
{ type: Apollo.Apollo }
|
|
4255
|
+
];
|
|
4031
4256
|
export const GetUserMiAutoSuggestValuesDocument = gql `
|
|
4032
4257
|
query getUserMIAutoSuggestValues($mi: ID!, $partialLabel: String!) {
|
|
4033
4258
|
getUserMIAutoSuggestValues(mi: $mi, partialLabel: $partialLabel) {
|
|
@@ -4484,8 +4709,8 @@ SearchParkingGQL.ctorParameters = () => [
|
|
|
4484
4709
|
{ type: Apollo.Apollo }
|
|
4485
4710
|
];
|
|
4486
4711
|
export const SearchRailDocument = gql `
|
|
4487
|
-
query searchRail($countryCode: String, $journeyType: RailSearchJourneyType!, $class: RailClass, $departureLocationId: ID!, $arrivalLocationId: ID!, $viaLocationId: ID, $outboundArrivalDateTime: String, $outboundDepartureDateTime: String, $returnArrivalDateTime: String, $returnDepartureDateTime: String, $adults: Int!, $children: Int, $extraTimeToChange: Boolean, $plusBusOut: RailPlusBusAvail, $plusBusReturn: RailPlusBusAvail, $travelCards: [Date!], $railCardQualifiers: [String!]) {
|
|
4488
|
-
searchRail(countryCode: $countryCode, journeyType: $journeyType, class: $class, departureLocationId: $departureLocationId, arrivalLocationId: $arrivalLocationId, viaLocationId: $viaLocationId, outboundArrivalDateTime: $outboundArrivalDateTime, outboundDepartureDateTime: $outboundDepartureDateTime, returnArrivalDateTime: $returnArrivalDateTime, returnDepartureDateTime: $returnDepartureDateTime, adults: $adults, children: $children, extraTimeToChange: $extraTimeToChange, plusBusOut: $plusBusOut, plusBusReturn: $plusBusReturn, travelCards: $travelCards, railCardQualifiers: $railCardQualifiers) {
|
|
4712
|
+
query searchRail($countryCode: String, $journeyType: RailSearchJourneyType!, $class: RailClass, $departureLocationId: ID!, $arrivalLocationId: ID!, $viaLocationId: ID, $outboundArrivalDateTime: String, $outboundDepartureDateTime: String, $returnArrivalDateTime: String, $returnDepartureDateTime: String, $adults: Int!, $children: Int, $extraTimeToChange: Boolean, $plusBusOut: RailPlusBusAvail, $plusBusReturn: RailPlusBusAvail, $travelCards: [Date!], $railCardQualifiers: [String!], $splitTicketsFromDepartureJourney: Boolean, $splitTicketsToDestinationJourney: Boolean, $transactionIdentifier: String) {
|
|
4713
|
+
searchRail(countryCode: $countryCode, journeyType: $journeyType, class: $class, departureLocationId: $departureLocationId, arrivalLocationId: $arrivalLocationId, viaLocationId: $viaLocationId, outboundArrivalDateTime: $outboundArrivalDateTime, outboundDepartureDateTime: $outboundDepartureDateTime, returnArrivalDateTime: $returnArrivalDateTime, returnDepartureDateTime: $returnDepartureDateTime, adults: $adults, children: $children, extraTimeToChange: $extraTimeToChange, plusBusOut: $plusBusOut, plusBusReturn: $plusBusReturn, travelCards: $travelCards, railCardQualifiers: $railCardQualifiers, splitTicketsFromDepartureJourney: $splitTicketsFromDepartureJourney, splitTicketsToDestinationJourney: $splitTicketsToDestinationJourney, transactionIdentifier: $transactionIdentifier) {
|
|
4489
4714
|
results {
|
|
4490
4715
|
sourceId
|
|
4491
4716
|
summary
|
|
@@ -6002,8 +6227,8 @@ SetBasketItemMiGroupGQL.ctorParameters = () => [
|
|
|
6002
6227
|
{ type: Apollo.Apollo }
|
|
6003
6228
|
];
|
|
6004
6229
|
export const SetBasketItemLeadPassengerDocument = gql `
|
|
6005
|
-
mutation setBasketItemLeadPassenger($convertCurrencyTo: String, $id: ID!, $
|
|
6006
|
-
setBasketItemLeadPassenger(convertCurrencyTo: $convertCurrencyTo, id: $id,
|
|
6230
|
+
mutation setBasketItemLeadPassenger($convertCurrencyTo: String, $id: ID!, $userOrGuest: ID!, $leadPassengerType: LeadPassengerType!, $withSupplemental: Boolean!) {
|
|
6231
|
+
setBasketItemLeadPassenger(convertCurrencyTo: $convertCurrencyTo, id: $id, userOrGuest: $userOrGuest, leadPassengerType: $leadPassengerType) {
|
|
6007
6232
|
...BasketFields
|
|
6008
6233
|
}
|
|
6009
6234
|
}
|
|
@@ -6025,8 +6250,8 @@ SetBasketItemLeadPassengerGQL.ctorParameters = () => [
|
|
|
6025
6250
|
{ type: Apollo.Apollo }
|
|
6026
6251
|
];
|
|
6027
6252
|
export const SetBasketItemMiValueDocument = gql `
|
|
6028
|
-
mutation setBasketItemMIValue($convertCurrencyTo: String, $mi: ID!, $miValue: ID, $miFreeValue: String, $user: ID, $withSupplemental: Boolean = false) {
|
|
6029
|
-
setBasketItemMIValue(convertCurrencyTo: $convertCurrencyTo, mi: $mi, miValue: $miValue, miFreeValue: $miFreeValue, user: $user) {
|
|
6253
|
+
mutation setBasketItemMIValue($convertCurrencyTo: String, $mi: ID!, $miValue: ID, $miFreeValue: String, $user: ID, $guest: ID, $withSupplemental: Boolean = false) {
|
|
6254
|
+
setBasketItemMIValue(convertCurrencyTo: $convertCurrencyTo, mi: $mi, miValue: $miValue, miFreeValue: $miFreeValue, user: $user, guest: $guest) {
|
|
6030
6255
|
...BasketFields
|
|
6031
6256
|
}
|
|
6032
6257
|
}
|
|
@@ -6187,6 +6412,7 @@ export const GetUserMessagesDocument = gql `
|
|
|
6187
6412
|
clickToConfirm
|
|
6188
6413
|
validFrom
|
|
6189
6414
|
validTo
|
|
6415
|
+
collapse
|
|
6190
6416
|
}
|
|
6191
6417
|
}
|
|
6192
6418
|
`;
|
|
@@ -6356,4 +6582,4 @@ ValidateUserMiFreeValueGQL.decorators = [
|
|
|
6356
6582
|
ValidateUserMiFreeValueGQL.ctorParameters = () => [
|
|
6357
6583
|
{ type: Apollo.Apollo }
|
|
6358
6584
|
];
|
|
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==
|
|
6585
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBaUh6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBNkNELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBd0VELE1BQU0sQ0FBTixJQUFZLGdCQUtYO0FBTEQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBU0QsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsZ0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQVVYO0FBVkQsV0FBWSxVQUFVO0lBQ3BCLDJCQUFhLENBQUE7SUFDYix5QkFBVyxDQUFBO0lBQ1gsaUNBQW1CLENBQUE7SUFDbkIsK0JBQWlCLENBQUE7SUFDakIsNENBQThCLENBQUE7SUFDOUIsb0NBQXNCLENBQUE7SUFDdEIsK0JBQWlCLENBQUE7SUFDakIscUNBQXVCLENBQUE7SUFDdkIsaURBQW1DLENBQUE7QUFDckMsQ0FBQyxFQVZXLFVBQVUsS0FBVixVQUFVLFFBVXJCO0FBbUVELE1BQU0sQ0FBTixJQUFZLGtCQXNCWDtBQXRCRCxXQUFZLGtCQUFrQjtJQUM1QixpQ0FBVyxDQUFBO0lBQ1gsdUNBQWlCLENBQUE7SUFDakIsK0NBQXlCLENBQUE7SUFDekIsK0NBQXlCLENBQUE7SUFDekIseUNBQW1CLENBQUE7SUFDbkIsbURBQTZCLENBQUE7SUFDN0IseURBQW1DLENBQUE7SUFDbkMseURBQW1DLENBQUE7SUFDbkMsK0NBQXlCLENBQUE7SUFDekIsbURBQTZCLENBQUE7SUFDN0IsbURBQTZCLENBQUE7SUFDN0IsMkNBQXFCLENBQUE7SUFDckIsdURBQWlDLENBQUE7SUFDakMsMkNBQXFCLENBQUE7SUFDckIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIsMkNBQXFCLENBQUE7SUFDckIsaURBQTJCLENBQUE7SUFDM0IsaUNBQVcsQ0FBQTtJQUNYLDJDQUFxQixDQUFBO0lBQ3JCLHlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUF0Qlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQXNCN0I7QUEyQ0QsTUFBTSxDQUFOLElBQVksWUFtQlg7QUFuQkQsV0FBWSxZQUFZO0lBQ3RCLDZCQUFhLENBQUE7SUFDYix1Q0FBdUIsQ0FBQTtJQUN2QixtQ0FBbUIsQ0FBQTtJQUNuQiw2Q0FBNkIsQ0FBQTtJQUM3QixtQ0FBbUIsQ0FBQTtJQUNuQiw2Q0FBNkIsQ0FBQTtJQUM3Qiw2Q0FBNkIsQ0FBQTtJQUM3Qix1REFBdUMsQ0FBQTtJQUN2QyxxQ0FBcUIsQ0FBQTtJQUNyQiwrQ0FBK0IsQ0FBQTtJQUMvQixxQ0FBcUIsQ0FBQTtJQUNyQiwrQ0FBK0IsQ0FBQTtJQUMvQixtQ0FBbUIsQ0FBQTtJQUNuQiw2Q0FBNkIsQ0FBQTtJQUM3QixpQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBMkIsQ0FBQTtJQUMzQixxQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBbkJXLFlBQVksS0FBWixZQUFZLFFBbUJ2QjtBQTJGRCxNQUFNLENBQU4sSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLG9DQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBb0JYO0FBcEJELFdBQVksV0FBVztJQUNyQixnREFBaUMsQ0FBQTtJQUNqQyw4Q0FBK0IsQ0FBQTtJQUMvQixnREFBaUMsQ0FBQTtJQUNqQyw4Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBNkIsQ0FBQTtJQUM3QixzQ0FBdUIsQ0FBQTtJQUN2Qiw4QkFBZSxDQUFBO0lBQ2YsMENBQTJCLENBQUE7SUFDM0IsMEJBQVcsQ0FBQTtJQUNYLHNEQUF1QyxDQUFBO0lBQ3ZDLGtDQUFtQixDQUFBO0lBQ25CLG9EQUFxQyxDQUFBO0lBQ3JDLHNEQUF1QyxDQUFBO0lBQ3ZDLGtEQUFtQyxDQUFBO0lBQ25DLDhCQUFlLENBQUE7SUFDZiw0REFBNkMsQ0FBQTtJQUM3QyxzQ0FBdUIsQ0FBQTtJQUN2QixrREFBbUMsQ0FBQTtJQUNuQyxvQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBcEJXLFdBQVcsS0FBWCxXQUFXLFFBb0J0QjtBQTJERCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzVCLHlDQUFtQixDQUFBO0lBQ25CLHVDQUFpQixDQUFBO0lBQ2pCLG1DQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QjtBQTRIRCxNQUFNLENBQU4sSUFBWSxZQW1MWDtBQW5MRCxXQUFZLFlBQVk7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtBQUNiLENBQUMsRUFuTFcsWUFBWSxLQUFaLFlBQVksUUFtTHZCO0FBNkJELE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsd0JBQU8sQ0FBQTtJQUNQLHdCQUFPLENBQUE7QUFDVCxDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLG9CQUFPLENBQUE7SUFDUCxvQkFBTyxDQUFBO0FBQ1QsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCO0FBRUQsTUFBTSxDQUFOLElBQVksT0FJWDtBQUpELFdBQVksT0FBTztJQUNqQixnQ0FBcUIsQ0FBQTtJQUNyQix3QkFBYSxDQUFBO0lBQ2IsNkJBQWtCLENBQUE7QUFDcEIsQ0FBQyxFQUpXLE9BQU8sS0FBUCxPQUFPLFFBSWxCO0FBc0VELE1BQU0sQ0FBTixJQUFZLFlBTVg7QUFORCxXQUFZLFlBQVk7SUFDdEIsNkNBQTZCLENBQUE7SUFDN0IsaUNBQWlCLENBQUE7SUFDakIsaUNBQWlCLENBQUE7SUFDakIsbUNBQW1CLENBQUE7SUFDbkIsK0JBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTlcsWUFBWSxLQUFaLFlBQVksUUFNdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLGlDQUFxQixDQUFBO0lBQ3JCLDZCQUFpQixDQUFBO0lBQ2pCLHFDQUF5QixDQUFBO0lBQ3pCLDJDQUErQixDQUFBO0lBQy9CLCtCQUFtQixDQUFBO0lBQ25CLGlEQUFxQyxDQUFBO0lBQ3JDLHlDQUE2QixDQUFBO0FBQy9CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQTJDRCxNQUFNLENBQU4sSUFBWSxnQkFZWDtBQVpELFdBQVksZ0JBQWdCO0lBQzFCLCtCQUFXLENBQUE7SUFDWCwrQ0FBMkIsQ0FBQTtJQUMzQix1Q0FBbUIsQ0FBQTtJQUNuQiwyREFBdUMsQ0FBQTtJQUN2QyxtREFBK0IsQ0FBQTtJQUMvQixpREFBNkIsQ0FBQTtJQUM3QixxREFBaUMsQ0FBQTtJQUNqQyx5Q0FBcUIsQ0FBQTtJQUNyQix1REFBbUMsQ0FBQTtJQUNuQyxtQ0FBZSxDQUFBO0lBQ2YsaURBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFZM0I7QUErSUQsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixzQ0FBZSxDQUFBO0lBQ2Ysc0NBQWUsQ0FBQTtJQUNmLHdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBaVJELE1BQU0sQ0FBTixJQUFZLFFBSVg7QUFKRCxXQUFZLFFBQVE7SUFDbEIsdUJBQVcsQ0FBQTtJQUNYLDJCQUFlLENBQUE7SUFDZixpQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsUUFBUSxLQUFSLFFBQVEsUUFJbkI7QUFnREQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QixpREFBK0IsQ0FBQTtJQUMvQixpREFBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUF1RUQsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiw4QkFBZSxDQUFBO0lBQ2YsNEJBQWEsQ0FBQTtJQUNiLDBCQUFXLENBQUE7QUFDYixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUEyRkQsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1QixpREFBMkIsQ0FBQTtJQUMzQiwyQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUc3QjtBQXFFRCxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLGtDQUFhLENBQUE7SUFDYixvQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBRzVCO0FBNkJELE1BQU0sQ0FBTixJQUFZLFlBUVg7QUFSRCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7SUFDYiw2QkFBYSxDQUFBO0lBQ2IsNkJBQWEsQ0FBQTtJQUNiLG1DQUFtQixDQUFBO0lBQ25CLCtCQUFlLENBQUE7SUFDZiwrQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxZQUFZLEtBQVosWUFBWSxRQVF2QjtBQXVKRCxNQUFNLENBQU4sSUFBWSxhQU9YO0FBUEQsV0FBWSxhQUFhO0lBQ3ZCLGdDQUFlLENBQUE7SUFDZiwyQ0FBMEIsQ0FBQTtJQUMxQixvQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBa0IsQ0FBQTtJQUNsQiw4REFBNkMsQ0FBQTtJQUM3Qyx3Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBUFcsYUFBYSxLQUFiLGFBQWEsUUFPeEI7QUFvWUQsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUN2QixnQ0FBZSxDQUFBO0lBQ2YsZ0NBQWUsQ0FBQTtJQUNmLGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QjtBQXNERCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGtDQUFxQixDQUFBO0lBQ3JCLHdCQUFXLENBQUE7SUFDWCw0QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQjtBQTJCRCxNQUFNLENBQU4sSUFBWSxhQU9YO0FBUEQsV0FBWSxhQUFhO0lBQ3ZCLDZDQUE0QixDQUFBO0lBQzVCLHlEQUF3QyxDQUFBO0lBQ3hDLDZDQUE0QixDQUFBO0lBQzVCLCtDQUE4QixDQUFBO0lBQzlCLCtDQUE4QixDQUFBO0lBQzlCLGlEQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFQVyxhQUFhLEtBQWIsYUFBYSxRQU94QjtBQWNELE1BQU0sQ0FBTixJQUFZLG1CQUtYO0FBTEQsV0FBWSxtQkFBbUI7SUFDN0IsOENBQXVCLENBQUE7SUFDdkIsNENBQXFCLENBQUE7SUFDckIsMENBQW1CLENBQUE7SUFDbkIsd0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFLOUI7QUFrbkJELE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsd0JBQVcsQ0FBQTtJQUNYLDRCQUFlLENBQUE7SUFDZixrQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUF1SEQsTUFBTSxDQUFOLElBQVkscUJBSVg7QUFKRCxXQUFZLHFCQUFxQjtJQUMvQix3REFBK0IsQ0FBQTtJQUMvQix3REFBK0IsQ0FBQTtJQUMvQixnRUFBdUMsQ0FBQTtBQUN6QyxDQUFDLEVBSlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUloQztBQXVERCxNQUFNLENBQU4sSUFBWSx5QkFLWDtBQUxELFdBQVkseUJBQXlCO0lBQ25DLDhDQUFpQixDQUFBO0lBQ2pCLDBEQUE2QixDQUFBO0lBQzdCLHdEQUEyQixDQUFBO0lBQzNCLGdEQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBS3BDO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBT1g7QUFQRCxXQUFZLG1CQUFtQjtJQUM3QixrREFBMkIsQ0FBQTtJQUMzQixnREFBeUIsQ0FBQTtJQUN6QixrREFBMkIsQ0FBQTtJQUMzQix3Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBUFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQU85QjtBQWtJRCxNQUFNLENBQU4sSUFBWSxTQU1YO0FBTkQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCxrQ0FBcUIsQ0FBQTtJQUNyQiw4QkFBaUIsQ0FBQTtJQUNqQiwwQkFBYSxDQUFBO0lBQ2IsZ0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQU5XLFNBQVMsS0FBVCxTQUFTLFFBTXBCO0FBaURELE1BQU0sQ0FBTixJQUFZLFdBWVg7QUFaRCxXQUFZLFdBQVc7SUFDckIsZ0NBQWlCLENBQUE7SUFDakIsb0NBQXFCLENBQUE7SUFDckIsdURBQXdDLENBQUE7SUFDeEMsNEJBQWEsQ0FBQTtJQUNiLDhCQUFlLENBQUE7SUFDZiwwQkFBVyxDQUFBO0lBQ1gsZ0NBQWlCLENBQUE7SUFDakIsdUNBQXdCLENBQUE7SUFDeEIsa0NBQW1CLENBQUE7SUFDbkIsMEJBQVcsQ0FBQTtJQUNYLDhCQUFlLENBQUE7QUFDakIsQ0FBQyxFQVpXLFdBQVcsS0FBWCxXQUFXLFFBWXRCO0FBNEZELE1BQU0sQ0FBTixJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLCtCQUFhLENBQUE7SUFDYix5Q0FBdUIsQ0FBQTtJQUN2Qiw2QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4Qix3Q0FBc0IsQ0FBQTtJQUN0Qiw4Q0FBNEIsQ0FBQTtJQUM1Qix1Q0FBcUIsQ0FBQTtJQUNyQixtQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUFtNEhELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7S0FRcEMsQ0FBQztBQUNOLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztLQVU1QyxDQUFDO0FBQ04sTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0tBVTlDLENBQUM7QUFDTixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQW9McEMsc0JBQXNCO0VBQzFCLDhCQUE4QjtFQUM5QixnQ0FBZ0MsRUFBRSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7S0FXL0IsQ0FBQztBQUNOLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7OztLQWdCdEMsQ0FBQztBQUNOLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBc0o1QyxDQUFDO0FBQ04sTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFBOzs7OztLQUs5QixDQUFDO0FBQ04sTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9FekMsQ0FBQztBQUNOLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBa0J4QyxDQUFDO0FBQ04sTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBb0R4QyxDQUFDO0FBQ04sTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BK0V6QywwQkFBMEIsRUFBRSxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E0TG5DLENBQUM7QUFDTixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1uQyx1QkFBdUIsRUFBRSxDQUFDO0FBSzlCLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxNQUFNLENBQUMsUUFBaUU7SUFHN0csWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLHNCQUFzQixDQUFDO0lBSWxDLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFydVFTLE1BQU0sQ0F5dVFhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTXpDLHVCQUF1QixFQUFFLENBQUM7QUFLOUIsTUFBTSxPQUFPLHVCQUF3QixTQUFRLE1BQU0sQ0FBQyxRQUE2RTtJQUcvSCxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsNEJBQTRCLENBQUM7SUFJeEMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQXZ2UVMsTUFBTSxDQTJ2UWEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFBOzs7O0tBSXpDLENBQUM7QUFLSixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsTUFBTSxDQUFDLEtBQWtFO0lBR25ILFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRywyQkFBMkIsQ0FBQztJQUl2QyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBdndRUyxNQUFNLENBMndRYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUE7Ozs7OztLQU14QyxDQUFDO0FBS0osTUFBTSxPQUFPLHFCQUFzQixTQUFRLE1BQU0sQ0FBQyxLQUFnRTtJQUdoSCxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsMEJBQTBCLENBQUM7SUFJdEMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQXp4UVMsTUFBTSxDQTZ4UWEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNbkMsdUJBQXVCLEVBQUUsQ0FBQztBQUs5QixNQUFNLE9BQU8saUJBQWtCLFNBQVEsTUFBTSxDQUFDLEtBQXdEO0lBR3BHLFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRyxzQkFBc0IsQ0FBQztJQUlsQyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBM3lRUyxNQUFNLENBK3lRYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUE7Ozs7S0FJbEMsQ0FBQztBQUtKLE1BQU0sT0FBTyxlQUFnQixTQUFRLE1BQU0sQ0FBQyxRQUE2RDtJQUd2RyxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsb0JBQW9CLENBQUM7SUFJaEMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQTN6UVMsTUFBTSxDQSt6UWEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNakMsdUJBQXVCLEVBQUUsQ0FBQztBQUs5QixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxNQUFNLENBQUMsUUFBNkQ7SUFHdkcsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLG9CQUFvQixDQUFDO0lBSWhDLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUE3MFFTLE1BQU0sQ0FpMVFhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTXpDLHVCQUF1QixFQUFFLENBQUM7QUFLOUIsTUFBTSxPQUFPLHVCQUF3QixTQUFRLE1BQU0sQ0FBQyxRQUE2RTtJQUcvSCxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsNEJBQTRCLENBQUM7SUFJeEMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQS8xUVMsTUFBTSxDQW0yUWEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNMUMsdUJBQXVCLEVBQUUsQ0FBQztBQUs5QixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsTUFBTSxDQUFDLFFBQStFO0lBR2xJLFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRyw2QkFBNkIsQ0FBQztJQUl6QyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBajNRUyxNQUFNLENBcTNRYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1wQyx1QkFBdUIsRUFBRSxDQUFDO0FBSzlCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxNQUFNLENBQUMsUUFBbUU7SUFHaEgsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLHVCQUF1QixDQUFDO0lBSW5DLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFuNFFTLE1BQU0sQ0F1NFFhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWxDLHVCQUF1QixFQUFFLENBQUM7QUFLOUIsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU0sQ0FBQyxLQUFzRDtJQUdqRyxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcscUJBQXFCLENBQUM7SUFJakMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQXI1UVMsTUFBTSxDQXk1UWEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNckMsdUJBQXVCLEVBQUUsQ0FBQztBQUs5QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsTUFBTSxDQUFDLFFBQXFFO0lBR25ILFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRyx3QkFBd0IsQ0FBQztJQUlwQyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBdjZRUyxNQUFNLENBMjZRYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU0vQix1QkFBdUIsRUFBRSxDQUFDO0FBSzlCLE1BQU0sT0FBTyxhQUFjLFNBQVEsTUFBTSxDQUFDLFFBQXlEO0lBR2pHLFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRyxrQkFBa0IsQ0FBQztJQUk5QixDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBejdRUyxNQUFNLENBNjdRYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQW1EbEMsaUJBQWlCLEVBQUUsQ0FBQztBQUt4QixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsTUFBTSxDQUFDLEtBQXNEO0lBR2pHLFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRyxxQkFBcUIsQ0FBQztJQUlqQyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBeC9RUyxNQUFNLENBNC9RYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7S0FPbkMsQ0FBQztBQUtKLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNLENBQUMsUUFBK0Q7SUFHMUcsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLHFCQUFxQixDQUFDO0lBSWpDLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUEzZ1JTLE1BQU0sQ0ErZ1JhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTJDdEQsQ0FBQztBQUtKLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxNQUFNLENBQUMsS0FBNEY7SUFHMUosWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLHdDQUF3QyxDQUFDO0lBSXBELENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFsa1JTLE1BQU0sQ0Fza1JhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE0RmxDLGlCQUFpQixFQUFFLENBQUM7QUFLeEIsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU0sQ0FBQyxLQUFzRDtJQUdqRyxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcscUJBQXFCLENBQUM7SUFJakMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQTFxUlMsTUFBTSxDQThxUmEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7O0tBSXJDLENBQUM7QUFLSixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsTUFBTSxDQUFDLFFBQW1FO0lBR2hILFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRyx1QkFBdUIsQ0FBQztJQUluQyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBMXJSUyxNQUFNLENBOHJSYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztLQVlqQyxDQUFDO0FBS0osTUFBTSxPQUFPLGNBQWUsU0FBUSxNQUFNLENBQUMsUUFBMkQ7SUFHcEcsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLG1CQUFtQixDQUFDO0lBSS9CLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFsdFJTLE1BQU0sQ0FzdFJhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsQ0FBQTs7OztLQUkzQyxDQUFDO0FBS0osTUFBTSxPQUFPLHdCQUF5QixTQUFRLE1BQU0sQ0FBQyxRQUErRTtJQUdsSSxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsNkJBQTZCLENBQUM7SUFJekMsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQWx1UlMsTUFBTSxDQXN1UmEsTUFBTTs7QUFJckMsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFBOzs7O0tBSXhDLENBQUM7QUFLSixNQUFNLE9BQU8scUJBQXNCLFNBQVEsTUFBTSxDQUFDLFFBQXlFO0lBR3pILFlBQVksTUFBcUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSGhCLGFBQVEsR0FBRywwQkFBMEIsQ0FBQztJQUl0QyxDQUFDOzs7O1lBUkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBbHZSUyxNQUFNLENBc3ZSYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLENBQUE7Ozs7S0FJdkMsQ0FBQztBQUtKLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxNQUFNLENBQUMsUUFBdUU7SUFHdEgsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLHlCQUF5QixDQUFDO0lBSXJDLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFsd1JTLE1BQU0sQ0Fzd1JhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBMk45QixDQUFDO0FBS0osTUFBTSxPQUFPLFdBQVksU0FBUSxNQUFNLENBQUMsUUFBcUQ7SUFHM0YsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLGdCQUFnQixDQUFDO0lBSTVCLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUF6K1JTLE1BQU0sQ0E2K1JhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E0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MEU7SUFHL0gsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLCtCQUErQixDQUFDO0lBSTNDLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFyNlpTLE1BQU0sQ0F5NlphLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBBcG9sbG8gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuZXhwb3J0IHR5cGUgTWF5YmU8VD4gPSBUIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEV4YWN0PFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIH07XG5leHBvcnQgdHlwZSBNYWtlT3B0aW9uYWw8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXT86IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIE1ha2VNYXliZTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdOiBNYXliZTxUW1N1YktleV0+IH07XG5leHBvcnQgdHlwZSBGaWVsZFdyYXBwZXI8VD4gPSBUO1xuLyoqIEFsbCBidWlsdC1pbiBhbmQgY3VzdG9tIHNjYWxhcnMsIG1hcHBlZCB0byB0aGVpciBhY3R1YWwgdmFsdWVzICovXG5leHBvcnQgdHlwZSBTY2FsYXJzID0ge1xuICBJRDogc3RyaW5nO1xuICBTdHJpbmc6IHN0cmluZztcbiAgQm9vbGVhbjogYm9vbGVhbjtcbiAgSW50OiBudW1iZXI7XG4gIEZsb2F0OiBudW1iZXI7XG4gIERhdGU6IGFueTtcbiAgRGF0ZVRpbWU6IGFueTtcbiAgSlNPTjogYW55O1xufTtcblxuXG5cbmV4cG9ydCB0eXBlIEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWRkcmVzcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlck9yTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdHJlZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG93bj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzSW5wdXQgPSB7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBBZnRlckNhbmNlbGxhdGlvbkluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWZ0ZXJDYW5jZWxsYXRpb25JbmZvJztcbiAgY2FuY2VsbGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsbGF0aW9uRmVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJsaW5lUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGlhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWxsc2lnbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbnRpbmVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhbm5lckltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ29JbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlybGluZVJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnO1xuICBpYXRhTWF0Y2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdD4+O1xuICBnZW5lcmFsTWF0Y2hlczogQXJyYXk8RmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXJtaW5hbHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBoYXNMb3VuZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzUHVibGljVHJhdmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnREZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCc7XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFsdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgYXJlYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZzZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnRSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJztcbiAgaWF0YU1hdGNoPzogTWF5YmU8RmllbGRXcmFwcGVyPEFpcnBvcnQ+PjtcbiAgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJwb3J0Pj47XG59O1xuXG5leHBvcnQgZW51bSBBcHBsaWNhdGlvblN0YWdlIHtcbiAgQmVmb3JlU2VhcmNoID0gJ0JFRk9SRV9TRUFSQ0gnLFxuICBBZnRlclNlYXJjaCA9ICdBRlRFUl9TRUFSQ0gnXG59XG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0UnVsZXNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwbHlKSVRSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBBcHByb3ZlZSA9IHtcbiAgX190eXBlbmFtZT86ICdBcHByb3ZlZSc7XG4gIGFwcHJvdmVlOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaW9yaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXBwcm92ZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwcm92ZXInO1xuICBhcHByb3ZlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmlvcml0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFzc29jaWF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJztcbiAgY2F0ZWdvcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNkZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luQ1JTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0Q1JTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RUaXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZSc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxCYWdnYWdlVHlwZT47XG4gIHF0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgd2VpZ2h0UHJvdmlkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhLRz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIG1heExCUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBCYWdnYWdlVHlwZSB7XG4gIENoZWNrSW4gPSAnQ2hlY2tJbicsXG4gIEhhbmRDYXJyeSA9ICdIYW5kQ2FycnknXG59XG5cbmV4cG9ydCB0eXBlIEJhc2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBvd25lcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBpbnZva2VkVXNlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHJlZmVyZW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbXM6IEFycmF5PEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPEJhc2tldFN0YXR1cz47XG4gIGNvbXBhbnlHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgdmFsaWRhdGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYm9va2VkQXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFza2V0SXRlbSA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXRJdGVtJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWR1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjaGlsZHJlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZGV0YWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgZGV0YWlsSGFzaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBleHBpcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZXhwaXJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBndWVzdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxHdWVzdD4+O1xuICB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUGFzc2VuZ2VyVHlwZT4+O1xuICBndWVzdFBhc3NlbmdlclR5cGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlclBhc3NlbmdlclR5cGU+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyT3JHdWVzdD4+O1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIHNlYXJjaFF1ZXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaUdyb3Vwc0F2YWlsYWJsZTogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1pR3JvdXBTZWxlY3RlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYW5hZ2VtZW50SW5mbzogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIHZhbGlkYXRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGxhdGVzdFZhbGlkYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG5yTG9jYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nRGV0YWlsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtU3RhdHVzPjtcbiAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJJdGVtQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckl0ZW1QaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYW1lbmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGluYm91bmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgY29udmVydGVkQ3VycmVuY3lBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjb252ZXJ0ZWRDdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQmFza2V0SXRlbVN0YXR1cyB7XG4gIE9wZW4gPSAnT1BFTicsXG4gIEJvb2tlZCA9ICdCT09LRUQnLFxuICBDYW5jZWxsZWQgPSAnQ0FOQ0VMTEVEJyxcbiAgQm9va2luZ0ZhaWxlZCA9ICdCT09LSU5HX0ZBSUxFRCdcbn1cblxuZXhwb3J0IGVudW0gQmFza2V0U3RhdHVzIHtcbiAgT3BlbiA9ICdPUEVOJyxcbiAgQm9va2VkID0gJ0JPT0tFRCcsXG4gIEF3YWl0aW5nQXBwcm92YWwgPSAnQVdBSVRJTkdfQVBQUk9WQUwnLFxuICBBcHByb3ZlZCA9ICdBUFBST1ZFRCcsXG4gIERpc2FwcHJvdmVkID0gJ0RJU0FQUFJPVkVEJyxcbiAgUGFydGlhbGx5Qm9va2VkID0gJ1BBUlRJQUxMWV9CT09LRUQnLFxuICBCb29raW5nRmFpbGVkID0gJ0JPT0tJTkdfRkFJTEVEJ1xufVxuXG5leHBvcnQgdHlwZSBCZWZvcmVDYW5jZWxsYXRpb25JbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0JlZm9yZUNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuY2VsbGF0aW9uRmVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJvb2tlZEJ5RmllbGQge1xuICBOYW1lID0gJ05BTUUnLFxuICBFbWFpbCA9ICdFTUFJTCdcbn1cblxuZXhwb3J0IGVudW0gQm9va2VyVHlwZSB7XG4gIFJvb3QgPSAnUk9PVCcsXG4gIFRtYyA9ICdUTUMnLFxuICBDb21wYW55ID0gJ0NPTVBBTlknLFxuICBPZmZpY2UgPSAnT0ZGSUNFJyxcbiAgQ29tcGFueUdyb3VwID0gJ0NPTVBBTllfR1JPVVAnLFxuICBTZWxmQm9vayA9ICdTRUxGX0JPT0snLFxuICBCb29rZXIgPSAnQk9PS0VSJyxcbiAgVHJhdmVsbGVyID0gJ1RSQVZFTExFUicsXG4gIEJvb2tlcldpdGhTZWxmID0gJ0JPT0tFUl9XSVRIX1NFTEYnXG59XG5cbmV4cG9ydCB0eXBlIEJvb2tpbmdBZGRyZXNzID0ge1xuICBudW1iZXJPck5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdHJlZXQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0b3duOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnR5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBCb29raW5nUGhvbmVOdW1iZXIgPSB7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYXJlYUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBleHRlbnNpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJztcbiAgYWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVMb2NhdGlvbklucHV0ID0ge1xuICBhZGRyZXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVRdW90ZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHN1cHBsaWVyTmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXN0aW1hdGVkQ08yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgdmVoaWNsZVR5cGU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlVmVoaWNsZVR5cGU+O1xuICB0cmlwRGlzdGFuY2VNZXRyZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJpcER1cmF0aW9uU2Vjb25kcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBkZXBhcnRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/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+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZW5kb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FyYm9uQWxsb3dhbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHN0YXJ0T2ZQZXJpb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kT2ZQZXJpb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcmVtYWluaW5nQ28yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRvdGFsQ28yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNhcmJvblBvbGljeVNvdXJjZTogRmllbGRXcmFwcGVyPENhcmJvblBvbGljeVNvdXJjZT47XG4gIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FyYm9uQ29uc3VtcHRpb24+PjtcbiAgY29tcGFueT86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIG9mZmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FyYm9uQ29uc3VtcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBjb25zdW1lZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkYXRldGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FyYm9uUG9saWN5U291cmNlIHtcbiAgQ29tcGFueSA9ICdDT01QQU5ZJyxcbiAgT2ZmaWNlID0gJ09GRklDRScsXG4gIFVzZXIgPSAnVVNFUidcbn1cblxuZXhwb3J0IHR5cGUgQ2l0eSA9IHtcbiAgX190eXBlbmFtZT86ICdDaXR5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvb3JkaW5hdGVzOiBGaWVsZFdyYXBwZXI8R2VvQ29vcmRpbmF0ZXM+O1xuICBjb250aW5lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcGFueSA9IHtcbiAgX190eXBlbmFtZT86ICdDb21wYW55JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgb2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgcGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgdXNlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHN1cHBvcnRFbWFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY28yQ29uc3VtcHRpb25Qb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm9maWxlQ29uZmlnPzogTWF5YmU8RmllbGRXcmFwcGVyPFByb2ZpbGVDb25maWc+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXBhbnlHcm91cCA9IHtcbiAgX190eXBlbmFtZT86ICdDb21wYW55R3JvdXAnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0JztcbiAgcmVzdWx0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNpdHlMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbic7XG4gIGZvdW5kRXhhY3Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzdWdnZXN0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZUFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VBZGRyZXNzJztcbiAgYWRkcmVzc05hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUxPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGFsQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNzaW1pbGVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXRlUHJvdmluY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbW9iaWxlTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZUhvdGVscyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUhvdGVscyc7XG4gIGhvdGVsSWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzUHJlZmVycmVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSW5mbyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VBZGRyZXNzPj47XG4gIGNsb3Nlc3RBaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3Nlc3RUcmFpblN0YXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3Nlc3RIb3RlbHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VIb3RlbHM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VOYW1lcyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlTmFtZXM+Pj4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlSW5mbz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ291bnRyeSA9IHtcbiAgX190eXBlbmFtZT86ICdDb3VudHJ5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlhbENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEN1cnJlbmN5Q29kZSB7XG4gIEFlZCA9ICdBRUQnLFxuICBBZm4gPSAnQUZOJyxcbiAgQWxsID0gJ0FMTCcsXG4gIEFtZCA9ICdBTUQnLFxuICBBbmcgPSAnQU5HJyxcbiAgQW9hID0gJ0FPQScsXG4gIEFycyA9ICdBUlMnLFxuICBBdWQgPSAnQVVEJyxcbiAgQXdnID0gJ0FXRycsXG4gIEF6biA9ICdBWk4nLFxuICBCYW0gPSAnQkFNJyxcbiAgQmJkID0gJ0JCRCcsXG4gIEJkdCA9ICdCRFQnLFxuICBCZ24gPSAnQkdOJyxcbiAgQmhkID0gJ0JIRCcsXG4gIEJpZiA9ICdCSUYnLFxuICBCbWQgPSAnQk1EJyxcbiAgQm5kID0gJ0JORCcsXG4gIEJvYiA9ICdCT0InLFxuICBCb3YgPSAnQk9WJyxcbiAgQnJsID0gJ0JSTCcsXG4gIEJzZCA9ICdCU0QnLFxuICBCdG4gPSAnQlROJyxcbiAgQndwID0gJ0JXUCcsXG4gIEJ5biA9ICdCWU4nLFxuICBCemQgPSAnQlpEJyxcbiAgQ2FkID0gJ0NBRCcsXG4gIENkZiA9ICdDREYnLFxuICBDaGUgPSAnQ0hFJyxcbiAgQ2hmID0gJ0NIRicsXG4gIENodyA9ICdDSFcnLFxuICBDbGYgPSAnQ0xGJyxcbiAgQ2xwID0gJ0NMUCcsXG4gIENueSA9ICdDTlknLFxuICBDb3AgPSAnQ09QJyxcbiAgQ291ID0gJ0NPVScsXG4gIENyYyA9ICdDUkMnLFxuICBDdWMgPSAnQ1VDJyxcbiAgQ3VwID0gJ0NVUCcsXG4gIEN2ZSA9ICdDVkUnLFxuICBDemsgPSAnQ1pLJyxcbiAgRGpmID0gJ0RKRicsXG4gIERrayA9ICdES0snLFxuICBEb3AgPSAnRE9QJyxcbiAgRHpkID0gJ0RaRCcsXG4gIEVncCA9ICdFR1AnLFxuICBFcm4gPSAnRVJOJyxcbiAgRXRiID0gJ0VUQicsXG4gIEV1ciA9ICdFVVInLFxuICBGamQgPSAnRkpEJyxcbiAgRmtwID0gJ0ZLUCcsXG4gIEdicCA9ICdHQlAnLFxuICBHZWwgPSAnR0VMJyxcbiAgR2hzID0gJ0dIUycsXG4gIEdpcCA9ICdHSVAnLFxuICBHbWQgPSAnR01EJyxcbiAgR25mID0gJ0dORicsXG4gIEd0cSA9ICdHVFEnLFxuICBHeWQgPSAnR1lEJyxcbiAgSGtkID0gJ0hLRCcsXG4gIEhubCA9ICdITkwnLFxuICBIcmsgPSAnSFJLJyxcbiAgSHRnID0gJ0hURycsXG4gIEh1ZiA9ICdIVUYnLFxuICBJZHIgPSAnSURSJyxcbiAgSWxzID0gJ0lMUycsXG4gIEluciA9ICdJTlInLFxuICBJcWQgPSAnSVFEJyxcbiAgSXJyID0gJ0lSUicsXG4gIElzayA9ICdJU0snLFxuICBKbWQgPSAnSk1EJyxcbiAgSm9kID0gJ0pPRCcsXG4gIEpweSA9ICdKUFknLFxuICBLZXMgPSAnS0VTJyxcbiAgS2dzID0gJ0tHUycsXG4gIEtociA9ICdLSFInLFxuICBLbWYgPSAnS01GJyxcbiAgS3B3ID0gJ0tQVycsXG4gIEtydyA9ICdLUlcnLFxuICBLd2QgPSAnS1dEJyxcbiAgS3lkID0gJ0tZRCcsXG4gIEt6dCA9ICdLWlQnLFxuICBMYWsgPSAnTEFLJyxcbiAgTGJwID0gJ0xCUCcsXG4gIExrciA9ICdMS1InLFxuICBMcmQgPSAnTFJEJyxcbiAgTHNsID0gJ0xTTCcsXG4gIEx5ZCA9ICdMWUQnLFxuICBNYWQgPSAnTUFEJyxcbiAgTWRsID0gJ01ETCcsXG4gIE1nYSA9ICdNR0EnLFxuICBNa2QgPSAnTUtEJyxcbiAgTW1rID0gJ01NSycsXG4gIE1udCA9ICdNTlQnLFxuICBNb3AgPSAnTU9QJyxcbiAgTXJ1ID0gJ01SVScsXG4gIE11ciA9ICdNVVInLFxuICBNdnIgPSAnTVZSJyxcbiAgTXdrID0gJ01XSycsXG4gIE14biA9ICdNWE4nLFxuICBNeHYgPSAnTVhWJyxcbiAgTXlyID0gJ01ZUicsXG4gIE16biA9ICdNWk4nLFxuICBOYWQgPSAnTkFEJyxcbiAgTmduID0gJ05HTicsXG4gIE5pbyA9ICdOSU8nLFxuICBOb2sgPSAnTk9LJyxcbiAgTnByID0gJ05QUicsXG4gIE56ZCA9ICdOWkQnLFxuICBPbXIgPSAnT01SJyxcbiAgUGFiID0gJ1BBQicsXG4gIFBlbiA9ICdQRU4nLFxuICBQZ2sgPSAnUEdLJyxcbiAgUGhwID0gJ1BIUCcsXG4gIFBrciA9ICdQS1InLFxuICBQbG4gPSAnUExOJyxcbiAgUHlnID0gJ1BZRycsXG4gIFFhciA9ICdRQVInLFxuICBSb24gPSAnUk9OJyxcbiAgUnNkID0gJ1JTRCcsXG4gIFJ1YiA9ICdSVUInLFxuICBSd2YgPSAnUldGJyxcbiAgU2FyID0gJ1NBUicsXG4gIFNiZCA9ICdTQkQnLFxuICBTY3IgPSAnU0NSJyxcbiAgU2RnID0gJ1NERycsXG4gIFNlayA9ICdTRUsnLFxuICBTZ2QgPSAnU0dEJyxcbiAgU2hwID0gJ1NIUCcsXG4gIFNsbCA9ICdTTEwnLFxuICBTb3MgPSAnU09TJyxcbiAgU3JkID0gJ1NSRCcsXG4gIFNzcCA9ICdTU1AnLFxuICBTdG4gPSAnU1ROJyxcbiAgU3ZjID0gJ1NWQycsXG4gIFN5cCA9ICdTWVAnLFxuICBTemwgPSAnU1pMJyxcbiAgVGhiID0gJ1RIQicsXG4gIFRqcyA9ICdUSlMnLFxuICBUbXQgPSAnVE1UJyxcbiAgVG5kID0gJ1RORCcsXG4gIFRvcCA9ICdUT1AnLFxuICBUcnkgPSAnVFJZJyxcbiAgVHRkID0gJ1RURCcsXG4gIFR3ZCA9ICdUV0QnLFxuICBUenMgPSAnVFpTJyxcbiAgVWFoID0gJ1VBSCcsXG4gIFVneCA9ICdVR1gnLFxuICBVc2QgPSAnVVNEJyxcbiAgVXNuID0gJ1VTTicsXG4gIFV5aSA9ICdVWUknLFxuICBVeXUgPSAnVVlVJyxcbiAgVXpzID0gJ1VaUycsXG4gIFZlZiA9ICdWRUYnLFxuICBWbmQgPSAnVk5EJyxcbiAgVnV2ID0gJ1ZVVicsXG4gIFdzdCA9ICdXU1QnLFxuICBYYWYgPSAnWEFGJyxcbiAgWGFnID0gJ1hBRycsXG4gIFhhdSA9ICdYQVUnLFxuICBYYmEgPSAnWEJBJyxcbiAgWGJiID0gJ1hCQicsXG4gIFhiYyA9ICdYQkMnLFxuICBYYmQgPSAnWEJEJyxcbiAgWGNkID0gJ1hDRCcsXG4gIFhkciA9ICdYRFInLFxuICBYb2YgPSAnWE9GJyxcbiAgWHBkID0gJ1hQRCcsXG4gIFhwZiA9ICdYUEYnLFxuICBYcHQgPSAnWFBUJyxcbiAgWHN1ID0gJ1hTVScsXG4gIFh0cyA9ICdYVFMnLFxuICBYdWEgPSAnWFVBJyxcbiAgWHh4ID0gJ1hYWCcsXG4gIFllciA9ICdZRVInLFxuICBaYXIgPSAnWkFSJyxcbiAgWm13ID0gJ1pNVycsXG4gIFp3bCA9ICdaV0wnXG59XG5cblxuXG5leHBvcnQgdHlwZSBEZXBhcnR1cmVCb2FyZFNlcnZpY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRGVwYXJ0dXJlQm9hcmRTZXJ2aWNlJztcbiAgcmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNkZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbGF0Zm9ybT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbGF0Zm9ybUlzSGlkZGVuOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb3JpZ2luPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uPj47XG4gIGRlc3RpbmF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uPj47XG4gIHN1YnNlcXVlbnRMb2NhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U3Vic2VxdWVudExvY2F0aW9ucz4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBEZXN0aW5hdGlvbkVudHJ5ID0ge1xuICBvcmlnOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzdDogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbn07XG5cbmV4cG9ydCBlbnVtIERpc3RhbmNlVHlwZXMge1xuICBLID0gJ0snLFxuICBNID0gJ00nXG59XG5cbmV4cG9ydCBlbnVtIERvY0dlbmRlciB7XG4gIE0gPSAnTScsXG4gIEYgPSAnRidcbn1cblxuZXhwb3J0IGVudW0gRG9jVHlwZSB7XG4gIFBhc3Nwb3J0ID0gJ1BBU1NQT1JUJyxcbiAgVmlzYSA9ICdWSVNBJyxcbiAgSWRDYXJkID0gJ0lEX0NBUkQnXG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0RvY3VtZW50JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBkb2NUeXBlOiBGaWVsZFdyYXBwZXI8RG9jVHlwZT47XG4gIG5hdGlvbmFsaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdlbmRlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxEb2NHZW5kZXI+PjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvZGVPZklzc3VpbmdTdGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlT2ZJc3N1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZFeHBpcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRJbnB1dCA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZG9jVHlwZTogRG9jVHlwZTtcbiAgbmF0aW9uYWxpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdlbmRlcj86IE1heWJlPERvY0dlbmRlcj47XG4gIG51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGVPZklzc3VpbmdTdGF0ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZU9mSXNzdWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRhdGVPZkV4cGlyeTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgcHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBEb2N1bWVudFNob3J0SW5wdXQgPSB7XG4gIGRvY3VtZW50SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/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+O1xuICBib3VuZEluZGljYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZmxpZ2h0czogRmllbGRXcmFwcGVyPE1hdGNoaW5nRmxpZ2h0cz47XG59O1xuXG5leHBvcnQgdHlwZSBHdWVzdCA9IHtcbiAgX190eXBlbmFtZT86ICdHdWVzdCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb3JlbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdlbmRlcjogRmllbGRXcmFwcGVyPERvY0dlbmRlcj47XG4gIG5hdGlvbmFsaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcyc7XG4gIGFkZHJlc3NMaW5lMT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjc2ltaWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEF2YWlsYWJpbGl0eSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eSc7XG4gIGhvdGVsSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGltYWdlVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByb29tcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFJvb20+Pj4+O1xuICBwcnBuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3lDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzQnVzeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZXJzaW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbENhcmQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbENvbnZlcnNpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJztcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb2NhbENvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2FsVG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY29udmVydGVkQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29udmVydGVkVG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsRGVwb3NpdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbERlcG9zaXQnO1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcG9saWN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsSXRpbmVyYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGltYWdlVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb246IEZpZWxkV3JhcHBlcjxIb3RlbExvY2F0aW9uPjtcbiAgYWRkcmVzczogRmllbGRXcmFwcGVyPEhvdGVsQWRkcmVzcz47XG4gIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxUcmFuc3BvcnQ+Pj4+O1xuICBwcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxIb3RlbFByZWZlcnJlZD47XG4gIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxUYWc+Pj4+O1xuICBhdmFpbGFibGVSYXRlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+O1xuICBzdGFycz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbExvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nO1xuICBkaXN0YW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkaXN0YW5jZVR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+Pj4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxOaWdodCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE5pZ2h0JztcbiAgbmlnaHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHJhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgaW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUGF5bWVudFR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZSc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUG9saWN5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcG9zaXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGdlbmVyYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ3VhcmFudGVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUHJlZmVycmVkID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUHJlZmVycmVkJztcbiAgY2xpZW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29uc3VtZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxSb29tID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbSc7XG4gIHJvb21JZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcm9vbVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm9vbURlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZURlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvdGFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQ29udmVyc2lvbj4+O1xuICBkZXBvc2l0PzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsRGVwb3NpdD4+O1xuICBuaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxIb3RlbE5pZ2h0Pj47XG4gIHBvbGljaWVzOiBGaWVsZFdyYXBwZXI8SG90ZWxQb2xpY3k+O1xuICB0YXg6IEZpZWxkV3JhcHBlcjxIb3RlbFRheD47XG4gIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxDYXJkPj4+PjtcbiAgcGF5bWVudFR5cGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsUGF5bWVudFR5cGU+Pj4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVzUmVhc29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVxdWlyZXNSZWFzb25NZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxJdGluZXJhcnk+Pj4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxUYWcgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxUYWcnO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGljb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRheCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRheCc7XG4gIGluY2x1ZGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxUcmFuc3BvcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxUcmFuc3BvcnQnO1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpc3RhbmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRpc3RhbmNlVHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsQ2xhc3Mge1xuICBBbGwgPSAnQWxsJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBTdGFuZGFyZCA9ICdTdGFuZGFyZCdcbn1cblxuZXhwb3J0IHR5cGUgSXJsRHluYW1pY0NvbmRpdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxEeW5hbWljQ29uZGl0aW9uJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2lnbmF0dXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGxvd2VkV2l0aDogQXJyYXk8RmllbGRXcmFwcGVyPElybElkZW50aWZpZXJzPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybEpvdXJuZXlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybElkZW50aWZpZXJzPj47XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsVHJhdmVsbGVyPj4+O1xuICBmcm9tPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZyb21Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgY2hhbmdlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWdtZW50Pj4+O1xuICBwcm92aWRlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsUHJvdmlkZXI+Pj47XG4gIHVuc2VsbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFRpY2tldEV4dHJhPj4+O1xuICBwbHVzQnVzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFBsdXNCdXM+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybEpvdXJuZXlPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb25zJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbj4+PjtcbiAgcmV0dXJuPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybEpvdXJuZXlPcHRpb24+Pj47XG4gIGpyZnJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsSm91cm5leVR5cGUge1xuICBSZXR1cm5Kb3VybmV5ID0gJ1JldHVybkpvdXJuZXknLFxuICBTaW5nbGVKb3VybmV5ID0gJ1NpbmdsZUpvdXJuZXknXG59XG5cbmV4cG9ydCB0eXBlIElybE9mZmxpbmVOb3RpZnlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMT2ZmbGluZU5vdGlmeVJlc3VsdCc7XG4gIHN1Y2Nlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsT2ZmbGluZVBhc3NlbmdlciA9IHtcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWdlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNjb3VudENhcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxveWFsdHlDYXJkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsUGx1c0J1cyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJztcbiAgb3JpZ2luUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+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+O1xufTtcblxuXG5leHBvcnQgdHlwZSBMYW5ndWFnZSA9IHtcbiAgX190eXBlbmFtZT86ICdMYW5ndWFnZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlzb0NvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgZW51bSBMZWFkUGFzc2VuZ2VyVHlwZSB7XG4gIFVzZXIgPSAnVVNFUicsXG4gIEd1ZXN0ID0gJ0dVRVNUJ1xufVxuXG5leHBvcnQgdHlwZSBMaXZlRGVwQm9hcmRSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/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+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8TG91bmdlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGJJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaGFuZG9mZjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWVNYXNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgdWlQcmVzZW50YXRpb246IEZpZWxkV3JhcHBlcjxVaVByZXNlbnRhdGlvbj47XG4gIG1hbmRhdG9yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlYXNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckJvb2tpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+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+O1xuICBjb2xsYXBzZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIE1lc3NhZ2VUYXJnZXQge1xuICBMb2dpbiA9ICdMT0dJTicsXG4gIFNlYXJjaEZvcm0gPSAnU0VBUkNIX0ZPUk0nLFxuICBSZXN1bHRzID0gJ1JFU1VMVFMnLFxuICBNaUZvcm0gPSAnTUlfRk9STScsXG4gIEJhc2tldEJlZm9yZUNvbmZpcm0gPSAnQkFTS0VUX0JFRk9SRV9DT05GSVJNJyxcbiAgRGFzaGJvYXJkID0gJ0RBU0hCT0FSRCdcbn1cblxuZXhwb3J0IHR5cGUgTXV0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nO1xuICBzYXZlVXNlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxBZGRyZXNzPjtcbiAgZGVsZXRlVXNlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRBZGRyZXNzQXNVc2VyUHJpbWFyeTogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjcmVhdGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBkZWxldGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1cGRhdGVCYXNrZXRUaXRsZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHVwZGF0ZUJhc2tldE5vdGVzOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkSXRlbVRvQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlSXRlbUZyb21CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtc0Zyb21CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFkZFVzZXJzVG9CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlR3Vlc3RGcm9tQmFza2V0SXRlbTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlb3BlbkJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYm9va0Jhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNhbmNlbEJvb2tpbmc6IEZpZWxkV3JhcHBlcjxBZnRlckNhbmNlbGxhdGlvbkluZm8+O1xuICBjcmVhdGVHdWVzdDogRmllbGRXcmFwcGVyPEd1ZXN0PjtcbiAgYWRkR3Vlc3RzVG9CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8R3Vlc3Q+O1xuICBzZXRCYXNrZXRJdGVtTUlHcm91cDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNldE1JRGVmYXVsdFZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QmFza2V0SXRlbU1JVmFsdWU6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjb25maXJtTWVzc2FnZXM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJldmFsaWRhdGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZXZhbGlkYXRlQmFza2V0SXRlbTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFjY2VwdE5ld1ByaWNlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2F2ZUZhdm91cml0ZVNlYXJjaDogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBzYXZlUmVjZW50U2VhcmNoOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGRlbGV0ZUZhdm91cml0ZVNlYXJjaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlbGV0ZVJlY2VudFNlYXJjaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVkaXRVc2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIHNldFVzZXJMYW5ndWFnZTogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVVc2VyQWRkcmVzc0FyZ3MgPSB7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlVXNlckFkZHJlc3NBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRBZGRyZXNzQXNVc2VyUHJpbWFyeUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNlbmRCYXNrZXRGb3JBcHByb3ZhbEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpbnZva2VkVXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUJhc2tldEFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVCYXNrZXRUaXRsZUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ld1RpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVCYXNrZXROb3Rlc0FyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRJdGVtVG9CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW52b2tlZFVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIGRldGFpbDogU2NhbGFyc1snSlNPTiddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJpY2U6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGN1cnJlbmN5OiBDdXJyZW5jeUNvZGU7XG4gIHNlYXJjaFF1ZXJ5OiBTY2FsYXJzWydKU09OJ107XG4gIHF1aWNrQWRkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcnM/OiBNYXliZTxBcnJheTxNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj4+O1xuICBndWVzdHM/OiBNYXliZTxBcnJheTxNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxlYWRQYXNzZW5nZXJUeXBlPzogTWF5YmU8TGVhZFBhc3NlbmdlclR5cGU+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlcXVpcmVzUmVhc29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVJdGVtRnJvbUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUl0ZW1zRnJvbUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJZDogU2NhbGFyc1snSUQnXTtcbiAgYmFza2V0SXRlbXM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIG5ld0Jhc2tldDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRVc2Vyc1RvQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlR3Vlc3RGcm9tQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBndWVzdDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW9wZW5CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXJPckd1ZXN0OiBTY2FsYXJzWydJRCddO1xuICBsZWFkUGFzc2VuZ2VyVHlwZTogTGVhZFBhc3NlbmdlclR5cGU7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQm9va0Jhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3VwcGxlbWVudGFyeUluZm86IEFycmF5PFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ2FuY2VsQm9va2luZ0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlR3Vlc3RBcmdzID0ge1xuICB0aXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGZvcmVuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGVtYWlsOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZ2VuZGVyOiBEb2NHZW5kZXI7XG4gIG5hdGlvbmFsaXR5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRHdWVzdHNUb0Jhc2tldEl0ZW1BcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3Vlc3RzOiBBcnJheTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlHcm91cEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBncm91cD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRNaURlZmF1bHRWYWx1ZUFyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICB2YWx1ZTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlWYWx1ZUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBndWVzdD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNvbmZpcm1NZXNzYWdlc0FyZ3MgPSB7XG4gIG1lc3NhZ2VzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXZhbGlkYXRlQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJldmFsaWRhdGVCYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFjY2VwdE5ld1ByaWNlQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZVJlY2VudFNlYXJjaEFyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVSZWNlbnRTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25FZGl0VXNlckFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkb2I/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBzZWxlY3RlZExhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWVyZ2VuY3lDb250YWN0UGhvbmU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RFbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGhvbmVOdW1iZXJzPzogTWF5YmU8QXJyYXk8UGhvbmVOdW1iZXJJbnB1dD4+O1xuICBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTxBZGRyZXNzSW5wdXQ+PjtcbiAgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PFVzZXJNaURlZmF1bHRWYWx1ZXNJbnB1dD4+O1xuICBkb2N1bWVudHM/OiBNYXliZTxBcnJheTxEb2N1bWVudElucHV0Pj47XG4gIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PFVzZXJMb3lhbHR5Q29kZUlucHV0Pj47XG4gIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8VXNlclByZWZlcmVuY2VJbnB1dD4+O1xuICBhZGRpdGlvbmFsRW1haWw/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVc2VyTGFuZ3VhZ2VBcmdzID0ge1xuICBsYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgT2ZmaWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ09mZmljZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBhZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvZmlsZUNvbmZpZz86IE1heWJlPEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnPj47XG4gIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBzdXBwb3J0RW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ0xvY2F0aW9uJztcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpc3RhbmNlVG9BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgb25BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjYXJQYXJrZWRGb3JZb3U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxQcm9jZWR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlUHJvY2VkdXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1heGltdW1DYXJTaXplPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmZvcm1hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2ZlckluZm9ybWF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVyT3BlcmF0aW5nVGltZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWZhdWx0SW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYnJhbmRJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmdXJ0aGVySW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nUXVvdGUnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjYXJQYXJrOiBGaWVsZFdyYXBwZXI8UGFya2luZ0xvY2F0aW9uPjtcbiAgcmVxdWlyZWRJbmZvOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVzUmVhc29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVxdWlyZXNSZWFzb25NZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGFya2luZ1F1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRDb25maWcgPSB7XG4gIGNzcFVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWdlbnRJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYm9va2VySWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFwaUtleT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlcnZlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsaWVudElkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY2NvdW50VHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWNjb3VudFZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXJJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5Vc2VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5QYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2QgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kSW5wdXQgPSB7XG4gIGNvbmZpZz86IE1heWJlPFBheW1lbnRDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcmVhQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGhvbmVUeXBlPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJJbnB1dCA9IHtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcmVhQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8UGhvbmVUeXBlPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IGVudW0gUGhvbmVUeXBlIHtcbiAgTW9iaWxlID0gJ01PQklMRScsXG4gIExhbmRsaW5lID0gJ0xBTkRMSU5FJyxcbiAgRmF4ID0gJ0ZBWCcsXG4gIE90aGVyID0gJ09USEVSJ1xufVxuXG5leHBvcnQgdHlwZSBQb3N0Y29kZURldGFpbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJztcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgZWFzdGluZ3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbm9ydGhpbmdzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXVyb3BlYW5FbGVjdG9yYWxSZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpbWFyeUNhcmVUcnVzdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbHNvYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtc29hPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBhcmxpYW1lbnRhcnlDb25zdGl0dWVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5EaXN0cmljdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwYXJpc2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5Db3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5XYXJkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjY2c/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnV0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gUHJlZmVyZW5jZUtleSB7XG4gIE1lYWxSZXF1ZXN0ID0gJ01FQUxfUkVRVUVTVCcsXG4gIFNlYXRpbmdQcmVmZXJlbmNlID0gJ1NFQVRJTkdfUFJFRkVSRU5DRScsXG4gIFNwZWNpYWxOZWVkID0gJ1NQRUNJQUxfTkVFRCcsXG4gIFNlYXRMb2NhdGlvbiA9ICdTRUFUX0xPQ0FUSU9OJyxcbiAgU2VhdFBvc2l0aW9uID0gJ1NFQVRfUE9TSVRJT04nLFxuICBTZWF0RGlyZWN0aW9uID0gJ1NFQVRfRElSRUNUSU9OJ1xufVxuXG5leHBvcnQgdHlwZSBQcm9maWxlQ29uZmlnID0ge1xuICBfX3R5cGVuYW1lPzogJ1Byb2ZpbGVDb25maWcnO1xuICBwcm9maWxlOiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIGFkZHJlc3M6IEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnT3B0aW9uPjtcbiAgbWlEZWZhdWx0OiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIGRvY3VtZW50czogRmllbGRXcmFwcGVyPFByb2ZpbGVDb25maWdPcHRpb24+O1xuICBsb3lhbHR5OiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIHRyYXZlbFByZWZlcmVuY2VzOiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIHBheW1lbnQ6IEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnT3B0aW9uPjtcbiAgaW5oZXJpdGVkRnJvbUNvbXBhbnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gUHJvZmlsZUNvbmZpZ09wdGlvbiB7XG4gIEluaGVyaXRlZCA9ICdJTkhFUklURUQnLFxuICBFZGl0YWJsZSA9ICdFRElUQUJMRScsXG4gIFZpc2libGUgPSAnVklTSUJMRScsXG4gIEhpZGRlbiA9ICdISURERU4nXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ1F1ZXJ5JztcbiAgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgZ2V0QWxsQWlybGluZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG4gIHNlYXJjaEFpcmxpbmVzOiBGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdHM+O1xuICBzZWFyY2hBaXJwb3J0czogRmllbGRXcmFwcGVyPEFpcnBvcnRSZXN1bHRzPjtcbiAgZ2V0VXNlckJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGdldFVzZXJCYXNrZXRzOiBBcnJheTxGaWVsZFdyYXBwZXI8QmFza2V0Pj47XG4gIGVtYWlsQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgZ2VuZXJhdGVCYXNrZXRQREY6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaENhYkhpcmU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlUmVzdWx0PjtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIGdldENhbmNlbGxhdGlvbkluZm86IEZpZWxkV3JhcHBlcjxCZWZvcmVDYW5jZWxsYXRpb25JbmZvPjtcbiAgZ2V0Q2FySGlyZVByb3ZpZGVyczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaENhckhpcmU6IEZpZWxkV3JhcHBlcjxDYXJIaXJlUmVzdWx0PjtcbiAgZ2V0Q2FySGlyZURlcG90czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVEZXBvdD4+O1xuICBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdDogRmllbGRXcmFwcGVyPENhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2U+O1xuICBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJib25BbGxvd2FuY2U+PjtcbiAgc2VhcmNoQ2l0aWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2l0eT4+O1xuICBnZXRDb21wYW5pZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIGdldENvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgY29uZmVybWFCbG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgc2VhcmNoQ29uZmVybWFDaXRpZXM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbj47XG4gIGdldENvbmZlcm1hT2ZmaWNlOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VSZXN1bHQ+O1xuICBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdD47XG4gIGdldENvbmZlcm1hUXVpY2tsaXN0OiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRDb25mZXJtYVJvb21JbWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZXRDb3VudHJpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb3VudHJ5Pj47XG4gIGdldENPVklETWljcm9zaXRlVG9rZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaEZhc3RUcmFjazogRmllbGRXcmFwcGVyPEZhc3RUcmFja1Jlc3VsdD47XG4gIHNlYXJjaEZsaWdodHM6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWFyY2hSZXN1bHQ+O1xuICBzZWFyY2hGbGlnaHRzVjI6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWFyY2hSZXN1bHRWMj47XG4gIHNlYXJjaEV1cm9zdGFyOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0VjI+O1xuICBnZXRGbGlnaHRGYXJlUnVsZXM6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXN1bHQ+O1xuICBnZXRGbGlnaHRNZWFsT3B0aW9uczogRmllbGRXcmFwcGVyPEZsaWdodE1lYWxPcHRpb25SZXN1bHQ+O1xuICBnZXRVc2VyR3Vlc3RzOiBBcnJheTxGaWVsZFdyYXBwZXI8R3Vlc3Q+PjtcbiAgYWxpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRIb3RlbENoYWluczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxzOiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRIb3RlbEF2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHk6IEZpZWxkV3JhcHBlcjxIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0SVJMRGlzY291bnRDYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPElybFRyYXZlbENhcmQ+PjtcbiAgc2VuZE9mZmxpbmVOb3RpZmljYXRpb246IEZpZWxkV3JhcHBlcjxJcmxPZmZsaW5lTm90aWZ5UmVzdWx0PjtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFN1cHBsaWVyU3RhdGlvbj4+O1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIGdldFJhaWxQcm92aWRlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hJUkw6IEZpZWxkV3JhcHBlcjxJcmxTZWFyY2hSZXN1bHQ+O1xuICBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IEZpZWxkV3JhcHBlcjxMaXZlRGVwQm9hcmRSZXN1bHQ+O1xuICBzZWFyY2hMb3VuZ2VzOiBGaWVsZFdyYXBwZXI8TG91bmdlU2VhcmNoUmVzdWx0PjtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbGlkYXRlVXNlck1JRnJlZVZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdmFsaWRhdGVCYXNrZXRJdGVtTUk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNZXNzYWdlPj47XG4gIGdldFVzZXJDb21wYW55T2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBnZXRPZmZpY2U6IEZpZWxkV3JhcHBlcjxPZmZpY2U+O1xuICBzZWFyY2hQYXJraW5nOiBGaWVsZFdyYXBwZXI8UGFya2luZ1NlYXJjaFJlc3VsdD47XG4gIGdldEJhc2tldEl0ZW1QYXltZW50U3VwcGxtZW50YXJ5SW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBnZXRQb3N0Y29kZURldGFpbHM6IEZpZWxkV3JhcHBlcjxQb3N0Y29kZURldGFpbHM+O1xuICBwb3N0Y29kZUF1dG9TdWdnZXN0OiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoUG9zdGNvZGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8UG9zdGNvZGVEZXRhaWxzPj47XG4gIGlzUG9zdGNvZGVWYWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldFJhaWxTdGF0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb24+O1xuICBzZWFyY2hSYWlsU3RhdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbj4+O1xuICBzZWFyY2hSYWlsOiBGaWVsZFdyYXBwZXI8UmFpbFNlYXJjaFJlc3VsdD47XG4gIGdldFJhaWxjYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyPj47XG4gIGdldFJpc2tBbGVydHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSaXNrQWxlcnQ+PjtcbiAgYXBwbHlKSVRGbGlnaHRSdWxlczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGFwcGx5SklUSG90ZWxSdWxlczogRmllbGRXcmFwcGVyPEFwcGx5Sml0UnVsZXNSZXN1bHQ+O1xuICBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGdldEZsaWdodFNlYXRNYXA6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwUmVzdWx0PjtcbiAgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VydmljZT4+O1xuICBnZXRURlhTdXBwbGllclJvdXRlczogRmllbGRXcmFwcGVyPFRmeFN1cHBsaWVyUm91dGVzUmVzdWx0PjtcbiAgZ2V0VXNlclVJQ29uZmlnczogRmllbGRXcmFwcGVyPFVpQ29uZmlnQ29sbGVjdGlvbj47XG4gIGdldFVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJsaW5lc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJwb3J0c0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBleGNsdWRlTm9uUHVibGljPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJCYXNrZXRzQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgdHJhdmVsbGVyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldFN0YXR1cz86IE1heWJlPEJhc2tldFN0YXR1cz47XG4gIGNyZWF0ZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjcmVhdGVkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0VGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RW1haWxCYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZW5lcmF0ZUJhc2tldFBkZkFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhYkhpcmVBcmdzID0ge1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFVzZXJDYW5Cb29rRm9yQXJncyA9IHtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENhbmNlbGxhdGlvbkluZm9BcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhckhpcmVBcmdzID0ge1xuICBhaXJwb3J0PzogTWF5YmU8Q2FySGlyZUFpcnBvcnRJbnB1dD47XG4gIGNpdHk/OiBNYXliZTxDYXJIaXJlQ2l0eUlucHV0PjtcbiAgbG9jYXRpb24/OiBNYXliZTxDYXJIaXJlTG9jYXRpb25JbnB1dD47XG4gIGRlcG90PzogTWF5YmU8SW5wdXRDYXJIaXJlRGVwb3Q+O1xuICBwaWNrdXBEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRyb3BvZmZEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xhc3M/OiBNYXliZTxDYXJIaXJlQ2xhc3M+O1xuICB0eXBlPzogTWF5YmU8Q2FySGlyZVR5cGU+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxDYXJIaXJlVHJhbnNtaXNzaW9uPjtcbiAgYWlyY29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM/OiBNYXliZTxEaXN0YW5jZVR5cGVzPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDYXJIaXJlRGVwb3RzQXJncyA9IHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgcmFkaXVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0QXJncyA9IHtcbiAgbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycztcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZUFyZ3MgPSB7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDaXRpZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbXBhbmllc0FyZ3MgPSB7XG4gIHF1ZXJ5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbXBhbnlBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUJsb2NrQ2xpZW50SG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYVVuYmxvY2tDbGllbnRIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFVbmJsb2NrQ29uc3VtZXJIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENvbmZlcm1hQ2l0aWVzQXJncyA9IHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFPZmZpY2VBcmdzID0ge1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFRdWlja2xpc3RBcmdzID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFSb29tSW1hZ2VzQXJncyA9IHtcbiAgaG90ZWxJZDogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmFzdFRyYWNrQXJncyA9IHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmxpZ2h0c1YyQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRXVyb3N0YXJBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRGYXJlUnVsZXNBcmdzID0ge1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRNZWFsT3B0aW9uc0FyZ3MgPSB7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEhvdGVsQ2hhaW5zQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEhvdGVsc0FyZ3MgPSB7XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGNpdHlOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRyYWluU3RhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9mZmljZUlkPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByb29tczogU2NhbGFyc1snSW50J107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRpc3RhbmNlVHlwZTogRGlzdGFuY2VUeXBlcztcbiAgZGlzdGFuY2U6IFNjYWxhcnNbJ0ludCddO1xuICBtYXhSZXN1bHRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBob3RlbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRIb3RlbEF2YWlsYWJpbGl0eUFyZ3MgPSB7XG4gIGhvdGVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvY2N1cGFudHM6IFNjYWxhcnNbJ0ludCddO1xuICByb29tcz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eUFyZ3MgPSB7XG4gIGhvdGVsOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsRGlzY291bnRDYXJkc0FyZ3MgPSB7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZW5kT2ZmbGluZU5vdGlmaWNhdGlvbkFyZ3MgPSB7XG4gIHRyYWluTnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0dXJlU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3RpbmF0aW9uU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGluYm91bmREYXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWRkaXRpb25hbEluZm86IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvZmZsaW5lUmVmZXJlbmNlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbm90aWZ5RW1haWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvbkJlaGFsZk9mOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZUNsYXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGFzc2VuZ2VyczogQXJyYXk8SXJsT2ZmbGluZVBhc3Nlbmdlcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsU3VwcGxpZXJTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsQXJncyA9IHtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGpvdXJuZXlUeXBlOiBJcmxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxJcmxDbGFzcz47XG4gIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgaXJsRGlzY291bnRDYXJkcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRSYWlsTGl2ZURlcGFydHVyZXNBcmdzID0ge1xuICBzdGF0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaExvdW5nZXNBcmdzID0ge1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0FyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVZhbGlkYXRlVXNlck1pRnJlZVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVCYXNrZXRJdGVtTWlBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNZXNzYWdlc0FyZ3MgPSB7XG4gIGVudmlyb25tZW50PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5VGFyZ2V0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmtpbmdBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QmFza2V0SXRlbVBheW1lbnRTdXBwbG1lbnRhcnlJbmZvU2NoZW1hQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQb3N0Y29kZURldGFpbHNBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UG9zdGNvZGVBdXRvU3VnZ2VzdEFyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hQb3N0Y29kZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5SXNQb3N0Y29kZVZhbGlkQXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJhaWxTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hSYWlsU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBoYXNUb2Q/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxBcmdzID0ge1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPj47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNwbGl0VGlja2V0c0Zyb21EZXBhcnR1cmVKb3VybmV5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3BsaXRUaWNrZXRzVG9EZXN0aW5hdGlvbkpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Umlza0FsZXJ0c0FyZ3MgPSB7XG4gIG1pbkxldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgbWF4TGV2ZWw/OiBNYXliZTxSaXNrTGV2ZWw+O1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlBcHBseUppdEZsaWdodFJ1bGVzQXJncyA9IHtcbiAgc2VsZWN0ZWRPdXRib3VuZEZsaWdodDogU2NhbGFyc1snSlNPTiddO1xuICBhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogQXJyYXk8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlBcHBseUppdEhvdGVsUnVsZXNBcmdzID0ge1xuICBkYXRhOiBBcnJheTxTY2FsYXJzWydKU09OJ10+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+PjtcbiAgcmFpbGNhcmRDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leUxlZyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUxlZyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvcGVyYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVwYXJ0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2FsbGluZ1BvaW50czogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxDYWxsaW5nUG9pbnQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJztcbiAgZnJvbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG86IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5SGFzaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVwYXJ0RGF0ZVRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFycml2ZURhdGVUaW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBqb3VybmV5TGVnczogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5TGVnPj47XG4gIHJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIG9wZW5SZXR1cm5Kb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBkdWFsU2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgc2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgZHVhbFNpbmdsZVNwbGl0T3V0Ym91bmRGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIGR1YWxTaW5nbGVTcGxpdFJldHVybkZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgY2hhbmdlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFByb3ZpZGVyPj4+O1xuICB0aWNrZXRRdWV1ZUxpc3Q/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFF1ZXVlPj4+O1xuICBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEFjY291bnQ+Pj47XG4gIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFBsdXNCdXM+PjtcbiAgb3ZlcnRha2VuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9ucyc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9uPj4+O1xuICByZXR1cm4/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb24+Pj47XG4gIHRyYXZlbENhcmRzQWRkb25GbGFnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzdW1tYXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxQbHVzQnVzID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQbHVzQnVzJztcbiAgb3JpZ2luUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxQbHVzQnVzQXZhaWwgPSB7XG4gIG9yaWdpbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlc3RpbmF0aW9uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxQcm92aWRlciA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsUHJvdmlkZXInO1xuICBwcm92aWRlcklkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+O1xuICB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRPcHRpb24+Pj4+O1xuICBib29rZWRUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFNlYXJjaEpvdXJuZXlUeXBlIHtcbiAgU2luZ2xlSm91cm5leSA9ICdTaW5nbGVKb3VybmV5JyxcbiAgUmV0dXJuSm91cm5leSA9ICdSZXR1cm5Kb3VybmV5JyxcbiAgT3BlblJldHVybkpvdXJuZXkgPSAnT3BlblJldHVybkpvdXJuZXknXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbnM+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWF0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTZWF0JztcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29hY2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3NpdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRTZWxlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG5vdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VhdFByZWZlcmVuY2VUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTZWF0UHJlZmVyZW5jZVR5cGUnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRWYWx1ZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlZ21lbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlZ21lbnQnO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU2VhdFByZWZlcmVuY2VUeXBlPj4+O1xuICBzZWF0UHJlZmVyZW5jZUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0Pj4+O1xuICBjYWxsaW5nUG9pbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxDYWxsaW5nUG9pbnQ+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU3RhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXRpb25Db2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBubGNDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyYWlubGluZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5saW5lVW5pcXVlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+PjtcbiAgaGFzVG9kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFJhaWxTdGF0aW9uQ2xhc3NpZmljYXRpb24ge1xuICBPcmlnaW4gPSAnT3JpZ2luJyxcbiAgSW50ZXJtZWRpYXRlID0gJ0ludGVybWVkaWF0ZScsXG4gIERlc3RpbmF0aW9uID0gJ0Rlc3RpbmF0aW9uJyxcbiAgVW5rbm93biA9ICdVbmtub3duJ1xufVxuXG5leHBvcnQgZW51bSBSYWlsU3RvcHBpbmdQYXR0ZXJuIHtcbiAgUmVxdWVzdFN0b3AgPSAnUmVxdWVzdFN0b3AnLFxuICBQaWNrVXBPbmx5ID0gJ1BpY2tVcE9ubHknLFxuICBTZXREb3duT25seSA9ICdTZXREb3duT25seScsXG4gIE5vcm1hbCA9ICdOb3JtYWwnLFxuICBQYXNzaW5nID0gJ1Bhc3NpbmcnLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxUZXh0VmFsdWVQYWlyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUZXh0VmFsdWVQYWlyJztcbiAgdGV4dDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldCc7XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU2VnbWVudD4+PjtcbiAgbnVtQ2hpbGRyZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbnVtQWR1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldERlbGl2ZXJ5T3B0aW9uJztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0RXh0cmEgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZHVsdEFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNoaWxkQW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJztcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBqb3VybmV5SWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNPcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1zPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRUZXJtcz4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGF2YWlsYWJsZVNlYXRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIG1vYmlsZVRpY2tldEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZVRpY2tldEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc2VsZlByaW50QXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICByYWlsY2FyZENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+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+PjtcbiAgcm91dGU/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+O1xuICBndWVzdD86IE1heWJlPEZpZWxkV3JhcHBlcjxHdWVzdD4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdTZXJ2aWNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhcGlFbmRwb2ludFVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbVR0bDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRldGFpbFNjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHNlYXJjaFF1ZXJ5U2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFNlcnZpY2VUeXBlIHtcbiAgRmxpZ2h0ID0gJ0ZMSUdIVCcsXG4gIEV1cm9zdGFyID0gJ0VVUk9TVEFSJyxcbiAgSW50ZXJuYXRpb25hbFJhaWwgPSAnSU5URVJOQVRJT05BTF9SQUlMJyxcbiAgUmFpbCA9ICdSQUlMJyxcbiAgSG90ZWwgPSAnSE9URUwnLFxuICBDYXIgPSAnQ0FSJyxcbiAgTG91bmdlID0gJ0xPVU5HRScsXG4gIEZhc3RUcmFjayA9ICdGQVNUX1RSQUNLJyxcbiAgUGFya2luZyA9ICdQQVJLSU5HJyxcbiAgQ2FiID0gJ0NBQicsXG4gIENvYWNoID0gJ0NPQUNIJ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aW9uU2VhcmNoUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1N0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UnO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlckluZm86IEFycmF5PFVzZXJJbmZvPjtcbiAgZ3Vlc3RJbmZvOiBBcnJheTxVc2VySW5mbz47XG4gIGFkZHJlc3M/OiBNYXliZTxCb29raW5nQWRkcmVzcz47XG4gIHBob25lTnVtYmVyPzogTWF5YmU8Qm9va2luZ1Bob25lTnVtYmVyPjtcbiAgc3VwcGxlbWVudGFyeUluZm86IFNjYWxhcnNbJ0pTT04nXTtcbiAgcGF5bWVudE1ldGhvZERldGFpbHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBwYXNzcG9ydD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1RGWFN1cHBsaWVyUm91dGVzUmVzcG9uc2UnO1xuICBpYXRhMTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YTI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdURlhTdXBwbGllclJvdXRlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBUbWMgPSB7XG4gIF9fdHlwZW5hbWU/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+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRvYj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgYWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRtY0FkbWluPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjb21wYW55QWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tlclR5cGU6IEZpZWxkV3JhcHBlcjxCb29rZXJUeXBlPjtcbiAgYXV0aE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXNzd29yZExhc3RVcGRhdGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgc2VsZWN0ZWRMYW5ndWFnZTogRmllbGRXcmFwcGVyPExhbmd1YWdlPjtcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+PjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBvZmZpY2U6IEZpZWxkV3JhcHBlcjxPZmZpY2U+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFwcHJvdmVyczogQXJyYXk8RmllbGRXcmFwcGVyPEFwcHJvdmVyPj47XG4gIGFwcHJvdmVyRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZWU+PjtcbiAgYm9va2VyczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgY2FuQm9va0ZvcjogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYW5Cb29rR3Vlc3Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlbWVyZ2VuY3lDb250YWN0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWVyZ2VuY3lDb250YWN0UGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZW1lcmdlbmN5Q29udGFjdEVtYWlsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbkNyZWF0ZUFkbWluQXRPd25MZXZlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbGl2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc3VwcGxpZXJSZWxhdGlvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGxvZ0xldmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPExvZ0xldmVsVHlwZT4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+PjtcbiAgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyTWlEZWZhdWx0VmFsdWU+Pj47XG4gIGRvY3VtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxEb2N1bWVudD4+PjtcbiAgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFVzZXJMb3lhbHR5Q29kZT4+PjtcbiAgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8VXNlclByZWZlcmVuY2U+Pj47XG4gIHByb2ZpbGVDb25maWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZz4+O1xuICBhZGRpdGlvbmFsRW1haWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBjYW5JbnZva2VVc2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlckxveWFsdHlDb2RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJMb3lhbHR5Q29kZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgY2Fycmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJMb3lhbHR5Q29kZUlucHV0ID0ge1xuICBjYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJNaURlZmF1bHRWYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyTWlEZWZhdWx0VmFsdWUnO1xuICB1c2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc2VydmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTZXJ2aWNlPj47XG4gIG1hbmFnZW1lbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBmcmVlVGV4dFZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQgPSB7XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIG1hbmFnZW1lbnRJbmZvOiBTY2FsYXJzWydJRCddO1xuICBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGZyZWVUZXh0VmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyT3JHdWVzdCA9IEd1ZXN0IHwgVXNlcjtcblxuZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/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/OiAnUXVlcnknIH1cbiAgJiB7IGFwcGx5SklUSG90ZWxSdWxlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBcHBseUpJVFJ1bGVzUmVzdWx0JyB9XG4gICAgJiBQaWNrPEFwcGx5Sml0UnVsZXNSZXN1bHQsICdyZXN1bHQnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFRyYXZlbGxlclVzZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsbGVyR3Vlc3RzRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHdWVzdCcgfVxuICAmIFBpY2s8R3Vlc3QsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAnZ2VuZGVyJyB8ICduYXRpb25hbGl0eSc+XG4pO1xuXG5leHBvcnQgdHlwZSBPd25lckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbik7XG5cbmV4cG9ydCB0eXBlIEJhc2tldEZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICYgUGljazxCYXNrZXQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICd0aXRsZScgfCAnbm90ZXMnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdib29rZWRBdCcgfCAnc3RhdHVzJyB8ICd2YWxpZGF0ZWQnPlxuICAmIHsgb3duZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgT3duZXJGaWVsZHNGcmFnbWVudFxuICApLCBpbnZva2VkVXNlcj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ2VtYWlsJz5cbiAgKT4sIGJhc2tldEl0ZW1zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldEl0ZW0nIH1cbiAgICAmIE1ha2VPcHRpb25hbDxQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3N0YXR1cycgfCAncG5yTG9jYXRvcicgfCAnYm9va2luZ0RldGFpbCcgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdyZXF1aXJlc1JlYXNvbicgfCAnY29udmVydGVkQ3VycmVuY3lBbW91bnQnIHwgJ2NvbnZlcnRlZEN1cnJlbmN5Q29kZSc+LCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcic+XG4gICAgJiB7IGF2YWlsYWJsZVBheW1lbnRNZXRob2RzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICk+LCBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICk+LCBzZXJ2aWNlOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZSc+XG4gICAgKSwgZ3Vlc3RzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnR3Vlc3QnIH1cbiAgICAgICYgUGljazxHdWVzdCwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ3RpdGxlJz5cbiAgICApPiwgZ3Vlc3RQYXNzZW5nZXJUeXBlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJQYXNzZW5nZXJUeXBlJyB9XG4gICAgICAmIFBpY2s8VXNlclBhc3NlbmdlclR5cGUsICdpZCcgfCAncGFzc2VuZ2VyVHlwZSc+XG4gICAgKT4sIHVzZXJzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJVc2VyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclBhc3NlbmdlclR5cGUnIH1cbiAgICAgICYgUGljazxVc2VyUGFzc2VuZ2VyVHlwZSwgJ2lkJyB8ICdwYXNzZW5nZXJUeXBlJz5cbiAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdHdWVzdCcgfVxuICAgICAgJiBUcmF2ZWxsZXJHdWVzdHNGaWVsZHNGcmFnbWVudFxuICAgICkgfCAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJVc2VyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgbWFuYWdlbWVudEluZm86IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbycgfVxuICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAncmVhc29uJyB8ICdmaXhlZCcgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZ3JvdXAnPlxuICAgICAgJiB7IGZpeGVkVmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHNlbGVjdGVkVmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSwgJ2ZyZWVWYWx1ZScgfCAnYmFza2V0TGV2ZWxWYWx1ZScgfCAndXNlckxldmVsVmFsdWUnPlxuICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4sIGNvbXBhbnlHcm91cD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueUdyb3VwJyB9XG4gICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHRyYXZlbGxlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXRTdGF0dXM/OiBNYXliZTxCYXNrZXRTdGF0dXM+O1xuICBjcmVhdGVkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY3JlYXRlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJCYXNrZXRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlQmFza2V0Jz5cbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGludm9rZWRVc2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgY3JlYXRlQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHJlbW92ZUl0ZW1Gcm9tQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIGRldGFpbDogU2NhbGFyc1snSlNPTiddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJpY2U6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGN1cnJlbmN5OiBDdXJyZW5jeUNvZGU7XG4gIHNlYXJjaFF1ZXJ5OiBTY2FsYXJzWydKU09OJ107XG4gIHF1aWNrQWRkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcnM/OiBNYXliZTxBcnJheTxNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj4gfCBNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj47XG4gIGd1ZXN0cz86IE1heWJlPEFycmF5PE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PiB8IE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBsZWFkUGFzc2VuZ2VyVHlwZT86IE1heWJlPExlYWRQYXNzZW5nZXJUeXBlPjtcbiAgY28yUGVySXRlbT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBpbmJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZXF1aXJlc1JlYXNvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWRkSXRlbVRvQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHJldmFsaWRhdGVCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBzdXBwbGVtZW50YXJ5SW5mbzogQXJyYXk8U3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvPiB8IFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbztcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBCb29rQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYm9va0Jhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+IHwgTWF5YmU8Q2FiSGlyZUxvY2F0aW9uSW5wdXQ+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhYkhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVF1b3RlJyB9XG4gICAgICAmIFBpY2s8Q2FiSGlyZVF1b3RlLCAnaWQnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3N1cHBsaWVyTmFtZScgfCAnZXN0aW1hdGVkQ08yJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndmVoaWNsZVR5cGUnIHwgJ3RyaXBEaXN0YW5jZU1ldHJlcycgfCAndHJpcER1cmF0aW9uU2Vjb25kcycgfCAnZGVwYXJ0cycgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdyZXF1aXJlc1JlYXNvbicgfCAncmVxdWlyZXNSZWFzb25NZXNzYWdlJz5cbiAgICAgICYgeyBmcm9tTG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKSwgdG9Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB2aWFzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQ2FuY2VsQm9va2luZ011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ2FuY2VsQm9va2luZ011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGNhbmNlbEJvb2tpbmc6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWZ0ZXJDYW5jZWxsYXRpb25JbmZvJyB9XG4gICAgJiBQaWNrPEFmdGVyQ2FuY2VsbGF0aW9uSW5mbywgJ2NhbmNlbGxlZCcgfCAnY2FuY2VsbGF0aW9uRmVlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlJyB9XG4gICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgJiBQaWNrPENhckhpcmVJZGVudGlmaWVycywgJ2xvY2F0b3InIHwgJ3JwaCcgfCAnc3RhdHVzJyB8ICd2ZWhUeXBlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICdsb2NhdGlvbk5hbWUnIHwgJ2Ryb3BPZmZMb2NhdGlvbicgfCAncGlja3VwRGF0ZVRpbWUnIHwgJ2Ryb3BvZmZEYXRlVGltZScgfCAndmVuZG9yJz5cbiAgICApPiwgdmVuZG9yPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVuZG9yLCAnbmFtZScgfCAnbG9nbyc+XG4gICAgKT4sIGFkZHJlc3M/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICYgUGljazxDYXJIaXJlQWRkcmVzcywgJ25hbWUnIHwgJ3RvcExpbmUnIHwgJ2NpdHknIHwgJ3JlZ2lvbicgfCAncG9zdENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZUNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICk+LCBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSwgJ25hbWUnIHwgJ3RleHQnIHwgJ2pzb24nPlxuICAgICAgJiB7IGN1c3RvbT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgJiBQaWNrPENhckhpcmVDdXN0b20sICduYW1lJyB8ICd0ZXh0Jz5cbiAgICAgICk+Pj4gfVxuICAgICk+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBhaXJwb3J0PzogTWF5YmU8Q2FySGlyZUFpcnBvcnRJbnB1dD47XG4gIGNpdHk/OiBNYXliZTxDYXJIaXJlQ2l0eUlucHV0PjtcbiAgbG9jYXRpb24/OiBNYXliZTxDYXJIaXJlTG9jYXRpb25JbnB1dD47XG4gIGRlcG90PzogTWF5YmU8SW5wdXRDYXJIaXJlRGVwb3Q+O1xuICBwaWNrdXBEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRyb3BvZmZEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xhc3M/OiBNYXliZTxDYXJIaXJlQ2xhc3M+O1xuICB0eXBlPzogTWF5YmU8Q2FySGlyZVR5cGU+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxDYXJIaXJlVHJhbnNtaXNzaW9uPjtcbiAgYWlyY29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM/OiBNYXliZTxEaXN0YW5jZVR5cGVzPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmVRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hDYXJIaXJlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5JyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHksICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ3JlcXVpcmVzUmVhc29uJyB8ICdyZXF1aXJlc1JlYXNvbk1lc3NhZ2UnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbSc+XG4gICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnIH1cbiAgICAgICAgJiBQaWNrPENhckhpcmVJZGVudGlmaWVycywgJ2xvY2F0b3InIHwgJ3JwaCcgfCAnc3RhdHVzJyB8ICd2ZWhUeXBlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICdsb2NhdGlvbk5hbWUnIHwgJ2Ryb3BPZmZMb2NhdGlvbicgfCAncGlja3VwRGF0ZVRpbWUnIHwgJ2Ryb3BvZmZEYXRlVGltZScgfCAndmVuZG9yJz5cbiAgICAgICk+LCBkaXNwbGF5UmVjb3JkPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURpc3BsYXlSZWNvcmQnIH1cbiAgICAgICAgJiBQaWNrPENhckhpcmVEaXNwbGF5UmVjb3JkLCAnc3RhdHVzJyB8ICdwaWNrdXAnIHwgJ2Ryb3BvZmYnPlxuICAgICAgICAmIHsgdmVuZG9yPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVuZG9yJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVWZW5kb3IsICduYW1lJyB8ICdsb2dvJz5cbiAgICAgICAgKT4sIHZlaGljbGU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVWZWhpY2xlLCAnY2xhc3MnIHwgJ3R5cGUnIHwgJ3RyYW5zbWlzc2lvbicgfCAnYWlyY29uJyB8ICdkZXNjcmlwdGlvbicgfCAnaW1hZ2VzJz5cbiAgICAgICAgKT4sIGNoYXJnZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDaGFyZ2UnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUNoYXJnZSwgJ2xhYmVsJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Q29kZSc+XG4gICAgICAgICk+Pj4sIHBpY2t1cExvY2F0aW9uPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcycgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQWRkcmVzcywgJ25hbWUnIHwgJ3RvcExpbmUnIHwgJ2NpdHknIHwgJ3JlZ2lvbicgfCAncG9zdENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZUNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgICApPiwgcmV0dXJuTG9jYXRpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICAgICk+LCBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtLCAnbmFtZScgfCAndGV4dCcgfCAnanNvbic+XG4gICAgICAgICAgJiB7IGN1c3RvbT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQ3VzdG9tJyB9XG4gICAgICAgICAgICAmIFBpY2s8Q2FySGlyZUN1c3RvbSwgJ25hbWUnIHwgJ3RleHQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1lc3NhZ2VzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4gfCBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENvbmZpcm1NZXNzYWdlc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnY29uZmlybU1lc3NhZ2VzJz5cbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUd1ZXN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZm9yZW5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdXJuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZW1haWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBnZW5kZXI6IERvY0dlbmRlcjtcbiAgbmF0aW9uYWxpdHk6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlR3Vlc3RNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBjcmVhdGVHdWVzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdHdWVzdCcgfVxuICAgICYgUGljazxHdWVzdCwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICdnZW5kZXInIHwgJ25hdGlvbmFsaXR5Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZUZhdm91cml0ZVNlYXJjaCc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZVJlY2VudFNlYXJjaCc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVVc2VyQWRkcmVzcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBFZGl0VXNlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGZvcmVuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWRkaXRpb25hbEVtYWlsPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PiB8IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHNlbGVjdGVkTGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZW1lcmdlbmN5Q29udGFjdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdEVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaG9uZU51bWJlcnM/OiBNYXliZTxBcnJheTxQaG9uZU51bWJlcklucHV0PiB8IFBob25lTnVtYmVySW5wdXQ+O1xuICBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTxBZGRyZXNzSW5wdXQ+IHwgQWRkcmVzc0lucHV0PjtcbiAgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PFVzZXJNaURlZmF1bHRWYWx1ZXNJbnB1dD4gfCBVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQ+O1xuICBkb2N1bWVudHM/OiBNYXliZTxBcnJheTxEb2N1bWVudElucHV0PiB8IERvY3VtZW50SW5wdXQ+O1xuICBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTxVc2VyTG95YWx0eUNvZGVJbnB1dD4gfCBVc2VyTG95YWx0eUNvZGVJbnB1dD47XG4gIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8VXNlclByZWZlcmVuY2VJbnB1dD4gfCBVc2VyUHJlZmVyZW5jZUlucHV0Pjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEVkaXRVc2VyTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgZWRpdFVzZXI6IChcbiAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAnYWRkaXRpb25hbEVtYWlsJyB8ICd1c2VybmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnIHwgJ2NhbkNyZWF0ZUFkbWluQXRPd25MZXZlbCcgfCAnbGl2ZScgfCAnc3VwcGxpZXJSZWxhdGlvbnMnIHwgJ2xvZ0xldmVsJz5cbiAgICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICApLCBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICYgUGljazxBcHByb3ZlciwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICYgUGljazxBcHByb3ZlZSwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICk+PiwgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJNaURlZmF1bHRWYWx1ZScgfVxuICAgICAgJiBQaWNrPFVzZXJNaURlZmF1bHRWYWx1ZSwgJ2ZyZWVUZXh0VmFsdWUnPlxuICAgICAgJiB7IHNlcnZpY2U/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICk+LCBtYW5hZ2VtZW50SW5mbz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm8nIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICd0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHQnIHwgJ3Rha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0JyB8ICdlbmZvcmNlVXNlckRlZmF1bHQnIHwgJ2Jvb2tlZEJ5RmllbGQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdmaXhlZCcgfCAnZ3JvdXAnPlxuICAgICAgICAmIHsgc2VydmljZTogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgICApLCBmaXhlZFZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCBzZWxlY3RlZFZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUsICdmcmVlVmFsdWUnIHwgJ2Jhc2tldExldmVsVmFsdWUnIHwgJ3VzZXJMZXZlbFZhbHVlJz5cbiAgICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4sIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+IH1cbiAgICApPj4sIGRvY3VtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICk+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+XG4gICAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnR3Vlc3QnIH1cbiAgICAgICAgJiBQaWNrPEd1ZXN0LCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICAgICAgKSB8IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+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/OiAnQ2FySGlyZURlcG90JyB9XG4gICAgJiBQaWNrPENhckhpcmVEZXBvdCwgJ2NvdW50cnlDb2RlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICd2ZW5kb3JDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICd2ZW5kb3InIHwgJ2FkZHJlc3NMaW5lcycgfCAnY2l0eU5hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDYXJIaXJlUHJvdmlkZXJzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbXBhbmllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbXBhbmllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbXBhbmllczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb21wYW55JyB9XG4gICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N1cHBvcnRFbWFpbCcgfCAnY28yQ29uc3VtcHRpb25Qb2xpY3knIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAmIHsgdG1jOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVE1DJyB9XG4gICAgICAmIFBpY2s8VG1jLCAnaWQnIHwgJ25hbWUnPlxuICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb21wYW55UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29tcGFueVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbXBhbnk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueScgfVxuICAgICYgUGljazxDb21wYW55LCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdzdXBwb3J0RW1haWwnIHwgJ2NvMkNvbnN1bXB0aW9uUG9saWN5JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgJiB7IHRtYzogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1RNQycgfVxuICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICApLCBvZmZpY2VzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT2ZmaWNlJyB9XG4gICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICApPiwgdXNlcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFVzZXJzRnJhZ21lbnRcbiAgICApPiwgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXNlcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAnZW1haWwnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgb2ZmaWNlSWQ6IFNjYWxhcnNbJ0ludCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYU9mZmljZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSW5mbycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlSW5mbywgJ2lkJyB8ICduYW1lJyB8ICdjbG9zZXN0QWlycG9ydCcgfCAnY2xvc2VzdFRyYWluU3RhdGlvbicgfCAnbG9uZ2l0dWRlJyB8ICdsYXRpdHVkZSc+XG4gICAgICAmIHsgYWRkcmVzcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VBZGRyZXNzLCAnYWRkcmVzc05hbWUnIHwgJ2FkZHJlc3NMaW5lMScgfCAnYWRkcmVzc0xpbmUyJyB8ICdhZGRyZXNzTGluZTMnIHwgJ3Bvc3RhbENvZGUnIHwgJ2NpdHknIHwgJ2NvdW50cnlDb2RlJyB8ICdjb3VudHJ5TmFtZScgfCAndGVsZXBob25lTnVtYmVyJyB8ICdmYWNzaW1pbGVOdW1iZXInIHwgJ2VtYWlsQWRkcmVzcycgfCAnc3RhdGVQcm92aW5jZScgfCAnbW9iaWxlTnVtYmVyJz5cbiAgICAgICk+LCBjbG9zZXN0SG90ZWxzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VIb3RlbHMnIH1cbiAgICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlSG90ZWxzLCAnaG90ZWxJZCcgfCAnaG90ZWxOYW1lJyB8ICdpc1ByZWZlcnJlZCc+XG4gICAgICApPj4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hT2ZmaWNlTmFtZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXMnIH1cbiAgICAgICYgUGljazxDb25mZXJtYU9mZmljZU5hbWVzLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+Pj4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFRdWlja2xpc3Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeScgfVxuICAgICAgJiBQaWNrPEhvdGVsSXRpbmVyYXJ5LCAnaWQnIHwgJ25hbWUnIHwgJ2ltYWdlVXJsJyB8ICdncm91cCcgfCAndmVyc2lvbic+XG4gICAgICAmIHsgbG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsTG9jYXRpb24sICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICksIGFkZHJlc3M6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxBZGRyZXNzLCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdE9yWmlwQ29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3RlbGVwaG9uZScgfCAnZmFjc2ltaWxlJz5cbiAgICAgICksIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUcmFuc3BvcnQsICd0eXBlJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICk+Pj4sIHByZWZlcnJlZDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsUHJlZmVycmVkLCAnY2xpZW50JyB8ICdjb25zdW1lcic+XG4gICAgICApLCB0YWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYWcnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsVGFnLCAnbmFtZScgfCAnZGlzcGxheScgfCAndHlwZScgfCAnaWNvbic+XG4gICAgICApPj4+LCBhdmFpbGFibGVSYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICAgICAgICYgUGljazxIb3RlbEF2YWlsYWJpbGl0eSwgJ2hvdGVsSWQnIHwgJ2ltYWdlVXJsJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgICAgICAgJiB7IHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAgICAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgICAmIHsgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbicgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsQ29udmVyc2lvbiwgJ3JhdGUnIHwgJ2xvY2FsQ29kZScgfCAnbG9jYWxUb3RhbCcgfCAnY29udmVydGVkQ29kZScgfCAnY29udmVydGVkVG90YWwnPlxuICAgICAgICAgICk+LCBkZXBvc2l0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsRGVwb3NpdCwgJ2Ftb3VudCcgfCAncG9saWN5JyB8ICdyZXF1aXJlZCc+XG4gICAgICAgICAgKT4sIG5pZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbE5pZ2h0LCAnbmlnaHQnIHwgJ3JhdGUnIHwgJ2luZm8nIHwgJ2RhdGUnPlxuICAgICAgICAgICk+LCBwb2xpY2llczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQb2xpY3ksICdjYW5jZWxsYXRpb24nIHwgJ2RlcG9zaXQnIHwgJ2Rpc2FibGVkQWNjZXNzJyB8ICdnZW5lcmFsJyB8ICdndWFyYW50ZWUnIHwgJ3JlZnVuZEF2YWlsYWJsZSc+XG4gICAgICAgICAgKSwgdGF4OiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFRheCwgJ2luY2x1ZGVkJyB8ICdyYXRlJz5cbiAgICAgICAgICApLCBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsQ2FyZCwgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApPj4+LCBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsUGF5bWVudFR5cGUsICd0eXBlJyB8ICduYW1lJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiB9XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGhvdGVsSWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDb25mZXJtYVJvb21JbWFnZXMnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0RmxpZ2h0RmFyZVJ1bGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVJ1bGVzUmVzcG9uc2UnIH1cbiAgICAgICYgUGljazxGbGlnaHRGYXJlUnVsZXNSZXNwb25zZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRTZWF0TWFwUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0RmxpZ2h0U2VhdE1hcDogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzcG9uc2UnIH1cbiAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwUmVzcG9uc2UsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJz5cbiAgICAgICYgeyBhaXJjcmFmdDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JyB9XG4gICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwQWlyY3JhZnQsICdjYXJyaWVyJyB8ICdudW1iZXInIHwgJ3R5cGUnPlxuICAgICAgKSwgc2VhdHM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cycgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0U2VhdE1hcFNlYXRzLCAncm93JyB8ICdjb2x1bW4nIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICYgeyBhdHRyaWJ1dGVzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwU2VhdEF0dHJpYnV0ZXMsICdjb2RlJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0SG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEhvdGVsQ2hhaW5zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRIb3RlbENoYWlucyc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRJUkxEaXNjb3VudENhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnIH1cbiAgICAmIFBpY2s8SXJsVHJhdmVsQ2FyZCwgJ2lkJyB8ICduZXRDb2RlJyB8ICdyZWNvJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdzdXBwbGllcic+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldElSTFN1cHBsaWVyU3RhdGlvbj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN0YXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JyB9XG4gICAgJiB7IHNlcnZpY2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZScgfVxuICAgICAgJiBQaWNrPERlcGFydHVyZUJvYXJkU2VydmljZSwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29wZXJhdG9yJyB8ICdvcGVyYXRvckNvZGUnIHwgJ3N0ZCcgfCAnZXRkJyB8ICdkZXBhcnR1cmVUeXBlJyB8ICdkZXBhcnR1cmVTb3VyY2UnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUlzSGlkZGVuJz5cbiAgICAgICYgeyBvcmlnaW4/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8TG9jYXRpb24sICdsb2NhdGlvbk5hbWUnIHwgJ3RpcGxvYycgfCAnY3JzJz5cbiAgICAgICk+LCBkZXN0aW5hdGlvbj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb2NhdGlvbiwgJ2xvY2F0aW9uTmFtZScgfCAndGlwbG9jJyB8ICdjcnMnPlxuICAgICAgKT4sIHN1YnNlcXVlbnRMb2NhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdzdWJzZXF1ZW50TG9jYXRpb25zJyB9XG4gICAgICAgICYgUGljazxTdWJzZXF1ZW50TG9jYXRpb25zLCAnbG9jYXRpb25OYW1lJyB8ICd0aXBsb2MnIHwgJ2NycycgfCAncGxhdGZvcm0nIHwgJ3BsYXRmb3JtSXNIaWRkZW4nIHwgJ3N0YScgfCAnZXRhJyB8ICdhcnJpdmFsVHlwZScgfCAnYXJyaXZhbFNvdXJjZScgfCAnc3RkJyB8ICdldGQnIHwgJ2RlcGFydHVyZVR5cGUnIHwgJ2RlcGFydHVyZVNvdXJjZSc+XG4gICAgICAgICYgeyBhc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJyB9XG4gICAgICAgICAgJiBQaWNrPEFzc29jaWF0aW9uLCAnY2F0ZWdvcnknIHwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29yaWdpbicgfCAnb3JpZ2luQ1JTJyB8ICdvcmlnaW5UaXBsb2MnIHwgJ2Rlc3RpbmF0aW9uJyB8ICdkZXN0Q1JTJyB8ICdkZXN0VGlwbG9jJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPj4+IH1cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsU3RhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZScgfCAnaGFzVG9kJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsY2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsY2FyZHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXInIH1cbiAgICAmIFBpY2s8UmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXIsICduYW1lJyB8ICdjb2RlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbFByb3ZpZGVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbFByb3ZpZGVyc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnZ2V0UmFpbFByb3ZpZGVycyc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRSaXNrQWxlcnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1pbkxldmVsOiBSaXNrTGV2ZWw7XG4gIG1heExldmVsOiBSaXNrTGV2ZWw7XG4gIGNvdW50cnlJc29Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJhaWxTdGF0aW9uPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGFpcnBvcnRJYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFJpc2tBbGVydHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmlza0FsZXJ0JyB9XG4gICAgJiBQaWNrPFJpc2tBbGVydCwgJ2lkJyB8ICd0aXRsZScgfCAnZGVzY3JpcHRpb24nIHwgJ2JyZWFraW5nJyB8ICdyaXNrJyB8ICdjYXRlZ29yeScgfCAnY291bnRyeScgfCAnbG9jYXRpb24nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZScgfCAncmVjZWl2ZWREYXRlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJBZGRyZXNzZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQ29tcGFueU9mZmljZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT2ZmaWNlJyB9XG4gICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJz5cbiAgICAmIHsgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZT86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FyYm9uQWxsb3dhbmNlJyB9XG4gICAgJiBQaWNrPENhcmJvbkFsbG93YW5jZSwgJ2lkJyB8ICdzdGFydE9mUGVyaW9kJyB8ICdlbmRPZlBlcmlvZCcgfCAncmVtYWluaW5nQ28yJyB8ICd0b3RhbENvMicgfCAnY2FyYm9uUG9saWN5U291cmNlJz5cbiAgICAmIHsgY29tcGFueT86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb21wYW55JyB9XG4gICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJz5cbiAgICApPiwgb2ZmaWNlPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09mZmljZScgfVxuICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJz5cbiAgICApPiwgdXNlcjogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCc+XG4gICAgKSwgcGVyaW9kQ29uc3VtcHRpb246IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJib25Db25zdW1wdGlvbicgfVxuICAgICAgJiBQaWNrPENhcmJvbkNvbnN1bXB0aW9uLCAnaWQnIHwgJ2NvbnN1bWVkJyB8ICdkYXRldGltZSc+XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAnc2VhcmNoQXJncyc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJHdWVzdHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJHdWVzdHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyR3Vlc3RzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0d1ZXN0JyB9XG4gICAgJiBQaWNrPEd1ZXN0LCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ2dlbmRlcicgfCAnbmF0aW9uYWxpdHknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgcGFydGlhbExhYmVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+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/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgJiBQaWNrPFJhaWxKb3VybmV5RmFyZSwgJ3Byb3ZpZGVySWQnIHwgJ3Byb3ZpZGVyTmFtZScgfCAndHlwZScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdmYXJlSGFzaCcgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdtb2JpbGVUaWNrZXRBdmFpbGFibGUnIHwgJ2VUaWNrZXRBdmFpbGFibGUnIHwgJ3NlbGZQcmludEF2YWlsYWJsZScgfCAncmFpbGNhcmRDb2RlJz5cbiAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgKT4sIHRlcm1zPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnYXZhaWxhYmlsaXR5UnVsZScgfCAnY2hhbmdlUnVsZScgfCAnY2hpbGREaXNjb3VudCcgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2pvdXJuZXlUeXBlJyB8ICdraW9za0F2YWlsYWJsZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyb3V0ZScgfCAncmVmdW5kQ2FuY2VsbGF0aW9uUnVsZScgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICd0aWNrZXRUeXBlQWx0TmFtZScgfCAndGlja2V0VHlwZUNsYXNzJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbicgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RvZEF2YWlsYWJsZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndmFsaWRPdXRSdWxlJyB8ICd2YWxpZFJldHVyblJ1bGUnPlxuICAgICYgeyBkeW5hbWljQ29uZGl0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdEeW5hbWljQ29uZGl0aW9uJyB9XG4gICAgICAmIFBpY2s8RHluYW1pY0NvbmRpdGlvbiwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPj4+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJyB9XG4gICYgUGljazxSYWlsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdqb3VybmV5SGFzaCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NoYW5nZXMnIHwgJ292ZXJ0YWtlbic+XG4gICYgeyBqb3VybmV5TGVnczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUxlZycgfVxuICAgICYgUGljazxSYWlsSm91cm5leUxlZywgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdkZXBhcnREYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cyc+XG4gICAgJiB7IGNhbGxpbmdQb2ludHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JyB9XG4gICAgICAmIFBpY2s8UmFpbENhbGxpbmdQb2ludCwgJ3N0YXRpb25OYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnYXJyaXZhbERhdGVUaW1lJyB8ICdkZXBhcnR1cmVEYXRlVGltZScgfCAnc2NoZWR1bGVkUGxhdGZvcm0nIHwgJ3N0YXRpb25DbGFzc2lmaWNhdGlvbicgfCAnc3RvcHBpbmdQYXR0ZXJuJz5cbiAgICApPiB9XG4gICk+LCBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCByZXR1cm5Kb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCBkdWFsU2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgICAmIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50XG4gICk+Piwgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgJiBQaWNrPFJhaWxUaWNrZXRRdWV1ZSwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJz5cbiAgKT4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JyB9XG4gICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgJiBQaWNrPFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICk+IH1cbiAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsUGx1c0J1cycgfVxuICAgICYgUGljazxSYWlsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPiB8IFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3BsaXRUaWNrZXRzRnJvbURlcGFydHVyZUpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzcGxpdFRpY2tldHNUb0Rlc3RpbmF0aW9uSm91cm5leT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+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+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hGYXN0VHJhY2tRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZhc3RUcmFja1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEZhc3RUcmFjazogKFxuICAgIHsgX190eXBlbmFtZT86ICdGYXN0VHJhY2tSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zhc3RUcmFja1F1b3RlJyB9XG4gICAgICAmIFBpY2s8RmFzdFRyYWNrUXVvdGUsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ3JlZnVuZGFibGUnIHwgJ3Rlcm1pbmFsJyB8ICdpbWFnZXMnIHwgJ2xvZ28nIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpbXBvcnRhbnRJbmZvJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ3JlcXVpcmVzUmVhc29uJyB8ICdyZXF1aXJlc1JlYXNvbk1lc3NhZ2UnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbSc+XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIFBpY2s8U2VhcmNoRXJyb3IsICdlcnJvck1lc3NhZ2UnIHwgJ2Vycm9yQ29kZSc+XG4gICAgICAmIHsgc2VydmljZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgKSB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+IHwgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4gfCBNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4gfCBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB3aXRoR3JvdXBlZDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEZsaWdodHNWMjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgUGljazxGbGlnaHRTZWFyY2hSZXN1bHRWMiwgJ3J1bGVBY3Rpb25TdW1tYXJ5Jz5cbiAgICAmIHsgcmVzdWx0czogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cycgfVxuICAgICAgJiB7IGpvdXJuZXlzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ2Jhc2VGYXJlSWQnIHwgJ3VpZCcgfCAnZGlzY2xvc3VyZXMnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdqb3VybmV5SGFzaCcgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4+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/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ3VpZCcgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnam91cm5leUhhc2gnPlxuICAgICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUycgfCAnd2VpZ2h0UHJvdmlkZWQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiB9XG4gICAgICApPiwgZ3JvdXBlZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dyb3VwRmxpZ2h0cycgfVxuICAgICAgICAmIEdyb3VwZWRGaWVsZHNGcmFnbWVudFxuICAgICAgKT4+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnc2VhcmNoSG90ZWxDaGFpbnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogSXJsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8SXJsQ2xhc3M+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGlybERpc2NvdW50Q2FyZHM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hJUkw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb25zLCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAnanJmcmVmZXJlbmNlJz5cbiAgICAgICYgeyBvdXRib3VuZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb24sICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjaGFuZ2VzJyB8ICd1bnNlbGxhYmxlJz5cbiAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgKT4sIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcicgfVxuICAgICAgICAgICYgUGljazxJcmxUcmF2ZWxsZXIsICdzdGF0dXMnIHwgJ2lkJyB8ICdkb2InIHwgJ3JhaWxjYXJkJyB8ICdnaXZlbk5hbWUnIHwgJ3N1cm5hbWUnIHwgJ25hbWVUaXRsZScgfCAnY29udGFjdEluZm8nIHwgJ2RlbGl2ZXJ5RW1haWxBZGRyZXNzJyB8ICdmYXJlJz5cbiAgICAgICAgKT4+LCBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPj4sIHByb3ZpZGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMUHJvdmlkZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUHJvdmlkZXIsICdwcm92aWRlcklkJyB8ICduYW1lJz5cbiAgICAgICAgICAmIHsgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmFJZGVudGlmaWVycywgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdqb3VybmV5SWQnIHwgJ2lzT3JpZ2luJz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgcGx1c0J1cz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMUGx1c0J1cycgfVxuICAgICAgICAgICYgUGljazxJcmxQbHVzQnVzLCAnb3JpZ2luUGx1c0J1c05MQycgfCAnb3JpZ2luU3RhdGlvbk5MQycgfCAnZGVzdGluYXRpb25QbHVzQnVzTkxDJyB8ICdkZXN0aW5hdGlvblN0YXRpb25OTEMnPlxuICAgICAgICApPiB9XG4gICAgICApPj4sIHJldHVybj86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb24sICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjaGFuZ2VzJyB8ICd1bnNlbGxhYmxlJz5cbiAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgKT4sIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcicgfVxuICAgICAgICAgICYgUGljazxJcmxUcmF2ZWxsZXIsICdzdGF0dXMnIHwgJ2lkJyB8ICdkb2InIHwgJ3JhaWxjYXJkJyB8ICdnaXZlbk5hbWUnIHwgJ3N1cm5hbWUnIHwgJ25hbWVUaXRsZScgfCAnY29udGFjdEluZm8nIHwgJ2RlbGl2ZXJ5RW1haWxBZGRyZXNzJyB8ICdmYXJlJz5cbiAgICAgICAgKT4+LCBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPj4sIHByb3ZpZGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMUHJvdmlkZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUHJvdmlkZXIsICdwcm92aWRlcklkJyB8ICduYW1lJz5cbiAgICAgICAgICAmIHsgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmFJZGVudGlmaWVycywgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdqb3VybmV5SWQnIHwgJ2lzT3JpZ2luJz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgcGx1c0J1cz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMUGx1c0J1cycgfVxuICAgICAgICAgICYgUGljazxJcmxQbHVzQnVzLCAnb3JpZ2luUGx1c0J1c05MQycgfCAnb3JpZ2luU3RhdGlvbk5MQycgfCAnZGVzdGluYXRpb25QbHVzQnVzTkxDJyB8ICdkZXN0aW5hdGlvblN0YXRpb25OTEMnPlxuICAgICAgICApPiB9XG4gICAgICApPj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdJUkxTdXBwbGllclN0YXRpb24nIH1cbiAgICAmIFBpY2s8SXJsU3VwcGxpZXJTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N1cHBsaWVyJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hQb3N0Y29kZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUG9zdGNvZGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UG9zdGNvZGVEZXRhaWxzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Bvc3Rjb2RlRGV0YWlscycgfVxuICAgICYgUGljazxQb3N0Y29kZURldGFpbHMsICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc1RvZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hSYWlsU3RhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFN0YXRpb24nIH1cbiAgICAmIFBpY2s8UmFpbFN0YXRpb24sICdpZCcgfCAnbmFtZScgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnIHwgJ2hhc1RvZCc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckFkZHJlc3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRyYWluTnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0dXJlU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3RpbmF0aW9uU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGluYm91bmREYXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWRkaXRpb25hbEluZm86IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvZmZsaW5lUmVmZXJlbmNlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbm90aWZ5RW1haWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvbkJlaGFsZk9mOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZUNsYXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGFzc2VuZ2VyczogQXJyYXk8SXJsT2ZmbGluZVBhc3Nlbmdlcj4gfCBJcmxPZmZsaW5lUGFzc2VuZ2VyO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZW5kT2ZmbGluZU5vdGlmaWNhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdJUkxPZmZsaW5lTm90aWZ5UmVzdWx0JyB9XG4gICAgJiBQaWNrPElybE9mZmxpbmVOb3RpZnlSZXN1bHQsICdzdWNjZXNzJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlHcm91cDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB1c2VyT3JHdWVzdDogU2NhbGFyc1snSUQnXTtcbiAgbGVhZFBhc3NlbmdlclR5cGU6IExlYWRQYXNzZW5nZXJUeXBlO1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIG1pVmFsdWU/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgbWlGcmVlVmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZ3Vlc3Q/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1NSVZhbHVlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3RlczogU2NhbGFyc1snU3RyaW5nJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyB1cGRhdGVCYXNrZXROb3RlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV3VGl0bGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgdXBkYXRlQmFza2V0VGl0bGU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFVzZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAnYWRkaXRpb25hbEVtYWlsJyB8ICdjYW5JbnZva2VVc2VyJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCcgfCAnY2FuQm9va0d1ZXN0Jz5cbiAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgKT4sIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4sIGRvY3VtZW50cz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRG9jdW1lbnQnIH1cbiAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4+LCBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPj4sIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyUHJlZmVyZW5jZScgfVxuICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+PiwgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlck1pRGVmYXVsdFZhbHVlJyB9XG4gICAgJiBQaWNrPFVzZXJNaURlZmF1bHRWYWx1ZSwgJ2ZyZWVUZXh0VmFsdWUnPlxuICAgICYgeyBzZXJ2aWNlPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgKT4sIG1hbmFnZW1lbnRJbmZvPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJyB9XG4gICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm8sICdpZCcgfCAnZGJJZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2hhbmRvZmYnIHwgJ3ZhbHVlTWFzaycgfCAndWlQcmVzZW50YXRpb24nIHwgJ21hbmRhdG9yeScgfCAncGVyUGFzc2VuZ2VyJyB8ICdwZXJCb29raW5nJyB8ICdhZ2VudE9ubHknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdmaXhlZCcgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZ3JvdXAnPlxuICAgICAgJiB7IGZpeGVkVmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHNlbGVjdGVkVmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSwgJ2ZyZWVWYWx1ZScgfCAnYmFza2V0TGV2ZWxWYWx1ZScgfCAndXNlckxldmVsVmFsdWUnPlxuICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+LCBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgKT4gfVxuICApPj4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyU2VydmljZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJVSUNvbmZpZ3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVUlDb25maWdDb2xsZWN0aW9uJyB9XG4gICAgJiB7IGFsbDogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnJyB9XG4gICAgICAmIFBpY2s8VWlDb25maWcsICdpZCcgfCAnY29uZmlnJyB8ICdrZXknPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJNZXNzYWdlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdNZXNzYWdlJyB9XG4gICAgJiBQaWNrPE1lc3NhZ2UsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NvbmZpZycgfCAndGFyZ2V0JyB8ICdrZXknIHwgJ2Rpc3BsYXlUYXJnZXQnIHwgJ2FnZW50T25seScgfCAnY2xpY2tUb0NvbmZpcm0nIHwgJ3ZhbGlkRnJvbScgfCAndmFsaWRUbycgfCAnY29sbGFwc2UnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldFVzZXJMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAnZG9iJz5cbiAgICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBVc2VyRmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAndmFsaWRhdGVVc2VyTUlGcmVlVmFsdWUnPlxuKTtcblxudHlwZSBEaXNjcmltaW5hdGVVbmlvbjxULCBVPiA9IFQgZXh0ZW5kcyBVID8gVCA6IG5ldmVyO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFjY2VwdE5ld1ByaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBY2NlcHROZXdQcmljZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZSA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb25bJ2FjY2VwdE5ld1ByaWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkVXNlcnNUb0Jhc2tldEl0ZW0ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblsnYWRkVXNlcnNUb0Jhc2tldEl0ZW0nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUppdEZsaWdodFJ1bGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUppdEhvdGVsUnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQXBwbHlKaXRIb3RlbFJ1bGVzID0gQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnlbJ2FwcGx5SklUSG90ZWxSdWxlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRyYXZlbGxlclVzZXJGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRyYXZlbGxlclVzZXJGaWVsZHNGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUcmF2ZWxsZXJHdWVzdHNGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRyYXZlbGxlckd1ZXN0c0ZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE93bmVyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBPd25lckZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJhc2tldEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQmFza2V0RmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIE93bmVyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIEludm9rZWRVc2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2ludm9rZWRVc2VyJ107XG4gIGV4cG9ydCB0eXBlIEJhc2tldEl0ZW1zID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydhdmFpbGFibGVQYXltZW50TWV0aG9kcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3NlbGVjdGVkUGF5bWVudE1ldGhvZCddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBHdWVzdHMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydndWVzdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHdWVzdFBhc3NlbmdlclR5cGVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnZ3Vlc3RQYXNzZW5nZXJUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VyUGFzc2VuZ2VyVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMZWFkUGFzc2VuZ2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRml4ZWRWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZml4ZWRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEZWZhdWx0VmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3ZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkVmFsdWVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBDb21wYW55R3JvdXAgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnY29tcGFueUdyb3VwJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckJhc2tldHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJCYXNrZXRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzID0gR2V0VXNlckJhc2tldHNRdWVyeVsnZ2V0VXNlckJhc2tldHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUJhc2tldE11dGF0aW9uO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVCYXNrZXQgPSBDcmVhdGVCYXNrZXRNdXRhdGlvblsnY3JlYXRlQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlSXRlbUZyb21CYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0ID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblsncmVtb3ZlSXRlbUZyb21CYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZW5kQmFza2V0Rm9yQXBwcm92YWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25bJ3NlbmRCYXNrZXRGb3JBcHByb3ZhbCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFkZEl0ZW1Ub0Jhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXQgPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblsnYWRkSXRlbVRvQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQmFza2V0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXQgPSBHZXRVc2VyQmFza2V0UXVlcnlbJ2dldFVzZXJCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZXZhbGlkYXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldCA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblsncmV2YWxpZGF0ZUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJvb2tCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQm9va0Jhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBCb29rQmFza2V0ID0gQm9va0Jhc2tldE11dGF0aW9uWydib29rQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2FiSGlyZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENhYkhpcmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDYWJIaXJlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENhYkhpcmUgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRnJvbUxvY2F0aW9uID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydmcm9tTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgVG9Mb2NhdGlvbiA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsndG9Mb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBWaWFzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd2aWFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2FuY2VsQm9va2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhbmNlbEJvb2tpbmdNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDYW5jZWxCb29raW5nTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENhbmNlbEJvb2tpbmcgPSBDYW5jZWxCb29raW5nTXV0YXRpb25bJ2NhbmNlbEJvb2tpbmcnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBBZGRpdGlvbmFsSW5mbyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENhckhpcmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2FySGlyZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBEaXNwbGF5UmVjb3JkID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZW5kb3InXTtcbiAgZXhwb3J0IHR5cGUgVmVoaWNsZSA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZWhpY2xlJ107XG4gIGV4cG9ydCB0eXBlIENoYXJnZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnY2hhcmdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBpY2t1cExvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3BpY2t1cExvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybkxvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3JldHVybkxvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXVsnY3VzdG9tJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlybU1lc3NhZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ29uZmlybU1lc3NhZ2VzTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlR3Vlc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVHdWVzdE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUd1ZXN0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZUd1ZXN0ID0gQ3JlYXRlR3Vlc3RNdXRhdGlvblsnY3JlYXRlR3Vlc3QnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVGYXZvdXJpdGVTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFZGl0VXNlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEVkaXRVc2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRWRpdFVzZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRWRpdFVzZXIgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVMYW5ndWFnZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlcnMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlckZvciA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlck1pRGVmYXVsdFZhbHVlcyA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXTtcbiAgZXhwb3J0IHR5cGUgX1NlcnZpY2UgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBGaXhlZFZhbHVlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2ZpeGVkVmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgRGVmYXVsdFZhbHVlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsndmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRWYWx1ZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBWYWx1ZSA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvVmFsdWUgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm9WYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEb2N1bWVudHMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb3lhbHR5Q29kZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFbWFpbEJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEVtYWlsQmFza2V0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gRW1haWxCYXNrZXRRdWVyeTtcbiAgZXhwb3J0IHR5cGUgRW1haWxCYXNrZXQgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddO1xuICBleHBvcnQgdHlwZSBPd25lciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2F2YWlsYWJsZUxhbmd1YWdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBPZmZpY2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDb21wYW55ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXTtcbiAgZXhwb3J0IHR5cGUgX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBPZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTdXBwb3J0UGhvbmVOdW1iZXIgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydzdXBwb3J0UGhvbmVOdW1iZXInXTtcbiAgZXhwb3J0IHR5cGUgX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFwcHJvdmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2FwcHJvdmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFwcHJvdmVyRm9yID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnYXBwcm92ZXJGb3InXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG95YWx0eUNvZGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFza2V0SXRlbXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWxlY3RlZExhbmd1YWdlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgX0F2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX09mZmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgX0NvbXBhbnlHcm91cHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Db21wYW55ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9fX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX09mZmljZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1N1cHBvcnRQaG9uZU51bWJlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydzdXBwb3J0UGhvbmVOdW1iZXInXTtcbiAgZXhwb3J0IHR5cGUgX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FwcHJvdmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQXBwcm92ZXJGb3IgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYXBwcm92ZXJGb3InXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VyUGFzc2VuZ2VyVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMZWFkUGFzc2VuZ2VyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ107XG4gIGV4cG9ydCB0eXBlIFVzZXJJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXSwgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH0+KTtcbiAgZXhwb3J0IHR5cGUgX19Eb2N1bWVudHMgPSAoRGlzY3JpbWluYXRlVW5pb248RW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ10sIHsgX190eXBlbmFtZT86ICdVc2VyJyB9PilbJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fUHJlZmVyZW5jZXMgPSAoRGlzY3JpbWluYXRlVW5pb248RW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ10sIHsgX190eXBlbmFtZT86ICdVc2VyJyB9PilbJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19Mb3lhbHR5Q29kZXMgPSAoRGlzY3JpbWluYXRlVW5pb248RW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ10sIHsgX190eXBlbmFtZT86ICdVc2VyJyB9PilbJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEd1ZXN0SW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248RW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ10sIHsgX190eXBlbmFtZT86ICdHdWVzdCcgfT4pO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZXJ2aWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgRml4ZWRWYWx1ZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydkZWZhdWx0VmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3ZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkVmFsdWVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd2YWx1ZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBfX19Eb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ11bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0xveWFsdHlDb2RlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2F2YWlsYWJsZVBheW1lbnRNZXRob2RzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRQYXltZW50TWV0aG9kID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZWxlY3RlZFBheW1lbnRNZXRob2QnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ107XG4gIGV4cG9ydCB0eXBlIF9fQ29tcGFueSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9fX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX19PZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVXNlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VsZWN0ZWRMYW5ndWFnZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBfX0F2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBfX09mZmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ29mZmljZSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19BcHByb3ZlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQXBwcm92ZXJGb3IgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0RvY3VtZW50cyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU3VwcG9ydFBob25lTnVtYmVyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnc3VwcG9ydFBob25lTnVtYmVyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRXJyb3JzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBFcnJvcnNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEVycm9yc0ZyYWdtZW50WydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR3JvdXBlZEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGbGlnaHRzID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50WydmbGlnaHRzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRmxpZ2h0Sm91cm5leUZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGYXJlSW5mbyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgTWFya2V0aW5nQ2FycmllckRldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBPcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoYW5nZSA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3RoZXIgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luQWlycG9ydERldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnb3JpZ2luQWlycG9ydERldGFpbCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEFsbEFpcmxpbmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWxsQWlybGluZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBbGxBaXJsaW5lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRBbGxBaXJsaW5lcyA9IEdldEFsbEFpcmxpbmVzUXVlcnlbJ2dldEFsbEFpcmxpbmVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYW5jZWxsYXRpb25JbmZvIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FuY2VsbGF0aW9uSW5mb1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhbmNlbGxhdGlvbkluZm9RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q2FuY2VsbGF0aW9uSW5mbyA9IEdldENhbmNlbGxhdGlvbkluZm9RdWVyeVsnZ2V0Q2FuY2VsbGF0aW9uSW5mbyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENhckhpcmVEZXBvdHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDYXJIaXJlRGVwb3RzID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5WydnZXRDYXJIaXJlRGVwb3RzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYXJIaXJlUHJvdmlkZXJzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FySGlyZVByb3ZpZGVyc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhckhpcmVQcm92aWRlcnNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb21wYW5pZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb21wYW5pZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb21wYW5pZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29tcGFuaWVzID0gR2V0Q29tcGFuaWVzUXVlcnlbJ2dldENvbXBhbmllcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRtYyA9IEdldENvbXBhbmllc1F1ZXJ5WydnZXRDb21wYW5pZXMnXVtudW1iZXJdWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlcyA9IEdldENvbXBhbmllc1F1ZXJ5WydnZXRDb21wYW5pZXMnXVtudW1iZXJdWydvZmZpY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb21wYW55IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29tcGFueVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbXBhbnlRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29tcGFueSA9IEdldENvbXBhbnlRdWVyeVsnZ2V0Q29tcGFueSddO1xuICBleHBvcnQgdHlwZSBUbWMgPSBHZXRDb21wYW55UXVlcnlbJ2dldENvbXBhbnknXVsndG1jJ107XG4gIGV4cG9ydCB0eXBlIE9mZmljZXMgPSBHZXRDb21wYW55UXVlcnlbJ2dldENvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gR2V0Q29tcGFueVF1ZXJ5WydnZXRDb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU3VwcG9ydFBob25lTnVtYmVyID0gR2V0Q29tcGFueVF1ZXJ5WydnZXRDb21wYW55J11bJ3N1cHBvcnRQaG9uZU51bWJlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVzZXJzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBVc2Vyc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbmZlcm1hT2ZmaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydyZXN1bHRzJ11bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgQ2xvc2VzdEhvdGVscyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXVsnY2xvc2VzdEhvdGVscyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydlcnJvcnMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFRdWlja2xpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbiA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydsb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNwb3J0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0cmFuc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVycmVkID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3ByZWZlcnJlZCddO1xuICBleHBvcnQgdHlwZSBUYWdzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3RhZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVSYXRlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddO1xuICBleHBvcnQgdHlwZSBSb29tcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1cnJlbmN5Q29udmVyc2lvbiA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2N1cnJlbmN5Q29udmVyc2lvbiddO1xuICBleHBvcnQgdHlwZSBEZXBvc2l0ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnZGVwb3NpdCddO1xuICBleHBvcnQgdHlwZSBOaWdodHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWyduaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQb2xpY2llcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BvbGljaWVzJ107XG4gIGV4cG9ydCB0eXBlIFRheCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3RheCddO1xuICBleHBvcnQgdHlwZSBBY2NlcHRlZENhcmRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnYWNjZXB0ZWRDYXJkcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRUeXBlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BheW1lbnRUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFSb29tSW1hZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0RmxpZ2h0RmFyZVJ1bGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldEZsaWdodEZhcmVSdWxlcyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENhbmNlbGxhdGlvbiA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoYW5nZSA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVwZ3JhZGUgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3RoZXIgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGbGlnaHRTZWF0TWFwIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEZsaWdodFNlYXRNYXBRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0RmxpZ2h0U2VhdE1hcCA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBaXJjcmFmdCA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYWlyY3JhZnQnXTtcbiAgZXhwb3J0IHR5cGUgU2VhdHMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsncmVzdWx0cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXR0cmlidXRlcyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdWydhdHRyaWJ1dGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsnZXJyb3JzJ11bbnVtYmVyXVsnc2VydmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEhvdGVsQ2hhaW5zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0SG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRIb3RlbENoYWluc1F1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldElybERpc2NvdW50Q2FyZHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzID0gR2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5WydnZXRJUkxEaXNjb3VudENhcmRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRJcmxTdXBwbGllclN0YXRpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0SXJsU3VwcGxpZXJTdGF0aW9uID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlbJ2dldElSTFN1cHBsaWVyU3RhdGlvbiddO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVsnZ2V0SVJMU3VwcGxpZXJTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5WydnZXRJUkxTdXBwbGllclN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ11bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UmFpbExpdmVEZXBhcnR1cmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJhaWxMaXZlRGVwYXJ0dXJlcyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZXMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ29yaWdpbiddO1xuICBleHBvcnQgdHlwZSBEZXN0aW5hdGlvbiA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdWydkZXN0aW5hdGlvbiddO1xuICBleHBvcnQgdHlwZSBTdWJzZXF1ZW50TG9jYXRpb25zID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ3N1YnNlcXVlbnRMb2NhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBc3NvY2lhdGlvbnMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnc3Vic2VxdWVudExvY2F0aW9ucyddW251bWJlcl1bJ2Fzc29jaWF0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UmFpbFN0YXRpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJhaWxTdGF0aW9uUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJhaWxTdGF0aW9uID0gR2V0UmFpbFN0YXRpb25RdWVyeVsnZ2V0UmFpbFN0YXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gR2V0UmFpbFN0YXRpb25RdWVyeVsnZ2V0UmFpbFN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gR2V0UmFpbFN0YXRpb25RdWVyeVsnZ2V0UmFpbFN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ11bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UmFpbGNhcmRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbGNhcmRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJhaWxjYXJkcyA9IEdldFJhaWxjYXJkc1F1ZXJ5WydnZXRSYWlsY2FyZHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxQcm92aWRlcnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbFByb3ZpZGVyc1F1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJpc2tBbGVydHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSaXNrQWxlcnRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Umlza0FsZXJ0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSaXNrQWxlcnRzID0gR2V0Umlza0FsZXJ0c1F1ZXJ5WydnZXRSaXNrQWxlcnRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQWRkcmVzc2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJBZGRyZXNzZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckFkZHJlc3NlcyA9IEdldFVzZXJBZGRyZXNzZXNRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5WydnZXRVc2VyQ29tcGFueU9mZmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVsnZ2V0VXNlckNvbXBhbnlPZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddO1xuICBleHBvcnQgdHlwZSBDb21wYW55ID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsnY29tcGFueSddO1xuICBleHBvcnQgdHlwZSBPZmZpY2UgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgVXNlciA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgUGVyaW9kQ29uc3VtcHRpb24gPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydwZXJpb2RDb25zdW1wdGlvbiddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyA9IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJHdWVzdHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyR3Vlc3RzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckd1ZXN0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyR3Vlc3RzID0gR2V0VXNlckd1ZXN0c1F1ZXJ5WydnZXRVc2VyR3Vlc3RzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXMgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5WydnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclBob25lIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclBob25lUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclBob25lUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnMgPSBHZXRVc2VyUGhvbmVRdWVyeVsnZ2V0VXNlclBob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclJlY2VudFNlYXJjaGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJSZWNlbnRTZWFyY2hlcyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyUmVjZW50U2VhcmNoZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUcmF2ZWxsZXJzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlbJ2dldFVzZXJSZWNlbnRTZWFyY2hlcyddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJvb21BdmFsaWFiaWxpdHkge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgUm9vbXMgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ2N1cnJlbmN5Q29udmVyc2lvbiddO1xuICBleHBvcnQgdHlwZSBEZXBvc2l0ID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ2RlcG9zaXQnXTtcbiAgZXhwb3J0IHR5cGUgTmlnaHRzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ3BvbGljaWVzJ107XG4gIGV4cG9ydCB0eXBlIFRheCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWyd0YXgnXTtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0ZWRDYXJkcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ3BheW1lbnRUeXBlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSG90ZWxzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSG90ZWxzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEhvdGVscyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNwb3J0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydwcmVmZXJyZWQnXTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RhZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVSYXRlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgSXNQb3N0Y29kZVZhbGlkIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gSXNQb3N0Y29kZVZhbGlkUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTG9jYXRpb25fRGV0YWlsIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudFsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hBaXJwb3J0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQWlycG9ydHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddO1xuICBleHBvcnQgdHlwZSBJYXRhTWF0Y2ggPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydpYXRhTWF0Y2gnXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ11bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBHZW5lcmFsTWF0Y2hlcyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0xvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoTG91bmdlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hMb3VuZ2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG91bmdlID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydsb3VuZ2UnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0ID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblsnbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hQYXJraW5nIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBhcmtpbmdRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUGFya2luZ1F1ZXJ5WydzZWFyY2hQYXJraW5nJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYXJQYXJrID0gU2VhcmNoUGFya2luZ1F1ZXJ5WydzZWFyY2hQYXJraW5nJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydjYXJQYXJrJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJhaWxKb3VybmV5RmFyZSB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFRlcm1zID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ3Rlcm1zJ107XG4gIGV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb25zID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ3Rlcm1zJ11bJ2R5bmFtaWNDb25kaXRpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSYWlsSm91cm5leU9wdGlvbiB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgSm91cm5leUxlZ3MgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wydqb3VybmV5TGVncyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENhbGxpbmdQb2ludHMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wydqb3VybmV5TGVncyddW251bWJlcl1bJ2NhbGxpbmdQb2ludHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTaW5nbGVKb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydzaW5nbGVKb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBSZXR1cm5Kb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydyZXR1cm5Kb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEdWFsU2luZ2xlSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnZHVhbFNpbmdsZUpvdXJuZXlGYXJlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE9wZW5SZXR1cm5Kb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydvcGVuUmV0dXJuSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0UXVldWVMaXN0ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWNjb3VudHNMaXN0ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnYWNjb3VudHNMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0RXh0cmFzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBQbHVzQnVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsncGx1c0J1cyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFJhaWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hSYWlsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hSYWlsID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFJldHVybiA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZUZhdm91cml0ZVNlYXJjaCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNhdmVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVGYXZvdXJpdGVTZWFyY2ggPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25bJ3NhdmVGYXZvdXJpdGVTZWFyY2gnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uWydzYXZlUmVjZW50U2VhcmNoJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTYXZlVXNlckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25bJ3NhdmVVc2VyQWRkcmVzcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEFpcmxpbmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ107XG4gIGV4cG9ydCB0eXBlIElhdGFNYXRjaCA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ11bJ2lhdGFNYXRjaCddO1xuICBleHBvcnQgdHlwZSBHZW5lcmFsTWF0Y2hlcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDaXRpZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDaXRpZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzID0gU2VhcmNoQ2l0aWVzUXVlcnlbJ3NlYXJjaENpdGllcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoQ2l0aWVzUXVlcnlbJ3NlYXJjaENpdGllcyddW251bWJlcl1bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ29uZmVybWFDaXRpZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVsnc2VhcmNoQ29uZmVybWFDaXRpZXMnXTtcbiAgZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbnMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5WydzZWFyY2hDb25mZXJtYUNpdGllcyddWydzdWdnZXN0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoRXVyb3N0YXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEV1cm9zdGFyUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXTtcbiAgZXhwb3J0IHR5cGUgSm91cm5leXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEluYm91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIFRheGVzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRGlzY291bnRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIENhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFnZ2FnZUFsbG93YW5jZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTXVsdGkgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdXRib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9UYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVG90YWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIF9GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX05vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0JhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEZhc3RUcmFjayB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEZhc3RUcmFja1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEZhc3RUcmFja1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hGYXN0VHJhY2sgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGbGlnaHRzVjIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBOb1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ub3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxDaGFpbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSXJsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSXJsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaElybCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGVhcGVzdFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRPcHRpb25zID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQm9va2VkVGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRFeHRyYXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9ucyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFBvc3Rjb2RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRQb3N0Y29kZURldGFpbHMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVsnZ2V0UG9zdGNvZGVEZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUmFpbFN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9ucyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VuZE9mZmxpbmVOb3RpZmljYXRpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uID0gU2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeVsnc2VuZE9mZmxpbmVOb3RpZmljYXRpb24nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTWlHcm91cCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXAgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uWydzZXRCYXNrZXRJdGVtTUlHcm91cCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pVmFsdWUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JVmFsdWUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uWydzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldE5vdGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3RlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25bJ3VwZGF0ZUJhc2tldE5vdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQmFza2V0VGl0bGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblsndXBkYXRlQmFza2V0VGl0bGUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVc2VyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBVc2VyRmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlTGFuZ3VhZ2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBob25lTnVtYmVycyA9IFVzZXJGaWVsZHNGcmFnbWVudFsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRG9jdW1lbnRzID0gVXNlckZpZWxkc0ZyYWdtZW50Wydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb3lhbHR5Q29kZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFByZWZlcmVuY2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJNaURlZmF1bHRWYWx1ZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gVXNlckZpZWxkc0ZyYWdtZW50Wyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ107XG4gIGV4cG9ydCB0eXBlIEZpeGVkVmFsdWUgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWyd2YWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFZhbHVlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm9WYWx1ZSA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvVmFsdWUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyU2VydmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyU2VydmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzID0gR2V0VXNlclNlcnZpY2VzUXVlcnlbJ2dldFVzZXJTZXJ2aWNlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclVpQ29uZmlncyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyVWlDb25maWdzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3MgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlbJ2dldFVzZXJVSUNvbmZpZ3MnXTtcbiAgZXhwb3J0IHR5cGUgQWxsID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5WydnZXRVc2VyVUlDb25maWdzJ11bJ2FsbCddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlck1lc3NhZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlck1lc3NhZ2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlcyA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5WydnZXRVc2VyTWVzc2FnZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJQaG9uZU51bWJlcnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5WydnZXRVc2VyUGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRVc2VyTGFuZ3VhZ2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyID0gR2V0VXNlclF1ZXJ5WydnZXRVc2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoVXNlckNhbkJvb2tGb3Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVsnc2VhcmNoVXNlckNhbkJvb2tGb3InXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5O1xufVxuXG5leHBvcnQgY29uc3QgT3duZXJGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBPd25lckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgVHJhdmVsbGVyVXNlckZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFRyYXZlbGxlclVzZXJGaWVsZHMgb24gVXNlciB7XG4gIGlkXG4gIHRpdGxlXG4gIGZvcmVuYW1lXG4gIHN1cm5hbWVcbiAgZW1haWxcbiAgdXNlcm5hbWVcbiAgZW1wbG95ZWVJZFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgVHJhdmVsbGVyR3Vlc3RzRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVHJhdmVsbGVyR3Vlc3RzRmllbGRzIG9uIEd1ZXN0IHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICBnZW5kZXJcbiAgbmF0aW9uYWxpdHlcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEJhc2tldEZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEJhc2tldEZpZWxkcyBvbiBCYXNrZXQge1xuICBpZFxuICBvd25lciB7XG4gICAgLi4uT3duZXJGaWVsZHNcbiAgfVxuICBpbnZva2VkVXNlciB7XG4gICAgaWRcbiAgICBlbWFpbFxuICB9XG4gIHJlZmVyZW5jZVxuICB0aXRsZVxuICBub3Rlc1xuICBjcmVhdGVkQXRcbiAgdXBkYXRlZEF0XG4gIGJvb2tlZEF0XG4gIGJhc2tldEl0ZW1zIHtcbiAgICBpZFxuICAgIGFkdWx0c1xuICAgIGNoaWxkcmVuXG4gICAgaW5mYW50c1xuICAgIGRldGFpbFxuICAgIGRldGFpbEhhc2hcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICBleHBpcnlcbiAgICBleHBpcmVkXG4gICAgc2VhcmNoUXVlcnlcbiAgICBwcmljZVxuICAgIGN1cnJlbmN5XG4gICAgbWlHcm91cHNBdmFpbGFibGVcbiAgICBtaUdyb3VwU2VsZWN0ZWRcbiAgICB2YWxpZGF0ZWRcbiAgICBsYXRlc3RWYWxpZGF0aW9uXG4gICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlXG4gICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZVxuICAgIGxhdGVzdFZhbGlkYXRpb25BdmFpbGFibGVcbiAgICBib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZVxuICAgIHN0YXR1c1xuICAgIHBuckxvY2F0b3JcbiAgICBib29raW5nRGV0YWlsXG4gICAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgfVxuICAgIHNlbGVjdGVkUGF5bWVudE1ldGhvZCB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgcGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYSBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJJdGVtQWRkcmVzcyBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVySXRlbVBob25lTnVtYmVyIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJQYXNzZW5nZXJBZGRyZXNzIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlciBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgY2FuY2VsbGFibGVcbiAgICBhbWVuZGFibGVcbiAgICBjbzJQZXJJdGVtXG4gICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgb3V0Ym91bmREYXRlXG4gICAgaW5ib3VuZERhdGVcbiAgICByZXF1aXJlc1JlYXNvblxuICAgIHNlcnZpY2Uge1xuICAgICAgaWRcbiAgICAgIHR5cGVcbiAgICB9XG4gICAgZ3Vlc3RzIHtcbiAgICAgIGlkXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICAgIG5hdGlvbmFsaXR5XG4gICAgICBnZW5kZXJcbiAgICAgIHRpdGxlXG4gICAgfVxuICAgIGd1ZXN0UGFzc2VuZ2VyVHlwZXMge1xuICAgICAgaWRcbiAgICAgIHBhc3NlbmdlclR5cGVcbiAgICB9XG4gICAgdXNlcnMge1xuICAgICAgLi4uVHJhdmVsbGVyVXNlckZpZWxkc1xuICAgIH1cbiAgICB1c2VyUGFzc2VuZ2VyVHlwZXMge1xuICAgICAgaWRcbiAgICAgIHBhc3NlbmdlclR5cGVcbiAgICB9XG4gICAgbGVhZFBhc3NlbmdlciB7XG4gICAgICAuLi5UcmF2ZWxsZXJVc2VyRmllbGRzXG4gICAgICAuLi5UcmF2ZWxsZXJHdWVzdHNGaWVsZHNcbiAgICB9XG4gICAgbWFuYWdlbWVudEluZm8ge1xuICAgICAgaWRcbiAgICAgIGRiSWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBoYW5kb2ZmXG4gICAgICB2YWx1ZU1hc2tcbiAgICAgIHVpUHJlc2VudGF0aW9uXG4gICAgICBtYW5kYXRvcnlcbiAgICAgIHBlclBhc3NlbmdlclxuICAgICAgcGVyQm9va2luZ1xuICAgICAgYWdlbnRPbmx5XG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgcmVhc29uXG4gICAgICBmaXhlZFxuICAgICAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0XG4gICAgICB0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdFxuICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgdmFsdWVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGdyb3VwXG4gICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgIHZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudFxuICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICB9XG4gIHN0YXR1c1xuICBjb21wYW55R3JvdXAge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdmFsaWRhdGVkXG59XG4gICAgJHtPd25lckZpZWxkc0ZyYWdtZW50RG9jfVxuJHtUcmF2ZWxsZXJVc2VyRmllbGRzRnJhZ21lbnREb2N9XG4ke1RyYXZlbGxlckd1ZXN0c0ZpZWxkc0ZyYWdtZW50RG9jfWA7XG5leHBvcnQgY29uc3QgRXJyb3JzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgRXJyb3JzIG9uIFNlYXJjaEVycm9yIHtcbiAgc2VydmljZSB7XG4gICAgaWRcbiAgICB0eXBlXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gIH1cbiAgZXJyb3JNZXNzYWdlXG4gIGVycm9yQ29kZVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgR3JvdXBlZEZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEdyb3VwZWRGaWVsZHMgb24gR3JvdXBGbGlnaHRzIHtcbiAgcmVmZXJlbmNlSURcbiAgZmxpZ2h0SURcbiAgYm91bmRJbmRpY2F0b3JcbiAgbWluUHJpY2VcbiAgbWF4UHJpY2VcbiAgZmxpZ2h0cyB7XG4gICAgRWNvbm9teVJlc3RyaWN0ZWRcbiAgICBFY29ub215Tm9CYWdzXG4gICAgRWNvbm9teUZsZXhpXG4gICAgUHJlbWl1bUVjb25vbXlcbiAgICBCdXNpbmVzc1xuICAgIEZpcnN0XG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBGbGlnaHRKb3VybmV5RmllbGRzIG9uIEZsaWdodEpvdXJuZXkge1xuICBpZFxuICBib29raW5nQ29kZVxuICBjYWJpbkNsYXNzXG4gIGNhYmluQ29kZVxuICBjYWJpblJhd1xuICBkYXRlVGltZUFycml2aW5nXG4gIGRhdGVUaW1lQXJyaXZpbmdVVENcbiAgZGF0ZVRpbWVEZXBhcnRpbmdcbiAgZGF0ZVRpbWVEZXBhcnRpbmdVVENcbiAgZGVzdGluYXRpb25BaXJwb3J0XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgZGVzdGluYXRpb25UZXJtaW5hbFxuICBlcXVpcG1lbnRDb2RlXG4gIGVxdWlwbWVudE5hbWVcbiAgZmFyZUJhc2lzQ29kZVxuICBnb3Zlcm5pbmdDYXJyaWVyXG4gIG1hcmtldGluZ0NhcnJpZXJcbiAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyXG4gIG1hcmtldGluZ05hbWVzXG4gIG1hcnJpYWdlR3JvdXBcbiAgb3BlcmF0aW5nQ2FycmllclxuICBvcGVyYXRpbmdDYXJyaWVyTmFtZVxuICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgb3JpZ2luQWlycG9ydFxuICBvcmlnaW5BaXJwb3J0TmFtZVxuICBvcmlnaW5UZXJtaW5hbFxuICBzdG9wc1xuICB0b3RhbER1cmF0aW9uXG4gIHNlYXRzQXZhaWxhYmxlXG4gIHZlbmRvckNvZGVcbiAgb3JpZ2luQWlycG9ydFxuICBmYXJlSW5mbyB7XG4gICAgdGl0bGVcbiAgICB0eXBlXG4gICAgY29kZVxuICAgIHN1cHBsaWVyQ29kZVxuICB9XG4gIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIGFsdGl0dWRlXG4gICAgc3RhdGVcbiAgICBjaXR5XG4gICAgcm9hZFxuICAgIHBvcHVsYXJpdHlcbiAgICBhcmVhXG4gICAgbG9jYXRpb25cbiAgICBvZmZzZXRcbiAgICBhaXJwb3J0TmFtZVxuICAgIGNvdW50cnlOYW1lXG4gICAgY291bnRyeUNvZGVcbiAgICBwb3N0Y29kZVxuICB9XG4gIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgIG5hbWVcbiAgICBhbGlhc1xuICAgIGNhbGxzaWduXG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsb2dvXG4gICAgYmFubmVyXG4gICAgcG9wdWxhcml0eVxuICB9XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgIG5hbWVcbiAgICBhbGlhc1xuICAgIGNhbGxzaWduXG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsb2dvXG4gICAgYmFubmVyXG4gICAgcG9wdWxhcml0eVxuICB9XG4gIGZhcmVDb25kaXRpb25zIHtcbiAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICBjaGFuZ2Uge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICBub1Nob3cge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICB1cGdyYWRlIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgb3RoZXIge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgfVxuICBhZGRpdGlvbmFsXG4gIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBhbHRpdHVkZVxuICAgIHN0YXRlXG4gICAgY2l0eVxuICAgIHJvYWRcbiAgICBwb3B1bGFyaXR5XG4gICAgYXJlYVxuICAgIGxvY2F0aW9uXG4gICAgb2Zmc2V0XG4gICAgYWlycG9ydE5hbWVcbiAgICBjb3VudHJ5TmFtZVxuICAgIGNvdW50cnlDb2RlXG4gICAgcG9zdGNvZGVcbiAgfVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgVXNlcnNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBVU0VSUyBvbiBVc2VyIHtcbiAgaWRcbiAgZW1haWxcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBSb29tQXZhbGlhYmlsaXR5IG9uIEhvdGVsQXZhaWxhYmlsaXR5IHtcbiAgaG90ZWxJZFxuICBpbWFnZVVybFxuICByb29tcyB7XG4gICAgcm9vbUlkXG4gICAgcm9vbVR5cGVcbiAgICByb29tRGVzY3JpcHRpb25cbiAgICByYXRlQ29kZVxuICAgIHJhdGVTb3VyY2VcbiAgICByYXRlRGVzY3JpcHRpb25cbiAgICB0b3RhbFxuICAgIGN1cnJlbmN5Q29kZVxuICAgIGN1cnJlbmN5Q29udmVyc2lvbiB7XG4gICAgICByYXRlXG4gICAgICBsb2NhbENvZGVcbiAgICAgIGxvY2FsVG90YWxcbiAgICAgIGNvbnZlcnRlZENvZGVcbiAgICAgIGNvbnZlcnRlZFRvdGFsXG4gICAgfVxuICAgIGRlcG9zaXQge1xuICAgICAgYW1vdW50XG4gICAgICBwb2xpY3lcbiAgICAgIHJlcXVpcmVkXG4gICAgfVxuICAgIG5pZ2h0cyB7XG4gICAgICBuaWdodFxuICAgICAgcmF0ZVxuICAgICAgaW5mb1xuICAgICAgZGF0ZVxuICAgIH1cbiAgICBwb2xpY2llcyB7XG4gICAgICBjYW5jZWxsYXRpb25cbiAgICAgIGRlcG9zaXRcbiAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICBnZW5lcmFsXG4gICAgICBndWFyYW50ZWVcbiAgICAgIHJlZnVuZEF2YWlsYWJsZVxuICAgIH1cbiAgICB0YXgge1xuICAgICAgaW5jbHVkZWRcbiAgICAgIHJhdGVcbiAgICB9XG4gICAgYWNjZXB0ZWRDYXJkcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBwYXltZW50VHlwZXMge1xuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgIH1cbiAgICB0bWNQcmVmZXJyZWRcbiAgICBjb21wYW55UHJlZmVycmVkXG4gICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgIHVuYXZhaWxhYmxlXG4gICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgcmVxdWlyZXNSZWFzb25cbiAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgfVxuICBwcnBuXG4gIGN1cnJlbmN5Q29kZVxuICBpc0J1c3lcbiAgc291cmNlXG4gIHZlcnNpb25cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IExvY2F0aW9uX0RldGFpbEZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IExPQ0FUSU9OX0RFVEFJTCBvbiBMb2NhdGlvbkRldGFpbCB7XG4gIGNvbnRpbmVudFxuICBjb3VudHJ5XG4gIGNvdW50cnlDb2RlXG4gIHN0YXRlXG4gIGNpdHlcbiAgY29vcmRpbmF0ZXMge1xuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgYWx0aXR1ZGVcbiAgfVxuICBwb3N0Y29kZVxuICByb2FkXG4gIGdyaWRSZWZlcmVuY2VcbiAgbm9ydGhpbmdcbiAgZWFzdGluZ1xufVxuICAgIGA7XG5leHBvcnQgY29uc3QgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlGYXJlIG9uIFJhaWxKb3VybmV5RmFyZSB7XG4gIHByb3ZpZGVySWRcbiAgcHJvdmlkZXJOYW1lXG4gIGlkZW50aWZpZXJzIHtcbiAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICBqb3VybmV5SWRlbnRpZmllclxuICAgIHByb3ZpZGVyXG4gICAgZmFyZUlkZW50aWZpZXJcbiAgICBkaXJlY3Rpb25cbiAgICBzaW5nbGVPclJldHVyblxuICAgIGJvb2tpbmdSZWZcbiAgfVxuICB0eXBlXG4gIHByaWNlXG4gIGN1cnJlbmN5XG4gIGZhcmVIYXNoXG4gIHRlcm1zIHtcbiAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgY2hhbmdlUnVsZVxuICAgIGNoaWxkRGlzY291bnRcbiAgICBkeW5hbWljQ29uZGl0aW9ucyB7XG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBnZW5lcmFsRGlzY291bnRcbiAgICBnZW5lcmFsVmFsaWRpdHlcbiAgICBqb3VybmV5QnJlYWtSdWxlXG4gICAgam91cm5leVR5cGVcbiAgICBraW9za0F2YWlsYWJsZVxuICAgIHByZUJvb2tpbmdSZXF1aXJlbWVudFxuICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICByb3V0ZVxuICAgIHJlZnVuZENhbmNlbGxhdGlvblJ1bGVcbiAgICByZXNlcnZhdGlvblJ1bGVcbiAgICB0aWNrZXRUeXBlQWx0TmFtZVxuICAgIHRpY2tldFR5cGVDbGFzc1xuICAgIHRpY2tldFR5cGVDb2RlXG4gICAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvblxuICAgIHRpY2tldFR5cGVOYW1lXG4gICAgdG9kQXZhaWxhYmxlXG4gICAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZVxuICAgIHZhbGlkT3V0UnVsZVxuICAgIHZhbGlkUmV0dXJuUnVsZVxuICB9XG4gIGNsYXNzXG4gIHNpbmdsZU9yUmV0dXJuXG4gIG1vYmlsZVRpY2tldEF2YWlsYWJsZVxuICBlVGlja2V0QXZhaWxhYmxlXG4gIHNlbGZQcmludEF2YWlsYWJsZVxuICByYWlsY2FyZENvZGVcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlPcHRpb24gb24gUmFpbEpvdXJuZXlPcHRpb24ge1xuICBmcm9tXG4gIGZyb21Db2RlXG4gIHRvXG4gIHRvQ29kZVxuICBqb3VybmV5SGFzaFxuICBkZXBhcnREYXRlVGltZVxuICBhcnJpdmVEYXRlVGltZVxuICBjbzJQZXJJdGVtXG4gIGNvMlBlclBhc3NlbmdlclxuICBjaGFuZ2VzXG4gIG92ZXJ0YWtlblxuICBqb3VybmV5TGVncyB7XG4gICAgaWRcbiAgICBvcGVyYXRvclxuICAgIGRlcGFydFxuICAgIGFycml2ZVxuICAgIGFycml2ZURhdGVUaW1lXG4gICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgY2FsbGluZ1BvaW50cyB7XG4gICAgICBzdGF0aW9uTmFtZVxuICAgICAgc3RhdGlvbkNvZGVcbiAgICAgIGFycml2YWxEYXRlVGltZVxuICAgICAgZGVwYXJ0dXJlRGF0ZVRpbWVcbiAgICAgIHNjaGVkdWxlZFBsYXRmb3JtXG4gICAgICBzdGF0aW9uQ2xhc3NpZmljYXRpb25cbiAgICAgIHN0b3BwaW5nUGF0dGVyblxuICAgIH1cbiAgfVxuICBzaW5nbGVKb3VybmV5RmFyZXMge1xuICAgIC4uLlJhaWxKb3VybmV5RmFyZVxuICB9XG4gIHJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgZHVhbFNpbmdsZUpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgdGlja2V0UXVldWVMaXN0IHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICB0eXBlXG4gIH1cbiAgYWNjb3VudHNMaXN0IHtcbiAgICBpZFxuICAgIHJlZmVyZW5jZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgaXNEZWZhdWx0XG4gICAgdHlwZVxuICB9XG4gIHRpY2tldEV4dHJhcyB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgdHlwZVxuICAgICAgbG9jYXRpb25cbiAgICAgIGRhdGVcbiAgICAgIGpvdXJuZXlJZFxuICAgICAgaXNPcmlnaW5cbiAgICB9XG4gICAgdHlwZVxuICAgIGxvY2F0aW9uXG4gICAgZGF0ZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgYW1vdW50XG4gICAgYWR1bHRBbW91bnRcbiAgICBjaGlsZEFtb3VudFxuICAgIGN1cnJlbmN5XG4gIH1cbiAgcGx1c0J1cyB7XG4gICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgIG9yaWdpblN0YXRpb25OTENcbiAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgfVxufVxuICAgICR7UmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2N9YDtcbmV4cG9ydCBjb25zdCBVc2VyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVXNlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICBhZGRpdGlvbmFsRW1haWxcbiAgY2FuSW52b2tlVXNlclxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgZG9iXG4gIGFkbWluXG4gIHRtY0FkbWluXG4gIGNvbXBhbnlBZG1pblxuICBib29rZXJUeXBlXG4gIGF1dGhNZXRob2RzXG4gIGFjdGl2ZVxuICBwYXNzd29yZExhc3RVcGRhdGVkXG4gIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG4gIHBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbiAgZG9jdW1lbnRzIHtcbiAgICBpZFxuICAgIGRvY1R5cGVcbiAgICBuYXRpb25hbGl0eVxuICAgIGdlbmRlclxuICAgIG51bWJlclxuICAgIGNvdW50cnlcbiAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICBkYXRlT2ZJc3N1ZVxuICAgIGRhdGVPZkV4cGlyeVxuICAgIHByaW1hcnlcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgfVxuICBsb3lhbHR5Q29kZXMge1xuICAgIGlkXG4gICAgY2FycmllclxuICAgIGNvZGVcbiAgICB0eXBlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgcHJlZmVyZW5jZXMge1xuICAgIGlkXG4gICAgc2VydmljZVR5cGVcbiAgICBwcmVmZXJlbmNlS2V5XG4gICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdXNlck1pRGVmYXVsdFZhbHVlcyB7XG4gICAgc2VydmljZSB7XG4gICAgICBpZFxuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIHN1cHBsaWVyVXJsXG4gICAgICBhY3RpdmVcbiAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICBjYW5jZWxsYWJsZVxuICAgICAgYW1lbmRhYmxlXG4gICAgICBkZXRhaWxTY2hlbWFcbiAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvIHtcbiAgICAgIGlkXG4gICAgICBkYklkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgaGFuZG9mZlxuICAgICAgdmFsdWVNYXNrXG4gICAgICB1aVByZXNlbnRhdGlvblxuICAgICAgbWFuZGF0b3J5XG4gICAgICBwZXJQYXNzZW5nZXJcbiAgICAgIHBlckJvb2tpbmdcbiAgICAgIGFnZW50T25seVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIGZpeGVkXG4gICAgICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHRcbiAgICAgIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0XG4gICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICB2YWx1ZXMge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgZ3JvdXBcbiAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgdmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICB9XG4gICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICBiYXNrZXRMZXZlbFZhbHVlXG4gICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgIHVzZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdGl0bGVcbiAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIGFkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvVmFsdWUge1xuICAgICAgaWRcbiAgICAgIGxhYmVsXG4gICAgICB2YWx1ZVxuICAgICAgZGVmYXVsdFxuICAgICAgZml4ZWRcbiAgICAgIGFnZW50T25seVxuICAgIH1cbiAgICBmcmVlVGV4dFZhbHVlXG4gIH1cbiAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICBjYW5Cb29rR3Vlc3Rcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWNjZXB0TmV3UHJpY2UoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGFjY2VwdE5ld1ByaWNlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBY2NlcHROZXdQcmljZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBY2NlcHROZXdQcmljZU11dGF0aW9uLCBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBY2NlcHROZXdQcmljZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGFkZFVzZXJzVG9CYXNrZXRJdGVtKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkdXNlcnM6IFtVc2VyUGFzc2VuZ2VyVHlwZUlucHV0IV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiEpIHtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW0oY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIHVzZXJzOiAkdXNlcnMpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBZGRVc2Vyc1RvQmFza2V0SXRlbUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uLCBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBcHBseUppdEZsaWdodFJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgYXBwbHlKSVRGbGlnaHRSdWxlcygkc2VsZWN0ZWRPdXRib3VuZEZsaWdodDogSlNPTiEsICRhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogW0pTT04hXSEpIHtcbiAgYXBwbHlKSVRGbGlnaHRSdWxlcyhzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiAkc2VsZWN0ZWRPdXRib3VuZEZsaWdodCwgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6ICRhdmFpbGFibGVJbmJvdW5kRmxpZ2h0cylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFwcGx5Sml0RmxpZ2h0UnVsZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8QXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5LCBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQXBwbHlKaXRIb3RlbFJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgYXBwbHlKSVRIb3RlbFJ1bGVzKCRkYXRhOiBbSlNPTiFdISkge1xuICBhcHBseUpJVEhvdGVsUnVsZXMoZGF0YTogJGRhdGEpIHtcbiAgICByZXN1bHRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQXBwbHlKaXRIb3RlbFJ1bGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5LCBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQXBwbHlKaXRIb3RlbFJ1bGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckJhc2tldHMoJHVzZXI6IElELCAkdHJhdmVsbGVyOiBJRCwgJGJhc2tldFN0YXR1czogQmFza2V0U3RhdHVzLCAkY3JlYXRlZEFmdGVyOiBEYXRlVGltZSwgJGNyZWF0ZWRCZWZvcmU6IERhdGVUaW1lLCAkYm9va2VkQWZ0ZXI6IERhdGVUaW1lLCAkYm9va2VkQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEJlZm9yZTogRGF0ZVRpbWUsICRkYXRlT2ZUcmF2ZWxBZnRlcjogRGF0ZVRpbWUsICRiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogU3RyaW5nLCAkYmFza2V0UmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRUaXRsZTogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlLCAkY29udmVydEN1cnJlbmN5VG86IFN0cmluZykge1xuICBnZXRVc2VyQmFza2V0cyhjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCB1c2VyOiAkdXNlciwgdHJhdmVsbGVyOiAkdHJhdmVsbGVyLCBiYXNrZXRTdGF0dXM6ICRiYXNrZXRTdGF0dXMsIGNyZWF0ZWRBZnRlcjogJGNyZWF0ZWRBZnRlciwgY3JlYXRlZEJlZm9yZTogJGNyZWF0ZWRCZWZvcmUsIGJvb2tlZEFmdGVyOiAkYm9va2VkQWZ0ZXIsIGJvb2tlZEJlZm9yZTogJGJvb2tlZEJlZm9yZSwgZGF0ZU9mVHJhdmVsQmVmb3JlOiAkZGF0ZU9mVHJhdmVsQmVmb3JlLCBkYXRlT2ZUcmF2ZWxBZnRlcjogJGRhdGVPZlRyYXZlbEFmdGVyLCBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogJGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlLCBiYXNrZXRSZWZlcmVuY2U6ICRiYXNrZXRSZWZlcmVuY2UsIGJhc2tldFRpdGxlOiAkYmFza2V0VGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQmFza2V0c1F1ZXJ5LCBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVCYXNrZXQoJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nKSB7XG4gIGRlbGV0ZUJhc2tldChpZDogJGlkLCByZWZlcmVuY2U6ICRyZWZlcmVuY2UpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlQmFza2V0TXV0YXRpb24sIERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ3JlYXRlQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY3JlYXRlQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkdGl0bGU6IFN0cmluZywgJGludm9rZWRVc2VyOiBJRCwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBjcmVhdGVCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgdGl0bGU6ICR0aXRsZSwgaW52b2tlZFVzZXI6ICRpbnZva2VkVXNlcikge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENyZWF0ZUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDcmVhdGVCYXNrZXRNdXRhdGlvbiwgQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENyZWF0ZUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBSZW1vdmVJdGVtRnJvbUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHJlbW92ZUl0ZW1Gcm9tQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHJlbW92ZUl0ZW1Gcm9tQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgUmVtb3ZlSXRlbUZyb21CYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248UmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbiwgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gUmVtb3ZlSXRlbUZyb21CYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VuZEJhc2tldEZvckFwcHJvdmFsRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2VuZEJhc2tldEZvckFwcHJvdmFsKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0OiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gdHJ1ZSkge1xuICBzZW5kQmFza2V0Rm9yQXBwcm92YWwoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0OiAkYmFza2V0KSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VuZEJhc2tldEZvckFwcHJvdmFsR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uLCBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VuZEJhc2tldEZvckFwcHJvdmFsRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFkZEl0ZW1Ub0Jhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGFkZEl0ZW1Ub0Jhc2tldCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldDogSUQsICRzZXJ2aWNlOiBJRCEsICRkZXRhaWw6IEpTT04hLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHByaWNlOiBGbG9hdCEsICRjdXJyZW5jeTogQ3VycmVuY3lDb2RlISwgJHNlYXJjaFF1ZXJ5OiBKU09OISwgJHF1aWNrQWRkOiBCb29sZWFuLCAkdXNlcnM6IFtVc2VyUGFzc2VuZ2VyVHlwZUlucHV0XSwgJGd1ZXN0czogW1VzZXJQYXNzZW5nZXJUeXBlSW5wdXRdLCAkbGVhZFBhc3NlbmdlcjogSUQsICRsZWFkUGFzc2VuZ2VyVHlwZTogTGVhZFBhc3NlbmdlclR5cGUsICRjbzJQZXJJdGVtOiBGbG9hdCwgJGNvMlBlclBhc3NlbmdlcjogRmxvYXQsICRvdXRib3VuZERhdGU6IERhdGVUaW1lISwgJGluYm91bmREYXRlOiBEYXRlVGltZSwgJHJlcXVpcmVzUmVhc29uOiBCb29sZWFuID0gZmFsc2UsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYWRkSXRlbVRvQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldDogJGJhc2tldCwgc2VydmljZTogJHNlcnZpY2UsIGRldGFpbDogJGRldGFpbCwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBpbmZhbnRzOiAkaW5mYW50cywgcHJpY2U6ICRwcmljZSwgY3VycmVuY3k6ICRjdXJyZW5jeSwgc2VhcmNoUXVlcnk6ICRzZWFyY2hRdWVyeSwgcXVpY2tBZGQ6ICRxdWlja0FkZCwgdXNlcnM6ICR1c2VycywgZ3Vlc3RzOiAkZ3Vlc3RzLCBsZWFkUGFzc2VuZ2VyOiAkbGVhZFBhc3NlbmdlciwgbGVhZFBhc3NlbmdlclR5cGU6ICRsZWFkUGFzc2VuZ2VyVHlwZSwgY28yUGVySXRlbTogJGNvMlBlckl0ZW0sIGNvMlBlclBhc3NlbmdlcjogJGNvMlBlclBhc3Nlbmdlciwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBpbmJvdW5kRGF0ZTogJGluYm91bmREYXRlLCByZXF1aXJlc1JlYXNvbjogJHJlcXVpcmVzUmVhc29uKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQWRkSXRlbVRvQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uLCBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQWRkSXRlbVRvQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBnZXRVc2VyQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRRdWVyeSwgR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZXZhbGlkYXRlQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZXZhbGlkYXRlQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZXZhbGlkYXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiwgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZXZhbGlkYXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEJvb2tCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBib29rQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHN1cHBsZW1lbnRhcnlJbmZvOiBbU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvIV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGJvb2tCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgc3VwcGxlbWVudGFyeUluZm86ICRzdXBwbGVtZW50YXJ5SW5mbykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEJvb2tCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Qm9va0Jhc2tldE11dGF0aW9uLCBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEJvb2tCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FiSGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhYkhpcmUoJGRlcGFydHM6IERhdGVUaW1lISwgJGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkdG9Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHZpYXM6IFtDYWJIaXJlTG9jYXRpb25JbnB1dF0sICR2ZWhpY2xlVHlwZTogQ2FiSGlyZVZlaGljbGVUeXBlKSB7XG4gIHNlYXJjaENhYkhpcmUoZGVwYXJ0czogJGRlcGFydHMsIGZyb21Mb2NhdGlvbjogJGZyb21Mb2NhdGlvbiwgdG9Mb2NhdGlvbjogJHRvTG9jYXRpb24sIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHZpYXM6ICR2aWFzLCB2ZWhpY2xlVHlwZTogJHZlaGljbGVUeXBlKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgc3VwcGxpZXJOYW1lXG4gICAgICBlc3RpbWF0ZWRDTzJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICB2ZWhpY2xlVHlwZVxuICAgICAgdHJpcERpc3RhbmNlTWV0cmVzXG4gICAgICB0cmlwRHVyYXRpb25TZWNvbmRzXG4gICAgICBkZXBhcnRzXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGZyb21Mb2NhdGlvbiB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgICB0b0xvY2F0aW9uIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICAgIHZpYXMge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhYkhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FiSGlyZVF1ZXJ5LCBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhYkhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FuY2VsQm9va2luZ0RvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGNhbmNlbEJvb2tpbmcoJGJhc2tldEl0ZW06IElEISkge1xuICBjYW5jZWxCb29raW5nKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgY2FuY2VsbGVkXG4gICAgY2FuY2VsbGF0aW9uRmVlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENhbmNlbEJvb2tpbmdHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q2FuY2VsQm9va2luZ011dGF0aW9uLCBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENhbmNlbEJvb2tpbmdEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCgkbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyEpIHtcbiAgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QobG9jYXRpb25EZXRhaWxzOiAkbG9jYXRpb25EZXRhaWxzKSB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgbG9jYXRvclxuICAgICAgcnBoXG4gICAgICBzdGF0dXNcbiAgICAgIHZlaFR5cGVcbiAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgZXh0ZW5kZWRMb2NhdGlvbkNvZGVcbiAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICBwaWNrdXBEYXRlVGltZVxuICAgICAgZHJvcG9mZkRhdGVUaW1lXG4gICAgICB2ZW5kb3JcbiAgICB9XG4gICAgdmVuZG9yIHtcbiAgICAgIG5hbWVcbiAgICAgIGxvZ29cbiAgICB9XG4gICAgYWRkcmVzcyB7XG4gICAgICBuYW1lXG4gICAgICB0b3BMaW5lXG4gICAgICBjaXR5XG4gICAgICByZWdpb25cbiAgICAgIHBvc3RDb2RlXG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVDb2RlXG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgfVxuICAgIGFkZGl0aW9uYWxJbmZvIHtcbiAgICAgIG5hbWVcbiAgICAgIHRleHRcbiAgICAgIGpzb25cbiAgICAgIGN1c3RvbSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeSwgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FySGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhckhpcmUoJGFpcnBvcnQ6IENhckhpcmVBaXJwb3J0SW5wdXQsICRjaXR5OiBDYXJIaXJlQ2l0eUlucHV0LCAkbG9jYXRpb246IENhckhpcmVMb2NhdGlvbklucHV0LCAkZGVwb3Q6IElucHV0Q2FySGlyZURlcG90LCAkcGlja3VwRGF0ZVRpbWU6IFN0cmluZyEsICRkcm9wb2ZmRGF0ZVRpbWU6IFN0cmluZyEsICR2ZW5kb3I6IFN0cmluZywgJGNsYXNzOiBDYXJIaXJlQ2xhc3MsICR0eXBlOiBDYXJIaXJlVHlwZSwgJHRyYW5zbWlzc2lvbjogQ2FySGlyZVRyYW5zbWlzc2lvbiwgJGFpcmNvbjogQm9vbGVhbiwgJGVzdGltYXRlZERhaWx5RGlzdGFuY2U6IEZsb2F0LCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiBEaXN0YW5jZVR5cGVzKSB7XG4gIHNlYXJjaENhckhpcmUoYWlycG9ydDogJGFpcnBvcnQsIGNpdHk6ICRjaXR5LCBsb2NhdGlvbjogJGxvY2F0aW9uLCBkZXBvdDogJGRlcG90LCBwaWNrdXBEYXRlVGltZTogJHBpY2t1cERhdGVUaW1lLCBkcm9wb2ZmRGF0ZVRpbWU6ICRkcm9wb2ZmRGF0ZVRpbWUsIHZlbmRvcjogJHZlbmRvciwgY2xhc3M6ICRjbGFzcywgdHlwZTogJHR5cGUsIHRyYW5zbWlzc2lvbjogJHRyYW5zbWlzc2lvbiwgYWlyY29uOiAkYWlyY29uLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZSwgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgIGxvY2F0b3JcbiAgICAgICAgcnBoXG4gICAgICAgIHN0YXR1c1xuICAgICAgICB2ZWhUeXBlXG4gICAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICAgIGRyb3BvZmZEYXRlVGltZVxuICAgICAgICB2ZW5kb3JcbiAgICAgIH1cbiAgICAgIGRpc3BsYXlSZWNvcmQge1xuICAgICAgICBzdGF0dXNcbiAgICAgICAgcGlja3VwXG4gICAgICAgIGRyb3BvZmZcbiAgICAgICAgdmVuZG9yIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgbG9nb1xuICAgICAgICB9XG4gICAgICAgIHZlaGljbGUge1xuICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHRyYW5zbWlzc2lvblxuICAgICAgICAgIGFpcmNvblxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgaW1hZ2VzXG4gICAgICAgIH1cbiAgICAgICAgY2hhcmdlcyB7XG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgfVxuICAgICAgICBwaWNrdXBMb2NhdGlvbiB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRvcExpbmVcbiAgICAgICAgICBjaXR5XG4gICAgICAgICAgcmVnaW9uXG4gICAgICAgICAgcG9zdENvZGVcbiAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBzdGF0ZUNvZGVcbiAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybkxvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0ZXh0XG4gICAgICAgICAganNvblxuICAgICAgICAgIGN1c3RvbSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhckhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FySGlyZVF1ZXJ5LCBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhckhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ29uZmlybU1lc3NhZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY29uZmlybU1lc3NhZ2VzKCRtZXNzYWdlczogW1N0cmluZyFdISkge1xuICBjb25maXJtTWVzc2FnZXMobWVzc2FnZXM6ICRtZXNzYWdlcylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENvbmZpcm1NZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDb25maXJtTWVzc2FnZXNNdXRhdGlvbiwgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENvbmZpcm1NZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDcmVhdGVHdWVzdERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGNyZWF0ZUd1ZXN0KCR0aXRsZTogU3RyaW5nISwgJGZvcmVuYW1lOiBTdHJpbmchLCAkc3VybmFtZTogU3RyaW5nISwgJGVtYWlsOiBTdHJpbmchLCAkZ2VuZGVyOiBEb2NHZW5kZXIhLCAkbmF0aW9uYWxpdHk6IFN0cmluZyEpIHtcbiAgY3JlYXRlR3Vlc3QodGl0bGU6ICR0aXRsZSwgZm9yZW5hbWU6ICRmb3JlbmFtZSwgc3VybmFtZTogJHN1cm5hbWUsIGVtYWlsOiAkZW1haWwsIGdlbmRlcjogJGdlbmRlciwgbmF0aW9uYWxpdHk6ICRuYXRpb25hbGl0eSkge1xuICAgIGlkXG4gICAgdGl0bGVcbiAgICBmb3JlbmFtZVxuICAgIHN1cm5hbWVcbiAgICBlbWFpbFxuICAgIGdlbmRlclxuICAgIG5hdGlvbmFsaXR5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENyZWF0ZUd1ZXN0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPENyZWF0ZUd1ZXN0TXV0YXRpb24sIENyZWF0ZUd1ZXN0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENyZWF0ZUd1ZXN0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZUZhdm91cml0ZVNlYXJjaCgkaWQ6IElEISkge1xuICBkZWxldGVGYXZvdXJpdGVTZWFyY2goaWQ6ICRpZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZUZhdm91cml0ZVNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiwgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVSZWNlbnRTZWFyY2goJGlkOiBJRCEpIHtcbiAgZGVsZXRlUmVjZW50U2VhcmNoKGlkOiAkaWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVSZWNlbnRTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24sIERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVVc2VyQWRkcmVzcygkaWQ6IElEISkge1xuICBkZWxldGVVc2VyQWRkcmVzcyhpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbiwgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRWRpdFVzZXJEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBlZGl0VXNlcigkaWQ6IElEISwgJHRpdGxlOiBTdHJpbmcsICRmb3JlbmFtZTogU3RyaW5nLCAkc3VybmFtZTogU3RyaW5nLCAkZW1haWw6IFN0cmluZywgJGFkZGl0aW9uYWxFbWFpbDogW1N0cmluZ10sICRkb2I6IERhdGUsICRzZWxlY3RlZExhbmd1YWdlOiBJRCwgJGVtZXJnZW5jeUNvbnRhY3ROYW1lOiBTdHJpbmcsICRlbWVyZ2VuY3lDb250YWN0UGhvbmU6IFN0cmluZywgJGVtZXJnZW5jeUNvbnRhY3RFbWFpbDogU3RyaW5nLCAkcGhvbmVOdW1iZXJzOiBbUGhvbmVOdW1iZXJJbnB1dCFdLCAkYWRkcmVzc2VzOiBbQWRkcmVzc0lucHV0IV0sICR1c2VyTWlEZWZhdWx0VmFsdWVzOiBbVXNlck1pRGVmYXVsdFZhbHVlc0lucHV0IV0sICRkb2N1bWVudHM6IFtEb2N1bWVudElucHV0IV0sICRsb3lhbHR5Q29kZXM6IFtVc2VyTG95YWx0eUNvZGVJbnB1dCFdLCAkcHJlZmVyZW5jZXM6IFtVc2VyUHJlZmVyZW5jZUlucHV0IV0pIHtcbiAgZWRpdFVzZXIoaWQ6ICRpZCwgdGl0bGU6ICR0aXRsZSwgZm9yZW5hbWU6ICRmb3JlbmFtZSwgc3VybmFtZTogJHN1cm5hbWUsIGVtYWlsOiAkZW1haWwsIGFkZGl0aW9uYWxFbWFpbDogJGFkZGl0aW9uYWxFbWFpbCwgZG9iOiAkZG9iLCBzZWxlY3RlZExhbmd1YWdlOiAkc2VsZWN0ZWRMYW5ndWFnZSwgZW1lcmdlbmN5Q29udGFjdE5hbWU6ICRlbWVyZ2VuY3lDb250YWN0TmFtZSwgZW1lcmdlbmN5Q29udGFjdFBob25lOiAkZW1lcmdlbmN5Q29udGFjdFBob25lLCBlbWVyZ2VuY3lDb250YWN0RW1haWw6ICRlbWVyZ2VuY3lDb250YWN0RW1haWwsIHBob25lTnVtYmVyczogJHBob25lTnVtYmVycywgYWRkcmVzc2VzOiAkYWRkcmVzc2VzLCB1c2VyTWlEZWZhdWx0VmFsdWVzOiAkdXNlck1pRGVmYXVsdFZhbHVlcywgZG9jdW1lbnRzOiAkZG9jdW1lbnRzLCBsb3lhbHR5Q29kZXM6ICRsb3lhbHR5Q29kZXMsIHByZWZlcmVuY2VzOiAkcHJlZmVyZW5jZXMpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgICBhZGRpdGlvbmFsRW1haWxcbiAgICB1c2VybmFtZVxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGRvYlxuICAgIGFkbWluXG4gICAgdG1jQWRtaW5cbiAgICBjb21wYW55QWRtaW5cbiAgICBib29rZXJUeXBlXG4gICAgYXV0aE1ldGhvZHNcbiAgICBhY3RpdmVcbiAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaXNvQ29kZVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlzb0NvZGVcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgYXBwcm92ZXJzIHtcbiAgICAgIGFjdGl2ZVxuICAgICAgcHJpb3JpdHlcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgYXBwcm92ZXJGb3Ige1xuICAgICAgYWN0aXZlXG4gICAgICBwcmlvcml0eVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgIGNhbkNyZWF0ZUFkbWluQXRPd25MZXZlbFxuICAgIGxpdmVcbiAgICBzdXBwbGllclJlbGF0aW9uc1xuICAgIGxvZ0xldmVsXG4gICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGFyZWFDb2RlXG4gICAgICBudW1iZXJcbiAgICAgIGV4dGVuc2lvblxuICAgICAgdHlwZVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgdXNlclByaW1hcnlcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgYWRkcmVzc2VzIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICBzdHJlZXRcbiAgICAgIHRvd25cbiAgICAgIGNvdW50eVxuICAgICAgcG9zdGNvZGVcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICB1c2VyUHJpbWFyeVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICB1c2VyTWlEZWZhdWx0VmFsdWVzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICAgIGlkXG4gICAgICAgIGRiSWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBoYW5kb2ZmXG4gICAgICAgIHZhbHVlTWFza1xuICAgICAgICBzZXJ2aWNlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBzdXBwbGllclVybFxuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgdWlQcmVzZW50YXRpb25cbiAgICAgICAgbWFuZGF0b3J5XG4gICAgICAgIHBlclBhc3NlbmdlclxuICAgICAgICBwZXJCb29raW5nXG4gICAgICAgIGFnZW50T25seVxuICAgICAgICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHRcbiAgICAgICAgdGFrZVZhbHVlRnJvbUJvb2tlckRlZmF1bHRcbiAgICAgICAgZW5mb3JjZVVzZXJEZWZhdWx0XG4gICAgICAgIGJvb2tlZEJ5RmllbGRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBmaXhlZFxuICAgICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdFZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZ3JvdXBcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZXMge1xuICAgICAgICAgIHZhbHVlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgZnJlZVZhbHVlXG4gICAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIG1hbmFnZW1lbnRJbmZvVmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBmcmVlVGV4dFZhbHVlXG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIGRvY3VtZW50cyB7XG4gICAgICBpZFxuICAgICAgZG9jVHlwZVxuICAgICAgbmF0aW9uYWxpdHlcbiAgICAgIGdlbmRlclxuICAgICAgbnVtYmVyXG4gICAgICBjb3VudHJ5XG4gICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgIGRhdGVPZklzc3VlXG4gICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgIHByaW1hcnlcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICBpZFxuICAgICAgY2FycmllclxuICAgICAgY29kZVxuICAgICAgdHlwZVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgcHJlZmVyZW5jZXMge1xuICAgICAgaWRcbiAgICAgIHNlcnZpY2VUeXBlXG4gICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIF9fdHlwZW5hbWVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRWRpdFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RWRpdFVzZXJNdXRhdGlvbiwgRWRpdFVzZXJNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRWRpdFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRW1haWxCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBlbWFpbEJhc2tldCgkaWQ6IElEISkge1xuICBlbWFpbEJhc2tldChpZDogJGlkKSB7XG4gICAgaWRcbiAgICBvd25lciB7XG4gICAgICBpZFxuICAgICAgdGl0bGVcbiAgICAgIGZvcmVuYW1lXG4gICAgICBzdXJuYW1lXG4gICAgICBlbWFpbFxuICAgICAgdXNlcm5hbWVcbiAgICAgIGVtcGxveWVlSWRcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBkb2JcbiAgICAgIGFkbWluXG4gICAgICB0bWNBZG1pblxuICAgICAgY29tcGFueUFkbWluXG4gICAgICBib29rZXJUeXBlXG4gICAgICBhdXRoTWV0aG9kc1xuICAgICAgYWN0aXZlXG4gICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBpc29Db2RlXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgaXNvQ29kZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICB0bWMge1xuICAgICAgICBuYW1lXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIG9mZmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNvbXBhbnlHcm91cHMge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIGNvbXBhbnkge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRtYyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgICB0b3duXG4gICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgc3VwcG9ydFBob25lTnVtYmVyIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgc3VwcG9ydEVtYWlsXG4gICAgICAgICAgY28yQ29uc3VtcHRpb25Qb2xpY3lcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhZGRyZXNzZXMge1xuICAgICAgICBpZFxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgc3RyZWV0XG4gICAgICAgIHRvd25cbiAgICAgICAgY291bnR5XG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIGV4dGVuc2lvblxuICAgICAgICB0eXBlXG4gICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGFwcHJvdmVyRm9yIHtcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICBkb2N1bWVudHMge1xuICAgICAgICBpZFxuICAgICAgICBkb2NUeXBlXG4gICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgIGdlbmRlclxuICAgICAgICBudW1iZXJcbiAgICAgICAgY291bnRyeVxuICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgIHByaW1hcnlcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIHNlcnZpY2VUeXBlXG4gICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgY2FycmllclxuICAgICAgICBjb2RlXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgcmVmZXJlbmNlXG4gICAgdGl0bGVcbiAgICBub3Rlc1xuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGJhc2tldEl0ZW1zIHtcbiAgICAgIGlkXG4gICAgICBhZHVsdHNcbiAgICAgIGNoaWxkcmVuXG4gICAgICBpbmZhbnRzXG4gICAgICBkZXRhaWxcbiAgICAgIGRldGFpbEhhc2hcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBleHBpcnlcbiAgICAgIGV4cGlyZWRcbiAgICAgIHVzZXJzIHtcbiAgICAgICAgaWRcbiAgICAgICAgdGl0bGVcbiAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgc3VybmFtZVxuICAgICAgICBlbWFpbFxuICAgICAgICB1c2VybmFtZVxuICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZG9iXG4gICAgICAgIGFkbWluXG4gICAgICAgIHRtY0FkbWluXG4gICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICBib29rZXJUeXBlXG4gICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGlzb0NvZGVcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXZhaWxhYmxlTGFuZ3VhZ2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHRtYyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIG9mZmljZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNvbXBhbnlHcm91cHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY29tcGFueSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdG1jIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICAgIHRvd25cbiAgICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1cHBvcnRQaG9uZU51bWJlciB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBzdXBwb3J0RW1haWxcbiAgICAgICAgICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgdG93blxuICAgICAgICAgIGNvdW50eVxuICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBhcHByb3ZlckZvciB7XG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHVzZXJQYXNzZW5nZXJUeXBlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIHBhc3NlbmdlclR5cGVcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgbGVhZFBhc3NlbmdlciB7XG4gICAgICAgIC4uLiBvbiBVc2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIHRtY0FkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIGRvY3VtZW50cyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgICAgbmF0aW9uYWxpdHlcbiAgICAgICAgICAgIGdlbmRlclxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgICAgICAgIHByaW1hcnlcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHByZWZlcmVuY2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgICAgcHJlZmVyZW5jZUtleVxuICAgICAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBsb3lhbHR5Q29kZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3ROYW1lXG4gICAgICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgIH1cbiAgICAgICAgLi4uIG9uIEd1ZXN0IHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgfVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBzZXJ2aWNlIHtcbiAgICAgICAgaWRcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIHN1cHBsaWVyVXJsXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgIGFtZW5kYWJsZVxuICAgICAgICBkZXRhaWxTY2hlbWFcbiAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgc2VhcmNoUXVlcnlcbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbWlHcm91cHNBdmFpbGFibGVcbiAgICAgIG1pR3JvdXBTZWxlY3RlZFxuICAgICAgbWFuYWdlbWVudEluZm8ge1xuICAgICAgICBpZFxuICAgICAgICBkYklkXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgaGFuZG9mZlxuICAgICAgICB2YWx1ZU1hc2tcbiAgICAgICAgc2VydmljZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICAgIGFtZW5kYWJsZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB1aVByZXNlbnRhdGlvblxuICAgICAgICBtYW5kYXRvcnlcbiAgICAgICAgcGVyUGFzc2VuZ2VyXG4gICAgICAgIHBlckJvb2tpbmdcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgIHRha2VWYWx1ZUZyb21Vc2VyRGVmYXVsdFxuICAgICAgICB0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdFxuICAgICAgICBlbmZvcmNlVXNlckRlZmF1bHRcbiAgICAgICAgYm9va2VkQnlGaWVsZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGZpeGVkVmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBncm91cFxuICAgICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgICAgdmFsdWUge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgICAgZml4ZWRcbiAgICAgICAgICAgIGFnZW50T25seVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgICBiYXNrZXRMZXZlbFZhbHVlXG4gICAgICAgICAgdXNlckxldmVsVmFsdWVcbiAgICAgICAgICB1c2VyIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICB0aXRsZVxuICAgICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICAgIGVtYWlsXG4gICAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIGRvYlxuICAgICAgICAgICAgYWRtaW5cbiAgICAgICAgICAgIHRtY0FkbWluXG4gICAgICAgICAgICBjb21wYW55QWRtaW5cbiAgICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkb2NUeXBlXG4gICAgICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgICAgIGdlbmRlclxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgY291bnRyeVxuICAgICAgICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgICAgIHByaW1hcnlcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIHNlcnZpY2VUeXBlXG4gICAgICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgY2FycmllclxuICAgICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHZhbGlkYXRlZFxuICAgICAgbGF0ZXN0VmFsaWRhdGlvblxuICAgICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlXG4gICAgICBib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZVxuICAgICAgcG5yTG9jYXRvclxuICAgICAgYm9va2luZ0RldGFpbFxuICAgICAgc3RhdHVzXG4gICAgICBhdmFpbGFibGVQYXltZW50TWV0aG9kcyB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgc2VsZWN0ZWRQYXltZW50TWV0aG9kIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hXG4gICAgICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWFcbiAgICAgIHBlckl0ZW1BZGRyZXNzXG4gICAgICBwZXJJdGVtUGhvbmVOdW1iZXJcbiAgICAgIHBlclBhc3NlbmdlckFkZHJlc3NcbiAgICAgIHBlclBhc3NlbmdlclBob25lTnVtYmVyXG4gICAgICBjYW5jZWxsYWJsZVxuICAgICAgYW1lbmRhYmxlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIG91dGJvdW5kRGF0ZVxuICAgICAgaW5ib3VuZERhdGVcbiAgICAgIGNvbnZlcnRlZEN1cnJlbmN5QW1vdW50XG4gICAgICBjb252ZXJ0ZWRDdXJyZW5jeUNvZGVcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgc3RhdHVzXG4gICAgY29tcGFueUdyb3VwIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgY29tcGFueSB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgdG1jIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgb2ZmaWNlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgIHRvd25cbiAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgdG93blxuICAgICAgICAgIGNvdW50eVxuICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgdXNlcnMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdGl0bGVcbiAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIGFkbWluXG4gICAgICAgICAgdG1jQWRtaW5cbiAgICAgICAgICBjb21wYW55QWRtaW5cbiAgICAgICAgICBib29rZXJUeXBlXG4gICAgICAgICAgYXV0aE1ldGhvZHNcbiAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgaXNvQ29kZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGlzb0NvZGVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgdG1jIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIG9mZmljZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFwcHJvdmVycyB7XG4gICAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFwcHJvdmVyRm9yIHtcbiAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkb2NUeXBlXG4gICAgICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHNlcnZpY2VUeXBlXG4gICAgICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY2FycmllclxuICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgc3VwcG9ydFBob25lTnVtYmVyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBzdXBwb3J0RW1haWxcbiAgICAgICAgY28yQ29uc3VtcHRpb25Qb2xpY3lcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICB2YWxpZGF0ZWRcbiAgICBib29rZWRBdFxuICAgIF9fdHlwZW5hbWVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRW1haWxCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8RW1haWxCYXNrZXRRdWVyeSwgRW1haWxCYXNrZXRRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRW1haWxCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0QWxsQWlybGluZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRBbGxBaXJsaW5lcyB7XG4gIGdldEFsbEFpcmxpbmVzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBpYXRhXG4gICAgaWNhb1xuICAgIGFsaWFzXG4gICAgY2FsbHNpZ25cbiAgICBhY3RpdmVcbiAgICBjb250aW5lbnRcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBiYW5uZXJJbWFnZVxuICAgIGxvZ29JbWFnZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRBbGxBaXJsaW5lc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRBbGxBaXJsaW5lc1F1ZXJ5LCBHZXRBbGxBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRBbGxBaXJsaW5lc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q09WSURNaWNyb3NpdGVUb2tlbiB7XG4gIGdldENPVklETWljcm9zaXRlVG9rZW5cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvdmlkTWljcm9zaXRlVG9rZW5HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5LCBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q2FuY2VsbGF0aW9uSW5mb0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENhbmNlbGxhdGlvbkluZm8oJGJhc2tldEl0ZW06IElEISkge1xuICBnZXRDYW5jZWxsYXRpb25JbmZvKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgY2FuY2VsbGFibGVcbiAgICBpbmZvXG4gICAgY2FuY2VsbGF0aW9uRmVlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENhbmNlbGxhdGlvbkluZm9HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q2FuY2VsbGF0aW9uSW5mb1F1ZXJ5LCBHZXRDYW5jZWxsYXRpb25JbmZvUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENhbmNlbGxhdGlvbkluZm9Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q2FySGlyZURlcG90c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENhckhpcmVEZXBvdHMoJGxhdGl0dWRlOiBGbG9hdCEsICRsb25naXR1ZGU6IEZsb2F0ISwgJHZlbmRvckNvZGU6IFN0cmluZywgJHJhZGl1czogU3RyaW5nKSB7XG4gIGdldENhckhpcmVEZXBvdHMobGF0aXR1ZGU6ICRsYXRpdHVkZSwgbG9uZ2l0dWRlOiAkbG9uZ2l0dWRlLCB2ZW5kb3JDb2RlOiAkdmVuZG9yQ29kZSwgcmFkaXVzOiAkcmFkaXVzKSB7XG4gICAgY291bnRyeUNvZGVcbiAgICBsb2NhdGlvbkNvZGVcbiAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgIHZlbmRvckNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIHZlbmRvclxuICAgIGFkZHJlc3NMaW5lc1xuICAgIGNpdHlOYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENhckhpcmVEZXBvdHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q2FySGlyZURlcG90c1F1ZXJ5LCBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENhckhpcmVEZXBvdHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q2FySGlyZVByb3ZpZGVyc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENhckhpcmVQcm92aWRlcnMge1xuICBnZXRDYXJIaXJlUHJvdmlkZXJzXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDYXJIaXJlUHJvdmlkZXJzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENhckhpcmVQcm92aWRlcnNRdWVyeSwgR2V0Q2FySGlyZVByb3ZpZGVyc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDYXJIaXJlUHJvdmlkZXJzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbXBhbmllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENvbXBhbmllcygkcXVlcnk6IFN0cmluZykge1xuICBnZXRDb21wYW5pZXMocXVlcnk6ICRxdWVyeSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHRtYyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBvZmZpY2VzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIHN1cHBvcnRFbWFpbFxuICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbXBhbmllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb21wYW5pZXNRdWVyeSwgR2V0Q29tcGFuaWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbXBhbmllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb21wYW55RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29tcGFueSgkaWQ6IElEISkge1xuICBnZXRDb21wYW55KGlkOiAkaWQpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICB0bWMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgb2ZmaWNlcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICB9XG4gICAgdXNlcnMge1xuICAgICAgLi4uVVNFUlNcbiAgICB9XG4gICAgc3VwcG9ydFBob25lTnVtYmVyIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGFyZWFDb2RlXG4gICAgICBudW1iZXJcbiAgICAgIGV4dGVuc2lvblxuICAgICAgdHlwZVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgdXNlclByaW1hcnlcbiAgICB9XG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gICAgc3VwcG9ydEVtYWlsXG4gICAgY28yQ29uc3VtcHRpb25Qb2xpY3lcbiAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgfVxufVxuICAgICR7VXNlcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbXBhbnlHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29tcGFueVF1ZXJ5LCBHZXRDb21wYW55UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbXBhbnlEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFPZmZpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZSgkb2ZmaWNlSWQ6IEludCEpIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2Uob2ZmaWNlSWQ6ICRvZmZpY2VJZCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTmFtZVxuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0YWxDb2RlXG4gICAgICAgIGNpdHlcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgdGVsZXBob25lTnVtYmVyXG4gICAgICAgIGZhY3NpbWlsZU51bWJlclxuICAgICAgICBlbWFpbEFkZHJlc3NcbiAgICAgICAgc3RhdGVQcm92aW5jZVxuICAgICAgICBtb2JpbGVOdW1iZXJcbiAgICAgIH1cbiAgICAgIGNsb3Nlc3RBaXJwb3J0XG4gICAgICBjbG9zZXN0VHJhaW5TdGF0aW9uXG4gICAgICBsb25naXR1ZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBjbG9zZXN0SG90ZWxzIHtcbiAgICAgICAgaG90ZWxJZFxuICAgICAgICBob3RlbE5hbWVcbiAgICAgICAgaXNQcmVmZXJyZWRcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgfVxuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgICBlcnJvckNvZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hT2ZmaWNlUXVlcnksIEdldENvbmZlcm1hT2ZmaWNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5LCBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYVF1aWNrbGlzdCgkY291bnRyeUNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0Q29uZmVybWFRdWlja2xpc3QoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGltYWdlVXJsXG4gICAgICAgIHJvb21zIHtcbiAgICAgICAgICByb29tSWRcbiAgICAgICAgICByb29tVHlwZVxuICAgICAgICAgIHJvb21EZXNjcmlwdGlvblxuICAgICAgICAgIHJhdGVDb2RlXG4gICAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgICAgdG90YWxcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgICBjb252ZXJ0ZWRDb2RlXG4gICAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXBvc2l0IHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcG9saWN5XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBuaWdodHMge1xuICAgICAgICAgICAgbmlnaHRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uXG4gICAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgICAgZ2VuZXJhbFxuICAgICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4IHtcbiAgICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGF5bWVudFR5cGVzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJwblxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgaXNCdXN5XG4gICAgICAgIHNvdXJjZVxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgICB2ZXJzaW9uXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFRdWlja2xpc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSwgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFSb29tSW1hZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29uZmVybWFSb29tSW1hZ2VzKCRob3RlbElkOiBTdHJpbmchKSB7XG4gIGdldENvbmZlcm1hUm9vbUltYWdlcyhob3RlbElkOiAkaG90ZWxJZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hUm9vbUltYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeSwgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hUm9vbUltYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRGYXJlUnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRGbGlnaHRGYXJlUnVsZXMoJGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5ISkge1xuICBnZXRGbGlnaHRGYXJlUnVsZXMoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIGNoYW5nZSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgbm9TaG93IHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICB1cGdyYWRlIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICBvdGhlciB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEZsaWdodEZhcmVSdWxlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeSwgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEZsaWdodEZhcmVSdWxlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRTZWF0TWFwRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0RmxpZ2h0U2VhdE1hcCgkZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXkhKSB7XG4gIGdldEZsaWdodFNlYXRNYXAoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBhaXJjcmFmdCB7XG4gICAgICAgIGNhcnJpZXJcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIHR5cGVcbiAgICAgIH1cbiAgICAgIHNlYXRzIHtcbiAgICAgICAgcm93XG4gICAgICAgIGNvbHVtblxuICAgICAgICBhdHRyaWJ1dGVzIHtcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfVxuICAgICAgICBwcmljZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0RmxpZ2h0U2VhdE1hcEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRTZWF0TWFwUXVlcnksIEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0RmxpZ2h0U2VhdE1hcERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRIb3RlbENoYWluc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldEhvdGVsQ2hhaW5zIHtcbiAgZ2V0SG90ZWxDaGFpbnNcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEhvdGVsQ2hhaW5zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldEhvdGVsQ2hhaW5zUXVlcnksIEdldEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEhvdGVsQ2hhaW5zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldElybERpc2NvdW50Q2FyZHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRJUkxEaXNjb3VudENhcmRzKCRzdXBwbGllcjogSVJMU3VwcGxpZXIhKSB7XG4gIGdldElSTERpc2NvdW50Q2FyZHMoc3VwcGxpZXI6ICRzdXBwbGllcikge1xuICAgIGlkXG4gICAgbmV0Q29kZVxuICAgIHJlY29cbiAgICB0eXBlXG4gICAgbmFtZVxuICAgIHN1cHBsaWVyXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldElybERpc2NvdW50Q2FyZHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5LCBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldElybERpc2NvdW50Q2FyZHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0SXJsU3VwcGxpZXJTdGF0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uKCRpZDogSUQsICRzdXBwbGllcjogSVJMU3VwcGxpZXIsICRjb2RlOiBTdHJpbmcpIHtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uKGlkOiAkaWQsIHN1cHBsaWVyOiAkc3VwcGxpZXIsIGNvZGU6ICRjb2RlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0SXJsU3VwcGxpZXJTdGF0aW9uR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5LCBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxMaXZlRGVwYXJ0dXJlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJhaWxMaXZlRGVwYXJ0dXJlcygkc3RhdGlvbkNvZGU6IFN0cmluZyEsICRkZXBhcnREYXRlVGltZTogU3RyaW5nKSB7XG4gIGdldFJhaWxMaXZlRGVwYXJ0dXJlcyhzdGF0aW9uQ29kZTogJHN0YXRpb25Db2RlLCBkZXBhcnREYXRlVGltZTogJGRlcGFydERhdGVUaW1lKSB7XG4gICAgc2VydmljZXMge1xuICAgICAgcmlkXG4gICAgICB1aWRcbiAgICAgIHRyYWluaWRcbiAgICAgIHNkZFxuICAgICAgb3BlcmF0b3JcbiAgICAgIG9wZXJhdG9yQ29kZVxuICAgICAgc3RkXG4gICAgICBldGRcbiAgICAgIGRlcGFydHVyZVR5cGVcbiAgICAgIGRlcGFydHVyZVNvdXJjZVxuICAgICAgcGxhdGZvcm1cbiAgICAgIHBsYXRmb3JtSXNIaWRkZW5cbiAgICAgIG9yaWdpbiB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICB9XG4gICAgICBkZXN0aW5hdGlvbiB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICB9XG4gICAgICBzdWJzZXF1ZW50TG9jYXRpb25zIHtcbiAgICAgICAgbG9jYXRpb25OYW1lXG4gICAgICAgIHRpcGxvY1xuICAgICAgICBjcnNcbiAgICAgICAgcGxhdGZvcm1cbiAgICAgICAgcGxhdGZvcm1Jc0hpZGRlblxuICAgICAgICBzdGFcbiAgICAgICAgZXRhXG4gICAgICAgIGFycml2YWxUeXBlXG4gICAgICAgIGFycml2YWxTb3VyY2VcbiAgICAgICAgc3RkXG4gICAgICAgIGV0ZFxuICAgICAgICBkZXBhcnR1cmVUeXBlXG4gICAgICAgIGRlcGFydHVyZVNvdXJjZVxuICAgICAgICBhc3NvY2lhdGlvbnMge1xuICAgICAgICAgIGNhdGVnb3J5XG4gICAgICAgICAgcmlkXG4gICAgICAgICAgdWlkXG4gICAgICAgICAgdHJhaW5pZFxuICAgICAgICAgIHNkZFxuICAgICAgICAgIG9yaWdpblxuICAgICAgICAgIG9yaWdpbkNSU1xuICAgICAgICAgIG9yaWdpblRpcGxvY1xuICAgICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgICAgZGVzdENSU1xuICAgICAgICAgIGRlc3RUaXBsb2NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbExpdmVEZXBhcnR1cmVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5LCBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxTdGF0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbFN0YXRpb24oJGlkOiBJRCwgJGNvZGU6IFN0cmluZykge1xuICBnZXRSYWlsU3RhdGlvbihpZDogJGlkLCBjb2RlOiAkY29kZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICAgIGhhc1RvZFxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSYWlsU3RhdGlvbkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsU3RhdGlvblF1ZXJ5LCBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSYWlsU3RhdGlvbkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsY2FyZHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsY2FyZHMge1xuICBnZXRSYWlsY2FyZHMge1xuICAgIG5hbWVcbiAgICBjb2RlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxjYXJkc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsY2FyZHNRdWVyeSwgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxjYXJkc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsUHJvdmlkZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbFByb3ZpZGVycyB7XG4gIGdldFJhaWxQcm92aWRlcnNcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxQcm92aWRlcnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbFByb3ZpZGVyc1F1ZXJ5LCBHZXRSYWlsUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxQcm92aWRlcnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Umlza0FsZXJ0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJpc2tBbGVydHMoJG1pbkxldmVsOiBSaXNrTGV2ZWwhLCAkbWF4TGV2ZWw6IFJpc2tMZXZlbCEsICRjb3VudHJ5SXNvQ29kZTogU3RyaW5nLCAkYWlycG9ydDogSUQsICRyYWlsU3RhdGlvbjogSUQsICRhaXJwb3J0SWF0YTogU3RyaW5nKSB7XG4gIGdldFJpc2tBbGVydHMobWluTGV2ZWw6ICRtaW5MZXZlbCwgbWF4TGV2ZWw6ICRtYXhMZXZlbCwgY291bnRyeUlzb0NvZGU6ICRjb3VudHJ5SXNvQ29kZSwgYWlycG9ydDogJGFpcnBvcnQsIHJhaWxTdGF0aW9uOiAkcmFpbFN0YXRpb24sIGFpcnBvcnRJYXRhOiAkYWlycG9ydElhdGEpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZGVzY3JpcHRpb25cbiAgICBicmVha2luZ1xuICAgIHJpc2tcbiAgICBjYXRlZ29yeVxuICAgIGNvdW50cnlcbiAgICBsb2NhdGlvblxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgc3RhcnREYXRlXG4gICAgZW5kRGF0ZVxuICAgIHJlY2VpdmVkRGF0ZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSaXNrQWxlcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJpc2tBbGVydHNRdWVyeSwgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSaXNrQWxlcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJBZGRyZXNzZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckFkZHJlc3Nlc1F1ZXJ5LCBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckNvbXBhbnlPZmZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBhZGRyZXNzZXMge1xuICAgICAgaWRcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBudW1iZXJPck5hbWVcbiAgICAgIHN0cmVldFxuICAgICAgdG93blxuICAgICAgY291bnR5XG4gICAgICBwb3N0Y29kZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgICBvZmZpY2VQcmltYXJ5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQ29tcGFueU9mZmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnksIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSgkdXNlcjogSUQpIHtcbiAgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UodXNlcjogJHVzZXIpIHtcbiAgICBpZFxuICAgIHN0YXJ0T2ZQZXJpb2RcbiAgICBlbmRPZlBlcmlvZFxuICAgIHJlbWFpbmluZ0NvMlxuICAgIHRvdGFsQ28yXG4gICAgY2FyYm9uUG9saWN5U291cmNlXG4gICAgY29tcGFueSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBvZmZpY2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgdXNlciB7XG4gICAgICBpZFxuICAgICAgZm9yZW5hbWVcbiAgICAgIHN1cm5hbWVcbiAgICAgIGVtYWlsXG4gICAgfVxuICAgIHBlcmlvZENvbnN1bXB0aW9uIHtcbiAgICAgIGlkXG4gICAgICBjb25zdW1lZFxuICAgICAgZGF0ZXRpbWVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnksIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJHdWVzdHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyR3Vlc3RzIHtcbiAgZ2V0VXNlckd1ZXN0cyB7XG4gICAgaWRcbiAgICB0aXRsZVxuICAgIGZvcmVuYW1lXG4gICAgc3VybmFtZVxuICAgIGVtYWlsXG4gICAgZ2VuZGVyXG4gICAgbmF0aW9uYWxpdHlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckd1ZXN0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyR3Vlc3RzUXVlcnksIEdldFVzZXJHdWVzdHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckd1ZXN0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzKCRtaTogSUQhLCAkcGFydGlhbExhYmVsOiBTdHJpbmchKSB7XG4gIGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzKG1pOiAkbWksIHBhcnRpYWxMYWJlbDogJHBhcnRpYWxMYWJlbCkge1xuICAgIGlkXG4gICAgbGFiZWxcbiAgICB2YWx1ZVxuICAgIGRlZmF1bHRcbiAgICBmaXhlZFxuICAgIGFnZW50T25seVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5LCBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUGhvbmVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyUGhvbmUge1xuICBnZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgY291bnRyeUNvZGVcbiAgICBhcmVhQ29kZVxuICAgIG51bWJlclxuICAgIGV4dGVuc2lvblxuICAgIHR5cGVcbiAgICBvZmZpY2VQcmltYXJ5XG4gICAgdXNlclByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclBob25lR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJQaG9uZVF1ZXJ5LCBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclBob25lRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJSZWNlbnRTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJSZWNlbnRTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJSZWNlbnRTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc2VydmljZVR5cGVcbiAgICBzZWFyY2hBcmdzXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gICAgdHJhdmVsRGF0ZVxuICAgIHRyYXZlbGxlcnMge1xuICAgICAgaWRcbiAgICAgIHRpdGxlXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICAgIHVzZXJuYW1lXG4gICAgICBkb2JcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJSZWNlbnRTZWFyY2hlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeSwgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hIb3RlbHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hIb3RlbHMoJHN0YXJ0RGF0ZTogRGF0ZSEsICRlbmREYXRlOiBEYXRlISwgJGNpdHlOYW1lOiBTdHJpbmcsICRwb3N0T3JaaXBDb2RlOiBTdHJpbmcsICRjb3VudHJ5Q29kZTogU3RyaW5nLCAkbGF0aXR1ZGU6IEZsb2F0LCAkbG9uZ2l0dWRlOiBGbG9hdCwgJHRyYWluU3RhdGlvbkNvZGU6IFN0cmluZywgJGlhdGE6IFN0cmluZywgJG9mZmljZUlkOiBJbnQsICRyb29tczogSW50ISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRjdXJyZW5jeTogU3RyaW5nISwgJGRpc3RhbmNlVHlwZTogRGlzdGFuY2VUeXBlcyEsICRkaXN0YW5jZTogSW50ISwgJG1heFJlc3VsdHM6IEludCwgJGhvdGVsTmFtZTogU3RyaW5nLCAkZ3JvdXBOYW1lOiBTdHJpbmcpIHtcbiAgc2VhcmNoSG90ZWxzKHN0YXJ0RGF0ZTogJHN0YXJ0RGF0ZSwgZW5kRGF0ZTogJGVuZERhdGUsIGNpdHlOYW1lOiAkY2l0eU5hbWUsIHBvc3RPclppcENvZGU6ICRwb3N0T3JaaXBDb2RlLCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBsYXRpdHVkZTogJGxhdGl0dWRlLCBsb25naXR1ZGU6ICRsb25naXR1ZGUsIHRyYWluU3RhdGlvbkNvZGU6ICR0cmFpblN0YXRpb25Db2RlLCBpYXRhOiAkaWF0YSwgb2ZmaWNlSWQ6ICRvZmZpY2VJZCwgcm9vbXM6ICRyb29tcywgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBjdXJyZW5jeTogJGN1cnJlbmN5LCBkaXN0YW5jZVR5cGU6ICRkaXN0YW5jZVR5cGUsIGRpc3RhbmNlOiAkZGlzdGFuY2UsIG1heFJlc3VsdHM6ICRtYXhSZXN1bHRzLCBob3RlbE5hbWU6ICRob3RlbE5hbWUsIGdyb3VwTmFtZTogJGdyb3VwTmFtZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICAuLi5Sb29tQXZhbGlhYmlsaXR5XG4gICAgICB9XG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIHZlcnNpb25cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7Um9vbUF2YWxpYWJpbGl0eUZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEhvdGVsc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hIb3RlbHNRdWVyeSwgU2VhcmNoSG90ZWxzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEhvdGVsc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5KCRob3RlbDogW1N0cmluZyFdISwgJHN0YXJ0RGF0ZTogRGF0ZSEsICRlbmREYXRlOiBEYXRlISwgJGN1cnJlbmN5OiBTdHJpbmchLCAkb2NjdXBhbnRzOiBJbnQhLCAkcm9vbXM6IEludCkge1xuICBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eShob3RlbDogJGhvdGVsLCBzdGFydERhdGU6ICRzdGFydERhdGUsIGVuZERhdGU6ICRlbmREYXRlLCBjdXJyZW5jeTogJGN1cnJlbmN5LCBvY2N1cGFudHM6ICRvY2N1cGFudHMsIHJvb21zOiAkcm9vbXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIC4uLlJvb21BdmFsaWFiaWxpdHlcbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7Um9vbUF2YWxpYWJpbGl0eUZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnksIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IElzUG9zdGNvZGVWYWxpZERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGlzUG9zdGNvZGVWYWxpZCgkcG9zdGNvZGU6IFN0cmluZyEpIHtcbiAgaXNQb3N0Y29kZVZhbGlkKHBvc3Rjb2RlOiAkcG9zdGNvZGUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBJc1Bvc3Rjb2RlVmFsaWRHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8SXNQb3N0Y29kZVZhbGlkUXVlcnksIElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBJc1Bvc3Rjb2RlVmFsaWREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQWlycG9ydHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hBaXJwb3J0cygkcXVlcnk6IFN0cmluZyEsICRjb3VudHJ5Q29kZTogU3RyaW5nLCAkaGFzTG91bmdlOiBCb29sZWFuLCAkaGFzUGFya2luZzogQm9vbGVhbiwgJGhhc0Zhc3RUcmFjazogQm9vbGVhbikge1xuICBzZWFyY2hBaXJwb3J0cyhxdWVyeTogJHF1ZXJ5LCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBoYXNMb3VuZ2U6ICRoYXNMb3VuZ2UsIGhhc1Bhcmtpbmc6ICRoYXNQYXJraW5nLCBoYXNGYXN0VHJhY2s6ICRoYXNGYXN0VHJhY2spIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIHRlcm1pbmFsc1xuICAgICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgICAgLi4uTE9DQVRJT05fREVUQUlMXG4gICAgICB9XG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICB0ZXJtaW5hbHNcbiAgICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICAgIC4uLkxPQ0FUSU9OX0RFVEFJTFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgICR7TG9jYXRpb25fRGV0YWlsRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hBaXJwb3J0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hBaXJwb3J0c1F1ZXJ5LCBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hBaXJwb3J0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hMb3VuZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoTG91bmdlcygkbG9jYXRpb25Db2RlOiBTdHJpbmchLCAkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkaW5mYW50czogSW50LCAkdGVybWluYWw6IFN0cmluZykge1xuICBzZWFyY2hMb3VuZ2VzKGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgYXJyaXZhbERhdGV0aW1lOiAkYXJyaXZhbERhdGV0aW1lLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGluZmFudHM6ICRpbmZhbnRzLCB0ZXJtaW5hbDogJHRlcm1pbmFsKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBuYW1lXG4gICAgICBjb2RlXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGxvdW5nZSB7XG4gICAgICAgIGNvZGVcbiAgICAgICAgbmFtZVxuICAgICAgICBhaXJwb3J0XG4gICAgICAgIHRlcm1pbmFsXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZheFxuICAgICAgICBkaXJlY3Rpb25zXG4gICAgICAgIGludHJvZHVjdGlvblxuICAgICAgICBsb2dvXG4gICAgICAgIG1vYmlsZUltYWdlXG4gICAgICAgIGZ1cnRoZXJJbWFnZXNcbiAgICAgICAgYWR1bHRBZ2VcbiAgICAgICAgY2hpbGRBZ2VcbiAgICAgICAgaW5mYW50QWdlXG4gICAgICAgIGxhbmRzaWRlXG4gICAgICAgIGFpcnNpZGVcbiAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICBvcGVuVGltZVxuICAgICAgICBjbG9zZVRpbWVcbiAgICAgICAgd2lmaVxuICAgICAgICB0dlxuICAgICAgICBzbmFja3NcbiAgICAgICAgcGhvbmVcbiAgICAgICAgaW50ZXJuZXRcbiAgICAgICAgY2hpbGRyZW5BbGxvd2VkXG4gICAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICAgIGRyaW5rc1xuICAgICAgICBmcmVlRHJpbmtzXG4gICAgICAgIGZyZWVGb29kXG4gICAgICAgIHNtb2tpbmdQZXJtaXR0ZWRcbiAgICAgICAgbWFnYXppbmVzXG4gICAgICAgIGluY2x1ZGVkRHJpbmtzXG4gICAgICAgIG1lbnVGb29kXG4gICAgICAgIG1lbnVEcmlua3NcbiAgICAgICAgbWVudUV4dHJhc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRHJpbmtzXG4gICAgICAgIHdoYXRzSW5jbHVkZWRFeHRyYXNcbiAgICAgICAgd2hhdHNJbmNsdWRlZEZvb2RcbiAgICAgICAgZ3JvdXBJbmZvXG4gICAgICAgIGNoZWNrSW5JbmZvXG4gICAgICAgIGRyZXNzQ29kZVxuICAgICAgICBmYWNpbGl0aWVzSW5mb1xuICAgICAgICBmb29kQW5kQmV2ZXJhZ2VcbiAgICAgICAgY2FuY2VsbGF0aW9uSW5mb1xuICAgICAgICBhbWVuZG1lbnRzSW5mb1xuICAgICAgICBtaXNjXG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaExvdW5nZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoTG91bmdlc1F1ZXJ5LCBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaExvdW5nZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJG5ld0Jhc2tldDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBuZXdCYXNrZXQ6ICRuZXdCYXNrZXQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uLCBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hQYXJraW5nRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUGFya2luZygkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRkZXBhcnREYXRldGltZTogRGF0ZVRpbWUhLCAkbG9jYXRpb25Db2RlOiBTdHJpbmchLCAkb3V0RmxpZ2h0TnVtYmVyOiBTdHJpbmcsICRyZWNvbW1lbmRlZDogQm9vbGVhbiwgJG9uQWlycG9ydDogQm9vbGVhbiwgJG1lZXRBbmRHcmVldDogQm9vbGVhbiwgJHBhcmtBbmRSaWRlOiBCb29sZWFuLCAkcGFya0FuZFN0cm9sbDogQm9vbGVhbiwgJGNhclBhcmtlZEZvcllvdTogQm9vbGVhbiwgJHRlcm1pbmFsOiBTdHJpbmcpIHtcbiAgc2VhcmNoUGFya2luZyhhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGRlcGFydERhdGV0aW1lOiAkZGVwYXJ0RGF0ZXRpbWUsIGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgb3V0RmxpZ2h0TnVtYmVyOiAkb3V0RmxpZ2h0TnVtYmVyLCByZWNvbW1lbmRlZDogJHJlY29tbWVuZGVkLCBvbkFpcnBvcnQ6ICRvbkFpcnBvcnQsIG1lZXRBbmRHcmVldDogJG1lZXRBbmRHcmVldCwgcGFya0FuZFJpZGU6ICRwYXJrQW5kUmlkZSwgcGFya0FuZFN0cm9sbDogJHBhcmtBbmRTdHJvbGwsIGNhclBhcmtlZEZvcllvdTogJGNhclBhcmtlZEZvcllvdSwgdGVybWluYWw6ICR0ZXJtaW5hbCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgY2FyUGFyayB7XG4gICAgICAgIGNvZGVcbiAgICAgICAgbmFtZVxuICAgICAgICBhaXJwb3J0XG4gICAgICAgIHRlcm1pbmFsXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhZGRyZXNzXG4gICAgICAgIGRpc3RhbmNlVG9BaXJwb3J0XG4gICAgICAgIG9uQWlycG9ydFxuICAgICAgICBjYXJQYXJrZWRGb3JZb3VcbiAgICAgICAgbWVldEFuZEdyZWV0XG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYXhcbiAgICAgICAgZGlyZWN0aW9uc1xuICAgICAgICBhcnJpdmFsUHJvY2VkdXJlXG4gICAgICAgIGRlcGFydHVyZVByb2NlZHVyZVxuICAgICAgICBtYXhpbXVtQ2FyU2l6ZVxuICAgICAgICBpbnRyb2R1Y3Rpb25cbiAgICAgICAgaW5mb3JtYXRpb25cbiAgICAgICAgdHJhbnNmZXJJbmZvcm1hdGlvblxuICAgICAgICB0cmFuc2Zlck9wZXJhdGluZ1RpbWVzXG4gICAgICAgIHRyYW5zZmVyVGltZVxuICAgICAgICBsb2dvXG4gICAgICAgIGRlZmF1bHRJbWFnZVxuICAgICAgICBicmFuZEltYWdlXG4gICAgICAgIG1vYmlsZUltYWdlXG4gICAgICAgIGZ1cnRoZXJJbWFnZXNcbiAgICAgICAgbWlzY1xuICAgICAgfVxuICAgICAgcmVxdWlyZWRJbmZvXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIG1pc2NcbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgcmVxdWlyZXNSZWFzb25cbiAgICAgIHJlcXVpcmVzUmVhc29uTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUGFya2luZ0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hQYXJraW5nUXVlcnksIFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUGFya2luZ0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hSYWlsRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUmFpbCgkY291bnRyeUNvZGU6IFN0cmluZywgJGpvdXJuZXlUeXBlOiBSYWlsU2VhcmNoSm91cm5leVR5cGUhLCAkY2xhc3M6IFJhaWxDbGFzcywgJGRlcGFydHVyZUxvY2F0aW9uSWQ6IElEISwgJGFycml2YWxMb2NhdGlvbklkOiBJRCEsICR2aWFMb2NhdGlvbklkOiBJRCwgJG91dGJvdW5kQXJyaXZhbERhdGVUaW1lOiBTdHJpbmcsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsRGF0ZVRpbWU6IFN0cmluZywgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBTdHJpbmcsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkZXh0cmFUaW1lVG9DaGFuZ2U6IEJvb2xlYW4sICRwbHVzQnVzT3V0OiBSYWlsUGx1c0J1c0F2YWlsLCAkcGx1c0J1c1JldHVybjogUmFpbFBsdXNCdXNBdmFpbCwgJHRyYXZlbENhcmRzOiBbRGF0ZSFdLCAkcmFpbENhcmRRdWFsaWZpZXJzOiBbU3RyaW5nIV0sICRzcGxpdFRpY2tldHNGcm9tRGVwYXJ0dXJlSm91cm5leTogQm9vbGVhbiwgJHNwbGl0VGlja2V0c1RvRGVzdGluYXRpb25Kb3VybmV5OiBCb29sZWFuLCAkdHJhbnNhY3Rpb25JZGVudGlmaWVyOiBTdHJpbmcpIHtcbiAgc2VhcmNoUmFpbChjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBqb3VybmV5VHlwZTogJGpvdXJuZXlUeXBlLCBjbGFzczogJGNsYXNzLCBkZXBhcnR1cmVMb2NhdGlvbklkOiAkZGVwYXJ0dXJlTG9jYXRpb25JZCwgYXJyaXZhbExvY2F0aW9uSWQ6ICRhcnJpdmFsTG9jYXRpb25JZCwgdmlhTG9jYXRpb25JZDogJHZpYUxvY2F0aW9uSWQsIG91dGJvdW5kQXJyaXZhbERhdGVUaW1lOiAkb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWUsIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6ICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lLCByZXR1cm5BcnJpdmFsRGF0ZVRpbWU6ICRyZXR1cm5BcnJpdmFsRGF0ZVRpbWUsIHJldHVybkRlcGFydHVyZURhdGVUaW1lOiAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWUsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgZXh0cmFUaW1lVG9DaGFuZ2U6ICRleHRyYVRpbWVUb0NoYW5nZSwgcGx1c0J1c091dDogJHBsdXNCdXNPdXQsIHBsdXNCdXNSZXR1cm46ICRwbHVzQnVzUmV0dXJuLCB0cmF2ZWxDYXJkczogJHRyYXZlbENhcmRzLCByYWlsQ2FyZFF1YWxpZmllcnM6ICRyYWlsQ2FyZFF1YWxpZmllcnMsIHNwbGl0VGlja2V0c0Zyb21EZXBhcnR1cmVKb3VybmV5OiAkc3BsaXRUaWNrZXRzRnJvbURlcGFydHVyZUpvdXJuZXksIHNwbGl0VGlja2V0c1RvRGVzdGluYXRpb25Kb3VybmV5OiAkc3BsaXRUaWNrZXRzVG9EZXN0aW5hdGlvbkpvdXJuZXksIHRyYW5zYWN0aW9uSWRlbnRpZmllcjogJHRyYW5zYWN0aW9uSWRlbnRpZmllcikge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlSWRcbiAgICAgIHN1bW1hcnlcbiAgICAgIHRyYXZlbENhcmRzQWRkb25GbGFnXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIC4uLlJhaWxKb3VybmV5T3B0aW9uXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5SYWlsSm91cm5leU9wdGlvblxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgfVxuICB9XG59XG4gICAgJHtSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsUXVlcnksIFNlYXJjaFJhaWxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlRmF2b3VyaXRlU2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2F2ZUZhdm91cml0ZVNlYXJjaCgkbmFtZTogU3RyaW5nISwgJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISkge1xuICBzYXZlRmF2b3VyaXRlU2VhcmNoKG5hbWU6ICRuYW1lLCBzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncykge1xuICAgIGlkXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNhdmVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uLCBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNhdmVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVSZWNlbnRTZWFyY2goJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISwgJHRyYXZlbERhdGU6IERhdGVUaW1lISwgJHRyYXZlbGxlcnM6IFtJRF0pIHtcbiAgc2F2ZVJlY2VudFNlYXJjaChzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncywgdHJhdmVsRGF0ZTogJHRyYXZlbERhdGUsIHRyYXZlbGxlcnM6ICR0cmF2ZWxsZXJzKSB7XG4gICAgaWRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVJlY2VudFNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24sIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlVXNlckFkZHJlc3MoJGRlc2NyaXB0aW9uOiBTdHJpbmchLCAkbnVtYmVyT3JOYW1lOiBTdHJpbmcsICRzdHJlZXQ6IFN0cmluZywgJHRvd246IFN0cmluZywgJGNvdW50eTogU3RyaW5nLCAkcG9zdGNvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICR1c2VyUHJpbWFyeTogQm9vbGVhbikge1xuICBzYXZlVXNlckFkZHJlc3MoZGVzY3JpcHRpb246ICRkZXNjcmlwdGlvbiwgbnVtYmVyT3JOYW1lOiAkbnVtYmVyT3JOYW1lLCBzdHJlZXQ6ICRzdHJlZXQsIHRvd246ICR0b3duLCBjb3VudHk6ICRjb3VudHksIHBvc3Rjb2RlOiAkcG9zdGNvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIHVzZXJQcmltYXJ5OiAkdXNlclByaW1hcnkpIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNhdmVVc2VyQWRkcmVzc011dGF0aW9uLCBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcmxpbmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlybGluZXMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEFpcmxpbmVzKHF1ZXJ5OiAkcXVlcnkpIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIGFsaWFzXG4gICAgICBjYWxsc2lnblxuICAgICAgYWN0aXZlXG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBiYW5uZXJJbWFnZVxuICAgICAgbG9nb0ltYWdlXG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICBhbGlhc1xuICAgICAgY2FsbHNpZ25cbiAgICAgIGFjdGl2ZVxuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYmFubmVySW1hZ2VcbiAgICAgIGxvZ29JbWFnZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlybGluZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlybGluZXNRdWVyeSwgU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlybGluZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2l0aWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2l0aWVzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoQ2l0aWVzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBjb29yZGluYXRlcyB7XG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgICBhbHRpdHVkZVxuICAgIH1cbiAgICBjb250aW5lbnROYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENpdGllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDaXRpZXNRdWVyeSwgU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENpdGllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDb25mZXJtYUNpdGllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENvbmZlcm1hQ2l0aWVzKCRjaXR5TmFtZTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmchKSB7XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzKGNpdHlOYW1lOiAkY2l0eU5hbWUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBmb3VuZEV4YWN0XG4gICAgc3VnZ2VzdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZlcm1hQ2l0aWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnksIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRXVyb3N0YXIoJHBhc3NlbmdlcnM6IFtGbGlnaHRQYXNzZW5nZXJPYmplY3QhXSEsICRvcmlnaW5BaXJwb3J0OiBTdHJpbmcsICRkZXN0aW5hdGlvbkFpcnBvcnQ6IFN0cmluZywgJG11bHRpRGVzdGluYXRpb246IFtEZXN0aW5hdGlvbkVudHJ5XSwgJG91dGJvdW5kRGF0ZTogRGF0ZSwgJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRDYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRyZXR1cm5UcmlwOiBCb29sZWFuISwgJHJldHVybkRhdGU6IERhdGUsICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkZmFyZVR5cGU6IEZhcmVUeXBlISwgJHJlcXVpcmVGcmVlQmFnOiBCb29sZWFuLCAkbWF4Q29ubmVjdGlvbnM6IEludCwgJHByZWZlcnJlZENhcnJpZXJzOiBbU3RyaW5nXSwgJGluY2x1ZGVOZWFyYnlBaXJwb3J0czogQm9vbGVhbiwgJGFzU2luZ2xlczogQm9vbGVhbikge1xuICBzZWFyY2hFdXJvc3RhcihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgYmFzZUZhcmVJZFxuICAgICAgICB1aWRcbiAgICAgICAgZGlzY2xvc3VyZXNcbiAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgfVxuICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgdGF4ZXMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgcHJpY2VcbiAgICAgICAgICB0YXhcbiAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBxdHlcbiAgICAgICAgICBtYXhLR1xuICAgICAgICAgIG1heExCU1xuICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICBqb3VybmV5SGFzaFxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgICAgfVxuICAgICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIHRheGVzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgdGF4XG4gICAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBxdHlcbiAgICAgICAgICAgIG1heEtHXG4gICAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEV1cm9zdGFyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEV1cm9zdGFyUXVlcnksIFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZhc3RUcmFja0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZhc3RUcmFjaygkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50KSB7XG4gIHNlYXJjaEZhc3RUcmFjayhhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBuYW1lXG4gICAgICBjb2RlXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIHJlZnVuZGFibGVcbiAgICAgIHRlcm1pbmFsXG4gICAgICBpbWFnZXNcbiAgICAgIGxvZ29cbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBpbXBvcnRhbnRJbmZvXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmFzdFRyYWNrR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZhc3RUcmFja1F1ZXJ5LCBTZWFyY2hGYXN0VHJhY2tRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmFzdFRyYWNrRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZsaWdodHNWMkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZsaWdodHNWMigkcGFzc2VuZ2VyczogW0ZsaWdodFBhc3Nlbmdlck9iamVjdCFdISwgJG9yaWdpbkFpcnBvcnQ6IFN0cmluZywgJGRlc3RpbmF0aW9uQWlycG9ydDogU3RyaW5nLCAkbXVsdGlEZXN0aW5hdGlvbjogW0Rlc3RpbmF0aW9uRW50cnldLCAkb3V0Ym91bmREYXRlOiBEYXRlLCAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZENhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJHJldHVyblRyaXA6IEJvb2xlYW4hLCAkcmV0dXJuRGF0ZTogRGF0ZSwgJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5DYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRmYXJlVHlwZTogRmFyZVR5cGUhLCAkcmVxdWlyZUZyZWVCYWc6IEJvb2xlYW4sICRtYXhDb25uZWN0aW9uczogSW50LCAkcHJlZmVycmVkQ2FycmllcnM6IFtTdHJpbmddLCAkaW5jbHVkZU5lYXJieUFpcnBvcnRzOiBCb29sZWFuLCAkYXNTaW5nbGVzOiBCb29sZWFuLCAkd2l0aEdyb3VwZWQ6IEJvb2xlYW4hLCAkZ3JvdXBNYXg6IEludCkge1xuICBzZWFyY2hGbGlnaHRzVjIocGFzc2VuZ2VyczogJHBhc3NlbmdlcnMsIG9yaWdpbkFpcnBvcnQ6ICRvcmlnaW5BaXJwb3J0LCBkZXN0aW5hdGlvbkFpcnBvcnQ6ICRkZXN0aW5hdGlvbkFpcnBvcnQsIG11bHRpRGVzdGluYXRpb246ICRtdWx0aURlc3RpbmF0aW9uLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdywgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3csIG91dGJvdW5kQ2FiaW5DbGFzczogJG91dGJvdW5kQ2FiaW5DbGFzcywgcmV0dXJuVHJpcDogJHJldHVyblRyaXAsIHJldHVybkRhdGU6ICRyZXR1cm5EYXRlLCByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdywgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6ICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdywgcmV0dXJuQ2FiaW5DbGFzczogJHJldHVybkNhYmluQ2xhc3MsIGZhcmVUeXBlOiAkZmFyZVR5cGUsIHJlcXVpcmVGcmVlQmFnOiAkcmVxdWlyZUZyZWVCYWcsIG1heENvbm5lY3Rpb25zOiAkbWF4Q29ubmVjdGlvbnMsIHByZWZlcnJlZENhcnJpZXJzOiAkcHJlZmVycmVkQ2FycmllcnMsIGluY2x1ZGVOZWFyYnlBaXJwb3J0czogJGluY2x1ZGVOZWFyYnlBaXJwb3J0cywgYXNTaW5nbGVzOiAkYXNTaW5nbGVzLCBncm91cE1heDogJGdyb3VwTWF4KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBqb3VybmV5cyB7XG4gICAgICAgIGJhc2VGYXJlSWRcbiAgICAgICAgdWlkXG4gICAgICAgIGRpc2Nsb3N1cmVzXG4gICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICB9XG4gICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIHRheGVzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgdG90YWwge1xuICAgICAgICAgIHByaWNlXG4gICAgICAgICAgdGF4XG4gICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgcXR5XG4gICAgICAgICAgbWF4S0dcbiAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICB9XG4gICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgc291cmNlXG4gICAgICAgIHNvdXJjZUlkXG4gICAgICAgIHZlcnNpb25cbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgIH1cbiAgICAgIG11bHRpIHtcbiAgICAgICAgb3JkZXJcbiAgICAgICAgb3JpZ2luXG4gICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgIHJlc3VsdHMge1xuICAgICAgICAgIHVpZFxuICAgICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgdG90YWwge1xuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHRheFxuICAgICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgcXR5XG4gICAgICAgICAgICBtYXhLR1xuICAgICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgc291cmNlXG4gICAgICAgICAgc291cmNlSWRcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgICAgY28yUGVySXRlbVxuICAgICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICAgIGpvdXJuZXlIYXNoXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICAgIGdyb3VwZWQge1xuICAgICAgICAuLi5Hcm91cGVkRmllbGRzIEBpbmNsdWRlKGlmOiAkd2l0aEdyb3VwZWQpXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gICAgcnVsZUFjdGlvblN1bW1hcnlcbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtHcm91cGVkRmllbGRzRnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmxpZ2h0c1YyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZsaWdodHNWMlF1ZXJ5LCBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsQ2hhaW5zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSG90ZWxDaGFpbnMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEhvdGVsQ2hhaW5zKHF1ZXJ5OiAkcXVlcnkpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hIb3RlbENoYWluc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hIb3RlbENoYWluc1F1ZXJ5LCBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hIb3RlbENoYWluc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkwoJHN1cHBsaWVyOiBJUkxTdXBwbGllciEsICRjb3VudHJ5Q29kZTogU3RyaW5nISwgJGpvdXJuZXlUeXBlOiBJUkxKb3VybmV5VHlwZSEsICRjbGFzczogSVJMQ2xhc3MsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSEsICRkZXBhcnR1cmVMb2NhdGlvbklkOiBJRCEsICRhcnJpdmFsTG9jYXRpb25JZDogSUQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSwgJGlybERpc2NvdW50Q2FyZHM6IFN0cmluZykge1xuICBzZWFyY2hJUkwoc3VwcGxpZXI6ICRzdXBwbGllciwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgam91cm5leVR5cGU6ICRqb3VybmV5VHlwZSwgY2xhc3M6ICRjbGFzcywgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIHJldHVybkRlcGFydHVyZURhdGVUaW1lOiAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWUsIGlybERpc2NvdW50Q2FyZHM6ICRpcmxEaXNjb3VudENhcmRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgZnJvbVxuICAgICAgICBmcm9tQ29kZVxuICAgICAgICB0b1xuICAgICAgICB0b0NvZGVcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvdmlkZXJzIHtcbiAgICAgICAgICBwcm92aWRlcklkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNoZWFwZXN0VGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuc2VsbGFibGVcbiAgICAgICAgdGlja2V0RXh0cmFzIHtcbiAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgICAgam91cm5leUlkXG4gICAgICAgICAgICBpc09yaWdpblxuICAgICAgICAgIH1cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICBkYXRlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBhZHVsdEFtb3VudFxuICAgICAgICAgIGNoaWxkQW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBwbHVzQnVzIHtcbiAgICAgICAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgICAgICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgIH1cbiAgICAgICAgdHJhdmVsbGVycyB7XG4gICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICByYWlsY2FyZFxuICAgICAgICAgIGdpdmVuTmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBuYW1lVGl0bGVcbiAgICAgICAgICBjb250YWN0SW5mb1xuICAgICAgICAgIGRlbGl2ZXJ5RW1haWxBZGRyZXNzXG4gICAgICAgICAgZmFyZVxuICAgICAgICB9XG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGlja2V0T3B0aW9ucyB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAganJmcmVmZXJlbmNlXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSXJsR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaElybFF1ZXJ5LCBTZWFyY2hJcmxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSXJsRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zKCRxdWVyeTogU3RyaW5nISwgJHN1cHBsaWVyOiBJUkxTdXBwbGllcikge1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zKHF1ZXJ5OiAkcXVlcnksIHN1cHBsaWVyOiAkc3VwcGxpZXIpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdXBwbGllclxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeSwgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFBvc3Rjb2Rlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFBvc3Rjb2RlcygkcG9zdGNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0UG9zdGNvZGVEZXRhaWxzKHBvc3Rjb2RlOiAkcG9zdGNvZGUpIHtcbiAgICBwb3N0Y29kZVxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFBvc3Rjb2Rlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hQb3N0Y29kZXNRdWVyeSwgU2VhcmNoUG9zdGNvZGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFBvc3Rjb2Rlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hSYWlsU3RhdGlvbnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hSYWlsU3RhdGlvbnMoJHF1ZXJ5OiBTdHJpbmchLCAkY291bnRyeUNvZGU6IFN0cmluZywgJGhhc1RvZDogQm9vbGVhbikge1xuICBzZWFyY2hSYWlsU3RhdGlvbnMocXVlcnk6ICRxdWVyeSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgaGFzVG9kOiAkaGFzVG9kKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gICAgaGFzVG9kXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFJhaWxTdGF0aW9uc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeSwgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFJhaWxTdGF0aW9uc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hVc2VyQWRkcmVzc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFVzZXJBZGRyZXNzUXVlcnksIFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VuZE9mZmxpbmVOb3RpZmljYXRpb24oJHRyYWluTnVtYmVyOiBTdHJpbmchLCAkZGVwYXJ0dXJlU3RhdGlvbjogU3RyaW5nISwgJGRlc3RpbmF0aW9uU3RhdGlvbjogU3RyaW5nISwgJG91dGJvdW5kRGF0ZTogU3RyaW5nISwgJGluYm91bmREYXRlOiBTdHJpbmchLCAkYWRkaXRpb25hbEluZm86IFN0cmluZyEsICRvZmZsaW5lUmVmZXJlbmNlOiBTdHJpbmchLCAkbm90aWZ5RW1haWw6IFN0cmluZyEsICRvbkJlaGFsZk9mOiBTdHJpbmchLCAkc2VydmljZUNsYXNzOiBTdHJpbmchLCAkcGFzc2VuZ2VyczogW0lSTE9mZmxpbmVQYXNzZW5nZXIhXSEpIHtcbiAgc2VuZE9mZmxpbmVOb3RpZmljYXRpb24odHJhaW5OdW1iZXI6ICR0cmFpbk51bWJlciwgZGVwYXJ0dXJlU3RhdGlvbjogJGRlcGFydHVyZVN0YXRpb24sIGRlc3RpbmF0aW9uU3RhdGlvbjogJGRlc3RpbmF0aW9uU3RhdGlvbiwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBpbmJvdW5kRGF0ZTogJGluYm91bmREYXRlLCBhZGRpdGlvbmFsSW5mbzogJGFkZGl0aW9uYWxJbmZvLCBvZmZsaW5lUmVmZXJlbmNlOiAkb2ZmbGluZVJlZmVyZW5jZSwgbm90aWZ5RW1haWw6ICRub3RpZnlFbWFpbCwgb25CZWhhbGZPZjogJG9uQmVoYWxmT2YsIHNlcnZpY2VDbGFzczogJHNlcnZpY2VDbGFzcywgcGFzc2VuZ2VyczogJHBhc3NlbmdlcnMpIHtcbiAgICBzdWNjZXNzXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnksIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1NaUdyb3VwRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbU1JR3JvdXAoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICRncm91cDogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1NSUdyb3VwKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBncm91cDogJGdyb3VwKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbU1pR3JvdXBHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbiwgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbU1pR3JvdXBEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcigkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCEsICR1c2VyT3JHdWVzdDogSUQhLCAkbGVhZFBhc3NlbmdlclR5cGU6IExlYWRQYXNzZW5nZXJUeXBlISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4hKSB7XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHVzZXJPckd1ZXN0OiAkdXNlck9yR3Vlc3QsIGxlYWRQYXNzZW5nZXJUeXBlOiAkbGVhZFBhc3NlbmdlclR5cGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1NSVZhbHVlKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkbWk6IElEISwgJG1pVmFsdWU6IElELCAkbWlGcmVlVmFsdWU6IFN0cmluZywgJHVzZXI6IElELCAkZ3Vlc3Q6IElELCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1NSVZhbHVlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIG1pOiAkbWksIG1pVmFsdWU6ICRtaVZhbHVlLCBtaUZyZWVWYWx1ZTogJG1pRnJlZVZhbHVlLCB1c2VyOiAkdXNlciwgZ3Vlc3Q6ICRndWVzdCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1NaVZhbHVlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb24sIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1NaVZhbHVlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICRwYXltZW50TWV0aG9kOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIHBheW1lbnRNZXRob2Q6ICRwYXltZW50TWV0aG9kKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbiwgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVXBkYXRlQmFza2V0Tm90ZXNEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiB1cGRhdGVCYXNrZXROb3RlcygkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nLCAkbm90ZXM6IFN0cmluZyEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgdXBkYXRlQmFza2V0Tm90ZXMoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgcmVmZXJlbmNlOiAkcmVmZXJlbmNlLCBub3RlczogJG5vdGVzKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVXBkYXRlQmFza2V0Tm90ZXNHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248VXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbiwgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVXBkYXRlQmFza2V0Tm90ZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVXBkYXRlQmFza2V0VGl0bGVEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiB1cGRhdGVCYXNrZXRUaXRsZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nLCAkbmV3VGl0bGU6IFN0cmluZyEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgdXBkYXRlQmFza2V0VGl0bGUoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgcmVmZXJlbmNlOiAkcmVmZXJlbmNlLCBuZXdUaXRsZTogJG5ld1RpdGxlKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVXBkYXRlQmFza2V0VGl0bGVHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248VXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvbiwgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVXBkYXRlQmFza2V0VGl0bGVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclNlcnZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclNlcnZpY2VzIHtcbiAgZ2V0VXNlclNlcnZpY2VzIHtcbiAgICBpZFxuICAgIGNhbmNlbGxhYmxlXG4gICAgYW1lbmRhYmxlXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICAgIGRldGFpbFNjaGVtYVxuICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJTZXJ2aWNlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyU2VydmljZXNRdWVyeSwgR2V0VXNlclNlcnZpY2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJTZXJ2aWNlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyVWlDb25maWdzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclVJQ29uZmlncyB7XG4gIGdldFVzZXJVSUNvbmZpZ3Mge1xuICAgIGFsbCB7XG4gICAgICBpZFxuICAgICAgY29uZmlnXG4gICAgICBrZXlcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJVaUNvbmZpZ3NHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclVpQ29uZmlnc1F1ZXJ5LCBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJVaUNvbmZpZ3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlck1lc3NhZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlck1lc3NhZ2VzIHtcbiAgZ2V0VXNlck1lc3NhZ2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvbmZpZ1xuICAgIHRhcmdldFxuICAgIGtleVxuICAgIGRpc3BsYXlUYXJnZXRcbiAgICBhZ2VudE9ubHlcbiAgICBjbGlja1RvQ29uZmlybVxuICAgIHZhbGlkRnJvbVxuICAgIHZhbGlkVG9cbiAgICBjb2xsYXBzZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyTWVzc2FnZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlck1lc3NhZ2VzUXVlcnksIEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyTWVzc2FnZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclBob25lTnVtYmVyc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJQaG9uZU51bWJlcnMge1xuICBnZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgY291bnRyeUNvZGVcbiAgICBhcmVhQ29kZVxuICAgIG51bWJlclxuICAgIGV4dGVuc2lvblxuICAgIHR5cGVcbiAgICBvZmZpY2VQcmltYXJ5XG4gICAgdXNlclByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclBob25lTnVtYmVyc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnksIEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclBob25lTnVtYmVyc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRVc2VyTGFuZ3VhZ2VEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRVc2VyTGFuZ3VhZ2UoJGxhbmd1YWdlOiBJRCkge1xuICBzZXRVc2VyTGFuZ3VhZ2UobGFuZ3VhZ2U6ICRsYW5ndWFnZSkge1xuICAgIGlkXG4gICAgdGl0bGVcbiAgICBmb3JlbmFtZVxuICAgIHN1cm5hbWVcbiAgICBlbWFpbFxuICAgIGRvYlxuICAgIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpc29Db2RlXG4gICAgfVxuICAgIHBob25lTnVtYmVycyB7XG4gICAgICBpZFxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBhcmVhQ29kZVxuICAgICAgbnVtYmVyXG4gICAgICBleHRlbnNpb25cbiAgICAgIHR5cGVcbiAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRVc2VyTGFuZ3VhZ2VHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0VXNlckxhbmd1YWdlTXV0YXRpb24sIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRVc2VyTGFuZ3VhZ2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXIoJGlkOiBJRCkge1xuICBnZXRVc2VyKGlkOiAkaWQpIHtcbiAgICAuLi5Vc2VyRmllbGRzXG4gIH1cbn1cbiAgICAke1VzZXJGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclF1ZXJ5LCBHZXRVc2VyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hVc2VyQ2FuQm9va0ZvcigkZW1haWw6IFN0cmluZywgJHVzZXJOYW1lOiBTdHJpbmcsICRlbXBsb3llZUlkOiBTdHJpbmcpIHtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3IoZW1haWw6ICRlbWFpbCwgdXNlck5hbWU6ICR1c2VyTmFtZSwgZW1wbG95ZWVJZDogJGVtcGxveWVlSWQpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckNhbkJvb2tGb3JHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSwgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSgkbWk6IElEISwgJGZyZWVWYWx1ZTogU3RyaW5nISkge1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZShtaTogJG1pLCBmcmVlVmFsdWU6ICRmcmVlVmFsdWUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5LCBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH0iXX0=
|